From 0c0d5d81fcb6d18e15597d4ad411db6039f63735 Mon Sep 17 00:00:00 2001 From: karashiiro <49822414+karashiiro@users.noreply.github.com> Date: Sun, 28 Jul 2019 17:27:57 -0700 Subject: [PATCH 1/3] added more FC opcodes and packet structures --- src/common/Network/PacketDef/Ipcs.h | 6 +++++ .../Network/PacketDef/Zone/ClientZoneDef.h | 10 +++++++ .../Network/PacketDef/Zone/ServerZoneDef.h | 26 +++++++++++++++++++ 3 files changed, 42 insertions(+) diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index 1dba302a..fbcf40f7 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -100,6 +100,8 @@ namespace Sapphire::Network::Packets LinkshellList = 0x012A, // updated 5.0 MailDeleteRequest = 0x012B, // updated 5.0 + + FreeCompanyMemberLogInOut = 0x012C, // added 5.0 // 12D - 137 - constant gap between 4.5x -> 5.0 ReqMoogleMailList = 0x0138, // updated 5.0 ReqMoogleMailLetter = 0x0139, // updated 5.0 @@ -115,6 +117,8 @@ namespace Sapphire::Network::Packets FreeCompanyInfo = 0x013D, // updated 4.5 ExamineFreeCompanyInfo = 0x013E, // updated 4.5 + FreeCompanyUpdateShortMessage = 0x0157, // added 5.0 + StatusEffectList = 0x015B, // updated 5.0 EurekaStatusEffectList = 0x015C, // updated 5.0 Effect = 0x015E, // updated 5.0 @@ -304,6 +308,8 @@ namespace Sapphire::Network::Packets FcInfoReqHandler = 0x011A, // updated 4.2 + FreeCompanyUpdateShortMessageHandler = 0x0123, // added 5.0 + ReqMarketWishList = 0x012C, // updated 4.3 ReqJoinNoviceNetwork = 0x0129, // updated 4.2 diff --git a/src/common/Network/PacketDef/Zone/ClientZoneDef.h b/src/common/Network/PacketDef/Zone/ClientZoneDef.h index b15936bf..c697e461 100644 --- a/src/common/Network/PacketDef/Zone/ClientZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ClientZoneDef.h @@ -323,6 +323,16 @@ struct FFXIVIpcMarketBoardRequestItemListingInfo : /* 0000 */ uint32_t requestId; }; +struct FFXIVIpcFreeCompanyUpdateShortMessageHandler : + FFXIVIpcBasePacket< FreeCompanyUpdateShortMessageHandler > +{ + char shortMessage[104]; // Contains old/gibberish data in remaining slots if not filled + uint8_t padding; + uint8_t unknown; + uint32_t unknown1; + uint16_t unknown2; +}; + } #endif //_CORE_NETWORK_PACKETS_ZONE_CLIENT_IPC_H diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index 4fe3733d..89f3e83a 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -247,6 +247,22 @@ namespace Sapphire::Network::Packets::Server } entry[8]; }; + struct FFXIVIpcFreeCompanyMemberLogInOut : FFXIVIpcBasePacket< FreeCompanyMemberLogInOut > + { + uint16_t unknown; + uint16_t unknown1; + uint16_t unknown2; + uint16_t unknown3; + uint16_t unknown4; + char padding[6]; + uint8_t status; // 0x0F Login, 0x10 Logout + uint8_t padding1; + char padding2[6]; + uint16_t unknown5; + char fc[46]; + char character[32]; + }; + /** * Structural representation of the packet sent by the server * to send a list of mail the player has @@ -301,6 +317,16 @@ namespace Sapphire::Network::Packets::Server uint32_t padding4; }; + struct FFXIVIpcFreeCompanyUpdateShortMessage : FFXIVIpcBasePacket< FreeCompanyUpdateShortMessage > + { + uint32_t unknown; + uint16_t unknown1; + uint16_t unknown2; + uint32_t unknown3; + uint32_t unknown5; + char shortMessage[104]; + }; + struct FFXIVIpcStatusEffectList : FFXIVIpcBasePacket< StatusEffectList > { uint8_t classId; From a58c82f83d03c5177b01adbe5a0709951724807d Mon Sep 17 00:00:00 2001 From: karashiiro <49822414+karashiiro@users.noreply.github.com> Date: Wed, 7 Aug 2019 19:17:27 -0700 Subject: [PATCH 2/3] review response --- src/common/Network/PacketDef/Ipcs.h | 2 +- src/common/Network/PacketDef/Zone/ClientZoneDef.h | 2 +- src/common/Network/PacketDef/Zone/ServerZoneDef.h | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index fbcf40f7..a21519ce 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -101,7 +101,7 @@ namespace Sapphire::Network::Packets MailDeleteRequest = 0x012B, // updated 5.0 - FreeCompanyMemberLogInOut = 0x012C, // added 5.0 + FreeCompanyEvent = 0x012C, // added 5.0 // 12D - 137 - constant gap between 4.5x -> 5.0 ReqMoogleMailList = 0x0138, // updated 5.0 ReqMoogleMailLetter = 0x0139, // updated 5.0 diff --git a/src/common/Network/PacketDef/Zone/ClientZoneDef.h b/src/common/Network/PacketDef/Zone/ClientZoneDef.h index c697e461..7b0d39ea 100644 --- a/src/common/Network/PacketDef/Zone/ClientZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ClientZoneDef.h @@ -326,7 +326,7 @@ struct FFXIVIpcMarketBoardRequestItemListingInfo : struct FFXIVIpcFreeCompanyUpdateShortMessageHandler : FFXIVIpcBasePacket< FreeCompanyUpdateShortMessageHandler > { - char shortMessage[104]; // Contains old/gibberish data in remaining slots if not filled + char shortMessage[104]; uint8_t padding; uint8_t unknown; uint32_t unknown1; diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index 89f3e83a..62208497 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -247,7 +247,7 @@ namespace Sapphire::Network::Packets::Server } entry[8]; }; - struct FFXIVIpcFreeCompanyMemberLogInOut : FFXIVIpcBasePacket< FreeCompanyMemberLogInOut > + struct FFXIVIpcFreeCompanyEvent : FFXIVIpcBasePacket< FreeCompanyEvent > { uint16_t unknown; uint16_t unknown1; @@ -255,12 +255,12 @@ namespace Sapphire::Network::Packets::Server uint16_t unknown3; uint16_t unknown4; char padding[6]; - uint8_t status; // 0x0F Login, 0x10 Logout + uint8_t eventID; // 0x0F Login, 0x10 Logout uint8_t padding1; char padding2[6]; uint16_t unknown5; - char fc[46]; - char character[32]; + char fcName[46]; + char characterName[32]; }; /** From 671ae90becbb175c4a725c8dc232c44e78eadbe9 Mon Sep 17 00:00:00 2001 From: karashiiro <49822414+karashiiro@users.noreply.github.com> Date: Wed, 7 Aug 2019 21:42:38 -0700 Subject: [PATCH 3/3] further corrections and documentation --- .../Network/PacketDef/Chat/ServerChatDef.h | 30 +++++++++++++++++++ src/common/Network/PacketDef/Ipcs.h | 3 +- .../Network/PacketDef/Zone/ServerZoneDef.h | 16 ---------- 3 files changed, 32 insertions(+), 17 deletions(-) diff --git a/src/common/Network/PacketDef/Chat/ServerChatDef.h b/src/common/Network/PacketDef/Chat/ServerChatDef.h index ce614f7c..a91004b7 100644 --- a/src/common/Network/PacketDef/Chat/ServerChatDef.h +++ b/src/common/Network/PacketDef/Chat/ServerChatDef.h @@ -29,6 +29,36 @@ struct FFXIVIpcTellErrNotFound : FFXIVIpcBasePacket< TellErrNotFound > char receipientName[32]; }; +struct FFXIVIpcFreeCompanyEvent : FFXIVIpcBasePacket< FreeCompanyEvent > +{ + uint16_t unknown; + uint16_t unknown1; + uint16_t unknown2; + uint16_t unknown3; + uint16_t unknown4; + char padding[6]; + uint8_t eventID; + /* + * 0x0F Login + * 0x10 Logout + */ + uint8_t padding1; + char padding2[6]; + uint16_t unknown5; + char parameter[46]; + /** + * eventID | parameter usage + * 0x0F FC name + * 0x10 FC name + */ + char parameter1[32]; + /** + * eventID | parameter1 usage + * 0x0F Character name + * 0x10 Character name + */ +}; + } /* Sapphire::Common::Network::Packets::Server */ diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index a21519ce..b30f73ae 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -101,7 +101,6 @@ namespace Sapphire::Network::Packets MailDeleteRequest = 0x012B, // updated 5.0 - FreeCompanyEvent = 0x012C, // added 5.0 // 12D - 137 - constant gap between 4.5x -> 5.0 ReqMoogleMailList = 0x0138, // updated 5.0 ReqMoogleMailLetter = 0x0139, // updated 5.0 @@ -374,6 +373,8 @@ namespace Sapphire::Network::Packets { Tell = 0x0064, // updated for sb TellErrNotFound = 0x0066, + + FreeCompanyEvent = 0x012C, // added 5.0 }; /** diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index 62208497..6649feb8 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -247,22 +247,6 @@ namespace Sapphire::Network::Packets::Server } entry[8]; }; - struct FFXIVIpcFreeCompanyEvent : FFXIVIpcBasePacket< FreeCompanyEvent > - { - uint16_t unknown; - uint16_t unknown1; - uint16_t unknown2; - uint16_t unknown3; - uint16_t unknown4; - char padding[6]; - uint8_t eventID; // 0x0F Login, 0x10 Logout - uint8_t padding1; - char padding2[6]; - uint16_t unknown5; - char fcName[46]; - char characterName[32]; - }; - /** * Structural representation of the packet sent by the server * to send a list of mail the player has