diff --git a/psopacket/src/lib.rs b/psopacket/src/lib.rs index ff7c63c..9c1d722 100644 --- a/psopacket/src/lib.rs +++ b/psopacket/src/lib.rs @@ -689,6 +689,7 @@ fn pso_packet_data_enum<'a>(name: syn::Ident, repr_type: syn::Ident, variants: i .clone() .enumerate() .map(|(i, variant)| { + let variant = &variant.ident; quote! { #i => #name::#variant, } @@ -698,6 +699,7 @@ fn pso_packet_data_enum<'a>(name: syn::Ident, repr_type: syn::Ident, variants: i let variant_to_value = variants .enumerate() .map(|(i, variant)| { + let variant = &variant.ident; quote! { #name::#variant => #repr_type::to_le_bytes(#i as #repr_type).to_vec(), } diff --git a/src/character/character.rs b/src/character/character.rs index 55b08e5..a94eb70 100644 --- a/src/character/character.rs +++ b/src/character/character.rs @@ -5,8 +5,9 @@ use serde::{Serialize, Deserialize}; #[repr(u8)] -#[derive(PSOPacketData, Debug, Copy, Clone, Hash, PartialEq, Eq, strum::Display, strum::EnumString, Serialize, Deserialize)] +#[derive(PSOPacketData, Default, Debug, Copy, Clone, Hash, PartialEq, Eq, strum::Display, strum::EnumString, Serialize, Deserialize)] pub enum CharacterClass { + #[default] HUmar, HUnewearl, HUcast, @@ -21,12 +22,6 @@ pub enum CharacterClass { FOnewearl, } -impl Default for CharacterClass { - fn default() -> CharacterClass { - CharacterClass::HUmar - } -} - // TODO: TryFrom impl std::convert::From for CharacterClass { fn from(f: u8) -> CharacterClass { @@ -96,8 +91,9 @@ impl CharacterClass { #[repr(u8)] -#[derive(PSOPacketData, Debug, Copy, Clone, Hash, PartialEq, Eq, strum::Display, strum::EnumString, Serialize, Deserialize)] +#[derive(PSOPacketData, Default, Debug, Copy, Clone, Hash, PartialEq, Eq, strum::Display, strum::EnumString, Serialize, Deserialize)] pub enum SectionID { + #[default] Viridia, Greenill, Skyly, @@ -110,12 +106,6 @@ pub enum SectionID { Whitill, } -impl Default for SectionID { - fn default() -> SectionID { - SectionID::Viridia - } -} - // TODO: TryFrom impl From for SectionID { fn from(id: u8) -> SectionID {