OBD:ONWC: Difference between revisions

From OniGalore
Jump to navigation Jump to search
Line 580: Line 580:
| BGCOLOR="#FF00C8" | 6F 63 57 40
| BGCOLOR="#FF00C8" | 6F 63 57 40
| 3.365444
| 3.365444
| ALIGN=LEFT | unknown
| ALIGN=LEFT | x-coord of the particle spawn
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x28
|0x28
| BGCOLOR="#FF00C8" | B3 1D 89 BC
| BGCOLOR="#FF00C8" | B3 1D 89 BC
| -0.016738
| -0.016738
| ALIGN=LEFT | unknown
| ALIGN=LEFT | y-coord of the particle spawn
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x2C
|0x2C
| BGCOLOR="#FF00C8" | C5 C1 2A 3F
| BGCOLOR="#FF00C8" | C5 C1 2A 3F
| 0.667019
| 0.667019
| ALIGN=LEFT | unknown
| ALIGN=LEFT | z-coord of the particle spawn
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|0x30
|0x30
Line 636: Line 636:
| ALIGN=LEFT | delay before firing
| ALIGN=LEFT | delay before firing
|}
|}
;Coordinates
:They're in the system of the weapon (x is forward, y is left, z is up)
;Orientation
:The particle seems to be aligned with the x axis by default...
:Hopefully a few of the unknown floats define rotations





Revision as of 03:16, 29 April 2006

ONVL << Other file types >> OPge
ONWC : Oni Weapon Class
Level 0 file
Overview table of all ONCC (27 kB each) :
"," decimals or "." decimals
Struct def for OUP

There's an empty ONWC file in every level, and the 12 actual ONWC files are in level 0.

Example
w1_tap.ONWC (unless specified otherwise)
Structure
  • Chunk with the main weapon data (216 = 0xD8 bytes)
  • Fixed-size array of 2 elements (128 = 0x80 bytes each) for firing modes
  • Fixed-size array of 16 elements (80 = 0x50 bytes each) for weapon particles
  • 68-byte trailing chunk
  • Blank filler (for a total file size of 1824 = 0x720 bytes)



0x00 - 0xD7 : Main part

onwc_a.gif

Hex Translation Meaning
01 75 0E 00 3701 03701-w1_tap.ONWC
01 00 00 00 0 level 0
F5 A4 49 40 3.150693 unknown
F4 2C A5 3B 0.005041 unknown
21 4E D2 3E 0.410752 unknown
23 A6 7F 3F 0.998629 unknown
AA 6C 56 BD -0.052349 unknown
69 66 AA B7 -0.000020 unknown
00 40 9C 45 5000.000000 unknown
00 00 FF FF -65535 unknown
01 94 05 00 1428 link to 01428-target_1A.TXMP
FF FF FF 00 -256 unknown
CD CC 4C 3F 0.800000 unknown
01 95 05 00 1429 link to 01429-target_1B.TXMP
FF FF FF 00 -256 unknown
CD CC 4C 3F 0.800000 unknown
00 00 00 00 not used link to a TXMP file
FF FF FF 00 -256 unknown
00 00 80 3F 1.000000 unknown
0F 00 00 00 15 unknown
00 00 20 41 10.000000 unknown
01 7E 0E 00 3710 link to 03710-tap_icon.TXMP
01 7F 0E 00 3711 link to 03711-tap_empty.TXMP
01 80 0E 00 3712 link to 03712-tap_fill.TXMP
01 76 0E 00 3702 link to 03702-.M3GM
w1_tap name of the weapon
00 00 80 3F 1.000000 unknown
A6 92 2B 3D 0.041888 recoil (e.g. for w1_tap and w2_sap)
92 0A 86 3E 0.261799 unknown
00 00 A0 40 5.000000 unknown
E2 A3 7B 3B 0.003839 unknown
88 C3 E4 3A 0.001745 unknown
00 00 00 00 0.000000 unknown
00 00 00 00 0.000000 unknown
00 00 00 00 0.000000 unknown
00 00 00 00 0.000000 unknown
00 00 00 00 0.000000 unknown
00 00 00 00 0.000000 unknown
00 00 00 00 0.000000 unknown
00 00 00 00 0.000000 unknown
00 00 00 00 0.000000 unknown
00 00 0 unknown; always zero
95 00 149 unknown
A4 00 164 unknown
19 00 25 pause after reload in 1/60 seconds
0A 00 10 amount of shots
06 00 6 amount of particles
01 00 1 amount of firing modes
0A 00 10 pause before reload in 1/60 seconds
04 00 4 unknown
00 00 0 unknown; always zero
30 48 Flags 1 :
1 -  unknown, never used
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 -  unknown, used for w6_vdg
C0 192 Flags 2 :
1 -  unknown, used for w4_psm
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
02 00 2 Flags 3 :
1 -  unknown, never used
2 -  unknown, used for w1_tap, w2_sap, w3_phr and w8_mbo
4 -  unknown, never used
8 -  weapon doesn't fade
16 -  unknown, used for w4_psm
32 -  unknown, never used
64 -  unknown, never used
128 -  unknown, never used



