From 4024168749d1903ffab67c69d6a75dc0c59b62f9 Mon Sep 17 00:00:00 2001 From: Biscuit Date: Fri, 26 Apr 2019 17:47:59 +1000 Subject: [PATCH] Document world visit packet --- src/common/Network/PacketDef/Ipcs.h | 3 +++ src/common/Network/PacketDef/Zone/ServerZoneDef.h | 13 +++++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index daed4d35..3c98ae7f 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -74,6 +74,9 @@ namespace Sapphire::Network::Packets CancelAllianceForming = 0x00C6, // updated 4.2 Chat = 0x00F7, // updated 4.5? + + WorldVisitList = 0x00FE, // added 4.5 + SocialList = 0x0103, // updated 4.5 UpdateSearchInfo = 0x0106, // updated 4.5 diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index 650979e4..924b0912 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -52,6 +52,19 @@ namespace Sapphire::Network::Packets::Server // client doesn't care about the data (zero sized) for this opcode anyway. }; + /** + * Structural representation of the packet sent by the server + * to show a list of worlds for world visit + */ + struct FFXIVIpcWorldVisitList : FFXIVIpcBasePacket< WorldVisitList > + { + struct worldEntry + { + uint16_t id; // this is the id of the world from lobby + uint16_t status; // 1 = available (this is what retail sends) | 2+ = unavailable (this will need to be checked with retail if it's exactly 2 or not since it does not actually lock the option) + } world[16]; + }; + /** * Structural representation of the packet sent by the server * carrying chat messages