PHMoreSlotID converted to a soft BepInEx patch
| PHMoreSlotID | ||
| PHMoreSlotIDFaster | ||
| PHMoreSlotIDPatchContainer | ||
| Shared | ||
| .gitignore | ||
| nuget.config | ||
| PHMoreSlotID.sln | ||
| PHMoreSlotIDFaster.sln | ||
| README.md | ||
PHMoreSlotID.BepInEx
This is a version of PHMoreSlotID converted to a BepInEx patcher. It's a soft patch, which means that the game files no longer need to be modified. Simply place the new patcher inside BepInEx/patchers and it will work like the old one.
Changes from the original version:
- No longer need to edit game files
- Less log spam which can noticeably improve loading time (especially if you have console open)
- Recreates list directories if they are removed for some reason instead of crashing
How to use
- You need at least BepInEx v5.0 installed.
- If you had the hard patch version of this mod, go to each of your
*_Data/Managedfolders and renameAssembly-CSharp.dll.originaltoAssembly-CSharp.dll(replacing the current dll). - Get the latest release and extract the .dll files into the
BepInEx\patchersfolder. - Additional speed up can be achieved by downloading PHListSeparator.exe from here , extract the zip into PH folder and run the exe, so that all PH vanilla lists are separated into individual txt files. You only have to do this once, unless you later installed new mods that uses internal embedded lists. The extracted list files will be placed into the correct lists folder automatically, and you don't have to anything additional. They are named like
cf_top_hsad_list.txt, which entirely rely on their own filename and filepath to match up with corresponding abdatas. Do not confuse them with Mlist.txt, they are slightly different in that Mlist's first line can assign the abdata at arbitrary location withinPH/abdatafolder. Note that PHListSeparator may create a few big swap files that you will need to remove manually.
Remarks with regard to PHMoreSlotIDFaster v1.0
- Vastly speed up PH's game initialization. Vastly speed up PH's chara maker initialization.
Technical Details
PHMoreSlotID.dllandPHMoreSlotIDPatchContainer.dllare changed so they:- Prioritizes
abdata/thumbnail's packaged dds thumbnails assetbundles folder overabdata/thumbnail_R, because individual PNGs are slow to load and unpack. AssetBundleController.LoadAssetfunction modified so that it determines theAssetBundle.LoadFromFilecall, which effectively delays loading any assetbundles as late as possible.- Removed the need of writing out to a temp file when loading Mlist.txts.
- Prioritizes
- The game's
AssetBundleController.OpenFromFileno longer calls LoadFromFile, which is patched insidePHMoreSlotIDFaster.dll. - Patched
EditMode.CreateDatafunctions so that it doesn't load any thumbnail during initialization phase.- Instead, the task of loading thumbnails will be queued and consumed in
EditMode.Update. - Further create a timer to gradually update the thumbnails on the menu, if the menu happens to be opened at the moment.
- Thus, it is normal that after you loaded into chara maker, FPS is lowered for a while. Because it is loading thumbnails in the background.
- Instead, the task of loading thumbnails will be queued and consumed in