2 Commits

Author SHA1 Message Date
jake 552f7d5774 derive default for CharClass/SecId 1 year ago
jake 05d505836c clippy complaint 1 year ago
  1. 2
      psopacket/src/lib.rs
  2. 18
      src/character/character.rs
  3. 2
      src/packet/login.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 {

2
src/packet/login.rs

@ -489,7 +489,7 @@ impl ShipList {
pub fn new(ships: Vec<ShipListEntry>) -> ShipList { pub fn new(ships: Vec<ShipListEntry>) -> ShipList {
ShipList { ShipList {
baseship: ShipListEntry { baseship: ShipListEntry {
menu: ships.get(0).map(|s| s.menu).unwrap_or(0),
menu: ships.first().map(|s| s.menu).unwrap_or(0),
item: 0, item: 0,
flags: 0, flags: 0,
name: utf8_to_utf16_array("Ship"), name: utf8_to_utf16_array("Ship"),

Loading…
Cancel
Save