19,289
edits
No edit summary |
m (changed family; terminology) |
||
(10 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
:''This is about the turret class resource. For turret instances, see [[OBD:BINA/OBJC/TURR]] | :''This is about the turret class resource. For turret instances, see [[OBD:BINA/OBJC/TURR]]. | ||
{{OBD_File_Header | type=TURR | prev=TStr | next=TXAN | name=Turret | family= | {{OBD_File_Header | type=TURR | prev=TStr | next=TXAN | name=Turret | family=Level | align=center}} | ||
Line 6: | Line 6: | ||
[[ | [[Image:turr_a.gif]] | ||
Line 12: | Line 12: | ||
{{OBD_Table_Header}} | {{OBD_Table_Header}} | ||
|- ALIGN=CENTER VALIGN=TOP | |- ALIGN=CENTER VALIGN=TOP | ||
{{OBDtr| 0x000 | res_id |FF0000| 01 BF 01 00 | 447 | | {{OBDtr| 0x000 | res_id |FF0000| 01 BF 01 00 | 447 | ID for TURRsap_turret_floor }} | ||
{{OBDtr| 0x004 | lev_id |FFFF00| 01 00 00 00 | 0 | level 0 }} | {{OBDtr| 0x004 | lev_id |FFFF00| 01 00 00 00 | 0 | level 0 }} | ||
{{OBDtr2|0x008 | char[64] |FFC8C8| sap_turret_floor | name of this file }} | {{OBDtr2|0x008 | char[64] |FFC8C8| sap_turret_floor | name of this file }} | ||
{{OBDtr| 0x048 | int32 |FFFFC8| 00 00 00 00 | 0 | unknown; always zero }} | {{OBDtr| 0x048 | int32 |FFFFC8| 00 00 00 00 | 0 | unknown; always zero }} | ||
{{OBDtr| 0x04C | char[8] |C8FFC8| AD DE | dead | unused }} | {{OBDtr| 0x04C | char[8] |C8FFC8| AD DE | dead | unused }} | ||
{{OBDtr| 0x054 | int16 |C8FFFF| 00 00 | 0 | unknown; always zero }} | {{OBDtr| 0x054 | int16 |C8FFFF| 00 00 | 0 | unknown; always zero; (ignored) amount of shots? }} | ||
{{OBDtr| 0x056 | int16 |C8FFFF| 07 00 | 7 | amount of | {{OBDtr| 0x056 | int16 |C8FFFF| 07 00 | 7 | amount of particles (the array contains space for 16 elements) }} | ||
{{OBDtr| 0x058 | int16 |C8FFFF| 01 00 | 1 | unknown; always the same }} | {{OBDtr| 0x058 | int16 |C8FFFF| 01 00 | 1 | unknown; always the same; amount of firing modes? }} | ||
{{OBDtr| 0x05A | char[6] |FFC8FF| AD DE | dead | unused }} | {{OBDtr| 0x05A | char[6] |FFC8FF| AD DE | dead | unused }} | ||
{{OBDtr| 0x060 | link |FFC800| 01 C0 01 00 | 448 | link to | {{OBDtr| 0x060 | link |FFC800| 01 C0 01 00 | 448 | link to [[M3GM]]00448 - turret body }} | ||
{{OBDtr| 0x064 | link |FFC800| 00 00 00 00 | 0 | obsolete [[OBLS]] link | {{OBDtr| 0x064 | link |FFC800| 00 00 00 00 | 0 | obsolete [[OBLS]] link }} | ||
{{OBDtr| 0x068 | link |FFC800| 00 00 00 00 | 0 | unknown; always zero; | {{OBDtr| 0x068 | link |FFC800| 00 00 00 00 | 0 | unknown; always zero; body-something? }} | ||
{{OBDtr| 0x06C | link |FFC800| 01 C3 01 00 | 451 | link to | {{OBDtr| 0x06C | link |FFC800| 01 C3 01 00 | 451 | link to [[M3GM]]00451 - turret head }} | ||
{{OBDtr| 0x070 | link |FFC800| 00 00 00 00 | 0 | unknown; always zero; | {{OBDtr| 0x070 | link |FFC800| 00 00 00 00 | 0 | unknown; always zero; head-something? }} | ||
{{OBDtr| 0x074 | link |FFC800| 01 C4 01 00 | 452 | link to | {{OBDtr| 0x074 | link |FFC800| 01 C4 01 00 | 452 | link to [[M3GM]]00452 - turret gun }} | ||
{{OBDtr| 0x078 | link |FFC800| 00 00 00 00 | 0 | unknown; always zero; | {{OBDtr| 0x078 | link |FFC800| 00 00 00 00 | 0 | unknown; always zero; gun-something? }} | ||
{{OBDtr| 0x07C | float |C800C8| 0D F8 C1 34 | 0.000000... | X translation for turret | {{OBDtr| 0x07C | float |C800C8| 0D F8 C1 34 | 0.000000... | X translation for turret head (body-relative) }} | ||
{{OBDtr| 0x080 | float |C800C8| CF B4 07 41 | 8.481642 | Y translation for turret | {{OBDtr| 0x080 | float |C800C8| CF B4 07 41 | 8.481642 | Y translation for turret head (body-relative) }} | ||
{{OBDtr| 0x084 | float |C800C8| 13 A2 03 34 | 0.000000... | Z translation for turret | {{OBDtr| 0x084 | float |C800C8| 13 A2 03 34 | 0.000000... | Z translation for turret head (body-relative) }} | ||
{{OBDtr| 0x088 | float |C800C8| DA F5 9F B1 |-0.000000... | X translation for turret | {{OBDtr| 0x088 | float |C800C8| DA F5 9F B1 |-0.000000... | X translation for turret gun (head-relative) }} | ||
{{OBDtr| 0x08C | float |C800C8| 1D FC 33 32 | 0.000000... | Y translation for turret | {{OBDtr| 0x08C | float |C800C8| 1D FC 33 32 | 0.000000... | Y translation for turret gun (head-relative) }} | ||
{{OBDtr| 0x090 | float |C800C8| F7 FE 3F B3 |-0.000000... | Z translation for turret | {{OBDtr| 0x090 | float |C800C8| 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) | |||
{{Table}} | |||
{{OBD_Table_Header}} | |||
{{OBDtrBK}} | {{OBDtrBK}} | ||
{{OBDtr2|0x000 | char[16] |C87C64| w2_sap_e01 | 3D particle name (reference to | {{OBDtr2|0x000 | char[16] |C87C64| w2_sap_e01 | 3D particle name (reference to [[OBD:BINA/PAR3|BINA/PAR3]]w2_sap_e01) }} | ||
{{OBDtr| 0x010 | int32 |B0C3D4| 00 00 00 00 | 0 | | {{OBDtr| 0x010 | int32 |B0C3D4| 00 00 00 00 | 0 | runtime only: pointer to particle class }} | ||
{{OBDtr| 0x014 | int32 |B0C3D4| 05 00 00 00 | 5 | | {{OBDtr| 0x014 | int32 |B0C3D4| 05 00 00 00 | 5 | delay between shots in frames; here, 5/60 <nowiki>=</nowiki> 0.0833 s }} | ||
{{OBDtr| 0x018 | float |E7CEA5| B0 90 9F B8 | -0.000076 | x1 coefficient of transform matrix ^_^ }} | {{OBDtr| 0x018 | float |E7CEA5| B0 90 9F B8 | -0.000076 | x1 coefficient of transform matrix ^_^ }} | ||
{{OBDtr| 0x01C | float |E7CEA5| 9E C1 7F 3F | 0.999048 | y1 coefficient of transform matrix ^_^ }} | {{OBDtr| 0x01C | float |E7CEA5| 9E C1 7F 3F | 0.999048 | y1 coefficient of transform matrix ^_^ }} | ||
Line 52: | Line 59: | ||
{{OBDtr| 0x048 | char[4] |FFDDDD| AD DE | dead | unused }} | {{OBDtr| 0x048 | char[4] |FFDDDD| AD DE | dead | unused }} | ||
|} | |} | ||
[[Image:turr_e.gif]] | |||
[[ | |||
;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. | |||
{{Table}} | |||
{{OBD_Table_Header}} | |||
|- ALIGN=CENTER VALIGN=TOP | |||
{{OBDtr| 0x554 | int32 |64AAAA| 00 00 00 00 | 0 | firing mode options; the following bits are possible (values in hex): 0x01 00 00 00 - No wild shots }} | |||
{{OBDtrMatrix4x3|0x0DC|EBEBEB|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.008726|0.043619|0.999010|0.000000|0.000000|0.000000|targeting inverse transform matrix - the inverse of the matrix that gives the targeting direction}} | |||
{{OBDtrVector3| 0x588 |FF00C8| 62 F8 0E 3C | C9 A9 32 BD | 21 BF 7F 3F | 0.008726 | -0.043619 | 0.999010 | targeting direction }} | |||
{{OBDtrVector3| 0x594 |FF00C8| 44 57 B9 BD | 73 27 D9 3D | D1 99 B1 3B | -0.090498 | 0.106032 | 0.005420 | targeting origin }} | |||
{{OBDtr| 0x5A0 | float |F0F096| 00 00 96 44 | 1200.000000 | prediction speed }} | |||
{{OBDtr| 0x5A4 | float |F0F096| 00 00 00 00 | 0.000000 | inaccuracy tolerance; always 0 for TURR }} | |||
{{OBDtr| 0x5A8 | float |F0F096| 00 00 20 40 | 2.500000 | aim radius; always the same for TURR and ONWC }} | |||
{{OBDtr| 0x5AC | float |F0F096| 00 00 48 44 | 800.000000 | sound sphere radius; always the same for TURR }} | |||
{{OBDtr| 0x5B0 | float |F0F096| 00 00 00 00 | 0.000000 | minimal shooting distance; always 0 for TURR }} | |||
{{OBDtr| 0x5B4 | float |F0F096| 00 00 00 00 | 0.000000 | maximal shooting distance; always 0 for TURR }} | |||
{{OBDtr| 0x5B8 | int16 |00C864| 05 00 | 5 | maximum startle misses }} | |||
{{OBDtr| 0x5BA | int16 |00C864| 00 00 | 0 | AI shooting skill ID; always 0 for TURR }} | |||
{{OBDtr| 0x5BC | int32 |00C864| 00 00 00 00 | 0 | fight timer; always 0 for TURR; 240 for ONWCw4_psm, 200 for ONWCv6_vdg }} | |||
{{OBDtr| 0x5C0 | float |00C864| 00 00 00 00 | 0.000000 | ballistic projectile speed (150 for ONWCw5_sbg, 160 for w11_ba1); always 0 for TURR }} | |||
{{OBDtr| 0x5C4 | float |00C864| 00 00 00 00 | 0.000000 | ballistic projectile gravity (0.5 for ONWCw5_sbg, 0.3 for w11_ba1); always 0 for TURR }} | |||
{{OBDtr| 0x5C8 | float |00C864| 00 00 00 00 | 0.000000 | length of firing spread; always 0 for TURR }} | |||
{{OBDtr| 0x5CC | float |00C8FF| 00 00 00 00 | 0.000000 | width of firing spread; always 0 for TURR }} | |||
{{OBDtr| 0x5D0 | float |00C8FF| 00 00 00 00 | 0.000000 | skew angle of firing spread; always 0 for TURR }} | |||
|} | |||
;Same as in [[ONCC]] at 0x140-0x158 | |||
{{Table}} | |||
{{OBD_Table_Header}} | |||
{{OBDtr| 0x5D4 | float |00C8FF| 00 00 00 3F | 0.500000 | unknown; something with prediction? always the same for TURR and ONCC }} | |||
{{OBDtr| 0x5D8 | float |00C8FF| 00 00 F0 42 | 120.000000 | unknown; something with prediction? always the same for TURR and ONCC }} | |||
{{OBDtr| 0x5DC | float |00C8FF| 00 00 80 3F | 1.000000 | unknown; something with prediction? always the same for TURR }} | |||
{{OBDtr| 0x5E0 | int32 |00C8FF| 00 00 00 00 | 0 | unknown frame count; something with prediction; always the same for TURR }} | |||
{{OBDtr| 0x5E4 | int32 |C80040| 05 00 00 00 | 5 | unknown frame count; something with prediction; always the same for TURR }} | |||
{{OBDtr| 0x5E8 | int32 |C80040| 0F 00 00 00 | 15 | unknown frame count; something with prediction; always the same for TURR }} | |||
{{OBDtr| 0x5EC | int32 |C80040| 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. | |||
{{Table}} | |||
{{OBD_Table_Header}} | |||
{{OBDtr| 0x5F0 | float |FFCD96| 9A 99 99 3E | 0.300000 | recoil compensation amount (0.0 <nowiki>=</nowiki> min, 1.0 <nowiki>=</nowiki> max) }} | |||
{{OBDtr| 0x5F4 | float |FFCD96| BE F9 0E 3C | 0.008727 | best aiming angle in radians }} | |||
{{OBDtr| 0x5F8 | float |FFCD96| 00 00 00 00 | 0.000000 | shot grouping error }} | |||
{{OBDtr| 0x5FC | float |FFCD96| 00 00 00 3F | 0.500000 | shot grouping decay }} | |||
{{OBDtr| 0x600 | float |FFCD96| 00 00 80 3F | 1.000000 | shooting inaccuracy multiplier }} | |||
{{OBDtr| 0x604 | int16 |FFCD96| 00 00 | 0 | minimum delay between shots in frames }} | |||
{{OBDtr| 0x606 | int16 |FFCD96| 00 3F | 16128 | maximum delay between shots in frames }} | |||
|} | |||
;Turret specific options | |||
{{Table}} | {{Table}} | ||
{{OBD_Table_Header}} | {{OBD_Table_Header}} | ||
{{OBDtr| 0x608 | int32 |C8C864| 84 03 00 00 | 900 | timeout in frames; here, 15 seconds }} | {{OBDtr| 0x608 | int32 |C8C864| 84 03 00 00 | 900 | timeout in frames; here, 15 seconds }} | ||
{{OBDtr| 0x60C | float |0096C8| C2 B8 B2 BE | -0.349066 | minimum elevation in radians; here, 20°}} | {{OBDtr| 0x60C | float |0096C8| C2 B8 B2 BE | -0.349066 | minimum elevation in radians; here, 20°}} | ||
Line 117: | Line 127: | ||
{{OBDtr| 0x61C | float |0096C8| AE 4B 6E 3C | 0.014544 | maximum vertical speed in radian/frame; here, 50°/s }} | {{OBDtr| 0x61C | float |0096C8| AE 4B 6E 3C | 0.014544 | maximum vertical speed in radian/frame; here, 50°/s }} | ||
{{OBDtr| 0x620 | float |0096C8| AE 4B 6E 3C | 0.014544 | maximum horizontal speed in radian/frame; here, 50°/s}} | {{OBDtr| 0x620 | float |0096C8| AE 4B 6E 3C | 0.014544 | maximum horizontal speed in radian/frame; here, 50°/s}} | ||
{{OBDtr2|0x624 | char[32] |FF80C0| turret_active | active turret sound (reference to | {{OBDtr2|0x624 | char[32] |FF80C0| turret_active | active turret sound (reference to OSBDturret_active.[[OBD:OSBD|amb]]) }} | ||
{{OBDtr| 0x644 | int32 |D0C0AF| 00 00 00 00 | 0 | runtime only }} | {{OBDtr| 0x644 | int32 |D0C0AF| 00 00 00 00 | 0 | runtime only }} | ||
{{OBDtr| 0x648 | char[24] |EEDDFF| AD DE | dead | unused; always the same }} | {{OBDtr| 0x648 | char[24] |EEDDFF| AD DE | dead | unused; always the same }} | ||
|} | |} | ||
;Turret geometry | |||
*The body geometry is used during play, it is only used at design time. Once a turret is added to a level the body is baked into the [[OBD:AKEV|environment]]. The head and gun geometries are used because unlike the body they are not fixed, they need to move during play. | |||
Here you can download the complete overview of all turrets as a text file.<BR> | Here you can download the complete overview of all turrets as a text file.<BR> | ||
Copy it to a spreadsheet calculation program like Excel. | Copy it to a spreadsheet calculation program like Excel. | ||
*[http://ssg.oni2.net/subfold/text/oni_turr_part_1_dc.txt part 1 (header)] with decimal commas (3 kb) | |||
*[http://ssg.oni2.net/subfold/text/oni_turr_part_2_dc.txt part 2 (particle array)] with decimal commas (56 kb) | |||
*[http://ssg.oni2.net/subfold/text/oni_turr_part_3_dc.txt part 3 (end)] with decimal commas (7 kb) | |||
*[http://ssg.oni2.net/subfold/text/oni_turr_part_1_dp.txt part 1 (header)] with decimal points (3 kb) | |||
*[http://ssg.oni2.net/subfold/text/oni_turr_part_2_dp.txt part 2 (particle array)] with decimal points (56 kb) | |||
*[http://ssg.oni2.net/subfold/text/ | *[http://ssg.oni2.net/subfold/text/oni_turr_part_3_dp.txt part 3 (end)] with decimal points (7 kb) | ||
*[http://ssg.oni2.net/subfold/text/ | |||
*[http://ssg.oni2.net/subfold/text/ | |||
{{OBD_File_Footer | type=TURR | prev=TStr | next=TXAN | name=Turret | family=Level}} | |||
|} | |||
{{ | {{OBD}} |