Files
bigmak94andClaude Opus 5.5 4b395efe5c Add the Petari decompilation (SMGCommunity/Petari@0a5c660)
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>
2026-10-01 01:59:38 +02:00

87 lines
2.1 KiB
C++

#pragma once
#include "Game/NPC/NPCActor.hpp"
class ActorCameraInfo;
class BenefitItemObj;
class FullnessMeter;
class SpinDriverShootPath;
class TicoFat : public NPCActor {
public:
TicoFat(const char*);
virtual ~TicoFat();
virtual void init(const JMapInfoIter&);
virtual void initAfterPlacement();
virtual void kill();
virtual void control();
virtual void calcAndSetBaseMtx();
virtual bool receiveMsgPlayerAttack(u32, HitSensor*, HitSensor*);
virtual void shootStarPiece();
virtual void receiveStarPiece(s32);
virtual void startEat();
virtual bool enableAppear();
virtual void initStarPieceSaveData(const JMapInfoIter&);
virtual void addStarPieceSaveData(s32);
virtual void disappear(bool);
virtual void appearInformation() const;
static void makeArchiveList(NameObjArchiveListCollector*, const JMapInfoIter&);
const char* getActionName(const char*);
void setCameraParam();
bool eventFunc(u32);
f32 calcScale();
void setScale(f32);
void setMessage(s32);
bool tryMetamorphosis();
void emitScreenEffect();
void updateScreenEffect();
s32 getDanceSeTranspose() const;
void startAbsorbSound();
void updateGuidance();
void updatePointing();
void updateGoods();
void exeReaction();
void exePrep();
void exeWait();
void exePoint();
void exeEat();
void exeChem();
void exeTest();
void exeFullness();
void exeMeta();
void exeDemo();
void exeFly();
void exeWipeOut();
void exeWipeIn();
void exeInfo();
void exeAfter();
ActorCameraInfo* mCameraInfo; // 0x15C
BenefitItemObj* mItem; // 0x160
FullnessMeter* mMeter; // 0x164
SpinDriverShootPath* mShootPath; // 0x168
TalkMessageCtrl* _16C;
u8 _170;
bool mStartEat; // 0x171
u8 _172;
u8 _173;
s32 _174;
s32 _178;
TPos3f _17C;
TPos3f _1AC;
s32 _1DC;
s32 _1E0;
s32 _1E4;
s32 mCurrentFed; // 0x1E8
s32 _1EC;
u32 _1F0;
s32 _1F4;
f32 _1F8;
f32 _1FC;
s32 _200;
s32 _204;
};