This commit is contained in:
Lyle Mantooth 2022-06-04 09:41:29 -04:00
parent 1113adca98
commit 27d5a4d6c0
Signed by: IslandUsurper
GPG key ID: 6DB52EAE123A5789
8 changed files with 291 additions and 188 deletions

View file

@ -62,7 +62,7 @@ impl TryFrom<u8> for RandomizeEnemiesType {
2 => Ok(Self::Hard),
3 => Ok(Self::Chaos),
4 => Ok(Self::Insanity),
_ => Err(InvalidEnumError(PhantomData))
_ => Err(InvalidEnumError(PhantomData)),
}
}
}
@ -73,7 +73,7 @@ pub enum RandomizeEnemyHpType {
Easy,
Medium,
Hard,
Patty
Patty,
}
impl From<RandomizeEnemyHpType> for u8 {
@ -98,7 +98,7 @@ impl TryFrom<u8> for RandomizeEnemyHpType {
1 => Ok(Self::Medium),
2 => Ok(Self::Hard),
3 => Ok(Self::Patty),
_ => Err(InvalidEnumError(PhantomData))
_ => Err(InvalidEnumError(PhantomData)),
}
}
}
@ -108,7 +108,7 @@ impl TryFrom<u8> for RandomizeEnemyHpType {
pub enum RandomizeBossesType {
Basic,
Normal,
Chaos
Chaos,
}
impl From<RandomizeBossesType> for u8 {
@ -131,7 +131,7 @@ impl TryFrom<u8> for RandomizeBossesType {
0 => Ok(Self::Basic),
1 => Ok(Self::Normal),
2 => Ok(Self::Chaos),
_ => Err(InvalidEnumError(PhantomData))
_ => Err(InvalidEnumError(PhantomData)),
}
}
}
@ -139,7 +139,7 @@ impl TryFrom<u8> for RandomizeBossesType {
#[derive(Clone, Copy, Debug, Deserialize, Serialize)]
#[serde(into = "u8", try_from = "u8")]
pub enum SwordType {
Normal
Normal,
}
impl From<SwordType> for u8 {
@ -154,7 +154,7 @@ impl TryFrom<u8> for SwordType {
fn try_from(byte: u8) -> Result<Self, Self::Error> {
match byte {
0 => Ok(Self::Normal),
_ => Err(InvalidEnumError(PhantomData))
_ => Err(InvalidEnumError(PhantomData)),
}
}
}
@ -162,7 +162,7 @@ impl TryFrom<u8> for SwordType {
#[derive(Clone, Copy, Debug, Deserialize, Serialize)]
#[serde(into = "u8", try_from = "u8")]
pub enum ShieldType {
Normal
Normal,
}
impl From<ShieldType> for u8 {
@ -177,7 +177,7 @@ impl TryFrom<u8> for ShieldType {
fn try_from(byte: u8) -> Result<Self, Self::Error> {
match byte {
0 => Ok(Self::Normal),
_ => Err(InvalidEnumError(PhantomData))
_ => Err(InvalidEnumError(PhantomData)),
}
}
}
@ -243,7 +243,7 @@ impl TryFrom<u8> for AbsorbableType {
11 => Ok(Self::Fairy),
12 => Ok(Self::Key),
13 => Ok(Self::BigKey),
_ => Err(InvalidEnumError(PhantomData))
_ => Err(InvalidEnumError(PhantomData)),
}
}
}
@ -310,7 +310,7 @@ impl TryFrom<u8> for HeartBeepSpeed {
1 => Ok(Self::Half),
2 => Ok(Self::Quarter),
3 => Ok(Self::Off),
_ => Err(InvalidEnumError(PhantomData))
_ => Err(InvalidEnumError(PhantomData)),
}
}
}
@ -360,7 +360,7 @@ impl TryFrom<u8> for BeeLevel {
1 => Ok(Self::Level2),
2 => Ok(Self::Level3),
3 => Ok(Self::Level4),
_ => Err(InvalidEnumError(PhantomData))
_ => Err(InvalidEnumError(PhantomData)),
}
}
}
@ -542,20 +542,90 @@ impl OptionFlags {
bytes.push(self.enemies_absorbable as u8);
bytes.push(self.absorbable_spawn_rate);
bytes.push(self.absorbable_types.get(&AbsorbableType::Heart).copied().unwrap_or(false) as u8);
bytes.push(self.absorbable_types.get(&AbsorbableType::GreenRupee).copied().unwrap_or(false) as u8);
bytes.push(self.absorbable_types.get(&AbsorbableType::BlueRupee).copied().unwrap_or(false) as u8);
bytes.push(self.absorbable_types.get(&AbsorbableType::RedRupee).copied().unwrap_or(false) as u8);
bytes.push(self.absorbable_types.get(&AbsorbableType::Bomb1).copied().unwrap_or(false) as u8);
bytes.push(self.absorbable_types.get(&AbsorbableType::Bomb4).copied().unwrap_or(false) as u8);
bytes.push(self.absorbable_types.get(&AbsorbableType::Bomb8).copied().unwrap_or(false) as u8);
bytes.push(self.absorbable_types.get(&AbsorbableType::SmallMagic).copied().unwrap_or(false) as u8);
bytes.push(self.absorbable_types.get(&AbsorbableType::FullMagic).copied().unwrap_or(false) as u8);
bytes.push(self.absorbable_types.get(&AbsorbableType::Arrow5).copied().unwrap_or(false) as u8);
bytes.push(self.absorbable_types.get(&AbsorbableType::Arrow10).copied().unwrap_or(false) as u8);
bytes.push(self.absorbable_types.get(&AbsorbableType::Fairy).copied().unwrap_or(false) as u8);
bytes.push(self.absorbable_types.get(&AbsorbableType::Key).copied().unwrap_or(false) as u8);
bytes.push(self.absorbable_types.get(&AbsorbableType::BigKey).copied().unwrap_or(false) as u8);
bytes.push(
self.absorbable_types
.get(&AbsorbableType::Heart)
.copied()
.unwrap_or(false) as u8,
);
bytes.push(
self.absorbable_types
.get(&AbsorbableType::GreenRupee)
.copied()
.unwrap_or(false) as u8,
);
bytes.push(
self.absorbable_types
.get(&AbsorbableType::BlueRupee)
.copied()
.unwrap_or(false) as u8,
);
bytes.push(
self.absorbable_types
.get(&AbsorbableType::RedRupee)
.copied()
.unwrap_or(false) as u8,
);
bytes.push(
self.absorbable_types
.get(&AbsorbableType::Bomb1)
.copied()
.unwrap_or(false) as u8,
);
bytes.push(
self.absorbable_types
.get(&AbsorbableType::Bomb4)
.copied()
.unwrap_or(false) as u8,
);
bytes.push(
self.absorbable_types
.get(&AbsorbableType::Bomb8)
.copied()
.unwrap_or(false) as u8,
);
bytes.push(
self.absorbable_types
.get(&AbsorbableType::SmallMagic)
.copied()
.unwrap_or(false) as u8,
);
bytes.push(
self.absorbable_types
.get(&AbsorbableType::FullMagic)
.copied()
.unwrap_or(false) as u8,
);
bytes.push(
self.absorbable_types
.get(&AbsorbableType::Arrow5)
.copied()
.unwrap_or(false) as u8,
);
bytes.push(
self.absorbable_types
.get(&AbsorbableType::Arrow10)
.copied()
.unwrap_or(false) as u8,
);
bytes.push(
self.absorbable_types
.get(&AbsorbableType::Fairy)
.copied()
.unwrap_or(false) as u8,
);
bytes.push(
self.absorbable_types
.get(&AbsorbableType::Key)
.copied()
.unwrap_or(false) as u8,
);
bytes.push(
self.absorbable_types
.get(&AbsorbableType::BigKey)
.copied()
.unwrap_or(false) as u8,
);
bytes.push(self.boss_madness as u8);
bytes.push(self.randomize_bosses as u8);