|
@ -428,19 +428,20 @@ pub struct PickupItem { |
|
|
unknown: [u8; 3],
|
|
|
unknown: [u8; 3],
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
//#[pso_message(0x5D)]
|
|
|
|
|
|
//pub struct SplittingStack {
|
|
|
|
|
|
// area: u16,
|
|
|
|
|
|
// unknown1: u16,
|
|
|
|
|
|
// x: f32,
|
|
|
|
|
|
// z: f32,
|
|
|
|
|
|
// item_data: u32,
|
|
|
|
|
|
// item_data2: u32,
|
|
|
|
|
|
// item_data3: u32,
|
|
|
|
|
|
// split_item_id: [u8; 9],
|
|
|
|
|
|
// item_data4: u32,
|
|
|
|
|
|
// unknown2: u32,
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
// this name may be a bit incorrect, it differs from ItemDrop only in that
|
|
|
|
|
|
// it does not have a y as DropCoordinates only specifies an xz
|
|
|
|
|
|
#[pso_message(0x5D)]
|
|
|
|
|
|
pub struct DropSplitStack {
|
|
|
|
|
|
pub map_area: u8,
|
|
|
|
|
|
pub variety: u8,
|
|
|
|
|
|
pub unknown1: u16,
|
|
|
|
|
|
pub x: f32,
|
|
|
|
|
|
pub z: f32,
|
|
|
|
|
|
pub item_bytes: [u8; 12],
|
|
|
|
|
|
pub item_id: u32,
|
|
|
|
|
|
pub item_bytes2: [u8; 4],
|
|
|
|
|
|
pub unknown2: u32,
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//#[pso_message(0x5E)]
|
|
|
//#[pso_message(0x5E)]
|
|
@ -981,7 +982,7 @@ pub enum GameMessage { |
|
|
LobbyEmote(LobbyEmote),
|
|
|
LobbyEmote(LobbyEmote),
|
|
|
RemoveItemFromFloor(RemoveItemFromFloor),
|
|
|
RemoveItemFromFloor(RemoveItemFromFloor),
|
|
|
PickupItem(PickupItem),
|
|
|
PickupItem(PickupItem),
|
|
|
//SplittingStack(SplittingStack),
|
|
|
|
|
|
|
|
|
DropSplitStack(DropSplitStack),
|
|
|
//BuyFromShop(BuyFromShop),
|
|
|
//BuyFromShop(BuyFromShop),
|
|
|
ItemDrop(ItemDrop),
|
|
|
ItemDrop(ItemDrop),
|
|
|
RequestItem(RequestItem),
|
|
|
RequestItem(RequestItem),
|
|
@ -1143,7 +1144,7 @@ impl PSOPacketData for GameMessage { |
|
|
LobbyEmote::CMD => Ok(GameMessage::LobbyEmote(LobbyEmote::from_bytes(&mut cur)?)),
|
|
|
LobbyEmote::CMD => Ok(GameMessage::LobbyEmote(LobbyEmote::from_bytes(&mut cur)?)),
|
|
|
RemoveItemFromFloor::CMD => Ok(GameMessage::RemoveItemFromFloor(RemoveItemFromFloor::from_bytes(&mut cur)?)),
|
|
|
RemoveItemFromFloor::CMD => Ok(GameMessage::RemoveItemFromFloor(RemoveItemFromFloor::from_bytes(&mut cur)?)),
|
|
|
PickupItem::CMD => Ok(GameMessage::PickupItem(PickupItem::from_bytes(&mut cur)?)),
|
|
|
PickupItem::CMD => Ok(GameMessage::PickupItem(PickupItem::from_bytes(&mut cur)?)),
|
|
|
//SplittingStack::CMD => Ok(GameMessage::SplittingStack(SplittingStack::from_bytes(&mut cur)?)),
|
|
|
|
|
|
|
|
|
DropSplitStack::CMD => Ok(GameMessage::DropSplitStack(DropSplitStack::from_bytes(&mut cur)?)),
|
|
|
//BuyFromShop::CMD => Ok(GameMessage::BuyFromShop(BuyFromShop::from_bytes(&mut cur)?)),
|
|
|
//BuyFromShop::CMD => Ok(GameMessage::BuyFromShop(BuyFromShop::from_bytes(&mut cur)?)),
|
|
|
ItemDrop::CMD => Ok(GameMessage::ItemDrop(ItemDrop::from_bytes(&mut cur)?)),
|
|
|
ItemDrop::CMD => Ok(GameMessage::ItemDrop(ItemDrop::from_bytes(&mut cur)?)),
|
|
|
RequestItem::CMD => Ok(GameMessage::RequestItem(RequestItem::from_bytes(&mut cur)?)),
|
|
|
RequestItem::CMD => Ok(GameMessage::RequestItem(RequestItem::from_bytes(&mut cur)?)),
|
|
@ -1307,7 +1308,7 @@ impl PSOPacketData for GameMessage { |
|
|
GameMessage::LobbyEmote(data) => data.as_bytes(),
|
|
|
GameMessage::LobbyEmote(data) => data.as_bytes(),
|
|
|
GameMessage::RemoveItemFromFloor(data) => data.as_bytes(),
|
|
|
GameMessage::RemoveItemFromFloor(data) => data.as_bytes(),
|
|
|
GameMessage::PickupItem(data) => data.as_bytes(),
|
|
|
GameMessage::PickupItem(data) => data.as_bytes(),
|
|
|
//GameMessage::SplittingStack(data) => data.as_bytes(),
|
|
|
|
|
|
|
|
|
GameMessage::DropSplitStack(data) => data.as_bytes(),
|
|
|
//GameMessage::BuyFromShop(data) => data.as_bytes(),
|
|
|
//GameMessage::BuyFromShop(data) => data.as_bytes(),
|
|
|
GameMessage::ItemDrop(data) => data.as_bytes(),
|
|
|
GameMessage::ItemDrop(data) => data.as_bytes(),
|
|
|
GameMessage::RequestItem(data) => data.as_bytes(),
|
|
|
GameMessage::RequestItem(data) => data.as_bytes(),
|
|
|