| 
 | 
 | 
 
 | 
| 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
 | 
| 
 | 
 | 
 
 | 
| 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