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

59 lines
1.3 KiB
C++

#pragma once
#include "Game/NameObj/NameObj.hpp"
#include <JSystem/JGeometry/TVec.hpp>
class ChipBase;
class StageSwitchCtrl;
class ChipGroup : public NameObj {
public:
ChipGroup(const char*, s32);
struct ChipEntry {
ChipBase* mChip; // 0x0
bool mIsGotten; // 0x4
};
virtual ~ChipGroup();
virtual void init(const JMapInfoIter&);
virtual void movement();
void updateUIRange();
void registerChip(ChipBase*);
void noticeEndCompleteDemo();
s32 getGotCount() const;
bool isComplete() const;
void noticeGet(ChipBase*);
void receiveAppearRequest();
/* 0xC */ ChipEntry mChips[5];
/* 0x34 */ StageSwitchCtrl* mSwitchCtrl;
/* 0x38 */ TVec3f mUIPos;
/* 0x44 */ s32 mGotCount;
/* 0x48 */ s32 mTotalCount;
/* 0x4C */ s32 mStageSwitchArg;
/* 0x50 */ s32 mChipType;
/* 0x54 */ s32 mFlashFrame;
/* 0x58 */ s32 mCounterTimer;
/* 0x5C */ f32 mUIRange;
/* 0x60 */ f32 mUIRangeFixed;
/* 0x64 */ u32 mIsDeactivated;
/* 0x68 */ s32 mAlreadyDoneFlag;
/* 0x6C */ u8 mIsListeningAppear;
/* 0x6D */ u8 mIsCounterVisible;
};
class BlueChipGroup : public ChipGroup {
public:
BlueChipGroup(const char*);
virtual ~BlueChipGroup();
};
class YellowChipGroup : public ChipGroup {
public:
YellowChipGroup(const char*);
virtual ~YellowChipGroup();
};