OBD:CRSA: Difference between revisions

163 bytes added ,  17 February 2006
m
Line 6: Line 6:
[[OBD:Oni Binary Data|Oni Binary Data]]
[[OBD:Oni Binary Data|Oni Binary Data]]


The array consists of  
A '''CRSA''' file consists of  
*a 32-byte header
*a 32-byte header that specifies the size ''S'' and the capacity ''C'' of the corpse array
*a number of fixed-size corpse chunks (1100 bytes each)
*''S'' corpse chunks with actual corpse data (1100 bytes each)
*a number of unused corpse chunks integrally set to 0 (1100 bytes each)
*(''C'' - ''S'') unused corpse chunks integrally set to 0 (1100 bytes each)
(used chunks and unused chunks add up to the capacity of the array : 20 chunks in the original binaries)
The capacity ''C'' is always 20. The size of a chunk is not specified in the header : it's fixed by the "universal" bone count in Oni (19 bones).
*the resulting file is completed to a 32-byte multiple with the 0xADDE blank filler
*the resulting file is completed to a 32-byte multiple with the 0xADDE blank filler


Line 23: Line 23:
;Example:'''00565-.CRSA''' in '''level3_Final.dat'''
;Example:'''00565-.CRSA''' in '''level3_Final.dat'''
{|border=1 cellspacing=0 style="white-space:nowrap;background:#ffeedd" width=100%
{|border=1 cellspacing=0 style="white-space:nowrap;background:#ffeedd" width=100%
|+Header of the corpse array
|+Header of the Corpse Array file
|-style="background:#ffddbb"
|-style="background:#ffddbb"
!Offset
!Offset
Line 61: Line 61:
|}
|}


===Corpse chunks===
===Corpses===
They follow the header directly
They make up the actual array. They follow the header directly


;What's in a corpse?
;What's in a corpse?