OBD:ONWC: Difference between revisions

m
Removing DEAD part... It is NOT a part of the type...
m (Removing DEAD part... It is NOT a part of the type...)
 
(56 intermediate revisions by 10 users not shown)
Line 1: Line 1:
{|align=right
{{OBD_File_Header | type=ONWC | prev=ONVL | next=OPge | name=Oni Weapon Class | family=Character | align=center}}
![[OBD:Oni Binary Data|ONI BINARY DATA]]
 
|-
 
![[OBD:ONVL|ONVL]] << [[OBD:File types|Other file types]] >> [[OBD:OPge|OPge]]
ONWC files in level[1-19]_Final are 0-byte files. The actual data is in the ONWC files of level 0; below is an example.
|-
 
!<FONT SIZE=5>ONWC : Oni Weapon Class</FONT>
Unless specified otherwise, the coordinates are relative to the weapon's mesh (x = forwards, y = left, z = up).
|-
 
![[OBD:File types/Global|Level 0 file]]
 
|-
==0x000 to 0x0D7 - Weapon main part ==
![http://geyser.oni2.net/OUP/ONWC.txt Struct def for OUP]
[[Image:onwc_a.gif]]
|-
 
![http://www6.fh-eberswalde.de/user/dkriesch/onistuff/oni_onwc.htm Overview @ Oni Stuff]
 
|-
{{Table}}
!TXT overviews (27 kB each) :<br>[http://www6.fh-eberswalde.de/user/dkriesch/onistuff/subfold/text/oni_onwc_dc.txt "," decimals] or [http://www6.fh-eberswalde.de/user/dkriesch/onistuff/subfold/text/oni_onwc_dp.txt "." decimals]
{{OBDth}}
{{OBDtr| 0x000 | res_id  |FF0000| 01 75 0E 00 | 3701          | 03701-w1_tap.ONWC }}
{{OBDtr| 0x004 | lev_id  |FFFF00| 01 00 00 00 | 0              | level 0 }}
|}
|}
There's an [[OBD:File types|empty]] ONWC file in every level, and the 12 actual ONWC files are in level 0.
;File size:1824 = 0x720 bytes
;Example: '''w1_tap.ONWC''' (unless specified otherwise)
;Structure
*0x08 - 0xD7 : MAIN WEAPON DATA (216 = 0xD8 bytes)
**0x08 - 0x53 : laser sight
**0x54 - 0x5F : ammo meter
**0x60 - 0xD7 : various weapon parameters
*0xD8 - 0x1D7 : FIRING MODE ARRAY (2 elements, 128 = 0x80 bytes each)
**0xD8 - 0x157 : primary firing mode
**0x158 - 0x1D7 : secondary firing mode
*0x1D8 - 0x6DC : WEAPON PARTICLE ARRAY (16 elements, 80 = 0x50 bytes each)
*0x6D8 - 0x71F : TRAILING CHUNK (68 =0x48 bytes)
**weapon sounds, unheld weapon parameters, blank filler
;Coordinates
:Unless specified otherwise, they are relative to the weapon's mesh
:(x = forwards, y = left, z = up)


----
 
----
===0x008 to 0x053 - Laser sight parameters===
==0x00 - 0xD7==
{{Table}}
;MAIN PART
{{OBDth}}
http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/onwc_a.gif
{{OBDtr| 0x008 | float    |FFC8C8| F5 A4 49 40 | 3.150693       | x-offset of laser sight origin }}
{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0
{{OBDtr| 0x00C | float    |FFC8C8| F4 2C A5 3B | 0.005041       | y-offset of laser sight origin }}
|- ALIGN=CENTER BGCOLOR="#FFDDBB"
{{OBDtr| 0x010 | float    |FFC8C8| 21 4E D2 3E | 0.410752       | z-offset of laser sight origin }}
!Offset
{{OBDtr| 0x014 | float    |FFC8C8| 23 A6 7F 3F | 0.998629       | x-component of laser sight direction }}
!Hex
{{OBDtr| 0x018 | float    |FFC8C8| AA 6C 56 BD | -0.052349     | y-component of laser sight direction }}
!Translation
{{OBDtr| 0x01C | float    |FFC8C8| 69 66 AA B7 | -0.000020     | z-component of laser sight direction }}
!Meaning
{{OBDtr| 0x020 | float    |FFC8C8| 00 40 9C 45 |5000.000000     | maximal length of laser sight vector }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0x024 | color    |FFFFC8| 00 00 FF FF | 0, 0, 255; 255 | laser sight color (blue, green, red); laser sight transparency }}
|0x00
{{OBDtr| 0x028 | link    |C8FFC8| 01 94 05 00 | 1428           | crosshair texture (link to 01428-target_1A.[[TXMP]]) }}
| BGCOLOR="#FF0000" | 01 '''75 0E''' 00
{{OBDtr| 0x02C | color    |C8FFC8| FF FF FF 00 |255, 255, 255; 0| crosshair background color (blue, green, red); crosshair background transparency }}
| 3701
{{OBDtr| 0x030 | float    |C8FFC8| CD CC 4C 3F | 0.800000       | crosshair scale factor }}
| ALIGN=LEFT | File ID (03701-w1_tap.ONWC)
{{OBDtr| 0x034 | link    |C8FFFF| 01 95 05 00 | 1428          | locked crosshair texture (link to 01429-target_1B.TXMP) }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0x038 | color    |C8FFFF| FF FF FF 00 |255, 255, 255; 0| locked crosshair background color (blue, green, red); locked crosshair background transparency }}
|0x04
{{OBDtr| 0x03C | float    |C8FFFF| CD CC 4C 3F | 0.800000       | locked crosshair scale factor }}
| BGCOLOR="#FFFF00" | 01 00 00 ''00''
{{OBDtr| 0x040 | link    |FFC8FF| 00 00 00 00 | unused        | tunnel texture (link to a TXMP) }}
| 0
{{OBDtr| 0x044 | color    |FFC8FF| FF FF FF 00 |255, 255, 255; 0| tunnel background color (blue, green, red); tunnel background transparency }}
| ALIGN=LEFT | level ID
{{OBDtr| 0x048 | float    |FFC8FF| 00 00 80 3F | 1.000000       | tunnel scale factor }}
|}
{{OBDtr| 0x04C | uint32    |FFC800| 0F 00 00 00 | 15             | number of tunnel textures }}
----
{{OBDtr| 0x050 | float    |C800C8| 00 00 20 41 | 10.000000     | spacing of tunnel textures }}
===0x08 - 0x53===
;LASER SIGHT PARAMETERS
{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0
|- ALIGN=CENTER BGCOLOR="#FFDDBB"
!Offset
!Hex
!Translation
!Meaning
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x08
| BGCOLOR="#FFC8C8" | F5 A4 49 40
| 3.150693
| ALIGN=LEFT | x-offset of the origin
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x0C
| BGCOLOR="#FFC8C8" | F4 2C A5 3B
| 0.005041
| ALIGN=LEFT | y-offset of the origin
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x10
| BGCOLOR="#FFC8C8" | 21 4E D2 3E
| 0.410752
| ALIGN=LEFT | z-offset of the origin
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x14
| BGCOLOR="#FFC8C8" | 23 A6 7F 3F
| 0.998629
| ALIGN=LEFT | something like the stiffness (try setting it to 0.001 and lower)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x18
| BGCOLOR="#FFC8C8" | AA 6C 56 BD
| -0.052349
| ALIGN=LEFT | additional azimuth
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x1C
| BGCOLOR="#FFC8C8" | 69 66 AA B7
| -0.000020
| ALIGN=LEFT | additional elevation
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x20
| BGCOLOR="#FFC8C8" | 00 40 9C 45
| 5000.000000
| ALIGN=LEFT | maximal length of laser sight vector
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x24
| BGCOLOR="#FFFFC8" | 00 00 FF FF
| Red, opaque
| ALIGN=LEFT | laser sight color (RGBA)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x28
| BGCOLOR="#C8FFC8" | 01 '''94 05''' 00
| 1428
| ALIGN=LEFT | crosshair texture (link to 01428-target_1A.[[OBD:TXMP|TXMP]])
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x2C
| BGCOLOR="#C8FFC8" | FF FF FF 00
| White, transparent
| ALIGN=LEFT | crosshair background color (RGBA)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x30
| BGCOLOR="#C8FFC8" | CD CC 4C 3F
| 0.800000
| ALIGN=LEFT | crosshair scale factor
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x34
| BGCOLOR="#C8FFFF" | 01 '''95 05''' 00
| 1429
| ALIGN=LEFT | locked crosshair texture (link to 01429-target_1B.[[OBD:TXMP|TXMP]])
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x38
| BGCOLOR="#C8FFFF" | FF FF FF 00
| White, transparent
| ALIGN=LEFT | locked crosshair background color (RGBA)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x3C
| BGCOLOR="#C8FFFF" | CD CC 4C 3F
| 0.800000
| ALIGN=LEFT | locked crosshair scale factor
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x40
| BGCOLOR="#FFC8FF" | 00 '''00 00''' 00
| not used
| ALIGN=LEFT | tunnel texture ([[OBD:TXMP|TXMP]] link)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x44
| BGCOLOR="#FFC8FF" | FF FF FF 00
| White, transparent
| ALIGN=LEFT | tunnel background color (RGBA)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x48
| BGCOLOR="#FFC8FF" | 00 00 80 3F
| 1.000000
| ALIGN=LEFT | tunnel scale factor
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x4C
| BGCOLOR="#FFC800" | 0F 00 00 00
| 15
| ALIGN=LEFT | number of tunnel textures
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x50
| BGCOLOR="#C800C8" | 00 00 20 41
| 10.000000
| ALIGN=LEFT | spacing of tunnel textures
|}
|}
;Crosshair
;Crosshair
:Default crosshair appears where the laser sight hits environment, corpses, etc
:Default crosshair appears where the laser sight hits environment, corpses, etc.
:Locked crosshair appears when the laser sight hits characters (including the shooter)
:Locked crosshair appears when the laser sight hits characters (including the shooter)
:"Tunnel" is used by '''w8_mbo''' as a complement to the crosshair
:"Tunnel" is used by '''w8_mbo''' as a complement to the crosshair
:'''w2_sap''', '''w5_sbg''', '''w7_scc''' and '''w9_scr''' use it with no crosshair
:'''w2_sap''', '''w5_sbg''', '''w7_scc''' and '''w9_scr''' use it with no crosshair
----
 
