XML:ONCC
Jump to navigation
Jump to search
The xml code on this page is based on onisplit v0.9.61.0 |
ONCC: Oni character class
general information
- ONCP, ONIA, OBPI and OBPM are part of ONCC*.oni files.
- ONCC files can be found in Edition/GameDataFolder/level0_Final
- The XML tags are more or less self-explanatory - if not, look at the hex page.
Things that still need deeper explanation:
- <CoverConstants>
- <AutoFreezeConstants>
- <LODConstants>
<AirConstants>
<FallGravity> | downwards velocity? (always 0.55) |
<JumpGravity> | downward gravity acceleration |
<JumpStartVelocity> | starting velocity for a simple (tap) JUMP |
<MaxVelocity> | limit velocity for jumping and gravity flight |
<JetpackAcceleration> | upward acceleration (jetpack) if you hold JUMP |
<FramesFallGravity> | upward acceleration (jetpack) if you hold JUMP |
<JetpackTimer> | time during which you can use the jetpack |
<MaxNoDamageFallingHeight> | maximal falling height without damage |
<MaxDamageFallingHeight> | 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
<ShadowConstants>
<Texture> | shadow texture (TXMP) |
<MaxHeight> | height where the shadow fades out completely |
<FadeHeight> | |
<SizeMax> | |
<SizeFade> | |
<SizeMin> | |
<AlphaMax> | transparency of the shadow for the first part of a jump |
<AlphaFade> | transparency of the shadow for the second part of a jump |
<JumpConstants>
<JumpDistance> | |
<JumpHeight> | |
<JumpDistanceSquares> |
<CoverConstants>
<RayIncrement> | always the same (40) |
<RayMax> | always the same (300) |
<RayAngle> | always the same (0.017453 = PI/180) |
<RayAngleMax> | always the same (1.57 = PI/2) |
<AutoFreezeConstants>
<DistanceXZ> | always the same (5) |
<DistanceY> | always the same (1) |
<InventoryConstants>
<HypoRegenerationRate> | (inverse) hypo regeneration rate in frames per health point; overhealth regeneration rate is not affected by this
if rate = 60; if a hypo restores 50HP then we get 60/1 * 50 = 3000 frames (50s) |
<LODConstants>
<Float> | always the same; (193600) this is 440 squared |
<Float> | always the same; (48400) this is 220 squared |
<Float> | always the same; (12100) this is 110 squared |
<Float> | always the same; (0) |
<Float> | always the same; (0) |
<HurtSoundConstants>
<BasePercentage> | |
<MaxPercentage> | |
<PercentageThreshold> | |
<Timer> | |
<MinTimer> | |
<MaxLight> | |
<MaxMedium> | |
<DeathChance> | |
<VolumeTreshold> | |
<MediumTreshold> | |
<HeavyTreshold> | |
<MinVolume> | |
<LightSound> | |
<MediumSound> | |
<HeavySound> | |
<DeathSound> |
<AIConstants>
<Flags> |
|
<RotationSpeed> | |
<DazedMinFrames> | |
<DazedMaxFrames> | |
<DodgeReactFrames> | |
<DodgeTimeScale> | |
<DodgeWeightScale> | |
see <Targeting> | |
see <WeaponSkills> | |
<DeadMakeSureDelay> | |
<InvestigateBodyDelay> | |
<LostContactDelay> | |
<DeadTauntChance> | |
<GoForGunChance> | |
<RunPickupChance> | |
<CombatId> | |
<MeleeId> | |
see SNDD talk page | |
<HostileThreatDefiniteTimer> | |
<HostileThreatStrongTimer> | |
<HostileThreatWeakTimer> | |
<FriendlyThreatDefiniteTimer> | |
<FriendlyThreatStrongTimer> | |
<FriendlyThreatWeakTimer> | |
<EarshotRadius> |
<Targeting>
<StartleMissAngle> | |
<StartleMissDistance> | |
<PredictAmount> | |
<PredictPositionDelayFrames> | |
<PredictDelayFrames> | |
<PredictVelocityFrames> | |
<PredictTrendFrames> |
<WeaponSkills>
<RecoilCompensation> | |
<BestAimingAngle> | |
<ShotGroupError> | |
<ShotGroupDecay> | |
<ShootingInaccuracyMultiplier> | |
<MinShotDelay> | |
<MaxShotDelay> |
<VisionConstants>
<CentralDistance> | |
<PeripheralDistance> | |
<VerticalRange> | |
<CentralRange> | |
<CentralMax> | |
<PeripheralRange> | |
<PeripheralMax> |
ONCV, death particle, TRBS, TRMA, TRAC, TRAS, health, daodan, etc.
<Variant> | ONCV name |
<Particles> | ONCP instance number |
<Impacts> | ONIA instance number |
<ImpactModifierName> | |
<Impacts> | Holds a lot <ONCCImpact><Name>...</Name></ONCCImpact> |
<DeathParticle> | |
<BodySet> | TRBS file |
<BodyTextures> | TRMA file |
<BodyMaterials> | CBPM instance number |
<BodyImpacts> | CBPI instance number |
<FightModeTimer> | |
<IdleAnimation1Timer> | |
<IdleAnimation2Timer> | |
<Health> | |
<FeetBones> | |
<MinBodySizeFactor> | |
<MaxBodySizeFactor> | |
<DamageFactors> | |
<BossShieldProtectAmount> | |
<Animations> | |
<AimingScreens> | |
<AIRateOfFire> | |
<DeathDeleteDelay> | |
<WeaponHand> | |
<HasDaodanPowers> | |
<HasSupershield> | |
<CantTouchThis> |
ONCP: character particle
- ONCP is used for giving particle to animations. Search for "Particles" tag in TRAM file.
XML structure
<ONCP id="3"> <Particles> <ONCPParticle> <Name>...</Name> <Type>...</Type> <BodyPart>...</BodyPart> </ONCPParticle> [...] </Particles> </ONCP>
- <Name> is anchor for TRAM link; vanilla names:
- acid - for death event in bio lab (level 3)
- barabwave - for Baraba's earthquaker
- blanka - for one of MutantMuro's special attacks
- contrail - for colored heavy attacks (character specific <Type>)
- daodan - Konoko's daodan blow
- daodan2 - Konoko's daodan blow (last level)
- death
- dust
- fireball - Mukade's devil star
- flash - attack impact flash
- glow - colored glow particle for attacks
- murowave - for MutantMuro's ass bomb
- snap - health indicator particle ?
- teleport - for Mukade's teleport animation
- thud
- thunderbolt - for one of MutantMuro's special attacks
- trail - white color contrail for standard attacks
- rocket - for Baraba's jetpack
- super_attractor - for MutantMuro
- super_glow - body daodan glow particle
- super_l_hand - left hand daodan glow particle (<BodyPart>LeftFist)
- super_r_hand - right hand daodan glow particle (<BodyPart>RightFist)
- <Type> provide particle (file name without prefix BINA3RAP and without suffix .oni)
- <BodyPart> means bone Id, see TRIA; also allowed: "KillImpact"
ONIA: Oni character impact array
- ONIA is used for special attacks as kind of extension to CBPI in ONIE.
- <Name> is anchor for TRAM link, <Type> and <Modifier> are links for ONIE. "Light", "Medium" and "Heavy" are possible modifier.
- See ONIE for more information.
XML structure
<ONIA id="4"> <Impacts> <ONIAImpact> <Name>...</Name> <Type>Bar_Super_Punch</Type> <Modifier>Heavy</Modifier> </ONIAImpact> [...] </ONIA>
CBPM: character body part materials
XML structure
The link Id is equal to bone list in TRIA. For example: eleventh material links to character's head.
<CBPM id="7"> <Materials> <Link>MtrlCloth</Link> <Link>MtrlCloth</Link> <Link>MtrlArmor</Link> <Link>MtrlArmor</Link> <Link>MtrlCloth</Link> <Link>MtrlArmor</Link> <Link>MtrlArmor</Link> <Link>MtrlCloth</Link> <Link>MtrlArmor</Link> <Link>MtrlArmor</Link> <Link>MtrlArmor</Link> <Link>MtrlArmor</Link> <Link>MtrlArmor</Link> <Link>MtrlArmor</Link> <Link>MtrlArmor</Link> <Link>MtrlArmor</Link> <Link>MtrlArmor</Link> <Link>MtrlArmor</Link> <Link>MtrlArmor</Link> </Materials> </CBPM>
CBPI: character body part impacts
- They link to Impt files which are used by ONIE.
- Special attacks have there own Impt files. See ONIA.
XML structure
The link Id is equal to bone list in TRIA. For example: eleventh material links to character's head.
<CBPI id="8"> <HitImpacts> <Link>ImptKick_Hit</Link> <Link>ImptKick_Hit</Link> <Link>ImptKick_Hit</Link> <Link>ImptKick_Hit</Link> <Link>ImptKick_Hit</Link> <Link>ImptKick_Hit</Link> <Link>ImptKick_Hit</Link> <Link>ImptKick_Hit</Link> <Link>ImptPunch_Hit</Link> <Link>ImptHead_Hit</Link> <Link>ImptHead_Hit</Link> <Link>ImptHead_Hit</Link> <Link>ImptPunch_Hit</Link> <Link>ImptPunch_Hit</Link> <Link>ImptPunch_Hit</Link> <Link>ImptHead_Hit</Link> <Link>ImptPunch_Hit</Link> <Link>ImptPunch_Hit</Link> <Link>ImptPunch_Hit</Link> </HitImpacts> <BlockedImpacts> <Link>ImptKick_Blocked</Link> <Link>ImptKick_Blocked</Link> <Link>ImptKick_Blocked</Link> <Link>ImptKick_Blocked</Link> <Link>ImptKick_Blocked</Link> <Link>ImptKick_Blocked</Link> <Link>ImptKick_Blocked</Link> <Link>ImptKick_Blocked</Link> <Link>ImptPunch_Blocked</Link> <Link>ImptHead_Blocked</Link> <Link>ImptHead_Blocked</Link> <Link>ImptHead_Blocked</Link> <Link>ImptPunch_Blocked</Link> <Link>ImptPunch_Blocked</Link> <Link>ImptPunch_Blocked</Link> <Link>ImptHead_Blocked</Link> <Link>ImptPunch_Blocked</Link> <Link>ImptPunch_Blocked</Link> <Link>ImptPunch_Blocked</Link> </BlockedImpacts> <KilledImpacts> <Link>ImptKick_Killed</Link> <Link>ImptKick_Killed</Link> <Link>ImptKick_Killed</Link> <Link>ImptKick_Killed</Link> <Link>ImptKick_Killed</Link> <Link>ImptKick_Killed</Link> <Link>ImptKick_Killed</Link> <Link>ImptKick_Killed</Link> <Link>ImptPunch_Killed</Link> <Link>ImptHead_Killed</Link> <Link>ImptHead_Killed</Link> <Link>ImptHead_Killed</Link> <Link>ImptPunch_Killed</Link> <Link>ImptPunch_Killed</Link> <Link>ImptPunch_Killed</Link> <Link>ImptHead_Killed</Link> <Link>ImptPunch_Killed</Link> <Link>ImptPunch_Killed</Link> <Link>ImptPunch_Killed</Link> </KilledImpacts> </CBPI>
special ONCC overview
"Here you can download the complete overview of all used different ONCC files as a text file.
Copy it to a spreadsheet calculation program like Excel." - ssg