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

58 lines
1.4 KiB
C++

#pragma once
#include "Game/Screen/LayoutActor.hpp"
class ValueControl;
struct Timing {
/* 0x0 */ u32 mScaleStartFrame;
/* 0x4 */ u32 mScaleKeepFrame;
/* 0x8 */ bool mIsScaleUp;
/* 0x9 */ bool mIsScaleDown;
/* 0xA */ bool _A;
};
class TimeUpLayout : public LayoutActor {
public:
/// @brief Creates a new `TimeUpLayout`.
TimeUpLayout() : LayoutActor("\x83\x5e\x83\x43\x83\x80\x83\x41\x83\x62\x83\x76\x89\xe6\x96\xca", true) {
}
virtual void init(const JMapInfoIter& rIter);
};
class TimeLimitLayout : public LayoutActor {
public:
TimeLimitLayout(u32 timeLimit);
virtual void init(const JMapInfoIter& rIter);
virtual void appear();
virtual void kill();
virtual void control();
void setTimeLimit(u32);
void setDisplayModeOnNormal(bool);
bool isReadyToTimeUp() const;
void resetFrame();
void addFrame();
void updateTextBox();
void exeAppear();
void exeCountDown();
void exeScaleUp();
void exeScaleKeep();
void exeScaleDown();
void exeFadeout();
void exeTimeUpReady();
const Timing* getCurrentTiming() const;
bool updateNormal();
private:
/* 0x20 */ u32 mTime;
/* 0x24 */ u32 mTimeLimit;
/* 0x28 */ ValueControl* mScaleControl;
/* 0x2C */ ValueControl* mFadeControl;
/* 0x30 */ const Timing* mCurrentTiming;
/* 0x34 */ bool mIsSuspend;
/* 0x35 */ bool _35;
};