OBD:BINA/OBJC: Difference between revisions

From OniGalore
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 1: Line 1:
{{OBD BINA Header|align=right|prev=TMBD|type=OBJC|next=ONIE|name=Object Collection|onistuff=bina}}
{{OBD BINA Header|prev=TMBD|type=OBJC|next=ONIE|name=Object Collection|onistuff=bina}}





Revision as of 12:36, 12 October 2007

ONI BINARY DATA
AKVA << Other file types >> CBPI
TMBD << Other BINA >> ONIE
OBJC : Object Collection
switch to XML:BINA/OBJC page
Overview @ Oni Stuff
OBD.png


Example file
CJBOPowerUp.BINA from dunno where (level 3, probably)
Offsets
Offsets are given with respect to RAW part start.


bin_r_pu.gif


Offset Type Raw Hex Value Description
0x00 4CC 43 4A 42 4F OBJC object collection
0x04 int32 18 02 00 00 536 size to end of OBJC from 0x08, in bytes
0x08 int32 27 00 00 00 39 "identification number for the weapon classes; in every level the same; do not change it. ssg"
0x0C int32 28 00 00 00 40 size of next (first) object (black outline)
0x10 - 0x37 : first object (40 bytes)
0x38 int32 28 00 00 00 40 size of next (second) object
0x3C - ... : second object (40 bytes), etc
General layout
The collection's header (first 16 bytes) and layout is common to all 16 OBJC types (see below).
  • The size of the whole collection is announced at 0x04 (int32), followed by the collection.
  • Unlike ONIE and TMBD (which are arrays), OBJC announces the size of every object (int32).
  • After the last object, the end of the collection is signaled by a null next object size.
"Weapon classes?"
If anyone can explain me WTF weapon classes have to do with it, I'd be greatly appreciative. geyser




OBJC types

A given collection can only hold objects of a specific type, which can be :

Type Long name Filename
CHAR Character CJBOCharacter.BINA
CMBT Combat profile CJBOCombat.BINA
CONS Console CJBOConsole.BINA
DOOR Door CJBODoor.BINA
FLAG Flag CJBOFlag.BINA
FURN Furniture CJBOFurniture.BINA
MELE Melee profile CJBOMelee Profile.BINA
NEUT Neutral behaviour CJBONeutral.BINA
PART Particle CJBOParticle.BINA
PATR Patrol path CJBOPatrol_Path.BINA
PWRU Powerup CJBOPowerUp.BINA
SNDG Sound Group CJBOSound.BINA
TRGV Trigger Volume CJBOTrigger_Volume.BINA
TRIG Trigger CJBOTrigger.BINA
TURR Turret CJBOTurret.BINA
WEAP Weapon CJBOWeapon.BINA
Blue Box Beta "revelations"
A German Mac Beta version was released as part of a compilation of old Mac games.
The version contained extra WMDD files, part of Oni's developer GUI.
Supposedly it allowed developers to edit OBJC files while running the game.
Those menus provide additional information about the structure of a few OBJC types.
  • That info used to be available as HTML HERE
  • Now it's available as screenshots on the respective pages.


ONI BINARY DATA
AKVA << Other file types >> CBPI
BINA : Binary data
TMBD << Other BINA >> ONIE
OBJC : Object Collection
[[OBD:File types/{{{family}}}|{{{family}}} file]]