XML:ONCC: Difference between revisions

6,267 bytes added ,  10 April 2012
some copy paste
mNo edit summary
(some copy paste)
Line 12: Line 12:
* ONCP, ONIA, OBPI and OBPM are part of '''ONCC*.oni''' files.
* ONCP, ONIA, OBPI and OBPM are part of '''ONCC*.oni''' files.
* ONCC files can be found in Edition/GameDataFolder/level0_Final
* ONCC files can be found in Edition/GameDataFolder/level0_Final
* The XML tags are more or less self-explanatory - if not, look at the [[OBD:ONCC|hex page]].<br>Things that still need deeper explanation:
: <CoverConstants>
: <AutoFreezeConstants>
: <LODConstants>
==<AirConstants>==
{|
{{table}}
|width=200px|<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>==
{|
{{table}}
|width=200px| <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>==
{|
{{table}}
|width=200px| <JumpDistance>
|
|-
| <JumpHeight>
|
|-
| <JumpDistanceSquares>
|
|}
==<CoverConstants>==
{|
{{table}}
|width=200px| <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>==
{|
{{table}}
|width=200px| <DistanceXZ>
| always the same (5)
|-
| <DistanceY>
| always the same (1)
|}
==<InventoryConstants>==
{|
{{table}}
|width=200px| <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)<br>
if rate = 6; if a hypo restores 50HP then we get 6/1 * 50 = 300 frames (5s)<br>
if rate = 0 it becomes rate = 1 at runtime, so regeneration will still take 50 frames (< 1s)
|}
==<LODConstants>==
{|
{{table}}
|width=200px| <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>==
{|
{{table}}
|width=200px| <BasePercentage>
|
|-
| <MaxPercentage>
|
|-
| <PercentageThreshold>
|
|-
| <Timer>
|
|-
| <MinTimer>
|
|-
| <MaxLight>
|
|-
| <MaxMedium>
|
|-
| <DeathChance>
|
|-
| <VolumeTreshold>
|
|-
| <MediumTreshold>
|
|-
| <HeavyTreshold>
|
|-
| <MinVolume>
|
|-
| <LightSound>
|
|-
| <MediumSound>
|
|-
| <HeavySound>
|
|-
| <DeathSound>
|
|}
==<AIConstants>==
{|
{{table}}
|width=200px| <Flags>
|
: NoStartleAnim
: EnableMeleeFireDodge
: ShootDodge
: RunAwayDodge
: NotUsed
|-
| <RotationSpeed>
|
|-
| <DazedMinFrames>
|
|-
| <DazedMaxFrames>
|
|-
| <DodgeReactFrames>
|
|-
| <DodgeTimeScale>
|
|-
| <DodgeWeightScale>
|
|-
| see [[#<Targeting>|<Targeting>]]
|
|-
| see [[#<WeaponSkills>|<WeaponSkills>]]
|
|-
| <DeadMakeSureDelay>
|
|-
| <InvestigateBodyDelay>
|
|-
| <LostContactDelay>
|
|-
| <DeadTauntChance>
|
|-
| <GoForGunChance>
|
|-
| <RunPickupChance>
|
|-
| <CombatId>
|
|-
| <MeleeId>
|
|-
| see [[OBD_talk:SNDD#step_1:_preparing_the_TRAM|SNDD talk page]]
|
|-
| <HostileThreatDefiniteTimer>
|
|-
| <HostileThreatStrongTimer>
|
|-
| <HostileThreatWeakTimer>
|
|-
| <FriendlyThreatDefiniteTimer>
|
|-
| <FriendlyThreatStrongTimer>
|
|-
| <FriendlyThreatWeakTimer>
|
|-
| <EarshotRadius>
|
|}
===<Targeting>===
{|
{{table}}
|width=200px| <StartleMissAngle>
|
|-
| <StartleMissDistance>
|
|-
| <PredictAmount>
|
|-
| <PredictPositionDelayFrames>
|
|-
| <PredictDelayFrames>
|
|-
| <PredictVelocityFrames>
|
|-
| <PredictTrendFrames>
|
|}
===<WeaponSkills>===
{|
{{table}}
|width=200px| <RecoilCompensation>
|
|-     
| <BestAimingAngle>
|
|-
| <ShotGroupError>
|
|-
| <ShotGroupDecay>
|
|-
| <ShootingInaccuracyMultiplier>
|
|-
| <MinShotDelay>
|
|-
| <MaxShotDelay>
|
|}
===<VisionConstants>===
{|
{{table}}
|width=200px| <CentralDistance>
|
|-
| <PeripheralDistance>
|
|-
| <VerticalRange>
|
|-
| <CentralRange>
|
|-
| <CentralMax>
|
|-
| <PeripheralRange>
|
|-
| <PeripheralMax>
|
|}
==ONCV, death particle, TRBS, TRMA, TRAC, TRAS, health, daodan, etc.==
{|
{{table}}
|width=200px| <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: character body part materials|CBPM]] instance number
|-
| <BodyImpacts>
| [[#CBPI: character body part impacts|CBPI]] instance number
|-
| <FightModeTimer>
|
|-
| <IdleAnimation1Timer>
|
|-
| <IdleAnimation2Timer>
|
|-
| <Health>
|
|-
| <FeetBones>
|
|-
| <MinBodySizeFactor>
|
|-
| <MaxBodySizeFactor>
|
|-
| <DamageFactors>
|
|-
| <BossShieldProtectAmount>
|
|-
| <Animations>
|
|-
| <AimingScreens>
|
|-
| <AIRateOfFire>
|
|-
| <DeathDeleteDelay>
|
|-
| <WeaponHand>
|
|-
| <HasDaodanPowers>
|
|-
| <HasSupershield>
|
|-
| <CantTouchThis>
|
|}




8,018

edits