- This is about the turret class resource. For turret instances, see OBD:BINA/OBJC/TURR
The first pic shows the beginning of this file. The second pic the end of it.
Offset |
Type |
Raw Hex |
Value |
Description
|
0x000 |
res_id |
01 BF 01 00 |
447 |
00447-sap_turret_floor.TURR
|
0x004 |
lev_id |
01 00 00 00 |
0 |
level 0
|
0x008 |
char[64] |
sap_turret_floor |
name of this file
|
0x048 |
int32 |
00 00 00 00 |
0 |
unknown; always zero
|
0x04C |
char[8] |
AD DE |
dead |
unused
|
0x054 |
int16 |
00 00 |
0 |
unknown; always zero; (ignored) amount of shots?
|
0x056 |
int16 |
07 00 |
7 |
amount of particles (the array contains space for 16 elements)
|
0x058 |
int16 |
01 00 |
1 |
unknown; always the same; amount of firing modes?
|
0x05A |
char[6] |
AD DE |
dead |
unused
|
0x060 |
link |
01 C0 01 00 |
448 |
link to 00448-.M3GM - turret body
|
0x064 |
link |
00 00 00 00 |
0 |
obsolete OBLS link
|
0x068 |
link |
00 00 00 00 |
0 |
unknown; always zero; body-something?
|
0x06C |
link |
01 C3 01 00 |
451 |
link to 00451-.M3GM - turret head
|
0x070 |
link |
00 00 00 00 |
0 |
unknown; always zero; head-something?
|
0x074 |
link |
01 C4 01 00 |
452 |
link to 00452-.M3GM - turret gun
|
0x078 |
link |
00 00 00 00 |
0 |
unknown; always zero; gun-something?
|
0x07C |
float |
0D F8 C1 34 |
0.000000... |
X translation for turret head (body-relative)
|
0x080 |
float |
CF B4 07 41 |
8.481642 |
Y translation for turret head (body-relative)
|
0x084 |
float |
13 A2 03 34 |
0.000000... |
Z translation for turret head (body-relative)
|
0x088 |
float |
DA F5 9F B1 |
-0.000000... |
X translation for turret gun (head-relative)
|
0x08C |
float |
1D FC 33 32 |
0.000000... |
Y translation for turret gun (head-relative)
|
0x090 |
float |
F7 FE 3F B3 |
-0.000000... |
Z translation for turret gun (head-relative)
|
- Particle array (see ONWC)
- The particle elements are not exactly the same as in ONWC (4 bytes shorter)
Offset |
Type |
Raw Hex |
Value |
Description
|
First element (black outline)
|
0x000 |
char[16] |
w2_sap_e01 |
3D particle name (reference to BINA3RAPw2_sap_e01)
|
0x010 |
int32 |
00 00 00 00 |
0 |
runtime only: pointer to particle class
|
0x014 |
int32 |
05 00 00 00 |
5 |
delay between shots in frames; here, 5/60 = 0.0833 s
|
0x018 |
float |
B0 90 9F B8 |
-0.000076 |
x1 coefficient of transform matrix ^_^
|
0x01C |
float |
9E C1 7F 3F |
0.999048 |
y1 coefficient of transform matrix ^_^
|
0x020 |
float |
39 AC 32 3D |
0.043621 |
z1 coefficient of transform matrix ^_^
|
0x024 |
float |
62 F8 0E 3C |
0.008726 |
x2 coefficient of transform matrix ^_^
|
0x028 |
float |
C9 A9 32 BD |
-0.043619 |
y2 coefficient of transform matrix ^_^
|
0x02C |
float |
21 BF 7F 3F |
0.999010 |
z2 coefficient of transform matrix ^_^
|
0x030 |
float |
81 FD 7F 3F |
0.999962 |
x3 coefficient of transform matrix ^_^
|
0x034 |
float |
D6 6B EF 39 |
0.000457 |
y3 coefficient of transform matrix ^_^
|
0x038 |
float |
A0 C7 0E BC |
-0.008715 |
z3 coefficient of transform matrix ^_^
|
0x03C |
float |
46 0F 4D BD |
-0.050063 |
x4 coefficient of transform matrix ^_^
|
0x040 |
float |
47 C9 C4 BD |
-0.096087 |
y4 coefficient of transform matrix ^_^
|
0x044 |
float |
81 4E 94 40 |
4.634583 |
z4 coefficient of transform matrix ^_^
|
0x048 |
char[4] |
AD DE |
dead |
unused
|
- Firing mode (see ONWC)
- Turret firing spreads are not shown for ai2_showfiringspreads=1, which makes it harder to check the floats at 0x588, 0x58C, 0x590, 0x5C8, 0x5CC, 0x5D0.
Offset |
Type |
Raw Hex |
Value |
Description
|
0x554 |
int32 |
00 00 00 00 |
0 |
firing mode options; the following bits are possible (values in hex): 0x01 00 00 00 - No wild shots
|
0x0DC |
matrix4x3 |
81 FD 7F 3F |
8E A7 47 39 |
1A F8 0E 3C
|
8E A7 47 39 |
A0 C1 7F 3F |
6F A9 32 BD
|
1A F8 0E BC |
6F A9 32 3D |
21 BF 7F 3F
|
00 00 00 00 |
00 00 00 00 |
00 00 00 00
|
|
0.999962 |
0.000190 |
0.008726
|
0.000190 |
0.999048 |
-0.043619
|
0.000000 |
0.000000 |
0.000000
|
|
targeting inverse transform matrix - the inverse of the matrix that gives the targeting direction
|
0x588 |
vector3 |
62 F8 0E 3C |
C9 A9 32 BD |
21 BF 7F 3F
|
|
0.008726 |
-0.043619 |
0.999010
|
|
targeting direction
|
0x594 |
vector3 |
44 57 B9 BD |
73 27 D9 3D |
D1 99 B1 3B
|
|
-0.090498 |
0.106032 |
0.005420
|
|
targeting origin
|
0x5A0 |
float |
00 00 96 44 |
1200.000000 |
prediction speed
|
0x5A4 |
float |
00 00 00 00 |
0.000000 |
inaccuracy tolerance; always 0 for TURR
|
0x5A8 |
float |
00 00 20 40 |
2.500000 |
aim radius; always the same for TURR and ONWC
|
0x5AC |
float |
00 00 48 44 |
800.000000 |
sound sphere radius; always the same for TURR
|
0x5B0 |
float |
00 00 00 00 |
0.000000 |
minimal shooting distance; always 0 for TURR
|
0x5B4 |
float |
00 00 00 00 |
0.000000 |
maximal shooting distance; always 0 for TURR
|
0x5B8 |
int16 |
05 00 |
5 |
maximum startle misses
|
0x5BA |
int16 |
00 00 |
0 |
AI shooting skill ID; always 0 for TURR
|
0x5BC |
int32 |
00 00 00 00 |
0 |
fight timer; always 0 for TURR; 240 for ONWCw4_psm, 200 for ONWCv6_vdg
|
0x5C0 |
float |
00 00 00 00 |
0.000000 |
ballistic projectile speed (150 for ONWCw5_sbg, 160 for w11_ba1); always 0 for TURR
|
0x5C4 |
float |
00 00 00 00 |
0.000000 |
ballistic projectile gravity (0.5 for ONWCw5_sbg, 0.3 for w11_ba1); always 0 for TURR
|
0x5C8 |
float |
00 00 00 00 |
0.000000 |
length of firing spread; always 0 for TURR
|
0x5CC |
float |
00 00 00 00 |
0.000000 |
width of firing spread; always 0 for TURR
|
0x5D0 |
float |
00 00 00 00 |
0.000000 |
skew angle of firing spread; always 0 for TURR
|
- Same as in ONCC at 0x140-0x158
Offset |
Type |
Raw Hex |
Value |
Description
|
0x5D4 |
float |
00 00 00 3F |
0.500000 |
unknown; something with prediction? always the same for TURR and ONCC
|
0x5D8 |
float |
00 00 F0 42 |
120.000000 |
unknown; something with prediction? always the same for TURR and ONCC
|
0x5DC |
float |
00 00 80 3F |
1.000000 |
unknown; something with prediction? always the same for TURR
|
0x5E0 |
int32 |
00 00 00 00 |
0 |
unknown frame count; something with prediction; always the same for TURR
|
0x5E4 |
int32 |
05 00 00 00 |
5 |
unknown frame count; something with prediction; always the same for TURR
|
0x5E8 |
int32 |
0F 00 00 00 |
15 |
unknown frame count; something with prediction; always the same for TURR
|
0x5EC |
int32 |
3C 00 00 00 |
60 |
unknown frame count; something with prediction; always the same for TURR
|
- Shooting skill (see ONCC)
- All the TURR have the same shooting skill.
Offset |
Type |
Raw Hex |
Value |
Description
|
0x5F0 |
float |
9A 99 99 3E |
0.300000 |
recoil compensation amount (0.0 = min, 1.0 = max)
|
0x5F4 |
float |
BE F9 0E 3C |
0.008727 |
best aiming angle in radians
|
0x5F8 |
float |
00 00 00 00 |
0.000000 |
shot grouping error
|
0x5FC |
float |
00 00 00 3F |
0.500000 |
shot grouping decay
|
0x600 |
float |
00 00 80 3F |
1.000000 |
shooting inaccuracy multiplier
|
0x604 |
int16 |
00 00 |
0 |
minimum delay between shots in frames
|
0x606 |
int16 |
00 3F |
16128 |
maximum delay between shots in frames
|
- Turret specific options
Offset |
Type |
Raw Hex |
Value |
Description
|
0x608 |
int32 |
84 03 00 00 |
900 |
timeout in frames; here, 15 seconds
|
0x60C |
float |
C2 B8 B2 BE |
-0.349066 |
minimum elevation in radians; here, 20°
|
0x610 |
float |
DB 0F C9 3F |
1.570796 |
maximum elevation in radians; here, 90°
|
0x614 |
float |
67 3B 54 C0 |
-3.316126 |
minimum azimuth in radians; here, -190°
|
0x618 |
float |
67 3B 54 40 |
3.316126 |
maximum azimuth in radians; here, 190°
|
0x61C |
float |
AE 4B 6E 3C |
0.014544 |
maximum vertical speed in radian/frame; here, 50°/s
|
0x620 |
float |
AE 4B 6E 3C |
0.014544 |
maximum horizontal speed in radian/frame; here, 50°/s
|
0x624 |
char[32] |
turret_active |
active turret sound (reference to 08674-turret_active.amb.OSBD)
|
0x644 |
int32 |
00 00 00 00 |
0 |
runtime only
|
0x648 |
char[24] |
AD DE |
dead |
unused; always the same
|
Here you can download the complete overview of all turrets as a text file.
Copy it to a spreadsheet calculation program like Excel.