OBD:BINA/OBJC: Difference between revisions

m
mentioned that OniX uses .sep as well
(clarified that unknown flags don't matter because they're runtime flags for Tool mode; updated some terminology to current practices)
m (mentioned that OniX uses .sep as well)
 
(2 intermediate revisions by 2 users not shown)
Line 2: Line 2:


==Introduction==
==Introduction==
"OBJC" is short for "Objects", which refers to lists of files which are stored in the [[separate file]] when available (Windows demo, Mac) or in the [[raw file]] otherwise (Windows). OBJC is registered as a tag (and is also a sub-tag of [[BINA]]), but it serves as a wrapper for other tags. OBJCs are lists composed of a standard wrapper with a little header data and then elements of specific data types which have their own tags. Objects listed in OBJCs could be edited in-game by the developers using the GUI which was discovered by fans in the [[European Mac releases]] of Oni. Screenshots of the editing interface are shown on the pages of each type which the interface could edit.
"OBJC" is short for "Objects", which refers to lists of files which are stored in the [[separate file]] when available (Windows demo, Mac, [[OniX]]) or in the [[raw file]] otherwise (Windows retail). OBJC is registered as a tag (and is also a sub-tag of [[BINA]]), but it serves as a wrapper for other tags. OBJCs are lists composed of a standard wrapper with a little header data and then elements of specific data types which have their own tags. Objects listed in OBJCs could be edited in-game by the developers using the GUI which was discovered by fans in the [[European Mac releases]] of Oni. Screenshots of the editing interface are shown on the pages of each type which the interface could edit.


==File description==
==File description==
Line 15: Line 15:
{{OBDth}}
{{OBDth}}
{{OBDtr|0x00|char[4]|FF0000|43 4A 42 4F|OBJC|tag}}
{{OBDtr|0x00|char[4]|FF0000|43 4A 42 4F|OBJC|tag}}
{{OBDtr|0x04|int32 |FFFF00|18 02 00 00|536|size to end of object list from 0x08, in bytes}}
{{OBDtr|0x04|uint32 |FFFF00|18 02 00 00|536|size to end of object list from 0x08, in bytes}}
{{OBDtr|0x08|int32 |00FF00|27 00 00 00|39|object format version}}
{{OBDtr|0x08|uint32 |00FF00|27 00 00 00|39|object format version}}
{{OBDtr|0x0C|int32 |00FFFF|28 00 00 00|40|size of next object (black outline)}}
{{OBDtr|0x0C|uint32 |00FFFF|28 00 00 00|40|size of next object (black outline)}}
{{OBDtrBK|0x10 - 0x37 : first object (40 bytes)}}
{{OBDtrBK|0x10 - 0x37 : first object (40 bytes)}}
{{OBDtr|0x38|int32 |FFFFFF|28 00 00 00|40|size of next object}}
{{OBDtr|0x38|uint32 |FFFFFF|28 00 00 00|40|size of next object}}
{{OBDtrBK|0x3C - ... : second object (40 bytes), etc.}}
{{OBDtrBK|0x3C - ... : second object (40 bytes), etc.}}
|}
|}
Line 34: Line 34:
{{OBDth}}
{{OBDth}}
{{OBDtr| 0x00 | char[4]  |FFC8C8| 52 52 57 50 | PWRU      | object type }}
{{OBDtr| 0x00 | char[4]  |FFC8C8| 52 52 57 50 | PWRU      | object type }}
{{OBDtr| 0x04 | int32   |FFFFC8| AC 1C 00 00 | 7340      | object ID }}
{{OBDtr| 0x04 | uint32   |FFFFC8| AC 1C 00 00 | 7340      | object ID }}
{{OBDtr| 0x08 | bitset32 |C8FFC8| 00 00 00 00 | 0x00      | object flags, only used at runtime in [[Tool mode]]}}
{{OBDtr| 0x08 | bitset32 |C8FFC8| 00 00 00 00 | 0x00      | object flags, only used at runtime in [[Tool mode]]}}
{{OBDtr| 0x0C | float    |C8FFFF| E8 92 77 44 | 990.254    | x position }}
{{OBDtr| 0x0C | float    |C8FFFF| E8 92 77 44 | 990.254    | x position }}
Line 86: Line 86:
|}
|}


{{OBD BINA Footer|prev=TMBD|type=OBJC|next=ONIE|name=Objects}}
{{OBD BINA Footer|prev=TMBD|type=OBJC|next=ONIE|name=Objects|family=General}}


{{OBD}}
{{OBD}}