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

627 lines
13 KiB
C
Raw Normal View History

#pragma once
2018-07-06 19:47:35 +10:00
#include <Common.h>
#include <Network/CommonNetwork.h>
namespace Sapphire::Network::Packets::WorldPackets::Client
{
2018-07-06 19:47:35 +10:00
struct FFXIVIpcGmCommand : FFXIVIpcBasePacket< GMCommand >
2018-07-06 19:47:35 +10:00
{
uint32_t Id;
uint32_t Arg0;
uint32_t Arg1;
uint32_t Arg2;
uint32_t Arg3;
uint64_t Target;
2018-07-06 19:47:35 +10:00
};
struct FFXIVIpcGmCommandName : FFXIVIpcBasePacket< GMCommandName >
{
uint32_t Id;
uint32_t Arg0;
uint32_t Arg1;
uint32_t Arg2;
uint32_t Arg3;
char Name[32];
};
struct FFXIVIpcClientTrigger : FFXIVIpcBasePacket< Command >
{
uint32_t Id;
uint32_t Arg0;
uint32_t Arg1;
uint32_t Arg2;
uint32_t Arg3;
uint64_t Target;
};
struct FFXIVIpcUpdatePosition : FFXIVIpcBasePacket< Move >
2019-02-06 08:49:57 +01:00
{
float dir;
float dirBeforeSlip;
uint8_t flag;
uint8_t flag2;
uint8_t flag_unshared;
uint8_t __padding1;
Common::FFXIVARR_POSITION3 pos;
2019-02-06 08:49:57 +01:00
};
2020-03-28 14:24:31 +01:00
struct FFXIVIpcUpdatePositionInstance : FFXIVIpcBasePacket< MovePvP >
2020-03-28 14:24:31 +01:00
{
float dir;
float predictedDir;
float dirBeforeSlip;
uint8_t flag;
uint8_t flag2;
uint8_t flag_unshared;
uint8_t __padding1;
Common::FFXIVARR_POSITION3 pos;
Common::FFXIVARR_POSITION3 predictedPos;
2020-03-28 14:24:31 +01:00
};
2019-02-06 08:49:57 +01:00
struct FFXIVIpcActionRequest : FFXIVIpcBasePacket< ActionRequest >
{
uint8_t ExecProc;
uint8_t ActionKind;
uint8_t __padding1;
uint8_t __padding2;
uint32_t ActionKey;
uint32_t RequestId;
uint16_t Dir;
uint16_t DirTarget;
uint64_t Target;
uint32_t Arg;
};
2020-01-22 17:55:40 +09:00
struct FFXIVIpcSelectGroundActionRequest : FFXIVIpcBasePacket< SelectGroundActionRequest >
{
uint8_t ExecProc;
uint8_t ActionKind;
uint8_t __padding1;
uint8_t __padding2;
uint32_t ActionKey;
uint32_t RequestId;
uint16_t Dir;
uint16_t DirTarget;
Common::FFXIVARR_POSITION3 Pos;
};
struct FFXIVIpcZoneJump : FFXIVIpcBasePacket< ZoneJump >
{
uint32_t ExitBox;
float X;
float Y;
float Z;
int32_t LandSetIndex;
};
struct FFXIVIpcNewDiscovery : FFXIVIpcBasePacket< NewDiscovery >
{
uint32_t LayoutId;
float PositionX;
float PositionY;
float PositionZ;
};
template< uint32_t Size >
struct FFXIVIpcEventHandlerReturnN
{
uint32_t handlerId;
uint16_t sceneId;
uint8_t errorCode;
uint8_t numOfResults;
uint32_t results[Size];
};
struct FFXIVIpcReturnEventSceneHeader : FFXIVIpcBasePacket< ReturnEventSceneHeader >, FFXIVIpcEventHandlerReturnN< 1 >
{
};
struct FFXIVIpcReturnEventScene2 :
FFXIVIpcBasePacket< ReturnEventScene2 >,
FFXIVIpcEventHandlerReturnN< 2 >
{
// /* 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 FFXIVIpcReturnEventScene4 :
FFXIVIpcBasePacket< ReturnEventScene4 >,
FFXIVIpcEventHandlerReturnN< 4 >
{
};
struct FFXIVIpcReturnEventScene8 :
FFXIVIpcBasePacket< ReturnEventScene8 >,
FFXIVIpcEventHandlerReturnN< 8 >
{
};
struct FFXIVIpcReturnEventScene16 :
FFXIVIpcBasePacket< ReturnEventScene16 >,
FFXIVIpcEventHandlerReturnN< 16 >
{
};
struct FFXIVIpcReturnEventScene32 :
FFXIVIpcBasePacket< ReturnEventScene32 >,
FFXIVIpcEventHandlerReturnN< 32 >
{
};
struct FFXIVIpcReturnEventScene64 :
FFXIVIpcBasePacket< ReturnEventScene64 >,
FFXIVIpcEventHandlerReturnN< 64 >
{
};
struct FFXIVIpcReturnEventScene128 :
FFXIVIpcBasePacket< ReturnEventScene128 >,
FFXIVIpcEventHandlerReturnN< 128 >
{
};
struct FFXIVIpcReturnEventScene255 :
FFXIVIpcBasePacket< ReturnEventScene255 >,
FFXIVIpcEventHandlerReturnN< 255 >
{
};
template< uint32_t Size >
struct FFXIVIpcYieldEventSceneN
{
uint32_t handlerId;
uint16_t sceneId;
uint8_t yieldId;
uint8_t numOfResults;
uint32_t results[Size];
};
struct FFXIVIpcYieldEventSceneHeader :
FFXIVIpcBasePacket< YieldEventSceneHeader >,
FFXIVIpcYieldEventSceneN< 1 >
{
};
struct FFXIVIpcYieldEventScene2 :
FFXIVIpcBasePacket< YieldEventScene2 >,
FFXIVIpcYieldEventSceneN< 2 >
{
};
struct FFXIVIpcYieldEventScene4 :
FFXIVIpcBasePacket< YieldEventScene4 >,
FFXIVIpcYieldEventSceneN< 4 >
{
};
struct FFXIVIpcYieldEventScene8 :
FFXIVIpcBasePacket< YieldEventScene8 >,
FFXIVIpcYieldEventSceneN< 8 >
{
};
struct FFXIVIpcYieldEventScene16 :
FFXIVIpcBasePacket< YieldEventScene16 >,
FFXIVIpcYieldEventSceneN< 16 >
{
};
struct FFXIVIpcYieldEventScene32 :
FFXIVIpcBasePacket< YieldEventScene32 >,
FFXIVIpcYieldEventSceneN< 32 >
{
};
struct FFXIVIpcYieldEventScene64 :
FFXIVIpcBasePacket< YieldEventScene64 >,
FFXIVIpcYieldEventSceneN< 64 >
{
};
struct FFXIVIpcYieldEventScene128 :
FFXIVIpcBasePacket< YieldEventScene128 >,
FFXIVIpcYieldEventSceneN< 128 >
{
};
struct FFXIVIpcYieldEventScene255 :
FFXIVIpcBasePacket< YieldEventScene255 >,
FFXIVIpcYieldEventSceneN< 255 >
{
};
template< uint32_t Size >
struct YieldEventSceneStringN
{
uint32_t handlerId;
uint16_t sceneId;
uint8_t yieldId;
char result[Size];
};
struct FFXIVIpcYieldEventSceneStringHeader :
FFXIVIpcBasePacket< YieldEventSceneStringHeader >,
YieldEventSceneStringN< 1 >
{
};
struct FFXIVIpcYieldEventSceneString8 :
FFXIVIpcBasePacket< YieldEventSceneString8 >,
YieldEventSceneStringN< 8 >
{
};
struct YieldEventSceneString16 :
FFXIVIpcBasePacket< YieldEventSceneString16 >,
YieldEventSceneStringN< 16 >
{
};
struct YieldEventSceneString32 :
FFXIVIpcBasePacket< YieldEventSceneString32 >,
YieldEventSceneStringN< 32 >
{
};
struct FFXIVIpcYieldEventSceneIntAndString :
FFXIVIpcBasePacket< YieldEventSceneIntAndString >
{
uint32_t handlerId;
uint16_t sceneId;
uint8_t yieldId;
uint8_t __padding1;
uint64_t integer;
char str[32];
};
struct FFXIVIpcEnterTerritoryHandler :
FFXIVIpcBasePacket< StartEnterTerritoryEvent >
{
/* 0000 */ uint32_t eventId;
/* 0004 */ uint16_t param1;
/* 0006 */ uint16_t param2;
};
struct FFXIVIpcEventHandlerOutsideRange :
FFXIVIpcBasePacket< StartOutsideRangeEvent >
{
/* 0000 */ uint32_t param1;
/* 0004 */ uint32_t eventId;
/* 0008 */ Common::FFXIVARR_POSITION3 position;
};
struct FFXIVIpcEventHandlerWithinRange :
FFXIVIpcBasePacket< StartWithinRangeEvent >
{
/* 0000 */ uint32_t param1;
/* 0004 */ uint32_t eventId;
/* 0008 */ Common::FFXIVARR_POSITION3 position;
};
struct FFXIVIpcEventHandlerEmote :
FFXIVIpcBasePacket< StartEmoteEvent >
{
/* 0000 */ uint64_t actorId;
/* 0008 */ uint32_t eventId;
/* 000C */ uint16_t emoteId;
};
struct FFXIVIpcEventHandlerTalk :
FFXIVIpcBasePacket< StartTalkEvent >
{
/* 0000 */ uint64_t actorId;
/* 0008 */ uint32_t eventId;
};
struct ZoneProtoUpClientPos
{
uint32_t originEntityId;
float pos[3];
float dir;
};
struct FFXIVIpcPingHandler : FFXIVIpcBasePacket< Sync >
{
uint32_t clientTimeValue;
ZoneProtoUpClientPos position;
};
struct FFXIVIpcFindContent : FFXIVIpcBasePacket< FindContent >
{
uint16_t territoryType;
uint8_t acceptHalfway;
uint8_t language;
};
struct FFXIVIpcFind5Contents : FFXIVIpcBasePacket< Find5Contents >
{
uint8_t acceptHalfway;
uint8_t language;
uint16_t territoryTypes[5];
2018-07-07 22:27:35 +10:00
};
struct FFXIVIpcAcceptContent : FFXIVIpcBasePacket< AcceptContent >
2018-07-07 22:27:35 +10:00
{
uint8_t accept;
uint8_t padding1;
uint16_t territoryType;
uint64_t territoryId;
2018-07-07 22:27:35 +10:00
};
struct FFXIVIpcCancelFindContent : FFXIVIpcBasePacket< CancelFindContent >
2020-11-11 02:07:59 +09:00
{
uint8_t cause;
2020-11-11 02:07:59 +09:00
};
struct FFXIVIpcFindContentAsRandom : FFXIVIpcBasePacket< FindContentAsRandom >
2018-11-22 00:04:26 +01:00
{
uint8_t randomContentType;
uint8_t acceptHalfway;
uint8_t language;
2018-11-22 00:04:26 +01:00
};
struct FFXIVIpcRequestPenalties : FFXIVIpcBasePacket< RequestPenalties >
2018-07-08 12:38:08 +10:00
{
uint8_t value; //TODO: Is this always 0?
};
struct FFXIVIpcSetSearchInfo : FFXIVIpcBasePacket< SetProfile >
{
uint64_t OnlineStatus;
uint64_t SelectClassID;
uint8_t CurrentSelectClassID;
uint8_t Region;
char SearchComment[193];
2018-07-08 12:38:08 +10:00
};
struct FFXIVIpcChatTo : FFXIVIpcBasePacket< ChatTo >
{
uint8_t type;
char toName[32];
char message[1024];
};
struct FFXIVIpcChatToChannel : FFXIVIpcBasePacket< ChatToChannel >
2018-11-11 14:27:39 +01:00
{
uint64_t channelID;
char message[1024];
2018-11-11 14:27:39 +01:00
};
struct FFXIVIpcChatHandler : FFXIVIpcBasePacket< ChatHandler >
2018-11-28 21:59:28 +11:00
{
uint32_t clientTimeValue;
ZoneProtoUpClientPos position;
Common::ChatType chatType;
char message[1024];
2018-11-28 21:59:28 +11:00
};
struct FFXIVIpcJoinChatChannel : FFXIVIpcBasePacket< JoinChatChannel >
{
uint64_t ChannelID;
};
2018-11-11 14:27:39 +01:00
struct FFXIVIpcLinkshellJoin : FFXIVIpcBasePacket< LinkshellJoin >
2018-09-26 03:32:05 +10:00
{
uint64_t LinkshellID;
char MemberCharacterName[32];
2018-09-26 03:32:05 +10:00
};
struct FFXIVIpcShopEventHandler : FFXIVIpcBasePacket< StartUIEvent >
2018-12-02 23:26:21 +11:00
{
/* 0000 */ uint32_t eventId;
/* 0004 */ uint32_t param;
2018-12-02 23:26:21 +11:00
};
struct FFXIVIpcClientInventoryItemOperation : FFXIVIpcBasePacket< ClientItemOperation >
2018-12-26 18:11:18 +11:00
{
uint32_t ContextId;
uint8_t OperationType;
uint8_t __padding1;
uint8_t __padding2;
uint8_t __padding3;
uint32_t SrcActorId;
uint32_t SrcStorageId;
int16_t SrcContainerIndex;
uint8_t __padding4;
uint8_t __padding5;
uint32_t SrcStack;
uint32_t SrcCatalogId;
uint32_t DstActorId;
uint32_t DstStorageId;
int16_t DstContainerIndex;
uint8_t __padding6;
uint8_t __padding7;
uint32_t DstStack;
uint32_t DstCatalogId;
};
2018-12-26 18:11:18 +11:00
struct FFXIVIpcHousingExteriorChange : FFXIVIpcBasePacket< HousingExteriorChange >
{
Common::LandIdent landIdOrIndex;
uint8_t RemoveFlags;
uint8_t __padding1;
uint16_t StorageId[9];
int16_t ContainerIndex[9];
};
2018-12-26 18:11:18 +11:00
struct FFXIVIpcHousingPlaceYardItem : FFXIVIpcBasePacket< HousingPlaceYardItem >
{
Common::LandIdent landIdOrIndex;
uint16_t StorageId;
int16_t ContainerIndex;
Common::FFXIVARR_POSITION3 Pos;
float Rotation;
uint32_t UserData;
2018-12-26 18:11:18 +11:00
};
struct FFXIVIpcHousingInteriorChange : FFXIVIpcBasePacket< HousingInteriorChange >
{
Common::LandIdent landIdOrIndex;
uint16_t StorageId[10];
int16_t ContainerIndex[10];
};
struct FFXIVIpcMarketBoardRequestItemListings : FFXIVIpcBasePacket< MarketBoardRequestItemListings >
{
/* 0000 */ uint16_t padding1;
/* 0002 */ uint16_t itemCatalogId;
/* 0004 */ uint32_t padding2;
};
struct FFXIVIpcHousingHouseName : FFXIVIpcBasePacket< HousingHouseName >
{
Common::LandIdent landId;
char houseName[20];
};
struct FFXIVIpcHousingGreeting : FFXIVIpcBasePacket< HousingGreeting >
2018-12-31 23:20:36 +11:00
{
Common::LandIdent landId;
char greeting[193];
2018-12-31 23:20:36 +11:00
};
struct FFXIVIpcHousingChangeLayout : FFXIVIpcBasePacket< HousingChangeLayout >
2019-01-01 11:51:48 +11:00
{
Common::LandIdent landId;
uint8_t storageIndex;
uint8_t __padding1;
uint8_t __padding2;
uint8_t __padding3;
float posX;
float posY;
float posZ;
float rotY;
2019-01-01 11:51:48 +11:00
};
struct FFXIVIpcHousingChangeLayoutMulti : FFXIVIpcBasePacket< HousingChangeLayoutMulti >
{
Common::LandIdent landId;
float posXs[10];
float posYs[10];
float posZs[10];
float rotYs[10];
uint8_t storageIndex[10];
};
struct FFXIVIpcCatalogSearch : FFXIVIpcBasePacket< CatalogSearch >
2020-05-22 14:07:05 +09:00
{
uint32_t NextIndex;
uint8_t RequestKey;
uint8_t Type;
uint8_t SearchCategory;
uint8_t MinLevel;
uint8_t MaxLevel;
uint8_t ClassJob;
char ItemName[121];
2020-05-22 14:07:05 +09:00
};
struct FFXIVIpcMarketBoardRequestItemListingInfo : FFXIVIpcBasePacket< MarketBoardRequestItemListingInfo >
2020-11-11 02:07:59 +09:00
{
/* 0000 */ uint32_t catalogId;
/* 0000 */ uint32_t requestId;
2020-11-11 02:07:59 +09:00
};
struct FFXIVIpcConfig : FFXIVIpcBasePacket< Config >
2020-11-11 02:07:59 +09:00
{
uint16_t flag;
2020-11-11 02:07:59 +09:00
};
struct FFXIVIpcGetFcProfile : FFXIVIpcBasePacket< GetFcProfile >
2020-11-11 02:07:59 +09:00
{
uint64_t TargetCharacterID;
uint32_t TargetEntityID;
2020-11-11 02:07:59 +09:00
};
struct FFXIVIpcGetBlacklist : FFXIVIpcBasePacket< GetBlacklist >
2020-11-11 02:07:59 +09:00
{
uint8_t NextIndex;
uint8_t RequestKey;
2020-11-11 02:07:59 +09:00
};
/* 60986 */
struct FFXIVIpcInvite : FFXIVIpcBasePacket< Invite >
2020-11-11 02:07:59 +09:00
{
uint8_t AuthType;
char TargetName[32];
2020-11-11 02:07:59 +09:00
};
/* 60988 */
struct FFXIVIpcInviteReply : FFXIVIpcBasePacket< InviteReply >
2020-11-11 02:07:59 +09:00
{
uint64_t InviteCharacterID;
uint8_t AuthType;
uint8_t Answer;
2020-11-11 02:07:59 +09:00
};
struct FFXIVIpcGetCommonlist : FFXIVIpcBasePacket< GetCommonlist >
{
uint64_t CommunityID;
uint16_t NextIndex;
uint8_t ListType;
uint8_t RequestKey;
uint8_t RequestParam;
};
2020-11-11 02:07:59 +09:00
struct FFXIVIpcGetCommonlistDetail : FFXIVIpcBasePacket< GetCommonlistDetail >
2020-11-14 06:15:10 +09:00
{
uint64_t DetailCharacterID;
uint64_t CommunityID;
uint8_t ListType;
2020-11-14 06:15:10 +09:00
};
struct FFXIVIpcFriendlistRemove : FFXIVIpcBasePacket< FriendlistRemove >
{
uint64_t TargetCharacterID;
char TargetCharacterName[32];
};
struct FFXIVIpcSetFriendlistGroup : FFXIVIpcBasePacket< SetFriendlistGroup >
{
uint64_t TargetCharacterID;
uint8_t group;
};
struct FFXIVIpcPcSearch : FFXIVIpcBasePacket< PcSearch >
{
uint64_t ClassID;
uint16_t MinLevel;
uint16_t MaxLevel;
uint64_t GrandCompanyID;
uint64_t Region;
uint64_t OnlineStatus;
uint16_t AreaList[50];
char CharacterName[32];
};
struct FFXIVIpcPcPartyLeave : FFXIVIpcBasePacket< PcPartyLeave >
2021-07-29 02:01:02 +09:00
{
uint32_t Reserve;
2021-07-29 02:01:02 +09:00
};
struct FFXIVIpcPcPartyDisband : FFXIVIpcBasePacket< PcPartyDisband >
{
uint32_t Reserve;
};
struct FFXIVIpcPcPartyKick : FFXIVIpcBasePacket< PcPartyKick >
{
char LeaveCharacterName[32];
};
struct FFXIVIpcPcPartyChangeLeader : FFXIVIpcBasePacket< PcPartyChangeLeader >
{
char NextLeaderCharacterName[32];
};
2018-07-06 19:47:35 +10:00
}