diff --git a/src/lib.rs b/src/lib.rs index b43f3a6..91a8d68 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -38,35 +38,35 @@ impl PSOPacketData for u8 { } } -impl PSOPacketData for u32 { - fn from_bytes(cursor: &mut R) -> Result { - let mut bytes = [0u8; 4]; +impl PSOPacketData for u16 { + fn from_bytes(cursor: &mut R) -> Result { + let mut bytes = [0u8; 2]; let len = cursor.read(&mut bytes).map_err(|_| PacketParseError::ReadError)?; - if len == 4 { - Ok(u32::from_le_bytes(bytes)) + if len == 2 { + Ok(u16::from_le_bytes(bytes)) } else { Err(PacketParseError::NotEnoughBytes) } } fn as_bytes(&self) -> Vec { - u32::to_le_bytes(*self).to_vec() + u16::to_le_bytes(*self).to_vec() } } -impl PSOPacketData for u16 { - fn from_bytes(cursor: &mut R) -> Result { - let mut bytes = [0u8; 2]; +impl PSOPacketData for u32 { + fn from_bytes(cursor: &mut R) -> Result { + let mut bytes = [0u8; 4]; let len = cursor.read(&mut bytes).map_err(|_| PacketParseError::ReadError)?; - if len == 2 { - Ok(u16::from_le_bytes(bytes)) + if len == 4 { + Ok(u32::from_le_bytes(bytes)) } else { Err(PacketParseError::NotEnoughBytes) } } fn as_bytes(&self) -> Vec { - u16::to_le_bytes(*self).to_vec() + u32::to_le_bytes(*self).to_vec() } }