From 8936a0aa61d2b1495422e9eefc3105d6f8ecee6d Mon Sep 17 00:00:00 2001 From: Biscuit Boy Date: Wed, 3 Oct 2018 01:22:43 +1000 Subject: [PATCH 1/3] Added some moogle mail defs --- src/common/Network/PacketDef/Ipcs.h | 5 +++ .../Network/PacketDef/Zone/ServerZoneDef.h | 37 +++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index 42166f17..fcdfeee9 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -98,6 +98,11 @@ enum ServerZoneIpcType : LogMessage = 0x00D0, LinkshellList = 0x0117, // updated 4.4 + + MailDeleteRequest = 0x0118, // updated 4.4 + ReqMoogleMailList = 0x0119, // updated 4.4 + ReqMoogleMailLetter = 0x01A, // updated 4.4 + MailLetterNotification = 0x011B, // updated 4.4 ExamineFreeCompanyInfo = 0x013A, // updated 4.1 CharaFreeCompanyTag = 0x0127, // updated 4.4 diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index cc26c3e1..c6202853 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -210,6 +210,43 @@ struct FFXIVIpcLinkshellList : } entry[8]; }; +/** +* Structural representation of the packet sent by the server +* to send a list of mail the player has +*/ +struct FFXIVIpcReqMoogleMailList : + FFXIVIpcBasePacket< ReqMoogleMailList > +{ + struct letterEntry { + char unk[0x8]; + uint32_t timeStamp; // The time the mail was sent (this also seems to be used as a Id) + char unk1[0x30]; // This should be items, gil, etc for the letter + uint8_t read; // 0 = false | 1 = true + uint8_t type; // 0 = Friends | 1 = Rewards | 2 = GM + uint8_t unk2; + char senderName[0x20]; // The name of the sender + char summary[0x3C]; // The start of the full letter text + char padding2[0x5]; + } letter[5]; + char unk3[0x08]; +}; + +/** +* Structural representation of the packet sent by the server +* to show the mail delivery notification +*/ +struct FFXIVIpcMailLetterNotificationt : + FFXIVIpcBasePacket< MailLetterNotification > +{ + uint32_t sendbackCount; // The amount of letters sent back since you ran out of room (moogle dialog changes based on this) + uint16_t friendLetters; // The amount of letters in the friends section of the letterbox + uint16_t unreadCount; // The amount of unreads in the letterbox (this is the number that shows up) + uint16_t rewardLetters; // The amount of letters in the rewards section of the letterbox + uint8_t isGmLetter; // Makes the letter notification flash red + uint8_t isSupportDesk; // After setting this to 1 we can no longer update mail notifications (more research needed on the support desk) + char unk2[0x4]; // This has probs something to do with the support desk (inquiry id?) +}; + struct FFXIVIpcExamineFreeCompanyInfo : FFXIVIpcBasePacket< ExamineFreeCompanyInfo > { From efcf25265e7ab9db364d0e681b34bb2ebfe56865 Mon Sep 17 00:00:00 2001 From: Biscuit Boy Date: Wed, 3 Oct 2018 01:58:58 +1000 Subject: [PATCH 2/3] Fixed WardYardInfo for Vox --- src/common/Network/PacketDef/Ipcs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index fcdfeee9..c06b1505 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -190,7 +190,7 @@ enum ServerZoneIpcType : WardInfo = 0x0220, // updated 4.4 WardHousingPermission = 0x0229, // updated 4.4 - WardYardInfo = 0x022B, // updated 4.4 + WardYardInfo = 0x022C, // updated 4.4 DuelChallenge = 0x0277, // 4.2; this is responsible for opening the ui PerformNote = 0x0286, // updated 4.3 From f103b68066503325b6d02aa1c7151283411b6d4c Mon Sep 17 00:00:00 2001 From: Biscuit Boy Date: Fri, 5 Oct 2018 19:22:12 +1000 Subject: [PATCH 3/3] mmm fresh new line --- src/common/Network/PacketDef/Zone/ServerZoneDef.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index c6202853..7b679901 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -217,7 +217,8 @@ struct FFXIVIpcLinkshellList : struct FFXIVIpcReqMoogleMailList : FFXIVIpcBasePacket< ReqMoogleMailList > { - struct letterEntry { + struct letterEntry + { char unk[0x8]; uint32_t timeStamp; // The time the mail was sent (this also seems to be used as a Id) char unk1[0x30]; // This should be items, gil, etc for the letter