diff options
Diffstat (limited to 'src/game_data.h')
-rw-r--r-- | src/game_data.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/game_data.h b/src/game_data.h index aa5ac19..09824d7 100644 --- a/src/game_data.h +++ b/src/game_data.h | |||
@@ -23,6 +23,21 @@ constexpr int kLOCATION_NORMAL = 1; | |||
23 | constexpr int kLOCATION_REDUCED = 2; | 23 | constexpr int kLOCATION_REDUCED = 2; |
24 | constexpr int kLOCATION_INSANITY = 4; | 24 | constexpr int kLOCATION_INSANITY = 4; |
25 | 25 | ||
26 | enum class EntranceType { | ||
27 | kNormal, | ||
28 | kPainting, | ||
29 | kSunwarp, | ||
30 | kWarp, | ||
31 | kPilgrimage, | ||
32 | kCrossroadsRoofAccess, | ||
33 | }; | ||
34 | |||
35 | enum class DoorType { | ||
36 | kNormal, | ||
37 | kSunwarp, | ||
38 | kSunPainting, | ||
39 | }; | ||
40 | |||
26 | struct Panel { | 41 | struct Panel { |
27 | int id; | 42 | int id; |
28 | int room; | 43 | int room; |
@@ -62,6 +77,7 @@ struct Door { | |||
62 | int ap_item_id = -1; | 77 | int ap_item_id = -1; |
63 | int group_ap_item_id = -1; | 78 | int group_ap_item_id = -1; |
64 | int ap_location_id = -1; | 79 | int ap_location_id = -1; |
80 | DoorType type = DoorType::kNormal; | ||
65 | }; | 81 | }; |
66 | 82 | ||
67 | struct PanelDoor { | 83 | struct PanelDoor { |
@@ -73,7 +89,7 @@ struct PanelDoor { | |||
73 | struct Exit { | 89 | struct Exit { |
74 | int destination_room; | 90 | int destination_room; |
75 | std::optional<int> door; | 91 | std::optional<int> door; |
76 | bool painting = false; | 92 | EntranceType type = EntranceType::kNormal; |
77 | }; | 93 | }; |
78 | 94 | ||
79 | struct PaintingExit { | 95 | struct PaintingExit { |
@@ -85,6 +101,7 @@ struct Room { | |||
85 | std::string name; | 101 | std::string name; |
86 | std::vector<Exit> exits; | 102 | std::vector<Exit> exits; |
87 | std::vector<PaintingExit> paintings; | 103 | std::vector<PaintingExit> paintings; |
104 | std::vector<int> sunwarps; | ||
88 | std::vector<int> panels; | 105 | std::vector<int> panels; |
89 | }; | 106 | }; |
90 | 107 | ||
@@ -114,10 +131,13 @@ int GD_GetRoomByName(const std::string& name); | |||
114 | const Room& GD_GetRoom(int room_id); | 131 | const Room& GD_GetRoom(int room_id); |
115 | const std::vector<Door>& GD_GetDoors(); | 132 | const std::vector<Door>& GD_GetDoors(); |
116 | const Door& GD_GetDoor(int door_id); | 133 | const Door& GD_GetDoor(int door_id); |
134 | int GD_GetDoorByName(const std::string& name); | ||
117 | const Panel& GD_GetPanel(int panel_id); | 135 | const Panel& GD_GetPanel(int panel_id); |
118 | const PanelDoor& GD_GetPanelDoor(int panel_door_id); | 136 | const PanelDoor& GD_GetPanelDoor(int panel_door_id); |
119 | int GD_GetRoomForPainting(const std::string& painting_id); | 137 | int GD_GetRoomForPainting(const std::string& painting_id); |
120 | const std::vector<int>& GD_GetAchievementPanels(); | 138 | const std::vector<int>& GD_GetAchievementPanels(); |
121 | int GD_GetItemIdForColor(LingoColor color); | 139 | int GD_GetItemIdForColor(LingoColor color); |
140 | const std::vector<int>& GD_GetSunwarpDoors(); | ||
141 | int GD_GetRoomForSunwarp(int index); | ||
122 | 142 | ||
123 | #endif /* end of include guard: GAME_DATA_H_9C42AC51 */ | 143 | #endif /* end of include guard: GAME_DATA_H_9C42AC51 */ |