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

46 lines
1.4 KiB
C++

#pragma once
#include "Game/Camera/Camera.hpp"
#include <JSystem/JGeometry.hpp>
class CameraMedianPlanet : public Camera {
public:
CameraMedianPlanet(const char* pName = "\x92\x86\x93\x5f\x92\x8d\x96\xda\x83\x76\x83\x89\x83\x6c\x83\x62\x83\x67\x83\x4a\x83\x81\x83\x89");
virtual ~CameraMedianPlanet();
virtual void reset();
virtual CameraTargetObj* calc();
virtual CamTranslatorBase* createTranslator();
void getPrevFront(TVec3f*);
void constrainDipAngle(TVec3f*);
void makeTargetMtx(TPos3f*);
void peepMtx(TPos3f*);
void rotate33(TPos3f*, const TVec3f&, f32);
void constrainLength(TVec3f*);
f32 getMaxRate();
void getRegisterUpVec(TVec3f*);
void calcWatchPos(TVec3f*);
bool calcUpVec(TVec3f*, const TVec3f&, const TVec3f&);
void setParam(const char* pName, f32 distMin, f32 distMax, f32 angleMin, f32 constrainRate, f32 peepAngle, f32 dist, f32 partialRate) {
mString = pName;
mDistMin = distMin;
mDistMax = distMax;
mAngleMin = angleMin;
mPeepAngle = peepAngle;
mDist = dist;
mAngleConstrainRate = constrainRate;
mPartialRate = partialRate;
}
/* 0x4C */ const char* mString;
/* 0x50 */ f32 mDistMin;
/* 0x54 */ f32 mDistMax;
/* 0x58 */ f32 mAngleMin;
/* 0x5C */ f32 mPeepAngle;
/* 0x60 */ f32 mDist;
/* 0x64 */ f32 mAngleConstrainRate;
/* 0x68 */ f32 mPartialRate;
};