Previous File TypeONWC FILENext File Type
Oni Weapon Class - Level File

All ONWC files are 0 byte files. That means that Oni takes the information out of the ONWC files of level 0. Below is an example of an ONWC file of level 0. The first pic shows the beginning of this file. The second pic the end of it.

(Thanks to geyser who figured nearly all about this file out.)

HexTranslationMeaning
01 75 0E 00370103701-w1_tap.ONWC
01 00 00 000level 0
F5 A4 49 403.150693x-offset of the origin
F4 2C A5 3B0.005041y-offset of the origin
21 4E D2 3E0.410752z-offset of the origin
23 A6 7F 3F0.998629something like the stiffness (try setting it to 0.001 and lower)
AA 6C 56 BD-0.052349additional azimuth
69 66 AA B7-0.000020additional elevation
00 40 9C 455000.000000maximal length of laser sight vector
00 00 FF FF0, 0, 255; 255laser sight color (blue, green, red); laser sight transparency
01 94 05 001428link to 01428-target_1A.TXMP (environment crosshairs texture)
FF FF FF 00255, 255, 255; 0environment crosshairs background color (blue, green, red); transparency
CD CC 4C 3F0.800000environment crosshairs scale factor
01 95 05 001429link to 01429-target_1B.TXMP (character crosshairs texture)
FF FF FF 00255, 255, 255; 0character crosshairs background color (blue, green, red); transparency
CD CC 4C 3F0.800000character crosshairs scale factor
00 00 00 00not usedlink to a TXMP file (tunnel texture); w8_mbo use it as a complement to the crosshairs; w2_sap, w5_sbg, w7_scc and w9_scr use it with no crosshairs
FF FF FF 00255, 255, 255; 0tunnel background color (blue, green, red); transparency
00 00 80 3F1.000000tunnel scale factor
0F 00 00 0015number of tunnel textures
00 00 20 4110.000000spacing of tunnel textures
01 7E 0E 003710link to 03710-tap_icon.TXMP
01 7F 0E 003711link to 03711-tap_empty.TXMP
01 80 0E 003712link to 03712-tap_fill.TXMP
01 76 0E 003702link to 03702-.M3GM
w1_tapname of the weapon
00 00 80 3F1.000000unknown
A6 92 2B 3D0.041888recoil (e.g. for w1_tap and w2_sap)
92 0A 86 3E0.261799unknown
00 00 A0 405.000000unknown
E2 A3 7B 3B0.003839unknown
88 C3 E4 3A0.001745unknown
00 00 00 000.000000unknown
00 00 00 000.000000unknown
00 00 00 000.000000unknown
00 00 00 000.000000unknown
00 00 00 000.000000unknown
00 00 00 000.000000unknown
00 00 00 000.000000unknown
00 00 00 000.000000unknown
00 00 00 000.000000unknown
00 000unknown; always zero
95 00149unknown
A4 00164unknown
19 0025pause after reload in 1/60 seconds
0A 0010amount of shots
06 006amount of used packages (the file contains space for 16 packages)
01 001amount of used firing mode blocks (the file contains space for 2 firing mode blocks)
0A 0010pause before reload in 1/60 seconds
04 00 00 004unknown
3048weapon options 1; it's a bitset; the following bits are possible (values in dec):

0 - none
1 - unknown; never used in Oni
2 - weapon can't be holstered
4 - weapon reloads with energy cells
8 - weapon is a rifle (two-handed)
16 - unknown; used for w1_tap and w2_sap
32 - sustained fire
64 - you can't shoot
128 - stun switcher (see below); used for w6_vdg

C0192weapon options 2; it's a bitset; the following bits are possible (values in dec):

0 - none
1 - stun switcher,see below, used for w6_vdg
2 - unknown; used for w5_sbg and w11_ba1
4 - secondary fire enabled
8 - weapon can't be reloaded
16 - run, jump and creep disabled
32 - unknown; used for w11_ba1
64 - unknown; used for w1_tap, w2_sap and w3_phr
128 - laser sight visible

022weapon options 3; it's a bitset; the following bits are possible (values in dec):

