AdmiralCurtiss / SenPatcher

Fixes and customizations for the PC versions of Falcom's games in the Phyre engine (Trails of Cold Steel, Trails into Reverie, Tokyo Xanadu eX+)
Other
91 stars 6 forks source link

SenPatcher

SenPatcher is a collection of fixes and customizations for several PC ports of games developed by Falcom, specifically:

It also acts as a mod loader so file-based mods can be distributed and installed without modifying the base game files.

Release binaries: https://github.com/AdmiralCurtiss/SenPatcher/releases

Source code: https://github.com/AdmiralCurtiss/SenPatcher


Installation Guide

Prerequisites

Windows (using the GUI)

You can verify that SenPatcher is running correctly by checking the lower-right corner of the title screen. If SenPatcher is successfully running, it will display its version information as well as information about loaded mods next to the game's version. In Tokyo Xanadu, you have to highlight the Quit option on the title screen to see this description.

To uninstall, launch SenPatcherGui.exe again, click 'Patch game' for the relevant game, and use the 'Remove Patches / Restore Original' button at the top.

Windows (manual)

To uninstall, just delete DINPUT8.dll from the folder with the game executable.

Steam Deck

To uninstall, just delete DINPUT8.dll or DSOUND.dll from the folder with the game executable.

Feature Set for Trails of Cold Steel

Note: Compatible with version 1.6 of the game only.

Feature Set for Trails of Cold Steel II

Note: Compatible with versions 1.4, 1.4.1, and 1.4.2 of the game only.

Feature Set for Trails of Cold Steel III

Note: Compatible with version 1.06 of the game only.

Feature Set for Trails of Cold Steel IV

Note: Compatible with version 1.2.1 of the game only.

Feature Set for Trails into Reverie

Note: Compatible with version 1.1.4 of the game only.

Feature Set for Tokyo Xanadu eX+

Note: Compatible with version 1.08 of the game only.

Information for people wanting to create file-based mods

Starting with version 1.0, SenPatcher has support for seamless replacement of files as seen by the game without actually modifying the game's assets directly.

This feature comes in two flavors:

For development, you can create a dev directory in the base game directory and put your replacement files in there. Files in this folder will have priority over everything else, so eg. if you want to replace the t_magic table in CS4, you can place your modified copy at The Legend of Heroes Trails of Cold Steel IV\dev\data\text\dat_en\t_magic.tbl. This should work for all game files except the FMVs and the big assets.pka. Note that the dev directory must exist when the game is booted in order for this replacement to take effect. You will see a notice on the title screen (next to the version info) if the dev folder is active and being scanned.

Once you're ready to release your mod into the world, you can pack it into a convenient archive file for distribution. In order to do that, take the included sentools.exe and pack the dev directory with it, so for example sentools.exe P3A.Pack "The Legend of Heroes Trails of Cold Steel IV\dev" mymod.p3a. The generated mymod.p3a can be placed in the mods directory that is created by SenPatcher, where it will act exactly like the freestanding dev directory, replacing the files as seen by the game. (Yes, this is the same file format used by the PH3 Daybreak PC port. You may choose to use their tool instead if you prefer it.)

If there are multiple copies of a single file across multiple mods, only the highest priority one will be seen by the game. The priority list is: