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

50 lines
1.6 KiB
C++

#pragma once
#include "Game/NameObj/NameObj.hpp"
class DemoCastGroupHolder;
class DemoExecutor;
class DemoSimpleCastHolder;
class DemoStartRequestHolder;
class LayoutActor;
class LiveActor;
class ResourceHolder;
class DemoDirector : public NameObj {
public:
/// @brief Creates a new `DemoDirector`.
/// @param pName A pointer to the null-terminated name of the object.
DemoDirector(const char* pName);
virtual void movement();
void startDemoProgrammable(NameObj*, const char*, bool, s32);
void startDemoTimeKeep(NameObj*, const char*, s32, bool, const char*);
void startDemoExecutor(NameObj*, const char*, s32, const char*);
const char* getCurrentDemoName() const;
void endDemo(NameObj*, const char*, bool);
bool isExistTimeKeepDemo(const char*) const;
bool registerDemoCast(LiveActor*, const JMapInfoIter&);
bool registerDemoCast(LiveActor*, const char*, const JMapInfoIter&);
void registerDemoSimpleCast(LiveActor*);
void registerDemoSimpleCast(LayoutActor*);
void registerDemoSimpleCast(NameObj*);
bool tryStartDemoRequested();
void startDemo(NameObj*, const char*, bool, s32);
void startDemoRequested();
void doDemoEndRequest();
/* 0x0C */ bool mIsActive;
/* 0x10 */ DemoExecutor* mExecutor;
/* 0x14 */ bool _14;
/* 0x18 */ DemoCastGroupHolder* _18;
/* 0x1C */ DemoCastGroupHolder* mCastSubGroupHolder;
/* 0x20 */ DemoSimpleCastHolder* _20;
/* 0x24 */ ResourceHolder* mResourceHolder;
/* 0x28 */ DemoStartRequestHolder* mStartRequestHolder;
/* 0x2C */ NameObj* _2C;
/* 0x30 */ const char* _30;
/* 0x34 */ s32 _34;
/* 0x38 */ bool _38;
};