18,700
edits
m (contrary to Windows' claims, these are not "RAW" files) |
(shocking revelation: OBJC stands for Objects, not Object Collection; see ASCII string in game app; rewrote BBB part) |
||
Line 1: | Line 1: | ||
{{OBD BINA Header|prev=TMBD|type=OBJC|next=ONIE|name= | {{OBD BINA Header|prev=TMBD|type=OBJC|next=ONIE|name=Objects|onistuff=bina}} | ||
OBJC files are lists of objects. Objects are composed of a standard wrapper and then type-specific data which has its own tags. OBJC objects could be edited in-game by the developers using the GUI which was discovered by fans in the German [[Big Blue Box]] version of Oni. The editing interface is pictured on the pages of the types which the interface could edit. | |||
;Example file | ;Example file | ||
:[[OBD:BINA/OBJC/PWRU|CJBOPowerUp.BINA]] from | :[[OBD:BINA/OBJC/PWRU|CJBOPowerUp.BINA]] from level 3 | ||
;Offsets | ;Offsets | ||
:Offsets are given with respect to the start of the raw file's data part. | :Offsets are given with respect to the start of the raw file's data part. | ||
Line 13: | Line 14: | ||
{{table}} | {{table}} | ||
{{OBDth}} | {{OBDth}} | ||
{{OBDtr|0x00|4CC|FF0000|43 4A 42 4F|OBJC| | {{OBDtr|0x00|4CC|FF0000|43 4A 42 4F|OBJC|objects}} | ||
{{OBDtr|0x04|int32|FFFF00|18 02 00 00|536|size to end of OBJC from 0x08, in bytes}} | {{OBDtr|0x04|int32|FFFF00|18 02 00 00|536|size to end of OBJC from 0x08, in bytes}} | ||
{{OBDtr|0x08|int32|00FF00|27 00 00 00|39| object | {{OBDtr|0x08|int32|00FF00|27 00 00 00|39|object format version}} | ||
{{OBDtr|0x0C|int32|00FFFF|28 00 00 00|40|size of next | {{OBDtr|0x0C|int32|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 | {{OBDtr|0x38|int32|FFFFFF|28 00 00 00|40|size of next object}} | ||
{{OBDtrBK|0x3C - ... : second object (40 bytes), etc}} | {{OBDtrBK|0x3C - ... : second object (40 bytes), etc}} | ||
|} | |} | ||
;General layout | ;General layout | ||
:The | :The list's header (first 16 bytes) and layout is common to all 16 OBJC types (see below). | ||
:*The size of the whole | :*The size of the whole list is announced at 0x04 (int32), followed by the list. | ||
:*Unlike ONIE and TMBD (which are arrays), OBJC announces the size of every object (int32). | :*Unlike ONIE and TMBD (which are arrays), OBJC announces the size of every object (int32). | ||
:*After the last object, the end of the | :*After the last object, the end of the list is signaled by a null next object size. | ||
;Object header | ;Object header | ||
Line 48: | Line 49: | ||
---- | ---- | ||
==OBJC types== | ==OBJC types== | ||
A given | A given list can only hold objects of a specific type, which can be: | ||
{| | {| | ||
| | | | ||
{|{{OBDtable}} | {|{{OBDtable}} | ||
|-bgcolor=#E9E9E9 | |-bgcolor=#E9E9E9 | ||
!Type!!Long name!! | !Type!!Long name!!File name | ||
|- | |- | ||
|[[OBD:BINA/OBJC/CHAR|CHAR]]||Character||CJBO'''Character'''.BINA | |[[OBD:BINA/OBJC/CHAR|CHAR]]||Character||CJBO'''Character'''.BINA | ||
Line 88: | Line 89: | ||
|} | |} | ||
|} | |} | ||
{{OBD BINA Footer|prev=TMBD|type=OBJC|next=ONIE|name= | {{OBD BINA Footer|prev=TMBD|type=OBJC|next=ONIE|name=Objects}} | ||
{{OBD}} | {{OBD}} |