|
@ -1,14 +1,17 @@ |
|
|
mod crypto;
|
|
|
|
|
|
mod patch;
|
|
|
|
|
|
|
|
|
pub mod crypto;
|
|
|
|
|
|
pub mod patch;
|
|
|
|
|
|
|
|
|
#[derive(Debug, PartialEq)]
|
|
|
#[derive(Debug, PartialEq)]
|
|
|
pub enum PacketParseError {
|
|
|
pub enum PacketParseError {
|
|
|
NotEnoughBytes,
|
|
|
NotEnoughBytes,
|
|
|
WrongPacketCommand,
|
|
|
WrongPacketCommand,
|
|
|
|
|
|
WrongPacketForServerType,
|
|
|
|
|
|
WrongPacketSize(u16, usize),
|
|
|
|
|
|
DataStructNotLargeEnough(u64, usize),
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pub trait PSOPacket {
|
|
|
|
|
|
|
|
|
pub trait PSOPacket: std::fmt::Debug {
|
|
|
fn from_bytes(data: &Vec<u8>) -> Result<Self, PacketParseError> where Self: Sized;
|
|
|
fn from_bytes(data: &Vec<u8>) -> Result<Self, PacketParseError> where Self: Sized;
|
|
|
fn as_bytes(&self) -> Vec<u8>;
|
|
|
fn as_bytes(&self) -> Vec<u8>;
|
|
|
}
|
|
|
}
|
|
|