mirror of
https://github.com/PodeCaradox/GalaxyQuest-SteamFrame.git
synced 2026-10-18 16:01:14 +02:00
The sources of Petari (https://github.com/SMGCommunity/Petari), the Super Mario Galaxy decompilation by the SMGCommunity, at commit 0a5c6608dc3b4c44a9aa68c2535d1793dc565f02, unchanged but for LF line endings: LICENSE (as LICENSE-Petari.txt; CC0 1.0), include/, libs/ and src/. Left out: the game data Petari keeps from the original executable, the error message archive (include/Game/System/ ErrorArchive.hpp) and two tables (src/Game/System/GalaxyID.bcsv and StoryEvent.bcsv); GalaxyQuest's converter takes them from the player's own disc. The port's changes follow in the next commit, so `git diff petari-base -- decomp` shows them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
532 lines
20 KiB
C++
532 lines
20 KiB
C++
#pragma once
|
|
|
|
#include <revolution.h>
|
|
|
|
class Mario;
|
|
class MarioActor;
|
|
|
|
/// @brief The table of player character constants.
|
|
struct MarioConstTable {
|
|
/* 0x000 */ f32 mJumpHeight[9];
|
|
/* 0x024 */ f32 mGravityJumping[12];
|
|
/* 0x054 */ f32 mGravityAirWalk;
|
|
/* 0x058 */ f32 mGravityRatioA;
|
|
/* 0x05C */ f32 mJumpFrontSpeed;
|
|
/* 0x060 */ f32 mJumpTornadoSpeed;
|
|
/* 0x064 */ f32 mDropFrontSpeed;
|
|
/* 0x068 */ s16 mJumpConnectTime;
|
|
/* 0x06C */ f32 mJumpConnectSpeed;
|
|
/* 0x070 */ f32 mSquatJumpFrontSpeed;
|
|
/* 0x074 */ f32 mSquatJumpBackSpeed;
|
|
/* 0x078 */ f32 mTurnJumpFrontSpeed;
|
|
/* 0x07C */ f32 mMaxDropSpeed[5];
|
|
/* 0x090 */ s16 mGrReductionDropTimer;
|
|
/* 0x092 */ u16 mDropWaitTime;
|
|
/* 0x094 */ f32 mJumpFrontReduction;
|
|
/* 0x098 */ s16 mJumpFrontReductionBeginTime;
|
|
/* 0x09C */ f32 mSquatJumpFrontReduction;
|
|
/* 0x0A0 */ s16 mSquatJumpFrontReductionBTime;
|
|
/* 0x0A4 */ f32 mMudFloorJumpWeakRatio;
|
|
/* 0x0A8 */ f32 mGravityHipDrop;
|
|
/* 0x0AC */ f32 mLimitSpeedHipDrop;
|
|
/* 0x0B0 */ f32 mHipDropLimitHeight;
|
|
/* 0x0B4 */ u16 mHipDropZeroGrTime;
|
|
/* 0x0B6 */ s16 mHipDropLimitTimerAfterTornado;
|
|
/* 0x0B8 */ s16 mSlipUpSpdCtrlTimer;
|
|
/* 0x0BC */ f32 mSlipUpSpdRatio;
|
|
/* 0x0C0 */ f32 mSlipUpHeight;
|
|
/* 0x0C4 */ f32 mSlipUpFront;
|
|
/* 0x0C8 */ f32 mSlipUpFrontWeak;
|
|
/* 0x0CC */ f32 mSlipUpHeightHang;
|
|
/* 0x0D0 */ f32 mSlipUpFrontHang;
|
|
/* 0x0D4 */ f32 mSlipUpContinueHeight;
|
|
/* 0x0D8 */ u16 mAirWalkTime;
|
|
/* 0x0DC */ f32 mAirWalkTimerFact1;
|
|
/* 0x0E0 */ s16 mAirWalkTimerFact2;
|
|
/* 0x0E4 */ f32 mAirWalkTimerFact3;
|
|
/* 0x0E8 */ f32 mMaxJumpSpeed;
|
|
/* 0x0EC */ f32 mAirWalkBackBonus;
|
|
/* 0x0F0 */ f32 mAirWalkSpeedKiller;
|
|
/* 0x0F4 */ f32 mMaxBackJumpSpeed;
|
|
/* 0x0F8 */ f32 mAirWalkBonus;
|
|
/* 0x0FC */ s16 mBackJumpLimitFrame;
|
|
/* 0x100 */ f32 mBackJumpRatio;
|
|
/* 0x104 */ s16 mWaitNeutralTimer;
|
|
/* 0x108 */ f32 mHardLandingHeight;
|
|
/* 0x10C */ u16 mHardLandStunTimer;
|
|
/* 0x110 */ f32 mCodeJumpPower[4];
|
|
/* 0x120 */ f32 mTrampleNormal;
|
|
/* 0x124 */ f32 mTrampleLong;
|
|
/* 0x128 */ f32 mTrampleNormalTaco;
|
|
/* 0x12C */ f32 mTrampleBegoma;
|
|
/* 0x130 */ f32 mTrampleBegomaRotRise;
|
|
/* 0x134 */ f32 mTrampleBegomaRotFall;
|
|
/* 0x138 */ u16 mTrampleBegomaOpenTime;
|
|
/* 0x13C */ f32 mDropUnderPowerMin;
|
|
/* 0x140 */ f32 mDropUnderPowerMax;
|
|
/* 0x144 */ f32 mMsgJumpGroundPowerXZ;
|
|
/* 0x148 */ f32 mMsgJumpGroundPowerY;
|
|
/* 0x14C */ f32 mMsgJumpAirPower;
|
|
/* 0x150 */ f32 mBilliardJumpExtra;
|
|
/* 0x154 */ s16 mFutureJumpReqLimitTime;
|
|
/* 0x158 */ f32 mWarpPodJumpX;
|
|
/* 0x15C */ f32 mWarpPodJumpY;
|
|
/* 0x160 */ f32 mJumpHeightDamage;
|
|
/* 0x164 */ f32 mJumpDistDamage;
|
|
/* 0x168 */ f32 mGravityDamage;
|
|
/* 0x16C */ f32 mJumpHeightLargeDamage;
|
|
/* 0x170 */ f32 mJumpDistLargeDamage;
|
|
/* 0x174 */ f32 mSlideDistFaint;
|
|
/* 0x178 */ s16 mFaintTimer1;
|
|
/* 0x17A */ s16 mFaintTimer2;
|
|
/* 0x17C */ f32 mFaintFriction1;
|
|
/* 0x180 */ f32 mFaintFriction2;
|
|
/* 0x184 */ f32 mSlideDistFlip;
|
|
/* 0x188 */ f32 mSlideDistFlipSpin;
|
|
/* 0x18C */ s16 mFlipTimer1;
|
|
/* 0x18E */ s16 mFlipTimer2;
|
|
/* 0x190 */ f32 mFlipFriction1;
|
|
/* 0x194 */ f32 mFlipFriction2;
|
|
/* 0x198 */ f32 mFlipFriction3;
|
|
/* 0x19C */ u16 mFireRunTimer1;
|
|
/* 0x19E */ u16 mFireRunTimer2;
|
|
/* 0x1A0 */ u16 mFireRunTimer3;
|
|
/* 0x1A4 */ f32 mFireRunSpeed;
|
|
/* 0x1A8 */ f32 mFireRunTurnRatio;
|
|
/* 0x1AC */ f32 mFireRunGravity;
|
|
/* 0x1B0 */ f32 mFireRunFirstJump;
|
|
/* 0x1B4 */ f32 mFireDanceTurnRatio;
|
|
/* 0x1B8 */ f32 mFireDanceGravityRise;
|
|
/* 0x1BC */ f32 mFireDanceGravityDrop;
|
|
/* 0x1C0 */ f32 mFireDanceFirstJump;
|
|
/* 0x1C4 */ f32 mFireDanceSecondJump;
|
|
/* 0x1C8 */ f32 mFireDanceMoveSpeed;
|
|
/* 0x1CC */ f32 mFireDanceMoveAcc;
|
|
/* 0x1D0 */ f32 mBlackHoleRadiusRatio;
|
|
/* 0x1D4 */ f32 mBlackHoleScaleSpeed;
|
|
/* 0x1D8 */ f32 mBlackHoleScaleLimit;
|
|
/* 0x1DC */ f32 mBlackHoleRotateSpeed;
|
|
/* 0x1E0 */ f32 mBlackHoleRotateLimit;
|
|
/* 0x1E4 */ f32 mBlackHoleFirstRadius;
|
|
/* 0x1E8 */ u16 mBlackHoleHideTime;
|
|
/* 0x1EA */ u16 mWaterInnerFaintTime;
|
|
/* 0x1EC */ f32 mSwimFaintSpeed;
|
|
/* 0x1F0 */ u16 mWaterInnerDamageTime;
|
|
/* 0x1F4 */ f32 mSwimDamageSpeed;
|
|
/* 0x1F8 */ f32 mSwimSurfaceDamageSpeed;
|
|
/* 0x1FC */ f32 mWaterSurfaceDamageJump;
|
|
/* 0x200 */ u16 mSwimDamageTimerEx1;
|
|
/* 0x204 */ f32 mSwimDamageSpeedEx1;
|
|
/* 0x208 */ f32 mJumpHeightFlow;
|
|
/* 0x20C */ f32 mJumpDistFlow;
|
|
/* 0x210 */ f32 mGravityFlow;
|
|
/* 0x214 */ f32 mFlatAngle;
|
|
/* 0x218 */ f32 mSlipAngle;
|
|
/* 0x21C */ f32 mForceWallAngle;
|
|
/* 0x220 */ f32 mDebugMoveSpeed;
|
|
/* 0x224 */ f32 mWalkSpeed;
|
|
/* 0x228 */ f32 mInertiaStandardStop;
|
|
/* 0x22C */ f32 mInertiaStandardMax;
|
|
/* 0x230 */ f32 mInertiaBdash;
|
|
/* 0x234 */ f32 mInertiaBdashAfter;
|
|
/* 0x238 */ f32 mInertiaStop;
|
|
/* 0x23C */ f32 mInertiaSquat;
|
|
/* 0x240 */ f32 mInertiaTurnSlip;
|
|
/* 0x244 */ f32 mInertiaTurning;
|
|
/* 0x248 */ f32 mInertiaJumpFinish;
|
|
/* 0x24C */ f32 mInertiaReflectSlip;
|
|
/* 0x250 */ f32 mInertiaStartSpin;
|
|
/* 0x254 */ f32 mInertiaOverSpeed;
|
|
/* 0x258 */ f32 mTurnAngleSpeed;
|
|
/* 0x25C */ f32 mTurnAngleSpeed2;
|
|
/* 0x260 */ f32 mTurnAngleSpeed3;
|
|
/* 0x264 */ f32 mTurnAngleSpeedSlowWalk;
|
|
/* 0x268 */ f32 mGravityStandard;
|
|
/* 0x26C */ f32 mGravityGrounding;
|
|
/* 0x270 */ f32 mDashMultiply;
|
|
/* 0x274 */ f32 mCameraAngleLimit;
|
|
/* 0x278 */ u16 mStartSpinTime;
|
|
/* 0x27A */ u16 mDashAfterTime;
|
|
/* 0x27C */ u16 mAutoBdashTime;
|
|
/* 0x27E */ u16 mSlowStartTime;
|
|
/* 0x280 */ f32 mStartSpinAnimeRatio;
|
|
/* 0x284 */ f32 mSlopeAnimeRatio;
|
|
/* 0x288 */ f32 mSlopeSpinAnimeRatio;
|
|
/* 0x28C */ f32 mItemDashRatio;
|
|
/* 0x290 */ u16 mItemDashTimer;
|
|
/* 0x294 */ f32 mInertiaIceStandardStop;
|
|
/* 0x298 */ f32 mInertiaIceStandardMax;
|
|
/* 0x29C */ f32 mInertiaIceStartSpin;
|
|
/* 0x2A0 */ f32 mInertiaIceStop;
|
|
/* 0x2A4 */ f32 mInertiaIceTurn;
|
|
/* 0x2A8 */ f32 mInertiaSlipStandardStop;
|
|
/* 0x2AC */ f32 mInertiaSlipStandardMax;
|
|
/* 0x2B0 */ f32 mInertiaSlipStartSpin;
|
|
/* 0x2B4 */ f32 mInertiaSlipStop;
|
|
/* 0x2B8 */ f32 mInertiaSlipTurn;
|
|
/* 0x2BC */ f32 mTurnSlipAngle;
|
|
/* 0x2C0 */ u16 mTurnReadyTime;
|
|
/* 0x2C4 */ f32 mTurnSlipNeutral;
|
|
/* 0x2C8 */ f32 mSlipSpeed;
|
|
/* 0x2CC */ f32 mFastTurnSpeed;
|
|
/* 0x2D0 */ s16 mTurnSlipTime;
|
|
/* 0x2D2 */ s16 mTurnSlipTimeB;
|
|
/* 0x2D4 */ s16 mTurnJumpInhibitTime;
|
|
/* 0x2D8 */ f32 mLandTurnHeight;
|
|
/* 0x2DC */ f32 mInertiaBrake;
|
|
/* 0x2E0 */ u16 mStandingTurnTime;
|
|
/* 0x2E2 */ u16 mWeakTurnTime;
|
|
/* 0x2E4 */ u16 mBrakeFirstTimer;
|
|
/* 0x2E6 */ u16 mBrakeSecondTimer;
|
|
/* 0x2E8 */ f32 mSlopeSpeedMax;
|
|
/* 0x2EC */ f32 mSlopeAccel;
|
|
/* 0x2F0 */ f32 mSlopeSpeedMaxBraking;
|
|
/* 0x2F4 */ f32 mSlopeFinishInertia;
|
|
/* 0x2F8 */ f32 mSlopeCancelInertia;
|
|
/* 0x2FC */ f32 mSlopeAnimeFinishSpeed;
|
|
/* 0x300 */ f32 mSlopeDashAngleFactor;
|
|
/* 0x304 */ f32 mSlopeDashSpeedFactor;
|
|
/* 0x308 */ f32 mSlopeDashAccelFactor;
|
|
/* 0x30C */ u16 mSlopeDashAccelTime;
|
|
/* 0x310 */ f32 mSlopeSideMoveInertia;
|
|
/* 0x314 */ f32 mSlopeSideStopInertia;
|
|
/* 0x318 */ f32 mSlopeSideMoveSpeed;
|
|
/* 0x31C */ f32 mSlopeCurveAssist;
|
|
/* 0x320 */ f32 mSlipMoveTurnAngleRad;
|
|
/* 0x324 */ f32 mWalkStepHeight;
|
|
/* 0x328 */ f32 mTiltRatio;
|
|
/* 0x32C */ f32 mLookDownRatio;
|
|
/* 0x330 */ f32 mSpeedStep[3];
|
|
/* 0x33C */ f32 mMaxAnmSpeedA;
|
|
/* 0x340 */ f32 mMinAnmSpeedA;
|
|
/* 0x344 */ f32 mMaxAnmSpeedB;
|
|
/* 0x348 */ f32 mMinAnmSpeedB;
|
|
/* 0x34C */ f32 mMaxAnmSpeedC;
|
|
/* 0x350 */ f32 mMinAnmSpeedC;
|
|
/* 0x354 */ f32 mWeightBlendRatio;
|
|
/* 0x358 */ f32 mMudFloorSlipRatio;
|
|
/* 0x35C */ f32 mStickAngleMargin;
|
|
/* 0x360 */ f32 mStickMarginX;
|
|
/* 0x364 */ f32 mStickMarginY;
|
|
/* 0x368 */ f32 mStickMarginYstart;
|
|
/* 0x36C */ f32 mStickMarginXstart;
|
|
/* 0x370 */ f32 mStickHeavyMinRatio;
|
|
/* 0x374 */ f32 mStickHeavyMinAngle;
|
|
/* 0x378 */ f32 mStickHeavyMaxAngle;
|
|
/* 0x37C */ f32 mSpeedSquatWalkLower;
|
|
/* 0x380 */ f32 mSquatWalkStep;
|
|
/* 0x384 */ f32 mSquatWalkMaxSpeed;
|
|
/* 0x388 */ f32 mSquatWalkMinSpeed;
|
|
/* 0x38C */ f32 mWindSlideLimit;
|
|
/* 0x390 */ f32 mWindSlideFriction;
|
|
/* 0x394 */ f32 mWindForwardFriction;
|
|
/* 0x398 */ f32 mWindSlideFrictionAgainst;
|
|
/* 0x39C */ f32 mWindJumpingFriction;
|
|
/* 0x3A0 */ u16 mTornadoTime;
|
|
/* 0x3A2 */ u16 mTornadoTimeAir;
|
|
/* 0x3A4 */ u16 mAirWalkTimeTornado;
|
|
/* 0x3A6 */ u16 mTornadoRestartTime;
|
|
/* 0x3A8 */ f32 mSpinDifferMargin;
|
|
/* 0x3AC */ f32 mSpinGoalAngle;
|
|
/* 0x3B0 */ s16 mSpinInputLimitTime;
|
|
/* 0x3B2 */ s16 mSpinTime;
|
|
/* 0x3B4 */ f32 mSpinSpeed;
|
|
/* 0x3B8 */ f32 mSpinWalkRatio;
|
|
/* 0x3BC */ f32 mSpinJumpRatio;
|
|
/* 0x3C0 */ f32 mSpinWallReboundSpeed;
|
|
/* 0x3C4 */ u16 mSpinFinishTime;
|
|
/* 0x3C8 */ f32 mSpinFinishRate;
|
|
/* 0x3CC */ f32 mTornadoMultiply;
|
|
/* 0x3D0 */ f32 mTurnAngleSpeedTornado;
|
|
/* 0x3D4 */ f32 mInertiaTornadoAccel;
|
|
/* 0x3D8 */ f32 mInertiaTornadoBrake;
|
|
/* 0x3DC */ u16 mTornadoChargeTime;
|
|
/* 0x3DE */ u16 mTornadoChargeUpTime;
|
|
/* 0x3E0 */ u16 mTornadoZeroGravityTimer;
|
|
/* 0x3E4 */ f32 mTornadoBoostPower;
|
|
/* 0x3E8 */ f32 mTornadoBoostAttn;
|
|
/* 0x3EC */ u16 mTornadoBoostTimer;
|
|
/* 0x3F0 */ f32 mTornadoBoostAttnMini;
|
|
/* 0x3F4 */ u16 mTornadoBoostTimerMini;
|
|
/* 0x3F8 */ f32 mTornadoTiltCancel;
|
|
/* 0x3FC */ f32 mTornadoTiltAngle;
|
|
/* 0x400 */ f32 mTornadoTiltSpeed;
|
|
/* 0x404 */ f32 mTornadoTiltOffSpeed;
|
|
/* 0x408 */ f32 mTornadoTiltNear;
|
|
/* 0x40C */ u16 mTornadoReflectTimer;
|
|
/* 0x410 */ f32 mTornadoReflectSpeed;
|
|
/* 0x414 */ u16 mAirWalkTimeSpin;
|
|
/* 0x418 */ f32 mSpinCoinPullRadius;
|
|
/* 0x41C */ f32 mCoinPullAngleSpeedRatio;
|
|
/* 0x420 */ f32 mCoinPullDistSpeedRatio;
|
|
/* 0x424 */ u16 mSpinJumpCount;
|
|
/* 0x426 */ u16 mSpinIntervalTime;
|
|
/* 0x428 */ f32 mSpinJumpHeight;
|
|
/* 0x42C */ f32 mSpinJumpGravity;
|
|
/* 0x430 */ f32 mWallStickGrHeight;
|
|
/* 0x434 */ f32 mWallStickFrHeight;
|
|
/* 0x438 */ f32 mWallStickStepHeight;
|
|
/* 0x43C */ f32 mWallDropSpeedStop;
|
|
/* 0x440 */ f32 mWallDropSpeedNormal;
|
|
/* 0x444 */ f32 mWallJumpPowerXZ;
|
|
/* 0x448 */ f32 mWallJumpPowerY;
|
|
/* 0x44C */ f32 mWallBackJumpPowerXZ;
|
|
/* 0x450 */ f32 mWallBackJumpPowerY;
|
|
/* 0x454 */ s16 mWallStickTime;
|
|
/* 0x456 */ s16 mWallStickTimeIce;
|
|
/* 0x458 */ s16 mWallReleaseTime;
|
|
/* 0x45C */ f32 mWallSideMoveRatio;
|
|
/* 0x460 */ f32 mJumpHeightBlown;
|
|
/* 0x464 */ f32 mGravityBlown;
|
|
/* 0x468 */ f32 mWallHangGrHeight;
|
|
/* 0x46C */ f32 mWallHangMyHeight;
|
|
/* 0x470 */ s16 mHangBlendTime;
|
|
/* 0x474 */ f32 mWallPushAngleRange;
|
|
/* 0x478 */ f32 mWallFrontAngleRange;
|
|
/* 0x47C */ f32 mWallBackAngleRange;
|
|
/* 0x480 */ f32 mWallStickCancelAngle;
|
|
/* 0x484 */ f32 mWallBackHangStickPower;
|
|
/* 0x488 */ f32 mWallBackHangWalkSpeed;
|
|
/* 0x48C */ f32 mWallTriJumpMargin;
|
|
/* 0x490 */ f32 mWallSpinFlipGround;
|
|
/* 0x494 */ f32 mWallSpinHopGround;
|
|
/* 0x498 */ f32 mWallSpinFlipAirRatio;
|
|
/* 0x49C */ u16 mClapCoinTime;
|
|
/* 0x4A0 */ f32 mClapCoinPullRate;
|
|
/* 0x4A4 */ f32 mClapJumpBonusRising;
|
|
/* 0x4A8 */ f32 mClapJumpBonusFalling;
|
|
/* 0x4AC */ f32 mHopLimit;
|
|
/* 0x4B0 */ f32 mSwimFrontAcc;
|
|
/* 0x4B4 */ f32 mSwimFrontMaxSpeed;
|
|
/* 0x4B8 */ f32 mSwimFrontSpinSpeed;
|
|
/* 0x4BC */ f32 mSwimFrontNormalSpeed;
|
|
/* 0x4C0 */ f32 mSwimFrontOnWaterSpeed;
|
|
/* 0x4C4 */ f32 mSwimFrontJetSpeed;
|
|
/* 0x4C8 */ f32 mSwimFrontJetSpeedSlow;
|
|
/* 0x4CC */ f32 mSwimAccRatio;
|
|
/* 0x4D0 */ f32 mSwimAccMinRatio;
|
|
/* 0x4D4 */ f32 mSwimFrontIne;
|
|
/* 0x4D8 */ f32 mSwimStopIne;
|
|
/* 0x4DC */ f32 mSwimStopIneSurface;
|
|
/* 0x4E0 */ f32 mSwimRotSpeedX;
|
|
/* 0x4E4 */ f32 mSwimRotSpeedZ;
|
|
/* 0x4E8 */ f32 mSwimRotSpeedZStop;
|
|
/* 0x4EC */ f32 mSwimRotXIne;
|
|
/* 0x4F0 */ f32 mSwimRotZIne;
|
|
/* 0x4F4 */ f32 mSwimRotXIneT;
|
|
/* 0x4F8 */ f32 mSwimRotZIneT;
|
|
/* 0x4FC */ f32 mSwimUpAcc;
|
|
/* 0x500 */ f32 mSwimUpMaxSpeed;
|
|
/* 0x504 */ f32 mWeightBlendRatioSwim;
|
|
/* 0x508 */ f32 mWeightBlendRatioSwimB;
|
|
/* 0x50C */ f32 mSwimFreeXback;
|
|
/* 0x510 */ f32 mSwimFreeXback2;
|
|
/* 0x514 */ f32 mSwimSpdYratio;
|
|
/* 0x518 */ f32 mSwimRotSpeedRatioSurface;
|
|
/* 0x51C */ u16 mJumpSinkTimer;
|
|
/* 0x51E */ u16 mJumpDamageSinkTimer;
|
|
/* 0x520 */ f32 mSwimToWalkSpd;
|
|
/* 0x524 */ u16 mWaterDecInterval;
|
|
/* 0x526 */ u16 mWaterDecSpinAcc;
|
|
/* 0x528 */ u16 mOxygenMax;
|
|
/* 0x52C */ f32 mSwimXJetRotRatio;
|
|
/* 0x530 */ f32 mSwimXJetRotRatioRed;
|
|
/* 0x534 */ f32 mTurboReductionStream;
|
|
/* 0x538 */ f32 mTurboReductionHitWall;
|
|
/* 0x53C */ f32 mTurboReductionHitFloor;
|
|
/* 0x540 */ u16 mSwimJetPeriod1;
|
|
/* 0x542 */ u16 mSwimJetPeriod2;
|
|
/* 0x544 */ f32 mSwimJetPeriod1Ratio;
|
|
/* 0x548 */ f32 mSwimJetPeriod3Ratio;
|
|
/* 0x54C */ f32 mZsinkAngleX;
|
|
/* 0x550 */ u16 mZsinkMoveTimer;
|
|
/* 0x552 */ u16 mZsinkSinkTimer;
|
|
/* 0x554 */ u16 mZsinkStartTimer;
|
|
/* 0x558 */ f32 mZsinkFrontSpeed;
|
|
/* 0x55C */ u16 mSwimSpecStartTimerA[3];
|
|
/* 0x562 */ u16 mSwimSpecStartTimerB[3];
|
|
/* 0x568 */ u16 mSwimSpinReadyTime;
|
|
/* 0x56A */ u16 mSwimSpinTime;
|
|
/* 0x56C */ u16 mSwimDashTime;
|
|
/* 0x56E */ u16 mSwimSpinFrontTime;
|
|
/* 0x570 */ u16 mSwimSpinYspeedTime;
|
|
/* 0x572 */ u16 mSwimSpinDownStep;
|
|
/* 0x574 */ f32 mSwimSpinSpeed;
|
|
/* 0x578 */ f32 mSwimSpinAcc1;
|
|
/* 0x57C */ f32 mSwimSpinAcc2;
|
|
/* 0x580 */ u16 mSwimSpinMissOfsTime;
|
|
/* 0x584 */ f32 mSwimSpinAccRatio;
|
|
/* 0x588 */ f32 mSwimSpinSurfaceAccRatio;
|
|
/* 0x58C */ f32 mSwimSpinAccRatioR;
|
|
/* 0x590 */ f32 mSwimSpinSurfaceAccRatioR;
|
|
/* 0x594 */ u16 mSwimRingDashChargeTime;
|
|
/* 0x596 */ u16 mSwimRingDashTime;
|
|
/* 0x598 */ u16 mSwimRingDashFinishTime;
|
|
/* 0x59C */ f32 mSwimRingDashSpeedRatio;
|
|
/* 0x5A0 */ f32 mSwimSurfaceSpeed;
|
|
/* 0x5A4 */ f32 mSwimWaterSpeed;
|
|
/* 0x5A8 */ f32 mSwimDriftSpeed;
|
|
/* 0x5AC */ u16 mSwimConnectIn;
|
|
/* 0x5AE */ u16 mSwimConnectOut;
|
|
/* 0x5B0 */ f32 mSwimTiltZup;
|
|
/* 0x5B4 */ f32 mSwimTiltZdown;
|
|
/* 0x5B8 */ f32 mSwimTiltReal;
|
|
/* 0x5BC */ f32 mSwimTiltSpd;
|
|
/* 0x5C0 */ f32 mSwimUpSurfaceDist;
|
|
/* 0x5C4 */ f32 mSwimUpStrongDist;
|
|
/* 0x5C8 */ f32 mSwimUpStrongRatio;
|
|
/* 0x5CC */ f32 mSwimUpWeakDist;
|
|
/* 0x5D0 */ f32 mSwimUpBottomDist;
|
|
/* 0x5D4 */ f32 mSwimUpWeakRatio;
|
|
/* 0x5D8 */ f32 mSwimReverseSinkRatio;
|
|
/* 0x5DC */ f32 mSliderBrakeIne;
|
|
/* 0x5E0 */ f32 mSliderWeightIne;
|
|
/* 0x5E4 */ f32 mSliderSlopePow;
|
|
/* 0x5E8 */ f32 mSliderWeightPow;
|
|
/* 0x5EC */ f32 mSliderMaxSpeed;
|
|
/* 0x5F0 */ f32 mSliderBrakePow;
|
|
/* 0x5F4 */ f32 mSliderFrontTurnRatio;
|
|
/* 0x5F8 */ f32 mSliderHeadRotateRatio;
|
|
/* 0x5FC */ f32 mSliderTiltRatio;
|
|
/* 0x600 */ f32 mBeeFlyRandomFactor;
|
|
/* 0x604 */ f32 mBeeFlyConstantFactor;
|
|
/* 0x608 */ f32 mBeeAirWalkAcc;
|
|
/* 0x60C */ f32 mBeeAirWalkLimit;
|
|
/* 0x610 */ f32 mBeeAirWalkTurnSpd;
|
|
/* 0x614 */ f32 mBeeSpeedRotateRatio;
|
|
/* 0x618 */ f32 mBeeFreeDropAcc;
|
|
/* 0x61C */ f32 mBeeFreeDropMaxSpd;
|
|
/* 0x620 */ f32 mBeePushRiseGravityEraser;
|
|
/* 0x624 */ f32 mBeeStickJumpPower;
|
|
/* 0x628 */ f32 mBeeStickJumpBonus;
|
|
/* 0x62C */ f32 mBeeStickAngleLimit;
|
|
/* 0x630 */ f32 mBeeUpSpeedMax;
|
|
/* 0x634 */ f32 mBeeUpAccelRatio;
|
|
/* 0x638 */ f32 mBeeAccelRatio;
|
|
/* 0x63C */ f32 mBeeUpDownKiller;
|
|
/* 0x640 */ u16 mBeeGravityReviveTime;
|
|
/* 0x642 */ u16 mBeeGravityPowerTime;
|
|
/* 0x644 */ u16 mBeeAirWalkInhibitTime;
|
|
/* 0x646 */ u16 mBeeGravityPowerTimeV;
|
|
/* 0x648 */ u16 mBeeAirWalkInhibitTimeV;
|
|
/* 0x64A */ u16 mBeeGravityPowerTimeD;
|
|
/* 0x64C */ u16 mBeeAirWalkInhibitTimeD;
|
|
/* 0x650 */ f32 mBeeWallWalkCancelRadius;
|
|
/* 0x654 */ f32 mBeeWallWalkCancelRadiusShort;
|
|
/* 0x658 */ f32 mBeePoseDelayAngleAir;
|
|
/* 0x65C */ f32 mBeePoseDelayAngleGround;
|
|
/* 0x660 */ f32 mBeePoseDelayAccel;
|
|
/* 0x664 */ f32 mBeePoseLimitAngleAir;
|
|
/* 0x668 */ f32 mBeePoseLimitAngleGround;
|
|
/* 0x66C */ f32 mBeePoseHeadToFootLength;
|
|
/* 0x670 */ f32 mBeePoseDelaySpeedLimit;
|
|
/* 0x674 */ f32 mBeePoseFrictionStop;
|
|
/* 0x678 */ f32 mBeePoseTransBlendingRatioStop;
|
|
/* 0x67C */ f32 mBeePoseFrictionMove;
|
|
/* 0x680 */ f32 mBeePoseTransBlendingRatioMove;
|
|
/* 0x684 */ f32 mRabbitTurnRatio;
|
|
/* 0x688 */ f32 mRabbitTurnRatio2;
|
|
/* 0x68C */ f32 mRabbitGravityRise;
|
|
/* 0x690 */ f32 mRabbitGravityDrop;
|
|
/* 0x694 */ f32 mRabbitFirstJump;
|
|
/* 0x698 */ f32 mRabbitMoveSpeed;
|
|
/* 0x69C */ f32 mRabbitMoveAcc;
|
|
/* 0x6A0 */ f32 mRabbitMoveAcc2;
|
|
/* 0x6A4 */ f32 mRabbitMoveAcc3;
|
|
/* 0x6A8 */ f32 mRabbitFirstJump2;
|
|
/* 0x6AC */ f32 mRabbitGravityRise2;
|
|
/* 0x6B0 */ f32 mRabbitGravityDrop2;
|
|
/* 0x6B4 */ u16 mRabbitChargeTime2;
|
|
/* 0x6B6 */ u16 mHopperLandingTime;
|
|
/* 0x6B8 */ f32 mTeresaHorizontalSpeedMax;
|
|
/* 0x6BC */ f32 mTeresaAlphaLevelMax;
|
|
/* 0x6C0 */ f32 mTeresaAlphaLevelInc;
|
|
/* 0x6C4 */ f32 mTeresaAlphaLevelDec;
|
|
/* 0x6C8 */ u16 mTeresaWallThroughTime;
|
|
/* 0x6CC */ f32 mTeresaAngleUp;
|
|
/* 0x6D0 */ f32 mTeresaAngleDown;
|
|
/* 0x6D4 */ f32 mTeresaWallReflectPower;
|
|
/* 0x6D8 */ f32 mTeresaWallReflectReduction;
|
|
/* 0x6DC */ u16 mTeresaWallReflectTime;
|
|
/* 0x6E0 */ f32 mTeresaWaitHeight;
|
|
/* 0x6E4 */ f32 mTeresaDropDownHeight;
|
|
/* 0x6E8 */ f32 mTeresaBodyRadius;
|
|
/* 0x6EC */ f32 mTeresaAirWalkTurnSpd;
|
|
/* 0x6F0 */ f32 mTeresaDropSpeedMax;
|
|
/* 0x6F4 */ f32 mTeresaRiseSpeedMax;
|
|
/* 0x6F8 */ f32 mTeresaDropBase;
|
|
/* 0x6FC */ f32 mTeresaUpInertia;
|
|
/* 0x700 */ u16 mTeresaAccelTime;
|
|
/* 0x702 */ u16 mTeresaTrgOnPushTime1;
|
|
/* 0x704 */ u16 mTeresaTrgOnPushTime2;
|
|
/* 0x708 */ f32 mTeresaOnePushAccel1;
|
|
/* 0x70C */ f32 mTeresaOnePushAccel2;
|
|
/* 0x710 */ f32 mTeresaNoPushDownRatio;
|
|
/* 0x714 */ f32 mTeresaRisingBrake;
|
|
/* 0x718 */ f32 mTeresaWindMovingBrake1;
|
|
/* 0x71C */ f32 mTeresaWindMovingBrake2;
|
|
/* 0x720 */ f32 mTeresaWindMovingBrake3;
|
|
/* 0x724 */ f32 mSilhouetteZoffset;
|
|
/* 0x728 */ u8 mRibbonColor[4];
|
|
/* 0x72C */ u8 mDamageFogLow;
|
|
/* 0x72D */ u8 mDamageFogHigh;
|
|
/* 0x730 */ f32 mStarPieceFogLevel;
|
|
/* 0x734 */ u8 mStarPieceFogTime;
|
|
/* 0x735 */ u8 mSearchLightAlphaLevel;
|
|
/* 0x736 */ u8 mSearchLightBlurAlpha[3];
|
|
/* 0x73C */ f32 mSearchLightBlurScale[3];
|
|
/* 0x748 */ u8 mSearchLightColor[4];
|
|
/* 0x74C */ f32 mRasterV;
|
|
/* 0x750 */ s32 mRasterSpeed;
|
|
/* 0x754 */ f32 mRasterRange;
|
|
/* 0x758 */ u16 mRacketHoldTime;
|
|
/* 0x75A */ u16 mTornadoHoldTime;
|
|
/* 0x75C */ u16 mMetalHoldTime;
|
|
/* 0x75E */ u16 mFireModeTime;
|
|
/* 0x760 */ u16 mIceModeTime;
|
|
/* 0x764 */ f32 mHeadAngleFixMargin;
|
|
/* 0x768 */ f32 mFrontAngleFixMargin;
|
|
/* 0x76C */ u16 mCameraHeadRotationTimer;
|
|
/* 0x770 */ f32 mHeadRotateRatio;
|
|
/* 0x774 */ f32 mVibrationAbsorbAngleF;
|
|
/* 0x778 */ f32 mVibrationAbsorbAngleH;
|
|
/* 0x77C */ f32 mVibrationAbsorbAngleS;
|
|
/* 0x780 */ f32 mSlopeAnimBlendRatio;
|
|
/* 0x784 */ f32 mRotateHeadVecSpeedByGravityL;
|
|
/* 0x788 */ f32 mRotateHeadVecSpeedByGravityM;
|
|
/* 0x78C */ f32 mRotateHeadVecSpeedByGravityS;
|
|
/* 0x790 */ f32 mLookMaxAngleH;
|
|
/* 0x794 */ f32 mLookMaxAngleVP;
|
|
/* 0x798 */ f32 mLookMaxAngleVM;
|
|
/* 0x79C */ f32 mLookShoulderMoveMax;
|
|
/* 0x7A0 */ u16 mRushInBlendTimer;
|
|
};
|
|
|
|
/// @brief The accessor for player character constants.
|
|
class MarioConst {
|
|
friend class Mario;
|
|
friend class MarioActor;
|
|
|
|
public:
|
|
/// @brief Creates a new `MarioConst`.
|
|
MarioConst();
|
|
|
|
/// @brief Returns the working table of player character constants.
|
|
MarioConstTable* getTable() const {
|
|
return mTable[mCurrentTable];
|
|
}
|
|
|
|
/// @brief Switches the working table of player character constants.
|
|
/// @param tbl The new table index.
|
|
void changeTable(u32 tbl) {
|
|
mCurrentTable = tbl;
|
|
}
|
|
|
|
private:
|
|
/// @brief The array of player character constant tables.
|
|
/* 0x00 */ MarioConstTable* mTable[2];
|
|
|
|
/// @brief The index of the working player character constant table.
|
|
/* 0x08 */ u32 mCurrentTable;
|
|
};
|