More CPlayer implementations

This commit is contained in:
Jack Andersen 2017-08-18 20:52:13 -10:00
parent f8f7da070f
commit 3fa80babf6
23 changed files with 1625 additions and 824 deletions

View File

@ -22,8 +22,11 @@ struct ITweakPlayer : ITweak
virtual float GetVerticalDoubleJumpAccel() const=0;
virtual float GetHorizontalDoubleJumpAccel() const=0;
virtual float GetWaterJumpFactor() const=0;
virtual float GetWaterBallJumpFactor() const=0;
virtual float GetLavaJumpFactor() const=0;
virtual float GetLavaBallJumpFactor() const=0;
virtual float GetPhazonJumpFactor() const=0;
virtual float GetPhazonBallJumpFactor() const=0;
virtual float GetAllowedJumpTime() const=0;
virtual float GetAllowedDoubleJumpTime() const=0;
virtual float GetMinDoubleJumpWindow() const=0;
@ -33,6 +36,8 @@ struct ITweakPlayer : ITweak
virtual float GetAllowedLedgeTime() const=0;
virtual float GetDoubleJumpImpulse() const=0;
virtual float GetBackwardsForceMultiplier() const=0;
virtual float GetBombJumpRadius() const=0;
virtual float GetBombJumpHeight() const=0;
virtual float GetEyeOffset() const=0;
virtual float GetTurnSpeedMultiplier() const=0;
virtual float GetFreeLookTurnSpeedMultiplier() const=0;
@ -40,10 +45,12 @@ struct ITweakPlayer : ITweak
virtual float GetFreeLookSnapSpeed() const=0;
virtual float GetFreeLookCenteredThresholdAngle() const=0;
virtual float GetFreeLookCenteredTime() const=0;
virtual float GetOrbitNormalDistance() const=0;
virtual float GetMaxUpwardOrbitLookAngle() const=0;
virtual float GetMaxDownwardOrbitLookAngle() const=0;
virtual float GetOrbitModeTimer() const=0;
virtual float GetOrbitUpperAngle() const=0;
virtual float GetOrbitLowerAngle() const=0;
virtual float GetOrbitHorizAngle() const=0;
virtual float GetOrbitMaxTargetDistance() const=0;
virtual float GetOrbitMaxLockDistance() const=0;
virtual float GetOrbitDistanceThreshold() const=0;
virtual uint32_t GetOrbitScreenBoxHalfExtentX(int zone) const=0;
virtual uint32_t GetOrbitScreenBoxHalfExtentY(int zone) const=0;
@ -53,6 +60,7 @@ struct ITweakPlayer : ITweak
virtual uint32_t GetOrbitZoneIdealY(int zone) const=0;
virtual float GetOrbitNearX() const=0;
virtual float GetOrbitNearZ() const=0;
virtual float GetOrbitFixedOffsetZDiff() const=0;
virtual float GetOrbitZRange() const=0;
virtual bool GetDashEnabled() const=0;
virtual bool GetDashOnButtonRelease() const=0;
@ -77,12 +85,14 @@ struct ITweakPlayer : ITweak
virtual float GetAimTargetTimer() const=0;
virtual float GetAimAssistHorizontalAngle() const=0;
virtual float GetAimAssistVerticalAngle() const=0;
virtual float GetScanningFrameSenseRange() const=0;
virtual float GetScanMaxTargetDistance() const=0;
virtual float GetScanMaxLockDistance() const=0;
virtual bool GetMoveDuringFreeLook() const=0;
virtual bool GetHoldButtonsForFreeLook() const=0;
virtual bool GetTwoButtonsForFreeLook() const=0;
virtual bool GetAimWhenOrbitingPoint() const=0;
virtual bool GetStayInFreeLookWhileFiring() const=0;
virtual bool GetOrbitFixedOffset() const=0;
virtual bool GetGunButtonTogglesHolster() const=0;
virtual bool GetGunNotFiringHolstersGun() const=0;
virtual float GetPlayerHeight() const=0; // x26c
@ -103,23 +113,26 @@ struct ITweakPlayer : ITweak
virtual float GetGrappleJumpForce() const=0;
virtual float GetGrappleReleaseTime() const=0;
virtual uint32_t GetGrappleJumpMode() const=0;
virtual bool InvertGrappleTurn() const=0;
virtual bool GetOrbitReleaseBreaksGrapple() const=0;
virtual bool GetInvertGrappleTurn() const=0;
virtual float GetHorizontalFreeLookAngleVel() const=0;
virtual float GetVerticalFreeLookAngleVel() const=0; // x134
virtual float GetX184() const=0; // x184
virtual float GetX1fc() const=0;
virtual float GetX288() const=0; // x288
virtual float GetX28c() const=0; // x28c
virtual float GetX290() const=0; // x290
virtual float GetX294() const=0; // x294
virtual float GetX298() const=0; // x298
virtual float GetX29C() const=0; // x29c
virtual float GetX280() const=0; // x280
virtual float GetX2B0() const=0; // x2b0
virtual float GetX14C() const=0; // x14c
virtual float GetOrbitCameraSpeed() const=0; // x184
virtual float GetOrbitPreventionTime() const=0;
virtual float GetJumpCameraPitchDownStart() const=0; // x288
virtual float GetJumpCameraPitchDownFull() const=0; // x28c
virtual float GetJumpCameraPitchDownAngle() const=0; // x290
virtual float GetFallCameraPitchDownStart() const=0; // x294
virtual float GetFallCameraPitchDownFull() const=0; // x298
virtual float GetFallCameraPitchDownAngle() const=0; // x29c
virtual float GetFirstPersonCameraSpeed() const=0; // x280
virtual float GetGrappleCameraSpeed() const=0; // x2b0
virtual float GetFreeLookDampenFactor() const=0; // x14c
virtual float GetLeftLogicalThreshold() const=0;
virtual float GetRightLogicalThreshold() const=0;
virtual float GetX164(int type) const=0;
virtual float GetOrbitZBasedDistance(int type) const=0;
virtual float GetOrbitNormalDistance(int type) const=0;
virtual float GetOrbitMaxDistance(int type) const=0;
virtual float GetFrozenTimeout() const=0;
virtual uint32_t GetIceBreakJumpCount() const=0;
virtual float GetVariaDamageReduction() const=0;

View File

