mirror of
https://github.com/PodeCaradox/GalaxyQuest-SteamFrame.git
synced 2026-10-19 01:01:45 +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>
71 lines
1.9 KiB
C++
71 lines
1.9 KiB
C++
#pragma once
|
|
|
|
#include "Game/MapObj/MapObjActor.hpp"
|
|
|
|
class ActorCameraInfo;
|
|
class BenefitItemObj;
|
|
|
|
class SimpleBreakableObjBase : public MapObjActor {
|
|
public:
|
|
SimpleBreakableObjBase(const char* pName) : MapObjActor(pName) {
|
|
}
|
|
|
|
virtual ~SimpleBreakableObjBase() {
|
|
}
|
|
|
|
virtual void control();
|
|
};
|
|
|
|
class SimpleBreakableObj : public SimpleBreakableObjBase {
|
|
public:
|
|
SimpleBreakableObj(const char*);
|
|
|
|
virtual ~SimpleBreakableObj() NO_INLINE;
|
|
virtual void init(const JMapInfoIter&) override;
|
|
virtual void control() override;
|
|
virtual bool receiveMsgPlayerAttack(u32, HitSensor*, HitSensor*) override;
|
|
virtual bool receiveMsgEnemyAttack(u32, HitSensor*, HitSensor*) override;
|
|
virtual bool receiveOtherMsg(u32, HitSensor*, HitSensor*) override;
|
|
virtual void initCaseUseSwitchA(const MapObjActorInitInfo&) override;
|
|
virtual void initCaseNoUseSwitchA(const MapObjActorInitInfo&) override {
|
|
}
|
|
|
|
virtual void initCaseUseSwitchB(const MapObjActorInitInfo&) override;
|
|
virtual void initCaseNoUseSwitchB(const MapObjActorInitInfo&) override {
|
|
}
|
|
|
|
void setStateBreak();
|
|
void startBreak();
|
|
void endBreak();
|
|
bool isStateBreaking() const;
|
|
void appearItem();
|
|
void exeWait() {
|
|
}
|
|
|
|
void exeTryStartDemo();
|
|
void exeDemo();
|
|
|
|
/* 0xC4 */ ActorCameraInfo* mCameraInfo;
|
|
/* 0xC8 */ s32 mBreakOffsetFrame;
|
|
s32 _CC;
|
|
/* 0xD0 */ s32 mSwitchDeadDelay;
|
|
/* 0xD4 */ u16 mBreakFlags;
|
|
/* 0xD8 */ s32 mItemType;
|
|
/* 0xDC */ s32 mItemNum;
|
|
/* 0xE0 */ BenefitItemObj* mKinokoOneUp;
|
|
/* 0xE4 */ bool mPlayRiddleSound;
|
|
/* 0xE5 */ bool mBreakEnded;
|
|
bool _E6;
|
|
};
|
|
|
|
class SimpleBreakableIndirectObj : public SimpleBreakableObj {
|
|
public:
|
|
SimpleBreakableIndirectObj(const char* pName) : SimpleBreakableObj(pName) {
|
|
}
|
|
|
|
virtual ~SimpleBreakableIndirectObj() {
|
|
}
|
|
|
|
virtual void connectToScene(const MapObjActorInitInfo&) override;
|
|
};
|