mirror of
https://github.com/PodeCaradox/GalaxyQuest-SteamFrame.git
synced 2026-10-18 21:01:23 +02:00
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>
58 lines
1.4 KiB
C++
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;
|
|
};
|