0xD8 - 0x1D7 : Firing modes

There are two 128-byte firing mode slots in every ONWC file.

The actual number of firing modes is specified at 0xCC

0xD8 - 0x157 : Primary firing mode

Offsets are given with respect to the start of the file.

Offset Raw hex Value Meaning
0xD8 00 00 0 unknown
0xDA 00 00 0 unknown; always zero
0xDC 23 A6 7F 3F 0.998629 unknown
0xE0 05 6D 56 3D 0.052350 unknown
0xE4 F4 8D A9 37 0.000020 unknown
0xE8 05 6D 56 BD -0.052350 unknown
0xEC 23 A6 7F 3F 0.998629 unknown
0xF0 D0 1D 0E B5 -0.000001 unknown
0xF4 F4 8D A9 B7 -0.000020 unknown
0xF8 D0 1D 0E B5 -0.000001 unknown
0xFC 00 00 80 3F 1.000000 unknown
0x100 00 00 00 00 0.000000 unknown; always zero
0x104 00 00 00 00 0.000000 unknown; always zero
0x108 00 00 00 00 0.000000 unknown; always zero
0x10C 23 A6 7F 3F 0.998629 unknown
0x110 AE 6C 56 BD -0.052349 unknown
0x114 AF 8D A9 B7 -0.000020 unknown
0x118 DC FE 08 3C 0.008362 unknown
0x11C 5C 11 23 3E 0.159246 unknown
0x120 39 C6 2A 3F 0.667087 unknown
0x124 00 00 61 44 900.000000 range of fire
0x128 00 00 20 41 10.000000 scattering angle ? / slice ?
0x12C 00 00 20 40 2.500000 unknown; always the same
0x130 00 00 96 43 300.000000 unknown
0x134 00 00 40 41 12.000000 unknown
0x138 00 00 61 44 900.000000 unknown
0x13C 05 00 5 unknown; always the same
0x13E 01 00 1 weapon ID
0x140 00 00 00 00 0 unknown
0x144 00 00 00 00 0.000000 unknown
0x148 00 00 00 00 0.000000 unknown
0x14C 00 00 34 43 180.000000 unknown
0x150 00 00 40 40 3.000000 unknown
0x154 50 77 D6 3D 0.104719 unknown

0x158 - 0x1D7 : Secondary firing mode

The only weapon for which these fields are not all zero is w11_ba1.

They are the exact counterparts of the fields at 0xD8 - 0x157.



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.

Offsets are relative to the beginning of a slot.

Offset Raw hex Value Meaning
0x00 AE 6C 56 3D 0.052349 unknown
0x04 23 A6 7F 3F 0.998629 unknown
0x08 C2 53 90 B3 -6.720757e-8 unknown
0x0C 23 A6 7F 3F 0.998629 unknown
0x10 AE 6C 56 BD -0.052349 unknown
0x14 AF 8D A9 B7 -0.000020 unknown
0x18 BA 59 A9 B7 -0.000020 unknown
0x1C 5B 02 85 35 0.000001 unknown
0x20 00 00 80 BF -1.000000 unknown
0x24 6F 63 57 40 3.365444 x-coord of the particle spawn
0x28 B3 1D 89 BC -0.016738 y-coord of the particle spawn
0x2C C5 C1 2A 3F 0.667019 z-coord of the particle spawn
0x30 w1_tap_e01 weapon particle (06226-3RAPw1_tap_e01.BINA)
0x40 00 00 0 unknown; always zero
0x42 00 00 0 unknown; always zero
0x44 01 00 1 ammo decrement (different for the 2 firing modes of w11_ba1)
0x46 0C 00 12 delay between shots in frames (12 frames = 0.2 seconds)
0x48 04 00 4 unknown (looks like another delay)
0x4A 00 00 0 unknown, used for w4_psm and w11_ba1 (looks like another delay)
0x4C 00 00 0 if 1, particle is fired with fire2
0x4E 00 00 0 delay before firing
Coordinates
They're in the system of the weapon (x is forward, y is left, z is up)
Orientation
The particle seems to be aligned with the x axis by default...
Hopefully a few of the unknown floats define rotations



Ending

onwc_e.gif

Offset Raw hex Value Meaning
0x6D8 weapon _empty empty weapon sound
(08992-weapon_empty.grp.OSBD)
(08993-weapon_empty.imp.OSBD)
0x6F8 00 00 00 00 0 unknown; always zero
0x6FC 01 81 0E 00 3713 link to 03713-w1_glow.TXMP
0x700 01 82 0E 00 3714 link to 03714-w1_glow_ammo.TXMP
0x704 00 00 80 3F 1.000000 unknown
0x708 00 00 80 3F 1.000000 unknown
0x70C 76 65 EB 3F 1.839034 unknown
0x710 96 4C A9 3D 0.082666 unknown
0x714 06 E2 14 3E 0.145393 unknown
0x718 00 00 00 00 0.000000 unknown
0x71C AD DE dead blank filler



Notes


ONWC : Oni Weapon Class
ONVL << Other file types >> OPge

Main Page >> Oni Binary Data >> File types >> ONWC