added readme

This commit is contained in:
zomo
2025-12-24 14:30:49 -06:00
parent 8c451b43da
commit 8434c142bb

119
readme.md Normal file
View File

@@ -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
```