Talk:CXML Containers: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
Line 3: | Line 3: | ||
*In PSvita the RCO's uses a cxml structure, with a header size of 0x50 and the magic identifyer '''RCOF''' | *In PSvita the RCO's uses a cxml structure, with a header size of 0x50 and the magic identifyer '''RCOF''' | ||
**RCOF header is 0x10 bytes bigger than any cxml header in PS3 (this means there are 2 new tables added for the new cxml variant used in vita rco's). And endianess changed | **RCOF header is 0x10 bytes bigger than any cxml header in PS3 (this means there are 2 new tables added for the new cxml variant used in vita rco's). And endianess changed | ||
**Some of the extracted files (after cropped and zlib decompressed) are another variant of a cxml structure with identifyer '''RCSF'''. After a second extraction (with a cxml decompiler tool) the resulting file is a .xml containing only text strings (this double cxml method is used for .xml files that stores language translations) | |||
{| class="wikitable" style="font-size:x-small;" | {| class="wikitable" style="font-size:x-small;" |
Revision as of 01:08, 30 November 2014
Other sony consoles
- In PSvita the RCO's uses a cxml structure, with a header size of 0x50 and the magic identifyer RCOF
- RCOF header is 0x10 bytes bigger than any cxml header in PS3 (this means there are 2 new tables added for the new cxml variant used in vita rco's). And endianess changed
- Some of the extracted files (after cropped and zlib decompressed) are another variant of a cxml structure with identifyer RCSF. After a second extraction (with a cxml decompiler tool) the resulting file is a .xml containing only text strings (this double cxml method is used for .xml files that stores language translations)
Offset | Size | Example | Name | Notes |
---|---|---|---|---|
CXML Header | ||||
0x00 | 0x04 | RCOF | Magic | |
0x04 | 0x04 | 10 01 00 00 | Version | |
0x08 | 0x04 | 50 00 00 00 | Tree absolute start offset, also header size | in PS3 = Tree absolute start offset |
0x0C | 0x04 | 2C 15 00 00 | Tree size | in PS3 = Tree size |
0x10 | 0x04 | 80 15 00 00 | ID table absolute start offset | in PS3 = ID table absolute start offset |
0x14 | 0x04 | B0 00 00 00 | ID table size | in PS3 = ID table size |
0x18 | 0x04 | 30 16 00 00 | ---------- unknown table 1 ---------- | in PS3 = Strings table absolute start offset |
0x1C | 0x04 | 98 00 00 00 | ---------- unknown table 1 size ---------- | in PS3 = Strings table size |
0x20 | 0x04 | D0 16 00 00 | Strings table absolute start offset | in PS3 = Integer array absolute start offset |
0x24 | 0x04 | F1 01 00 00 | Strings table size | in PS3 = Integer array size |
0x28 | 0x04 | D0 18 00 00 | overlapped (not used, but present in the header to keep the structure standards) | in PS3 = Float array absolute start offset |
0x2C | 0x04 | 00 00 00 00 | empty | in PS3 = Float array size |
0x30 | 0x04 | D0 18 00 00 | ---------- unknown table 2 ---------- | in PS3 = File table absolute start offset |
0x34 | 0x04 | 34 00 00 00 | ---------- unknown table 2 size ---------- | in PS3 = File table size |
0x38 | 0x04 | 10 19 00 00 | Integer array absolute start offset | in PS3 = Unknown area absolute start offset |
0x3C | 0x04 | 2C 00 00 00 | Integer array size | in PS3 = Unknown area size |
0x40 | 0x04 | 40 19 00 00 | Float array absolute start offset | in PS3 = Not present |
0x44 | 0x04 | 8C 00 00 00 | Float array size | in PS3 = Not present |
0x48 | 0x04 | D0 19 00 00 | File table absolute start offset | in PS3 = Not present |
0x4C | 0x04 | 60 89 00 00 | File table size | in PS3 = Not present |
Tables | ||||
0x50 | Tree starts here |