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
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
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
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.
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
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`
folder.
@ -53,16 +120,15 @@ folder.
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
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`
with details. If something breaks, send the game log and ifs_hook.log (if it
exists) to mon.
# Building
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
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`.
# Contributing
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
probably accept it.

View File

@ -1,5 +1,43 @@
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
Alphabetical via mod folder name
The first folder with a matching mod will be used for that file