Editing CXML Containers
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 45: | Line 45: | ||
}; | }; | ||
struct | struct ElementBin | ||
{ | { | ||
int name; | int name; | ||
Line 55: | Line 55: | ||
int last_child; | int last_child; | ||
}; | }; | ||
struct AttributeBin | struct AttributeBin | ||
{ | { | ||
int name; | int name; | ||
int type; | int type; | ||
Line 186: | Line 169: | ||
===Element=== | ===Element=== | ||
{| class="wikitable | ===Attribute=== | ||
|+ | |||
! Offset !! Length !! | {| class="wikitable" | ||
|+ Attribute types structure | |||
! rowspan=2 | Offset !! rowspan=2 | Length !! rowspan=2 | Name !! colspan=8 | Attribute type | |||
|- | |- | ||
! Integer !! Float !! String !! Integer Array !! Float Array !! File !! ID with ref !! ID without ref | |||
! | |||
|- | |- | ||
| 0x0 || 0x4 || Attribute name offset || colspan=8 {{cellcolors|lightgrey}} '''________________________________________________ xml tag string from the "strings table" ____________________________________________''' | |||
|-___ | |||
| 0x4 || 0x4 || Attribute type || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 | |||
|- | |- | ||
| 0x8 || 0x4 || variable 1 || Integer value || Float value || String Offset || Integer Array Offset || Float Array Offset || File offset || Filename offset || Filename offset | |||
| Integer value || Float value || | |||
|- | |- | ||
| 0xC || 0x4 || variable 2 || unknown (usually 0) || unknown (usually 0) || String Length || Integer count || Float count || File size || unknown (usually 0) || unknown (usually 0) | |||
| | |||
|} | |} | ||
==Container Common Structure== | ==Container Common Structure== | ||
Line 270: | Line 213: | ||
*Notes | *Notes | ||
**The first 2 bytes of the compressed QRCF is the ZLIB header, | **The first 2 bytes of the compressed QRCF is the ZLIB header, in this example: 0x78DA (b: 0111 1000 1101 1010 / 30938) is using the default/max level 9. | ||
**source: http://tools.ietf.org/html/rfc1950#section-2.2 | |||
<small> | <small> | ||
{ | {| class="wikitable" style="text-align: center;" | ||
|- | |||
!width="100"|byte index | |||
!width="60"|bit 7 | |||
!width="60"|bit 6 | |||
!width="60"|bit 5 | |||
!width="60"|bit 4 | |||
!width="60"|bit 3 | |||
!width="60"|bit 2 | |||
!width="60"|bit 1 | |||
!width="60"|bit 0 | |||
|- | |||
|[0] '''CMF''' | |||
|colspan="4"|'''Compression info''' | |||
*7 = indicates a 32K window size | |||
|colspan="4"|'''Compression method''' | |||
*8 = denotes the "deflate" compression | |||
|- | |||
|[1] '''FLG''' | |||
|colspan="2"|'''FLEVEL''' | |||
* 0 - compressor used fastest algorithm | |||
* 1 - compressor used fast algorithm | |||
* 2 - compressor used default algorithm | |||
* 3 - compressor used maximum compression, slowest algorithm | |||
|colspan="1"|'''FDICT''' | |||
(Preset dictionary) | |||
If set, a DICT dictionary identifier is present | |||
immediately after the FLG byte. The dictionary is a sequence of | |||
bytes which are initially fed to the compressor without | |||
producing any compressed output. DICT is the Adler-32 checksum | |||
of this sequence of bytes (see the definition of ADLER32 | |||
below). The decompressor can use this identifier to determine | |||
which dictionary has been used by the compressor. | |||
|colspan="5"|'''FCHECK''' | |||
value must be such that CMF and FLG, when viewed as | |||
a 16-bit unsigned integer stored in MSB order (CMF *256 + FLG), | |||
is a multiple of 31. | |||
|- | |||
|} | |||
</small> | </small> | ||
Line 301: | Line 282: | ||
| Magic || 0x00 || 0x04 || {{cellcolors|#666666|#ffffff}} 51 52 43 46 || 'QRCF' | | Magic || 0x00 || 0x04 || {{cellcolors|#666666|#ffffff}} 51 52 43 46 || 'QRCF' | ||
|- | |- | ||
| Version || 0x04 || 0x04 || {{cellcolors|#888888|#ffffff}} 00 00 01 10 || | | Version || 0x04 || 0x04 || {{cellcolors|#888888|#ffffff}} 00 00 01 10 || | ||
|- | |- | ||
| Tree Table Offset || 0x08 || 0x04 || {{cellcolors|#dddd66}} 00 00 00 40 || | | Tree Table Offset || 0x08 || 0x04 || {{cellcolors|#dddd66}} 00 00 00 40 || | ||
Line 370: | Line 351: | ||
| 0x30 || 0x04 || 00 00 00 38 || First Entry | | 0x30 || 0x04 || 00 00 00 38 || First Entry | ||
|- | |- | ||
| 0x34 || 0x04 || | | 0x34 || 0x04 || xx xx xx xx || Last Entry | ||
|- | |- | ||
| 0x38 || 0x04 || 00 00 00 0F || String Pointer (Offset within '''String Table''', in this case it will be a Element <file>) | | 0x38 || 0x04 || 00 00 00 0F || String Pointer (Offset within '''String Table''', in this case it will be a Element <file>) | ||
Line 400: | Line 381: | ||
| 0x6C || 0x04 || 00 00 00 00 || Offset of filename within the ID Table | | 0x6C || 0x04 || 00 00 00 00 || Offset of filename within the ID Table | ||
|- | |- | ||
| 0x70 || 0x04 || 00 00 00 00 || | | 0x70 || 0x04 || 00 00 00 00 || on icontex here are additional 16 bytes | ||
|- | |||
| 0x74 || 0x04 || 00 00 00 0F || String Pointer | |||
|- | |||
| 0x78 || 0x04 || 00 00 00 02 || Attribute Counter | |||
|- | |||
| 0x7C || 0x04 || 00 00 00 1C || Parent Element | |||
|- | |||
| 0x80 || 0x04 || 00 00 00 38 || Previous Element | |||
|- | |||
| 0x84 || 0x04 || 00 00 00 B0 || Next Element | |||
|- | |- | ||
|} | |} | ||
On icontex.qrc there are additional 16 bytes added on offset 0x70 within the '''Tree Table | On icontex.qrc there are additional 16 bytes added on offset 0x70 within the '''Tree Table''' | ||
{| class="wikitable" | {| class="wikitable" | ||
! Offset !! Size !! Example !! Remark | ! Offset !! Size !! Example !! Remark | ||
|- | |||
| 0x70 || 0x04 || 00 00 00 00 || on icontex.qrc | |||
|- | |- | ||
| 0x74 || 0x04 || 00 00 00 1B || String Pointer (Offset within '''String Table''', in this case it will be a Attribute <size>) | | 0x74 || 0x04 || 00 00 00 1B || String Pointer (Offset within '''String Table''', in this case it will be a Attribute <size>) | ||
Line 414: | Line 407: | ||
| 0x7C || 0x04 || 00 01 55 D4 || on icontex.qrc (size of .dds uncompressed [Dec = 87508]) | | 0x7C || 0x04 || 00 01 55 D4 || on icontex.qrc (size of .dds uncompressed [Dec = 87508]) | ||
|- | |- | ||
| 0x80 || 0x04 || 00 00 00 00 || | | 0x80 || 0x04 || 00 00 00 00 || similar all qrc files | ||
|- | |||
| 0x84 || 0x04 || 00 00 00 0F || String Pointer | |||
|- | |||
| 0x88 || 0x04 || 00 00 00 02 || Attribute Count | |||
|- | |||
| 0x8C || 0x04 || 00 00 00 1C || Parent Element | |||
|- | |||
| 0x90 || 0x04 || 00 00 00 38 || Previous Element | |||
|- | |||
| 0x94 || 0x04 || 00 00 00 D0 || Next Element | |||
|- | |- | ||
|} | |} | ||
Line 425: | Line 428: | ||
*For QRCF_2 and P3T themes only is stored the "id" (the file "src" is missing so there is no way to read the original path or file extension from the container) | *For QRCF_2 and P3T themes only is stored the "id" (the file "src" is missing so there is no way to read the original path or file extension from the container) | ||
{{Boxcode| | {{Boxcode|content=<syntaxhighlight lang="xml"> | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<qrc> | <qrc> | ||
Line 1,118: | Line 1,121: | ||
*Example of the string table from frame_01.cxml | *Example of the string table from frame_01.cxml | ||
root.version.1.00.jacket.id.normal.base.position.rotation.scale.name.frame_01.filetable.num.file.src.frame_01_lo.gim.lod.frame_01_parallax_512.gtf.shadow_square_1.gtf.shadow_square_2.gtf.shadow_3.gtf.frame_01_mi.gim.frame_01_hi.gim.vptable.vp.vp_jacket_ezprim.vpo.optional.vp_jacket_normalmap.vpo.vp_jacket_ezshadow.vpo.fptable.fp.fp_jacket_ezprim_rgb.fpo.fp_jacket_normalmap_specL.fpo.fp_jacket_ezshadow.fpo.modeltable.model.color.uv.vertex.tangent.binormal.layertable.layer.priority.type.image-frame-static.order.duration.image-thumbnail-auto | root.version.1.00.jacket.id.normal.base.position.rotation.scale.name.frame_01.filetable.num.file.src.frame_01_lo.gim.lod.frame_01_parallax_512.gtf.shadow_square_1.gtf.shadow_square_2.gtf.shadow_3.gtf.frame_01_mi.gim.frame_01_hi.gim.vptable.vp.vp_jacket_ezprim.vpo.optional.vp_jacket_normalmap.vpo.vp_jacket_ezshadow.vpo.fptable.fp.fp_jacket_ezprim_rgb.fpo.fp_jacket_normalmap_specL.fpo.fp_jacket_ezshadow.fpo.modeltable.model.color.uv.vertex.tangent.binormal.layertable.layer.priority.type.image-frame-static.order.duration.image-thumbnail-auto | ||
*Notes: | *Notes: | ||
Line 1,140: | Line 1,140: | ||
In other words... the only difference between QRCF_1 and QRCF_2 is the added attribute '''size''' in every file entry that makes entries 16 bytes longer in QRCF_2... there is no need for an example of QRCF_2 because are almost the same | In other words... the only difference between QRCF_1 and QRCF_2 is the added attribute '''size''' in every file entry that makes entries 16 bytes longer in QRCF_2... there is no need for an example of QRCF_2 because are almost the same | ||
This .xml represents structure of rhm.qrc 1.00, can be used to build it, and can be generated by reading the "tree table" | |||
{{Boxcode|content=<syntaxhighlight lang="xml"> | |||
{{Boxcode| | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<qrc> | <qrc> | ||
<file-table> | <file-table> | ||
<file src=" | <file src="lib/rhm/Clear.fpo" id="lib/rhm/Clear.fpo"/> | ||
<file src=" | <file src="lib/rhm/Clear.vpo" id="lib/rhm/Clear.vpo"/> | ||
<file src=" | <file src="lib/rhm/Copy.fpo" id="lib/rhm/Copy.fpo"/> | ||
<file src=" | <file src="lib/rhm/default.fpo" id="lib/rhm/default.fpo"/> | ||
<file src=" | <file src="lib/rhm/default.vpo" id="lib/rhm/default.vpo"/> | ||
</file-table> | </file-table> | ||
</qrc> | </qrc> | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
When the | When the qrc container is build all the info from he .xml is stored in the "tree table" (at offset 0x40) that is the first area after the CXML header, and the files itself are stored in a "file table" placed at bottom of the container (at offset 0x250) | ||
The | The "tree table" (colored in red tones in the example) starts with the elements: "qrc" and "file-table"... and after this, the element "file" is repeated 5 times (first file entry at 0x78)... all this 5 "file" belongs to "file-table" element | ||
{| class="wikitable" style="font-size:x-small;" | {| class="wikitable" style="font-size:x-small;" | ||
Line 1,168: | Line 1,165: | ||
! rowspan=17 | CXML header | ! rowspan=17 | CXML header | ||
|- {{cellcolors|#666666|#ffffff}} | |- {{cellcolors|#666666|#ffffff}} | ||
| 0x00 || 0x04 || QRCF || Magic || | | 0x00 || 0x04 || QRCF || Magic || unnofficially: QRCF_1 | ||
|- {{cellcolors|#666666|#ffffff}} | |- {{cellcolors|#666666|#ffffff}} | ||
| 0x04 || 0x04 || 00000110 || Version || | | 0x04 || 0x04 || 00000110 || Version || | ||
|- bgcolor="#ff8888" | |- bgcolor="#ff8888" | ||
| 0x08 || 0x04 || 00000040 || | | 0x08 || 0x04 || 00000040 || Tree table absolute offset || | ||
|- bgcolor="#ff8888" | |- bgcolor="#ff8888" | ||
| 0x0C || 0x04 || 00000164 || | | 0x0C || 0x04 || 00000164 || Tree table size || | ||
|- bgcolor="#88ff88" | |- bgcolor="#88ff88" | ||
| 0x10 || 0x04 || 000001B0 || | | 0x10 || 0x04 || 000001B0 || Filename table absolute offset || | ||
|- bgcolor="#88ff88" | |- bgcolor="#88ff88" | ||
| 0x14 || 0x04 || 00000071 || | | 0x14 || 0x04 || 00000071 || Filename table size || | ||
|- bgcolor="#8888ff" | |- bgcolor="#8888ff" | ||
| 0x18 || 0x04 || 00000230 || | | 0x18 || 0x04 || 00000230 || Strings table absolute offset || | ||
|- bgcolor="#8888ff" | |- bgcolor="#8888ff" | ||
| 0x1C || 0x04 || 0000001B || | | 0x1C || 0x04 || 0000001B || Strings table size || | ||
|- bgcolor="#ffeedd" | |||
| 0x20 || 0x04 || 00000250 || Integer array absolute offset || ''Overlapped'' | |||
|- bgcolor="#ffeedd" | |||
| 0x24 || 0x04 || 00000000 || Integer array size || ''Empty'' | |||
|- bgcolor="#ffeebb" | |- bgcolor="#ffeebb" | ||
| | | 0x28 || 0x04 || 00000250 || Float array absolute offset || ''Overlapped'' | ||
|- bgcolor="#ffeebb" | |- bgcolor="#ffeebb" | ||
| | | 0x2C || 0x04 || 00000000 || Float array size || ''Empty'' | ||
|- bgcolor="#ffee99" | |||
| 0x30 || 0x04 || 00000250 || File table absolute offset || ''Overlaps the previous 2 tables'' | |||
|- bgcolor="# | |- bgcolor="#ffee99" | ||
| 0x34 || 0x04 || 00000DD0 || File table size || ''Overlaps the previous 2 tables'' | |||
|- bgcolor="#ffee77" | |||
| 0x30 || 0x04 || 00000250 || | | 0x38 || 0x04 || 00000000 || Reserved area absolute offset || ''Not used'' | ||
|- bgcolor="# | |- bgcolor="#ffee77" | ||
| 0x34 || 0x04 || 00000DD0 || | | 0x3C || 0x04 || 00000000 || Reserved area size || ''Empty'' | ||
|- bgcolor="# | |||
| 0x38 || 0x04 || 00000000 || | |||
|- bgcolor="# | |||
| 0x3C || 0x04 || 00000000 || | |||
|- | |- | ||
! rowspan= | ! rowspan=95 | Tree Table | ||
|- {{cellcolors|#ff7777}} | |- {{cellcolors|#ff7777}} | ||
| 0x40 || 0x04 || 00000000 || element name relative offset || '''qrc''' | | 0x40 || 0x04 || 00000000 || element name relative offset || '''qrc''' | ||
Line 1,217: | Line 1,212: | ||
|- {{cellcolors|#ff7777}} | |- {{cellcolors|#ff7777}} | ||
| 0x58 || 0x04 || 0000001C || last child element relative offset || 0x40 + 0x1C = '''last child at 0x5C absolute''' | | 0x58 || 0x04 || 0000001C || last child element relative offset || 0x40 + 0x1C = '''last child at 0x5C absolute''' | ||
|- {{cellcolors|#ff8888}} | |||
|- {{cellcolors|#ff8888}} | |||
| 0x5C || 0x04 || 00000004 || element name relative offset || '''file-table''' | | 0x5C || 0x04 || 00000004 || element name relative offset || '''file-table''' | ||
|- {{cellcolors|#ff8888}} | |- {{cellcolors|#ff8888}} | ||
Line 1,394: | Line 1,387: | ||
| 0x1A0 || 0x04 || 00000000 || attribute variable 2 || | | 0x1A0 || 0x04 || 00000000 || attribute variable 2 || | ||
|- {{cellcolors|lightgrey}} | |- {{cellcolors|lightgrey}} | ||
! rowspan=1 | Padding | |||
| 0x1A4 || 0x0C || 000000000000000000000000 || padding || aligned to a multiply of 0x10 | | 0x1A4 || 0x0C || 000000000000000000000000 || padding || aligned to a multiply of 0x10 | ||
|- | |- | ||
! rowspan= | ! rowspan=11 | Filename Table | ||
|- bgcolor="#88ff88" | |- bgcolor="#88ff88" | ||
| 0x1B0 || 0x04 || 00000038 || 1st element relative offset || 0x40 + 0x38 = '''element at offset 0x78 absolute''' | | 0x1B0 || 0x04 || 00000038 || 1st element relative offset || 0x40 + 0x38 = '''element at offset 0x78 absolute''' | ||
Line 1,419: | Line 1,413: | ||
|- bgcolor="#cccccc" | |- bgcolor="#cccccc" | ||
|- {{cellcolors|lightgrey}} | |- {{cellcolors|lightgrey}} | ||
! rowspan=1 | Padding | |||
| 0x221 || 0xF || 00000000000000000000000000000000 || padding || aligned to a multiply of 0x10 | | 0x221 || 0xF || 00000000000000000000000000000000 || padding || aligned to a multiply of 0x10 | ||
|- | |- | ||
! rowspan= | ! rowspan=2 | Strings table | ||
|- bgcolor="#8888ff" | |- bgcolor="#8888ff" | ||
| 0x230 || 0x1B || qrc file-table file src id || Container identifyer (first tag) + other tags from MAKE.XML | | | 0x230 || 0x1B || qrc file-table file src id || Container identifyer (first tag) + other tags from MAKE.XML || <syntaxhighlight lang="xml"> <qrc> <file-table> <file src= id=/></syntaxhighlight> | ||
|- bgcolor="#cccccc" | |- bgcolor="#cccccc" | ||
|- {{cellcolors|lightgrey}} | |- {{cellcolors|lightgrey}} | ||
! rowspan=1 | Padding | |||
| 0x24B || 0x5 || 0000000000 || padding || aligned to a multiply of 0x10 | | 0x24B || 0x5 || 0000000000 || padding || aligned to a multiply of 0x10 | ||
|- | |- | ||
! rowspan="6" | | ! rowspan="6" | File Table | ||
|- bgcolor="# | |- bgcolor="#ffee99" | ||
| 0x250 || 0x150 || 00001B5C... || 1st file || | | 0x250 || 0x150 || 00001B5C... || 1st file || | ||
|- bgcolor="# | |- bgcolor="#ffee99" | ||
| 0x3A0 || 0x1E0 || 00001B5B... || 2nd file || | | 0x3A0 || 0x1E0 || 00001B5B... || 2nd file || | ||
|- bgcolor="# | |- bgcolor="#ffee99" | ||
| 0x480 || 0x120 || 00001B5C... || 3rd file || | | 0x480 || 0x120 || 00001B5C... || 3rd file || | ||
|- bgcolor="# | |- bgcolor="#ffee99" | ||
| 0x5A0 || 0x1F0 || 00001B5C... || 4th file || | | 0x5A0 || 0x1F0 || 00001B5C... || 4th file || | ||
|- bgcolor="# | |- bgcolor="#ffee99" | ||
| 0x790 || 0x890 || 00001B5B... || 5th file || | | 0x790 || 0x890 || 00001B5B... || 5th file || | ||
|- | |- | ||
|} | |} | ||
'''rhm.qrc (from firmware 1.00)''' | '''rhm.qrc (from firmware 1.00)''' | ||
< | <div style="height:450px; overflow:auto"> | ||
Offset(h) 00 04 08 0C | Offset(h) 00 04 08 0C | ||
Line 1,714: | Line 1,700: | ||
00001000 401F9C6C 01D0100D 8086C0C3 60409F80 @.œl.Ð..€†ÀÃ`@Ÿ€ | 00001000 401F9C6C 01D0100D 8086C0C3 60409F80 @.œl.Ð..€†ÀÃ`@Ÿ€ | ||
00001010 401F9C6C 01D0000D 8086C0C3 60411F81 @.œl.Ð..€†ÀÃ`A.. | 00001010 401F9C6C 01D0000D 8086C0C3 60411F81 @.œl.Ð..€†ÀÃ`A.. | ||
</ | </div> | ||
==P3T== | ==P3T== | ||
Line 1,790: | Line 1,776: | ||
| 0x60 || 0x04 || 00000002 || xml attribute TAG type || 2 | | 0x60 || 0x04 || 00000002 || xml attribute TAG type || 2 | ||
|- {{cellcolors|#ff8888}} | |- {{cellcolors|#ff8888}} | ||
| 0x64 || 0x04 || 3F800000 || float || 3F800000 | | 0x64 || 0x04 || 3F800000 || float ! || 3F800000 | ||
|- {{cellcolors|#ff8888}} | |- {{cellcolors|#ff8888}} | ||
| 0x68 || 0x04 || 00000000 || | | 0x68 || 0x04 || 00000000 || || 0 | ||
|- bgcolor="#cccccc" | |- bgcolor="#cccccc" | ||
| colspan="5" | element start "scene" (is the 1st children of "raf" element) | | colspan="5" | element start "scene" (is the 1st children of "raf" element) | ||
Line 1,818: | Line 1,804: | ||
| 0x90 || 0x04 || 00000001 || integer || 1 | | 0x90 || 0x04 || 00000001 || integer || 1 | ||
|- {{cellcolors|#ff9999}} | |- {{cellcolors|#ff9999}} | ||
| 0x94 || 0x04 || 00000000 || | | 0x94 || 0x04 || 00000000 || || 0 | ||
|- bgcolor="#cccccc" | |- bgcolor="#cccccc" | ||
| colspan="5" | attribute start "light_num" (is an attribute of "scene" element) | | colspan="5" | attribute start "light_num" (is an attribute of "scene" element) | ||
Line 1,828: | Line 1,814: | ||
| 0xA0 || 0x04 || 00000002 || integer || 2 | | 0xA0 || 0x04 || 00000002 || integer || 2 | ||
|- {{cellcolors|#ff9999}} | |- {{cellcolors|#ff9999}} | ||
| 0xA4 || 0x04 || 00000000 || | | 0xA4 || 0x04 || 00000000 || || 0 | ||
|- bgcolor="#cccccc" | |- bgcolor="#cccccc" | ||
| colspan="5" | attribute start "script_num" (is an attribute of "scene" element) | | colspan="5" | attribute start "script_num" (is an attribute of "scene" element) | ||
Line 1,838: | Line 1,824: | ||
| 0xB0 || 0x04 || 00000001 || integer || 1 | | 0xB0 || 0x04 || 00000001 || integer || 1 | ||
|- {{cellcolors|#ff9999}} | |- {{cellcolors|#ff9999}} | ||
| 0xB4 || 0x04 || 00000000 || | | 0xB4 || 0x04 || 00000000 || || 0 | ||
|- bgcolor="#cccccc" | |- bgcolor="#cccccc" | ||
| colspan="5" | attribute start "actor_num" (is an attribute of "scene" element) | | colspan="5" | attribute start "actor_num" (is an attribute of "scene" element) | ||
Line 1,848: | Line 1,834: | ||
| 0xC0 || 0x04 || 00000006 || integer || 6 | | 0xC0 || 0x04 || 00000006 || integer || 6 | ||
|- {{cellcolors|#ff9999}} | |- {{cellcolors|#ff9999}} | ||
| 0xC4 || 0x04 || 00000000 || | | 0xC4 || 0x04 || 00000000 || || 0 | ||
|- bgcolor="#cccccc" | |- bgcolor="#cccccc" | ||
| colspan="5" | element start "actor" (is the children of "scene" element) | | colspan="5" | element start "actor" (is the children of "scene" element) | ||
Line 1,872: | Line 1,858: | ||
| 0xE8 || 0x04 || 00000005 || xml attribute TAG type || 5 | | 0xE8 || 0x04 || 00000005 || xml attribute TAG type || 5 | ||
|- {{cellcolors|#ff9999}} | |- {{cellcolors|#ff9999}} | ||
| 0xEC || 0x04 || 00000000 || | | 0xEC || 0x04 || 00000000 || || 0 | ||
|- {{cellcolors|#ff9999}} | |- {{cellcolors|#ff9999}} | ||
| 0xF0 || 0x04 || 00000004 || | | 0xF0 || 0x04 || 00000004 || || 4 | ||
|- bgcolor="#cccccc" | |- bgcolor="#cccccc" | ||
| colspan="5" | attribute start "scale" (is an attribute of "actor" element) | | colspan="5" | attribute start "scale" (is an attribute of "actor" element) | ||
Line 1,882: | Line 1,868: | ||
| 0xF8 || 0x04 || 00000005 || xml attribute TAG type || 5 | | 0xF8 || 0x04 || 00000005 || xml attribute TAG type || 5 | ||
|- {{cellcolors|#ff9999}} | |- {{cellcolors|#ff9999}} | ||
| 0xFC || 0x04 || 00000004 || | | 0xFC || 0x04 || 00000004 || || 4 | ||
|- {{cellcolors|#ff9999}} | |- {{cellcolors|#ff9999}} | ||
| 0x100 || 0x04 || 00000003 || | | 0x100 || 0x04 || 00000003 || || 3 | ||
|- bgcolor="#cccccc" | |- bgcolor="#cccccc" | ||
| colspan="5" | attribute start "uv_offset" (is an attribute of "actor" element) | | colspan="5" | attribute start "uv_offset" (is an attribute of "actor" element) | ||
Line 1,892: | Line 1,878: | ||
| 0x108 || 0x04 || 00000005 || xml attribute TAG type || 5 | | 0x108 || 0x04 || 00000005 || xml attribute TAG type || 5 | ||
|- {{cellcolors|#ff9999}} | |- {{cellcolors|#ff9999}} | ||
| 0x10C || 0x04 || 00000007 || | | 0x10C || 0x04 || 00000007 || || 7 | ||
|- {{cellcolors|#ff9999}} | |- {{cellcolors|#ff9999}} | ||
| 0x110 || 0x04 || 00000002 || | | 0x110 || 0x04 || 00000002 || || 2 | ||
|- bgcolor="#cccccc" | |- bgcolor="#cccccc" | ||
| colspan="5" | attribute start "color" (is an attribute of "actor" element) | | colspan="5" | attribute start "color" (is an attribute of "actor" element) | ||
Line 1,902: | Line 1,888: | ||
| 0x118 || 0x04 || 00000005 || xml attribute TAG type || 5 | | 0x118 || 0x04 || 00000005 || xml attribute TAG type || 5 | ||
|- {{cellcolors|#ff9999}} | |- {{cellcolors|#ff9999}} | ||
| 0x11C || 0x04 || 00000000 || | | 0x11C || 0x04 || 00000000 || || 0 | ||
|- {{cellcolors|#ff9999}} | |- {{cellcolors|#ff9999}} | ||
| 0x120 || 0x04 || 00000004 || | | 0x120 || 0x04 || 00000004 || || 4 | ||
|- | |- | ||
| | |} | ||
=Tools= | =Tools= | ||
. | |||
.. | |||
... | |||
{{File Formats}} | {{File Formats}} | ||
<noinclude>[[Category:Main]]</noinclude> | <noinclude>[[Category:Main]]</noinclude> |