Star Stable Online TGA PTE: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Ikskoks
imported>Ikskoks
Line 85: Line 85:


* [https://github.com/BinomialLLC/crunch crunch]
* [https://github.com/BinomialLLC/crunch crunch]
* [https://forum.xentax.com/download/file.php?id=21520 crunch_unity] (special crunch version compiled for Unity games)
<br/><br>
<br/><br>




[[Category:Complete WIP|Star Stable Online TGA]]
[[Category:Complete WIP|Star Stable Online TGA PTE]]
[[Category:Platform PC|Star Stable Online TGA]]
[[Category:Platform PC|Star Stable Online TGA PTE]]
[[Category:CE Compressed|Star Stable Online TGA]]
[[Category:CE Compressed|Star Stable Online TGA PTE]]
[[Category:Format_Image | Type: Image]]
[[Category:Format_Image | Type: Image]]
[[Category:Extension_tga | Extension: tga]]
[[Category:Extension_tga | Extension: tga]]
[[Category:BMS_None | BMS: None]]
[[Category:Extension_pte | Extension: pte]]
[[Category:DXT1 compression]]
[[Category:DXT1 compression]]
[[Category:DXT3 compression]]
[[Category:DXT3 compression]]
[[Category:DXT5 compression]]
[[Category:DXT5 compression]]
[[Category:Custom encryption]]
[[Category:File Format]]
[[Category:File Format]]

Revision as of 20:37, 6 January 2022

TGA

  • Game : Star Stable Online
  • Format Type : Image
  • Endian Order : Big Endian


Format Specifications

// Star Stable Online
// TGA file format


// file header - 25 bytes
8 bytes - unknown
4 bytes (char) - compression type  // e.g. "DXT1"
13 bytes - unknown


// crn texture header (big endian) - 74 bytes
2 bytes (char) - magic // "Hx"
2 bytes (uint16) - header size   // e.g. 106 
2 bytes (uint16) - header CRC16 
4 bytes (uint32) - data size  
2 bytes (uint16) - data CRC16
2 bytes (uint16) - width
2 bytes (uint16) - height
1 byte (uint8) - mipmap level index // 0 is the largest/first level
1 byte (uint8) - number of faces
1 byte (uint8) - format number
2 bytes (uint16) - flags
4 bytes (uint32) - reserved
4 bytes (uint32) - user data 0
4 bytes (uint32) - user data 1

8 bytes - color endpoints (palette structure)
8 bytes - color selectors (palette structure)
8 bytes - alpha endpoints (palette structure)
8 bytes - alpha selectors (palette structure)

2 bytes (uint16) - tables size
3 bytes - tables offsets
4 bytes - levels offsets


x bytes - encrypted image data

Related Structures

// Palette structure

3 bytes - offsets
3 bytes - size
2 bytes - num

quickBMS Script

Notes and Comments

  • This is CRN texture file with added extra header. It is also encrypted with unknown algorithm.
  • CRC16 calculation can be described as below:
// header crc16
const uint32 header_crc = crc16(&pHeader->m_data_size, (uint32)(pHeader->m_header_size - ((const uint8*)&pHeader->m_data_size - (const uint8*)pHeader)));

//data crc16
const uint32 data_crc = crc16((const uint8*)pData + pHeader->m_header_size, pHeader->m_data_size - pHeader->m_header_size);

// Note: More details in "crn_decomp.h" file.

Compatible Programs