OBD:FILM: Difference between revisions
m (design)  | 
				m (break)  | 
				||
| Line 16: | Line 16: | ||
{{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 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| 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| 0x24 | int32    |FFC800| FF 00 00 00 | 255         | film lenght in frames (one frame <nowiki>=</nowiki> 1/60 seconds) }}  | ||
{{OBDtr|   | {{OBDtr| 0x28 | link     |C800C8| 00 00 00 00 | unused      | cutscene1 (link to a [[OBD:TRAM|TRAM]] file) }}  | ||
{{OBDtr|   | {{OBDtr| 0x2C | link     |C87C64| 00 00 00 00 | unused      | cutscene2 (link to a [[OBD:TRAM|TRAM]] file) }}  | ||
{{OBDtr|   | {{OBDtr| 0x30 | char[12] |B0C3D4| AD DE       | dead        | unused }}  | ||
{{OBDtr|   | {{OBDtr| 0x3C | int32    |E7CEA5| 5A 00 00 00 | 90          | array size }}  | ||
{{  | {{OBDtrBK}}  | ||
{{OBDtr|   | {{OBDtr| 0x00 | float    |FFDDDD| 00 00 00 00 | 0.000000    | camera angle (up / down) }}  | ||
{{OBDtr|   | {{OBDtr| 0x04 | float    |64AAAA| 00 00 00 00 | 0.000000    | rotation of the character on the y-axis in degrees }}  | ||
{{OBDtr| 0x08 |   | {{OBDtr| 0x08 | bitset32 |EBEBEB| 00 00 00 00 | 0, 0, 0, 0      |  }}  | ||
{{OBDtr|   | {{OBDtr| 0x0C | bitset32 |EBEBEB| 00 00 00 00 | unused      |  }}  | ||
{{OBDtr|   | {{OBDtr| 0x10 | int32    |8C8CCC| 00 00 00 00 | unused      |  }}  | ||
{{OBDtr|   | {{OBDtr| 0x14 | int32    |FF00C8| 00 00 00 00 | unused      |  }}  | ||
|}  | |}  | ||
Revision as of 09:06, 14 September 2007
  | 
 | 
 
 | 
| 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 | film lenght in frames (one frame = 1/60 seconds) | 
| 0x28 | link | 00 00 00 00 | unused | cutscene1 (link to a TRAM file) | 
| 0x2C | link | 00 00 00 00 | unused | cutscene2 (link to a TRAM file) | 
| 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 | camera angle (up / down) | 
| 0x04 | float | 00 00 00 00 | 0.000000 | rotation of the character on the y-axis in degrees | 
| 0x08 | bitset32 | 00 00 00 00 | 0, 0, 0, 0 | |
| 0x0C | bitset32 | 00 00 00 00 | unused | |
| 0x10 | int32 | 00 00 00 00 | unused | |
| 0x14 | int32 | 00 00 00 00 | unused | |
| ONI BINARY DATA | 
|---|
| ENVP << Other file types >> HPge | 
| FILM : Film | 
| Generic file | 
  | 
 
 | 
| 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 | 

