A new mechanism for implementing custom textures was introduced with the May 12th, 2022 DLL update.
Overview[edit | edit source]
This new mechanism simplifies sharing custom textures and models with other players. The old method of implementing these files was to apply an AFP patch to
ItemModelEP4.afs using AFS Manager or another tool to open and modify AFS files.
The motivation for these changes was to provide fixes for some vanilla textures that have cache collisions. A cache collision occurs when the "PSO ID" in the texture .dds or .xvr matches another texture. PSOBB considers these as the same texture and will use only the first one loaded.
Another motivation is to allow providing new files to extend existing functionality. For example, more photon bullet colors.
Folder structure[edit | edit source]
Suppose the client was installed at
C:\EphineaPSO. The folder structure is then
C:\EphineaPSO\data\ephinea C:\EphineaPSO\data\ephinea\custom\model C:\EphineaPSO\data\ephinea\custom\texture C:\EphineaPSO\data\ephinea\default\model C:\EphineaPSO\data\ephinea\default\texture
The folder structure under
C:\EphineaPSO\data\ephinea\default is for files provided by the launcher to fix cache ID issues with some textures.
Item loading[edit | edit source]
When an item is loaded by the client, the DLL will check for files in the above folders before opening the AFS files. The precedence is custom first, then default, and then the AFS files. Once a file is found, that file is loaded and no more files are tried for that model or texture.
For example, Guld Milla is defined as model 74 and texture 74 in the ItemPMT. These values match the files inside the AFS files. When someone in the party equips Guld Milla, the client will look for "File 74.prs" in the model folders, and then "File 74.prs" in the texture folders.
Another example is Purple Ring or Red Ring* with the Purple Paint applied. These items use model 369 and texture 393. When the item is equipped by a member of the party, the client will look for these files.
# Model file C:\EphineaPSO\data\ephinea\custom\model\File 369.prs C:\EphineaPSO\data\ephinea\default\model\File 369.prs C:\EphineaPSO\data\ItemModelEP4.afs # and then retrieves File 369.prs # Texture file C:\EphineaPSO\data\ephinea\custom\texture\File 393.prs C:\EphineaPSO\data\ephinea\default\texture\File 393.prs C:\EphineaPSO\data\ItemTextureEP4.afs # and then retrieves File 393.prs
There is a caveat that the files that can be loaded are cached during the login process for performance.
Migrating custom files[edit | edit source]
Generally, your existing AFS files can stay as they are. Only a handful of texture files will be provided by the Ephinea launcher.
If you would like to separate some custom files out of the AFS file, then you should export the file as a PRS file using AFS Manager. The file should be named "File <x>.prs" where <x> is the number of the file.
If you have a custom file in your
ItemTextureEP4.afs that is being overridden by a file in
C:\EphineaPSO\data\ephinea\default\texture, then you have two options.
- Using the default texture as a base, recreate your custom texture. This will maintain the correct cache ID.
- Open the .afs using TextureManager and export the images as .xvr. You can then hex edit the PSO ID in the .xvr files to match the ones from the default texture file to maintain the ID collision fixes. The PSO ID is 4 bytes long at offset 0x10 in the .xvr file.
Provided default files[edit | edit source]
Currently, the Ephinea launcher provides these files in the default folder.
data\ephinea\default\bullets.xvm data\ephinea\default\texture\File 232.prs data\ephinea\default\texture\File 351.prs data\ephinea\default\texture\File 393.prs
bullets.xvm file provides textures for photon bullets to match all photon colors in the ItemPMT. This file allows the nonrare ranged weapons specific to Ultimate Challenge Mode to have matching photon bullets.
File 232.prs is the Tyrell's Parasol weapon texture to fix the collision with its tekker image in ItemKTEP4.afs.
File 351.prs is Devil's Tail's item texture.
File 393.prs is the texture used by Purple Ring and Red Ring* with Purple Paint applied.