Browse Source

derive default for CharClass/SecId

cleanuppery
jake 1 year ago
parent
commit
552f7d5774
  1. 2
      psopacket/src/lib.rs
  2. 18
      src/character/character.rs

2
psopacket/src/lib.rs

@ -689,6 +689,7 @@ fn pso_packet_data_enum<'a>(name: syn::Ident, repr_type: syn::Ident, variants: i
.clone() .clone()
.enumerate() .enumerate()
.map(|(i, variant)| { .map(|(i, variant)| {
let variant = &variant.ident;
quote! { quote! {
#i => #name::#variant, #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 let variant_to_value = variants
.enumerate() .enumerate()
.map(|(i, variant)| { .map(|(i, variant)| {
let variant = &variant.ident;
quote! { quote! {
#name::#variant => #repr_type::to_le_bytes(#i as #repr_type).to_vec(), #name::#variant => #repr_type::to_le_bytes(#i as #repr_type).to_vec(),
} }

18
src/character/character.rs

@ -5,8 +5,9 @@ use serde::{Serialize, Deserialize};
#[repr(u8)] #[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 { pub enum CharacterClass {
#[default]
HUmar, HUmar,
HUnewearl, HUnewearl,
HUcast, HUcast,
@ -21,12 +22,6 @@ pub enum CharacterClass {
FOnewearl, FOnewearl,
} }
impl Default for CharacterClass {
fn default() -> CharacterClass {
CharacterClass::HUmar
}
}
// TODO: TryFrom // TODO: TryFrom
impl std::convert::From<u8> for CharacterClass { impl std::convert::From<u8> for CharacterClass {
fn from(f: u8) -> CharacterClass { fn from(f: u8) -> CharacterClass {
@ -96,8 +91,9 @@ impl CharacterClass {
#[repr(u8)] #[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 { pub enum SectionID {
#[default]
Viridia, Viridia,
Greenill, Greenill,
Skyly, Skyly,
@ -110,12 +106,6 @@ pub enum SectionID {
Whitill, Whitill,
} }
impl Default for SectionID {
fn default() -> SectionID {
SectionID::Viridia
}
}
// TODO: TryFrom // TODO: TryFrom
impl From<u8> for SectionID { impl From<u8> for SectionID {
fn from(id: u8) -> SectionID { fn from(id: u8) -> SectionID {

Loading…
Cancel
Save