SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
StageDataHolder.hpp
1#pragma once
2
3#include "Game/NameObj/NameObj.hpp"
4#include "Game/Scene/PlacementStateChecker.hpp"
5#include "Game/Scene/PlacementInfoOrdered.hpp"
6#include "Game/Util.hpp"
7
8class StageDataHolder : public NameObj {
9public:
10 StageDataHolder(const char *, int, bool);
11
12 virtual void init(const JMapInfoIter &);
13
14 void initAfterScenarioSelected();
15 void requestFileLoadCommon();
16 void requestFileLoadScenario();
17 void initPlacement();
18 JMapInfo getCommonPathPointInfo(const JMapInfo **, int) const;
19 JMapInfo getCommonPathPointInfoFromRailDataIndex(const JMapInfo **, int) const;
20 s32 getCommonPathInfoElementNum() const;
21 s32 getStartPosNum() const;
22 s32 getCurrentStartZoneId() const;
23 s32 getCurrentStartCameraId() const;
24 void getStartCameraIdInfoFromStartDataIndex(JMapIdInfo *, int) const;
25 s32 getGeneralPosNum() const;
26
27 const StageDataHolder* findPlacedStageDataHolder(const JMapInfoIter &) const;
28 const StageDataHolder* getStageDataHolderFromZoneId(int) const;
29 const StageDataHolder* getStageDataHolderFromZoneId(int);
30 bool isPlacedZone(int) const;
31 const char* getJapaneseObjectName(const char *) const;
32 void* getStageArchiveResource(const char *);
33 s32 getStageArchiveResourceSize(void *);
34
35 JMapInfoIter makeCurrentMarioJMapInfoIter() const;
36
37 void initPlacementMario();
38
39 void initTableData();
40
41 void calcDataAddress();
42 void updateDataAddress(const MR::AssignableArray<JMapInfo> *);
43
44 void initPlacementInfoOrderedScenario();
45 void initPlacementInfoOrderedCommon();
46
47 void createLocalStageDataHolder(const MR::AssignableArray<JMapInfo> &, bool);
48
49 void initJmpInfo(MR::AssignableArray<JMapInfo> *, const char *);
50
51 void initLayerJmpInfo(MR::AssignableArray<JMapInfo> *, const char *, const char *, u32);
52 void initAllLayerJmpInfo(MR::AssignableArray<JMapInfo> *, const char *, const char *);
53 void initAllLayerJmpInfo(MR::AssignableArray<JMapInfo> *, const char *);
54
55 JMapInfo* findJmpInfoFromArray(const MR::AssignableArray<JMapInfo> *, const char *) const;
56 JMapInfoIter getStartJMapInfoIterFromStartDataIndex(int) const;
57
58 void calcPlacementMtx(const JMapInfoIter &);
59
60 MR::AssignableArray<JMapInfo> mPlacementObjs; // _C
61 MR::AssignableArray<JMapInfo> mStartObjs; // _14
62 MR::AssignableArray<JMapInfo> mGeneralPosObjs; // _1C
63 MR::AssignableArray<JMapInfo> mChildObjs; // _24
64 MR::AssignableArray<JMapInfo> mListObjs; // _2C
65 MR::AssignableArray<JMapInfo> mPathObjs; // _34
66 JMapInfo* mObjNameTbl; // _3C
67 s32 mStageDataHolderCount; // _40
68 StageDataHolder* mStageDataArray[0x18]; // _44
69 JKRArchive* mArchive; // _A4
70 const char* _A8;
71 Mtx mPlacementMtx; // _AC
72 s32 mZoneID; // _DC
73 u8 _E0;
74 u8 _E1;
75 u8 _E2;
76 u8 _E3;
77 s32 _E4;
78 u32 _E8;
86};
The most basic form of an object.
Definition NameObj.hpp:11
virtual void init(const JMapInfoIter &)
Intializes the NameObj and can set various settings and construct necessary classes.