diff options
| author | Star Rauchenberger <fefferburbia@gmail.com> | 2024-04-21 14:34:30 -0400 |
|---|---|---|
| committer | Star Rauchenberger <fefferburbia@gmail.com> | 2024-04-21 14:34:30 -0400 |
| commit | 85b4303b60bde56c16ca0c23f9ca2407e3f8b50c (patch) | |
| tree | 2dbc69d71e44166b1ee6c1a0fbbb1d9739a25048 /src/game_data.h | |
| parent | dc56f752bb33b4e779c5507dea03a6764d08fd0a (diff) | |
| parent | f90f0847f55490167d0395ad1b9408595b4f4667 (diff) | |
| download | lingo-ap-tracker-85b4303b60bde56c16ca0c23f9ca2407e3f8b50c.tar.gz lingo-ap-tracker-85b4303b60bde56c16ca0c23f9ca2407e3f8b50c.tar.bz2 lingo-ap-tracker-85b4303b60bde56c16ca0c23f9ca2407e3f8b50c.zip | |
Merge branch 'future' into tinysphere
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 8a38264..cd09627 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; |
| @@ -61,12 +76,13 @@ struct Door { | |||
| 61 | int ap_item_id = -1; | 76 | int ap_item_id = -1; |
| 62 | int group_ap_item_id = -1; | 77 | int group_ap_item_id = -1; |
| 63 | int ap_location_id = -1; | 78 | int ap_location_id = -1; |
| 79 | DoorType type = DoorType::kNormal; | ||
| 64 | }; | 80 | }; |
| 65 | 81 | ||
| 66 | struct Exit { | 82 | struct Exit { |
| 67 | int destination_room; | 83 | int destination_room; |
| 68 | std::optional<int> door; | 84 | std::optional<int> door; |
| 69 | bool painting = false; | 85 | EntranceType type = EntranceType::kNormal; |
| 70 | }; | 86 | }; |
| 71 | 87 | ||
| 72 | struct PaintingExit { | 88 | struct PaintingExit { |
| @@ -78,6 +94,7 @@ struct Room { | |||
| 78 | std::string name; | 94 | std::string name; |
| 79 | std::vector<Exit> exits; | 95 | std::vector<Exit> exits; |
| 80 | std::vector<PaintingExit> paintings; | 96 | std::vector<PaintingExit> paintings; |
| 97 | std::vector<int> sunwarps; | ||
| 81 | std::vector<int> panels; | 98 | std::vector<int> panels; |
| 82 | }; | 99 | }; |
| 83 | 100 | ||
| @@ -107,9 +124,12 @@ int GD_GetRoomByName(const std::string& name); | |||
| 107 | const Room& GD_GetRoom(int room_id); | 124 | const Room& GD_GetRoom(int room_id); |
| 108 | const std::vector<Door>& GD_GetDoors(); | 125 | const std::vector<Door>& GD_GetDoors(); |
| 109 | const Door& GD_GetDoor(int door_id); | 126 | const Door& GD_GetDoor(int door_id); |
| 127 | int GD_GetDoorByName(const std::string& name); | ||
| 110 | const Panel& GD_GetPanel(int panel_id); | 128 | const Panel& GD_GetPanel(int panel_id); |
| 111 | int GD_GetRoomForPainting(const std::string& painting_id); | 129 | int GD_GetRoomForPainting(const std::string& painting_id); |
| 112 | const std::vector<int>& GD_GetAchievementPanels(); | 130 | const std::vector<int>& GD_GetAchievementPanels(); |
| 113 | int GD_GetItemIdForColor(LingoColor color); | 131 | int GD_GetItemIdForColor(LingoColor color); |
| 132 | const std::vector<int>& GD_GetSunwarpDoors(); | ||
| 133 | int GD_GetRoomForSunwarp(int index); | ||
| 114 | 134 | ||
| 115 | #endif /* end of include guard: GAME_DATA_H_9C42AC51 */ | 135 | #endif /* end of include guard: GAME_DATA_H_9C42AC51 */ |
