From 8434c142bb05f7e53e21de089a4459540a20c797 Mon Sep 17 00:00:00 2001 From: zomo Date: Wed, 24 Dec 2025 14:30:49 -0600 Subject: [PATCH] added readme --- readme.md | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 readme.md diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..d91fd32 --- /dev/null +++ b/readme.md @@ -0,0 +1,119 @@ +# bap-room-packager + +This program will take a collection of BAP rooms and automatically package them into BAP's directory format. + +## Room Folder Setup + +Each room folder must contain at minimum the following images. Every other file is optional. + +- ART +- CREDIT +- FLOOR +- ROOF +- WALL + +If the following optional images are not included, they will be automatically filled in with a transparent png file. + +- MINI +- INTERACT +- LAYER + +If the following optional audios are not included, they will be automatically filled in with a silent wav file. + +- FOOT +- MUSIC + +Per BAP's readme file, here's a list of accepted file formats. Read BAP's readme file for engine limitations. + +- image + - PNG + - JPG + - BMP +- audio + - WAV + - MP3 + - OGG + - MIDI + +### Room Settings + +Each room's settings should be placed in a `ROOM.ini` (or `ROOM.txt`) file. Read BAP's readme file for more details of each setting. + +The settings from each `ROOM.ini` file will be used to generate the final `CF.ini` file. + +The following is an example `ROOM.ini` file. This is also the file's default settings, so any room with no `ROOM.ini`, or with missing settings from their `ROOM.ini` file, will use these values. The section title does not matter, in this case it's `example`. + +```ini +[example] +size=1 +speed=1 +FOV=55 +Texture_Repeat=3 +Room_Height=350 +Layer_Frames=1 +Fog_Color=0 +Fog_End=-1 +Mini_speed=1 +``` + +## Usage + +You can view the help screen with `bappackage -h`: + +```txt +Usage of bappackage: + -basePath string + path to your rooms collection (default "./rooms") + -outPath string + output path (default "./rooms_out") + -roomPerNight int + rooms per night (default 4) + -splash1 int + number of seconds splashscreen 1 will take (default 2) + -splash2 int + number of seconds splashscreen 2 will take (default 2) +``` + +The folder given by `basePath` will contain all of the room folders. For example the following folder structure: + +```txt +rooms +├───room_one +│ ├───ART.png +│ ├───... +│ └───ROOM.ini +├───my_second_room +│ ├───ART.png +│ ├───... +│ └───ROOM.ini +└───third_room + ├───ART.png + ├───... + └───ROOM.ini +``` + +The folder given by `outPath` can safely be the folder with BAP. This program will only touch the `DATA/NIGHT_*` folders and the `CF.ini` file in this folder. + +`roomPerNight` is used for rooms that do not have an assigned night and room number. + +### Assigning Night and Room Numbers + +The `ROOM.ini` file accpets 2 extra properties: `night` and `room`. This allows you to organize your room order manually. Any rooms without these properties will only be placed in nights after all manually assigned rooms. + +Here is an example of the example `ROOM.ini` above but directly assigned to night 1 room 1. + +```ini +night=1 +room=1 + +[example] +size=1 +speed=1 +FOV=55 +Texture_Repeat=3 +Room_Height=350 +Layer_Frames=1 +Fog_Color=0 +Fog_End=-1 +Mini_speed=1 +```