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

78 lines
2.2 KiB
C++

#pragma once
#include "Game/Player/MarioModule.hpp"
enum MarioStatus {
/* 0x00 */ MarioStatus_None,
/* 0x01 */ MarioStatus_Wall,
/* 0x02 */ MarioStatus_Damage,
/* 0x03 */ MarioStatus_Faint,
/* 0x04 */ MarioStatus_Blown,
/* 0x05 */ MarioStatus_Hang,
/* 0x06 */ MarioStatus_Swim,
/* 0x07 */ MarioStatus_Slider,
/* 0x08 */ MarioStatus_FireDamage,
/* 0x09 */ MarioStatus_FireDance,
/* 0x0A */ MarioStatus_FireRun,
/* 0x0B */ MarioStatus_Paralyze,
/* 0x0C */ MarioStatus_AbyssDamage,
/* 0x0D */ MarioStatus_Freeze,
/* 0x0E */ MarioStatus_Stun,
/* 0x0F */ MarioStatus_Crush,
/* 0x10 */ MarioStatus_Step,
/* 0x11 */ MarioStatus_Magic,
/* 0x12 */ MarioStatus_FpView,
/* 0x13 */ MarioStatus_13,
/* 0x13 */ MarioStatus_Recovery = MarioStatus_13,
/* 0x13 */ MarioStatus_Warp = MarioStatus_13,
/* 0x14 */ MarioStatus_Flip,
/* 0x15 */ MarioStatus_SideStep,
/* 0x16 */ MarioStatus_Stick,
/* 0x17 */ MarioStatus_Rabbit,
/* 0x18 */ MarioStatus_Foo,
/* 0x19 */ MarioStatus_Flow,
/* 0x1A */ MarioStatus_Sukekiyo,
/* 0x1B */ MarioStatus_Bury,
/* 0x1C */ MarioStatus_Wait,
/* 0x1D */ MarioStatus_Climb,
/* 0x1E */ MarioStatus_Bump,
/* 0x1F */ MarioStatus_Skate,
/* 0x20 */ MarioStatus_FrontStep,
/* 0x21 */ MarioStatus_Teresa,
/* 0x22 */ MarioStatus_Talk,
/* 0x23 */ MarioStatus_DarkDamage,
};
enum MarioStateMsg {
/* 0x0 */ MarioStateMsg_Start,
/* 0x1 */ MarioStateMsg_Close,
/* 0x2 */ MarioStateMsg_Update,
/* 0x3 */ MarioStateMsg_Notice,
/* 0x4 */ MarioStateMsg_Keep,
};
class MarioState : public MarioModule {
public:
MarioState(MarioActor*, u32);
virtual void init();
virtual bool proc(u32);
virtual bool start();
virtual bool close();
virtual bool update();
virtual bool notice();
virtual bool keep();
virtual bool postureCtrl(MtxPtr);
virtual void hitWall(const TVec3f&, HitSensor*);
virtual void hitPoly(u8, const TVec3f&, HitSensor*);
virtual bool passRing(const HitSensor*);
virtual f32 getBlurOffset() const;
virtual void draw3D() const;
u32 getNoticedStatus() const;
/* 0x08 */ MarioState* _8;
/* 0x0C */ u32 mStatusId;
/* 0x10 */ bool _10;
};