OBD:ONCC
Main Page >> Oni Binary Data >> File types >> ONCC
| ONCC : Oni Character Class | 
|---|
| Character file | 
| The example provided is konoko_generic.ONCC from level3_Final | 
0x00-0x27
| 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 | unknown; always the same (affects midair control? probably not) | 
| 0x0C | 8F C2 75 3D | 0.060000 | gravity acceleration | 
| 0x10 | CD CC 8C 3F | 1.100000 | height prefactor for the simple jump (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 during a jump (hold JUMP) | 
| 0x1C | 07 00 | 7 | unknown; always the same (similar to 0x1E ?) | 
| 0x1E | 14 00 | 20 | affects the length of the dashing jump | 
| 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
 - heights are in world units
 - velocities are in world units per frames
 - accelerations are in world units per frames squared
 - 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 | hypo regeneration rate (always 1 HP / 6 frames) | 
| 0x66 | AD DE | dead | blank filler (always there) | 
- Hypo regeneration
 - 1 hitpoint per 6 frames is 10 hitpoints per second
 
0x68-0x93
| 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 | 00 | 0 | unknown; always the same | 
| 0x93 | DE | dead | blank filler (always there) | 
0x94-0x117
| 00 00 00 3F | 0.500000 | unknown; always the same (sound volume?) | 
| konoko_hurt_light + null char + blank filler  | 
hurt light sound (08121-konoko_hurt_light.imp.OSBD of level 0)  | |
| konoko_hurt_medium + null char + blank filler  | 
hurt medium sound (08123-konoko_hurt_medium.imp.OSBD of level 0)  | |
| konoko_hurt_heavy + null char + blank filler  | 
hurt heavy sound (08119-konoko_hurt_heavy.imp.OSBD of level 0)  | |
| konoko_death + null char + blank filler  | 
death sound (08115-konoko_death.imp.OSBD of level 0)  | |
0x118-0x137
| 00 00 00 00 | 0 | unknown; always the same | 
| 00 00 00 00 | 0 | unknown; always the same | 
| 00 00 00 00 | 0 | unknown; always the same | 
| 00 00 00 00 | 0 | unknown; always the same | 
| 17 00 00 00 | 23 | unknown | 
| 00 00 80 3F | 1.000000 | rotation factor (rotation factor * 360 degrees = possible rotation per frame (or per animation)) (Thanks to Loser for this info.) | 
| 06 00 | 6 | unknown | 
| 18 00 | 24 | unknown | 
| 0F 00 | 15 | unknown | 
| 00 00 | 0 | unknown; always the same | 
0x138
| 00 00 80 3F | 1.000000 | unknown | 
| 00 00 80 3F | 1.000000 | unknown | 
| 00 00 00 3F | 0.500000 | unknown; always the same | 
| 00 00 C8 41 | 25.000000 | unknown; always the same | 
| 00 00 80 3F | 1.000000 | unknown; always the same | 
| 00 00 00 00 | 0 | unknown | 
| 05 00 00 00 | 5 | unknown | 
| 0F 00 00 00 | 15 | unknown | 
| 3C 00 00 00 | 60 | unknown | 
| 00 00 00 00 | 0.000000 | unknown | 
| 00 00 00 00 | 0.000000 | unknown | 
| 00 00 00 00 | 0.000000 | unknown; always the same | 
| 00 00 80 3F | 1.000000 | unknown | 
| 00 00 80 3F | 1.000000 | unknown; always the same | 
| 00 00 00 00 | 0.000000 | unknown; always the same | 
| 00 00 00 00 | 0.000000 | unknown | 
| 00 00 00 00 | 0.000000 | unknown | 
| CD CC CC 3E | 0.400000 | unknown | 
| CD CC CC 3E | 0.400000 | unknown | 
| 00 00 00 00 | 0.000000 | unknown | 
| 1E 00 | 30 | unknown; always the same | 
| 2D 00 | 45 | unknown; always the same | 
| 9A 99 99 3E | 0.300000 | unknown | 
| A1 C1 64 3C | 0.013962 | unknown | 
| B8 1E 05 3E | 0.130000 | unknown; always the same | 
| 00 00 80 3F | 1.000000 | unknown | 
| 00 00 80 3F | 1.000000 | unknown | 
| 00 00 00 00 | 0.000000 | unknown; always the same | 
| 9A 99 99 3E | 0.300000 | unknown | 
| D9 91 2B 3C | 0.010472 | unknown | 
| CD CC 4C 3D | 0.050000 | unknown; always the same | 
| 00 00 00 3F | 0.500000 | unknown | 
| 00 00 80 3F | 1.000000 | unknown | 
| 00 00 00 00 | 0.000000 | unknown; always the same | 
| 9A 99 99 3E | 0.300000 | unknown; always the same | 
| A1 AC 80 3C | 0.015707 | unknown | 
| 8F C2 F5 3C | 0.030000 | unknown | 
| CD CC 4C 3E | 0.200000 | unknown | 
| 00 00 80 3F | 1.000000 | unknown | 
| 00 00 00 00 | 0.000000 | unknown; always the same | 
| 9A 99 99 3E | 0.300000 | unknown | 
| 81 C3 E4 3A | 0.001745 | unknown | 
| 00 00 00 00 | 0.0000000 | unknown | 
| CD CC CC 3D | 0.100000 | unknown | 
| 00 00 80 3F | 1.000000 | unknown | 
| 00 00 00 00 | 0.000000 | unknown; always the same | 
| 9A 99 99 3E | 0.300000 | unknown; always the same | 
| 81 C3 E4 3A | 0.001745 | unknown | 
| B8 1E 05 3E | 0.130000 | unknown | 
| 66 66 66 3F | 0.900000 | unknown | 
| 00 00 80 3F | 1.000000 | unknown; always the same | 
| 00 00 00 00 | 0.000000 | unknown; always the same | 
| 9A 99 99 3E | 0.300000 | unknown | 
| 81 C3 E4 3A | 0.001745 | unknown | 
| CD CC 4C 3D | 0.050000 | unknown | 
| CD CC CC 3D | 0.100000 | unknown; always the same | 
| 00 00 80 3F | 1.000000 | unknown | 
| 00 00 00 00 | 0.000000 | unknown; always the same | 
| 9A 99 99 3E | 0.300000 | unknown | 
| 73 92 AB 3B | 0.005236 | unknown | 
| 0A D7 23 3C | 0.010000 | unknown | 
| 00 00 00 3F | 0.500000 | unknown | 
| 00 00 80 3F | 1.000000 | unknown | 
| 00 00 00 00 | 0.000000 | unknown; always the same | 
| 9A 99 99 3E | 0.300000 | unknown | 
| D9 91 2B 3C | 0.010472 | unknown | 
| 0A D7 23 3D | 0.040000 | unknown | 
| 00 00 00 3F | 0.500000 | unknown | 
| 00 00 80 3F | 1.000000 | unknown | 
| 00 00 00 00 | 0.000000 | unknown; always the same | 
| 00 00 00 00 | 0.000000 | unknown | 
| 00 00 00 00 | 0.000000 | unknown | 
| 00 00 00 00 | 0.000000 | unknown; always the same | 
| 00 00 80 3F | 1.000000 | unknown | 
| 00 00 80 3F | 1.000000 | unknown; always the same | 
| 00 00 00 00 | 0.000000 | unknown; always the same | 
| 00 00 00 00 | 0.000000 | unknown | 
| 00 00 00 00 | 0.000000 | unknown | 
| 00 00 00 00 | 0.000000 | unknown; always the same | 
| 00 00 80 3F | 1.000000 | unknown | 
| 00 00 80 3F | 1.000000 | unknown; always the same | 
| 00 00 00 00 | 0.000000 | unknown; always the same | 
| 00 00 00 00 | 0.000000 | unknown | 
| 00 00 00 00 | 0.000000 | unknown | 
| 00 00 00 00 | 0.000000 | unknown; always the same | 
| 00 00 80 3F | 1.000000 | unknown | 
| 00 00 80 3F | 1.000000 | unknown; always the same | 
| 00 00 00 00 | 0.000000 | unknown; always the same | 
| 5A 00 00 00 | 90 | unknown; always the same | 
| F0 00 00 00 | 240 | unknown; always the same | 
| B4 00 00 00 | 180 | unknown; always the same | 
| 28 00 00 00 | 40 | unknown; always the same | 
| 37 00 00 00 | 55 | unknown | 
| 3C 00 00 00 | 60 | unknown | 
| 00 00 | 0 | unknown | 
| 16 00 | 22 | unknown | 
| 64 | 100 | sound used | 
| 00 | 0 | sound not used | 
| 00 | 0 | sound not used | 
| 00 | 0 | sound not used | 
| 00 | 0 | sound not used | 
| 00 | 0 | sound not used | 
| 64 | 100 | sound used | 
| 64 | 100 | sound used | 
| 00 | 0 | sound not used | 
| 00 | 0 | sound not used; always the same | 
| 00 00 | 0 | unknown; always the same | 
| c17_99_28konoko | taunt sound (04760-c17_99_28konoko.aif.SNDD of level 0) | |
| not used | "who's there?" sound | |
| not used | "I see you" sound | |
| not used | "you lose" sound | |
| not used | "where are you?" sound | |
| not used | "why is this happening?" sound | |
| c18_79_14konoko | punch heavy sound (04766-c18_79_14konoko.aif.SNDD of level 0) | |
| c18_79_15konoko | kick heavy sound (04767-c18_79_15konoko.aif.SNDD of level 0) | |
| not used | unknown; only the superninja use it; it's another c18_79 sound | |
| not used | unknown; never used in Oni; maybe it's for the unused c18_71 sounds | |
| 00 80 ED 43 | 475.000000 | eyeshot; you can make it visible with the script command ai2_showvision = 1 | 
| 00 00 16 43 | 150.000000 | earshot; you can make it visible with the script command ai2_showvision = 1 | 
| 7D 1B 44 3F | 0.766044 | unknown | 
| F3 B3 51 3F | 0.819152 | unknown | 
| E8 D5 12 3F | 0.573576 | unknown | 
| D5 D0 31 3E | 0.173648 | unknown; always the same | 
| 6B 61 D8 BE | 0.422618 | unknown; always the same | 
| 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 | unknown; always the same | 
| 01 FB 03 00 | 1019 | link to 01019-konoko.ONCV | 
| 01 F9 03 00 | 1017 | link to 01017-.ONCP; you can set all to zero, Oni doesn't need it | 
| 01 FA 03 00 | 1018 | link to 01018-.ONIA; you can set all to zero, Oni doesn't need it | 
| 00 00 00 00 | 0 | unknown; always the same | 
| Light | unknown; maybe the weight | |
| 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 | unknown; only the mad bomber use it | 
| 00 | 0 | unknown | 
| 01 | 1 | unknown | 
| 00 | 0 | unknown | 
| 00 | 0 | unknown | 
| AD DE AD DE | dead | not used; always the same | 
Overview table
Maybe split it up and insert the pieces after every section's header.
Copy it to a spreadsheet calculation program like Excel.
Main Page >> Oni Binary Data >> File types >> ONCC File