===0x54 - 0x5F===
 
;AMMO METER
===0x054 to 0x05F - Ammo meter===
{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0
{{Table}}
|- ALIGN=CENTER BGCOLOR="#FFDDBB"
{{OBDth}}
!Offset
{{OBDtr| 0x054 | link    |C87C64| 01 7E 0E 00 | 3710           | link to 03710-tap_icon.[[TXMP]] }}
!Hex
{{OBDtr| 0x058 | link    |C87C64| 01 7F 0E 00 | 3711           | link to 03711-tap_empty.TXMP }}
!Translation
{{OBDtr| 0x05C | link    |C87C64| 01 80 0E 00 | 3712           | link to 03712-tap_fill.TXMP }}
!Meaning
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x54
| BGCOLOR="#C87C64" | 01 '''7E 0E''' 00
| 3710
| ALIGN=LEFT | link to 03710-tap_icon.[[OBD:TXMP|TXMP]]
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x58
| BGCOLOR="#C87C64" | 01 '''7F 0E''' 00
| 3711
| ALIGN=LEFT | link to 03711-tap_empty.[[OBD:TXMP|TXMP]]
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x5C
| BGCOLOR="#C87C64" | 01 '''80 0E''' 00
| 3712
| ALIGN=LEFT | link to 03712-tap_fill.[[OBD:TXMP|TXMP]]
|}
|}
----
===0x60 - 0xD7===
;WEAPON PARAMETERS
{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0
|- ALIGN=CENTER BGCOLOR="#FFDDBB"
!Offset
!Hex
!Translation
!Meaning
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x60
| BGCOLOR="#C87C64" | 01 '''76 0E''' 00
| 3702
| ALIGN=LEFT | link to 03702-.[[OBD:M3GM|M3GM]]
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x64
| BGCOLOR="#B0C3D4" COLSPAN=2 | <TT>w1_tap</TT>
| ALIGN=LEFT | name of the weapon
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x84
| BGCOLOR="#E7CEA5" | 00 00 80 3F
| 1.000000
| ALIGN=LEFT | weapon mouse sensitivity (applies on AI, too)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x88
| BGCOLOR="#E7CEA5" | A6 92 2B 3D
| 0.041888
| ALIGN=LEFT | recoil (e.g. for '''w1_tap''' and '''w2_sap''')
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x8C
| BGCOLOR="#E7CEA5" | 92 0A 86 3E
| 0.261799
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x90
| BGCOLOR="#E7CEA5" | 00 00 A0 40
| 5.000000
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x94
| BGCOLOR="#E7CEA5" | E2 A3 7B 3B
| 0.003839
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x98
| BGCOLOR="#E7CEA5" | 88 C3 E4 3A
| 0.001745
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x9C
| BGCOLOR="#E7CEA5" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0xA0
| BGCOLOR="#E7CEA5" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0xA4
| BGCOLOR="#E7CEA5" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0xA8
| BGCOLOR="#E7CEA5" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0xAC
| BGCOLOR="#E7CEA5" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0xB0
| BGCOLOR="#E7CEA5" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0xB4
| BGCOLOR="#E7CEA5" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0xB8
| BGCOLOR="#E7CEA5" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0xBC
| BGCOLOR="#E7CEA5" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0xC0
| BGCOLOR="#FFDDDD" | 00 00
| 0
| ALIGN=LEFT | unknown; always zero
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0xC2
| BGCOLOR="#FFDDDD" | 95 00
| 149
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0xC4
| BGCOLOR="#FFDDDD" | A4 00
| 164
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0xC6
| BGCOLOR="#FFDDDD" | 19 00
| 25
| ALIGN=LEFT | pause after reload in 1/60 seconds
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0xC8
| BGCOLOR="#FFDDDD" | 0A 00
| 10
| ALIGN=LEFT | amount of shots
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0xCA
| BGCOLOR="#FFDDDD" | 06 00
| 6
| ALIGN=LEFT | amount of particles
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0xCC
| BGCOLOR="#FFDDDD" | 01 00
| 1
| ALIGN=LEFT | amount of firing modes
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0xCE
| BGCOLOR="#FFDDDD" | 0A 00
| 10
| ALIGN=LEFT | pause before reload in 1/60 seconds
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0xD0
| BGCOLOR="#FFDDDD" | 04 00
| 4
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0xD2
| BGCOLOR="#FFDDDD" | 00 00
| 0
| ALIGN=LEFT | unknown; always zero
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0xD4
| BGCOLOR="#FFDDDD" | 30
| 48
| ALIGN=LEFT | Flags 1 :


{| BORDER=0 CELLPADDING=0 CELLSPACING=0
 
|- VALIGN=TOP
===0x060 to 0x0D7 - Weapon parameters===
| ALIGN=RIGHT | 1 -&nbsp;
{{Table}}
| unknown, never used
{{OBDth}}
|- VALIGN=TOP
{{OBDtr| 0x060 | link    |C87C64| 01 76 0E 00 | 3702          | link to 03702-.[[M3GM]] (3D geometry) }}
| ALIGN=RIGHT | 2 -&nbsp;
{{OBDtr2|0x064 | char[32] |B0C3D4| w1_tap                      | weapon name }}
| '''weapon can't be holstered'''
{{OBDtr| 0x084 | float    |E7CEA5| 00 00 80 3F | 1.000000      | weapon mouse sensitivity (applies to AI, too) }}
|- VALIGN=TOP
{{OBDtr| 0x088 | float    |E7CEA5| A6 92 2B 3D | 0.041888      | recoil base (e.g. for w1_tap and w2_sap) }}
| ALIGN=RIGHT | 4 -&nbsp;
{{OBDtr| 0x08C | float    |E7CEA5| 92 0A 86 3E | 0.261799      | recoil max }}
| '''weapon reloads with energy cells'''
{{OBDtr| 0x090 | float    |E7CEA5| 00 00 A0 40 | 5.000000      | recoil factor }}
|- VALIGN=TOP
{{OBDtr| 0x094 | float    |E7CEA5| E2 A3 7B 3B | 0.003839      | recoil return speed }}
| ALIGN=RIGHT | 8 -&nbsp;
{{OBDtr| 0x098 | float    |E7CEA5| 88 C3 E4 3A | 0.001745      | recoil firing return speed }}
| '''weapon is a rifle (two-handed)'''
{{OBDtr| 0x09C | float    |E7CEA5| 00 00 00 00 | 0.000000      | secondHandVector X (disabled IK stuff) }}
|- VALIGN=TOP
{{OBDtr| 0x0A0 | float    |E7CEA5| 00 00 00 00 | 0.000000      | secondHandVector Y}}
| ALIGN=RIGHT | 16 -&nbsp;
{{OBDtr| 0x0A4 | float    |E7CEA5| 00 00 00 00 | 0.000000      | secondHandVector Z }}
| unknown, used for w1_tap and w2_sap
{{OBDtr| 0x0A8 | float    |E7CEA5| 00 00 00 00 | 0.000000      | secondHandUpVector X}}
|- VALIGN=TOP
{{OBDtr| 0x0AC | float    |E7CEA5| 00 00 00 00 | 0.000000      | secondHandUpVector Y}}
| ALIGN=RIGHT | 32 -&nbsp;
{{OBDtr| 0x0B0 | float    |E7CEA5| 00 00 00 00 | 0.000000      | secondHandUpVector Z}}
| '''sustained fire'''
{{OBDtr| 0x0B4 | float    |E7CEA5| 00 00 00 00 | 0.000000      | secondHandPosition X}}
|- VALIGN=TOP
{{OBDtr| 0x0B8 | float    |E7CEA5| 00 00 00 00 | 0.000000      | secondHandPosition Y}}
| ALIGN=RIGHT | 64 -&nbsp;
{{OBDtr| 0x0BC | float    |E7CEA5| 00 00 00 00 | 0.000000      | secondHandPosition Z}}
| '''you can't shoot ...'''
{{OBDtr| 0x0C0 | uint16    |FFDDDD| 00 00      | 0             | freeTime (unused); always zero }}
|- VALIGN=TOP
{{OBDtr| 0x0C2 | uint16    |FFDDDD| 95 00      | 149            | recoil animation type (149 {{=}} autopistol_recoil) }}
| ALIGN=RIGHT | 128 -&nbsp;
{{OBDtr| 0x0C4 | uint16    |FFDDDD| A4 00      | 164            | reload animation type (164 {{=}} reload_pistol) }}
| unknown, used for w6_vdg
{{OBDtr| 0x0C6 | uint16    |FFDDDD| 19 00      | 25            | pause after reload in 1/60 seconds }}
{{OBDtr| 0x0C8 | uint16    |FFDDDD| 0A 00      | 10            | amount of shots }}
{{OBDtr| 0x0CA | uint16    |FFDDDD| 06 00      | 6              | amount of particles }}
{{OBDtr| 0x0CC | uint16    |FFDDDD| 01 00      | 1              | amount of firing modes }}
{{OBDtr| 0x0CE | uint16    |FFDDDD| 0A 00      | 10            | pause before reload in 1/60 seconds }}
{{OBDtr| 0x0D0 | uint16    |FFDDDD| 04 00      | 4              | release delay; delay between the moment the trigger is released and the moment the weapon stops firing }}
{{OBDtr| 0x0D2 | uint16    |FFDDDD| 00 00      | 0              | padding }}
{{OBDtr| 0x0D4 | uint32    |FFDDDD| 30          | 0x30 C0 02 00  | weapon options; the following bits are possible (values in hex):
 
:0x'''02''' 00 00 00 - weapon can't be holstered
:0x'''04''' 00 00 00 - weapon reloads with energy cells
:0x'''08''' 00 00 00 - weapon is a rifle (two-handed)
:0x'''10''' 00 00 00 - recoil affects aiming
:0x'''20''' 00 00 00 - sustained fire (applies only to primary fire)
:0x'''40''' 00 00 00 - runtime only; do not use
:0x'''80''' 00 00 00 - stun switcher; used for w6_vdg, see below
 
:0x00 '''01''' 00 00 - knockdown switcher; used for w4_psm, see below
:0x00 '''02''' 00 00 - explosive; used for w5_sbg and w11_ba1
:0x00 '''04''' 00 00 - secondary fire enabled
:0x00 '''08''' 00 00 - barabbas weapon; see below
:0x00 '''10''' 00 00 - heavy weapon; run, jump and creep disabled
:0x00 '''20''' 00 00 - auto release trigger; used for w11_ba1
:0x00 '''40''' 00 00 - has release delay; see the release delay field above
:0x00 '''80''' 00 00 - laser sight visible
 
:0x00 00 '''02''' 00 - crosshair scaling, used for w1_tap, w2_sap, w3_phr and w8_mbo
:0x00 00 '''08''' 00 - weapon doesn't fade
:0x00 00 '''10''' 00 - drain ammo; used by w4_psm to decrement ammo while firing because its firing mode is continuous rather than repetitive
}}
|}
|}


