cavestory_save/items/
map.rs

1use strum::{Display, EnumIter, FromRepr};
2
3#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Display, EnumIter, FromRepr)]
4#[repr(u32)]
5pub enum Map {
6    #[strum(serialize = "Credits")]
7    Credits,
8    #[strum(serialize = "Arthur's House")]
9    ArthursHouse,
10    #[strum(serialize = "Egg Corridor")]
11    EggCorridor,
12    #[strum(serialize = "Egg No. 00")]
13    EggNo00,
14    #[strum(serialize = "Egg No. 06")]
15    EggNo06,
16    #[strum(serialize = "Egg Observation Room")]
17    EggObservationRoom,
18    #[strum(serialize = "Grasstown")]
19    Grasstown,
20    #[strum(serialize = "Santa's House")]
21    SantasHouse,
22    #[strum(serialize = "Chaco's House")]
23    ChacosHouse,
24    #[strum(serialize = "Labyrinth I")]
25    LabyrinthIErticalStartingRoom,
26    #[strum(serialize = "Sand Zone")]
27    SandZone,
28    #[strum(serialize = "Mimiga Village")]
29    MimigaVillage,
30    #[strum(serialize = "First Cave")]
31    #[default]
32    FirstCave,
33    #[strum(serialize = "Start Point")]
34    StartPoint,
35    #[strum(serialize = "Shack")]
36    ShackMimigaVillage,
37    #[strum(serialize = "Reservoir")]
38    Reservoir,
39    #[strum(serialize = "Graveyard")]
40    Graveyard,
41    #[strum(serialize = "Yamashita Farm")]
42    YamashitaFarm,
43    #[strum(serialize = "Shelter")]
44    Shelter,
45    #[strum(serialize = "Assembly Hall")]
46    AssemblyHall,
47    #[strum(serialize = "Save Point (Mimiga Village)")]
48    SavePointAtMimigaVillage,
49    #[strum(serialize = "Side Room")]
50    SideRoom,
51    #[strum(serialize = "Cthulhu's Abode")]
52    CthulhusAbode,
53    #[strum(serialize = "Egg No. 01")]
54    EggNo01,
55    #[strum(serialize = "Arthur's House - sue using computer")]
56    ArthursHouseWithSueUsingComputer,
57    #[strum(serialize = "Power Room")]
58    PowerRoom,
59    #[strum(serialize = "Save Point (Grasstown)")]
60    SavePointAtGrasstown,
61    #[strum(serialize = "Execution Chamber")]
62    ExecutionChamber,
63    #[strum(serialize = "Gum")]
64    Gum,
65    #[strum(serialize = "Sand Zone Residence")]
66    SandZoneResidence,
67    #[strum(serialize = "Grasstown Hut")]
68    GrasstownHut,
69    #[strum(serialize = "Main Artery")]
70    MainArtery,
71    #[strum(serialize = "Small Room")]
72    SmallRoom,
73    #[strum(serialize = "Jenka's House - before Balrog attack")]
74    JenkasHouse,
75    #[strum(serialize = "Deserted House")]
76    DesertedHouse,
77    #[strum(serialize = "Sand Zone Storehouse")]
78    SandZoneStorehouse,
79    #[strum(serialize = "Jenka's House - after Balrog attack")]
80    JenkasHouseAfterBalrogAttack,
81    #[strum(serialize = "Sand Zone - after boss fight")]
82    SandZoneAfterBossFight,
83    #[strum(serialize = "Labyrinth H")]
84    LabyrinthH,
85    #[strum(serialize = "Labyrinth W")]
86    LabyrinthWMainAreaWithShopCamp,
87    #[strum(serialize = "Camp")]
88    Camp,
89    #[strum(serialize = "Clinic Ruins")]
90    ClinicRuins,
91    #[strum(serialize = "Labyrinth Shop")]
92    LabyrinthShop,
93    #[strum(serialize = "Labyrinth B")]
94    LabyrinthBroomwithbooster,
95    #[strum(serialize = "Boulder Chamber")]
96    BoulderChamber,
97    #[strum(serialize = "Labyrinth M")]
98    LabyrinthMLastAreaGaudiEggs,
99    #[strum(serialize = "Dark Place")]
100    DarkPlace,
101    #[strum(serialize = "Core")]
102    Core,
103    #[strum(serialize = "Waterway")]
104    Waterway,
105    #[strum(serialize = "Egg Corridor?")]
106    QuestionableEggCorridor,
107    #[strum(serialize = "Cthulhu's Abode?")]
108    QuestionableCthulhusAbode,
109    #[strum(serialize = "Egg Observation Room?")]
110    QuestionableEggObservationRoom,
111    #[strum(serialize = "Egg No. 00?")]
112    EggNo00WhenHatched,
113    #[strum(serialize = "Outer Wall")]
114    OuterWall,
115    #[strum(serialize = "Side Room?")]
116    QuestionableSideRoom,
117    #[strum(serialize = "Storehouse")]
118    Storehouse,
119    #[strum(serialize = "Plantation")]
120    Plantation,
121    #[strum(serialize = "Jail No. 1")]
122    JailNo1,
123    #[strum(serialize = "Hideout")]
124    Hideout,
125    #[strum(serialize = "Rest Area")]
126    RestArea,
127    #[strum(serialize = "Teleporter")]
128    Teleporter,
129    #[strum(serialize = "Jail No. 2")]
130    JailNo2,
131    #[strum(serialize = "Balcony")]
132    Balcony,
133    #[strum(serialize = "Last Cave")]
134    LastCave,
135    #[strum(serialize = "Throne Room")]
136    ThroneRoom,
137    #[strum(serialize = "The King's Table")]
138    TheKingsTable,
139    #[strum(serialize = "Prefab House")]
140    PrefabHouse,
141    #[strum(serialize = "Last Cave Hidden")]
142    LastCaveHidden,
143    #[strum(serialize = "Black Space")]
144    BlackSpace,
145    #[strum(serialize = "Little House")]
146    LittleHouse,
147    #[strum(serialize = "Balcony?")]
148    BalconyEscaping,
149    #[strum(serialize = "Ending")]
150    Ending,
151    #[strum(serialize = "Attro")]
152    Attro,
153    #[strum(serialize = "Waterway Cabin")]
154    WaterwayCabin,
155    #[strum(serialize = "Credits - Labyrinth")]
156    CreditsLabyrinth,
157    #[strum(serialize = "Credits - Jenka's House")]
158    CreditsJenkasHouse,
159    #[strum(serialize = "Credits - Power Room")]
160    CreditsPowerRoom,
161    #[strum(serialize = "Credits - Graveyard")]
162    CreditsGraveyard,
163    #[strum(serialize = "Credits - Sky")]
164    CreditsSky,
165    #[strum(serialize = "Prefab House - entrance to hell")]
166    PrefabHouseWithEntranceToHell,
167    #[strum(serialize = "Sacred Ground B1")]
168    SacredGroundB1,
169    #[strum(serialize = "Sacred Ground B2")]
170    SacredGroundB2,
171    #[strum(serialize = "Sacred Ground B3")]
172    SacredGroundB3,
173    #[strum(serialize = "Storage")]
174    Storage,
175    #[strum(serialize = "Passage?")]
176    Passage,
177    #[strum(serialize = "Passage? - from Sacred Ground B3")]
178    PassageFromSacredGroundB3,
179    #[strum(serialize = "Statue Chamber")]
180    StatueChamber,
181    #[strum(serialize = "Seal Chamber")]
182    SealChamber,
183    #[strum(serialize = "Corridor")]
184    CorridorSacredGrounds,
185    #[strum(serialize = "Credits - Laboratory")]
186    CreditsLaboratory,
187    #[strum(serialize = "Hermit Gunsmith")]
188    HermitGunsmith,
189    #[strum(serialize = "[script loaded right before good/best endings]")]
190    EmptyMap,
191    #[strum(serialize = "Seal Chamber - after fight")]
192    SealChamberAfterFight,
193    #[strum(serialize = "Credits - Balcony")]
194    CreditsBalcony,
195    #[strum(serialize = "Clock Room")]
196    ClockRoom,
197}
198
199impl From<i32> for Map {
200    fn from(v: i32) -> Self {
201        Map::from_repr(v as u32).unwrap_or_default()
202    }
203}