OBD:FILM: Difference between revisions

From OniGalore
Jump to navigation Jump to search
m (break)
m (changed family)
 
(4 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{OBD_File_Header | type=FILM | prev=ENVP | next=HPge | name=Film | family=Generic | align=center}}
{{OBD_File_Header | type=FILM | prev=ENVP | next=HPge | name=Film | family=Level | align=center}}




[[image:film_a.gif]]
[[Image:film_a.gif]]




Line 12: Line 12:
{{OBDtr| 0x0C | float    |FFC8C8| 00 00 73 43 | 243.000000  | y-position (height) of the character }}
{{OBDtr| 0x0C | float    |FFC8C8| 00 00 73 43 | 243.000000  | y-position (height) of the character }}
{{OBDtr| 0x10 | float    |FFC8C8| F1 A8 F1 C1 | -30.207490  | z-position of the character }}
{{OBDtr| 0x10 | float    |FFC8C8| F1 A8 F1 C1 | -30.207490  | z-position of the character }}
{{OBDtr| 0x14 | float    |FFFFC8| 34 E3 C8 40 | 6.277734    | body start facing; rotates body from "body start facing" to facing state (6.277734 * 180 / pi <nowiki>=</nowiki> 359.687663 degrees) }}
{{OBDtr| 0x14 | float    |FFFFC8| 34 E3 C8 40 | 6.277734    | body facing (6.277734 * 180 / pi <nowiki>=</nowiki> 359.687663 degrees) }}
{{OBDtr| 0x18 | float    |C8FFC8| 00 C8 1A 3B | 0.002361    | facing state (0.002361 * 180 / pi <nowiki>=</nowiki> 0.135275 degrees) }}
{{OBDtr| 0x18 | float    |C8FFC8| 00 C8 1A 3B | 0.002361    | desired facing (0.002361 * 180 / pi <nowiki>=</nowiki> 0.135275 degrees) }}
{{OBDtr| 0x1C | float    |C8FFFF| 00 00 00 00 | 0.000000    | head start facing; rotates head from "head start facing" to facing state (0 * 180 / pi <nowiki>=</nowiki> 0 degrees) }}
{{OBDtr| 0x1C | float    |C8FFFF| 00 00 00 00 | 0.000000    | head facing (0 * 180 / pi <nowiki>=</nowiki> 0 degrees) }}
{{OBDtr| 0x20 | float    |FFC8FF| DB 8F B9 BF | -1.449726  | looking up or down (-1.449726 * 180 / pi <nowiki>=</nowiki> -83.063181 degrees) }}
{{OBDtr| 0x20 | float    |FFC8FF| DB 8F B9 BF | -1.449726  | looking up or down (-1.449726 * 180 / pi <nowiki>=</nowiki> -83.063181 degrees) }}
{{OBDtr| 0x24 | int32    |FFC800| FF 00 00 00 | 255        | film lenght in frames (one frame <nowiki>=</nowiki> 1/60 seconds) }}
{{OBDtr| 0x24 | int32    |FFC800| FF 00 00 00 | 255        | film lenght in frames (one frame <nowiki>=</nowiki> 1/60 seconds) }}
{{OBDtr| 0x28 | link    |C800C8| 00 00 00 00 | unused      | cutscene1 (link to a [[OBD:TRAM|TRAM]] file) }}
{{OBDtr| 0x28 | link    |C800C8| 00 00 00 00 | unused      | cutscene1 animation (link to a [[OBD:TRAM|TRAM]] file triggered by cutscene1 key action) }}
{{OBDtr| 0x2C | link    |C87C64| 00 00 00 00 | unused      | cutscene2 (link to a [[OBD:TRAM|TRAM]] file) }}
{{OBDtr| 0x2C | link    |C87C64| 00 00 00 00 | unused      | cutscene2 animation (link to a [[OBD:TRAM|TRAM]] file triggered by cutscene2 key action) }}
{{OBDtr| 0x30 | char[12] |B0C3D4| AD DE      | dead        | unused }}
{{OBDtr| 0x30 | char[12] |B0C3D4| AD DE      | dead        | unused }}
{{OBDtr| 0x3C | int32    |E7CEA5| 5A 00 00 00 | 90          | array size }}
{{OBDtr| 0x3C | int32    |E7CEA5| 5A 00 00 00 | 90          | array size }}
{{OBDtrBK}}
{{OBDtrBK}}
{{OBDtr| 0x00 | float   |FFDDDD| 00 00 00 00 | 0.000000   | camera angle (up / down) }}
{{OBDtr| 0x00 | float |FFDDDD| 00 00 00 00 | 0.000000     | X mouse delta }}
{{OBDtr| 0x04 | float   |64AAAA| 00 00 00 00 | 0.000000   | rotation of the character on the y-axis in degrees }}
{{OBDtr| 0x04 | float |64AAAA| 00 00 00 00 | 0.000000     | Y mouse delta }}
{{OBDtr| 0x08 | bitset32 |EBEBEB| 00 00 00 00 | 0, 0, 0, 0      |  }}
{{OBDtr| 0x08 | int64 |EBEBEB| 00 00 00 00 00 00 00 00 00 | 0 | key events; the following bits are possible:
{{OBDtr| 0x0C | bitset32 |EBEBEB| 00 00 00 00 | unused      |  }}
{{OBDtr| 0x10 | int32    |8C8CCC| 00 00 00 00 | unused      | }}
{{OBDtr| 0x14 | int32    |FF00C8| 00 00 00 00 | unused      |  }}
|}
 
 
{{OBD_File_Footer | type=FILM | prev=ENVP | next=HPge | name=Film | family=Generic}}
 
 
{{OBD_File_Header|align=center|type=FILM|prev=ENVP|next=HPge|name=Film|family=Generic}}
----
 
http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/film_a.gif
 


{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0
:0x '''01''' 00 00 00 00 00 00 00 - (1:00) escape
|- ALIGN=CENTER BGCOLOR="#FFDDBB"
:0x '''02''' 00 00 00 00 00 00 00 - (1:01) console
| WIDTH=15% | <B>Hex</B>
:0x '''04''' 00 00 00 00 00 00 00 - (1:02) pausescreen
| WIDTH=15% | <B>Translation</B>
:0x '''08''' 00 00 00 00 00 00 00 - (1:03) cutscene1
| WIDTH=70% | <B>Meaning</B>
:0x '''10''' 00 00 00 00 00 00 00 - (1:04) cutscene2
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
:0x '''20''' 00 00 00 00 00 00 00 - (1:05) f4
| BGCOLOR="#FF0000" | 01 9C 00 00
:0x '''40''' 00 00 00 00 00 00 00 - (1:06) f5
| 156
:0x '''80''' 00 00 00 00 00 00 00 - (1:07) f6
| ALIGN=LEFT | 00156-BomberKonRun01.FILM
:0x 00 '''01''' 00 00 00 00 00 00 - (1:08) f7
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
:0x 00 '''02''' 00 00 00 00 00 00 - (1:09) f8
| BGCOLOR="#FFFF00" | 01 00 00 06
:0x 00 '''04''' 00 00 00 00 00 00 - (1:0A) start_record
| 3
:0x 00 '''08''' 00 00 00 00 00 00 - (1:0B) stop_record
| ALIGN=LEFT | level 3
:0x 00 '''10''' 00 00 00 00 00 00 - (1:0C) play_record
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
:0x 00 '''20''' 00 00 00 00 00 00 - (1:0D) f12
| BGCOLOR="#FFC8C8" | FE 6B 81 44
:0x 00 '''80''' 00 00 00 00 00 00 - (1:0F) lookmode
| 1035.374855
:0x 00 00 '''01''' 00 00 00 00 00 - (1:10) screenshot
| ALIGN=LEFT | x-coordinate (position)
:0x 00 00 '''20''' 00 00 00 00 00 - (1:15) forward
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
:0x 00 00 '''40''' 00 00 00 00 00 - (1:16) backward
| BGCOLOR="#FFC8C8" | 00 00 73 43
:0x 00 00 '''80''' 00 00 00 00 00 - (1:17) turnleft
| 243.000000
:0x 00 00 00 '''01''' 00 00 00 00 - (1:18) turnright
| ALIGN=LEFT | y-coordinate (position)
:0x 00 00 00 '''02''' 00 00 00 00 - (1:19) stepleft
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
:0x 00 00 00 '''04''' 00 00 00 00 - (1:1A) stepright
| BGCOLOR="#FFC8C8" | F1 A8 F1 C1
:0x 00 00 00 '''08''' 00 00 00 00 - (1:1B) jump
| -30.207490
:0x 00 00 00 '''10''' 00 00 00 00 - (1:1C) crouch
| ALIGN=LEFT | z-coordinate (position)
:0x 00 00 00 '''20''' 00 00 00 00 - (1:1D) punch
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
:0x 00 00 00 '''40''' 00 00 00 00 - (1:1E) kick
| BGCOLOR="#FFFFC8" | 34 E3 C8 40
:0x 00 00 00 '''80''' 00 00 00 00 - (1:1F) block (no effect)
| 6.277734
:0x 00 00 00 00 '''01''' 00 00 00 - (1:20) walk
| ALIGN=LEFT | <FONT COLOR="red">look to state in degrees (angle over 360 is possible - huh?)</FONT>
:0x 00 00 00 00 '''02''' 00 00 00 - (1:21) action
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
:0x 00 00 00 00 '''04''' 00 00 00 - (1:22) hypo
| BGCOLOR="#C8FFC8" | 00 C8 1A 3B
:0x 00 00 00 00 '''08''' 00 00 00 - (1:23) reload
| 0.002361
:0x 00 00 00 00 '''10''' 00 00 00 - (1:24) swap
| ALIGN=LEFT | <FONT COLOR="red">facing in degrees (works nor correct, the angle isn't the same as the float)</FONT>
:0x 00 00 00 00 '''20''' 00 00 00 - (1:25) drop
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
:0x 00 00 00 00 '''40''' 00 00 00 - (1:26) fire1
| BGCOLOR="#C8FFFF" | 00 00 00 00
:0x 00 00 00 00 '''80''' 00 00 00 - (1:27) fire2
| 0.000000
:0x 00 00 00 00 00 '''01''' 00 00 - (1:28) fire3
| ALIGN=LEFT | looking from left or right to facing state
}}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0x10 | int32    |8C8CCC| 00 00 00 00 | 0           | frame number }}
| BGCOLOR="#FFC8FF" | DB 8F B9 BF
{{OBDtr| 0x14 | int32    |FF00C8| 00 00 00 00 | 0           | ignored }}
| -1.449726
| ALIGN=LEFT | looking up or down
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC800" | FF 00 00 00
| 255
| ALIGN=LEFT | film lenght in 1/60 seconds (4.25 seconds)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C800C8" | 00 00 00 00
| 0
| ALIGN=LEFT | [[OBD:TRAM|TRAM]] link 1
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C87C64" | 00 00 00 00
| 0
| ALIGN=LEFT | [[OBD:TRAM|TRAM]] link 2
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | AD DE
| dead
| ALIGN=LEFT | not used
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#E7CEA5" | 5A 00 00 00
| 90
| ALIGN=LEFT | 90 packages follow (one package is edged in black)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#000000"
| COLSPAN=3 | <FONT SIZE=2 COLOR="#FFFFFF">Below follows the first package.</FONT>
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFDDDD" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | camera angle (up / down)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | rotation of the character on the y-axis in degrees
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#EBEBEB" | 00 00 00 00
| 0
| ALIGN=LEFT | keypress event bitset part 1 (see below)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FF00C8" | 00 00 00 00
| 0
| ALIGN=LEFT | keypress event bitset part 2 (see below)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#F0F096" | 00 00 00 00
| 0
| ALIGN=LEFT | frame
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#00C864" | 00 00 00 00
| 0
| ALIGN=LEFT | unknown
|}
|}
;TRAM links
:Those are custom animations that are not triggered by normal movements.
:There's a maximum of 2 custom anims per film.
:As far as FILM is concerned, those anims are ''local'' (link by ID)
:Actually, they're usually empty (looked up by name in level 0)
;Keypress event bitset part 1
Actually this can be seen as an 8-byte bitset
:0x 01 00 00 00 : (1:00) escape
:0x 02 00 00 00 : (1:01) console
:0x 04 00 00 00 : (1:02) pausescreen
:0x 08 00 00 00 : (1:03) cutscene1
:0x 10 00 00 00 : (1:04) cutscene2
:0x 20 00 00 00 : (1:05) f4
:0x 40 00 00 00 : (1:06) f5
:0x 80 00 00 00 : (1:07) f6
:0x 00 01 00 00 : (1:08) f7
:0x 00 02 00 00 : (1:09) f8
:0x 00 04 00 00 : (1:0A) start_record
:0x 00 08 00 00 : (1:0B) stop_record
:0x 00 10 00 00 : (1:0C) play_record
:0x 00 20 00 00 : (1:0D) f12
*0x 00 40 00 00 : (1:0E) ........ ? apparently absent
:0x 00 80 00 00 : (1:0F) lookmode
:0x 00 00 01 00 : (1:10) screenshot
*0x 00 00 02 00 : (1:11) ........ ? apparently absent
*0x 00 00 04 00 : (1:12) ........ ? apparently absent
*0x 00 00 08 00 : (1:13) ........ ? apparently absent
*0x 00 00 10 00 : (1:14) ........ ? apparently absent
:0x 00 00 20 00 : (1:15) forward
:0x 00 00 40 00 : (1:16) backward
:0x 00 00 80 00 : (1:17) turnleft
:0x 00 00 00 01 : (1:18) turnright
:0x 00 00 00 02 : (1:19) stepleft
:0x 00 00 00 04 : (1:1A) stepright
:0x 00 00 00 08 : (1:1B) jump
:0x 00 00 00 10 : (1:1C) crouch
:0x 00 00 00 20 : (1:1D) punch
:0x 00 00 00 40 : (1:1E) kick
:0x 00 00 00 80 : (1:1F) block (no effect)
;Keypress event bitset part 2
:0x 01 00 00 00 : (1:20) walk
:0x 02 00 00 00 : (1:21) action
:0x 04 00 00 00 : (1:22) hypo
:0x 08 00 00 00 : (1:23) reload
:0x 10 00 00 00 : (1:24) swap
:0x 20 00 00 00 : (1:25) drop
:0x 40 00 00 00 : (1:26) fire1
:0x 80 00 00 00 : (1:27) fire2
:0x 00 01 00 00 : (1:28) fire3
*............................and that's all for keypresses, apparently


