|
@ -1,4 +1,5 @@ |
|
|
use std::io::{Seek, SeekFrom};
|
|
|
|
|
|
|
|
|
#![allow(unused_must_use)]
|
|
|
|
|
|
use std::io::{SeekFrom};
|
|
|
|
|
|
|
|
|
use psopacket::pso_message;
|
|
|
use psopacket::pso_message;
|
|
|
use crate::{PSOPacketData, PacketParseError};
|
|
|
use crate::{PSOPacketData, PacketParseError};
|
|
@ -757,7 +758,7 @@ pub struct DropCoordinates { |
|
|
drop_area: u32,
|
|
|
drop_area: u32,
|
|
|
x: f32,
|
|
|
x: f32,
|
|
|
z: f32,
|
|
|
z: f32,
|
|
|
drop_ID: u32,
|
|
|
|
|
|
|
|
|
drop_id: u32,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
#[pso_message(0xC4)]
|
|
|
#[pso_message(0xC4)]
|
|
@ -1062,7 +1063,7 @@ impl PSOPacketData for GameMessage { |
|
|
cur.seek(SeekFrom::Current(-2)); // Cursor doesn't implement Peek?
|
|
|
cur.seek(SeekFrom::Current(-2)); // Cursor doesn't implement Peek?
|
|
|
match byte[0] {
|
|
|
match byte[0] {
|
|
|
PlayerActivatedSwitch::CMD => Ok(GameMessage::PlayerActivatedSwitch(PlayerActivatedSwitch::from_bytes(&mut cur)?)),
|
|
|
PlayerActivatedSwitch::CMD => Ok(GameMessage::PlayerActivatedSwitch(PlayerActivatedSwitch::from_bytes(&mut cur)?)),
|
|
|
GuildcardSend::CMD => Ok(GameMessage::GuildcardSend(GuildcardSend::from_bytes(&mut cur)?)),
|
|
|
|
|
|
|
|
|
GuildcardSend::CMD if len[0] == 1 => Ok(GameMessage::GuildcardSend(GuildcardSend::from_bytes(&mut cur)?)),
|
|
|
GuildcardRecv::CMD => Ok(GameMessage::GuildcardRecv(GuildcardRecv::from_bytes(&mut cur)?)),
|
|
|
GuildcardRecv::CMD => Ok(GameMessage::GuildcardRecv(GuildcardRecv::from_bytes(&mut cur)?)),
|
|
|
SymbolChat::CMD => Ok(GameMessage::SymbolChat(SymbolChat::from_bytes(&mut cur)?)),
|
|
|
SymbolChat::CMD => Ok(GameMessage::SymbolChat(SymbolChat::from_bytes(&mut cur)?)),
|
|
|
MobAttack::CMD => Ok(GameMessage::MobAttack(MobAttack::from_bytes(&mut cur)?)),
|
|
|
MobAttack::CMD => Ok(GameMessage::MobAttack(MobAttack::from_bytes(&mut cur)?)),
|
|
|