Alt texture: (this is the only thing missing before I can proceed with software release and take on requests...
)
The files are mixed, but they all seem to share the same format:
Alternative format (Ifrit for example):
0x00 - Probably always null
0x04 - Bones data
0x08 - Unknown (used to determinate texture size*)
0x0C - Geometry pointer
0x10 - SCOT pointer
0x14 - texture pointer
everything else can be single file (like single texture or SCOT file)
SCOT file is heavily related to "AudioTransition" effects and any other special effects (disassembler mentions SCOT to display audio transition debug info)
Some files are raw texture. Texture format is MONOCHROMATIC (yes) 1 byte per pixel. I couldn't find color palette yet.
Texture resolution is based on size:
0x2000 = 32x32
0x4000 = 64x64
0x8000 = 128x128
0x10000 = 256x256
This works perfectly for all special effects texture, animation textures (animation key frames), static GF and magic environment textures, but bugs a bit on G.F. itself
code help:
https://github.com/MaKiPL/FF8-Rinoa-s-Toolset/blob/master/SerahToolkit_SharpGL/GF_AlternativeTexture.csPacked texture getting:
1. See 0x08, it points almost always to null data, but also indicates where to stop watching texture pointers
2. Jump to pointer 0x14 (almost always 0x30)
3. Note all pointers if not zero until streamPosition==*(0x08)
4. If no pointers, file has no texture.
5. Jump to texture (pointer+*(0x14)) e.g. 48+21675
6. There's no sizes, so if there's another texture after the one you're getting, then subdivide next texture position from current position to get size and determine texture resolution. If it's the last texture, then it gets a bit tricky, as in many ways the file is not ending with texture but SCOT for example..
What gives the textures color is mystery as now...
EDIT:
Okay, fixed GF textures resolution:
still no palette data...