@ -117,16 +117,16 @@ void CTweakPlayer::read(athena::io::IStreamReader& __dna_reader)
xd8_horizontalDoubleJumpAccel = __dna_reader.readFloatBig();
/* xdc_waterJumpFactor */
xdc_waterJumpFactor = __dna_reader.readFloatBig();
/* xe0_ */
xe0_ = __dna_reader.readFloatBig();
/* xe0_waterBallJumpFactor */
xe0_waterBallJumpFactor = __dna_reader.readFloatBig();
/* xe4_lavaJumpFactor */
xe4_lavaJumpFactor = __dna_reader.readFloatBig();
/* xe8_ */
xe8_ = __dna_reader.readFloatBig();
/* xe8_lavaBallJumpFactor */
xe8_lavaBallJumpFactor = __dna_reader.readFloatBig();
/* xec_phazonJumpFactor */
xec_phazonJumpFactor = __dna_reader.readFloatBig();
/* xf0_ */
xf0_ = __dna_reader.readFloatBig();
/* xf0_phazonBallJumpFactor */
xf0_phazonBallJumpFactor = __dna_reader.readFloatBig();
/* xf4_allowedJumpTime */
xf4_allowedJumpTime = __dna_reader.readFloatBig();
/* xf8_allowedDoubleJumpTime */
@ -147,10 +147,10 @@ void CTweakPlayer::read(athena::io::IStreamReader& __dna_reader)
x114_doubleJumpImpulse = __dna_reader.readFloatBig();
/* x118_backwardsForceMultiplier */
x118_backwardsForceMultiplier = __dna_reader.readFloatBig();
/* x11c_ */
x11c_ = __dna_reader.readFloatBig();
/* x120_ */
x120_ = __dna_reader.readFloatBig();
/* x11c_bombJumpRadius */
x11c_bombJumpRadius = __dna_reader.readFloatBig();
/* x120_bombJumpHeight */
x120_bombJumpHeight = __dna_reader.readFloatBig();
/* x124_eyeOffset */
x124_eyeOffset = __dna_reader.readFloatBig();
/* x128_turnSpeedMultiplier */
@ -171,8 +171,8 @@ void CTweakPlayer::read(athena::io::IStreamReader& __dna_reader)
x144_freeLookCenteredThresholdAngle = __dna_reader.readFloatBig();
/* x148_freeLookCenteredTime */
x148_freeLookCenteredTime = __dna_reader.readFloatBig();
/* x14c_ */
x14c_ = __dna_reader.readFloatBig();
/* x14c_freeLookDampenFactor */
x14c_freeLookDampenFactor = __dna_reader.readFloatBig();
/* x150_leftDiv */
x150_leftDiv = __dna_reader.readFloatBig();
/* x154_rightDiv */
@ -203,8 +203,8 @@ void CTweakPlayer::read(athena::io::IStreamReader& __dna_reader)
x229_27_ = __dna_reader.readBool();
/* x229_28_ */
x229_28_ = __dna_reader.readBool();
/* x229_29_ */
x229_29_ = __dna_reader.readBool();
/* x229_29_orbitFixedOffset */
x229_29_orbitFixedOffset = __dna_reader.readBool();
/* x229_30_gunButtonTogglesHolster */
x229_30_gunButtonTogglesHolster = __dna_reader.readBool();
/* x229_31_gunNotFiringHolstersGun */
@ -251,44 +251,44 @@ void CTweakPlayer::read(athena::io::IStreamReader& __dna_reader)
x264_aimAssistHorizontalAngle = __dna_reader.readFloatBig();
/* x268_aimAssistVerticalAngle */
x268_aimAssistVerticalAngle = __dna_reader.readFloatBig();
/* x158_[0] */
x158_[0] = __dna_reader.readFloatBig();
/* x164_[0] */
x164_[0] = __dna_reader.readFloatBig();
/* x170_[0] */
x170_[0] = __dna_reader.readFloatBig();
/* x158_[1] */
x158_[1] = __dna_reader.readFloatBig();
/* x164_[1] */
x164_[1] = __dna_reader.readFloatBig();
/* x170_[1] */
x170_[1] = __dna_reader.readFloatBig();
/* x158_[2] */
x158_[2] = __dna_reader.readFloatBig();
/* x164_[2] */
x164_[2] = __dna_reader.readFloatBig();
/* x170_[2] */
x170_[2] = __dna_reader.readFloatBig();
/* x158_orbitZBasedDistance[0] */
x158_orbitZBasedDistance[0] = __dna_reader.readFloatBig();
/* x164_orbitNormalDistance[0] */
x164_orbitNormalDistance[0] = __dna_reader.readFloatBig();
/* x170_orbitMaxDistance[0] */
x170_orbitMaxDistance[0] = __dna_reader.readFloatBig();
/* x158_orbitZBasedDistance[1] */
x158_orbitZBasedDistance[1] = __dna_reader.readFloatBig();
/* x164_orbitNormalDistance[1] */
x164_orbitNormalDistance[1] = __dna_reader.readFloatBig();
/* x170_orbitMaxDistance[1] */
x170_orbitMaxDistance[1] = __dna_reader.readFloatBig();
/* x158_orbitZBasedDistance[2] */
x158_orbitZBasedDistance[2] = __dna_reader.readFloatBig();
/* x164_orbitNormalDistance[2] */
x164_orbitNormalDistance[2] = __dna_reader.readFloatBig();
/* x170_orbitMaxDistance[2] */
x170_orbitMaxDistance[2] = __dna_reader.readFloatBig();
/* x17c_ */
x17c_ = __dna_reader.readFloatBig();
/* x180_ */
x180_orbitNormalDistance = __dna_reader.readFloatBig();
/* x184_ */
x184_ = __dna_reader.readFloatBig();
/* x188_maxUpwardOrbitLookAngle */
x188_maxUpwardOrbitLookAngle = __dna_reader.readFloatBig();
/* x18c_maxDownwardOrbitLookAngle */
x18c_maxDownwardOrbitLookAngle = __dna_reader.readFloatBig();
/* x180_orbitModeTimer */
x180_orbitModeTimer = __dna_reader.readFloatBig();
/* x184_orbitCameraSpeed */
x184_orbitCameraSpeed = __dna_reader.readFloatBig();
/* x188_orbitUpperAngle */
x188_orbitUpperAngle = __dna_reader.readFloatBig();
/* x18c_orbitLowerAngle */
x18c_orbitLowerAngle = __dna_reader.readFloatBig();
/* x190_orbitHorizAngle */
x190_orbitHorizAngle = __dna_reader.readFloatBig();
/* x194_ */
x194_ = __dna_reader.readFloatBig();
/* x198_ */
x198_ = __dna_reader.readFloatBig();
/* x19c_ */
x19c_ = __dna_reader.readFloatBig();
/* x1a0_ */
x1a0_ = __dna_reader.readFloatBig();
/* x19c_orbitMaxTargetDistance */
x19c_orbitMaxTargetDistance = __dna_reader.readFloatBig();
/* x1a0_orbitMaxLockDistance */
x1a0_orbitMaxLockDistance = __dna_reader.readFloatBig();
/* x1a4_orbitDistanceThreshold */
x1a4_orbitDistanceThreshold = __dna_reader.readFloatBig();
/* x1a8_orbitScreenBoxHalfExtentX[0] */
@ -323,8 +323,8 @@ void CTweakPlayer::read(athena::io::IStreamReader& __dna_reader)
x1e0_ = __dna_reader.readFloatBig();
/* x1e4_ */
x1e4_ = __dna_reader.readFloatBig();
/* x1e8_ */
x1e8_ = __dna_reader.readFloatBig();
/* x1e8_orbitFixedOffsetZDiff */
x1e8_orbitFixedOffsetZDiff = __dna_reader.readFloatBig();
/* x1ec_orbitZRange */
x1ec_orbitZRange = __dna_reader.readFloatBig();
/* x1f0_ */
@ -333,8 +333,8 @@ void CTweakPlayer::read(athena::io::IStreamReader& __dna_reader)
x1f4_ = __dna_reader.readFloatBig();
/* x1f8_ */
x1f8_ = __dna_reader.readFloatBig();
/* x1fc_ */
x1fc_ = __dna_reader.readFloatBig();
/* x1fc_orbitPreventionTime */
x1fc_orbitPreventionTime = __dna_reader.readFloatBig();
/* x200_24_dashEnabled */
x200_24_dashEnabled = __dna_reader.readBool();
/* x200_25_dashOnButtonRelease */
@ -357,10 +357,10 @@ void CTweakPlayer::read(athena::io::IStreamReader& __dna_reader)
x21c_25_scanFreezesGame = __dna_reader.readBool();
/* x21c_26_orbitWhileScanning */
x21c_26_orbitWhileScanning = __dna_reader.readBool();
/* x220_ */
x220_ = __dna_reader.readFloatBig();
/* x224_scanningFrameSenseRange */
x224_scanningFrameSenseRange = __dna_reader.readFloatBig();
/* x220_scanMaxTargetDistance */
x220_scanMaxTargetDistance = __dna_reader.readFloatBig();
/* x224_scanMaxLockDistance */
x224_scanMaxLockDistance = __dna_reader.readFloatBig();
/* x2a0_orbitDistanceMax */
x2a0_orbitDistanceMax = __dna_reader.readFloatBig();
/* x2a4_grappleSwingLength */
@ -370,7 +370,7 @@ void CTweakPlayer::read(athena::io::IStreamReader& __dna_reader)
/* x2ac_grapplePullSpeedMin */
x2ac_grapplePullSpeedMin = __dna_reader.readFloatBig();
/* x2b0_ */
x2b0_ = __dna_reader.readFloatBig();
x2b0_grappleCameraSpeed = __dna_reader.readFloatBig();
/* x2b4_maxGrappleLockedTurnAlignDistance */
x2b4_maxGrappleLockedTurnAlignDistance = __dna_reader.readFloatBig();
/* x2b8_grapplePullSpeedProportion */
@ -387,9 +387,9 @@ void CTweakPlayer::read(athena::io::IStreamReader& __dna_reader)
x2cc_grappleReleaseTime = __dna_reader.readFloatBig();
/* x2d0_grappleJumpMode */
x2d0_grappleJumpMode = __dna_reader.readUint32Big();
/* x2d4_ */
x2d4_ = __dna_reader.readBool();
/* x2d5_ */
/* x2d4_orbitReleaseBreaksGrapple */
x2d4_orbitReleaseBreaksGrapple = __dna_reader.readBool();
/* x2d5_invertGrappleTurn */
x2d5_invertGrappleTurn = __dna_reader.readBool();
/* x2d8_ */
x2d8_ = __dna_reader.readFloatBig();
@ -410,21 +410,21 @@ void CTweakPlayer::read(athena::io::IStreamReader& __dna_reader)
/* x27c_playerBallHalfExtent */
x27c_playerBallHalfExtent = __dna_reader.readFloatBig();
/* x280_ */
x280_ = __dna_reader.readFloatBig();
x280_firstPersonCameraSpeed = __dna_reader.readFloatBig();
/* x284_ */
x284_ = __dna_reader.readFloatBig();
/* x288_ */
x288_ = __dna_reader.readFloatBig();
/* x28c_ */
x28c_ = __dna_reader.readFloatBig();
/* x290_ */
x290_ = __dna_reader.readFloatBig();
/* x294_ */
x294_ = __dna_reader.readFloatBig();
/* x298_ */
x298_ = __dna_reader.readFloatBig();
/* x29c_ */
x29c_ = __dna_reader.readFloatBig();
/* x288_jumpCameraPitchDownStart */
x288_jumpCameraPitchDownStart = __dna_reader.readFloatBig();
/* x28c_jumpCameraPitchDownFull */
x28c_jumpCameraPitchDownFull = __dna_reader.readFloatBig();
/* x290_jumpCameraPitchDownAngle */
x290_jumpCameraPitchDownAngle = __dna_reader.readFloatBig();
/* x294_fallCameraPitchDownStart */
x294_fallCameraPitchDownStart = __dna_reader.readFloatBig();
/* x298_fallCameraPitchDownFull */
x298_fallCameraPitchDownFull = __dna_reader.readFloatBig();
/* x29c_fallCameraPitchDownAngle */
x29c_fallCameraPitchDownAngle = __dna_reader.readFloatBig();
/* x2e8_ */
x2e8_ = __dna_reader.readFloatBig();
/* x2ec_ */
@ -557,16 +557,16 @@ void CTweakPlayer::write(athena::io::IStreamWriter& __dna_writer) const
__dna_writer.writeFloatBig(xd8_horizontalDoubleJumpAccel);
/* xdc_waterJumpFactor */
__dna_writer.writeFloatBig(xdc_waterJumpFactor);
/* xe0_ */
__dna_writer.writeFloatBig(xe0_);
/* xe0_waterBallJumpFactor */
__dna_writer.writeFloatBig(xe0_waterBallJumpFactor);
/* xe4_lavaJumpFactor */
__dna_writer.writeFloatBig(xe4_lavaJumpFactor);
/* xe8_ */
__dna_writer.writeFloatBig(xe8_);
/* xe8_lavaBallJumpFactor */
__dna_writer.writeFloatBig(xe8_lavaBallJumpFactor);
/* xec_phazonJumpFactor */
__dna_writer.writeFloatBig(xec_phazonJumpFactor);
/* xf0_ */
__dna_writer.writeFloatBig(xf0_);
/* xf0_phazonBallJumpFactor */
__dna_writer.writeFloatBig(xf0_phazonBallJumpFactor);
/* xf4_allowedJumpTime */
__dna_writer.writeFloatBig(xf4_allowedJumpTime);
/* xf8_allowedDoubleJumpTime */
@ -587,10 +587,10 @@ void CTweakPlayer::write(athena::io::IStreamWriter& __dna_writer) const
__dna_writer.writeFloatBig(x114_doubleJumpImpulse);
/* x118_backwardsForceMultiplier */
__dna_writer.writeFloatBig(x118_backwardsForceMultiplier);
/* x11c_ */
__dna_writer.writeFloatBig(x11c_);
/* x120_ */
__dna_writer.writeFloatBig(x120_);
/* x11c_bombJumpRadius */
__dna_writer.writeFloatBig(x11c_bombJumpRadius);
/* x120_bombJumpHeight */
__dna_writer.writeFloatBig(x120_bombJumpHeight);
/* x124_eyeOffset */
__dna_writer.writeFloatBig(x124_eyeOffset);
/* x128_turnSpeedMultiplier */
@ -611,8 +611,8 @@ void CTweakPlayer::write(athena::io::IStreamWriter& __dna_writer) const
__dna_writer.writeFloatBig(x144_freeLookCenteredThresholdAngle);
/* x148_freeLookCenteredTime */
__dna_writer.writeFloatBig(x148_freeLookCenteredTime);
/* x14c_ */
__dna_writer.writeFloatBig(x14c_);
/* x14c_freeLookDampenFactor */
__dna_writer.writeFloatBig(x14c_freeLookDampenFactor);
/* x150_leftDiv */
__dna_writer.writeFloatBig(x150_leftDiv);
/* x154_rightDiv */
@ -643,8 +643,8 @@ void CTweakPlayer::write(athena::io::IStreamWriter& __dna_writer) const
__dna_writer.writeBool(x229_27_);
/* x229_28_ */
__dna_writer.writeBool(x229_28_);
/* x229_29_ */
__dna_writer.writeBool(x229_29_);
/* x229_29_orbitFixedOffset */
__dna_writer.writeBool(x229_29_orbitFixedOffset);
/* x229_30_gunButtonTogglesHolster */
__dna_writer.writeBool(x229_30_gunButtonTogglesHolster);
/* x229_31_gunNotFiringHolstersGun */
@ -691,44 +691,44 @@ void CTweakPlayer::write(athena::io::IStreamWriter& __dna_writer) const
__dna_writer.writeFloatBig(x264_aimAssistHorizontalAngle);
/* x268_aimAssistVerticalAngle */
__dna_writer.writeFloatBig(x268_aimAssistVerticalAngle);
/* x158_[0] */
__dna_writer.writeFloatBig(x158_[0]);
/* x164_[0] */
__dna_writer.writeFloatBig(x164_[0]);
/* x170_[0] */
__dna_writer.writeFloatBig(x170_[0]);
/* x158_[1] */
__dna_writer.writeFloatBig(x158_[1]);
/* x164_[1] */
__dna_writer.writeFloatBig(x164_[1]);
/* x170_[1] */
__dna_writer.writeFloatBig(x170_[1]);
/* x158_[2] */
__dna_writer.writeFloatBig(x158_[2]);
/* x164_[2] */
__dna_writer.writeFloatBig(x164_[2]);
/* x170_[2] */
__dna_writer.writeFloatBig(x170_[2]);
/* x158_orbitZBasedDistance[0] */
__dna_writer.writeFloatBig(x158_orbitZBasedDistance[0]);
/* x164_orbitNormalDistance[0] */
__dna_writer.writeFloatBig(x164_orbitNormalDistance[0]);
/* x170_orbitMaxDistance[0] */
__dna_writer.writeFloatBig(x170_orbitMaxDistance[0]);
/* x158_orbitZBasedDistance[1] */
__dna_writer.writeFloatBig(x158_orbitZBasedDistance[1]);
/* x164_orbitNormalDistance[1] */
__dna_writer.writeFloatBig(x164_orbitNormalDistance[1]);
/* x170_orbitMaxDistance[1] */
__dna_writer.writeFloatBig(x170_orbitMaxDistance[1]);
/* x158_orbitZBasedDistance[2] */
__dna_writer.writeFloatBig(x158_orbitZBasedDistance[2]);
/* x164_orbitNormalDistance[2] */
__dna_writer.writeFloatBig(x164_orbitNormalDistance[2]);
/* x170_orbitMaxDistance[2] */
__dna_writer.writeFloatBig(x170_orbitMaxDistance[2]);
/* x17c_ */
__dna_writer.writeFloatBig(x17c_);
/* x180_ */
__dna_writer.writeFloatBig(x180_orbitNormalDistance);
/* x184_ */
__dna_writer.writeFloatBig(x184_);
/* x188_maxUpwardOrbitLookAngle */
__dna_writer.writeFloatBig(x188_maxUpwardOrbitLookAngle);
/* x18c_maxDownwardOrbitLookAngle */
__dna_writer.writeFloatBig(x18c_maxDownwardOrbitLookAngle);
/* x180_orbitModeTimer */
__dna_writer.writeFloatBig(x180_orbitModeTimer);
/* x184_orbitCameraSpeed */
__dna_writer.writeFloatBig(x184_orbitCameraSpeed);
/* x188_orbitUpperAngle */
__dna_writer.writeFloatBig(x188_orbitUpperAngle);
/* x18c_orbitLowerAngle */
__dna_writer.writeFloatBig(x18c_orbitLowerAngle);
/* x190_orbitHorizAngle */
__dna_writer.writeFloatBig(x190_orbitHorizAngle);
/* x194_ */
__dna_writer.writeFloatBig(x194_);
/* x198_ */
__dna_writer.writeFloatBig(x198_);
/* x19c_ */
__dna_writer.writeFloatBig(x19c_);
/* x1a0_ */
__dna_writer.writeFloatBig(x1a0_);
/* x19c_orbitMaxTargetDistance */
__dna_writer.writeFloatBig(x19c_orbitMaxTargetDistance);
/* x1a0_orbitMaxLockDistance */
__dna_writer.writeFloatBig(x1a0_orbitMaxLockDistance);
/* x1a4_orbitDistanceThreshold */
__dna_writer.writeFloatBig(x1a4_orbitDistanceThreshold);
/* x1a8_orbitScreenBoxHalfExtentX[0] */
@ -763,8 +763,8 @@ void CTweakPlayer::write(athena::io::IStreamWriter& __dna_writer) const
__dna_writer.writeFloatBig(x1e0_);
/* x1e4_ */
__dna_writer.writeFloatBig(x1e4_);
/* x1e8_ */
__dna_writer.writeFloatBig(x1e8_);
/* x1e8_orbitFixedOffsetZDiff */
__dna_writer.writeFloatBig(x1e8_orbitFixedOffsetZDiff);
/* x1ec_orbitZRange */
__dna_writer.writeFloatBig(x1ec_orbitZRange);
/* x1f0_ */
@ -773,8 +773,8 @@ void CTweakPlayer::write(athena::io::IStreamWriter& __dna_writer) const
__dna_writer.writeFloatBig(x1f4_);
/* x1f8_ */
__dna_writer.writeFloatBig(x1f8_);
/* x1fc_ */
__dna_writer.writeFloatBig(x1fc_);
/* x1fc_orbitPreventionTime */
__dna_writer.writeFloatBig(x1fc_orbitPreventionTime);
/* x200_24_dashEnabled */
__dna_writer.writeBool(x200_24_dashEnabled);
/* x200_25_dashOnButtonRelease */
@ -797,10 +797,10 @@ void CTweakPlayer::write(athena::io::IStreamWriter& __dna_writer) const
__dna_writer.writeBool(x21c_25_scanFreezesGame);
/* x21c_26_orbitWhileScanning */
__dna_writer.writeBool(x21c_26_orbitWhileScanning);
/* x220_ */
__dna_writer.writeFloatBig(x220_);
/* x224_scanningFrameSenseRange */
__dna_writer.writeFloatBig(x224_scanningFrameSenseRange);
/* x220_scanMaxTargetDistance */
__dna_writer.writeFloatBig(x220_scanMaxTargetDistance);
/* x224_scanMaxLockDistance */
__dna_writer.writeFloatBig(x224_scanMaxLockDistance);
/* x2a0_orbitDistanceMax */
__dna_writer.writeFloatBig(x2a0_orbitDistanceMax);
/* x2a4_grappleSwingLength */
@ -810,7 +810,7 @@ void CTweakPlayer::write(athena::io::IStreamWriter& __dna_writer) const
/* x2ac_grapplePullSpeedMin */
__dna_writer.writeFloatBig(x2ac_grapplePullSpeedMin);
/* x2b0_ */
__dna_writer.writeFloatBig(x2b0_);
__dna_writer.writeFloatBig(x2b0_grappleCameraSpeed);
/* x2b4_maxGrappleLockedTurnAlignDistance */
__dna_writer.writeFloatBig(x2b4_maxGrappleLockedTurnAlignDistance);
/* x2b8_grapplePullSpeedProportion */
@ -827,9 +827,9 @@ void CTweakPlayer::write(athena::io::IStreamWriter& __dna_writer) const
__dna_writer.writeFloatBig(x2cc_grappleReleaseTime);
/* x2d0_grappleJumpMode */
__dna_writer.writeUint32Big(x2d0_grappleJumpMode);
/* x2d4_ */
__dna_writer.writeBool(x2d4_);
/* x2d5_ */
/* x2d4_orbitReleaseBreaksGrapple */
__dna_writer.writeBool(x2d4_orbitReleaseBreaksGrapple);
/* x2d5_invertGrappleTurn */
__dna_writer.writeBool(x2d5_invertGrappleTurn);
/* x2d8_ */
__dna_writer.writeFloatBig(x2d8_);
@ -850,21 +850,21 @@ void CTweakPlayer::write(athena::io::IStreamWriter& __dna_writer) const
/* x27c_playerBallHalfExtent */
__dna_writer.writeFloatBig(x27c_playerBallHalfExtent);
/* x280_ */
__dna_writer.writeFloatBig(x280_);
__dna_writer.writeFloatBig(x280_firstPersonCameraSpeed);
/* x284_ */
__dna_writer.writeFloatBig(x284_);
/* x288_ */
__dna_writer.writeFloatBig(x288_);
/* x28c_ */
__dna_writer.writeFloatBig(x28c_);
/* x290_ */
__dna_writer.writeFloatBig(x290_);
/* x294_ */
__dna_writer.writeFloatBig(x294_);
/* x298_ */
__dna_writer.writeFloatBig(x298_);
/* x29c_ */
__dna_writer.writeFloatBig(x29c_);
/* x288_jumpCameraPitchDownStart */
__dna_writer.writeFloatBig(x288_jumpCameraPitchDownStart);
/* x28c_jumpCameraPitchDownFull */
__dna_writer.writeFloatBig(x28c_jumpCameraPitchDownFull);
/* x290_jumpCameraPitchDownAngle */
__dna_writer.writeFloatBig(x290_jumpCameraPitchDownAngle);
/* x294_fallCameraPitchDownStart */
__dna_writer.writeFloatBig(x294_fallCameraPitchDownStart);
/* x298_fallCameraPitchDownFull */
__dna_writer.writeFloatBig(x298_fallCameraPitchDownFull);
/* x29c_fallCameraPitchDownAngle */
__dna_writer.writeFloatBig(x29c_fallCameraPitchDownAngle);
/* x2e8_ */
__dna_writer.writeFloatBig(x2e8_);
/* x2ec_ */
@ -1027,16 +1027,16 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
xd8_horizontalDoubleJumpAccel = __dna_docin.readFloat("xd8_horizontalDoubleJumpAccel");
/* xdc_waterJumpFactor */
xdc_waterJumpFactor = __dna_docin.readFloat("xdc_waterJumpFactor");
/* xe0_ */
xe0_ = __dna_docin.readFloat("xe0_");
/* xe0_waterBallJumpFactor */
xe0_waterBallJumpFactor = __dna_docin.readFloat("xe0_waterBallJumpFactor");
/* xe4_lavaJumpFactor */
xe4_lavaJumpFactor = __dna_docin.readFloat("xe4_lavaJumpFactor");
/* xe8_ */
xe8_ = __dna_docin.readFloat("xe8_");
/* xe8_lavaBallJumpFactor */
xe8_lavaBallJumpFactor = __dna_docin.readFloat("xe8_lavaBallJumpFactor");
/* xec_phazonJumpFactor */
xec_phazonJumpFactor = __dna_docin.readFloat("xec_phazonJumpFactor");
/* xf0_ */
xf0_ = __dna_docin.readFloat("xf0_");
/* xf0_phazonBallJumpFactor */
xf0_phazonBallJumpFactor = __dna_docin.readFloat("xf0_phazonBallJumpFactor");
/* xf4_allowedJumpTime */
xf4_allowedJumpTime = __dna_docin.readFloat("xf4_allowedJumpTime");
/* xf8_allowedDoubleJumpTime */
@ -1057,10 +1057,10 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
x114_doubleJumpImpulse = __dna_docin.readFloat("x114_doubleJumpImpulse");
/* x118_backwardsForceMultiplier */
x118_backwardsForceMultiplier = __dna_docin.readFloat("x118_backwardsForceMultiplier");
/* x11c_ */
x11c_ = __dna_docin.readFloat("x11c_");
/* x120_ */
x120_ = __dna_docin.readFloat("x120_");
/* x11c_bombJumpRadius */
x11c_bombJumpRadius = __dna_docin.readFloat("x11c_bombJumpRadius");
/* x120_bombJumpHeight */
x120_bombJumpHeight = __dna_docin.readFloat("x120_bombJumpHeight");
/* x124_eyeOffset */
x124_eyeOffset = __dna_docin.readFloat("x124_eyeOffset");
/* x128_turnSpeedMultiplier */
@ -1081,8 +1081,8 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
x144_freeLookCenteredThresholdAngle = __dna_docin.readFloat("x144_freeLookCenteredThresholdAngle");
/* x148_freeLookCenteredTime */
x148_freeLookCenteredTime = __dna_docin.readFloat("x148_freeLookCenteredTime");
/* x14c_ */
x14c_ = __dna_docin.readFloat("x14c_");
/* x14c_freeLookDampenFactor */
x14c_freeLookDampenFactor = __dna_docin.readFloat("x14c_freeLookDampenFactor");
/* x150_leftDiv */
x150_leftDiv = __dna_docin.readFloat("x150_leftDiv");
/* x154_rightDiv */
@ -1113,8 +1113,8 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
x229_27_ = __dna_docin.readBool("x229_27_");
/* x229_28_ */
x229_28_ = __dna_docin.readBool("x229_28_");
/* x229_29_ */
x229_29_ = __dna_docin.readBool("x229_29_");
/* x229_29_orbitFixedOffset */
x229_29_orbitFixedOffset = __dna_docin.readBool("x229_29_orbitFixedOffset");
/* x229_30_gunButtonTogglesHolster */
x229_30_gunButtonTogglesHolster = __dna_docin.readBool("x229_30_gunButtonTogglesHolster");
/* x229_31_gunNotFiringHolstersGun */
@ -1161,59 +1161,59 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
x264_aimAssistHorizontalAngle = __dna_docin.readFloat("x264_aimAssistHorizontalAngle");
/* x268_aimAssistVerticalAngle */
x268_aimAssistVerticalAngle = __dna_docin.readFloat("x268_aimAssistVerticalAngle");
/* x158_ */
/* x158_orbitZBasedDistance */
size_t __x158_Count;
if (auto v = __dna_docin.enterSubVector("x158_", __x158_Count))
if (auto v = __dna_docin.enterSubVector("x158_orbitZBasedDistance", __x158_Count))
{
/* x158_[0] */
x158_[0] = __dna_docin.readFloat("x158_");
/* x158_[1] */
x158_[1] = __dna_docin.readFloat("x158_");
/* x158_[2] */
x158_[2] = __dna_docin.readFloat("x158_");
/* x158_orbitZBasedDistance[0] */
x158_orbitZBasedDistance[0] = __dna_docin.readFloat("x158_orbitZBasedDistance");
/* x158_orbitZBasedDistance[1] */
x158_orbitZBasedDistance[1] = __dna_docin.readFloat("x158_orbitZBasedDistance");
/* x158_orbitZBasedDistance[2] */
x158_orbitZBasedDistance[2] = __dna_docin.readFloat("x158_orbitZBasedDistance");
}
/* x164_ */
/* x164_orbitNormalDistance */
size_t __x164_Count;
if (auto v = __dna_docin.enterSubVector("x164_", __x164_Count))
if (auto v = __dna_docin.enterSubVector("x164_orbitNormalDistance", __x164_Count))
{
/* x164_[0] */
x164_[0] = __dna_docin.readFloat("x164_");
/* x164_[1] */
x164_[1] = __dna_docin.readFloat("x164_");
/* x164_[2] */
x164_[2] = __dna_docin.readFloat("x164_");
/* x164_orbitNormalDistance[0] */
x164_orbitNormalDistance[0] = __dna_docin.readFloat("x164_orbitNormalDistance");
/* x164_orbitNormalDistance[1] */
x164_orbitNormalDistance[1] = __dna_docin.readFloat("x164_orbitNormalDistance");
/* x164_orbitNormalDistance[2] */
x164_orbitNormalDistance[2] = __dna_docin.readFloat("x164_orbitNormalDistance");
}
/* x170_ */
/* x170_orbitMaxDistance */
size_t __x170_Count;
if (auto v = __dna_docin.enterSubVector("x170_", __x170_Count))
if (auto v = __dna_docin.enterSubVector("x170_orbitMaxDistance", __x170_Count))
{
/* x170_[0] */
x170_[0] = __dna_docin.readFloat("x170_");
/* x170_[1] */
x170_[1] = __dna_docin.readFloat("x170_");
/* x170_[2] */
x170_[2] = __dna_docin.readFloat("x170_");
/* x170_orbitMaxDistance[0] */
x170_orbitMaxDistance[0] = __dna_docin.readFloat("x170_orbitMaxDistance");
/* x170_orbitMaxDistance[1] */
x170_orbitMaxDistance[1] = __dna_docin.readFloat("x170_orbitMaxDistance");
/* x170_orbitMaxDistance[2] */
x170_orbitMaxDistance[2] = __dna_docin.readFloat("x170_orbitMaxDistance");
}
/* x17c_ */
x17c_ = __dna_docin.readFloat("x17c_");
/* x180_orbitNormalDistance */
x180_orbitNormalDistance = __dna_docin.readFloat("x180_orbitNormalDistance");
/* x184_ */
x184_ = __dna_docin.readFloat("x184_");
/* x188_maxUpwardOrbitLookAngle */
x188_maxUpwardOrbitLookAngle = __dna_docin.readFloat("x188_maxUpwardOrbitLookAngle");
/* x18c_maxDownwardOrbitLookAngle */
x18c_maxDownwardOrbitLookAngle = __dna_docin.readFloat("x18c_maxDownwardOrbitLookAngle");
/* x180_orbitModeTimer */
x180_orbitModeTimer = __dna_docin.readFloat("x180_orbitModeTimer");
/* x184_orbitCameraSpeed */
x184_orbitCameraSpeed = __dna_docin.readFloat("x184_orbitCameraSpeed");
/* x188_orbitUpperAngle */
x188_orbitUpperAngle = __dna_docin.readFloat("x188_orbitUpperAngle");
/* x18c_orbitLowerAngle */
x18c_orbitLowerAngle = __dna_docin.readFloat("x18c_orbitLowerAngle");
/* x190_orbitHorizAngle */
x190_orbitHorizAngle = __dna_docin.readFloat("x190_orbitHorizAngle");
/* x194_ */
x194_ = __dna_docin.readFloat("x194_");
/* x198_ */
x198_ = __dna_docin.readFloat("x198_");
/* x19c_ */
x19c_ = __dna_docin.readFloat("x19c_");
/* x1a0_ */
x1a0_ = __dna_docin.readFloat("x1a0_");
/* x19c_orbitMaxTargetDistance */
x19c_orbitMaxTargetDistance = __dna_docin.readFloat("x19c_orbitMaxTargetDistance");
/* x1a0_orbitMaxLockDistance */
x1a0_orbitMaxLockDistance = __dna_docin.readFloat("x1a0_orbitMaxLockDistance");
/* x1a4_orbitDistanceThreshold */
x1a4_orbitDistanceThreshold = __dna_docin.readFloat("x1a4_orbitDistanceThreshold");
/* x1a8_orbitScreenBoxHalfExtentX */
@ -1278,8 +1278,8 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
x1e0_ = __dna_docin.readFloat("x1e0_");
/* x1e4_ */
x1e4_ = __dna_docin.readFloat("x1e4_");
/* x1e8_ */
x1e8_ = __dna_docin.readFloat("x1e8_");
/* x1e8_orbitFixedOffsetZDiff */
x1e8_orbitFixedOffsetZDiff = __dna_docin.readFloat("x1e8_orbitFixedOffsetZDiff");
/* x1ec_orbitZRange */
x1ec_orbitZRange = __dna_docin.readFloat("x1ec_orbitZRange");
/* x1f0_ */
@ -1288,8 +1288,8 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
x1f4_ = __dna_docin.readFloat("x1f4_");
/* x1f8_ */
x1f8_ = __dna_docin.readFloat("x1f8_");
/* x1fc_ */
x1fc_ = __dna_docin.readFloat("x1fc_");
/* x1fc_orbitPreventionTime */
x1fc_orbitPreventionTime = __dna_docin.readFloat("x1fc_orbitPreventionTime");
/* x200_24_dashEnabled */
x200_24_dashEnabled = __dna_docin.readBool("x200_24_dashEnabled");
/* x200_25_dashOnButtonRelease */
@ -1312,10 +1312,10 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
x21c_25_scanFreezesGame = __dna_docin.readBool("x21c_25_scanFreezesGame");
/* x21c_26_orbitWhileScanning */
x21c_26_orbitWhileScanning = __dna_docin.readBool("x21c_26_orbitWhileScanning");
/* x220_ */
x220_ = __dna_docin.readFloat("x220_");
/* x224_scanningFrameSenseRange */
x224_scanningFrameSenseRange = __dna_docin.readFloat("x224_scanningFrameSenseRange");
/* x220_scanMaxTargetDistance */
x220_scanMaxTargetDistance = __dna_docin.readFloat("x220_scanMaxTargetDistance");
/* x224_scanMaxLockDistance */
x224_scanMaxLockDistance = __dna_docin.readFloat("x224_scanMaxLockDistance");
/* x2a0_orbitDistanceMax */
x2a0_orbitDistanceMax = __dna_docin.readFloat("x2a0_orbitDistanceMax");
/* x2a4_grappleSwingLength */
@ -1325,7 +1325,7 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
/* x2ac_grapplePullSpeedMin */
x2ac_grapplePullSpeedMin = __dna_docin.readFloat("x2ac_grapplePullSpeedMin");
/* x2b0_ */
x2b0_ = __dna_docin.readFloat("x2b0_");
x2b0_grappleCameraSpeed = __dna_docin.readFloat("x2b0_");
/* x2b4_maxGrappleLockedTurnAlignDistance */
x2b4_maxGrappleLockedTurnAlignDistance = __dna_docin.readFloat("x2b4_maxGrappleLockedTurnAlignDistance");
/* x2b8_grapplePullSpeedProportion */
@ -1342,10 +1342,10 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
x2cc_grappleReleaseTime = __dna_docin.readFloat("x2cc_grappleReleaseTime");
/* x2d0_grappleJumpMode */
x2d0_grappleJumpMode = __dna_docin.readUint32("x2d0_grappleJumpMode");
/* x2d4_ */
x2d4_ = __dna_docin.readBool("x2d4_");
/* x2d5_ */
x2d5_invertGrappleTurn = __dna_docin.readBool("x2d5_");
/* x2d4_orbitReleaseBreaksGrapple */
x2d4_orbitReleaseBreaksGrapple = __dna_docin.readBool("x2d4_orbitReleaseBreaksGrapple");
/* x2d5_invertGrappleTurn */
x2d5_invertGrappleTurn = __dna_docin.readBool("x2d5_invertGrappleTurn");
/* x2d8_ */
x2d8_ = __dna_docin.readFloat("x2d8_");
/* x2dc_ */
@ -1365,21 +1365,21 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
/* x27c_playerBallHalfExtent */
x27c_playerBallHalfExtent = __dna_docin.readFloat("x27c_playerBallHalfExtent");
/* x280_ */
x280_ = __dna_docin.readFloat("x280_");
x280_firstPersonCameraSpeed = __dna_docin.readFloat("x280_");
/* x284_ */
x284_ = __dna_docin.readFloat("x284_");
/* x288_ */
x288_ = __dna_docin.readFloat("x288_");
/* x28c_ */
x28c_ = __dna_docin.readFloat("x28c_");
/* x290_ */
x290_ = __dna_docin.readFloat("x290_");
/* x294_ */
x294_ = __dna_docin.readFloat("x294_");
/* x298_ */
x298_ = __dna_docin.readFloat("x298_");
/* x29c_ */
x29c_ = __dna_docin.readFloat("x29c_");
/* x288_jumpCameraPitchDownStart */
x288_jumpCameraPitchDownStart = __dna_docin.readFloat("x288_jumpCameraPitchDownStart");
/* x28c_jumpCameraPitchDownFull */
x28c_jumpCameraPitchDownFull = __dna_docin.readFloat("x28c_jumpCameraPitchDownFull");
/* x290_jumpCameraPitchDownAngle */
x290_jumpCameraPitchDownAngle = __dna_docin.readFloat("x290_jumpCameraPitchDownAngle");
/* x294_fallCameraPitchDownStart */
x294_fallCameraPitchDownStart = __dna_docin.readFloat("x294_fallCameraPitchDownStart");
/* x298_fallCameraPitchDownFull */
x298_fallCameraPitchDownFull = __dna_docin.readFloat("x298_fallCameraPitchDownFull");
/* x29c_fallCameraPitchDownAngle */
x29c_fallCameraPitchDownAngle = __dna_docin.readFloat("x29c_fallCameraPitchDownAngle");
/* x2e8_ */
x2e8_ = __dna_docin.readFloat("x2e8_");
/* x2ec_ */
@ -1536,16 +1536,16 @@ void CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout) const
__dna_docout.writeFloat("xd8_horizontalDoubleJumpAccel", xd8_horizontalDoubleJumpAccel);
/* xdc_waterJumpFactor */
__dna_docout.writeFloat("xdc_waterJumpFactor", xdc_waterJumpFactor);
/* xe0_ */
__dna_docout.writeFloat("xe0_", xe0_);
/* xe0_waterBallJumpFactor */
__dna_docout.writeFloat("xe0_waterBallJumpFactor", xe0_waterBallJumpFactor);
/* xe4_lavaJumpFactor */
__dna_docout.writeFloat("xe4_lavaJumpFactor", xe4_lavaJumpFactor);
/* xe8_ */
__dna_docout.writeFloat("xe8_", xe8_);
/* xe8_lavaBallJumpFactor */
__dna_docout.writeFloat("xe8_lavaBallJumpFactor", xe8_lavaBallJumpFactor);
/* xec_phazonJumpFactor */
__dna_docout.writeFloat("xec_phazonJumpFactor", xec_phazonJumpFactor);
/* xf0_ */
__dna_docout.writeFloat("xf0_", xf0_);
/* xf0_phazonBallJumpFactor */
__dna_docout.writeFloat("xf0_phazonBallJumpFactor", xf0_phazonBallJumpFactor);
/* xf4_allowedJumpTime */
__dna_docout.writeFloat("xf4_allowedJumpTime", xf4_allowedJumpTime);
/* xf8_allowedDoubleJumpTime */
@ -1566,10 +1566,10 @@ void CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout) const
__dna_docout.writeFloat("x114_doubleJumpImpulse", x114_doubleJumpImpulse);
/* x118_backwardsForceMultiplier */
__dna_docout.writeFloat("x118_backwardsForceMultiplier", x118_backwardsForceMultiplier);
/* x11c_ */
__dna_docout.writeFloat("x11c_", x11c_);
/* x120_ */
__dna_docout.writeFloat("x120_", x120_);
/* x11c_bombJumpRadius */
__dna_docout.writeFloat("x11c_bombJumpRadius", x11c_bombJumpRadius);
/* x120_bombJumpHeight */
__dna_docout.writeFloat("x120_bombJumpHeight", x120_bombJumpHeight);
/* x124_eyeOffset */
__dna_docout.writeFloat("x124_eyeOffset", x124_eyeOffset);
/* x128_turnSpeedMultiplier */
@ -1590,8 +1590,8 @@ void CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout) const
__dna_docout.writeFloat("x144_freeLookCenteredThresholdAngle", x144_freeLookCenteredThresholdAngle);
/* x148_freeLookCenteredTime */
__dna_docout.writeFloat("x148_freeLookCenteredTime", x148_freeLookCenteredTime);
/* x14c_ */
__dna_docout.writeFloat("x14c_", x14c_);
/* x14c_freeLookDampenFactor */
__dna_docout.writeFloat("x14c_freeLookDampenFactor", x14c_freeLookDampenFactor);
/* x150_leftDiv */
__dna_docout.writeFloat("x150_leftDiv", x150_leftDiv);
/* x154_rightDiv */
@ -1622,8 +1622,8 @@ void CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout) const
__dna_docout.writeBool("x229_27_", x229_27_);
/* x229_28_ */
__dna_docout.writeBool("x229_28_", x229_28_);
/* x229_29_ */
__dna_docout.writeBool("x229_29_", x229_29_);
/* x229_29_orbitFixedOffset */
__dna_docout.writeBool("x229_29_orbitFixedOffset", x229_29_orbitFixedOffset);
/* x229_30_gunButtonTogglesHolster */
__dna_docout.writeBool("x229_30_gunButtonTogglesHolster", x229_30_gunButtonTogglesHolster);
/* x229_31_gunNotFiringHolstersGun */
@ -1670,56 +1670,56 @@ void CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout) const
__dna_docout.writeFloat("x264_aimAssistHorizontalAngle", x264_aimAssistHorizontalAngle);
/* x268_aimAssistVerticalAngle */
__dna_docout.writeFloat("x268_aimAssistVerticalAngle", x268_aimAssistVerticalAngle);
/* x158_ */
if (auto v = __dna_docout.enterSubVector("x158_"))
/* x158_orbitZBasedDistance */
if (auto v = __dna_docout.enterSubVector("x158_orbitZBasedDistance"))
{
/* x158_[0] */
__dna_docout.writeFloat("x158_", x158_[0]);
/* x158_[1] */
__dna_docout.writeFloat("x158_", x158_[1]);
/* x158_[2] */
__dna_docout.writeFloat("x158_", x158_[2]);
/* x158_orbitZBasedDistance[0] */
__dna_docout.writeFloat("x158_orbitZBasedDistance", x158_orbitZBasedDistance[0]);
/* x158_orbitZBasedDistance[1] */
__dna_docout.writeFloat("x158_orbitZBasedDistance", x158_orbitZBasedDistance[1]);
/* x158_orbitZBasedDistance[2] */
__dna_docout.writeFloat("x158_orbitZBasedDistance", x158_orbitZBasedDistance[2]);
}
/* x164_ */
if (auto v = __dna_docout.enterSubVector("x164_"))
/* x164_orbitNormalDistance */
if (auto v = __dna_docout.enterSubVector("x164_orbitNormalDistance"))
{
/* x164_[0] */
__dna_docout.writeFloat("x164_", x164_[0]);
/* x164_[1] */
__dna_docout.writeFloat("x164_", x164_[1]);
/* x164_[2] */
__dna_docout.writeFloat("x164_", x164_[2]);
/* x164_orbitNormalDistance[0] */
__dna_docout.writeFloat("x164_orbitNormalDistance", x164_orbitNormalDistance[0]);
/* x164_orbitNormalDistance[1] */
__dna_docout.writeFloat("x164_orbitNormalDistance", x164_orbitNormalDistance[1]);
/* x164_orbitNormalDistance[2] */
__dna_docout.writeFloat("x164_orbitNormalDistance", x164_orbitNormalDistance[2]);
}
/* x170_ */
if (auto v = __dna_docout.enterSubVector("x170_"))
/* x170_orbitMaxDistance */
if (auto v = __dna_docout.enterSubVector("x170_orbitMaxDistance"))
{
/* x170_[0] */
__dna_docout.writeFloat("x170_", x170_[0]);
/* x170_[1] */
__dna_docout.writeFloat("x170_", x170_[1]);
/* x170_[2] */
__dna_docout.writeFloat("x170_", x170_[2]);
/* x170_orbitMaxDistance[0] */
__dna_docout.writeFloat("x170_orbitMaxDistance", x170_orbitMaxDistance[0]);
/* x170_orbitMaxDistance[1] */
__dna_docout.writeFloat("x170_orbitMaxDistance", x170_orbitMaxDistance[1]);
/* x170_orbitMaxDistance[2] */
__dna_docout.writeFloat("x170_orbitMaxDistance", x170_orbitMaxDistance[2]);
}
/* x17c_ */
__dna_docout.writeFloat("x17c_", x17c_);
/* x180_orbitNormalDistance */
__dna_docout.writeFloat("x180_orbitNormalDistance", x180_orbitNormalDistance);
/* x184_ */
__dna_docout.writeFloat("x184_", x184_);
/* x188_maxUpwardOrbitLookAngle */
__dna_docout.writeFloat("x188_maxUpwardOrbitLookAngle", x188_maxUpwardOrbitLookAngle);
/* x18c_maxDownwardOrbitLookAngle */
__dna_docout.writeFloat("x18c_maxDownwardOrbitLookAngle", x18c_maxDownwardOrbitLookAngle);
/* x180_orbitModeTimer */
__dna_docout.writeFloat("x180_orbitModeTimer", x180_orbitModeTimer);
/* x184_orbitCameraSpeed */
__dna_docout.writeFloat("x184_orbitCameraSpeed", x184_orbitCameraSpeed);
/* x188_orbitUpperAngle */
__dna_docout.writeFloat("x188_orbitUpperAngle", x188_orbitUpperAngle);
/* x18c_orbitLowerAngle */
__dna_docout.writeFloat("x18c_orbitLowerAngle", x18c_orbitLowerAngle);
/* x190_orbitHorizAngle */
__dna_docout.writeFloat("x190_orbitHorizAngle", x190_orbitHorizAngle);
/* x194_ */
__dna_docout.writeFloat("x194_", x194_);
/* x198_ */
__dna_docout.writeFloat("x198_", x198_);
/* x19c_ */
__dna_docout.writeFloat("x19c_", x19c_);
/* x1a0_ */
__dna_docout.writeFloat("x1a0_", x1a0_);
/* x19c_orbitMaxTargetDistance */
__dna_docout.writeFloat("x19c_orbitMaxTargetDistance", x19c_orbitMaxTargetDistance);
/* x1a0_orbitMaxLockDistance */
__dna_docout.writeFloat("x1a0_orbitMaxLockDistance", x1a0_orbitMaxLockDistance);
/* x1a4_orbitDistanceThreshold */
__dna_docout.writeFloat("x1a4_orbitDistanceThreshold", x1a4_orbitDistanceThreshold);
/* x1a8_orbitScreenBoxHalfExtentX */
@ -1778,8 +1778,8 @@ void CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout) const
__dna_docout.writeFloat("x1e0_", x1e0_);
/* x1e4_ */
__dna_docout.writeFloat("x1e4_", x1e4_);
/* x1e8_ */
__dna_docout.writeFloat("x1e8_", x1e8_);
/* x1e8_orbitFixedOffsetZDiff */
__dna_docout.writeFloat("x1e8_orbitFixedOffsetZDiff", x1e8_orbitFixedOffsetZDiff);
/* x1ec_orbitZRange */
__dna_docout.writeFloat("x1ec_orbitZRange", x1ec_orbitZRange);
/* x1f0_ */
@ -1788,8 +1788,8 @@ void CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout) const
__dna_docout.writeFloat("x1f4_", x1f4_);
/* x1f8_ */
__dna_docout.writeFloat("x1f8_", x1f8_);
/* x1fc_ */
__dna_docout.writeFloat("x1fc_", x1fc_);
/* x1fc_orbitPreventionTime */
__dna_docout.writeFloat("x1fc_orbitPreventionTime", x1fc_orbitPreventionTime);
/* x200_24_dashEnabled */
__dna_docout.writeBool("x200_24_dashEnabled", x200_24_dashEnabled);
/* x200_25_dashOnButtonRelease */
@ -1812,10 +1812,10 @@ void CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout) const
__dna_docout.writeBool("x21c_25_scanFreezesGame", x21c_25_scanFreezesGame);
/* x21c_26_orbitWhileScanning */
__dna_docout.writeBool("x21c_26_orbitWhileScanning", x21c_26_orbitWhileScanning);
/* x220_ */
__dna_docout.writeFloat("x220_", x220_);
/* x224_scanningFrameSenseRange */
__dna_docout.writeFloat("x224_scanningFrameSenseRange", x224_scanningFrameSenseRange);
/* x220_scanMaxTargetDistance */
__dna_docout.writeFloat("x220_scanMaxTargetDistance", x220_scanMaxTargetDistance);
/* x224_scanMaxLockDistance */
__dna_docout.writeFloat("x224_scanMaxLockDistance", x224_scanMaxLockDistance);
/* x2a0_orbitDistanceMax */
__dna_docout.writeFloat("x2a0_orbitDistanceMax", x2a0_orbitDistanceMax);
/* x2a4_grappleSwingLength */
@ -1825,7 +1825,7 @@ void CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout) const
/* x2ac_grapplePullSpeedMin */
__dna_docout.writeFloat("x2ac_grapplePullSpeedMin", x2ac_grapplePullSpeedMin);
/* x2b0_ */
__dna_docout.writeFloat("x2b0_", x2b0_);
__dna_docout.writeFloat("x2b0_", x2b0_grappleCameraSpeed);
/* x2b4_maxGrappleLockedTurnAlignDistance */
__dna_docout.writeFloat("x2b4_maxGrappleLockedTurnAlignDistance", x2b4_maxGrappleLockedTurnAlignDistance);
/* x2b8_grapplePullSpeedProportion */
@ -1842,10 +1842,10 @@ void CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout) const
__dna_docout.writeFloat("x2cc_grappleReleaseTime", x2cc_grappleReleaseTime);
/* x2d0_grappleJumpMode */
__dna_docout.writeUint32("x2d0_grappleJumpMode", x2d0_grappleJumpMode);
/* x2d4_ */
__dna_docout.writeBool("x2d4_", x2d4_);
/* x2d4_ */
__dna_docout.writeBool("x2d5_", x2d5_invertGrappleTurn);
/* x2d4_orbitReleaseBreaksGrapple */
__dna_docout.writeBool("x2d4_orbitReleaseBreaksGrapple", x2d4_orbitReleaseBreaksGrapple);
/* x2d5_invertGrappleTurn */
__dna_docout.writeBool("x2d5_invertGrappleTurn", x2d5_invertGrappleTurn);
/* x2d8_ */
__dna_docout.writeFloat("x2d8_", x2d8_);
/* x2dc_ */
@ -1865,21 +1865,21 @@ void CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout) const
/* x27c_playerBallHalfExtent */
__dna_docout.writeFloat("x27c_playerBallHalfExtent", x27c_playerBallHalfExtent);
/* x280_ */
__dna_docout.writeFloat("x280_", x280_);
__dna_docout.writeFloat("x280_", x280_firstPersonCameraSpeed);
/* x284_ */
__dna_docout.writeFloat("x284_", x284_);
/* x288_ */
__dna_docout.writeFloat("x288_", x288_);
/* x28c_ */
__dna_docout.writeFloat("x28c_", x28c_);
/* x290_ */
__dna_docout.writeFloat("x290_", x290_);
/* x294_ */
__dna_docout.writeFloat("x294_", x294_);
/* x298_ */
__dna_docout.writeFloat("x298_", x298_);
/* x29c_ */
__dna_docout.writeFloat("x29c_", x29c_);
/* x288_jumpCameraPitchDownStart */
__dna_docout.writeFloat("x288_jumpCameraPitchDownStart", x288_jumpCameraPitchDownStart);
/* x28c_jumpCameraPitchDownFull */
__dna_docout.writeFloat("x28c_jumpCameraPitchDownFull", x28c_jumpCameraPitchDownFull);
/* x290_jumpCameraPitchDownAngle */
__dna_docout.writeFloat("x290_jumpCameraPitchDownAngle", x290_jumpCameraPitchDownAngle);
/* x294_fallCameraPitchDownStart */
__dna_docout.writeFloat("x294_fallCameraPitchDownStart", x294_fallCameraPitchDownStart);
/* x298_fallCameraPitchDownFull */
__dna_docout.writeFloat("x298_fallCameraPitchDownFull", x298_fallCameraPitchDownFull);
/* x29c_fallCameraPitchDownAngle */
__dna_docout.writeFloat("x29c_fallCameraPitchDownAngle", x29c_fallCameraPitchDownAngle);
/* x2e8_ */
__dna_docout.writeFloat("x2e8_", x2e8_);
/* x2ec_ */
@ -1916,20 +1916,20 @@ void CTweakPlayer::FixupValues()
x264_aimAssistHorizontalAngle = zeus::degToRad(x264_aimAssistHorizontalAngle);
x268_aimAssistVerticalAngle = zeus::degToRad(x268_aimAssistVerticalAngle);
x17c_ = zeus::degToRad(x17c_);
x184_ = zeus::degToRad(x184_);
x188_maxUpwardOrbitLookAngle = zeus::degToRad(x188_maxUpwardOrbitLookAngle);
x18c_maxDownwardOrbitLookAngle = zeus::degToRad(x18c_maxDownwardOrbitLookAngle);
x184_orbitCameraSpeed = zeus::degToRad(x184_orbitCameraSpeed);
x188_orbitUpperAngle = zeus::degToRad(x188_orbitUpperAngle);
x18c_orbitLowerAngle = zeus::degToRad(x18c_orbitLowerAngle);
x190_orbitHorizAngle = zeus::degToRad(x190_orbitHorizAngle);
x194_ = zeus::degToRad(x194_);
x198_ = zeus::degToRad(x198_);
x1f0_ = zeus::degToRad(x1f0_);
x1f4_ = zeus::degToRad(x1f4_);
x2b0_ = zeus::degToRad(x2b0_);
x2b0_grappleCameraSpeed = zeus::degToRad(x2b0_grappleCameraSpeed);
x2c0_grappleLookCenterSpeed = zeus::degToRad(x2c0_grappleLookCenterSpeed);
x280_ = zeus::degToRad(x280_);
x280_firstPersonCameraSpeed = zeus::degToRad(x280_firstPersonCameraSpeed);
x284_ = zeus::degToRad(x284_);
x290_ = zeus::degToRad(x290_);
x29c_ = zeus::degToRad(x29c_);
x290_jumpCameraPitchDownAngle = zeus::degToRad(x290_jumpCameraPitchDownAngle);
x29c_fallCameraPitchDownAngle = zeus::degToRad(x29c_fallCameraPitchDownAngle);
}
const char* CTweakPlayer::DNAType()

