From 43f5894445b40a8f02f5578b3b70dc79ec6aecd7 Mon Sep 17 00:00:00 2001 From: Mordred Date: Sat, 3 Feb 2018 02:04:00 +0100 Subject: [PATCH] updaing field sizes, make sure to run update.sql --- sql/update.sql | 5 +++-- src/common/Network/PacketDef/Zone/ServerZoneDef.h | 3 ++- src/servers/sapphire_api/PlayerMinimal.cpp | 2 +- src/servers/sapphire_zone/Actor/Player.h | 8 ++++---- src/servers/sapphire_zone/Actor/PlayerQuest.cpp | 2 +- 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/sql/update.sql b/sql/update.sql index dee39387..38c3fe04 100644 --- a/sql/update.sql +++ b/sql/update.sql @@ -43,6 +43,7 @@ MODIFY COLUMN UPDATE_DATE DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURR ALTER TABLE charainfo ADD `Orchestrion` binary(38) DEFAULT NULL AFTER `Mounts`; -ALTER TABLE `charainfo` CHANGE `Mounts` `Mounts` BINARY(14) NULL DEFAULT NULL; +ALTER TABLE `charainfo` CHANGE `Mounts` `Mounts` BINARY(15) NULL DEFAULT NULL; ALTER TABLE `charainfo` CHANGE `Orchestrion` `Orchestrion` BINARY(40) NULL DEFAULT NULL; -ALTER TABLE `charainfo` CHANGE `Minions` `Minions` BINARY(35) NULL DEFAULT NULL; +ALTER TABLE `charainfo` CHANGE `Minions` `Minions` BINARY(37) NULL DEFAULT NULL; +ALTER TABLE `charainfo` CHANGE `QuestCompleteFlags` `QuestCompleteFlags` VARBINARY(396) NULL DEFAULT NULL; diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index d47e795f..37578406 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -1086,7 +1086,8 @@ struct FFXIVIpcQuestUpdate : FFXIVIpcBasePacket */ struct FFXIVIpcQuestCompleteList : FFXIVIpcBasePacket { - /* 0000 */ uint8_t questCompleteMask[200]; + uint8_t questCompleteMask[396]; + uint8_t unknownCompleteMask[32]; }; /** diff --git a/src/servers/sapphire_api/PlayerMinimal.cpp b/src/servers/sapphire_api/PlayerMinimal.cpp index 15deb2d4..6033b0b5 100644 --- a/src/servers/sapphire_api/PlayerMinimal.cpp +++ b/src/servers/sapphire_api/PlayerMinimal.cpp @@ -151,7 +151,7 @@ namespace Core { std::vector< uint8_t > howTo( 32 ); std::vector< uint8_t > aetherytes( 12 ); std::vector< uint8_t > discovery( 411 ); - std::vector< uint8_t > questComplete( 200 ); + std::vector< uint8_t > questComplete( 396 ); std::vector< uint8_t > unlocks( 64 ); std::vector< uint8_t > mountGuide( 13 ); std::vector< uint8_t > orchestrion( 38 ); diff --git a/src/servers/sapphire_zone/Actor/Player.h b/src/servers/sapphire_zone/Actor/Player.h index 3bb6f9e5..8cfe770a 100644 --- a/src/servers/sapphire_zone/Actor/Player.h +++ b/src/servers/sapphire_zone/Actor/Player.h @@ -600,13 +600,13 @@ private: uint16_t m_activeTitle; uint8_t m_titleList[48]; uint8_t m_howTo[33]; - uint8_t m_minions[35]; - uint8_t m_mountGuide[14]; + uint8_t m_minions[37]; + uint8_t m_mountGuide[15]; uint8_t m_homePoint; uint8_t m_startTown; uint16_t m_townWarpFstFlags; - uint8_t m_questCompleteFlags[200]; - uint8_t m_discovery[420]; + uint8_t m_questCompleteFlags[396]; + uint8_t m_discovery[421]; uint32_t m_playTime; uint16_t m_classArray[25]; diff --git a/src/servers/sapphire_zone/Actor/PlayerQuest.cpp b/src/servers/sapphire_zone/Actor/PlayerQuest.cpp index ae3ed0b8..2b1c642d 100644 --- a/src/servers/sapphire_zone/Actor/PlayerQuest.cpp +++ b/src/servers/sapphire_zone/Actor/PlayerQuest.cpp @@ -979,7 +979,7 @@ void Core::Entity::Player::sendQuestInfo() queuePacket( pe_qa ); ZoneChannelPacket< FFXIVIpcQuestCompleteList > pe_qc( getId() ); - memcpy( pe_qc.data().questCompleteMask, m_questCompleteFlags, 200 ); + memcpy( pe_qc.data().questCompleteMask, m_questCompleteFlags, sizeof( m_questCompleteFlags ) ); queuePacket( pe_qc ); sendQuestTracker();