OBD:FILM: Difference between revisions

From OniGalore
Jump to navigation Jump to search
m (biggest bitset evah)
m (design)
Line 1: Line 1:
{{OBD_File_Header | type=FILM | prev=ENVP | next=HPge | name=Film | family=Generic | align=center}}
[[image:film_a.gif]]
{{Table}}
{{OBDth}}
{{OBDtr| 0x00 | res_id  |FF0000| 01 9C 00 00 | 156        | 00156-BomberKonRun01.FILM }}
{{OBDtr| 0x04 | lev_id  |FFFF00| 01 00 00 06 | 3          | level 3 }}
{{OBDtr| 0x08 | float    |FFC8C8| FE 6B 81 44 | 1035.374855 | x-position 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| 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| 0x18 | float    |C8FFC8| 00 C8 1A 3B | 0.002361    | facing state (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| 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 = 1/60 seconds) }}
{{OBDtr| 0x08 | link    |C800C8| 00 00 00 00 | unused      | cutscene1 (link to a [[OBD:TRAM|TRAM]] file) }}
{{OBDtr| 0x08 | link    |C87C64| 00 00 00 00 | unused      | cutscene1 (link to a [[OBD:TRAM|TRAM]] file) }}
{{OBDtr| 0x08 | float    |FFC8C8| 00 00 00 00 | unused      |  }}
{{OBDtr| 0x08 | float    |FFC8C8| 00 00 00 00 | unused      |  }}
{{OBDtr| 0x08 | float    |FFC8C8| 00 00 00 00 | unused      |  }}
{{OBDtr| 0x08 | float    |FFC8C8| 00 00 00 00 | unused      |  }}
{{OBDtr| 0x08 | float    |FFC8C8| 00 00 00 00 | unused      |  }}
{{OBDtr| 0x08 | float    |FFC8C8| 00 00 00 00 | unused      |  }}
{{OBDtr| 0x08 | float    |FFC8C8| 00 00 00 00 | unused      |  }}
{{OBDtr| 0x08 | float    |FFC8C8| 00 00 00 00 | unused      |  }}
{{OBDtr| 0x08 | float    |FFC8C8| 00 00 00 00 | unused      |  }}
{{OBDtr| 0x02 | int16    |FFFFC8| 00 00      | 0    | variable, returns if you choose this option }}
{{OBDtr2| 0x04 | char[64] |C8FFC8| Easy              | entry name }}
|}
{{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}}
{{OBD_File_Header|align=center|type=FILM|prev=ENVP|next=HPge|name=Film|family=Generic}}
----
----

Revision as of 08:57, 14 September 2007

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 start facing; rotates body from "body start facing" to facing state (6.277734 * 180 / pi = 359.687663 degrees)
0x18 float 00 C8 1A 3B 0.002361 facing state (0.002361 * 180 / pi = 0.135275 degrees)
0x1C float 00 00 00 00 0.000000 head start facing; rotates head from "head start facing" to facing state (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 {{{6}}}
0x08 link 00 00 00 00 unused cutscene1 (link to a TRAM file)
0x08 link 00 00 00 00 unused cutscene1 (link to a TRAM file)
0x08 float 00 00 00 00 unused
0x08 float 00 00 00 00 unused
0x08 float 00 00 00 00 unused
0x08 float 00 00 00 00 unused
0x08 float 00 00 00 00 unused
0x08 float 00 00 00 00 unused
0x08 float 00 00 00 00 unused
0x08 float 00 00 00 00 unused
0x08 float 00 00 00 00 unused
0x02 int16 00 00 0 variable, returns if you choose this option
0x04 char[64] Easy entry name


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


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

film_a.gif


Hex Translation Meaning
01 9C 00 00 156 00156-BomberKonRun01.FILM
01 00 00 06 3 level 3
FE 6B 81 44 1035.374855 x-coordinate (position)
00 00 73 43 243.000000 y-coordinate (position)
F1 A8 F1 C1 -30.207490 z-coordinate (position)
34 E3 C8 40 6.277734 look to state in degrees (angle over 360 is possible - huh?)
00 C8 1A 3B 0.002361 facing in degrees (works nor correct, the angle isn't the same as the float)
00 00 00 00 0.000000 looking from left or right to facing state
DB 8F B9 BF -1.449726 looking up or down
FF 00 00 00 255 film lenght in 1/60 seconds (4.25 seconds)
00 00 00 00 0 TRAM link 1
00 00 00 00 0 TRAM link 2
AD DE dead not used
5A 00 00 00 90 90 packages follow (one package is edged in black)
Below follows the first package.
00 00 00 00 0.000000 camera angle (up / down)
00 00 00 00 0.000000 rotation of the character on the y-axis in degrees
00 00 00 00 0 keypress event bitset part 1 (see below)
00 00 00 00 0 keypress event bitset part 2 (see below)
00 00 00 00 0 frame
00 00 00 00 0 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



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