OBD:ONCC: Difference between revisions
Jump to navigation
Jump to search
m (→0x3FC) |
m (added something again) |
||
Line 352: | Line 352: | ||
| BGCOLOR="#FFDDDD" | 17 00 00 00 | | BGCOLOR="#FFDDDD" | 17 00 00 00 | ||
| 23 | | 23 | ||
| ALIGN=LEFT | | | ALIGN=LEFT | Startle timer; how many frames from startle animation will be played before AI can fight; if zero, whole startle anim is played; | ||
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD" | |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD" | ||
| 0x12C | | 0x12C | ||
Line 777: | Line 777: | ||
| BGCOLOR="#C5FF8A" | 00 00 80 3F | | BGCOLOR="#C5FF8A" | 00 00 80 3F | ||
| 1.000000 | | 1.000000 | ||
| ALIGN=LEFT | | | ALIGN=LEFT | earshot radius; defines size of the sound-collision sphere around AI | ||
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD" | |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD" | ||
| BGCOLOR="#C0C0C0" | 01 '''FB 03''' 00 | | BGCOLOR="#C0C0C0" | 01 '''FB 03''' 00 |
Revision as of 18:47, 20 May 2007
ONI BINARY DATA |
---|
OFGA << Other file types >> ONCP |
ONCC : Oni Character Class |
Character file |
Struct def for OUP |
Overview @ Oni Stuff |
TXT overviews (672 kB each) : "," decimals or "." decimals |
0x00 - 0x27
The examples provided are konoko_generic.ONCC from level3_Final
Offset | Hex | Translation | Meaning |
---|---|---|---|
0x00 | 01 DF 03 00 | 991 | 00991-konoko_generic.ONCC |
0x04 | 01 00 00 06 | 3 | level 3 |
0x08 | CD CC 0C 3F | 0.550000 | downwards velocity? (unknown, always 0.55) |
0x0C | 8F C2 75 3D | 0.060000 | downward gravity acceleration |
0x10 | CD CC 8C 3F | 1.100000 | starting velocity for a simple (tap) JUMP |
0x14 | 00 00 80 C0 | -4.000000 | limit velocity for jumping and gravity flight |
0x18 | 8F C2 F5 3C | 0.030000 | upward acceleration (jetpack) if you hold JUMP |
0x1C | 07 00 | 7 | gravity timer? (unknown, always 7) |
0x1E | 14 00 | 20 | jetpack timer; time during which you can use the jetpack |
0x20 | 00 00 34 42 | 45.000000 | maximal falling height without damage |
0x24 | 00 00 07 43 | 135.000000 | maximal falling height with damage |
- Units
- times are in frames
- heights are in world units
- velocities are in world units per frames
- accelerations are in world units per frames squared
- Downwards velocity
- could correspond to the steady push experienced when neither jumping nor falling
- would be roughly equivalent to the starting velocity of a fall
- although the value .55 seems right, the "sinking" seems to be hardcoded now
- Gravity timer
- Seems to be hardcoded now (could be the time until gravity switches on)
- Jetpack timer
- You can press JUMP multiple times during the time window (quite fun!)
- Falling height
- let FH1 be the height at 0x20
- let FH2 be the height at 0x24
- let BH be the base health of the character
- let FH be the actual falling height
- then, if FH > FH2, the character is killed
- if FH < FH1, the character takes no damage
- if FH1 < FH < FH2, the character takes damage (FH - FH1) / (FH2 - FH1) * BH
0x28-0x4B
0x28 | 01 F8 03 00 | 1016 | link to 01016-shadow1.TXMP |
0x2C | 00 00 40 41 | 12.000000 | height where the shadow fades out completely |
0x30 | 00 00 00 41 | 8.000000 | height where the diameter of the shadow decreases and the shadow fades out half |
0x34 | 00 00 C0 40 | 6.000000 | height where the diameter of the shadow decreases |
0x38 | 00 00 90 40 | 4.500000 | height where the diameter of the shadow decreases |
0x3C | 00 00 40 40 | 3.000000 | height where the diameter of the shadow decreases |
0x40 | 30 00 | 48 | transparency of the shadow for the first part of a jump |
0x42 | 30 00 | 48 | transparency of the shadow for the second part of a jump |
0x44 | 00 00 C8 41 | 25.000000 | unknown; always the same |
0x48 | 16 | 22 | unknown |
0x49 | 06 | 6 | unknown; always the same |
0x4A | AD DE | dead | blank filler (always there) |
0x4C-0x67
0x4C | 00 00 20 42 | 40.000000 | unknown; always the same |
0x50 | 00 00 96 43 | 300.000000 | unknown; always the same |
0x54 | 35 FA 8E 3C | 0.017453 | unknown; always the same |
0x58 | DB 0F C9 3F | 1.570796 | unknown; always the same |
0x5C | 00 00 A0 40 | 5.000000 | unknown; always the same |
0x60 | 00 00 80 3F | 1.000000 | unknown; always the same |
0x64 | 06 00 | 6 | (inverse) hypo regeneration rate in frames per hitpoint |
0x66 | AD DE | dead | blank filler (always there) |
- Hypo regeneration
- 1 hitpoint per 6 frames is 10 hitpoints per second
- (same setting for all characters)
0x68-0x91
0x68 | 00 10 3D 48 | 193600.000000 | unknown; always the same |
0x6C | 00 10 3D 47 | 48400.000000 | unknown; always the same |
0x70 | 00 10 3D 46 | 12100.000000 | unknown; always the same |
0x74 | 00 00 00 00 | 0.000000 | unknown; always the same |
0x78 | 00 00 00 00 | 0.000000 | unknown; always the same |
0x7C | 23 00 | 35 | unknown; always the same |
0x7E | 5A 00 | 90 | unknown; always the same |
0x80 | 0F 00 | 15 | unknown; always the same |
0x82 | 78 00 | 120 | unknown; always the same |
0x84 | 23 00 | 35 | unknown; always the same |
0x86 | 01 00 | 1 | unknown; always the same |
0x88 | 02 00 | 2 | unknown; always the same |
0x8A | 64 00 | 100 | unknown; always the same |
0x8C | 0A 00 | 10 | unknown; always the same |
0x8E | 0C 00 | 12 | unknown; always the same |
0x90 | 16 00 | 22 | unknown; always the same |
0x92-0x127
0x92 | 00 | 0 | runtime only: if 1 sound pointers have been set |
0x93 | DE | dead | blank filler (always there) |
0x94 | 00 00 00 3F | 0.500000 | unknown; always the same (sound volume?) |
0x98 | konoko_hurt_light + null char + blank filler |
hurt light sound (08121-konoko_hurt_light.imp.OSBD of level 0) | |
0xB8 | konoko_hurt_medium + null char + blank filler |
hurt medium sound (08123-konoko_hurt_medium.imp.OSBD of level 0) | |
0xD8 | konoko_hurt_heavy + null char + blank filler |
hurt heavy sound (08119-konoko_hurt_heavy.imp.OSBD of level 0) | |
0xF8 | konoko_death + null char + blank filler |
death sound (08115-konoko_death.imp.OSBD of level 0) | |
0x118 | 00 00 00 00 | 0 | runtime only: pointer to hurt light sound |
0x11C | 00 00 00 00 | 0 | runtime only: pointer to hurt medium sound |
0x120 | 00 00 00 00 | 0 | runtime only: pointer to hurt heavy sound |
0x124 | 00 00 00 00 | 0 | runtime only: pointer to death sound |
0x128-0x137
0x128 | 17 00 00 00 | 23 | Startle timer; how many frames from startle animation will be played before AI can fight; if zero, whole startle anim is played; |
0x12C | 00 00 80 3F | 1.000000 | AI rotation speed factor |
0x130 | 06 00 | 6 | unknown |
0x132 | 18 00 | 24 | unknown |
0x134 | 0F 00 | 15 | unknown |
0x136 | 00 00 | 0 | unknown; always the same |
- AI rotation speed factor
- reference rotation speed is about 1 turn (360�) per second
- the setting is only effective if the AI is in control
- so it's a bit like the AI's mouse sensitivity :)
- (thanks to Loser)
0x138 - 0x15B
0x138 | 00 00 80 3F | 1.000000 | unknown |
0x13C | 00 00 80 3F | 1.000000 | unknown |
0x140 | 00 00 00 3F | 0.500000 | unknown; always the same |
0x144 | 00 00 C8 41 | 25.000000 | unknown; always the same |
0x148 | 00 00 80 3F | 1.000000 | unknown; always the same |
0x14C | 00 00 00 00 | 0 | unknown |
0x150 | 05 00 00 00 | 5 | unknown |
0x154 | 0F 00 00 00 | 15 | unknown |
0x158 | 3C 00 00 00 | 60 | unknown |
0x15C - 0x293
- SHOOTING SKILLS
These can be reviewed with e.g. ai2_skill_select konoko_generic w1_tap and then either ai2_skill_show (prints to console) or ai2_skill_save (prints to file)
- Fields
- recoil compensation amount, between 0 and 1 (float)
- best aiming angle, in radians (float)
- shot grouping error (float)
- shot grouping decay (float)
- shooting inaccuracy multiplier (float)
- minimum delay between shots, in frames (short)
- maximum delay between shots, in frames (short)
The first weapon (weapon 0) is not in the game anymore, whatever that was. Muro's thunderbolt is handled as animation-bound particles, although it used to be handled as a weapon (same for Mukade's ball, except w10_sni is still available) (w12_ba2 and w11_ba1 are a bit mixed up : the beam is made of w12_ba2 particles, and the grenade is a w11_ba1 particle...)
See screenshot for the raw hex (example is konoko_generic from level3_Final)
Weapon | Offset | recoil | bestangle | error | decay | inaccuracy | delays |
---|---|---|---|---|---|---|---|
w0_sec | 0x15C/0x173 | 0.0 | 0.000000 | 0.00 | 1.0 | 1.0 | 0 - 0 |
w1_tap | 0x174/0x18B | 0.0 | 0.000000 | 0.40 | 0.4 | 0.0 | 30 - 45 |
w2_sap | 0x18C/0x193 | 0.3 | 0.013962 | 0.13 | 1.0 | 1.0 | 0 - 0 |
w3_phr | 0x194/0x20B | 0.3 | 0.010472 | 0.05 | 0.5 | 1.0 | 0 - 0 |
w4_psm | 0x20C/0x213 | 0.3 | 0.015707 | 0.03 | 0.2 | 1.0 | 0 - 0 |
w5_sbg | 0x214/0x22B | 0.3 | 0.001745 | 0.00 | 0.1 | 1.0 | 0 - 0 |
w6_vdg | 0x22C/0x233 | 0.3 | 0.001745 | 0.13 | 0.9 | 1.0 | 0 - 0 |
w7_scc | 0x234/0x24B | 0.3 | 0.001745 | 0.05 | 0.1 | 1.0 | 0 - 0 |
w8_mbo | 0x24C/0x253 | 0.3 | 0.005236 | 0.01 | 0.5 | 1.0 | 0 - 0 |
w9_scr | 0x254/0x26B | 0.3 | 0.010472 | 0.04 | 0.5 | 1.0 | 0 - 0 |
w10_sni | 0x26C/0x273 | 0.0 | 0.000000 | 0.00 | 1.00 | 1.00 | 0 - 0 |
w11_ba1 | 0x274/0x28B | 0.0 | 0.000000 | 0.00 | 1.0 | 1.0 | 0 - 0 |
w12_ba2 | 0x28B/0x293 | 0.0 | 0.000000 | 0.00 | 1.0 | 1.0 | 0 - 0 |
0x294 - 0x2AF
0x294 | 5A 00 00 00 | 90 | unknown; always the same |
0x298 | F0 00 00 00 | 240 | unknown; always the same |
0x29C | B4 00 00 00 | 180 | unknown; always the same |
0x2A0 | 28 00 00 00 | 40 | unknown; always the same |
0x2A4 | 37 00 00 00 | 55 | unknown |
0x2A8 | 3C 00 00 00 | 60 | unknown |
0x2AC | 00 00 | 0 | unknown |
0x2AE | 16 00 | 22 | unknown |
0x2B0-0x3FB
0x2B0 | 64 | 100 | "taunt" sound slot is used |
0x2B1 | 00 | 0 | "alert" sound slot is empty |
0x2B2 | 00 | 0 | "startle" sound slot is empty |
0x2B3 | 00 | 0 | "checkbody" sound slot is empty |
0x2B4 | 00 | 0 | "pursue" sound slot is empty |
0x2B5 | 00 | 0 | "cower" sound slot is empty |
0x2B6 | 64 | 100 | "superpunch" sound slot is used |
0x2B7 | 64 | 100 | "superkick" sound slot is used |
0x2B8 | 00 | 0 | "super3" sound slot is empty |
0x2B9 | 00 | 0 | "super4" sound slot is empty (always the same) |
0x2BA | 00 00 | 0 | probably a blank filler (always the same) |
0x2BC | c17_99_28konoko | "taunt" sound (04760-c17_99_28konoko.aif.SNDD of level 0) | |
0x2DC | not used | "alert" sound | |
0x2FC | not used | "startle" sound | |
0x31C | not used | "checkbody" sound | |
0x33C | not used | "pursue" sound | |
0x35C | not used | "cower" sound | |
0x37C | c18_79_14konoko | "superpunch" sound (04766-c18_79_14konoko.aif.SNDD of level 0) | |
0x39C | c18_79_15konoko | "superkick" sound (04767-c18_79_15konoko.aif.SNDD of level 0) | |
0x3BC | not used | "super3" sound (only the superninja uses this slot) | |
0x3DC | not used | "super4" sound (never used in Oni) |
0x3FC
00 80 ED 43 | 475.000000 | central vision field range; you can make it visible with the script command ai2_showvision = 1 (light blue one) |
00 00 16 43 | 150.000000 | peripheral vision field range; you can make it visible with the script command ai2_showvision = 1 (dark blue one) |
7D 1B 44 3F | 0.766044 | horizontal angle between two couples of "eye-rays" (one couple is left, one if right eye). Works for both vision fields. |
F3 B3 51 3F | 0.819152 | vision field curve for central vision field; vision field looks like something between cone and cylinder. This value affect central angle of that. The higher this value is, the more is this field wrapped in order to achieve shaper angle. When set lower, vision field unwraps totally and it looks like radar antenna ^_^, attached to character by two couples of straight strings(one couple left, one right). |
E8 D5 12 3F | 0.573576 | vertical angle between eye-rays in one couple; this is for central vision field |
D5 D0 31 3E | 0.173648 | vision field curve for peripheral vision field |
6B 61 D8 BE | 0.422618 | vertical angle between eye-rays in one couple; this is for peripheral vision field |
B4 00 00 00 | 180 | unknown; always the same |
84 03 00 00 | 900 | unknown; always the same |
10 0E 00 00 | 3600 | unknown; always the same |
10 0E 00 00 | 3600 | unknown; always the same |
50 46 00 00 | 18000 | unknown; always the same |
A0 8C 00 00 | 36000 | unknown; always the same |
00 00 80 3F | 1.000000 | earshot radius; defines size of the sound-collision sphere around AI |
01 FB 03 00 | 1019 | link to 01019-konoko.ONCV : defines variants and upgrades |
01 F9 03 00 | 1017 | link to 01017-.ONCP : lists the particles available for this character (trails, flashes, etc) |
01 FA 03 00 | 1018 | link to 01018-.ONIA : lists the special impact sounds (used for special combat moves) |
00 00 00 00 | 0 | unknown; always the same |
Light | modifier; either hardcoded or defunct (only visible in pm_mod_type.WMM_, level 0) edit: WMDD says: Effects found for Impact x on Material y with Modifier: pm_mod_types | |
Footstep_Walk | walk impact (04124-Footstep_Walk.Impt of level 0); always the same; without the impacts you can't hear the steps of a character | |
FF FF | 65535 | unknown; always the same |
Footstep_RunMain | run impact (04129-Footstep_RunMain.Impt of level 0); always the same | |
FF FF | 65535 | unknown; always the same |
Footstep_Crouch | crouch impact (04123-Footstep_Crouch.Impt of level 0); always the same | |
FF FF | 65535 | unknown; always the same |
Fall_Slide | fall slide impact (04122-Fall_Slide.Impt of level 0); always the same | |
FF FF | 65535 | unknown; always the same |
Fall_Land | fall land impact (04119-Fall_Land.Impt of level 0); always the same | |
FF FF | 65535 | unknown; always the same |
Fall_LandHard | land hard impact (04120-Fall_LandHard.Impt of level 0); always the same | |
FF FF | 65535 | unknown; always the same |
Fall_Knockdown | fall knockdown impact (04118-Fall_Knockdown.Impt of level 0); always the same | |
FF FF | 65535 | unknown; always the same |
Fall_Knockdown | fall knockdown impact (04118-Fall_Knockdown.Impt of level 0); always the same | |
FF FF | 65535 | unknown; always the same |
Fall_Knockdown | fall knockdown impact (04118-Fall_Knockdown.Impt of level 0); always the same | |
FF FF | 65535 | unknown; always the same |
Footstep_Turn | turn impact (04135-Footstep_Turn.Impt of level 0); always the same | |
FF FF | 65535 | unknown; always the same |
Footstep_RunStart | run start impact (04131-Footstep_RunStart.Impt of level 0); always the same | |
FF FF | 65535 | unknown; always the same |
Footstep_SingleStep | single step impact (04134-Footstep_SingleStep.Impt of level 0); always the same | |
FF FF | 65535 | unknown; always the same |
Footstep_RunStop | run stop impact (04133-Footstep_RunStop.Impt of level 0); always the same | |
FF FF | 65535 | unknown; always the same |
Footstep_WalkStop | walk stop impact (04137-Footstep_WalkStop.Impt of level 0); always the same | |
FF FF | 65535 | unknown; always the same |
Footstep_RunSprint | run fast impact (04130-Footstep_RunSprint.Impt of level 0); always the same | |
FF FF | 65535 | unknown; always the same |
00 00 | 0 | unknown; always the same |
not used | special death particles; only the mad bomber use it | |
00 00 00 00 | 0 | unknown; always the same |
00 00 00 00 | 0 | unknown; always the same |
01 E6 03 00 | 998 | link to 00998-konoko_body_high.TRBS |
01 E7 03 00 | 999 | link to 00999-konoko002_high_texture_generic.TRMA |
01 E8 03 00 | 1000 | link to 01000-.CBPM |
01 EC 03 00 | 1004 | link to 01004-.CBPI |
2C 01 00 00 | 300 | fight mode timer in 1/60 seconds |
30 75 00 00 | 30000 | 1st idle animation timer in 1/60 seconds (Thanks to Loser for this info.) |
30 75 00 00 | 30000 | 2nd idle animation timer in 1/60 seconds (Thanks to Loser for this info.) |
C8 00 00 00 | 200 | basic health of the character model; extra health informations for every unique character you'll find in the Character.BINA file |
48 00 00 00 | 72 | unknown; always the same |
00 00 80 3F | 1.000000 | minimal body size factor (Thanks to geyser for this info.) |
00 00 80 3F | 1.000000 | maximal body size factor (Thanks to geyser for this info.) |
00 00 00 00 | 0.000000 | unknown; always the same |
00 00 00 00 | 0.000000 | unknown; always the same |
00 00 00 3F | 0.500000 | unknown |
00 00 80 3E | 0.250000 | unknown |
00 00 00 00 | 0.000000 | unknown; always the same |
00 00 00 00 | 0.000000 | unknown; always the same |
00 00 00 00 | 0.000000 | unknown; always the same |
00 00 00 3F | 0.500000 | unknown |
01 F6 03 00 | 1014 | link to 01014-konoko_animations.TRAC |
01 F7 03 00 | 1015 | link to 01015-konoko_screens.TRSC |
1E 00 | 30 | unknown; always the same |
00 00 | 0 | time between death and deletion, in frames (about 3 seconds for mad bomber) |
00 | 0 | unknown |
01 | 1 | unknown |
00 | 0 | unknown |
00 | 0 | unknown |
AD DE AD DE | dead | not used; always the same |
- Last 4 bytes before the blank filler
- Something to do with left-hand/right-hand aiming (must be consistent with TRSC link)
Overview table
Maybe split it up and insert the pieces after every section's header.
ONI BINARY DATA |
---|
OFGA << Other file types >> ONCP |
ONCC : Oni Character Class |