* popnhook1 for pop'n 15 - 18 has been added * popnio has been added * inject.exe has new syntax for loading hook DLLs, `real.dll=hook.dll`. This will trigger an early IAT hook where it will load the EXE suspended without resolving imports, replace the reference to real.dll in the import table with hook.dll, and then resolve everything before launching. This allows for ezusb.dll to be hooked properly. * launcher.exe also has a new early IAT hook feature now. Use `-I real.dll=hook.dll`. The idea is the same as described above for inject.exe. * Updated ezusb constant namings based on what is visible in ezusb.dll's debug statements. The launcher.exe implementation of early IAT hooking means that someone can implement popnhook2.dll for 19 and above. I have tried pop'n music Sunny Park using a modified version of popnhook1 and it seems to work to some degree: the I/O check and security check returns OK which means the ezusb hooking used in popnhook1 is also working for the later games using `launcher.exe -I ezusb.dll=ezusb2-popn-shim.dll ...`. The process is rather invasive (manually resolving all imports means more chances to fail) so it has been implemented in such a way that the launcher will work the same as it has before as long as `-I` isn't specified. One questionable thing I am not confident about is the `texture_usage_fix` hack flag I added in the conf. As the comment says, pop'n music 16 will work in Windows XP without the flag being set, but the game will immediately crash on later OSes without the flag being set in my experience. No other games had this issue in my experience. Enabling it in other games doesn't seem to have any negative effects.
1.9 KiB
popnhook
popnhook is a collection of hook libraries for jubeat providing emulation and various patches to run these games on non BemaniPC hardware and newer Windows versions.
The hook libraries must be bootstrapped either using inject or launcher depending on the version you want to run. Further instructions are given in dedicated readme files for each popnhook version (see below).
Versions
popnhook comes in a few different flavors. The game and its engine changed over the years. Some game versions might require patches/parameters enabled which others don't need or have different AVS versions. Here is the list of supported games:
- popnhook1: 15 ADVENTURE, 16 PARTY♪, 17 THE MOVIE, 18 せんごく列伝
When building bemanitools, independent packages are created for each set of games which are ready to be dropped on top of vanilla AC data dumps. We recommend using pristine dumps to avoid any conflicts with other hardcoded hacks or binary patches.
How to run
To run your game with popnhook, you have to use the inject tool to inject the
DLL to the game process. dist/popn
contains bat scripts with all the
important parameters configured. Further parameters can be added but might not
be required to run the game with default settings.
Further information on how to setup the data for each specific version are
elaborated in their dedicated readme files.
Eamuse network setup
Running pop'n music 15 through 18? Modify the appropriate popnhook-15.conf, popnhook-16.conf, popnhook-17.conf, or popnhook-18.conf.
Running anything newer?
- Open the
prop/ea3-config.xml
- Replace the
ea3/network/services
URL with network service URL of your choice (for example http://my.eamuse.com) - Edit the
ea3/id/pcbid
Command line options
Add the argument -h when running inject with popnhook to print help/usage information with a list of parameters you can apply to tweak various things.