cavestory_save/items/
music.rs1use strum::{Display, EnumIter, FromRepr};
2
3#[derive(Clone, Copy, Default, PartialEq, Eq, Debug, Display, EnumIter, FromRepr)]
5#[strum(serialize_all = "title_case")]
6#[repr(u32)]
7pub enum Song {
8 #[default]
9 Nothing,
10 MischievousRobot,
11 Safety,
12 GameOver,
13 Gravity,
14 OntoGrasstown,
15 Meltdown2,
16 EyesofFlame,
17 Gestation,
18 MimigaVillage,
19 GetItem,
20 #[strum(serialize = "Barlog's Theme")]
21 BalrogsTheme,
22 Cemetary,
23 Plant,
24 Pulse,
25 BossDefeated,
26 GetLifeCapsule,
27 Tyrant,
28 Run,
29 Jenka1,
30 LabyrinthFight,
31 Access,
32 Oppression,
33 Geothermal,
34 CaveStory,
35 Moonsong,
36 #[strum(serialize = "Hero's End")]
37 HerosEnd,
38 ScorchingBack,
39 Quiet,
40 FinalCave,
41 Balcony,
42 Charge,
43 LastBattle,
44 TheWayBackHome,
45 Zombie,
46 BreakDown,
47 RunningHell,
48 Jenka2,
49 LivingWaterway,
50 SealChamber,
51 #[strum(serialize = "Toroko's Theme")]
52 TorokosTheme,
53 #[strum(serialize = "King's Theme")]
54 KingsTheme,
55}
56
57impl From<i32> for Song {
58 fn from(v: i32) -> Self {
59 Song::from_repr(v as u32).unwrap_or_default()
60 }
61}