add gcmd 0x20 0xAE

This commit is contained in:
jake 2019-12-15 23:14:17 -08:00
parent 897b36e1e3
commit 519e01fe65

View File

@ -47,6 +47,14 @@ pub struct PlayerChangedMap2 {
unknown1: u32,
}
#[pso_message(0x20)]
pub struct TellOtherPlayerMyLocation {
unknown1: u32,
unknown2: u32,
x: f32,
y: f32,
z: f32,
}
#[pso_message(0x3F)]
pub struct PlayerLoadedIn {
@ -63,6 +71,15 @@ pub struct PlayerDoneChangingMap {
}
#[pso_message(0xAE)]
pub struct UnknownAE {
unknown1: u32,
unknown2: u32,
unknown3: u32,
}
#[derive(Debug, Clone, PartialEq)]
pub enum GameMessage {
PlayerWalking(PlayerWalking),
@ -72,6 +89,8 @@ pub enum GameMessage {
PlayerChangedMap(PlayerChangedMap),
PlayerChangedMap2(PlayerChangedMap2),
PlayerDoneChangingMap(PlayerDoneChangingMap),
TellOtherPlayerMyLocation(TellOtherPlayerMyLocation),
UnknownAE(UnknownAE),
}
impl PSOPacketData for GameMessage {
@ -89,6 +108,8 @@ impl PSOPacketData for GameMessage {
PlayerChangedMap::CMD if len[0] == 6 => Ok(GameMessage::PlayerChangedMap(PlayerChangedMap::from_bytes(&mut cur)?)),
PlayerChangedMap2::CMD if len[0] == 2 => Ok(GameMessage::PlayerChangedMap2(PlayerChangedMap2::from_bytes(&mut cur)?)),
PlayerDoneChangingMap::CMD => Ok(GameMessage::PlayerDoneChangingMap(PlayerDoneChangingMap::from_bytes(&mut cur)?)),
TellOtherPlayerMyLocation::CMD => Ok(GameMessage::TellOtherPlayerMyLocation(TellOtherPlayerMyLocation::from_bytes(&mut cur)?)),
UnknownAE::CMD => Ok(GameMessage::UnknownAE(UnknownAE::from_bytes(&mut cur)?)),
_ => Err(PacketParseError::WrongPacketCommand),
}
}
@ -101,6 +122,8 @@ impl PSOPacketData for GameMessage {
GameMessage::PlayerChangedMap(data) => data.as_bytes(),
GameMessage::PlayerChangedMap2(data) => data.as_bytes(),
GameMessage::PlayerDoneChangingMap(data) => data.as_bytes(),
GameMessage::TellOtherPlayerMyLocation(data) => data.as_bytes(),
GameMessage::UnknownAE(data) => data.as_bytes(),
}
}
}