1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-25 14:07:46 +00:00
sapphire/src/common/Network/PacketDef/Zone/ClientZoneDef.h

339 lines
8.3 KiB
C
Raw Normal View History

2018-07-06 19:47:35 +10:00
#ifndef _CORE_NETWORK_PACKETS_ZONE_CLIENT_IPC_H
#define _CORE_NETWORK_PACKETS_ZONE_CLIENT_IPC_H
#include <Common.h>
#include <Network/CommonNetwork.h>
namespace Sapphire::Network::Packets::Client
{
2018-07-06 19:47:35 +10:00
struct FFXIVIpcGmCommand1 :
FFXIVIpcBasePacket< GMCommand1 >
2018-07-06 19:47:35 +10:00
{
/* 0000 */ uint32_t commandId;
/* 0004 */ uint32_t param1;
/* 0008 */ uint32_t param2;
2018-10-14 12:52:06 +11:00
/* 000C */ uint32_t param3;
/* 0010 */ uint32_t param4;
/* 0014 */ uint32_t unknown1;
/* 0018 */ uint32_t target;
2018-07-06 19:47:35 +10:00
};
struct FFXIVIpcGmCommand2 :
FFXIVIpcBasePacket< GMCommand2 >
{
/* 0000 */ uint32_t commandId;
2018-10-14 12:52:06 +11:00
/* 0004 */ uint32_t param1;
/* 0008 */ uint32_t param2;
/* 000C */ uint32_t param3;
/* 0010 */ uint32_t param4;
/* 0014 */ uint16_t worldId;
/* 0016 */ char target[0x20];
/* 0036 */ uint16_t unknown1;
};
struct FFXIVIpcClientTrigger :
FFXIVIpcBasePacket< ClientTrigger >
{
/* 0000 */ uint16_t commandId;
/* 0002 */ uint8_t unk_2[2];
/* 0004 */ uint32_t param11;
/* 0008 */ uint32_t param12;
/* 000C */ uint32_t param2;
/* 0010 */ uint32_t param4; // todo: really?
/* 0014 */ uint32_t param5;
/* 0018 */ uint64_t param3;
};
2019-02-06 08:49:57 +01:00
struct FFXIVIpcUpdatePosition :
FFXIVIpcBasePacket< UpdatePositionHandler >
{
/* 0000 */ float rotation;
2020-01-22 17:55:40 +09:00
/* 0004 */ uint8_t animationType;
/* 0005 */ uint8_t animationState;
/* 0006 */ uint8_t clientAnimationType;
2019-02-06 08:49:57 +01:00
/* 0007 */ uint8_t headPosition;
2019-07-14 17:34:55 +10:00
/* 0008 */ Common::FFXIVARR_POSITION3 position;
2020-01-22 17:55:40 +09:00
/* 000C */ uint8_t unk[ 4 ]; // padding?
2019-02-06 08:49:57 +01:00
};
2020-01-22 17:55:40 +09:00
struct FFXIVIpcSkillHandler :
FFXIVIpcBasePacket< SkillHandler >
{
/* 0000 */ uint8_t pad_0000;
/* 0001 */ uint8_t type;
/* 0002 */ uint8_t pad_0002[2];
/* 0004 */ uint32_t actionId;
/* 0008 */ uint16_t sequence;
/* 000A */ uint8_t pad_000C[6];
/* 0010 */ uint64_t targetId;
/* 0018 */ uint16_t itemSourceSlot;
/* 001A */ uint16_t itemSourceContainer;
/* 001C */ uint32_t unknown;
};
struct FFXIVIpcAoESkillHandler :
FFXIVIpcBasePacket< AoESkillHandler >
{
/* 0000 */ uint8_t pad_0000;
/* 0001 */ uint8_t type;
/* 0002 */ uint8_t pad_0002[2];
/* 0004 */ uint32_t actionId;
/* 0008 */ uint16_t sequence;
/* 000A */ uint8_t pad_000C[6];
/* 0010 */ Common::FFXIVARR_POSITION3 pos;
/* 001C */ uint32_t unknown; // could almost be rotation + 16 bits more padding?
};
struct FFXIVIpcZoneLineHandler :
FFXIVIpcBasePacket< ZoneLineHandler >
{
/* 0000 */ uint32_t zoneLineId;
};
struct FFXIVIpcDiscoveryHandler :
FFXIVIpcBasePacket< DiscoveryHandler >
{
/* 0000 */ uint32_t positionRef;
};
struct FFXIVIpcEventHandlerReturn :
FFXIVIpcBasePacket< ReturnEventHandler >
{
/* 0000 */ uint32_t eventId;
/* 0004 */ uint16_t scene;
/* 0006 */ uint16_t param1;
/* 0008 */ uint16_t param2;
/* 000A */ uint8_t pad_000A[2];
/* 000C */ uint16_t param3;
/* 000E */ uint8_t pad_000E[2];
/* 0010 */ uint16_t param4;
};
struct FFXIVIpcEnterTerritoryHandler :
FFXIVIpcBasePacket< EnterTeriEventHandler >
{
/* 0000 */ uint32_t eventId;
/* 0004 */ uint16_t param1;
/* 0006 */ uint16_t param2;
};
struct FFXIVIpcEventHandlerOutsideRange :
FFXIVIpcBasePacket< OutOfRangeEventHandler >
{
/* 0000 */ uint32_t param1;
/* 0004 */ uint32_t eventId;
/* 0008 */ Common::FFXIVARR_POSITION3 position;
};
struct FFXIVIpcEventHandlerWithinRange :
FFXIVIpcBasePacket< WithinRangeEventHandler >
{
/* 0000 */ uint32_t param1;
/* 0004 */ uint32_t eventId;
/* 0008 */ Common::FFXIVARR_POSITION3 position;
};
struct FFXIVIpcEventHandlerEmote :
FFXIVIpcBasePacket< EmoteEventHandler >
{
/* 0000 */ uint64_t actorId;
/* 0008 */ uint32_t eventId;
/* 000C */ uint16_t emoteId;
};
struct FFXIVIpcEventHandlerTalk :
FFXIVIpcBasePacket< TalkEventHandler >
{
/* 0000 */ uint64_t actorId;
/* 0008 */ uint32_t eventId;
};
struct FFXIVIpcPingHandler :
FFXIVIpcBasePacket< PingHandler >
{
/* 0000 */ uint32_t timestamp; // maybe lol..
};
struct FFXIVIpcSetSearchInfo :
FFXIVIpcBasePacket< SetSearchInfoHandler >
{
union
{
/* 0000 */ uint64_t status;
struct
{
/* 0000 */ uint32_t status1;
/* 0004 */ uint32_t status2;
};
};
/* 0008 */ uint8_t pad_0008[9];
/* 0011 */ Common::ClientLanguage language;
/* 0012 */ char searchComment[193];
};
struct FFXIVIpcTellHandler : FFXIVIpcBasePacket< TellReq >
{
uint64_t contentId;
uint16_t worldId;
uint16_t u0A;
uint32_t u0C;
uint16_t worldId1;
uint8_t preName;
/* 0004 */ char targetPCName[32];
/* 0024 */ char message[1029];
2018-07-07 22:27:35 +10:00
};
struct FFXIVIpcChatHandler :
FFXIVIpcBasePacket< ChatHandler >
2018-07-07 22:27:35 +10:00
{
/* 0000 */ uint8_t pad_0000[4];
/* 0004 */ uint32_t sourceId;
/* 0008 */ uint8_t pad_0008[16];
/* 0018 */ Common::ChatType chatType;
/* 001A */ char message[1012];
2018-07-07 22:27:35 +10:00
};
2018-11-22 00:04:26 +01:00
struct FFXIVIpcShopEventHandler :
FFXIVIpcBasePacket< ShopEventHandler >
{
/* 0000 */ uint32_t eventId;
/* 0004 */ uint32_t param;
};
struct FFXIVIpcLinkshellEventHandler :
FFXIVIpcBasePacket< LinkshellEventHandler >
2018-07-08 12:38:08 +10:00
{
/* 0000 */ uint32_t eventId;
/* 0004 */ uint16_t scene;
/* 0006 */ uint8_t pad_0006[1];
/* 0007 */ char lsName[21];
2018-07-08 12:38:08 +10:00
};
struct FFXIVIpcInventoryModifyHandler :
FFXIVIpcBasePacket< InventoryModifyHandler >
{
/* 0000 */ uint32_t seq;
/* 0004 */ Common::InventoryOperation action;
/* 0005 */ uint8_t pad_0005[7];
/* 000C */ uint16_t fromContainer;
/* 000E */ uint8_t pad_000E[2];
/* 0010 */ uint8_t fromSlot;
/* 0011 */ uint8_t pad_0011[15];
/* 0020 */ uint16_t toContainer;
/* 0022 */ uint8_t pad_0022[2];
/* 0024 */ uint8_t toSlot;
/* 0025 */ uint8_t pad_0025[3];
/* 0028 */ uint32_t splitCount;
};
2018-11-11 14:27:39 +01:00
struct FFXIVIpcRenameLandHandler :
2018-11-12 09:32:20 +01:00
FFXIVIpcBasePacket< LandRenameHandler >
2018-11-11 14:27:39 +01:00
{
2018-11-28 21:59:28 +11:00
/* 0000 */ Common::LandIdent ident;
2018-11-28 00:05:57 +11:00
/* 0008 */ char houseName[20];
2018-11-11 14:27:39 +01:00
/* 0028 */ uint32_t padding;
};
2018-11-28 21:59:28 +11:00
struct FFXIVIpcHousingUpdateHouseGreeting :
FFXIVIpcBasePacket< HousingUpdateHouseGreeting >
{
/* 0000 */ Common::LandIdent ident;
/* 0008 */ char greeting[200];
};
struct FFXIVIpcBuildPresetHandler :
FFXIVIpcBasePacket< BuildPresetHandler >
{
/* 0000 */ uint32_t itemId;
/* 0004 */ uint8_t plotNum;
2018-11-12 08:43:24 +01:00
/* 0005 */ char stateString[27];
};
2018-11-11 14:27:39 +01:00
2018-09-26 03:32:05 +10:00
struct FFXIVIpcSetSharedEstateSettings :
FFXIVIpcBasePacket< SetSharedEstateSettings >
{
/* 0000 */ uint64_t char1ContentId;
/* 0008 */ uint64_t char2ContentId;
/* 0010 */ uint64_t char3ContentId;
/* 0018 */ uint8_t char1Permissions;
/* 0019 */ uint8_t padding1[0x7];
2018-09-26 03:32:05 +10:00
/* 0020 */ uint8_t char2Permissions;
/* 0021 */ uint8_t padding2[0x7];
2018-09-26 03:32:05 +10:00
/* 0028 */ uint8_t char3Permissions;
/* 0029 */ uint8_t padding3[0x7];
2018-09-26 03:32:05 +10:00
};
2018-12-02 23:26:21 +11:00
struct FFXIVIpcMarketBoardRequestItemListings :
FFXIVIpcBasePacket< MarketBoardRequestItemListings >
{
2019-01-01 11:51:48 +11:00
/* 0000 */ uint16_t padding1;
/* 0002 */ uint16_t itemCatalogId;
/* 0004 */ uint32_t padding2;
2018-12-02 23:26:21 +11:00
};
2018-12-26 18:11:18 +11:00
struct FFXIVIpcReqPlaceHousingItem :
FFXIVIpcBasePacket< ReqPlaceHousingItem >
{
/* 0000 */ uint16_t landId; // 0 when plot 0 or inside an estate
/* 0002 */ uint16_t unknown1;
/* 0004 */ uint32_t unknown2;
/* 0008 */ uint16_t sourceInvContainerId;
/* 000A */ uint16_t sourceInvSlotId;
/* 000C */ Common::FFXIVARR_POSITION3 position;
/* 0018 */ float rotation;
/* 001C */ uint32_t shouldPlaceItem; // 1 if placing an item, 0 if placing in store
2018-12-26 18:11:18 +11:00
/* 0020 */ uint32_t unknown4[2]; // always 0 it looks like
};
struct FFXIVIpcHousingUpdateObjectPosition :
FFXIVIpcBasePacket< HousingUpdateObjectPosition >
{
/* 0000 */ Common::LandIdent ident;
/* 0008 */ uint16_t slot;
2018-12-27 17:12:01 +11:00
/* 000A */ uint16_t unk;
/* 000C */ Common::FFXIVARR_POSITION3 pos;
/* 0018 */ float rotation;
/* 001C */ uint32_t padding;
};
2019-01-01 11:51:48 +11:00
struct FFXIVIpcMarketBoardSearch :
FFXIVIpcBasePacket< MarketBoardSearch >
2018-12-31 23:20:36 +11:00
{
2019-01-01 11:51:48 +11:00
/* 0000 */ uint32_t startIdx;
/* 0004 */ uint16_t requestId;
2018-12-31 23:20:36 +11:00
/* 0006 */ uint8_t itemSearchCategory;
/* 0007 */ uint8_t shouldCheckClassJobId; // wat? seems only 1 there at least...
/* 0008 */ uint8_t maxEquipLevel;
/* 0009 */ uint8_t classJobId;
/* 000A */ char searchStr[40];
/* 0032 */ uint16_t unk4[43];
};
struct FFXIVIpcMarketBoardRequestItemListingInfo :
FFXIVIpcBasePacket< MarketBoardRequestItemListingInfo >
2019-01-01 11:51:48 +11:00
{
/* 0000 */ uint32_t catalogId;
/* 0000 */ uint32_t requestId;
};
struct FFXIVIpcFreeCompanyUpdateShortMessageHandler :
FFXIVIpcBasePacket< FreeCompanyUpdateShortMessageHandler >
{
2019-08-07 19:17:27 -07:00
char shortMessage[104];
uint8_t padding;
uint8_t unknown;
uint32_t unknown1;
uint16_t unknown2;
};
2018-07-06 19:47:35 +10:00
}
#endif //_CORE_NETWORK_PACKETS_ZONE_CLIENT_IPC_H