Editing Custom files
From Ephinea PSO Wiki
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
A new mechanism for implementing custom textures was introduced with the May 12th, 2022 DLL update. | A new mechanism for implementing custom models and textures was introduced with the May 12th, 2022 DLL update. Files from <code>ItemModelEP4.afs</code> and <code>ItemTextureEP4.afs</code> can be loaded directly using the new folder structure. | ||
==Overview== | ==Overview== | ||
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 <code>ItemTextureEP4.afs</code> or <code>ItemModelEP4.afs</code> using AFS Manager or another tool to open and modify AFS files. | 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 <code>ItemTextureEP4.afs</code> or <code>ItemModelEP4.afs</code> 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. | The motivation for these changes was to provide fixes for some vanilla textures that have cache collisions without overwriting anyone's existing textures. 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. | Another motivation is to allow providing new files to extend existing functionality. For example, more photon bullet colors. | ||
Line 13: | Line 13: | ||
C:\EphineaPSO\data\ephinea | C:\EphineaPSO\data\ephinea | ||
C:\EphineaPSO\data\ephinea\custom\model | C:\EphineaPSO\data\ephinea\custom\model | ||
C:\EphineaPSO\data\ephinea\custom\ | C:\EphineaPSO\data\ephinea\custom\custom | ||
C:\EphineaPSO\data\ephinea\default\model | C:\EphineaPSO\data\ephinea\default\model | ||
C:\EphineaPSO\data\ephinea\default\texture | C:\EphineaPSO\data\ephinea\default\texture | ||
Line 33: | Line 33: | ||
# Texture file | # Texture file | ||
C:\EphineaPSO\data\ephinea\custom\ | C:\EphineaPSO\data\ephinea\custom\model\File 393.prs | ||
C:\EphineaPSO\data\ephinea\default\ | C:\EphineaPSO\data\ephinea\default\model\File 393.prs | ||
C:\EphineaPSO\data\ | C:\EphineaPSO\data\ItemModelEP4.afs # and then retrieves File 393.prs | ||
</pre> | </pre> | ||
There is a caveat that the files | There is a caveat that the files allowed for loading in the custom and default folders are cached during the login process. If a new file is added while already logged in, the client must go through the login process again to add that file to the cache of custom and default files. | ||
==Migrating custom files== | ==Migrating custom files== | ||
Line 47: | Line 47: | ||
If you have a custom file in your <code>ItemTextureEP4.afs</code> that is being overridden by a file in <code>C:\EphineaPSO\data\ephinea\default\texture</code>, then you have two options. | If you have a custom file in your <code>ItemTextureEP4.afs</code> that is being overridden by a file in <code>C:\EphineaPSO\data\ephinea\default\texture</code>, then you have two options. | ||
# Using the default texture as a base, recreate your custom texture. This will maintain the correct cache ID. | # 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 | # Open the .afs using TextureManager and export the images as .xvr format. 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 for the .xvr image format is a byte 4 value at offset 0x10 and stored in little endian. | ||
==Provided default files== | ==Provided default files== | ||
Currently, the Ephinea launcher provides these files in the default folder. | Currently, the Ephinea launcher provides these files in the default folder. | ||
<pre> | <pre> | ||
# photon bullets | |||
data\ephinea\default\bullets.xvm | data\ephinea\default\bullets.xvm | ||
# Tyrell's Parasol | |||
data\ephinea\default\texture\File 232.prs | data\ephinea\default\texture\File 232.prs | ||
# Devil's Tail texture | |||
data\ephinea\default\texture\File 351.prs | data\ephinea\default\texture\File 351.prs | ||
# Purple Ring and Red Ring* with Purple Paint texture | |||
data\ephinea\default\texture\File 393.prs | data\ephinea\default\texture\File 393.prs | ||
</pre> | </pre> | ||
The <code>bullets.xvm</code> 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. | The <code>bullets.xvm</code> 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. | ||
[[Category:Guides]] | |||