Nibiru GRP: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>WATTO
No edit summary
 
imported>WATTO
No edit summary
(No difference)

Revision as of 05:18, 12 December 2005

GRP


Format Specifications

byte {16}    - Header ((bytes) 232,193,205,195,181,247,251,233,170,251,166,244,182,210,221,161)
uint32 {4}   - Length Of Archive Header (44)
uint32 {4}   - Unknown: Archive Length?
uint32 {4}   - Version (2)
uint32 {4}   - Number Of Files (NOT including the padding entries at the end of the directory)
uint32 {4}   - Number Of Files (including padding entries at the end of the directory)
uint32 {4}   - Unknown
uint32 {4}   - Unknown

// for each file (49 bytes per entry)

char {33}    - Encrypted Filename (see notes) (null)
uint32 {4}   - File Offset
uint32 {4}   - File Length
uint32 {4}   - Unknown
uint32 {4}   - null


byte {X}     - null padding to first file offset
byte {X}     - File Data

Notes and Comments

  • The original filename of each entry can be obtained by XORing the char array with the following values:

   137, 134, 137, 144, 149, 144, 137, 134,
   223, 139, 134, 146, 223, 190, 184, 187,
   172, 223, 137, 158, 141, 138, 149, 154,
   197, 223, 183, 158, 156, 148, ???, ???,
   ???

  • Be careful to apply the decryption only up to the char before the zero terminator.
  • The last three bytes are currently unknown since no observed file name reaches this particular length. The 33rd one probably does not exist at all as the last byte might be reserved for the zero terminator.
  • Furthermore, the file name may start with one unprintable character. This is most probably a reference to a game engine internal numbering and can be ignored.


MultiEx BMS Script

Not written yet

Compatible Programs