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

53 lines
1.5 KiB
C++

#pragma once
#include "Game/LiveActor/ActorStateBase.hpp"
class SaveDataHandleSequence;
class SysInfoWindow;
class NANDErrorSequence : public ActorStateBase< SaveDataHandleSequence > {
public:
NANDErrorSequence(SaveDataHandleSequence*, SysInfoWindow*, SysInfoWindow*);
virtual void control();
void startErrorToWiiMenu(const char*);
void startErrorToFreeze(const char*);
void startRemoveFile();
void startCheckEnableToCreate();
bool tryLessBlockOrInode(u32);
bool tryNoRecoverErroSequence(s32);
bool isPermitToReset() const;
void prepareReset();
bool isPreparedReset() const;
void restoreFromReset();
void exeIdle();
void exeError();
void exeErrorToFreeze();
void exeRemoveConfirm();
void exeRemove();
void exeRemoveDoneKeyWait();
void exeNoSaveConfirmBeforeRemove();
void exeNoSaveConfirmLessBlockOrInode();
void exeLessBlockOrInodeConfirm();
void exeGoWiiMenu();
void exeCheckEnableToCreateOnPreloading();
void exeCheckEnableToCreateAfterRemove();
bool isEnablePointer() const;
bool isResultNoSave() const;
bool isResultFileCorrupted() const;
void resetParam();
bool tryConfirm(const char*, bool*);
bool tryProcessDoneKeyWait(const char*);
bool tryCheckEnableToCreate();
bool tryVerifyNANDCheckResult() NO_INLINE;
private:
/* 0x10 */ const char* mSystemMessageId;
/* 0x14 */ bool _14;
/* 0x15 */ bool _15;
/* 0x18 */ u32 mAnswer;
/* 0x1C */ u32 mResult;
/* 0x20 */ SysInfoWindow* mSysInfoWindow;
};