Jump to content

OBD:BINA/OBJC: Difference between revisions

headers, better intro
(shocking revelation: OBJC stands for Objects, not Object Collection; see ASCII string in game app; rewrote BBB part)
(headers, better intro)
Line 1: Line 1:
{{OBD BINA Header|prev=TMBD|type=OBJC|next=ONIE|name=Objects|onistuff=bina}}
{{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.
==Introduction==
"OBJC" is short for "Objects", which refers to lists of files which are stored in the [[separate file]] when available (Mac and Windows demo) or in the [[raw file]] otherwise (Windows). OBJC is registered as a tag (and is also a sub-tag of [[BINA]]), but it is really a wrapper for other tags. OBJCs are lists composed of a standard wrapper and then elements of type-specific data which has its own tag. Objects listed in OBJCs 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.


==File description==
;Example file
;Example file
:[[OBD:BINA/OBJC/PWRU|CJBOPowerUp.BINA]] from level 3
: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.


http://ssg.oni2.net/images/bin_r_pu.gif
http://ssg.oni2.net/images/bin_r_pu.gif


{{table}}
{{table}}
{{OBDth}}
{{OBDth}}
{{OBDtr|0x00|4CC|FF0000|43 4A 42 4F|OBJC|objects}}
{{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 object list from 0x08, in bytes}}
{{OBDtr|0x08|int32|00FF00|27 00 00 00|39|object format version}}
{{OBDtr|0x08|int32|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|int32|00FFFF|28 00 00 00|40|size of next object (black outline)}}
Line 46: Line 46:
|}
|}


----
----
==OBJC types==
==OBJC types==
A given list can only hold objects of a specific type, which can be:  
A given list can only hold objects of one type, which can be:  
{|
{|
|
|