;Note to self... other bitsets somewhere?
:(3:7) aim_lr
:(3:8) aim_ud
:(4:0) man_cam_pan_left
:(4:1) man_cam_pan_up
:(4:2) man_cam_move_forward
:(4:3) man_cam_move_up
:(4:4) man_cam_move_left
:(5:0) man_cam_pan_right
:(5:1) man_cam_pan_down
:(5:2) man_cam_move_backward
:(5:3) man_cam_move_down
:(5:4) man_cam_move_right


{{OBD_File_Footer | type=FILM | prev=ENVP | next=HPge | name=Film | family=Level}}


----
{{OBD}}
{{OBD_File_Footer|align=right|type=FILM|prev=ENVP|next=HPge|name=Film|family=Generic}}

Latest revision as of 21:26, 9 December 2023

ONI BINARY DATA
ENVP << Other file types >> HPge
FILM : Film
switch to XML:FILM page
Overview @ Oni Stuff
OBD.png


Film a.gif


Offset Type Raw Hex Value Description
0x00 res_id 01 9C 00 00 156 00156-BomberKonRun01.FILM
0x04 lev_id 01 00 00 06 3 level 3
0x08 float FE 6B 81 44 1035.374855 x-position of the character
0x0C float 00 00 73 43 243.000000 y-position (height) of the character
0x10 float F1 A8 F1 C1 -30.207490 z-position of the character
0x14 float 34 E3 C8 40 6.277734 body facing (6.277734 * 180 / pi = 359.687663 degrees)
0x18 float 00 C8 1A 3B 0.002361 desired facing (0.002361 * 180 / pi = 0.135275 degrees)
0x1C float 00 00 00 00 0.000000 head facing (0 * 180 / pi = 0 degrees)
0x20 float DB 8F B9 BF -1.449726 looking up or down (-1.449726 * 180 / pi = -83.063181 degrees)
0x24 int32 FF 00 00 00 255 film lenght in frames (one frame = 1/60 seconds)
0x28 link 00 00 00 00 unused cutscene1 animation (link to a TRAM file triggered by cutscene1 key action)
0x2C link 00 00 00 00 unused cutscene2 animation (link to a TRAM file triggered by cutscene2 key action)
0x30 char[12] AD DE dead unused
0x3C int32 5A 00 00 00 90 array size
First element (black outline)
0x00 float 00 00 00 00 0.000000 X mouse delta
0x04 float 00 00 00 00 0.000000 Y mouse delta
0x08 int64 00 00 00 00 00 00 00 00 00 0 key events; the following bits are possible:
0x 01 00 00 00 00 00 00 00 - (1:00) escape
0x 02 00 00 00 00 00 00 00 - (1:01) console
0x 04 00 00 00 00 00 00 00 - (1:02) pausescreen
0x 08 00 00 00 00 00 00 00 - (1:03) cutscene1
0x 10 00 00 00 00 00 00 00 - (1:04) cutscene2
0x 20 00 00 00 00 00 00 00 - (1:05) f4
0x 40 00 00 00 00 00 00 00 - (1:06) f5
0x 80 00 00 00 00 00 00 00 - (1:07) f6
0x 00 01 00 00 00 00 00 00 - (1:08) f7
0x 00 02 00 00 00 00 00 00 - (1:09) f8
0x 00 04 00 00 00 00 00 00 - (1:0A) start_record
0x 00 08 00 00 00 00 00 00 - (1:0B) stop_record
0x 00 10 00 00 00 00 00 00 - (1:0C) play_record
0x 00 20 00 00 00 00 00 00 - (1:0D) f12
0x 00 80 00 00 00 00 00 00 - (1:0F) lookmode
0x 00 00 01 00 00 00 00 00 - (1:10) screenshot
0x 00 00 20 00 00 00 00 00 - (1:15) forward
0x 00 00 40 00 00 00 00 00 - (1:16) backward
0x 00 00 80 00 00 00 00 00 - (1:17) turnleft
0x 00 00 00 01 00 00 00 00 - (1:18) turnright
0x 00 00 00 02 00 00 00 00 - (1:19) stepleft
0x 00 00 00 04 00 00 00 00 - (1:1A) stepright
0x 00 00 00 08 00 00 00 00 - (1:1B) jump
0x 00 00 00 10 00 00 00 00 - (1:1C) crouch
0x 00 00 00 20 00 00 00 00 - (1:1D) punch
0x 00 00 00 40 00 00 00 00 - (1:1E) kick
0x 00 00 00 80 00 00 00 00 - (1:1F) block (no effect)
0x 00 00 00 00 01 00 00 00 - (1:20) walk
0x 00 00 00 00 02 00 00 00 - (1:21) action
0x 00 00 00 00 04 00 00 00 - (1:22) hypo
0x 00 00 00 00 08 00 00 00 - (1:23) reload
0x 00 00 00 00 10 00 00 00 - (1:24) swap
0x 00 00 00 00 20 00 00 00 - (1:25) drop
0x 00 00 00 00 40 00 00 00 - (1:26) fire1
0x 00 00 00 00 80 00 00 00 - (1:27) fire2
0x 00 00 00 00 00 01 00 00 - (1:28) fire3
0x10 int32 00 00 00 00 0 frame number
0x14 int32 00 00 00 00 0 ignored


ONI BINARY DATA
ENVP << Other file types >> HPge
FILM : Film
Level file