diff --git a/src/auth/client.rs b/src/auth/client.rs index efe3958..aff3546 100644 --- a/src/auth/client.rs +++ b/src/auth/client.rs @@ -33,12 +33,9 @@ impl From for Message { } } -enum ClientId { - LoginResponse = 0, -} - #[derive(Debug)] #[non_exhaustive] +#[repr(u32)] pub enum ClientMessage { LoginResponse(LoginResponse), } @@ -54,10 +51,11 @@ impl<'a, W: LEWrite> Serialize for &'a ClientMessage u32: Serialize, &'a LoginResponse: Serialize { fn serialize(self, writer: &mut W) -> Res<()> { + let disc = unsafe { *(self as *const ClientMessage as *const u32) }; + writer.write(disc)?; + writer.write(0u8)?; match self { ClientMessage::LoginResponse(message) => { - writer.write(ClientId::LoginResponse as u32)?; - writer.write(0u8)?; writer.write(message)?; } } diff --git a/src/auth/server.rs b/src/auth/server.rs index a18936c..8536eab 100644 --- a/src/auth/server.rs +++ b/src/auth/server.rs @@ -18,7 +18,7 @@ pub enum LuMessage { } enum AuthId { - LoginRequest = 0, + LoginRequest, } #[derive(Debug)] @@ -53,9 +53,9 @@ pub struct LoginRequest { #[derive(Debug, Deserialize)] #[repr(u8)] pub enum ClientOs { - Unknown = 0, - Windows = 1, - MacOsX = 2 + Unknown, + Windows, + MacOs, } #[derive(Debug, Deserialize)] diff --git a/src/chat/server.rs b/src/chat/server.rs index 5347dc5..7f39786 100644 --- a/src/chat/server.rs +++ b/src/chat/server.rs @@ -111,13 +111,13 @@ impl Deserialize for GeneralChatMessage #[derive(Debug, Deserialize)] #[repr(u8)] pub enum PrivateChatMessageResponseCode { - Sent = 0, - NotOnline = 1, - GeneralError = 2, - ReceivedNewWhisper = 3, - NotFriends = 4, - SenderFreeTrial = 5, - ReceiverFreeTrial = 6, + Sent, + NotOnline, + GeneralError, + ReceivedNewWhisper, + NotFriends, + SenderFreeTrial, + ReceiverFreeTrial, } #[derive(Debug)] @@ -163,10 +163,10 @@ impl Deserialize for PrivateChatMessage #[derive(Debug, Deserialize)] #[repr(u8)] pub enum AddFriendResponseCode { - Accepted = 0, - Rejected = 1, - Busy = 2, - Cancelled = 3, + Accepted, + Rejected, + Busy, + Cancelled, } #[derive(Debug, Deserialize)] @@ -178,9 +178,9 @@ pub struct AddFriendResponse { #[derive(Debug, Deserialize)] #[repr(u8)] pub enum TeamInviteResponseCode { - Accepted = 0, - Rejected = 1, - GeneralError = 2, + Accepted, + Rejected, + GeneralError, } #[derive(Debug, Deserialize)] diff --git a/src/general/server.rs b/src/general/server.rs index 97a79d9..0600660 100644 --- a/src/general/server.rs +++ b/src/general/server.rs @@ -6,7 +6,7 @@ use endio::LittleEndian as LE; use crate::common::{err, ServiceId}; enum GeneralId { - Handshake = 0, + Handshake, } #[derive(Debug)] diff --git a/src/raknet/client.rs b/src/raknet/client.rs index 3ed8324..11eb5fa 100644 --- a/src/raknet/client.rs +++ b/src/raknet/client.rs @@ -4,6 +4,7 @@ use std::net::Ipv4Addr; use endio::{LEWrite, Serialize}; use endio::LittleEndian as LE; +// todo[chalk]: generic type instead of macro macro_rules! rak_client_msg { ($T:ty) => { #[derive(Debug, Serialize)] diff --git a/src/raknet/server.rs b/src/raknet/server.rs index 9abf4d9..ba5697b 100644 --- a/src/raknet/server.rs +++ b/src/raknet/server.rs @@ -7,6 +7,7 @@ use endio::LittleEndian as LE; use crate::common::SystemAddress; +// todo[chalk]: generic type instead of macro macro_rules! rak_server_msg { ($T:ty) => { #[derive(Debug, Deserialize)] diff --git a/src/world/client.rs b/src/world/client.rs index c34127d..d0d6a14 100644 --- a/src/world/client.rs +++ b/src/world/client.rs @@ -163,11 +163,11 @@ impl<'a, W: LEWrite> Serialize for &'a CharListChar #[derive(Debug, Serialize)] #[repr(u8)] pub enum CharacterCreateResponse { - Success = 0, - GeneralFailure = 1, - NameNotAllowed = 2, - PredefinedNameInUse = 3, - CustomNameInUse = 4, + Success, + GeneralFailure, + NameNotAllowed, + PredefinedNameInUse, + CustomNameInUse, } impl From for Message { diff --git a/src/world/server.rs b/src/world/server.rs index bbb3519..6c35b38 100644 --- a/src/world/server.rs +++ b/src/world/server.rs @@ -262,10 +262,10 @@ impl Deserialize for StringCheck #[derive(Debug, Deserialize)] #[repr(u32)] pub enum UgcResType { - Lxfml = 0, - Nif = 1, - Hkx = 2, - Dds = 3, + Lxfml, + Nif, + Hkx, + Dds, } #[derive(Debug, Deserialize)]