Browse Source

derive default for CharClass/SecId

cleanuppery
jake 6 months 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()
.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(),
}

18
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<u8> 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<u8> for SectionID {
fn from(id: u8) -> SectionID {

Loading…
Cancel
Save