|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0xD5
| BGCOLOR="#FFDDDD" | C0
| 192
| ALIGN=LEFT | Flags 2 :


{| BORDER=0 CELLPADDING=0 CELLSPACING=0
'''stun switcher''' - if enemy is inside shooting distance (between min and max) and is '''knockdown'''ed/'''stun'''ed or '''blownup'''ped, AI with this weapon switches to melee for a time specified in a *fight timer* field
|- VALIGN=TOP
| ALIGN=RIGHT | 1 -&nbsp;
| unknown, used for w4_psm
|- VALIGN=TOP
| ALIGN=RIGHT | 2 -&nbsp;
| unknown, used for w5_sbg and w11_ba1
|- VALIGN=TOP
| ALIGN=RIGHT | 4 -&nbsp;
| '''secondary fire enabled'''
|- VALIGN=TOP
| ALIGN=RIGHT | 8 -&nbsp;
| '''weapon can't be reloaded'''
|- VALIGN=TOP
| ALIGN=RIGHT | 16 -&nbsp;
| '''run, jump and creep disabled'''
|- VALIGN=TOP
| ALIGN=RIGHT | 32 -&nbsp;
| unknown, used for w11_ba1
|- VALIGN=TOP
| ALIGN=RIGHT | 64 -&nbsp;
| unknown, used for w1_tap, w2_sap and w3_phr
|- VALIGN=TOP
| ALIGN=RIGHT | 128 -&nbsp;
| '''laser sight visible'''
|}