View File

@ -24,11 +24,11 @@ struct CTweakPlayer : ITweakPlayer
Value<float> xd4_verticalDoubleJumpAccel;
Value<float> xd8_horizontalDoubleJumpAccel;
Value<float> xdc_waterJumpFactor;
Value<float> xe0_;
Value<float> xe0_waterBallJumpFactor;
Value<float> xe4_lavaJumpFactor;
Value<float> xe8_;
Value<float> xe8_lavaBallJumpFactor;
Value<float> xec_phazonJumpFactor;
Value<float> xf0_;
Value<float> xf0_phazonBallJumpFactor;
Value<float> xf4_allowedJumpTime;
Value<float> xf8_allowedDoubleJumpTime;
Value<float> xfc_minDoubleJumpWindow;
@ -39,8 +39,8 @@ struct CTweakPlayer : ITweakPlayer
Value<float> x110_allowedLedgeTime;
Value<float> x114_doubleJumpImpulse;
Value<float> x118_backwardsForceMultiplier;
Value<float> x11c_;
Value<float> x120_;
Value<float> x11c_bombJumpRadius;
Value<float> x120_bombJumpHeight;
Value<float> x124_eyeOffset;
Value<float> x128_turnSpeedMultiplier;
Value<float> x12c_freeLookTurnSpeedMultiplier;
@ -51,22 +51,22 @@ struct CTweakPlayer : ITweakPlayer
Value<float> x140_;
Value<float> x144_freeLookCenteredThresholdAngle;
Value<float> x148_freeLookCenteredTime;
Value<float> x14c_;
Value<float> x14c_freeLookDampenFactor;
Value<float> x150_leftDiv;
Value<float> x154_rightDiv;
Value<float> x158_[3];
Value<float> x164_[3];
Value<float> x170_[3];
Value<float> x158_orbitZBasedDistance[3];
Value<float> x164_orbitNormalDistance[3];
Value<float> x170_orbitMaxDistance[3];
Value<float> x17c_;
Value<float> x180_orbitNormalDistance;
Value<float> x184_;
Value<float> x188_maxUpwardOrbitLookAngle;
Value<float> x18c_maxDownwardOrbitLookAngle;
Value<float> x180_orbitModeTimer;
Value<float> x184_orbitCameraSpeed;
Value<float> x188_orbitUpperAngle;
Value<float> x18c_orbitLowerAngle;
Value<float> x190_orbitHorizAngle;
Value<float> x194_;
Value<float> x198_;
Value<float> x19c_;
Value<float> x1a0_;
Value<float> x19c_orbitMaxTargetDistance;
Value<float> x1a0_orbitMaxLockDistance;
Value<float> x1a4_orbitDistanceThreshold;
Value<atUint32> x1a8_orbitScreenBoxHalfExtentX[2];
Value<atUint32> x1b0_orbitScreenBoxHalfExtentY[2];
@ -78,12 +78,12 @@ struct CTweakPlayer : ITweakPlayer
Value<float> x1dc_orbitNearZ;
Value<float> x1e0_;
Value<float> x1e4_;
Value<float> x1e8_;
Value<float> x1e8_orbitFixedOffsetZDiff;
Value<float> x1ec_orbitZRange;
Value<float> x1f0_;
Value<float> x1f4_;
Value<float> x1f8_;
Value<float> x1fc_;
Value<float> x1fc_orbitPreventionTime;
Value<bool> x200_24_dashEnabled : 1;
Value<bool> x200_25_dashOnButtonRelease : 1;
Value<float> x204_dashButtonHoldCancelTime;
@ -95,8 +95,8 @@ struct CTweakPlayer : ITweakPlayer
Value<bool> x21c_24_scanRetention : 1;
Value<bool> x21c_25_scanFreezesGame : 1;
Value<bool> x21c_26_orbitWhileScanning : 1;
Value<float> x220_;
Value<float> x224_scanningFrameSenseRange;
Value<float> x220_scanMaxTargetDistance;
Value<float> x224_scanMaxLockDistance;
Value<bool> x228_24_freelookTurnsPlayer : 1;
Value<bool> x228_25_ : 1;
Value<bool> x228_26_ : 1;
@ -110,7 +110,7 @@ struct CTweakPlayer : ITweakPlayer
Value<bool> x229_26_stayInFreeLookWhileFiring : 1;
Value<bool> x229_27_ : 1;
Value<bool> x229_28_ : 1;
Value<bool> x229_29_ : 1;
Value<bool> x229_29_orbitFixedOffset : 1;
Value<bool> x229_30_gunButtonTogglesHolster : 1;
Value<bool> x229_31_gunNotFiringHolstersGun : 1;
Value<bool> x22a_24_fallingDoubleJump : 1;
@ -139,19 +139,19 @@ struct CTweakPlayer : ITweakPlayer
Value<float> x274_stepUpHeight;
Value<float> x278_stepDownHeight;
Value<float> x27c_playerBallHalfExtent;
Value<float> x280_;
Value<float> x280_firstPersonCameraSpeed;
Value<float> x284_;
Value<float> x288_;
Value<float> x28c_;
Value<float> x290_;
Value<float> x294_;
Value<float> x298_;
Value<float> x29c_;
Value<float> x288_jumpCameraPitchDownStart;
Value<float> x28c_jumpCameraPitchDownFull;
Value<float> x290_jumpCameraPitchDownAngle;
Value<float> x294_fallCameraPitchDownStart;
Value<float> x298_fallCameraPitchDownFull;
Value<float> x29c_fallCameraPitchDownAngle;
Value<float> x2a0_orbitDistanceMax;
Value<float> x2a4_grappleSwingLength;
Value<float> x2a8_grappleSwingPeriod;
Value<float> x2ac_grapplePullSpeedMin;
Value<float> x2b0_;
Value<float> x2b0_grappleCameraSpeed;
Value<float> x2b4_maxGrappleLockedTurnAlignDistance;
Value<float> x2b8_grapplePullSpeedProportion;
Value<float> x2bc_grapplePullSpeedMax;
@ -160,7 +160,7 @@ struct CTweakPlayer : ITweakPlayer
Value<float> x2c8_grappleJumpForce;
Value<float> x2cc_grappleReleaseTime;
Value<atUint32> x2d0_grappleJumpMode;
Value<bool> x2d4_;
Value<bool> x2d4_orbitReleaseBreaksGrapple;
Value<bool> x2d5_invertGrappleTurn;
Value<float> x2d8_;
Value<float> x2dc_;
@ -188,8 +188,11 @@ struct CTweakPlayer : ITweakPlayer
float GetVerticalDoubleJumpAccel() const { return xd4_verticalDoubleJumpAccel; }
float GetHorizontalDoubleJumpAccel() const { return xd8_horizontalDoubleJumpAccel; }
float GetWaterJumpFactor() const { return xdc_waterJumpFactor; }
float GetWaterBallJumpFactor() const { return xe0_waterBallJumpFactor; }
float GetLavaJumpFactor() const { return xe4_lavaJumpFactor; }
float GetLavaBallJumpFactor() const { return xe8_lavaBallJumpFactor; }
float GetPhazonJumpFactor() const { return xec_phazonJumpFactor; }
float GetPhazonBallJumpFactor() const { return xf0_phazonBallJumpFactor; }
float GetAllowedJumpTime() const { return xf4_allowedJumpTime; }
float GetAllowedDoubleJumpTime() const { return xf8_allowedDoubleJumpTime; }
float GetMinDoubleJumpWindow() const { return xfc_minDoubleJumpWindow; }
@ -199,6 +202,8 @@ struct CTweakPlayer : ITweakPlayer
float GetAllowedLedgeTime() const { return x110_allowedLedgeTime; }
float GetDoubleJumpImpulse() const { return x114_doubleJumpImpulse; }
float GetBackwardsForceMultiplier() const { return x118_backwardsForceMultiplier; }
float GetBombJumpRadius() const { return x11c_bombJumpRadius; }
float GetBombJumpHeight() const { return x120_bombJumpHeight; }
float GetEyeOffset() const { return x124_eyeOffset; }
float GetTurnSpeedMultiplier() const { return x128_turnSpeedMultiplier; }
float GetFreeLookTurnSpeedMultiplier() const { return x12c_freeLookTurnSpeedMultiplier; }
@ -206,10 +211,12 @@ struct CTweakPlayer : ITweakPlayer
float GetFreeLookSnapSpeed() const { return x13c_freeLookSnapSpeed; }
float GetFreeLookCenteredThresholdAngle() const { return x144_freeLookCenteredThresholdAngle; }
float GetFreeLookCenteredTime() const { return x148_freeLookCenteredTime; }
float GetOrbitNormalDistance() const { return x180_orbitNormalDistance; }
float GetMaxUpwardOrbitLookAngle() const { return x188_maxUpwardOrbitLookAngle; }
float GetMaxDownwardOrbitLookAngle() const { return x18c_maxDownwardOrbitLookAngle; }
float GetOrbitModeTimer() const { return x180_orbitModeTimer; }
float GetOrbitUpperAngle() const { return x188_orbitUpperAngle; }
float GetOrbitLowerAngle() const { return x18c_orbitLowerAngle; }
float GetOrbitHorizAngle() const { return x190_orbitHorizAngle; }
float GetOrbitMaxTargetDistance() const { return x19c_orbitMaxTargetDistance; }
float GetOrbitMaxLockDistance() const { return x1a0_orbitMaxLockDistance; }
float GetOrbitDistanceThreshold() const { return x1a4_orbitDistanceThreshold; }
uint32_t GetOrbitScreenBoxHalfExtentX(int zone) const { return x1a8_orbitScreenBoxHalfExtentX[zone]; }
uint32_t GetOrbitScreenBoxHalfExtentY(int zone) const { return x1b0_orbitScreenBoxHalfExtentY[zone]; }
@ -219,6 +226,7 @@ struct CTweakPlayer : ITweakPlayer
uint32_t GetOrbitZoneIdealY(int zone) const { return x1d0_orbitZoneIdealY[zone]; }
float GetOrbitNearX() const { return x1d8_orbitNearX; }
float GetOrbitNearZ() const { return x1dc_orbitNearZ; }
float GetOrbitFixedOffsetZDiff() const { return x1e8_orbitFixedOffsetZDiff; }
float GetOrbitZRange() const { return x1ec_orbitZRange; }
bool GetDashEnabled() const { return x200_24_dashEnabled; }
bool GetDashOnButtonRelease() const { return x200_25_dashOnButtonRelease; }
@ -231,12 +239,14 @@ struct CTweakPlayer : ITweakPlayer
bool GetScanRetention() const { return x21c_24_scanRetention; }
bool GetScanFreezesGame() const { return x21c_25_scanFreezesGame; }
bool GetOrbitWhileScanning() const { return x21c_26_orbitWhileScanning; }
float GetScanningFrameSenseRange() const { return x224_scanningFrameSenseRange; }
float GetScanMaxTargetDistance() const { return x220_scanMaxTargetDistance; }
float GetScanMaxLockDistance() const { return x224_scanMaxLockDistance; }
bool GetMoveDuringFreeLook() const { return x228_27_moveDuringFreeLook; }
bool GetHoldButtonsForFreeLook() const { return x228_28_holdButtonsForFreeLook; }
bool GetTwoButtonsForFreeLook() const { return x228_29_twoButtonsForFreeLook; }
bool GetAimWhenOrbitingPoint() const { return x229_25_aimWhenOrbitingPoint; }
bool GetStayInFreeLookWhileFiring() const { return x229_26_stayInFreeLookWhileFiring; }
bool GetOrbitFixedOffset() const { return x229_29_orbitFixedOffset; }
bool GetGunButtonTogglesHolster() const { return x229_30_gunButtonTogglesHolster; }
bool GetGunNotFiringHolstersGun() const { return x229_31_gunNotFiringHolstersGun; }
bool GetFallingDoubleJump() const { return x22a_24_fallingDoubleJump; }
@ -268,24 +278,27 @@ struct CTweakPlayer : ITweakPlayer
float GetGrappleJumpForce() const { return x2c8_grappleJumpForce; }
float GetGrappleReleaseTime() const { return x2cc_grappleReleaseTime; }
uint32_t GetGrappleJumpMode() const { return x2d0_grappleJumpMode; }
bool InvertGrappleTurn() const { return x2d5_invertGrappleTurn; }
bool GetOrbitReleaseBreaksGrapple() const { return x2d4_orbitReleaseBreaksGrapple; }
bool GetInvertGrappleTurn() const { return x2d5_invertGrappleTurn; }
float GetHorizontalFreeLookAngleVel() const { return x130_horizontalFreeLookAngleVel; }
float GetVerticalFreeLookAngleVel() const { return x134_verticalFreeLookAngleVel; }
float GetX184() const { return x184_; }
float GetX1fc() const { return x1fc_; }
float GetOrbitCameraSpeed() const { return x184_orbitCameraSpeed; }
float GetOrbitPreventionTime() const { return x1fc_orbitPreventionTime; }
bool GetFreeLookTurnsPlayer() const { return x228_24_freelookTurnsPlayer; }
float GetX288() const { return x288_; }
float GetX28c() const { return x28c_; }
float GetX290() const { return x290_; }
float GetX294() const { return x294_; }
float GetX298() const { return x298_; }
float GetX29C() const { return x29c_; }
float GetX280() const { return x280_; }
float GetX2B0() const { return x2b0_; }
float GetX14C() const { return x14c_; }
float GetJumpCameraPitchDownStart() const { return x288_jumpCameraPitchDownStart; }
float GetJumpCameraPitchDownFull() const { return x28c_jumpCameraPitchDownFull; }
float GetJumpCameraPitchDownAngle() const { return x290_jumpCameraPitchDownAngle; }
float GetFallCameraPitchDownStart() const { return x294_fallCameraPitchDownStart; }
float GetFallCameraPitchDownFull() const { return x298_fallCameraPitchDownFull; }
float GetFallCameraPitchDownAngle() const { return x29c_fallCameraPitchDownAngle; }
float GetFirstPersonCameraSpeed() const { return x280_firstPersonCameraSpeed; }
float GetGrappleCameraSpeed() const { return x2b0_grappleCameraSpeed; }
float GetFreeLookDampenFactor() const { return x14c_freeLookDampenFactor; }
float GetLeftLogicalThreshold() const { return x150_leftDiv; }
float GetRightLogicalThreshold() const { return x154_rightDiv; }
float GetX164(int type) const { return x164_[type]; }
float GetOrbitZBasedDistance(int type) const { return x158_orbitZBasedDistance[type]; }
float GetOrbitNormalDistance(int type) const { return x164_orbitNormalDistance[type]; }
float GetOrbitMaxDistance(int type) const { return x170_orbitMaxDistance[type]; }
float GetFrozenTimeout() const { return x2f8_frozenTimeout; }
uint32_t GetIceBreakJumpCount() const { return x2fc_iceBreakJumpCount; }
float GetVariaDamageReduction() const { return x300_variaDamageReduction; }

