cavestory_save/items/
music.rs

1use strum::{Display, EnumIter, FromRepr};
2
3/// [Fandom Wiki](https://cavestory.fandom.com/wiki/Soundtrack)
4#[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}