blob: 858c43716439f8fda144952436a3a7110f2786da (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
#ifndef RANDO_STATIC_DATA_H
#define RANDO_STATIC_DATA_H
#include <map>
#include <array>
#include "Rando/Types.h"
#include "2s2h/GameInteractor/GameInteractor.h"
extern "C" {
#include "z64item.h"
#include "z64scene.h"
}
#define DEFAULT_TRIFORCE_PIECES_MAX 15
namespace Rando {
namespace StaticData {
struct RandoStaticCheck {
RandoCheckId randoCheckId;
const char* name;
RandoCheckType randoCheckType;
SceneId sceneId;
FlagType flagType;
s32 flag;
RandoItemId randoItemId;
};
extern std::map<RandoCheckId, RandoStaticCheck> Checks;
extern std::array<std::string, RC_MAX> CheckNames;
RandoStaticCheck GetCheckFromFlag(FlagType flagType, s32 flag, s16 sceneId = SCENE_MAX);
RandoCheckId GetCheckIdFromName(const char* name);
void PopulateCheckNames();
struct RandoStaticItem {
RandoItemId randoItemId;
const char* spoilerName;
const char* article;
const char* name;
RandoItemType randoItemType;
ItemId itemId;
GetItemId getItemId;
GetItemDrawId drawId;
};
extern std::map<RandoItemId, RandoStaticItem> Items;
extern std::unordered_map<StartingItemCategory, std::vector<RandoItemId>> StartingItemsMap;
RandoItemId GetItemIdFromName(const char* name);
u8 GetIconForZMessage(RandoItemId itemId);
const char* GetIconTexturePath(RandoItemId itemId);
bool ShouldShowGetItemCutscene(RandoItemId itemId);
std::string GetItemName(RandoItemId randoItemId, bool includeArticle = true);
std::string GetTrapMessage();
struct RandoStaticOption {
RandoOptionId randoOptionId;
const char* name;
const char* cvar;
u32 defaultValue;
};
extern std::map<RandoOptionId, RandoStaticOption> Options;
RandoOptionId GetOptionIdFromName(const char* name);
struct RandoStaticRegion {
RandoRegionId randoRegionId;
const char* name;
SceneId sceneId;
std::map<RandoCheckId, std::function<bool()>> checks;
std::map<RandoRegionId, std::function<bool()>> regions;
};
extern std::map<RandoRegionId, RandoStaticRegion> Regions;
} // namespace StaticData
} // namespace Rando
#endif // RANDO_STATIC_DATA_H
|