OBD:CRSA: Difference between revisions

m
...
(mentioning the capacity issue)
m (...)
 
(4 intermediate revisions by 2 users not shown)
Line 15: Line 15:
{{OBDtr| 0x000 | res_id  |FF0000| 01 35 02 00 | 565        | 00565-.CRSA }}
{{OBDtr| 0x000 | res_id  |FF0000| 01 35 02 00 | 565        | 00565-.CRSA }}
{{OBDtr| 0x004 | lev_id  |FFFF00| 01 00 00 06 | 3          | level 3 }}
{{OBDtr| 0x004 | lev_id  |FFFF00| 01 00 00 06 | 3          | level 3 }}
{{OBDtr| 0x008 | char[12] |00FF00| AD DE      | dead      | unused }}
{{OBDtr| 0x008 | char[12] |00FF00| AD DE      | dead      | padding }}
{{OBDtr| 0x014 | int32   |00FFFF| 11 00 00 00 | 17        | array size }}
{{OBDtr| 0x014 | uint32   |00FFFF| 11 00 00 00 | 17        | number of "fixed" corpses }}
{{OBDtr| 0x018 | int32   |FF00FF| 11 00 00 00 | 17        | array size again }}
{{OBDtr| 0x018 | uint32   |FF00FF| 11 00 00 00 | 17        | number of "used" corpses }}
{{OBDtr| 0x01C | int32   |FF8000| 14 00 00 00 | 20        | array capacity; always the same in original Oni }}
{{OBDtr| 0x01C | uint32   |FF8000| 14 00 00 00 | 20        | array capacity; always the same in original Oni }}
{{OBDtrBK}}
{{OBDtrBK}}
{{OBDtr2|0x000 | char[160]|FFC8C8| _lvl_3_Intro_TCL_A_corpse.dat| space for notes; probably the name of the source file }}
{{OBDtr2|0x000 | char[32]|FFC8C8| _lvl_3_Intro_TCL_A_corpse.dat| ignored; the name of the source file }}
{{OBDtr|0x020 | uint[32] |FFC8C8|  |  | node list; runtime only }}
{{OBDtr| 0x0A0 | link    |FFFFC8| 01 36 02 00 | 566        | link to 00566-TCTF_lite_1.[[OBD:ONCC|ONCC]] }}
{{OBDtr| 0x0A0 | link    |FFFFC8| 01 36 02 00 | 566        | link to 00566-TCTF_lite_1.[[OBD:ONCC|ONCC]] }}
|- ALIGN=CENTER VALIGN=TOP
|- ALIGN=CENTER VALIGN=TOP
Line 63: Line 64:
|}
|}
;Array capacity
;Array capacity
:As of 20:23, 15 November 2008 (CET), it is not clear whether Oni stores new corpses in this array and what happens if the capacity is exceeded.
:The array capacity is larger than the number of "fixed"/"used" corpses to allow the engine to store new corpses at runtime. "Fixed" means that those corpses are never overwritten/deleted at runtime, all new corpses are stored after the "fixed" ones. This means that "fixed" <= "used" <= "capacity".


;Bones
;Bones
Line 78: Line 79:


;Authoring
;Authoring
:The script command [[make_corpse]](filename) creates a separate corpse file in the Oni folder.
:The script command [[make_corpse]](filename) creates a separate corpse file in the Oni folder. The pose of this corpse is taken from the player character (the [[Dev Mode]] shortcut Ctrl+F7, "Play dead", would have come in handy here). The format is roughly as above. The contents of the files thus created can then be inserted as elements in a level's CRSA.
:The pose of the corpse is taken from the player character. The format is roughly as above.
:The contents of the files thus created can then be inserted as elements in a level's CRSA.




{{OBD_File_Footer | type=CRSA | prev=CONS | next=DOOR | name=Corpse Array | family=Level}}
{{OBD_File_Footer | type=CRSA | prev=CONS | next=DOOR | name=Corpse Array | family=Level}}
{{OBD}}
281

edits