mirror of
https://github.com/PodeCaradox/GalaxyQuest-SteamFrame.git
synced 2026-10-19 09:01:20 +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>
77 lines
2.0 KiB
C++
77 lines
2.0 KiB
C++
#pragma once
|
|
|
|
#include "Game/NameObj/NameObj.hpp"
|
|
#include <JSystem/JGeometry/TVec.hpp>
|
|
|
|
class Camera;
|
|
class CameraPoseParam;
|
|
class CameraTargetObj;
|
|
|
|
class CameraHeightArrange : public NameObj {
|
|
public:
|
|
enum JumpState {
|
|
JumpState_NoMove = 0,
|
|
JumpState_Rise = 1,
|
|
JumpState_Fall = 2,
|
|
};
|
|
|
|
CameraHeightArrange(Camera*);
|
|
|
|
virtual ~CameraHeightArrange();
|
|
|
|
void updateJump();
|
|
void calcWatchPos(CameraTargetObj*);
|
|
void arrange();
|
|
void resetJump();
|
|
void reset();
|
|
void resetParameter();
|
|
void checkState();
|
|
void arrangeHeight();
|
|
void arrangeVPan();
|
|
void calcPose();
|
|
void updateUpper();
|
|
void updateLower();
|
|
f32 calcOffset(f32);
|
|
void chase();
|
|
void updateHeightAndOffset();
|
|
const TVec3f& getGlobalAxis();
|
|
|
|
/* 0x0C */ Camera* mCamera;
|
|
/* 0x10 */ bool mIsJumping;
|
|
/* 0x11 */ bool mIsStartJump;
|
|
/* 0x12 */ bool mIsEndJump;
|
|
/* 0x14 */ CameraPoseParam* mNextParam;
|
|
/* 0x18 */ CameraPoseParam* mCurrParam;
|
|
/* 0x1C */ u32 _1C;
|
|
/* 0x20 */ u32 _20;
|
|
/* 0x24 */ u32 _24;
|
|
/* 0x28 */ f32 mCameraWatchPosBaseHeight;
|
|
/* 0x2C */ f32 mCameraTargetPosHeight;
|
|
/* 0x30 */ f32 mCameraWatchPosHeight;
|
|
/* 0x34 */ f32 mCameraPosHeight;
|
|
/* 0x38 */ f32 mCameraWatchPosOffset;
|
|
/* 0x3C */ f32 mCameraPosOffset;
|
|
/* 0x40 */ u32 mJumpState;
|
|
/* 0x44 */ s32 mStateTime;
|
|
/* 0x48 */ s32 _48;
|
|
/* 0x4C */ bool mIsCatchup;
|
|
/* 0x50 */ s32 mChaseTime;
|
|
/* 0x54 */ s32 mRiseTime;
|
|
/* 0x58 */ s32 mDropTime;
|
|
/* 0x5C */ s32 mRiseEaseTime;
|
|
/* 0x60 */ bool mUpdateGlobalAxis;
|
|
/* 0x64 */ TVec3f mGlobalAxis;
|
|
/* 0x70 */ f32 mOffsetScale;
|
|
/* 0x74 */ f32 mOffsetScaleMax;
|
|
/* 0x78 */ f32 mFocalScaleUpper;
|
|
/* 0x7C */ f32 mFocalScaleLower;
|
|
/* 0x80 */ s32 mGndInt;
|
|
/* 0x84 */ f32 mPosOffsetMinRiseLag;
|
|
/* 0x88 */ f32 mPosOffsetMinDropLag;
|
|
/* 0x8C */ s32 mRiseDelay;
|
|
/* 0x90 */ s32 mDropDelay;
|
|
/* 0x94 */ s32 mMaxRiseEaseTime;
|
|
/* 0x98 */ bool mVPanUse;
|
|
/* 0x9C */ TVec3f mVPanAxis;
|
|
};
|