Add "quickstart" to MOD_README.txt, improve main README

This commit is contained in:
Will Toohey 2024-11-03 14:10:37 +10:00
parent 1ef788af71
commit 516943f1d5
2 changed files with 109 additions and 4 deletions

View File

@ -13,7 +13,29 @@ images and automatically repack them into the game-specific format. This allows
rapid development of texture mods, as the unergonomic texture packing process rapid development of texture mods, as the unergonomic texture packing process
can be completely bypassed. can be completely bypassed.
# Supported games
Game support is based on AVS version, not any particular game, and LayeredFS
supports almost all in-use AVS versions. However, these are games that LayeredFS
should work on:
- Beatmania IIDX (9th Style (untested) to latest release)
- Sound Voltex (all versions)
- DDR (X (untested) to latest release)
- pop'n music (15, ADVENTURE (untested) to latest release)
- jubeat (all versions)
- GFDM (v4 to XG3)
- GITADORA (all versions)
- MÚSECA
- DANCERUSH
- REFLEC BEAT
- BeatStream
- Nostalgia
- Bombergirl
If you find a game that doesn't work, please open an issue!
# Installation # Installation
The DLLs go next to the other game DLLs. Pick the right DLL for your game - if The DLLs go next to the other game DLLs. Pick the right DLL for your game - if
32 bit fails to load, try 64 bit. The `data_mods` folder goes next to the data 32 bit fails to load, try 64 bit. The `data_mods` folder goes next to the data
folder. folder.
@ -30,9 +52,54 @@ If you don't really care, you can copy all the injector DLLs into the game
folder, it won't break anything. folder, it won't break anything.
For more control, load ifs_hook.dll using your launcher/injector of choice For more control, load ifs_hook.dll using your launcher/injector of choice
(eg: add `-k ifs_hook.dll` to the commandline) (eg: add `-k ifs_hook.dll` to the spice commandline, or `-K ifs_hook.dll` to
the bemanitools commandline)
## GFDM: an extra note
As discovered in [this issue](https://github.com/mon/ifs_layeredfs/issues/5),
GFDM tools are currently very basic and don't perform some important path
remapping. While the game looks in `/data`, layeredfs can only see `/bin`. To
fix this, hex-edit `boot.dll`, and change `2E 2E 2F 00` -> `2E 2F 00 00`, then
move all the modules out of `bin` into the main game folder.
# Where to put mod files / how textures work / edge cases
Here are some examples of the correct path to use for your mod:
### IFS files
`data/graphics/ver04/logo_j.ifs`
- To replace repacked IFS: `data_mods/example/graphics/ver04/logo_j.ifs`
- To replace individual texture "warning":
- `data_mods/example/graphics/ver04/logo_j_ifs/tex/warning.png`
- *or*
- `data_mods/example/graphics/ver04/logo_j_ifs/warning.png`
### Jubeat or Gitadora .bin textures
`data/d3/model/tex_l44fo_continue.bin`
- To replace repacked .bin: `data_mods/example/d3/model/tex_l44fo_continue.bin`
- To replace individual texture "CTN_T0000": `data_mods/example/d3/model/tex_l44fo_continue/CTN_T0000.png`
### XML files
`data/others/music_db.xml`
- To replace the entire file: `data_mods/example/others/music_db.xml`
- To append to the file: `data_mods/example/others/music_db.merged.xml`
### Games with a `data2` folder (Beatstream/Nostalgia)
`data/graphic/information.ifs`
- It's the same as normal! `data_mods/example/graphic/information.ifs`
`data2/graphic/information.ifs`
- It needs an extra subfolder: `data_mods/example/data2/graphic/information.ifs`
See [MOD_README.txt](data_mods/MOD_README.txt) for more details.
# Flags # Flags
If you can't work out to enable a flag, the release .zip contains DLLs that have If you can't work out to enable a flag, the release .zip contains DLLs that have
certain useful combos pre-enabled. They can be found in the `special_builds` certain useful combos pre-enabled. They can be found in the `special_builds`
folder. folder.
@ -53,16 +120,15 @@ folder.
Use a custom, separate logfile instead of the game's log. Use a custom, separate logfile instead of the game's log.
``` ```
# Where to put mod files / how textures work / edge cases
See [MOD_README.txt](data_mods/MOD_README.txt) in the `data_mods` folder.
# Logs # Logs
Info is logged to to the game's logging system. However, if something breaks Info is logged to to the game's logging system. However, if something breaks
before LayeredFS gets a chance to set this up, it will create `ifs_hook.log` before LayeredFS gets a chance to set this up, it will create `ifs_hook.log`
with details. If something breaks, send the game log and ifs_hook.log (if it with details. If something breaks, send the game log and ifs_hook.log (if it
exists) to mon. exists) to mon.
# Building # Building
This code has grown organically and is some of the worst C that I have ever This code has grown organically and is some of the worst C that I have ever
distributed. The code itself is more or less fine, but the organisation leaves distributed. The code itself is more or less fine, but the organisation leaves
a lot to be desired. There are many vestigal remains of past AVS experiments. a lot to be desired. There are many vestigal remains of past AVS experiments.
@ -77,6 +143,7 @@ As long as you have Meson and mingw-w64 installed, it should be as simple as
running `build.sh`. running `build.sh`.
# Contributing # Contributing
I encourage pull requests, but might take a while to properly test them prior I encourage pull requests, but might take a while to properly test them prior
to merge. If you can show your PR works with SDVX/IIDX < 24/IIDX >= 25, I will to merge. If you can show your PR works with SDVX/IIDX < 24/IIDX >= 25, I will
probably accept it. probably accept it.

View File

@ -1,5 +1,43 @@
IFS LayeredFS will search every directory in this folder for modded files to use. IFS LayeredFS will search every directory in this folder for modded files to use.
============= QUICKSTART EXAMPLES =============
a.k.a. "I don't want to read all this":
Example mod paths:
IFS files:
data/graphics/ver04/logo_j.ifs
To replace repacked IFS:
data_mods/example/graphics/ver04/logo_j.ifs
To replace individual texture "warning":
data_mods/example/graphics/ver04/logo_j_ifs/tex/warning.png
or
data_mods/example/graphics/ver04/logo_j_ifs/warning.png
Jubeat or Gitadora .bin textures:
data/d3/model/tex_l44fo_continue.bin
To replace repacked .bin:
data_mods/example/d3/model/tex_l44fo_continue.bin
To replace individual texture "CTN_T0000"
data_mods/example/d3/model/tex_l44fo_continue/CTN_T0000.png
XML files:
data/others/music_db.xml
To replace the entire file:
data_mods/example/others/music_db.xml
To append to the file:
data_mods/example/others/music_db.merged.xml
Games with a `data2` folder (Beatstream/Nostalgia)
data/graphic/information.ifs
It's the same!
data_mods/example/graphic/information.ifs
data2/graphic/information.ifs
It needs an extra subfolder:
data_mods/example/data2/graphic/information.ifs
============= Detailed description =============
Search order Search order
Alphabetical via mod folder name Alphabetical via mod folder name
The first folder with a matching mod will be used for that file The first folder with a matching mod will be used for that file