why wasn't this derived originally
This commit is contained in:
parent
2996b176a7
commit
a1424332e7
@ -138,7 +138,7 @@ impl std::default::Default for Character {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Copy, Clone, Debug, PartialEq, Default)]
|
#[derive(Copy, Clone, PSOPacketData, Default)]
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
pub struct SelectScreenCharacter {
|
pub struct SelectScreenCharacter {
|
||||||
pub exp: u32,
|
pub exp: u32,
|
||||||
@ -169,20 +169,6 @@ pub struct SelectScreenCharacter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl SelectScreenCharacter {
|
impl SelectScreenCharacter {
|
||||||
pub const SIZE: usize = 0x7C;
|
|
||||||
|
|
||||||
pub fn from_le_bytes(bytes: [u8; 0x7C]) -> Result<SelectScreenCharacter, crate::PacketParseError> {
|
|
||||||
unsafe {
|
|
||||||
Ok(std::mem::transmute(bytes))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn to_le_bytes(&self) -> [u8; 0x7C] {
|
|
||||||
unsafe {
|
|
||||||
std::mem::transmute(*self)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn as_character(&self) -> Character {
|
pub fn as_character(&self) -> Character {
|
||||||
Character {
|
Character {
|
||||||
exp: self.exp,
|
exp: self.exp,
|
||||||
|
@ -292,18 +292,6 @@ pub struct CharAck {
|
|||||||
pub code: u32, // TODO: enum?
|
pub code: u32, // TODO: enum?
|
||||||
}
|
}
|
||||||
|
|
||||||
impl PSOPacketData for SelectScreenCharacter {
|
|
||||||
fn from_bytes<R: Read>(cursor: &mut R) -> Result<Self, PacketParseError> {
|
|
||||||
let mut buf = [0u8; SelectScreenCharacter::SIZE];
|
|
||||||
cursor.read(&mut buf).map_err(|_| PacketParseError::ReadError)?;
|
|
||||||
SelectScreenCharacter::from_le_bytes(buf)
|
|
||||||
}
|
|
||||||
|
|
||||||
fn as_bytes(&self) -> Vec<u8> {
|
|
||||||
self.to_le_bytes().to_vec()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[pso_packet(0xE5)]
|
#[pso_packet(0xE5)]
|
||||||
pub struct CharacterPreview {
|
pub struct CharacterPreview {
|
||||||
pub slot: u32,
|
pub slot: u32,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user