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.3 KiB
C++

#pragma once
#include "Game/LiveActor/LiveActor.hpp"
class FireBubble : public LiveActor {
public:
FireBubble(const char* = "\x83\x6f\x83\x75\x83\x8b");
virtual void init(const JMapInfoIter& rIter);
virtual void appear();
virtual void kill();
virtual void control();
virtual void calcAndSetBaseMtx();
virtual void attackSensor(HitSensor* pSender, HitSensor* pReceiver);
virtual bool receiveMsgPlayerAttack(u32 msg, HitSensor* pSender, HitSensor* pReceiver);
void initHitSensors(const char* const, const char* const);
void appear(const TVec3f&, const TVec3f&, const TVec3f&);
void initMapToolInfo(const JMapInfoIter& rIter);
void updateChaseFrontVec(f32);
void updateChaseFrontVecAndVelocity(f32);
void updateGravity(f32);
void calcReflectVelocity(TVec3f*) const;
bool tryChaseEnd();
bool tryReflect();
void killOrWaitToApppear();
void exeAppear();
void exeWait();
void exeChase();
void exeReflect();
void exeReflectLand();
void exeReflectWait();
void exeDown();
void exeWaitToAppear();
bool isMovingDown(); // fabricated
/* 0x8C */ bool mIsValidInfo;
/* 0x90 */ TVec3f _90;
/* 0x9C */ TVec3f _9C;
/* 0xA8 */ TVec3f _A8;
/* 0xB4 */ TVec3f _B4;
/* 0xC0 */ s32 mActFrame;
/* 0xC4 */ s32 mChaseCounter;
};