OBD:BINA/OBJC

From OniGalore
< OBD:BINA
Revision as of 18:57, 29 July 2006 by Geyser (talk | contribs)
Jump to navigation Jump to search
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
Object Collection
  • The collection's header structure (first 16 bytes) and collection layout is common to all 16 OBJC types.
  • A collection consists of a variable number of objects, the size of which can also vary.
  • The size (in bytes) of the next object is announced by the field immediately preceding it (long, 4 bytes)
  • The total size to the end of the collection is announced in the header.
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.
HERE is the additional information provided by those menus about the structure of a few OBJC types.




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




0x00 - 0x0F

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

bin_r_pu.gif

Offset Hex Translation Meaning
0x00 43 4A 42 4F OBJC Object Collection
0x04 18 02 00 00 536 size of the collection in bytes, counting from 0x08
0x08 27 00 00 00 39 identification number for the weapon classes; in every level the same; do not change it
0x0C 28 00 00 00 40 size of next (first) object (outlined in black)
0x10 - 0x37 First object (40 bytes)
0x38 28 00 00 00 40 size of next (second) object
0x3C - ... Second object (40 bytes), etc
Collection end
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




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