Files
bigmak94andClaude Opus 5.5 bd9bded792 GalaxyQuest: Super Mario Galaxy in VR on Meta Quest 3
A native port built on the Petari decompilation (previous commit): an
HLE platform layer (OS, DVD, GX, audio, input, NAND) under the game's
own code, an OpenXR presentation (a diorama around the player, a giant
screen, the HUD and settings as compositor layers, SpaceWarp, dynamic
resolution), Touch Plus controls, the tools that convert your own game
files (tools/cook, which also takes the few pieces of data the game's
executable holds from your sys/main.dol), and the port's changes to the
decompilation (`git diff petari-base -- decomp`).  README.md explains
installing and building, docs/TECHNICAL.md how it works.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 01:59:38 +02:00

44 lines
1.2 KiB
C++

#pragma once
#include "Game/Camera/Camera.hpp"
class CameraSpiral : public Camera {
public:
enum EaseType {
EaseType_Linear = 0,
EaseType_InOut = 1,
};
CameraSpiral(const char* pName = "\x97\x86\x90\xf9\x83\x4a\x83\x81\x83\x89\x81\x69\x83\x66\x83\x82\x97\x70\x81\x6a");
virtual void reset();
virtual CameraTargetObj* calc();
virtual CamTranslatorBase* createTranslator();
void setParam(s32 easeType, s32 endTime, s32 startTime, f32 offYStart, f32 offYEnd, f32 distStart, f32 distEnd, f32 angleStart, f32 angleEnd) {
mEndTime = endTime;
mStartTime = startTime;
mEaseType = easeType;
mOffsetYStart = offYStart;
mOffsetYEnd = offYEnd;
mDistStart = distStart;
mDistEnd = distEnd;
mAngleStart = angleStart;
mAngleEnd = angleEnd;
}
inline s32 getInterval() const {
return (mEndTime - mStartTime);
}
/* 0x4C */ s32 mEndTime;
/* 0x50 */ s32 mTimer;
/* 0x54 */ s32 mStartTime;
/* 0x58 */ s32 mEaseType;
/* 0x5C */ f32 mOffsetYStart;
/* 0x60 */ f32 mOffsetYEnd;
/* 0x64 */ f32 mDistStart;
/* 0x68 */ f32 mDistEnd;
/* 0x6C */ f32 mAngleStart;
/* 0x70 */ f32 mAngleEnd;
};