0 - none
1 - unknown; never used in Oni
2 - crosshair scaling; used for w1_tap, w2_sap, w3_phr and w8_mbo
4 - unknown; never used in Oni
8 - weapon doesn't fade
16 - unknown; used for w4_psm
32 - unknown; never used in Oni
64 - unknown; never used in Oni
128 - unknown; never used in Oni

000unused byte; always zero
Below follows the first firing mode block.
00 00 00 000unknown (1 for w9_scr)
23 A6 7F 3F0.998629transform matrix XX
05 6D 56 3D0.052350transform matrix XY
F4 8D A9 370.000020transform matrix XZ
05 6D 56 BD-0.052350transform matrix YX
23 A6 7F 3F0.998629transform matrix YY
D0 1D 0E B5-0.000001transform matrix YZ
F4 8D A9 B7-0.000020transform matrix ZX
D0 1D 0E B5-0.000001transform matrix ZY
00 00 80 3F1.000000transform matrix ZZ
00 00 00 000.000000translation X; always zero
00 00 00 000.000000translation Y; always zero
00 00 00 000.000000translation Z; always zero
23 A6 7F 3F0.998629unknwon; something with angle proportions between firingspread base's angles, the higher you set it the more it is taller than wider; can be seen with *ai2_showfiringspreads=1*
AE 6C 56 BD-0.052349unknown; something with firingspread's aim in the "x,z plane". This value is forcing firingspread to aim more left or more right than weapon is aiming or to even aim firingspread backwards; can be seen with *ai2_showfiringspreads=1*
AF 8D A9 B7-0.000020unknown; something with firingspread's aim in the "y plane". This value is forcing firingspread to aim more up or more down than weapon is aiming or to even aim firingspread backwards; can be seen with *ai2_showfiringspreads=1*
DC FE 08 3C0.008362unknown
5C 11 23 3E0.159246unknown
39 C6 2A 3F0.667087unknown
00 00 61 44900.000000range of fire (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, armed AI stops shooting and runs left too; if you set it 270°, armed AI is performing opposite actions eg. when you run left, armed AI runs right; while running, AI stops shooting)
00 00 20 4110.000000scattering angle ? / slice ? (max. 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 aims weapon again straight to the target, then resume shooting)
00 00 20 402.500000unknown; always the same
00 00 96 43300.000000weapon 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 (threat strong), can be seen with *ai2_showsounds=1* (but you have to be in a large open area, since those ranges are quite big)
00 00 40 4112.000000minimal 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
00 00 61 44900.000000maximal 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
05 005unknown; always the same
01 001weapon ID (used by AI shooting skills)
00 00 00 000fight timer (240 for w4_psm, 200 for v6_vdg)
00 00 00 000.000000unknown; something with grenades (150 for SBG, 160 for WMC)
00 00 00 000.000000unknown; something with grenades (0.5 for SBG, 0.3 for WMC)
00 00 34 43180.000000 length of firingspread which aims from weapon; when AI collides with this firingspread, it tries to dodge/hide of it; can be seen by *ai2_showfiringspreads=1* (180 for w1_tap, 150 for w2_sap, 120 for w4_psm)
00 00 40 403.000000lenght of the firingspread's base side; can be seen by ai2_showfiringspreads=1 (3 for w1_tap, 3 for w2_sap, 10 for w4_psm)
50 77 D6 3D0.104719angle between firingspread's base and its altitude(length); can be seen by ai2_showfiringspreads=1 (0.1 for w1_tap, 0.21 for w2_sap)
Below follows the second firing mode block. (Only w11_ba1 use it.)
00 00 00 000unknown; always zero
00 00 00 000.000000unknown
00 00 00 000.000000unknown; always zero
00 00 00 000.000000unknown; always zero
00 00 00 000.000000unknown; always zero
00 00 00 000.000000unknown
00 00 00 000.000000unknown; always zero
00 00 00 000.000000unknown; always zero
00 00 00 000.000000unknown; always zero
00 00 00 000.000000unknown
00 00 00 000.000000unknown; always zero
00 00 00 000.000000unknown; always zero
00 00 00 000.000000unknown; always zero
00 00 00 000.000000unknown
00 00 00 000.000000unknown
00 00 00 000.000000unknown
00 00 00 000.000000unknown
00 00 00 000.000000unknown
00 00 00 000.000000unknown
00 00 00 000.000000unknown
00 00 00 000.000000unknown; always zero
00 00 00 000.000000unknown
00 00 00 000.000000unknown
00 00 00 000.000000unknown
00 00 00 000.000000unknown; always zero
00 000unknown
00 000unknown
00 00 00 000unknown; always zero
00 00 00 000.000000unknown
00 00 00 000.000000unknown
00 00 00 000.000000unknown; always zero
00 00 00 000.000000unknown; always zero
00 00 00 000.000000unknown; always zero
Below follows the first of 16 particle packages.
AE 6C 56 3D0.052349transformation matrix, xx term
23 A6 7F 3F0.998629transformation matrix, xy term
C2 53 90 B3-0.000000...transformation matrix, xz term
23 A6 7F 3F0.998629transformation matrix, yx term
AE 6C 56 BD-0.052349transformation matrix, yy term
AF 8D A9 B7-0.000020transformation matrix, yz term
BA 59 A9 B7-0.000020transformation matrix, zx term
5B 02 85 350.000001transformation matrix, zy term
00 00 80 BF-1.000000transformation matrix, zz term
6F 63 57 403.365444x-offset of particle to weapon
B3 1D 89 BC-0.016738y-offset of particle to weapon
C5 C1 2A 3F0.667019z-offset of particle to weapon
w1_tap_e01weapon particle (06226-3RAPw1_tap_e01.BINA)
00 00 00 000unknown; always zero
01 001ammo decrement (different for the 2 firing modes of w11_ba1)
0C 0012delay between shots in frames (12 frames = 0.2 seconds)
04 004unknown (looks like another delay)
00 000number in frames for active firing mode (1st frame for activate); used for w4_psm and w11_ba1 (looks like another delay)
00 0000 - particle is fired with fire1
1 - particle is fired with fire2
-1 - particle is triggered by other particles
00 000delay before firing
Below follows the end of the ONWC file.
weapon _emptyempty weapon sound (reference to 08993-weapon_empty.imp.OSBD)
00 00 00 000unknown; always zero
01 81 0E 003713link to 03713-w1_glow.TXMP
01 82 0E 003714link to 03714-w1_glow_ammo.TXMP
00 00 80 3F1.000000x-scale factor of glow textures
00 00 80 3F1.000000y-scale factor of glow textures
76 65 EB 3F1.839034x-offset of pickup handle
96 4C A9 3D0.082666y-offset of pickup handle
06 E2 14 3E0.145393z-offset of pickup handle
00 00 00 000.000000hovering height of unheld weapon
AD DEdeadnot used

-if enemy is inside shooting distance (between min and max) and is knockdowned/stuned or blownuped, AI with this weapon switches to melee for a time specified in a *fight timer* field knockdown switcher - if enemy is inside shooting distance (between min and max) and is knockdowned or blownuped, AI with this weapon switches to melee for a time specified in a *fight timer* field 3-16:I don't know how to call this - If you press and HOLD the fire (mouse1), it ONCE triggers particles for shooting, then drains ammo as if it was sustained fire, but particles are NOT emitted (you just stand and watch as ammo drops). Used by w4_psm, probably because w4 particles works constantly (beam) after triggered. 2-64:I d.k.h.t.c.t.2 - try this: set I don't know how to call this on some weapon, then set this on that weapon too. You will see that once you press the shooting button, it keeps *shooting* (altough you can't see any particles coming) even after you release shooting button. You can't stop it. It keeps shooting until all ammo is drained. So, basically, it works like an automatic hold of the mouse button. P.S.: Someone please think off nice names for those two poor flags :)) --Loser 07:52, 29 July 2007 (CEST)


Here you can download the complete overview of all used different ONWC files as a text file.
Copy it to a spreadsheet calculation program like Excel.


Previous File TypeBack to File TypesNext File Type

Back to main page