

The fact this tool supports them at all is more of a side effect from my CS1/CS2 texture pack projects, than any real efforts to try to conquer the phyre engine image types. TL DR: I have yet to even analyze a phyre texture in a hex editor from CS3+, so this tool does not support them. I wanted to check out the new texture formats, but Durante added a new type of compression to the PKG files which (might) have been reverse engineered by now? I plan to look more into that eventually. I also hit a snag when CS3 released on the PC. Using a mod program like "Special K" it is possible to inject them, and if the GPU supports DX11 it will work, but that's not the same as supporting them directly. I had theories early on that it could be possible to import BC7 textures into CS1/CS2, but after some digging I came to the conclusion that the engine isn't capable. With all that said, I've been interested in supporting more versions of phyre textures for a long time now. Which also means it's not possible to take any image and convert straight to something like "". I was also never able to completely understand all the information in the headers, so to convert from phyre to PNG, and then back to a "phyre" I had to keep the headers from the original textures and modify them rather than generate them from scratch. Meaning it is possible that the phyre engine is now capable of BC6/BC7 textures, which I know would not be supported in this tool as there is no code to identify them or convert them. The phyre engine used in the first two games only supported DX9 DDS textures, whereas I'm pretty sure it now supports DX10/DX11 textures starting with CS3. I haven't really looked into modding the games starting with CS3 and beyond. This tool can convert the textures in Final Fantasy X/X2 purely by luck, as those games are probably using a similar version of the phyre engine as the first two Cold Steel games (I have yet to verify which ones they match). To spice things up further, they are not compatible with each other between engine versions, so when the textures are generated, I check a few bytes to know which versions I'm working with. There are even differences in the headers between CS1 and CS2, meaning there was probably a few updates to the engine between the two games.

I'll do my best to explain why.ĭifferent versions of the Phyre Engine will create different headers, and I only (partially) reversed the headers used in CS1/CS2. Aside from that, there is little chance that this script will handle any phyre textures from CS3, CS4, or Hajimari. Are you sure these are texture files? Usually phyre image files have (.png.phyre) or (.dds.phyre), this script would have no idea what to do with a ".dae" file. I have not seen that extension before or I don't remember seeing it in CS1/CS2: (.dae.phyre).
