SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
PlanetMapCreator.hpp
1#pragma once
2
3#include "Game/NameObj/NameObj.hpp"
4#include "Game/NameObj/NameObjArchiveListCollector.hpp"
5#include "Game/MapObj.hpp"
6#include "Game/Util.hpp"
7
9 const char* mPlanetName; // _0
10 const char* mData[5]; // _4
11 const char* mForceScenarioData[8]; // _18
12};
13
15 const char* _0;
16 const char* _4;
17};
18
19typedef NameObj* (*CreationFuncPtr)(const char *);
20
22 const char* mName; // _0
23 CreationFuncPtr mFunction; // _4
24};
25
26namespace {
27 static char* sArcName = "PlanetMapDataTable.arc";
28 static char* sFileName = "PlanetMapDataTable.bcsv";
29
30 // todo
31 static UniqueEntry sUniquePlanetUniqueArchiveName[13] = {
32
33 };
34
35 // todo
36 void makeSubModelName(const char **, const JMapInfo *, s32, const char *, const char *) {
37
38 }
39
40 static bool isDataForceLow(const PlanetMapData *pMapData) {
41 for (int i = 0; i < 8; i++) {
42 if (!MR::isEqualString(pMapData->mForceScenarioData[i], "Low")) {
43 return true;
44 }
45 }
46
47 return false;
48 }
49};
50
51
52class PlanetMapCreator : public NameObj {
53public:
54 PlanetMapCreator(const char *);
55
56 virtual ~PlanetMapCreator();
57
58 void makeArchiveListPlanet(NameObjArchiveListCollector *, const JMapInfoIter &, const char *);
59 void createPlanetMapDataTable(JMapInfo *);
60 void addTableData(const JMapInfo *, s32);
61 PlanetMapData* getTableData(const char *) const;
62 bool isScenarioForceLow(const PlanetMapData *) const;
63
64 PlanetMapData** mPlanetMapData; // _C
65 s32 mTableCount; // _10
66};
67
69public:
70 static void makeArchiveList(NameObjArchiveListCollector *, const JMapInfoIter &, const char *);
71
72 static bool isLoadArchiveAfterScenarioSelected(const char *);
73 static bool isRegisteredObj(const char *);
74
75 static CreationFuncPtr getPlanetMapCreator(const char *);
76};
Stores archive names of NameObjs.
The most basic form of an object.
Definition NameObj.hpp:11