|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
'''knockdown switcher''' - if enemy is inside shooting distance (between min and max) and is '''knockdown'''ed or '''blownup'''ped, AI with this weapon switches to melee for a time specified in a *fight timer* field
|0xD6
| BGCOLOR="#FFDDDD" | 02 00
| 2
| ALIGN=LEFT | Flags 3 :
{| BORDER=0 CELLPADDING=0 CELLSPACING=0
|- VALIGN=TOP
| ALIGN=RIGHT | 1 -&nbsp;
| unknown, never used
|- VALIGN=TOP
| ALIGN=RIGHT | 2 -&nbsp;
| unknown, used for w1_tap, w2_sap, w3_phr and w8_mbo
|- VALIGN=TOP
| ALIGN=RIGHT | 4 -&nbsp;
| unknown, never used
|- VALIGN=TOP
| ALIGN=RIGHT | 8 -&nbsp;
| '''weapon doesn't fade'''
|- VALIGN=TOP
| ALIGN=RIGHT | 16 -&nbsp;
| unknown, used for w4_psm
|- VALIGN=TOP
| ALIGN=RIGHT | 32 -&nbsp;
| unknown, never used
|- VALIGN=TOP
| ALIGN=RIGHT | 64 -&nbsp;
| unknown, never used
|- VALIGN=TOP
| ALIGN=RIGHT | 128 -&nbsp;
| unknown, never used
|}
|}


'''barabbas weapon''' - reload disabled; also used for ai2_barabbas_retrievegun (it teleports a weapon to a character); nearest available gun becomes chosen if character had no weapon to begin, then always this weapon is teleported back to character (when command used again)


----
==0x0D8 to 0x1D7 - Firing modes==
----
==0xD8 - 0x1D7==
;FIRING MODES
Every ONWC has 2 firing mode slots (128 = 0x80 bytes each.)
Every ONWC has 2 firing mode slots (128 = 0x80 bytes each.)


The number of slots actually used by the weapon is specified at 0xCA.
The number of slots actually used by the weapon is specified at 0xCA.
===0xD8 - 0x157===
 
