Crunch CRN
From XentaxWiki
Back to index | Edit this page
Contents
CRN
- Format Type : Image / Texture
- Endian Order : Big Endian
- Signature : Hx
Format Specifications
// crn texture header (big endian) - 74 bytes 2 bytes (char) - signature // "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 - compressed image data
Related Structures
// Palette structure 3 bytes - offsets 3 bytes - size 2 bytes - num
CRC calculation
- 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.
MultiEx BMS Script
Not written yet.
Notes and Comments
- This file format occurs in games using crunch library.
Games
List of games using this file format:
- Neverwinter (*.WTEX / *.HTEX)
- Star Stable Online (*.PTE / *.TGA) (PC) (uses modified CRN file with extra header)
- Star Trek Online (*.WTEX / *.HTEX)
Compatible Programs
- crunch
- crunch_unity (special crunch version compiled for Unity games)
- Noesis + crunch plugins