mirror of
https://github.com/PodeCaradox/GalaxyQuest-SteamFrame.git
synced 2026-10-19 00:01:24 +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>
204 lines
10 KiB
C++
204 lines
10 KiB
C++
#pragma once
|
|
|
|
#include <JSystem/JGeometry/TVec.hpp>
|
|
#include <revolution/gx.h>
|
|
#include <revolution/wpad.h>
|
|
|
|
class BenefitItemLifeUp;
|
|
class BenefitItemObj;
|
|
class BenefitItemOneUp;
|
|
class JMapInfo;
|
|
class JMapInfoIter;
|
|
class LayoutActor;
|
|
class LiveActor;
|
|
class ModelObj;
|
|
class NameObj;
|
|
class NameObjAdaptor;
|
|
class NameObjGroup;
|
|
class ResTIMG;
|
|
class ResourceHolder;
|
|
class StageSwitchCtrl;
|
|
|
|
namespace MR {
|
|
class FunctorBase;
|
|
}; // namespace MR
|
|
|
|
namespace MR {
|
|
bool isJudgedToClipFrustum(const TVec3f&, f32);
|
|
bool isJudgedToClipFrustum100m(const TVec3f&, f32);
|
|
bool isJudgedToClipFrustum300m(const TVec3f&, f32);
|
|
bool isJudgedToNearClip(const TVec3f&, f32);
|
|
bool isInWater(const TVec3f&);
|
|
bool isInWater(const LiveActor*, const TVec3f&);
|
|
bool isInDeath(const TVec3f&);
|
|
bool isInDarkMatter(const TVec3f&);
|
|
void connectToScene(LiveActor*, int, int, int, int);
|
|
void connectToScene(NameObj*, int, int, int, int);
|
|
void connectToSceneCollisionMapObj(LiveActor*);
|
|
void connectToSceneCollisionMapObjMovementCalcAnim(LiveActor*);
|
|
void connectToSceneCollisionMapObjWeakLight(LiveActor*);
|
|
void connectToSceneCollisionMapObjStrongLight(LiveActor*);
|
|
void connectToSceneCollisionEnemy(LiveActor*);
|
|
void connectToSceneCollisionEnemyMovement(NameObj*);
|
|
void connectToSceneCollisionEnemyStrongLight(LiveActor*);
|
|
void connectToSceneCollisionEnemyNoShadowedMapObjStrongLight(LiveActor*);
|
|
void connectToSceneNpc(LiveActor*);
|
|
void connectToSceneNpcMovement(LiveActor*);
|
|
void connectToSceneRide(LiveActor*);
|
|
void connectToSceneEnemy(LiveActor*);
|
|
void connectToSceneEnemyMovement(NameObj*);
|
|
void connectToSceneMapObj(LiveActor*);
|
|
void connectToSceneMapObjMovement(NameObj*);
|
|
void connectToSceneMapObjMovementCalcAnim(NameObj*);
|
|
void connectToSceneMapObjNoMovement(LiveActor*);
|
|
void connectToSceneMapObjNoCalcAnim(LiveActor*);
|
|
void connectToSceneMapObjNoCalcAnimStrongLight(LiveActor*);
|
|
void connectToSceneMapObjDecoration(LiveActor*);
|
|
void connectToSceneMapObjDecorationStrongLight(LiveActor*);
|
|
void connectToSceneMapObjDecorationMovement(NameObj*);
|
|
void connectToSceneMapObjStrongLight(LiveActor*);
|
|
void connectToSceneMapParts(LiveActor*);
|
|
void connectToScenePlanet(LiveActor*);
|
|
void connectToSceneEnvironment(LiveActor*);
|
|
void connectToSceneEnvironmentStrongLight(LiveActor*);
|
|
void connectToClippedMapParts(LiveActor*);
|
|
void connectToSceneEnemyDecoration(LiveActor*);
|
|
void connectToSceneEnemyDecorationMovement(NameObj*);
|
|
void connectToSceneEnemyDecorationMovementCalcAnim(NameObj*);
|
|
void connectToSceneItem(LiveActor*);
|
|
void connectToSceneItemStrongLight(LiveActor*);
|
|
void connectToSceneIndirectEnemy(LiveActor*);
|
|
void connectToSceneIndirectNpc(LiveActor*);
|
|
void connectToSceneIndirectMapObj(LiveActor*);
|
|
void connectToSceneIndirectMapObjStrongLight(LiveActor*);
|
|
void connectToSceneScreenEffectMovement(NameObj*);
|
|
void connectToSceneAreaObj(NameObj*);
|
|
void connectToScene3DModelFor2D(LiveActor*);
|
|
void connectToSceneLayout(NameObj*);
|
|
void connectToSceneLayoutMovementCalcAnim(NameObj*);
|
|
void connectToSceneLayoutDecoration(NameObj*);
|
|
void connectToSceneTalkLayout(NameObj*);
|
|
void connectToSceneTalkLayoutNoMovement(NameObj*);
|
|
void connectToSceneWipeLayout(NameObj*);
|
|
void connectToSceneLayoutOnPause(NameObj*);
|
|
void connectToSceneLayoutOnPauseNoMovement(NameObj*);
|
|
void connectToSceneLayoutOnPauseMovementCalcAnim(NameObj*);
|
|
void connectToSceneLayoutMovement(NameObj*);
|
|
void connectToSceneMovie(NameObj*);
|
|
void connectToSceneMirrorMapObj(LiveActor*);
|
|
void connectToSceneMirrorMapObjDecoration(LiveActor*);
|
|
void connectToSceneMirrorMapObjNoMovement(LiveActor*);
|
|
void connectToSceneCamera(NameObj*);
|
|
void connectToSceneNoShadowedMapObj(LiveActor*);
|
|
void connectToSceneNoShadowedMapObjStrongLight(LiveActor*);
|
|
void connectToSceneNoSilhouettedMapObj(LiveActor*);
|
|
void connectToSceneNoSilhouettedMapObjStrongLight(LiveActor*);
|
|
void connectToSceneNoSilhouettedMapObjWeakLightNoMovement(LiveActor*);
|
|
void connectToSceneSky(LiveActor*);
|
|
void connectToSceneAir(LiveActor*);
|
|
void connectToSceneSun(LiveActor*);
|
|
void connectToSceneCrystal(LiveActor*);
|
|
void connectToSceneNormalMapObj(LiveActor*);
|
|
void requestMovementOn(NameObj*);
|
|
void requestMovementOn(LiveActor*);
|
|
void requestMovementOn(LayoutActor*);
|
|
void requestMovementOff(NameObj*);
|
|
NameObjGroup* joinToNameObjGroup(NameObj*, const char*);
|
|
NameObjGroup* joinToMovementOnOffGroup(const char*, NameObj*, u32);
|
|
void onMovementOnOffGroup(const char*);
|
|
void registerPreDrawFunction(const MR::FunctorBase& functor, int drawType);
|
|
NameObjAdaptor* createDrawAdaptor(const char*, const MR::FunctorBase&);
|
|
NameObjAdaptor* createAdaptorAndConnectToDrawBloomModel(const char*, const MR::FunctorBase&);
|
|
void listenNameObjStageSwitchOnAppear(const NameObj*, const StageSwitchCtrl*, const MR::FunctorBase&);
|
|
void listenNameObjStageSwitchOnOffAppear(const NameObj*, const StageSwitchCtrl*, const MR::FunctorBase&, const MR::FunctorBase&);
|
|
void listenNameObjStageSwitchOnA(const NameObj*, const StageSwitchCtrl*, const MR::FunctorBase&);
|
|
void listenNameObjStageSwitchOnOffA(const NameObj*, const StageSwitchCtrl*, const MR::FunctorBase&, const MR::FunctorBase&);
|
|
void listenNameObjStageSwitchOnB(const NameObj*, const StageSwitchCtrl*, const MR::FunctorBase&);
|
|
void listenNameObjStageSwitchOffB(const NameObj*, const StageSwitchCtrl*, const MR::FunctorBase&);
|
|
void listenNameObjStageSwitchOnOffB(const NameObj*, const StageSwitchCtrl*, const MR::FunctorBase&, const MR::FunctorBase&);
|
|
ResourceHolder* createAndAddResourceHolder(const char*);
|
|
void* loadResourceFromArc(const char*, const char*);
|
|
bool isExistResourceInArc(const char*, const char*);
|
|
const ResTIMG* loadTexFromArc(const char*, const char*);
|
|
const ResTIMG* loadTexFromArc(const char*);
|
|
bool isExistFileInArc(const ResourceHolder*, const char*, ...);
|
|
JMapInfo* createCsvParser(const ResourceHolder*, const char*, ...);
|
|
JMapInfo* createCsvParser(const char*, const char*, ...);
|
|
JMapInfo* tryCreateCsvParser(const LiveActor*, const char*, ...);
|
|
JMapInfo* tryCreateCsvParser(const ResourceHolder*, const char*, ...);
|
|
s32 getCsvDataElementNum(const JMapInfo*);
|
|
void getCsvDataStr(const char**, const JMapInfo*, const char*, s32);
|
|
void getCsvDataStrOrNULL(const char**, const JMapInfo*, const char*, s32);
|
|
void getCsvDataS32(s32*, const JMapInfo*, const char*, s32);
|
|
void getCsvDataU8(u8*, const JMapInfo*, const char*, s32) NO_INLINE;
|
|
void getCsvDataF32(f32*, const JMapInfo*, const char*, s32);
|
|
void getCsvDataBool(bool*, const JMapInfo*, const char*, s32);
|
|
void getCsvDataVec(Vec*, const JMapInfo*, const char*, s32);
|
|
void getCsvDataColor(GXColor*, const JMapInfo*, const char*, s32);
|
|
bool isStageStateScenarioOpeningCamera();
|
|
bool isStageStatePowerStarAppeared();
|
|
void declarePowerStar(const NameObj*);
|
|
void declarePowerStar(const NameObj*, s32);
|
|
void declarePowerStarCoin100();
|
|
void appearPowerStarContinueCurrentDemo(const NameObj*, const TVec3f&);
|
|
void appearPowerStarWithoutDemo(const NameObj*);
|
|
void requestAppearPowerStar(const NameObj*);
|
|
void requestAppearPowerStar(const NameObj*, const TVec3f&);
|
|
void requestAppearPowerStar(const NameObj*, s32, const TVec3f&);
|
|
void requestAppearPowerStar(const NameObj*, const LiveActor*, f32);
|
|
void requestAppearPowerStarCoin100();
|
|
bool isEndPowerStarAppearDemo(const NameObj*);
|
|
ModelObj* createPowerStarDemoModel(const NameObj*, const char*, MtxPtr);
|
|
void declareCoin(const NameObj*, s32);
|
|
s32 getDeclareRemnantCoinCount(const NameObj*);
|
|
void hopCoin(const NameObj*, const TVec3f&, const TVec3f&);
|
|
void appearCoinFix(const NameObj*, const TVec3f&, s32);
|
|
void appearCoinPop(const NameObj*, const TVec3f&, s32);
|
|
void appearCoinPopToDirection(const NameObj*, const TVec3f&, const TVec3f&, s32);
|
|
void appearCoinToVelocity(const NameObj*, const TVec3f&, const TVec3f&, s32);
|
|
void appearCoinCircle(const NameObj*, const TVec3f&, s32);
|
|
void declareStarPiece(const NameObj*, s32);
|
|
s32 getDeclareRemnantStarPieceCount(const NameObj*);
|
|
s32 getDeclareRemnantStarPieceCountNotExist(const NameObj*);
|
|
void declareStarPieceReceiver(const NameObj*, s32);
|
|
void clearGotCountStarPieceReceiver(const NameObj*);
|
|
void hopStarPiece(const NameObj*, const TVec3f&, const TVec3f&);
|
|
bool appearStarPiece(const NameObj*, const TVec3f&, s32, f32, f32, bool);
|
|
bool appearStarPieceToDirection(const NameObj*, const TVec3f&, const TVec3f&, s32, f32, f32, bool);
|
|
void initStarPieceGetCSSound();
|
|
BenefitItemOneUp* createKinokoOneUp();
|
|
void appearKinokoOneUpPop(BenefitItemObj*, MtxPtr, f32);
|
|
BenefitItemLifeUp* createKinokoSuper();
|
|
void appearKinokoSuper(BenefitItemLifeUp*, MtxPtr, f32);
|
|
void stopScene(s32);
|
|
void stopSceneForDefaultHit(s32);
|
|
bool tryRumblePad(const void*, const char*, s32);
|
|
bool tryRumblePadVeryStrongLong(const void*, s32);
|
|
bool tryRumblePadVeryStrong(const void*, s32);
|
|
bool tryRumblePadStrong(const void*, s32);
|
|
bool tryRumblePadMiddle(const void*, s32);
|
|
bool tryRumblePadWeak(const void*, s32);
|
|
bool tryRumblePadVeryWeak(const void*, s32);
|
|
bool tryRumbleDefaultHit(const void*, s32);
|
|
void shakeCameraVeryStrong();
|
|
void shakeCameraStrong();
|
|
void shakeCameraNormalStrong();
|
|
void shakeCameraNormal();
|
|
void shakeCameraNormalWeak();
|
|
void shakeCameraWeak();
|
|
void shakeCameraVeryWeak();
|
|
void shakeCameraInfinity(NameObj*, f32, f32);
|
|
void stopShakingCamera(NameObj*);
|
|
bool isName(const NameObj*, const char*);
|
|
bool isSame(const NameObj*, const NameObj*);
|
|
bool tryRegisterNamePosLinkObj(const NameObj*, const JMapInfoIter&);
|
|
bool findNamePos(const char*, MtxPtr);
|
|
bool findNamePos(const char*, TVec3f*, TVec3f*);
|
|
void findNamePosOnGround(const char*, MtxPtr);
|
|
bool tryFindNamePos(const char*, MtxPtr);
|
|
bool tryFindNamePos(const char*, TVec3f*, TVec3f*);
|
|
void findLinkNamePos(const NameObj*, const char*, MtxPtr);
|
|
bool tryFindLinkNamePos(const NameObj*, const char*, MtxPtr);
|
|
bool tryFindLinkNamePos(const NameObj*, const char*, TVec3f*, TVec3f*);
|
|
}; // namespace MR
|