View File

@ -412,6 +412,23 @@ void CSfxManager::UpdateEmitter(const CSfxHandle& handle, const zeus::CVector3f&
h.setMaxVol(maxVol);
}
CSfxHandle CSfxManager::AddEmitter(u16 id, const zeus::CVector3f& pos, const zeus::CVector3f& dir,
bool useAcoustics, bool looped, s16 prio, s32 areaId)
{
CAudioSys::C3DEmitterParmData parmData;
parmData.x0_pos = pos;
parmData.xc_dir = dir;
parmData.x18_maxDist = 150.f;
parmData.x1c_distComp = 0.1f;
parmData.x20_flags = 1; // Continuous parameter update
parmData.x24_sfxId = id;
parmData.x26_maxVol = 1.f;
parmData.x27_minVol = 0.165f;
parmData.x28_important = false;
parmData.x29_prio = 0x7f;
return AddEmitter(parmData, useAcoustics, prio, looped, areaId);
}
CSfxHandle CSfxManager::AddEmitter(u16 id, const zeus::CVector3f& pos, const zeus::CVector3f& dir, float vol,
bool useAcoustics, bool looped, s16 prio, s32 areaId)
{
@ -423,6 +440,7 @@ CSfxHandle CSfxManager::AddEmitter(u16 id, const zeus::CVector3f& pos, const zeu
parmData.x20_flags = 1; // Continuous parameter update
parmData.x24_sfxId = id;
parmData.x26_maxVol = std::max(vol, 0.165f);
parmData.x27_minVol = 0.165f;
parmData.x28_important = false;
parmData.x29_prio = 0x7f;
return AddEmitter(parmData, useAcoustics, prio, looped, areaId);

View File

@ -224,6 +224,8 @@ public:
static void RemoveEmitter(const CSfxHandle& handle);
static void UpdateEmitter(const CSfxHandle& handle, const zeus::CVector3f& pos, const zeus::CVector3f& dir,
float maxVol);
static CSfxHandle AddEmitter(u16 id, const zeus::CVector3f& pos, const zeus::CVector3f& dir,
bool useAcoustics, bool looped, s16 prio, s32 areaId);
static CSfxHandle AddEmitter(u16 id, const zeus::CVector3f& pos, const zeus::CVector3f& dir, float vol,
bool useAcoustics, bool looped, s16 prio, s32 areaId);
static CSfxHandle AddEmitter(const CAudioSys::C3DEmitterParmData& parmData,

View File

@ -545,7 +545,7 @@ void CStateManager::DrawE3DeathEffect() const
CPlayer& player = *x84c_player;
if (player.x9f4_deathTime > 0.f)
{
if (player.x2f8_morphTransState != CPlayer::EPlayerMorphBallState::Unmorphed)
if (player.x2f8_morphBallState != CPlayer::EPlayerMorphBallState::Unmorphed)
{
float blurAmt = zeus::clamp(0.f, (player.x9f4_deathTime - 1.f) / (6.f - 1.f), 1.f);
if (blurAmt > 0.f)
@ -1316,7 +1316,7 @@ void CStateManager::KnockBackPlayer(CPlayer& player, const zeus::CVector3f& pos,
CPlayer::ESurfaceRestraints surface =
player.x2b0_outOfWaterTicks == 2 ? player.x2ac_surfaceRestraint : CPlayer::ESurfaceRestraints::Water;
if (surface != CPlayer::ESurfaceRestraints::Normal &&
player.GetOrbitState() == CPlayer::EPlayerOrbitState::Zero)
player.GetOrbitState() == CPlayer::EPlayerOrbitState::NoOrbit)
usePower /= 7.f;
}
else

View File

@ -177,37 +177,13 @@ private:
std::set<std::string> xb40_uniqueInstanceNames;
CFinalInput xb54_finalInput;
CCameraFilterPassPoly xb84_camFilterPasses[9];
CCameraBlurPass xd14_camBlurPasses[9];
CCameraFilterPassPoly xb84_camFilterPasses[9]; // size: 0x2c
CCameraBlurPass xd14_camBlurPasses[9]; // size: 0x34
s32 xe60_ = -1;
zeus::CVector3f xe64_;
TUniqueId xe70_ = kInvalidUniqueId;
zeus::CVector3f xe74_ = {0.f, 1.f, 1.f};
s32 xe80_ = 2;
TUniqueId xe84_ = kInvalidUniqueId;
union
{
struct
{
bool xe86_24_ : 1;
bool xe86_25_ : 1;
bool xe86_26_ : 1;
bool xe86_27_ : 1;
bool xe86_28_ : 1;
bool xe86_29_ : 1;
};
u16 _dummy = 0;
};
u32 xeec_hintIdx = -1;
s32 xeec_hintIdx = -1;
u32 xef0_hintPeriods = 0;
SOnScreenTex xef4_pendingScreenTex;
CAssetId xf08_pauseHudMessage = -1;
CAssetId xf08_pauseHudMessage;
float xf0c_escapeTimer = 0.f;
float xf10_escapeTotalTime = 0.f;
float xf14_curTimeMod900 = 0.f;
@ -220,9 +196,7 @@ private:
u32 xf34_particleFlags = 2;
TUniqueId xf38_skipCineSpecialFunc = kInvalidUniqueId;
std::list<u32> xf3c_;
u32 xf50_ = 0;
std::list<u32> xf54_;
u32 xf68_ = 0;
TUniqueId xf6c_playerActor = kInvalidUniqueId;
u32 xf70_ = 0;
@ -233,7 +207,7 @@ private:
CProjectedShadow* xf7c_projectedShadow = nullptr;
u32 xf80_hudMessageFrameCount = 0;
s32 xf84_ = -1;
CAssetId xf88_ = -1;
CAssetId xf88_;
float xf8c_ = 0.f;
EStateManagerTransition xf90_deferredTransition = EStateManagerTransition::InGame;

View File

@ -19,7 +19,7 @@ public:
Five
};
private:
TUniqueId x3dc_ = kInvalidUniqueId;
TUniqueId x3dc_tooCloseActorId = kInvalidUniqueId;
float x3e0_ = 10000.f;
public:
CBallCamera(TUniqueId, TUniqueId, const zeus::CTransform& xf, float, float, float, float);
@ -29,7 +29,7 @@ public:
void Reset(const zeus::CTransform&, CStateManager& mgr);
void SetState(EBallCameraState state, CStateManager& mgr);
bool TransitionFromMorphBallState(CStateManager& mgr);
TUniqueId GetX3DC() const { return x3dc_; }
TUniqueId GetTooCloseActorId() const { return x3dc_tooCloseActorId; }
float GetX3E0() const { return x3e0_; }
void TeleportCamera(const zeus::CVector3f& pos, CStateManager& mgr);
};

View File

@ -181,10 +181,10 @@ void CCameraManager::CreateStandardCameras(CStateManager& stateMgr)
{
TUniqueId fpId = stateMgr.AllocateUniqueId();
x7c_fpCamera = new CFirstPersonCamera(fpId, zeus::CTransform::Identity(),
stateMgr.Player()->GetUniqueId(), g_tweakPlayer->GetX184(),
stateMgr.Player()->GetUniqueId(), g_tweakPlayer->GetOrbitCameraSpeed(),
sFirstPersonFOV, sNearPlane, sFarPlane, sAspect);
stateMgr.AddObject(x7c_fpCamera);
stateMgr.Player()->SetCameraState(CPlayer::EPlayerCameraState::Zero, stateMgr);
stateMgr.Player()->SetCameraState(CPlayer::EPlayerCameraState::FirstPerson, stateMgr);
SetCurrentCameraId(fpId, stateMgr);
x80_ballCamera = new CBallCamera(stateMgr.AllocateUniqueId(), stateMgr.Player()->GetUniqueId(),

View File

@ -12,10 +12,10 @@
namespace urde
{
CFirstPersonCamera::CFirstPersonCamera(TUniqueId uid, const zeus::CTransform& xf, TUniqueId watchedObj, float f1,
float fov, float nearz, float farz, float aspect)
CFirstPersonCamera::CFirstPersonCamera(TUniqueId uid, const zeus::CTransform& xf, TUniqueId watchedObj,
float orbitCameraSpeed, float fov, float nearz, float farz, float aspect)
: CGameCamera(uid, true, "First Person Camera", CEntityInfo(kInvalidAreaId, CEntity::NullConnectionList), xf, fov,
nearz, farz, aspect, watchedObj, false, 0)
nearz, farz, aspect, watchedObj, false, 0), x188_orbitCameraSpeed(orbitCameraSpeed)
{
}
@ -84,8 +84,8 @@ void CFirstPersonCamera::UpdateTransform(CStateManager& mgr, float dt)
if (player->x3dc_inFreeLook)
{
float angle = player->x3ec_freeLookPitchAngle;
if (std::fabs(player->x3ec_freeLookPitchAngle) > (g_tweakPlayer->GetVerticalFreeLookAngleVel() - std::fabs(x1c0_)))
angle = (player->x3ec_freeLookPitchAngle > -0.f ? -1.f : 1.f);
float angleClamp = g_tweakPlayer->GetVerticalFreeLookAngleVel() - std::fabs(x1c0_);
angle = zeus::clamp(-angleClamp, angle, angleClamp);
zeus::CVector3f vec;
vec.z = std::sin(angle);
vec.y = std::cos(-player->x3e4_freeLookYawAngle) * std::cos(angle);
@ -117,14 +117,15 @@ void CFirstPersonCamera::UpdateTransform(CStateManager& mgr, float dt)
rVec = v;
}
}
else if (player->GetOrbitState() == CPlayer::EPlayerOrbitState::Zero &&
else if (player->GetOrbitState() == CPlayer::EPlayerOrbitState::NoOrbit &&
player->GetMorphballTransitionState() == CPlayer::EPlayerMorphBallState::Unmorphed &&
player->x3dc_inFreeLook && x1c4_pitchId == kInvalidUniqueId)
!player->x3dc_inFreeLook && x1c4_pitchId == kInvalidUniqueId)
{
if (player->x294_jumpCameraPitchTimer > 0.f)
if (player->x294_jumpCameraTimer > 0.f)
{
float angle = zeus::clamp(0.f, (player->x294_jumpCameraPitchTimer - g_tweakPlayer->GetX288()) / g_tweakPlayer->GetX28c(), 1.f) *
g_tweakPlayer->GetX290();
float angle = zeus::clamp(0.f, (player->x294_jumpCameraTimer - g_tweakPlayer->GetJumpCameraPitchDownStart()) /
g_tweakPlayer->GetJumpCameraPitchDownFull(), 1.f) *
g_tweakPlayer->GetJumpCameraPitchDownAngle();
angle += x1c0_;
rVec.x = 0.f;
rVec.y = std::cos(angle);
@ -132,10 +133,11 @@ void CFirstPersonCamera::UpdateTransform(CStateManager& mgr, float dt)
rVec = playerXf.rotate(rVec);
}
else if (player->x29c_spaceJumpCameraPitchTimer > 0.f)
else if (player->x29c_fallCameraTimer > 0.f)
{
float angle = zeus::clamp(0.f, (player->x29c_spaceJumpCameraPitchTimer - g_tweakPlayer->GetX294()) / g_tweakPlayer->GetX298(), 1.f) *
g_tweakPlayer->GetX29C();
float angle = zeus::clamp(0.f, (player->x29c_fallCameraTimer - g_tweakPlayer->GetFallCameraPitchDownStart()) /
g_tweakPlayer->GetFallCameraPitchDownFull(), 1.f) *
g_tweakPlayer->GetFallCameraPitchDownAngle();
rVec.x = 0.f;
rVec.y = std::cos(angle);
rVec.z = -std::sin(angle);
@ -160,19 +162,18 @@ void CFirstPersonCamera::UpdateTransform(CStateManager& mgr, float dt)
if (gunFrontVec.canBeNormalized())
gunFrontVec.normalize();
float scaledDt = (dt * g_tweakPlayer->GetX184());
float scaledDt = (dt * g_tweakPlayer->GetOrbitCameraSpeed());
float angle = gunFrontVec.dot(rVec);
if (std::fabs(angle) > 1.f)
angle = (angle > -0.f ? -1.f : 1.f);
angle = zeus::clamp(-1.f, angle, 1.f);
float clampedAngle = zeus::clamp(0.f, std::acos(angle) / scaledDt, 1.f);
if (angle > 0.999f && x18c_ && !player->x374_orbitLockEstablished)
if (angle > 0.999f && x18c_lockCamera && !player->x374_orbitLockEstablished)
qGun = zeus::CQuaternion::lookAt(rVec, gunFrontVec, zeus::CRelAngle::FromDegrees(360.f));
else
qGun = zeus::CQuaternion::lookAt(rVec, gunFrontVec, scaledDt * clampedAngle);
const CScriptGrapplePoint* gPoint =
TCastToConstPtr<CScriptGrapplePoint>(mgr.GetObjectById(player->x310_orbitTargetId));
if (gPoint && player->x29c_spaceJumpCameraPitchTimer > 0.f)
if (gPoint && player->x29c_fallCameraTimer > 0.f)
{
gunFrontVec = x190_gunFollowXf.frontVector();
if (gunFrontVec.canBeNormalized())
@ -192,11 +193,9 @@ void CFirstPersonCamera::UpdateTransform(CStateManager& mgr, float dt)
/* BUG: This is exactly what the runtime is doing, should we restore the intended behavior? */
float angle = gunFrontVec.dot(rVec);
float sdt = dt * g_tweakPlayer->GetX2B0();
if (std::fabs(angle) > 1.0f)
angle = (angle > -0.f ? -1.f : 1.f);
float sdt = dt * g_tweakPlayer->GetGrappleCameraSpeed();
angle = zeus::clamp(-1.f, angle, 1.f);
angle = zeus::clamp(0.f, std::acos(angle) / sdt, 1.f);
qGun = zeus::CQuaternion::lookAt(rVec, gunFrontVec, zeus::CRelAngle::FromDegrees(360.f));
}
@ -204,17 +203,17 @@ void CFirstPersonCamera::UpdateTransform(CStateManager& mgr, float dt)
else if (player->GetOrbitState() == CPlayer::EPlayerOrbitState::Two ||
player->GetOrbitState() == CPlayer::EPlayerOrbitState::Three)
{
dt *= g_tweakPlayer->GetX184();
dt *= g_tweakPlayer->GetOrbitCameraSpeed();
CalculateGunFollowOrientationAndTransform(gunXf, qGun, dt, rVec);
}
else if (player->GetOrbitState() == CPlayer::EPlayerOrbitState::Five)
else if (player->GetOrbitState() == CPlayer::EPlayerOrbitState::Grapple)
{
dt *= g_tweakPlayer->GetX2B0();
dt *= g_tweakPlayer->GetGrappleCameraSpeed();
CalculateGunFollowOrientationAndTransform(gunXf, qGun, dt, rVec);
}
else
{
dt *= g_tweakPlayer->GetX280();
dt *= g_tweakPlayer->GetFirstPersonCameraSpeed();
CalculateGunFollowOrientationAndTransform(gunXf, qGun, dt, rVec);
}
}
@ -235,16 +234,16 @@ void CFirstPersonCamera::UpdateTransform(CStateManager& mgr, float dt)
gunFront.normalize();
float angle = gunFront.dot(rVec);
if (std::fabs(angle) > 1.f)
angle = (angle > -0.f ? -1.f : 1.f);
angle = zeus::clamp(-1.f, angle, 1.f);
float sdt = dt * g_tweakPlayer->GetFreeLookSpeed();
qGun = zeus::CQuaternion::lookAt(
rVec, gunFront, sdt * zeus::clamp(0.f, g_tweakPlayer->GetX14C() * (std::acos(angle) / sdt), 1.f));
rVec, gunFront, sdt * zeus::clamp(0.f, g_tweakPlayer->GetFreeLookDampenFactor() *
(std::acos(angle) / sdt), 1.f));
}
zeus::CTransform bobXf = player->GetCameraBob()->GetCameraBobTransformation();
if (player->GetMorphballTransitionState() == CPlayer::EPlayerMorphBallState::Morphed ||
player->GetOrbitState() == CPlayer::EPlayerOrbitState::Five ||
player->GetOrbitState() == CPlayer::EPlayerOrbitState::Grapple ||
player->GetGrappleState() == CPlayer::EGrappleState::None ||
mgr.GetGameState() == CStateManager::EGameState::SoftPaused ||
mgr.GetCameraManager()->IsInCinematicCamera())

View File

@ -8,8 +8,8 @@ namespace urde
class CFirstPersonCamera : public CGameCamera
{
float x188_;
bool x18c_ = false;
float x188_orbitCameraSpeed;
bool x18c_lockCamera = false;
zeus::CTransform x190_gunFollowXf;
float x1c0_ = 0.f;
TUniqueId x1c4_pitchId = kInvalidUniqueId;
@ -25,7 +25,7 @@ class CFirstPersonCamera : public CGameCamera
float x1d4_ = 0.f;
public:
CFirstPersonCamera(TUniqueId, const zeus::CTransform& xf, TUniqueId, float,
CFirstPersonCamera(TUniqueId, const zeus::CTransform& xf, TUniqueId, float orbitCameraSpeed,
float fov, float nearplane, float farplane, float aspect);
void Accept(IVisitor& visitor);
@ -40,7 +40,7 @@ public:
void UpdateElevation(CStateManager&);
void CalculateGunFollowOrientationAndTransform(zeus::CTransform&, zeus::CQuaternion&, float, zeus::CVector3f&);
void SetScriptPitchId(TUniqueId uid) { x1c4_pitchId = uid; }
void SetX18C(bool v) { x18c_ = v; }
void SetLockCamera(bool v) { x18c_lockCamera = v; }
void SetX1C6_24(bool v) { x1c6_24_ = v; }
};
}

View File

@ -600,7 +600,7 @@ void CInGameGuiManager::Draw(CStateManager& stateMgr)
bool scanVisor = stateMgr.GetPlayerState()->GetActiveVisor(stateMgr) == CPlayerState::EPlayerVisor::Scan;
if (drawVisor && x1f0_enablePlayerVisor)
{
if (stateMgr.GetPlayer().GetCameraState() == CPlayer::EPlayerCameraState::Zero)
if (stateMgr.GetPlayer().GetCameraState() == CPlayer::EPlayerCameraState::FirstPerson)
x20_faceplateDecor.Draw(stateMgr);
CTargetingManager* tgtMgr = nullptr;
if (scanVisor && x1e4_enableTargetingManager)

View File

@ -119,7 +119,7 @@ bool CPlayerVisor::DrawScanObjectIndicators(const CStateManager& mgr) const
zeus::CTransform xf(zeus::CMatrix3f(scale), scanPos);
float scanRange = g_tweakPlayer->GetScanningRange();
float farRange = g_tweakPlayer->GetScanningFrameSenseRange() - scanRange;
float farRange = g_tweakPlayer->GetScanMaxLockDistance() - scanRange;
float farT;
if (farRange <= 0.f)
farT = 1.f;

View File

@ -211,7 +211,7 @@ private:
bool x835_28_bombReady : 1;
bool x835_29_powerBombReady : 1;
bool x835_30_ : 1;
bool x835_31_ : 1;
bool x835_31_actorAttached : 1;
};
u32 _dummy = 0;
};
@ -247,6 +247,7 @@ public:
void AddToRenderer(const zeus::CFrustum& frustum, const CStateManager& mgr) const;
bool GetFiring() const { return x2ec_firing != 0; }
TUniqueId DropPowerBomb(CStateManager& mgr);
void SetActorAttached(bool b) { x835_31_actorAttached = b; }
};
}

View File

@ -21,7 +21,7 @@ CDamageInfo& CDamageInfo::operator=(const DataSpec::SShotParam& other)
xc_radiusDamage = x8_damage;
x10_radius = other.radius;
x14_knockback = other.knockback;
x18_ = false;
x18_noImmunity = false;
return *this;
}

View File

@ -20,7 +20,7 @@ class CDamageInfo
float xc_radiusDamage;
float x10_radius;
float x14_knockback;
bool x18_ = false;
bool x18_noImmunity = false;
public:
CDamageInfo() = default;
@ -50,7 +50,7 @@ public:
float GetDamage(const CDamageVulnerability& dVuln) const;
float GetRadiusDamage() const { return xc_radiusDamage; }
float GetRadiusDamage(const CDamageVulnerability& dVuln) const;
bool GetX18() const { return x18_; }
bool NoImmunity() const { return x18_noImmunity; }
};
}

View File

@ -22,7 +22,7 @@ void CMorphBall::DrawBallShadow(const CStateManager& mgr)
return;
float alpha = 1.f;
switch (x0_player.x2f8_morphTransState)
switch (x0_player.x2f8_morphBallState)
{
case CPlayer::EPlayerMorphBallState::Unmorphed:
return;

View File

@ -29,6 +29,12 @@ public:
{
Zero
};
enum class EBombJumpState
{
Zero,
One
};
private:
CPlayer& x0_player;
std::unique_ptr<CModelData> x58_ballModel;
@ -50,14 +56,23 @@ private:
u32 x1960_ = false;
u32 x1964_ = false;
u32 x19dc_ = false;
union
{
struct
{
bool x1de4_25 : 1;
};
u32 _dummy = 0;
};
float x1DE8_boostTime = 0.f;
EBombJumpState x1e40_bombJumpState = EBombJumpState::Zero;
CMorphBallShadow* x1e50_shadow = nullptr;
public:
CMorphBall(CPlayer& player, float);
void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId sender, CStateManager& mgr);
ESpiderBallState GetSpiderBallState() const { return ESpiderBallState::Zero; }
bool InSpiderBallMode() const { return false; }
bool InSpiderMode() const { return false; }
zeus::CVector3f GetBallContactSurfaceNormal() const { return {}; }
void GetModel() const {}
const CCollidableSphere* GetCollidableSphere() const { return nullptr; }
@ -149,7 +164,7 @@ public:
void SetAsProjectile(const CDamageInfo&, const CDamageInfo&) {}
EBallBoostState GetBallBoostState() const { return EBallBoostState::Zero; }
void SetBallBoostState(EBallBoostState) {}
void GetBombJumpState() const {}
EBombJumpState GetBombJumpState() const { return x1e40_bombJumpState; }
void LoadAnimationTokens(const std::string&) {}
void TakeDamage(float) {}
void DrawBallShadow(const CStateManager& mgr);
@ -161,9 +176,11 @@ public:
void SetDamageTimer(float t) { x191c_damageTimer = t; }
void Stop() {}
void StopSounds() {}
void ActorAttached() {}
CModelData& GetMorphballModelData() const { return *x58_ballModel; }
u32 GetMorphballModelShader() const { return x5c_ballModelShader; }
bool GetX1DE4_25() const { return x1de4_25; }
void SetX1DE4_25(bool b) { x1de4_25 = b; }
};
}

File diff suppressed because it is too large Load Diff

View File

@ -21,6 +21,7 @@ class CFinalInput;
class CPlayerCameraBob;
class CFirstPersonCamera;
class CCollidableSphere;
class CScriptPlayerHint;
class CPlayer : public CPhysicsActor
{
@ -40,19 +41,19 @@ public:
enum class EPlayerOrbitType
{
Zero,
One,
Close,
Far,
Two
};
enum class EPlayerOrbitState
{
Zero,
NoOrbit,
One,
Two,
Three,
Four,
Five
Grapple
};
enum class EPlayerOrbitRequest
@ -115,11 +116,11 @@ public:
enum class EPlayerCameraState
{
Zero,
One,
FirstPerson,
Ball,
Two,
Three,
Four
Transitioning,
Spawned
};
enum class ESurfaceRestraints
@ -161,22 +162,23 @@ public:
private:
struct CVisorSteam
{
float x0_;
float x4_;
float x8_;
float x0_curTargetAlpha;
float x4_curAlphaInDur;
float x8_curAlphaOutDur;
CAssetId xc_tex;
float x10_ = 0.f;
float x14_ = 0.f;
float x18_ = 0.f;
float x10_nextTargetAlpha = 0.f;
float x14_nextAlphaInDur = 0.f;
float x18_nextAlphaOutDur = 0.f;
CAssetId x1c_txtr;
float x20_alpha = 0.f;
float x24_ = 0.f;
float x24_delayTimer = 0.f;
bool x28_affectsThermal = false;
public:
CVisorSteam(float a, float b, float c, CAssetId tex) : x0_(a), x4_(b), x8_(c), xc_tex(tex) {}
CVisorSteam(float targetAlpha, float alphaInDur, float alphaOutDur, CAssetId tex)
: x0_curTargetAlpha(targetAlpha), x4_curAlphaInDur(alphaInDur), x8_curAlphaOutDur(alphaOutDur), xc_tex(tex) {}
CAssetId GetTextureId() const;
void SetSteam(float a, float b, float c, CAssetId txtr, bool affectsThermal);
void SetSteam(float targetAlpha, float alphaInDur, float alphaOutDur, CAssetId txtr, bool affectsThermal);
void Update(float dt);
float GetAlpha() const { return x20_alpha; }
bool AffectsThermal() const { return x28_affectsThermal; }
@ -205,15 +207,15 @@ private:
EPlayerMovementState x258_movementState = EPlayerMovementState::OnGround;
std::vector<CToken> x25c_ballTransitionsRes;
TUniqueId x26c_ = kInvalidUniqueId;
float x270_ = 0.f;
TUniqueId x26c_attachedActor = kInvalidUniqueId;
float x270_attachedActorTime = 0.f;
CPlayerEnergyDrain x274_energyDrain = CPlayerEnergyDrain(4);
float x288_startingJumpTimeout = 0.f;
float x28c_sjTimer = 0.f;
float x290_minJumpTimeout = 0.f;
float x294_jumpCameraPitchTimer = 0.f;
float x294_jumpCameraTimer = 0.f;
u32 x298_jumpPresses = 0;
float x29c_spaceJumpCameraPitchTimer = 0.f;
float x29c_fallCameraTimer = 0.f;
float x2a0_ = 0.f;
bool x2a4_cancelCameraPitch = false;
float x2a8_timeSinceJump = 1000.f;
@ -224,27 +226,27 @@ private:
float x2d4_accelerationChangeTimer = 0.f;
zeus::CAABox x2d8_fpBounds;
float x2f0_ballTransHeight = 0.f;
EPlayerCameraState x2f4_cameraState = EPlayerCameraState::Zero;
EPlayerMorphBallState x2f8_morphTransState = EPlayerMorphBallState::Unmorphed;
EPlayerMorphBallState x2fc_cinematicMorphTransState = EPlayerMorphBallState::Unmorphed;
EPlayerCameraState x2f4_cameraState = EPlayerCameraState::FirstPerson;
EPlayerMorphBallState x2f8_morphBallState = EPlayerMorphBallState::Unmorphed;
EPlayerMorphBallState x2fc_spawnedMorphBallState = EPlayerMorphBallState::Unmorphed;
float x300_fallingTime = 0.f;
EPlayerOrbitState x304_orbitState = EPlayerOrbitState::Zero;
EPlayerOrbitType x308_orbitType = EPlayerOrbitType::Zero;
EPlayerOrbitState x304_orbitState = EPlayerOrbitState::NoOrbit;
EPlayerOrbitType x308_orbitType = EPlayerOrbitType::Close;
EPlayerOrbitRequest x30c_orbitRequest = EPlayerOrbitRequest::Three;
TUniqueId x310_orbitTargetId = kInvalidUniqueId;
zeus::CVector3f x314_orbitPoint;
zeus::CVector3f x320_orbitVector;
float x32c_orbitDistance = 0.f;
EPlayerZoneInfo x330_orbitZone = EPlayerZoneInfo::Zero;
float x32c_orbitModeTimer = 0.f;
EPlayerZoneInfo x330_orbitZoneMode = EPlayerZoneInfo::Zero;
EPlayerZoneType x334_orbitType = EPlayerZoneType::Ellipse;
u32 x338_ = 1;
TUniqueId x33c_ = kInvalidUniqueId;
TUniqueId x33c_orbitNextTargetId = kInvalidUniqueId;
float x340_ = 0.f;
std::vector<TUniqueId> x344_nearbyOrbitObjects;
std::vector<TUniqueId> x354_onScreenOrbitObjects;
std::vector<TUniqueId> x364_offScreenOrbitObjects;
bool x374_orbitLockEstablished = false;
float x378_ = 0.f;
float x378_orbitPreventionTimer = 0.f;
bool x37c_sidewaysDashing = false;
float x380_strafeInputAtDash = 0.f;
float x384_dashTimer = 0.f;
@ -285,22 +287,22 @@ private:
EGunHolsterState x498_gunHolsterState = EGunHolsterState::Drawn;
float x49c_gunHolsterRemTime;
std::unique_ptr<CFailsafeTest> x4a0_failsafeTest;
TReservedAverage<float, 20> x4a4_;
float x4f8_ = 0.f;
float x4fc_ = 0.f;
TReservedAverage<float, 20> x4a4_moveSpeedAvg;
float x4f8_moveSpeed = 0.f;
float x4fc_flatMoveSpeed = 0.f;
zeus::CVector3f x500_lookDir = x34_transform.basis[1];
zeus::CVector3f x50c_moveDir = x34_transform.basis[1];
zeus::CVector3f x518_leaveMorphDir = x34_transform.basis[1];
zeus::CVector3f x524_ = x34_transform.basis[1];
zeus::CVector3f x530_ = x34_transform.basis[1];
float x53c_ = 0.f;
zeus::CVector3f x540_ = x34_transform.basis[1];
zeus::CVector3f x54c_ = x34_transform.basis[1];
zeus::CVector3f x524_lastPosForDirCalc = x34_transform.basis[1];
zeus::CVector3f x530_gunDir = x34_transform.basis[1];
float x53c_timeMoving = 0.f;
zeus::CVector3f x540_controlDir = x34_transform.basis[1];
zeus::CVector3f x54c_controlDirFlat = x34_transform.basis[1];
bool x558_wasDamaged = false;
float x55c_damageAmt = 0.f;
float x560_prevDamageAmt = 0.f;
zeus::CVector3f x564_damageLocation;
float x570_ = 0.f;
float x570_immuneTimer = 0.f;
float x574_morphTime = 0.f;
float x578_morphDuration = 0.f;
u32 x57c_ = 0;
@ -313,7 +315,7 @@ private:
TReservedAverage<zeus::CTransform, 4> x658_transitionModelXfs;
TReservedAverage<float, 4> x71c_transitionModelAlphas;
std::vector<std::unique_ptr<CModelData>> x730_transitionModels;
float x740_staticOutTimer = 0.f;
float x740_staticTimer = 0.f;
float x744_staticOutSpeed = 0.f;
float x748_staticInSpeed = 0.f;
float x74c_visorStaticAlpha = 1.f;
@ -344,15 +346,15 @@ private:
CPlayerState::EBeamId x7ec_beam = CPlayerState::EBeamId::Power;
std::unique_ptr<CModelData> x7f0_ballTransitionBeamModel;
zeus::CTransform x7f4_gunWorldXf;
float x824_ = 0.f;
float x824_transitionFilterTimer = 0.f;
float x828_waterLevelOnPlayer = 0.f;
bool x82c_inLava = false;
TUniqueId x82e_ridingPlatform = kInvalidUniqueId;
TUniqueId x830_playerHint = kInvalidUniqueId;
u32 x834_ = 1000;
u32 x838_ = 0;
u32 x93c_ = 0;
u32 x980_ = 0;
rstl::reserved_vector<std::pair<u32, TUniqueId>, 32> x838_playerHints;
rstl::reserved_vector<TUniqueId, 32> x93c_playerHintsToRemove;
rstl::reserved_vector<TUniqueId, 32> x980_playerHintsToAdd;
union
{
@ -364,7 +366,7 @@ private:
bool x9c4_27_canEnterMorphBall : 1;
bool x9c4_28_canLeaveMorphBall : 1;
bool x9c4_29_ : 1;
bool x9c4_30_ : 1;
bool x9c4_30_controlDirOverride : 1;
bool x9c4_31_dampUnderwaterMotion : 1;
bool x9c5_24_ : 1;
bool x9c5_25_splashUpdated : 1;
@ -375,7 +377,7 @@ private:
bool x9c5_30_ : 1;
bool x9c5_31_stepCameraZBiasDirty : 1;
bool x9c6_24_extendTargetDistance : 1;
bool x9c6_25_ : 1;
bool x9c6_25_interpolatingControlDir : 1;
bool x9c6_26_outOfBallLookAtHint : 1;
bool x9c6_27_aimingAtProjectile : 1;
bool x9c6_28_aligningGrappleSwingTurn : 1;
@ -390,14 +392,14 @@ private:
float x9c8_eyeZBias = 0.f;
float x9cc_stepCameraZBias = 0.f;
u32 x9d0_ = 0;
u32 x9d4_ = 0;
zeus::CVector3f x9d8_ = zeus::CVector3f::skForward;
u32 x9d0_bombJumpCount = 0;
u32 x9d4_bombJumpCheckDelayFrames = 0;
zeus::CVector3f x9d8_controlDirOverrideDir = zeus::CVector3f::skForward;
rstl::reserved_vector<TUniqueId, 5> x9e4_orbitDisableList;
float x9f4_deathTime = 0.f;
float x9f8_ = 0.f;
float x9fc_ = 0.f;
float x9f8_controlDirInterpTime = 0.f;
float x9fc_controlDirInterpDur = 0.f;
TUniqueId xa00_deathPowerBomb = kInvalidUniqueId;
float xa04_ = 0.f;
CAssetId xa08_steamTextureId;
@ -408,7 +410,7 @@ private:
float xa1c_threatOverride = 0.f;
float xa20_radarXYRadiusOverride = 1.f;
float xa24_radarZRadiusOverride = 1.f;
float xa28_ = 0.f;
float xa28_attachedActorStruggle = 0.f;
u32 xa2c_ = 2;
float xa30_samusExhaustedVoiceTimer = 4.f;
@ -420,6 +422,7 @@ private:
void InitializeBallTransition();
float UpdateCameraBob(float dt, CStateManager& mgr);
float GetAcceleration() const;
float CalculateOrbitZBasedDistance(EPlayerOrbitType type) const;
public:
CPlayer(TUniqueId, const zeus::CTransform&, const zeus::CAABox&, CAssetId w1, const zeus::CVector3f&, float, float,
@ -490,9 +493,16 @@ public:
void UpdateWaterSurfaceCameraBias(CStateManager& mgr);
void UpdatePhazonCameraShake(float dt, CStateManager& mgr);
void UpdatePhazonDamage(float dt, CStateManager& mgr);
void ResetPlayerHintState();
bool SetAreaPlayerHint(const CScriptPlayerHint& hint, CStateManager& mgr);
void AddToPlayerHintRemoveList(TUniqueId id, CStateManager& mgr);
void AddToPlayerHintAddList(TUniqueId id, CStateManager& mgr);
void DeactivatePlayerHint(TUniqueId id, CStateManager& mgr);
void UpdatePlayerHints(CStateManager& mgr);
void UpdateBombJumpStuff();
void UpdateTransitionFilter(float dt, CStateManager& mgr);
void ResetControlDirectionInterpolation();
void SetControlDirectionInterpolation(float time);
void UpdatePlayerControlDirection(float dt, CStateManager& mgr);
void Think(float, CStateManager&);
void PreThink(float, CStateManager&);
@ -520,7 +530,7 @@ public:
void DrawGun(CStateManager& mgr);
void HolsterGun(CStateManager& mgr);
EPlayerCameraState GetCameraState() const { return x2f4_cameraState; }
EPlayerMorphBallState GetMorphballTransitionState() const { return x2f8_morphTransState; }
EPlayerMorphBallState GetMorphballTransitionState() const { return x2f8_morphBallState; }
bool IsMorphBallTransitioning() const;
void UpdateGrappleArmTransform(const zeus::CVector3f&, CStateManager& mgr, float);
float GetGravity() const;
@ -557,7 +567,7 @@ public:
bool WithinOrbitScreenBox(const zeus::CVector3f&, EPlayerZoneInfo, EPlayerZoneType) const;
bool WithinOrbitScreenEllipse(const zeus::CVector3f&, EPlayerZoneInfo) const;
bool CheckOrbitDisableSourceList(CStateManager& mgr);
bool CheckOrbitDisableSourceList() const { return x9e4_orbitDisableList.size() != 0; }
bool CheckOrbitDisableSourceList() const { return !x9e4_orbitDisableList.empty(); }
void RemoveOrbitDisableSource(TUniqueId);
void AddOrbitDisableSource(CStateManager& mgr, TUniqueId);
void UpdateOrbitPreventionTimer(float);
@ -579,7 +589,7 @@ public:
float GetUnbiasedEyeHeight() const;
float GetStepUpHeight() const;
float GetStepDownHeight() const;
void Teleport(const zeus::CTransform& xf, CStateManager& mgr, bool);
void Teleport(const zeus::CTransform& xf, CStateManager& mgr, bool resetBallCam);
void BombJump(const zeus::CVector3f& pos, CStateManager& mgr);
zeus::CTransform CreateTransformFromMovementDirection() const;
const CCollisionPrimitive* GetCollisionPrimitive() const;
@ -607,7 +617,7 @@ public:
const CScriptWater* GetVisorRunoffEffect(const CStateManager& mgr) const;
void SetMorphBallState(EPlayerMorphBallState state, CStateManager& mgr);
bool CanLeaveMorphBallState(CStateManager& mgr, zeus::CVector3f& pos) const;
void SetHudDisable(float f1, float f2, float f3);
void SetHudDisable(float staticTimer, float outSpeed, float inSpeed);
void SetIntoBallReadyAnimation(CStateManager& mgr);
void LeaveMorphBallState(CStateManager& mgr);
bool CanEnterMorphBallState(CStateManager& mgr, float f1) const;
@ -637,17 +647,22 @@ public:
CPlayerCameraBob* GetCameraBob() const { return x76c_cameraBob.get(); }
float GetDeathTime() const { return x9f4_deathTime; }
const CPlayerEnergyDrain& GetEnergyDrain() const { return x274_energyDrain; }
EPlayerZoneInfo GetOrbitZone() const { return x330_orbitZone; }
EPlayerZoneInfo GetOrbitZone() const { return x330_orbitZoneMode; }
EPlayerZoneType GetOrbitType() const { return x334_orbitType; }
const zeus::CTransform& GetFirstPersonCameraTransform(const CStateManager& mgr) const;
const std::vector<TUniqueId>& GetNearbyOrbitObjects() const { return x344_nearbyOrbitObjects; }
const std::vector<TUniqueId>& GetOnScreenOrbitObjects() const { return x354_onScreenOrbitObjects; }
const std::vector<TUniqueId>& GetOffScreenOrbitObjects() const { return x364_offScreenOrbitObjects; }
void SetPlayerHitWallDuringMove();
ESurfaceRestraints GetCurrentSurfaceRestraint() const { return x2ac_surfaceRestraint; }
ESurfaceRestraints GetSurfaceRestraint() const
{ return x2b0_outOfWaterTicks == 2 ? GetCurrentSurfaceRestraint() : ESurfaceRestraints::Water; }
void DecrementPhazon();
void IncrementPhazon();
void ApplySubmergedPitchBend(CSfxHandle& sfx);
void DetachActorFromPlayer();
bool AttachActorToPlayer(TUniqueId id, bool disableGun);
float GetAttachedActorStruggle() const { return xa28_attachedActorStruggle; }
};
}

View File

@ -77,7 +77,7 @@ void CPlayerCameraBob::SetState(CPlayerCameraBob::ECameraBobState state, CStateM
x20_oldState = x24_curState;
x24_curState = state;
if (x20_oldState == ECameraBobState::Two)
if (x20_oldState == ECameraBobState::InAir)
{
x28_applyLandingTrans = true;
x68_ = std::min(x68_, -35.f);
@ -91,7 +91,7 @@ void CPlayerCameraBob::SetState(CPlayerCameraBob::ECameraBobState state, CStateM
}
}
if (x24_curState == ECameraBobState::Three && x100_ != 0.f)
if (x24_curState == ECameraBobState::WalkNoBob && x100_ != 0.f)
InitViewWander(mgr);
}
@ -162,7 +162,7 @@ void CPlayerCameraBob::Update(float dt, CStateManager& mgr)
x78_ = 0.f;
}
if (x24_curState == ECameraBobState::Three)
if (x24_curState == ECameraBobState::WalkNoBob)
x104_ = 1.f;
else
x104_ = 0.f;

View File

@ -21,15 +21,15 @@ public:
enum class ECameraBobState
{
Zero,
One,
Two,
Three,
Four,
Five,
Six,
Seven,
Eight
Walk,
Orbit,
InAir,
WalkNoBob,
GunFireNoBob,
TurningNoBob,
FreeLookNoBob,
GrappleNoBob,
Unspecified
};
static float kCameraBobExtentX;
@ -56,8 +56,8 @@ private:
float x14_ = 0.f;
float x18_bobTimeScale = 0.f;
float x1c_bobTime = 0.f;
ECameraBobState x20_oldState = ECameraBobState::Eight;
ECameraBobState x24_curState = ECameraBobState::Eight;
ECameraBobState x20_oldState = ECameraBobState::Unspecified;
ECameraBobState x24_curState = ECameraBobState::Unspecified;
bool x28_applyLandingTrans = false;
bool x29_ = false;
zeus::CTransform x2c_cameraBobTransform;

View File

@ -8,8 +8,8 @@ namespace urde
class CScriptPlayerHint : public CActor
{
u32 xe8_ = 0;
bool xfc_ = false;
rstl::reserved_vector<TUniqueId, 8> xe8_objectList;
bool xfc_deactivated = false;
u32 x100_priority;
u32 x104_overrideFlags;
TUniqueId x108_actor = kInvalidUniqueId;
@ -20,6 +20,8 @@ public:
u32 GetPriority() const { return x100_priority; }
u32 GetOverrideFlags() const { return x104_overrideFlags; }
TUniqueId GetActorId() const { return x108_actor; }
void ClearObjectList() { xe8_objectList.clear(); }
void SetDeactivated() { xfc_deactivated = true; }
};
}