;PRIMARY FIRING MODE
===0x0D8 to 0x157 - Primary firing mode===
Offsets are given with respect to the start of the file.
{{Table}}
{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0
{{OBDth}}
|- ALIGN=CENTER BGCOLOR="#FFDDBB"
{{OBDtr| 0x0D8 | uint32    |64AAAA| 00 00 00 00 | 0             | firing mode options; only the following bit is used (value in hex):
!Offset
:0x'''01''' 00 00 00 - No wild shots}}
!Raw hex
 
!Value
{{OBDtrMatrix4x3|0x0DC|EBEBEB|23 A6 7F 3F|05 6D 56 3D|F4 8D A9 37|05 6D 56 BD|23 A6 7F 3F|D0 1D 0E B5|F4 8D A9 B7|D0 1D 0E B5|00 00 80 3F|00 00 00 00|00 00 00 00|00 00 00 00|0.998629|0.052350|0.000020| -0.052350|0.998629| -0.000001| -0.000020| -0.000001|1.000000|0.000000|0.000000|0.000000| targeting inverse transform matrix - the inverse of the matrix that gives the targeting direction}}
!Meaning
 
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtrVector3| 0x10C |EBEBEB| 23 A6 7F 3F | AE 6C 56 BD | AF 8D A9 B7 | 0.998629 | -0.052349 | -0.000020 | targeting direction; sets orientation of firingspread }}
|0xD8
{{OBDtrVector3| 0x118 |EBEBEB| DC FE 08 3C | 5C 11 23 3E | 39 C6 2A 3F | 0.008362 | 0.159246 | 0.667087 | targeting origin; sets deviation of AI's aim from target's origin (target's origin + this vector {{=}} direction where to aim and fire) }}
| BGCOLOR="#FFDDDD" | 00 00
{{OBDtr| 0x124 | float    |EBEBEB| 00 00 61 44 | 900.000000     | prediction speed; the speed of the projectile that AI prediction should take into account when calculating where to fire in order to hit a moving target }}
| 0
{{OBDtr| 0x128 | float    |EBEBEB| 00 00 20 41 | 10.000000     | max. inaccuracy angle; sets max angle between weapon's aiming vector and target's position; when AI exceeds this angle (by recoil or target running away), AI stops shooting and aims weapon again straight to the target, then resume shooting }}
| ALIGN=LEFT | unknown (1 for w9_scr)
{{OBDtr| 0x12C | float    |EBEBEB| 00 00 20 40 | 2.500000       | aim_radius; always the same; possibly related to the inaccuracy angle above }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0x130 | float    |EBEBEB| 00 00 96 43 | 300.000000     | weapon sound sphere radius; defines radius of the AI sound sphere (gunfire type, see {{SectionLink|AI|Vision and hearing}} to learn about AI sound spheres) which is created for a short moment when this weapon is fired }}
|0xDA
{{OBDtr| 0x134 | float    |EBEBEB| 00 00 40 41 | 12.000000     | minimal shooting distance; if target is closer than this, the AI ceases fire and moves away from the target till at least this distance is achieved; this is a '''diameter, not a radius''', so effective distance from AI to target is half of this value }}
| BGCOLOR="#FFDDDD" | 00 00
{{OBDtr| 0x138 | float    |EBEBEB| 00 00 61 44 | 900.000000     | maximum shooting distance; if target is further than this, the AI ceases fire and moves towards the target until it is below this distance }}
| 0
{{OBDtr| 0x13C | uint16    |8C8CCC| 05 00       | 5             | UNUSED; maximum startle misses; the maximum number of shots to which extra inaccuracy can be added when an AI begins firing at the player (always 5, but Oni does not use this field) }}
| ALIGN=LEFT | unknown; always zero
{{OBDtr| 0x13E | uint16    |8C8CCC| 01 00       | 1             | skill index (links weapon to the [[ONCC]] shooting skill table); here are the values used by Oni's ONWCs:
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
:0x'''01''' 00 - w0_sec (not in game)
|0xDC
:0x'''02''' 00 - w1_tap
| BGCOLOR="#64AAAA" | 23 A6 7F 3F
:0x'''04''' 00 - w2_sap
| 0.998629
:0x'''08''' 00 - w3_phr
| ALIGN=LEFT | unknown
:0x'''10''' 00 - w4_psm
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
:0x'''20''' 00 - w5_sbg
|0xE0
:0x'''40''' 00 - w6_vdg
| BGCOLOR="#64AAAA" | 05 6D 56 3D
:0x'''80''' 00 - w7_scc
| 0.052350
:0x00 '''01''' - w8_mbo
| ALIGN=LEFT | unknown
:0x00 '''02''' - w9_scr
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
:0x00 '''04''' - w10_sni (not in game)
|0xE4
:0x00 '''08''' - w11_ba1
| BGCOLOR="#64AAAA" | F4 8D A9 37
:0x00 '''10''' - w12_ba2}}
| 0.000020
{{OBDtr| 0x140 | uint32    |8C8CCC| 00 00 00 00 | 0             | fight timer, 240 for w4_psm, 200 for v6_vdg }}
| ALIGN=LEFT | unknown
{{OBDtr| 0x144 | float    |FF00C8| 00 00 00 00 | 0.000000       | ballistic projectile speed for AI prediction purposes; if this field is unused, the projectile is assumed to be infinite speed; field is always zero except 150 for Superball Gun and 160 for Wave Motion Cannon's secondary trigger }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0x148 | float    |FF00C8| 00 00 00 00 | 0.000000       | ballistic projectile gravity for AI prediction purposes; always zero except 0.5 for SBG and 0.3 for WMC's secondary trigger }}
|0xE8
{{OBDtr| 0x14C | float    |FF00C8| 00 00 34 43 | 180.000000     | length of a firing spread; AI will perform gunfire dodging when it finds itself inside of a firing spread (see {{SectionLink|AI|Basic combat behaviors}}); can be visualized with *ai2_showfiringspreads{{=}}1* (180 for w1_tap, 150 for w2_sap, 120 for w4_psm) }}
| BGCOLOR="#64AAAA" | 05 6D 56 BD
{{OBDtr| 0x150 | float    |FF00C8| 00 00 40 40 | 3.000000       | width of the firing spread's base; can be seen by ai2_showfiringspreads{{=}}1 }}
| -0.052350
{{OBDtr| 0x154 | float    |FF00C8| 50 77 D6 3D | 0.104719       | firing spread's skew; can be seen by ai2_showfiringspreads{{=}}1 (0.1 for w1_tap, 0.21 for w2_sap) }}
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0xEC
| BGCOLOR="#64AAAA" | 23 A6 7F 3F
| 0.998629
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0xF0
| BGCOLOR="#64AAAA" | D0 1D 0E B5
| -0.000001
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0xF4
| BGCOLOR="#64AAAA" | F4 8D A9 B7
| -0.000020
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0xF8
| BGCOLOR="#64AAAA" | D0 1D 0E B5
| -0.000001
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0xFC
| BGCOLOR="#64AAAA" | 00 00 80 3F
| 1.000000
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x100
| BGCOLOR="#64AAAA" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | unknown; always zero
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x104
| BGCOLOR="#64AAAA" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | unknown; always zero
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x108
| BGCOLOR="#64AAAA" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | unknown; always zero
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x10C
| BGCOLOR="#64AAAA" | 23 A6 7F 3F
| 0.998629
| ALIGN=LEFT | unknown; something with angle proportions between *tunnel* base's angles, the higher you set it the more it is taller than wider; can be seen with ai2_showfiringspreads=1
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x110
| BGCOLOR="#64AAAA" | AE 6C 56 BD
| -0.052349
| ALIGN=LEFT | unknown; something with *tunnel*'s aim in the "x,z plane". This value is forcing *tunnel* to aim more left or more right than weapon is aiming or to even aim *tunnel* backwards; can be seen with ai2_showfiringspreads=1
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x114
| BGCOLOR="#64AAAA" | AF 8D A9 B7
| -0.000020
| ALIGN=LEFT | unknown; something with *tunnel*'s aim in the "y plane". This value is forcing *tunnel* to aim more up or more down than weapon is aiming or to even aim *tunnel* backwards; can be seen with ai2_showfiringspreads=1
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x118
| BGCOLOR="#64AAAA" | DC FE 08 3C
| 0.008362
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x11C
| BGCOLOR="#64AAAA" | 5C 11 23 3E
| 0.159246
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x120
| BGCOLOR="#64AAAA" | 39 C6 2A 3F
| 0.667087
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x124
| BGCOLOR="#64AAAA" | 00 00 61 44
| 900.000000
| ALIGN=LEFT | unknown; it is some angle. If this angle is for example 90°, then AI, which is shooting this weapon, will try to copy target's movements eg. when target strafes left, gun AI stops shooting and runs left too. If you set it 270°, gun AI is performing opposite actions eg. When you run left, gun AI runs right. While running, AI stops shooting.
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x128
| BGCOLOR="#64AAAA" | 00 00 20 41
| 10.000000
| ALIGN=LEFT | Inaccurancy angle; sets max angle between weapon's aiming vector and target's position. When AI exceeds this angle(by recoil or target running away), AI stops shooting and tries to aim weapon again straight to the target, then resume shooting.
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x12C
| BGCOLOR="#64AAAA" | 00 00 20 40
| 2.500000
| ALIGN=LEFT | unknown; always the same
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x130
| BGCOLOR="#64AAAA" | 00 00 96 43
| 300.000000
| ALIGN=LEFT | Weapon sound sphere radius. When somebody shoots, weapon creates this range. AIs which are inside this range notice there was a shot + they know WHO is the shooter and WHERE he stands, can be seen with ai2_showsounds=1 (but you have to be in a large open area, since those ranges are quite big)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x134
| BGCOLOR="#64AAAA" | 00 00 40 41
| 12.000000
| ALIGN=LEFT | Minimal shooting distance; When AI is closer then min.shot.dist., it will stop shooting and attempt to go  away from the target until it again reaches higher distance then min.shot.dist. is. You can see its effect when AI is operating SBG and you get too close.
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x138
| BGCOLOR="#64AAAA" | 00 00 61 44
| 900.000000
| ALIGN=LEFT | Maximal shooting distance; When AI is further then max.shot.dist., it isn't shooting but running towards target until it reaches max.shot.dist. limit. Then AI opens fire. You can see its effect when AI is far away and has w2_sap.
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x13C
| BGCOLOR="#EBEBEB" | 05 00
| 5
| ALIGN=LEFT | unknown; always the same
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x13E
| BGCOLOR="#EBEBEB" | 01 00
| 1
| ALIGN=LEFT | weapon ID (used by [[OBD:ONCC#Shooting_skills_(0x15C_-_0x29)|AI shooting skills]])
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x140
| BGCOLOR="#EBEBEB" | 00 00 00 00
| 0
| ALIGN=LEFT | Fight timer, 240 for w4_psm, 200 for v6_vdg
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x144
| BGCOLOR="#8C8CCC" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | unknown, something with grenades (150 for SBG, 160 for WMC)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x148
| BGCOLOR="#8C8CCC" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | unknown, something with grenades (0.5 for SBG, 0.3 for WMC)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x14C
| BGCOLOR="#8C8CCC" | 00 00 34 43
| 180.000000
| ALIGN=LEFT | Length of *tunnel* which aims from weapon and surrounds projectile's path. When AI collides with this *tunnel*, it tries to dodge/hide. Can be seen by ai2_showfiringspreads=1 (180 for w1_tap, 150 for w2_sap, 120 for w4_psm)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x150
| BGCOLOR="#8C8CCC" | 00 00 40 40
| 3.000000
| ALIGN=LEFT | Lenght of the *tunnel*'s base side. Can be seen by ai2_showfiringspreads=1
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x154
| BGCOLOR="#8C8CCC" | 50 77 D6 3D
| 0.104719
| ALIGN=LEFT | angle between *tunnel*'s base and its altitude(length). Can be seen by ai2_showfiringspreads=1 (0.1 for w1_tap, 0.21 for w2_sap)
|}
|}
----


===0x158 - 0x1D7===
;SECONDARY FIRING MODE
The only original weapon for which these fields are not all zero is '''w11_ba1'''.


They are the exact counterparts of the fields at 0xD8 - 0x157.
;Transform matrix
:Probably defines the orientation, scaling and position of the firing spread. It doesn't appear to be used.


===0x158 to 0x1D7 - Secondary firing mode===
The only vanilla weapon for which these fields are not all zero is '''w11_ba1'''. They are the exact counterparts of the fields at 0xD8 - 0x157.


----
==0x1D8 to 0x6D7 - Weapon particle array==
----
Every ONWC has 16 particle slots (80 at 0x50 bytes each). The number of slots actually used by the weapon is specified at 0xCA. Offsets are relative to the beginning of a slot.


==0x1D8 - 0x6DC==
;PARTICLES
Every ONWC has 16 particle slots (80 = 0x50 bytes each.)


The number of slots actually used by the weapon is specified at 0xCA.
{{Table}}
{{OBDth}}
{{OBDtrBK|1=First of 16 elements (black outline).}}
{{OBDtr| 0x000 | float    |F0F096| AE 6C 56 3D | 0.052349      | transformation matrix, xx term }}
{{OBDtr| 0x004 | float    |F0F096| 23 A6 7F 3F | 0.998629      | transformation matrix, xy term }}
{{OBDtr| 0x008 | float    |F0F096| C2 53 90 B3 | -0.000000...  | transformation matrix, xz term }}
{{OBDtr| 0x00C | float    |F0F096| 23 A6 7F 3F | 0.998629      | transformation matrix, yx term }}
{{OBDtr| 0x010 | float    |F0F096| AE 6C 56 BD | -0.052349      | transformation matrix, yy term }}
{{OBDtr| 0x014 | float    |F0F096| AF 8D A9 B7 | -0.000020      | transformation matrix, yz term }}
{{OBDtr| 0x018 | float    |F0F096| BA 59 A9 B7 | -0.000020      | transformation matrix, zx term }}
{{OBDtr| 0x01C | float    |F0F096| 5B 02 85 35 | 0.000001      | transformation matrix, zy term }}
{{OBDtr| 0x020 | float    |F0F096| 00 00 80 BF | -1.000000      | transformation matrix, zz term }}
{{OBDtr| 0x024 | float    |F0F096| 6F 63 57 40 | 3.365444      | x-offset of particle to weapon }}
{{OBDtr| 0x028 | float    |F0F096| B3 1D 89 BC | -0.016738      | y-offset of particle to weapon }}
{{OBDtr| 0x02C | float    |F0F096| C5 C1 2A 3F | 0.667019      | z-offset of particle to weapon }}
{{OBDtr2|0x030 | char[16] |00C864| w1_tap_e01                  | particle name (reference to 06226-3RAPw1_tap_e01.[[OBD:BINA/PAR3|BINA]]) }}
{{OBDtr| 0x040 | offset    |00C8FF| 00 00 00 00 | 0              | raw offset of the particle class (raw pointer to it); runtime only }}
{{OBDtr| 0x044 | uint16    |00C8FF| 01 00      | 1              | ammo decrement (different for the 2 firing modes of w11_ba1) }}
{{OBDtr| 0x046 | uint16    |00C8FF| 0C 00      | 12            | delay between shots in frames (12 frames {{=}} 0.2 seconds) }}
{{OBDtr| 0x048 | uint16    |00C8FF| 04 00      | 4              | 'roughjustice' delay between shots in frames }}
{{OBDtr| 0x04A | uint16    |00C8FF| 00 00      | 0              | number in frames for active firing mode (1st frame for activate); Used for w4_psm and w11_ba1 }}
{{OBDtr| 0x04C | uint16    |00C8FF| 00 00      | 0              | 0 {{=}} particle is triggered by fire1; 1 {{=}} particle is triggered by fire2; -1 {{=}} particle is triggered by both firing modes }}
{{OBDtr| 0x04E | uint16    |00C8FF| 00 00      | 0              | delay before firing }}
|}
 


Offsets are relative to the beginning of a slot.
{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0
|- ALIGN=CENTER BGCOLOR="#FFDDBB"
!Offset
!Raw hex
!Value
!Meaning
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x00
| BGCOLOR="#FF00C8" | AE 6C 56 3D
| 0.052349
| ALIGN=LEFT | transformation matrix, xx term
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x04
| BGCOLOR="#FF00C8" | 23 A6 7F 3F
| 0.998629
| ALIGN=LEFT | transformation matrix, xy term
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x08
| BGCOLOR="#FF00C8" | C2 53 90 B3
| -6.720757e-8
| ALIGN=LEFT | transformation matrix, xz term
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x0C
| BGCOLOR="#FF00C8" | 23 A6 7F 3F
| 0.998629
| ALIGN=LEFT | transformation matrix, yx term
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x10
| BGCOLOR="#FF00C8" | AE 6C 56 BD
| -0.052349
| ALIGN=LEFT | transformation matrix, yy term
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x14
| BGCOLOR="#FF00C8" | AF 8D A9 B7
| -0.000020
| ALIGN=LEFT | transformation matrix, yz term
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x18
| BGCOLOR="#FF00C8" | BA 59 A9 B7
| -0.000020
| ALIGN=LEFT | transformation matrix, zx term
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x1C
| BGCOLOR="#FF00C8" | 5B 02 85 35
| 0.000001
| ALIGN=LEFT | transformation matrix, zy term
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x20
| BGCOLOR="#FF00C8" | 00 00 80 BF
| -1.000000
| ALIGN=LEFT | transformation matrix, zz term
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x24
| BGCOLOR="#FF00C8" | 6F 63 57 40
| 3.365444
| ALIGN=LEFT | x-offset of particle to weapon
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x28
| BGCOLOR="#FF00C8" | B3 1D 89 BC
| -0.016738
| ALIGN=LEFT | y-offset of particle to weapon
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x2C
| BGCOLOR="#FF00C8" | C5 C1 2A 3F
| 0.667019
| ALIGN=LEFT | z-offset of particle to weapon
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x30
| BGCOLOR="#F0F096" COLSPAN=2 | <TT>w1_tap_e01</TT>
| ALIGN=LEFT | weapon particle (06226-3RAPw1_tap_e01.BINA)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x40
| BGCOLOR="#00C864" | 00 00
| 0
| ALIGN=LEFT | unknown; always zero
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x42
| BGCOLOR="#00C864" | 00 00
| 0
| ALIGN=LEFT | unknown; always zero
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x44
| BGCOLOR="#00C864" | 01 00
| 1
| ALIGN=LEFT | ammo decrement (different for the 2 firing modes of '''w11_ba1''')
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x46
| BGCOLOR="#00C864" | 0C 00
| 12
| ALIGN=LEFT | delay between shots in frames (12 frames = 0.2 seconds)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x48
| BGCOLOR="#00C864" | 04 00
| 4
| ALIGN=LEFT | unknown (looks like another delay)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x4A
| BGCOLOR="#00C864" | 00 00
| 0
| ALIGN=LEFT | unknown, used for '''w4_psm''' and '''w11_ba1''' (looks like another delay)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x4C
| BGCOLOR="#00C864" | 00 00
| 0
| ALIGN=LEFT | &nbsp;0 : particle is fired with '''fire1'''<br> &nbsp;1 : particle is fired with '''fire2'''<br>-1 : particle is triggered by other particles
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x4E
| BGCOLOR="#00C864" | 00 00
| 0
| ALIGN=LEFT | delay before firing
|}
;Transformation matrix
;Transformation matrix
:That's what defines orientation, stretching, etc.
:That's what defines orientation, stretching, etc. See [[OBD:CRSA|CRSA]] for details.
:See [[OBD:CRSA|CRSA]] for details.


==0x6D8 to 0x71F - End of file==
[[Image:onwc_e.gif]]


----
----


==0x6D8 - 0x71F==
{{Table}}
;ENDING
{{OBDth}}
http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/onwc_e.gif
{{OBDtr2|0x6D8 | char[32] |C80040| weapon _empty               | empty weapon sound (reference to 08993-weapon_empty.[[OBD:OSBD/OSIm|imp.OSBD]]) }}
{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0
{{OBDtr| 0x6F8 | offset |FFCD96| 00 00 00 00 | 0             | raw offset to the empty weapon sound; runtime only }}
|- ALIGN=CENTER BGCOLOR="#FFDDBB"
{{OBDtr| 0x6FC | link    |C8C864| 01 81 0E 00 | 3713           | link to 03713-w1_glow.[[TXMP]] }}
!Offset
{{OBDtr| 0x700 | link    |C8C864| 01 82 0E 00 | 3714           | link to 03714-w1_glow_ammo.TXMP }}
!Raw hex
{{OBDtr| 0x704 | float    |0096C8| 00 00 80 3F | 1.000000       | x-scale factor of glow textures }}
!Value
{{OBDtr| 0x708 | float    |0096C8| 00 00 80 3F | 1.000000       | z-scale factor of glow textures }}
!Meaning
{{OBDtr| 0x70C | float    |0096C8| 76 65 EB 3F | 1.839034       | x-offset of pickup handle }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0x710 | float    |0096C8| 96 4C A9 3D | 0.082666       | y-offset of pickup handle }}
|0x6D8
{{OBDtr| 0x714 | float    |0096C8| 06 E2 14 3E | 0.145393       | z-offset of pickup handle }}
| BGCOLOR="#00C8FF" COLSPAN=2 | <TT>weapon _empty</TT>
{{OBDtr| 0x718 | float    |0096C8| 00 00 00 00 | 0.000000       | hovering height of dropped weapon }}
| ALIGN=LEFT | empty weapon sound<BR>(08992-weapon_empty.grp.[[OBD:OSBD|OSBD]])<BR>(08993-weapon_empty.imp.[[OBD:OSBD|OSBD]])
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x6F8
| BGCOLOR="#C80040" | 00 00 00 00
| 0
| ALIGN=LEFT | unknown; always zero
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x6FC
| BGCOLOR="#FFCD96" | 01 '''81 0E''' 00
| 3713
| ALIGN=LEFT | link to 03713-w1_glow.[[OBD:TXMP|TXMP]]
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x700
| BGCOLOR="#FFCD96" | 01 '''82 0E''' 00
| 3714
| ALIGN=LEFT | link to 03714-w1_glow_ammo.[[OBD:TXMP|TXMP]]
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x704
| BGCOLOR="#C8C864" | 00 00 80 3F
| 1.000000
| ALIGN=LEFT | x-scale factor of glow textures
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x708
| BGCOLOR="#C8C864" | 00 00 80 3F
| 1.000000
| ALIGN=LEFT | z-scale factor of glow textures
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x70C
| BGCOLOR="#C8C864" | 76 65 EB 3F
| 1.839034
| ALIGN=LEFT | x-offset of pickup handle
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x710
| BGCOLOR="#C8C864" | 96 4C A9 3D
| 0.082666
| ALIGN=LEFT | y-offset of pickup handle
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x714
| BGCOLOR="#C8C864" | 06 E2 14 3E
| 0.145393
| ALIGN=LEFT | z-offset of pickup handle
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x718
| BGCOLOR="#C8C864" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | hovering height of unheld weapon
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x71C
| BGCOLOR="#0096C8" | AD DE
| dead
| ALIGN=LEFT | blank filler
|}
|}
;Glow textures
;Glow textures
:They're applied to the lower face of the M3GM's bounding box. The factors above are the ratio between the x/z extent of that face and the half-length/width of the glow textures. So if both factors are 0.5, the glow textures fit the bounding box exactly.
:They're applied to the lower face of the M3GM's bounding box. The factors above are the ratio between the x/z extent of that face and the half-length/width of the glow textures. So if both factors are 0.5, the glow textures fit the bounding box exactly.
;Pickup handle
;Pickup handle
:The tolerance is hardcoded. The offsets are not relative to the weapon's axes, but to the world axes (!).
:The tolerance is hardcoded. The offsets are not relative to the weapon's axes, but to the world axes (!). This is a rather nasty "feature" because the offsets should be relative to the weapon's orientation. The way it is now, the pickup volume of a weapon is not necessarily next to the handle. That's why the WMC is so hard to pick up that some players conclude it's not possible; being the largest weapon, it has the largest potential discrepancy between its visual handle location and its pickup volume.
:This is a rather nasty "feature" (actually, the offsets ''should'' be relative to the weapon's orientation)
:The way it's now, the pickup volume of a WMC is not necessarily next to the handle. That's why it's hard to pick up.




----
{{OBD_File_Footer | type=ONWC | prev=ONVL | next=OPge | name=Oni Weapon Class | family=Character}}
----
==Notes==


 
{{OBD}}
----
----
{|align=center
![[OBD:Oni Binary Data|ONI BINARY DATA]]
|-
![[OBD:ONVL|ONVL]] << [[OBD:File types|Other file types]] >> [[OBD:OPge|OPge]]
|-
!ONWC : Oni Weapon Class
|}
281

edits