-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
77 additions
and
35 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,75 @@ | ||
# IFS LayeredFS | ||
|
||
Never repack an IFS again. Full usage instructions available at your forum of | ||
choice. | ||
Never repack textures again! IFS LayeredFS is a modding engine for Konami arcade | ||
games that use libavs (which is basically everything in the last 15 years). | ||
|
||
It intercepts file accesses and replaces them with modded files in the | ||
`data_mods` folder, so mods don't have to be installed directly into the game | ||
folder. | ||
|
||
For IFS files (a common texture container format) and texbin files (used instead | ||
of IFS in Gitadora, Jubeat and maybe some other games), it will take plain PNG | ||
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. | ||
|
||
# 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. | ||
|
||
For most games, you do not need to modify your gamestart.bat - the hook is | ||
loaded automatically by copying D3d9.dll to the install directory. This | ||
*doesn't* work for Jubeat though, you need to use `-k ifs_hook.dll` in your | ||
commandline. | ||
|
||
For more control (or if playing Jubeat) - | ||
Load ifs_hook.dll using your launcher/injector of choice (eg: `-k ifs_hook.dll`) | ||
|
||
# Flags | ||
``` | ||
--layered-disable Disable layeredfs | ||
--layered-verbose Print *tons* of info. Useful to find why your mods aren't | ||
loaded | ||
--layered-devmode Instead of caching, check the data_mods folder for every file. | ||
A little slower, but lets you modify mods on-the-fly | ||
--layered-allowlist=a,b,c,d | ||
--layered-blocklist=a,b,c,d | ||
If an allowlist is present, ONLY those folders in the | ||
allowlist are included in the loaded mods list. | ||
If a blocklist is present, folders in the blocklist are | ||
excluded from the loaded mods list. | ||
Folders cannot have "," in their name if using allow/blocklist | ||
--layered-logfile=filename.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 | ||
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. | ||
|
||
Built with Visual Studio 2017, but should build with any sane C++ compiler. | ||
Feel free to open an issue if this is not the case. | ||
Prior to version 3.0, it was built with Visual Studio 2017 with the 141_xp | ||
toolchain. However, in VS 2019 16.7, they broke this (it pulls in Vista-only | ||
APIs), so I gave up and moved to mingw-w64. I currently just have that installed | ||
in an Ubuntu install in WSL. If it ever breaks, I'll make a docker or nix image | ||
or something... Feel free to open an issue if you're struggling to build it. | ||
|
||
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. | ||
|
||
Please read the `LICENSE`. It is nonstandard. | ||
Please read the `LICENSE`. It is nonstandard. |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters