prime/include/MetroidPrime/Tweaks/CTweakBall.hpp

217 lines
8.5 KiB
C++
Raw Normal View History

2022-09-21 05:18:07 +00:00
#ifndef _CTWEAKBALL_HPP
#define _CTWEAKBALL_HPP
#include "types.h"
#include "MetroidPrime/Tweaks/ITweakObject.hpp"
#include "Kyoto/Math/CVector3f.hpp"
#include "rstl/string.hpp"
class CTweakBall : public ITweakObject {
public:
~CTweakBall() override;
f32 GetMaxBallTranslationAcceleration(int s) const { return x4_maxTranslationAcceleration[s]; }
f32 GetBallTranslationFriction(int s) const { return x24_translationFriction[s]; }
f32 GetBallTranslationMaxSpeed(int s) const { return x44_translationMaxSpeed[s]; }
f32 GetBallCameraElevation() const { return 2.736f; }
f32 GetBallCameraAnglePerSecond() const { return x74_ballCameraAnglePerSecond; }
const CVector3f& GetBallCameraOffset() const { return x78_ballCameraOffset; }
f32 GetBallCameraMinSpeedDistance() const { return x84_ballCameraMinSpeedDistance; }
f32 GetBallCameraMaxSpeedDistance() const { return x88_ballCameraMaxSpeedDistance; }
f32 GetBallCameraBackwardsDistance() const { return x8c_ballCameraBackwardsDistance; }
f32 GetBallCameraSpringConstant() const { return x94_ballCameraSpringConstant; }
f32 GetBallCameraSpringMax() const { return x98_ballCameraSpringMax; }
f32 GetBallCameraSpringTardis() const { return x9c_ballCameraSpringTardis; }
f32 GetBallCameraCentroidSpringConstant() const { return xa0_ballCameraCentroidSpringConstant; }
f32 GetBallCameraCentroidSpringMax() const { return xa4_ballCameraCentroidSpringMax; }
f32 GetBallCameraCentroidSpringTardis() const { return xa8_ballCameraCentroidSpringTardis; }
f32 GetBallCameraCentroidDistanceSpringConstant() const {
return xac_ballCameraCentroidDistanceSpringConstant;
}
f32 GetBallCameraCentroidDistanceSpringMax() const {
return xb0_ballCameraCentroidDistanceSpringMax;
}
f32 GetBallCameraCentroidDistanceSpringTardis() const {
return xb4_ballCameraCentroidDistanceSpringTardis;
}
f32 GetBallCameraLookAtSpringConstant() const { return xb8_ballCameraLookAtSpringConstant; }
f32 GetBallCameraLookAtSpringMax() const { return xbc_ballCameraLookAtSpringMax; }
f32 GetBallCameraLookAtSpringTardis() const { return xc0_ballCameraLookAtSpringTardis; }
f32 GetBallForwardBrakingAcceleration(int s) const {
return xc4_ballForwardBrakingAcceleration[s];
}
f32 GetBallGravity() const { return xe4_ballGravity; }
f32 GetBallWaterGravity() const { return xe8_ballWaterGravity; }
f32 GetBallSlipFactor(int s) const { return x12c_ballSlipFactor[s]; }
f32 GetConservativeDoorCameraDistance() const { return x170_conservativeDoorCamDistance; }
f32 GetBallCameraChaseElevation() const { return x178_ballCameraChaseElevation; }
f32 GetBallCameraChaseDampenAngle() const { return x17c_ballCameraChaseDampenAngle; }
f32 GetBallCameraChaseDistance() const { return x180_ballCameraChaseDistance; }
f32 GetBallCameraChaseYawSpeed() const { return x184_ballCameraChaseYawSpeed; }
f32 GetBallCameraChaseAnglePerSecond() const { return x188_ballCameraChaseAnglePerSecond; }
const CVector3f& GetBallCameraChaseLookAtOffset() const {
return x18c_ballCameraChaseLookAtOffset;
}
f32 GetBallCameraChaseSpringConstant() const { return x198_ballCameraChaseSpringConstant; }
f32 GetBallCameraChaseSpringMax() const { return x19c_ballCameraChaseSpringMax; }
f32 GetBallCameraChaseSpringTardis() const { return x1a0_ballCameraChaseSpringTardis; }
f32 GetBallCameraBoostElevation() const { return x1a4_ballCameraBoostElevation; }
f32 GetBallCameraBoostDampenAngle() const { return x1a8_ballCameraBoostDampenAngle; }
f32 GetBallCameraBoostDistance() const { return x1ac_ballCameraBoostDistance; }
f32 GetBallCameraBoostYawSpeed() const { return x1b0_ballCameraBoostYawSpeed; }
f32 GetBallCameraBoostAnglePerSecond() const { return x1b4_ballCameraBoostAnglePerSecond; }
const CVector3f& GetBallCameraBoostLookAtOffset() const {
return x1b8_ballCameraBoostLookAtOffset;
}
f32 GetBallCameraBoostSpringConstant() const { return x1c4_ballCameraBoostSpringConstant; }
f32 GetBallCameraBoostSpringMax() const { return x1c8_ballCameraBoostSpringMax; }
f32 GetBallCameraBoostSpringTardis() const { return x1cc_ballCameraBoostSpringTardis; }
f32 GetBallCameraControlDistance() const { return x1d0_ballCameraControlDistance; }
f32 GetMinimumAlignmentSpeed() const { return x1dc_minimumAlignmentSpeed; }
f32 GetTireness() const { return x1e0_tireness; }
f32 GetMaxLeanAngle() const { return x1ec_maxLeanAngle; }
f32 GetTireToMarbleThresholdSpeed() const { return x1f0_tireToMarbleThresholdSpeed; }
f32 GetMarbleToTireThresholdSpeed() const { return x1f4_marbleToTireThresholdSpeed; }
f32 GetForceToLeanGain() const { return x1f8_forceToLeanGain; }
f32 GetLeanTrackingGain() const { return x1fc_leanTrackingGain; }
f32 GetLeftStickDivisor() const { return x1e4_leftStickDivisor; }
f32 GetRightStickDivisor() const { return x1e8_rightStickDivisor; }
f32 GetBallTouchRadius() const { return x204_ballTouchRadius; }
f32 GetBoostBallDrainTime() const { return x20c_boostBallDrainTime; }
f32 GetBoostBallMaxChargeTime() const { return x210_boostBallMaxChargeTime; }
f32 GetBoostBallMinChargeTime() const { return x218_boostBallMinChargeTime; }
f32 GetBoostBallMinRelativeSpeedForDamage() const {
return x21c_boostBallMinRelativeSpeedForDamage;
}
f32 GetBoostBallChargeTimeTable(int i) const {
switch (i) {
default:
case 0:
return x220_boostBallChargeTime0;
case 1:
return x224_boostBallChargeTime1;
case 2:
return x228_boostBallChargeTime2;
}
}
f32 GetBoostBallIncrementalSpeedTable(int i) const {
switch (i) {
default:
case 0:
return x22c_boostBallIncrementalSpeed0;
case 1:
return x230_boostBallIncrementalSpeed1;
case 2:
return x234_boostBallIncrementalSpeed2;
}
}
private:
f32 x4_maxTranslationAcceleration[8];
f32 x24_translationFriction[8];
f32 x44_translationMaxSpeed[8];
f32 x64_;
f32 x68_;
f32 x6c_;
f32 x70_;
f32 x74_ballCameraAnglePerSecond;
CVector3f x78_ballCameraOffset;
f32 x84_ballCameraMinSpeedDistance;
f32 x88_ballCameraMaxSpeedDistance;
f32 x8c_ballCameraBackwardsDistance;
f32 x90_;
f32 x94_ballCameraSpringConstant;
f32 x98_ballCameraSpringMax;
f32 x9c_ballCameraSpringTardis;
f32 xa0_ballCameraCentroidSpringConstant;
f32 xa4_ballCameraCentroidSpringMax;
f32 xa8_ballCameraCentroidSpringTardis;
f32 xac_ballCameraCentroidDistanceSpringConstant;
f32 xb0_ballCameraCentroidDistanceSpringMax;
f32 xb4_ballCameraCentroidDistanceSpringTardis;
f32 xb8_ballCameraLookAtSpringConstant;
f32 xbc_ballCameraLookAtSpringMax;
f32 xc0_ballCameraLookAtSpringTardis;
f32 xc4_ballForwardBrakingAcceleration[8];
f32 xe4_ballGravity;
f32 xe8_ballWaterGravity;
f32 xec_;
f32 xf0_;
f32 xf4_;
f32 xf8_;
f32 xfc_;
f32 x100_;
f32 x104_;
f32 x108_;
f32 x10c_;
f32 x110_;
f32 x114_;
f32 x118_;
f32 x11c_;
f32 x120_;
f32 x124_;
f32 x128_;
f32 x12c_ballSlipFactor[8];
f32 x14c_;
f32 x150_;
f32 x158_;
f32 x154_;
f32 x15c_;
f32 x160_;
f32 x164_;
f32 x168_;
f32 x16c_;
f32 x170_conservativeDoorCamDistance;
f32 x174_;
f32 x178_ballCameraChaseElevation;
f32 x17c_ballCameraChaseDampenAngle;
f32 x180_ballCameraChaseDistance;
f32 x184_ballCameraChaseYawSpeed;
f32 x188_ballCameraChaseAnglePerSecond;
CVector3f x18c_ballCameraChaseLookAtOffset;
f32 x198_ballCameraChaseSpringConstant;
f32 x19c_ballCameraChaseSpringMax;
f32 x1a0_ballCameraChaseSpringTardis;
f32 x1a4_ballCameraBoostElevation;
f32 x1a8_ballCameraBoostDampenAngle;
f32 x1ac_ballCameraBoostDistance;
f32 x1b0_ballCameraBoostYawSpeed;
f32 x1b4_ballCameraBoostAnglePerSecond;
CVector3f x1b8_ballCameraBoostLookAtOffset;
f32 x1c4_ballCameraBoostSpringConstant;
f32 x1c8_ballCameraBoostSpringMax;
f32 x1cc_ballCameraBoostSpringTardis;
f32 x1d0_ballCameraControlDistance;
f32 x1d4_;
f32 x1d8_;
f32 x1dc_minimumAlignmentSpeed;
f32 x1e0_tireness;
f32 x1ec_maxLeanAngle;
f32 x1f0_tireToMarbleThresholdSpeed;
f32 x1f4_marbleToTireThresholdSpeed;
f32 x1f8_forceToLeanGain;
f32 x1fc_leanTrackingGain;
f32 x1e4_leftStickDivisor;
f32 x1e8_rightStickDivisor;
f32 x200_;
f32 x204_ballTouchRadius;
f32 x208_;
f32 x20c_boostBallDrainTime;
f32 x218_boostBallMinChargeTime;
f32 x21c_boostBallMinRelativeSpeedForDamage;
f32 x220_boostBallChargeTime0;
f32 x224_boostBallChargeTime1;
f32 x228_boostBallChargeTime2;
f32 x210_boostBallMaxChargeTime;
f32 x22c_boostBallIncrementalSpeed0;
f32 x230_boostBallIncrementalSpeed1;
f32 x234_boostBallIncrementalSpeed2;
};
extern CTweakBall* gpTweakBall;
#endif