Skip to content

PAK Emulator AddFile function indicating successful add without actually adding files #34

@BonQerss

Description

@BonQerss

Hello

I've been attempting to use PAK Emu's AddFile function in a bit of a unique way with one of my code mods. I'm attempting to force add a custom GMO into a PAC file without a matching name. Suppose the player chooses a specific costume for a character. In that case, it loads their base gmo file (e.g., bc009.gmo) and, depending on the pac chosen for the default costume to replace (e.g., bc009_c6a.pac), it will then replace the gmo inside of said pac with the custom one, even if the name doesn't match. (e.g., bc009_c6.GMO)

The logs indicate that files have been successfully added, but when in-game, they do not show up, nor are they added to the route system via PAK Emu's GetEmulatorInput.

[13:30:50] [Reloaded] Loading: AIO Costumes
[13:30:50] [Reloaded] - AppId : p3ppc.aiocostumes
[13:30:50] [Reloaded] - Location: C:\Users\airin\Downloads\Release\Mods\p3ppc.aiocostumes\ModConfig.json
[13:30:50] [DEBUG] PAK Emulator found and initialized successfully
[13:30:50] [DEBUG] PAK Emulator type: PakEmulatorApi
[13:30:50] [DEBUG] PAK Emulator has 4 route groups:
[13:30:50] [DEBUG] Route: init_free.bin\init
[13:30:50] [DEBUG] Route: init_free.bin\battle
[13:30:50] [DEBUG] Route: field2d\bg\b09_08.abin
[13:30:50] [DEBUG] Route: field2d\bg\b09_01.abin
[13:30:50] [DEBUG] Character: Makoto, Costume: Nahobino, BaseFile: bc001
[13:30:50] [DEBUG] SourceGMO: C:\Users\airin\Downloads\Release\Mods\p3ppc.aiocostumes\Nahobino\Makoto\bc001.GMO
[13:30:50] [DEBUG] Variants: []
[13:30:50] [DEBUG] Processing variant: ''
[13:30:50] [DEBUG] Target PAC: bc001.pac, replacing internal GMO: bc001.GMO
[13:30:50] [DEBUG] Target aPAC: bc001a.pac, replacing internal GMO: bc001.GMO
[13:30:50] [PakBuilderFactory] Added file C:\Users\airin\Downloads\Release\Mods\p3ppc.aiocostumes\Nahobino\Makoto\bc001.GMO with route model/pack/bc001.pac in pak path bc001.GMO
[13:30:50] [DEBUG] Added C:\Users\airin\Downloads\Release\Mods\p3ppc.aiocostumes\Nahobino\Makoto\bc001.GMO to bc001.pac as bc001.GMO
[13:30:50] [DEBUG] Added C:\Users\airin\Downloads\Release\Mods\p3ppc.aiocostumes\Nahobino\Makoto\bc001.GMO to bc001a.pac as bc001.GMO
[13:30:50] [DEBUG] Routes AFTER adding files: 4
[13:30:50] [PakBuilderFactory] Added file C:\Users\airin\Downloads\Release\Mods\p3ppc.aiocostumes\Nahobino\Makoto\bc001.GMO with route model/pack/bc001a.pac in pak path bc001.GMO
[13:30:50] [DEBUG] Route after: init_free.bin\init
[13:30:50] [DEBUG] Route after: init_free.bin\battle
[13:30:50] [DEBUG] Route after: field2d\bg\b09_08.abin
[13:30:50] [DEBUG] Route after: field2d\bg\b09_01.abin
[13:30:50] [DEBUG] Costume loading completed. Total files should be added to PAK emulator.

I've been attempting to find instances in which the code is used by other mods, but after checking around forty GitHub repositories, the only mention I can find of the function is in the TBL merging code for P4G and P3P.

https://github.com/Sewer56/p5rpc.modloader/blob/master/p5rpc.modloader/Merging/Tbl/P4GTblMerger.cs#L93

Is it possible that I am using the code wrong? Is it bugged? I can't find any explanation of how it works on the wiki outside of the handful of words mentioned here:

https://github.com/Sewer56/FileEmulationFramework/blob/main/Emulator/Interfaces/PAK.Stream.Emulator.Interfaces/IPakEmulator.cs#L45

You can find my code here:

https://github.com/BonQerss/p3ppc.aiocostumes/blob/master/p3ppc.aiocostumes/Mod.cs#L506

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions