SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
include
Game
Map
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
8
struct
PlanetMapData
{
9
const
char
* mPlanetName;
// _0
10
const
char
* mData[5];
// _4
11
const
char
* mForceScenarioData[8];
// _18
12
};
13
14
struct
UniqueEntry
{
15
const
char
* _0;
16
const
char
* _4;
17
};
18
19
typedef
NameObj
* (*CreationFuncPtr)(
const
char
*);
20
21
struct
PlanetEntry
{
22
const
char
* mName;
// _0
23
CreationFuncPtr mFunction;
// _4
24
};
25
26
namespace
{
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
52
class
PlanetMapCreator
:
public
NameObj
{
53
public
:
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
68
class
PlanetMapCreatorFunction
{
69
public
:
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
};
JMapInfo
Definition
JMapInfo.hpp:53
JMapInfoIter
Definition
JMapInfo.hpp:16
NameObjArchiveListCollector
Stores archive names of NameObjs.
Definition
NameObjArchiveListCollector.hpp:6
NameObj
The most basic form of an object.
Definition
NameObj.hpp:11
PlanetMapCreatorFunction
Definition
PlanetMapCreator.hpp:68
PlanetMapCreator
Definition
PlanetMapCreator.hpp:52
PlanetEntry
Definition
PlanetMapCreator.hpp:21
PlanetMapData
Definition
PlanetMapCreator.hpp:8
UniqueEntry
Definition
PlanetMapCreator.hpp:14
Generated by
1.10.0