1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-25 14:07:46 +00:00

Merge pull request #610 from NotAdam/develop

fixed eventplay opcodes, fixed director opcodes, reordered ipcs.h correctly
This commit is contained in:
Adam 2020-01-02 15:24:18 +11:00 committed by GitHub
commit 86a2f18f25
3 changed files with 34 additions and 16 deletions

View file

@ -180,13 +180,16 @@ namespace Sapphire::Network::Packets
HuntingLogEntry = 0x01B3, // updated 5.0 HuntingLogEntry = 0x01B3, // updated 5.0
EventPlay = 0x0279, // updated 5.18 EventPlay = 0x0279, // updated 5.18
DirectorPlayScene = 0x01B9, // updated 5.0 EventPlay4 = 0x02F7, // updated 5.18
EventOpenGilShop = 0x01B1, // updated 5.18 EventPlay8 = 0x0119, // updated 5.18
EventPlay16 = 0x01FB, // updated 5.18
EventPlay32 = 0x0364, // updated 5.18
EventPlay64 = 0x00E5, // updated 5.18
EventPlay128 = 0x02BE, // updated 5.18
EventPlay255 = 0x01B1, // updated 5.18
EventStart = 0x0230, // updated 5.18 EventStart = 0x0230, // updated 5.18
EventFinish = 0x01E4, // updated 5.18 EventFinish = 0x01E4, // updated 5.18
EventUnk0 = 0x02F7, // updated 5.18
EventUnk1 = 0x0100, // updated 5.18
UseMooch = 0x0233, // updated 5.18 UseMooch = 0x0233, // updated 5.18
EventLinkshell = 0x1169, EventLinkshell = 0x1169,
@ -205,8 +208,15 @@ namespace Sapphire::Network::Packets
Mount = 0x02F0, // updated 5.18 Mount = 0x02F0, // updated 5.18
DirectorVars = 0x01F5, // updated 5.0 DirectorVars = 0x00E6, // updated 5.18
DirectorPopUp = 0x0200, // updated 5.0 - display dialogue pop-ups in duties and FATEs, for example, Teraflare's countdown SomeDirectorUnk1 = 0x0084, // updated 5.18
SomeDirectorUnk2 = 0x00C1, // updated 5.18
SomeDirectorUnk4 = 0x0100, // updated 5.18
SomeDirectorUnk8 = 0x028A, // updated 5.18
SomeDirectorUnk16 = 0x028C, // updated 5.18
DirectorPopUp = 0x0162, // updated 5.18 - display dialogue pop-ups in duties and FATEs, for example, Teraflare's countdown
DirectorPopUp4 = 0x0214, // updated 5.18
DirectorPopUp8 = 0x00F8, // updated 5.18
CFAvailableContents = 0xF1FD, // updated 4.2 CFAvailableContents = 0xF1FD, // updated 4.2

View file

@ -1421,11 +1421,24 @@ namespace Sapphire::Network::Packets::Server
uint8_t unknown[8]; uint8_t unknown[8];
}; };
template< int ArgCount >
struct FFXIVIpcEventPlayN
{
uint64_t actorId;
uint32_t eventId;
uint16_t scene;
uint16_t padding;
uint32_t sceneFlags;
uint8_t paramCount;
uint8_t padding2[3];
uint32_t params[ArgCount];
};
/** /**
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to play an event * to play an event
*/ */
struct FFXIVIpcDirectorPlayScene : FFXIVIpcBasePacket< DirectorPlayScene > struct FFXIVIpcDirectorPlayScene : FFXIVIpcBasePacket< EventPlay32 >
{ {
uint64_t actorId; uint64_t actorId;
uint32_t eventId; uint32_t eventId;
@ -1454,15 +1467,10 @@ namespace Sapphire::Network::Packets::Server
/* 000C */ uint32_t padding1; /* 000C */ uint32_t padding1;
}; };
struct FFXIVIpcEventOpenGilShop : FFXIVIpcBasePacket< EventOpenGilShop > struct FFXIVIpcEventPlay255 :
FFXIVIpcBasePacket< EventPlay255 >,
FFXIVIpcEventPlayN< 255 >
{ {
uint64_t actorId;
uint32_t eventId;
uint16_t scene;
uint16_t padding;
uint32_t sceneFlags;
uint32_t unknown_wtf[0x101];
}; };

View file

@ -141,7 +141,7 @@ void Sapphire::Entity::Player::playGilShop( uint32_t eventId, uint32_t flags,
pEvent->setEventReturnCallback( eventCallback ); pEvent->setEventReturnCallback( eventCallback );
pEvent->setSceneChainCallback( nullptr ); pEvent->setSceneChainCallback( nullptr );
auto openGilShopPacket = makeZonePacket< Server::FFXIVIpcEventOpenGilShop >( getId() ); auto openGilShopPacket = makeZonePacket< Server::FFXIVIpcEventPlay255 >( getId() );
openGilShopPacket->data().eventId = eventId; openGilShopPacket->data().eventId = eventId;
openGilShopPacket->data().sceneFlags = flags; openGilShopPacket->data().sceneFlags = flags;
openGilShopPacket->data().actorId = getId(); openGilShopPacket->data().actorId = getId();