From cb8c8ac6001aace53aaf1818488c8adaa31b0a5a Mon Sep 17 00:00:00 2001 From: Andy Newjack Date: Sat, 25 Jul 2020 15:16:37 -0300 Subject: [PATCH 1/3] rename area to map_area and change from u32 to u16 --- src/packet/messages.rs | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/src/packet/messages.rs b/src/packet/messages.rs index 1d4e9e5..6d3a91b 100644 --- a/src/packet/messages.rs +++ b/src/packet/messages.rs @@ -124,12 +124,14 @@ pub struct PlayerChangedMap { #[pso_message(0x1F)] pub struct PlayerChangedMap2 { - map_area: u32, + map_area: u16, + _unknown1: u16, } #[pso_message(0x20)] pub struct TellOtherPlayerMyLocation { - map_area: u32, + map_area: u16, + _unknown1: u16, x: f32, y: f32, z: f32, @@ -163,7 +165,7 @@ pub struct PlayerTeleported { #[pso_message(0x25)] pub struct PlayerEquipItem { item_id: u32, - variety: u8, + sub_menu: u8, // changes based on which menu used to equip item. f12 -> item pack -> items = 0, quick and f12 -> item pack -> equip = 6 unknown1: u16, } @@ -193,7 +195,7 @@ pub struct PlayerSplitItemStack { #[pso_message(0x2A)] pub struct PlayerDropItem { unknown1: u16, - area: u16, + map_area: u16, item_id: u32, x: f32, y: f32, @@ -277,7 +279,8 @@ pub struct PlayerSpawnedIntoArea { #[pso_message(0x3E)] pub struct PlayerStopped { unknown1: u32, - unknown2: u32, + area: u16, + room: u16, x: f32, y: f32, z: f32, @@ -416,7 +419,7 @@ pub struct LobbyEmote { pub struct RemoveItemFromFloor { client_id: u8, unknown: u8, - area: u8, + map_area: u8, // change to u16 to be consistent with other packets unknown2: u8, item_id: u32, } @@ -424,7 +427,7 @@ pub struct RemoveItemFromFloor { #[pso_message(0x5A)] pub struct PickupItem { item_id: u32, - area: u8, + map_area: u8, // change to u16 to be consistent with other packets unknown: [u8; 3], } @@ -432,8 +435,8 @@ pub struct PickupItem { // 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 map_area: u8, // change to u16 to be consistent with other packets + pub variety: u8, // what is variety used for? is it ever non-0? pub unknown1: u16, pub x: f32, pub z: f32, @@ -455,7 +458,7 @@ pub struct DropSplitStack { #[pso_message(0x5F)] pub struct ItemDrop { - pub area: u8, + pub map_area: u8, pub variety: u8, pub unknown: u16, pub x: f32, @@ -469,7 +472,7 @@ pub struct ItemDrop { #[pso_message(0x60)] pub struct RequestItem { - area: u8, + map_area: u8, pt_index: u8, enemy_id: u16, x: f32, @@ -531,12 +534,14 @@ pub struct WordSelect { #[pso_message(0x75)] pub struct PlayerChangedFloor { - map: u32, + map: u16, + _unknown1: u16, } #[pso_message(0x76)] pub struct KillMonster { - data: [u8; 4], + map_area: u16, + data: [u8; 2], } //#[pso_message(0x77)] @@ -791,7 +796,8 @@ pub struct GiveCharacterExp { #[pso_message(0xC3)] pub struct DropCoordinates { - map_area: u32, + map_area: u16, + room: u16, x: f32, z: f32, item_id: u32, From 38d47f93f3c1144d739d915f0689255d0af8869f Mon Sep 17 00:00:00 2001 From: Andy Newjack Date: Sat, 25 Jul 2020 22:24:03 -0300 Subject: [PATCH 2/3] this isnt the map value --- src/packet/messages.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/packet/messages.rs b/src/packet/messages.rs index 6d3a91b..97c9102 100644 --- a/src/packet/messages.rs +++ b/src/packet/messages.rs @@ -534,8 +534,7 @@ pub struct WordSelect { #[pso_message(0x75)] pub struct PlayerChangedFloor { - map: u16, - _unknown1: u16, + data: [u8; 4], } #[pso_message(0x76)] From f19eecb7d359d449c7ede0c7adf6ca37dae6d743 Mon Sep 17 00:00:00 2001 From: Andy Newjack Date: Sat, 25 Jul 2020 22:28:34 -0300 Subject: [PATCH 3/3] clean up comments --- src/packet/messages.rs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/packet/messages.rs b/src/packet/messages.rs index 97c9102..872c19f 100644 --- a/src/packet/messages.rs +++ b/src/packet/messages.rs @@ -165,7 +165,7 @@ pub struct PlayerTeleported { #[pso_message(0x25)] pub struct PlayerEquipItem { item_id: u32, - sub_menu: u8, // changes based on which menu used to equip item. f12 -> item pack -> items = 0, quick and f12 -> item pack -> equip = 6 + sub_menu: u8, unknown1: u16, } @@ -419,7 +419,7 @@ pub struct LobbyEmote { pub struct RemoveItemFromFloor { client_id: u8, unknown: u8, - map_area: u8, // change to u16 to be consistent with other packets + map_area: u8, unknown2: u8, item_id: u32, } @@ -427,16 +427,14 @@ pub struct RemoveItemFromFloor { #[pso_message(0x5A)] pub struct PickupItem { item_id: u32, - map_area: u8, // change to u16 to be consistent with other packets + map_area: u8, unknown: [u8; 3], } -// 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, // change to u16 to be consistent with other packets - pub variety: u8, // what is variety used for? is it ever non-0? + pub map_area: u8, + pub variety: u8, pub unknown1: u16, pub x: f32, pub z: f32,