mirror of
https://github.com/lcdr/lu_packets.git
synced 2026-05-05 11:22:04 -05:00
Add client-sent mail messages
This commit is contained in:
@@ -47,7 +47,6 @@ fn parse(path: &Path) -> Res<usize> {
|
||||
packet_count += 1
|
||||
} else if file.name().contains("[53-04-")
|
||||
&& !file.name().contains("[53-04-00-16]")
|
||||
&& !file.name().contains("[53-04-00-17]")
|
||||
&& !file.name().contains("[30-00]")
|
||||
&& !file.name().contains("[e6-00]")
|
||||
&& !file.name().contains("[6b-03]")
|
||||
|
||||
@@ -107,8 +107,11 @@ macro_rules! lu_wstr {
|
||||
}
|
||||
|
||||
lu_str!(LuString33, 33);
|
||||
lu_wstr!(LuWString32, 32);
|
||||
lu_wstr!(LuWString33, 33);
|
||||
lu_wstr!(LuWString41, 41);
|
||||
lu_wstr!(LuWString42, 42);
|
||||
lu_wstr!(LuWString50, 50);
|
||||
lu_wstr!(LuWString128, 128);
|
||||
lu_wstr!(LuWString256, 256);
|
||||
lu_wstr!(LuWString400, 400);
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
use endio::{Deserialize, Serialize};
|
||||
use lu_packets_derive::VariantTests;
|
||||
|
||||
use crate::common::{LuWString32, LuWString400, LuWString50, ObjId};
|
||||
|
||||
#[derive(Debug, Deserialize, PartialEq, Serialize, VariantTests)]
|
||||
#[repr(u32)]
|
||||
pub enum Mail {
|
||||
CreateRequest(CreateRequest) = 0,
|
||||
ListRequest = 3,
|
||||
ContentCollectRequest(ContentCollectRequest) = 5,
|
||||
DeleteRequest(DeleteRequest) = 7,
|
||||
MarkAsReadRequest(MarkAsReadRequest) = 9,
|
||||
UnreadCountRequest = 11,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize, PartialEq, Serialize)]
|
||||
#[trailing_padding=4]
|
||||
pub struct CreateRequest {
|
||||
subject: LuWString50,
|
||||
body: LuWString400,
|
||||
receiver_name: LuWString32,
|
||||
#[padding=8] // money: i64, unused
|
||||
attachment_id: ObjId,
|
||||
attachment_count: u16,
|
||||
locale_id: u16,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize, PartialEq, Serialize)]
|
||||
pub struct ContentCollectRequest {
|
||||
#[padding=4]
|
||||
mail_id: ObjId,
|
||||
receiver_id: ObjId,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize, PartialEq, Serialize)]
|
||||
pub struct DeleteRequest {
|
||||
#[padding=4]
|
||||
mail_id: ObjId,
|
||||
receiver_id: ObjId,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize, PartialEq, Serialize)]
|
||||
pub struct MarkAsReadRequest {
|
||||
#[padding=4]
|
||||
mail_id: ObjId,
|
||||
}
|
||||
Binary file not shown.
@@ -0,0 +1,6 @@
|
||||
Mail::ContentCollectRequest(
|
||||
ContentCollectRequest {
|
||||
mail_id: 1152921510806218479,
|
||||
receiver_id: 1152921507004579166,
|
||||
},
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,10 @@
|
||||
Mail::CreateRequest(
|
||||
CreateRequest {
|
||||
subject: lu!("blue"),
|
||||
body: lu!(""),
|
||||
receiver_name: lu!("gruntmonkey"),
|
||||
attachment_id: 1152921510718681142,
|
||||
attachment_count: 100,
|
||||
locale_id: 1033,
|
||||
},
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,6 @@
|
||||
Mail::DeleteRequest(
|
||||
DeleteRequest {
|
||||
mail_id: 1152921510806218479,
|
||||
receiver_id: 1152921507004579166,
|
||||
},
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
Mail::ListRequest
|
||||
Binary file not shown.
@@ -0,0 +1,5 @@
|
||||
Mail::MarkAsReadRequest(
|
||||
MarkAsReadRequest {
|
||||
mail_id: 1152921510809321891,
|
||||
},
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
Mail::UnreadCountRequest
|
||||
@@ -1,4 +1,6 @@
|
||||
//! Server-received world messages.
|
||||
pub mod mail;
|
||||
|
||||
use std::io::{Read, Write};
|
||||
use std::io::Result as Res;
|
||||
|
||||
@@ -11,6 +13,7 @@ use crate::chat::ChatChannel;
|
||||
use crate::chat::server::ChatMessage;
|
||||
use super::ZoneId;
|
||||
use super::gm::server::SubjectGameMessage;
|
||||
use self::mail::Mail;
|
||||
|
||||
pub use crate::general::server::GeneralMessage;
|
||||
|
||||
@@ -39,6 +42,7 @@ pub enum WorldMessage {
|
||||
GeneralChatMessage(GeneralChatMessage) = 14,
|
||||
LevelLoadComplete(LevelLoadComplete) = 19,
|
||||
RouteMessage(RouteMessage) = 21,
|
||||
Mail(Mail) = 23,
|
||||
StringCheck(StringCheck) = 25,
|
||||
RequestFreeTrialRefresh = 32,
|
||||
UgcDownloadFailed(UgcDownloadFailed) = 120,
|
||||
@@ -220,7 +224,6 @@ impl<'a, W: Write+LEWrite> Serialize<LE, W> for &'a GeneralChatMessage {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Reports to the server that client-side loading has finished.
|
||||
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,3 @@
|
||||
WorldMessage::Mail(
|
||||
Mail::ListRequest,
|
||||
)
|
||||
Reference in New Issue
Block a user