8,018
edits
Paradox-01 (talk | contribs) mNo edit summary |
Paradox-01 (talk | contribs) (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> | |||
| | |||
|} | |||
edits