From 47d18182c0427cda9309235b4e73cbafc2b85ce5 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Tue, 8 Jan 2019 18:08:51 +1100 Subject: [PATCH 1/6] manually merge in some exd changes and some 4.5 opcodes --- src/common/Exd/ExdDataGenerated.cpp | 32 ++++++++++++++--------------- src/common/Network/PacketDef/Ipcs.h | 20 +++++++++--------- src/tools/exd_struct_test/main.cpp | 22 +++++++------------- 3 files changed, 33 insertions(+), 41 deletions(-) diff --git a/src/common/Exd/ExdDataGenerated.cpp b/src/common/Exd/ExdDataGenerated.cpp index a20ba512..2b78bd94 100644 --- a/src/common/Exd/ExdDataGenerated.cpp +++ b/src/common/Exd/ExdDataGenerated.cpp @@ -1034,14 +1034,14 @@ Sapphire::Data::ClassJob::ClassJob( uint32_t row_id, Sapphire::Data::ExdDataGene classJobParent = exdData->getField< uint8_t >( row, 26 ); nameEnglish = exdData->getField< std::string >( row, 27 ); itemStartingWeapon = exdData->getField< int32_t >( row, 28 ); - limitBreak1 = exdData->getField< uint16_t >( row, 33 ); - limitBreak2 = exdData->getField< uint16_t >( row, 34 ); - limitBreak3 = exdData->getField< uint16_t >( row, 35 ); - itemSoulCrystal = exdData->getField< uint32_t >( row, 37 ); - unlockQuest = exdData->getField< uint32_t >( row, 38 ); - relicQuest = exdData->getField< uint32_t >( row, 39 ); - prerequisite = exdData->getField< uint32_t >( row, 40 ); - startingLevel = exdData->getField< uint8_t >( row, 41 ); + limitBreak1 = exdData->getField< uint16_t >( row, 34 ); + limitBreak2 = exdData->getField< uint16_t >( row, 35 ); + limitBreak3 = exdData->getField< uint16_t >( row, 36 ); + itemSoulCrystal = exdData->getField< uint32_t >( row, 38 ); + unlockQuest = exdData->getField< uint32_t >( row, 39 ); + relicQuest = exdData->getField< uint32_t >( row, 40 ); + prerequisite = exdData->getField< uint32_t >( row, 41 ); + startingLevel = exdData->getField< uint8_t >( row, 42 ); } Sapphire::Data::ClassJobCategory::ClassJobCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -1273,10 +1273,10 @@ Sapphire::Data::ContentFinderCondition::ContentFinderCondition( uint32_t row_id, allowReplacement = exdData->getField< bool >( row, 20 ); highEndDuty = exdData->getField< bool >( row, 26 ); dutyRecorderAllowed = exdData->getField< bool >( row, 30 ); - name = exdData->getField< std::string >( row, 32 ); - contentType = exdData->getField< uint8_t >( row, 33 ); - transient = exdData->getField< uint8_t >( row, 34 ); - image = exdData->getField< uint32_t >( row, 37 ); + name = exdData->getField< std::string >( row, 34 ); + contentType = exdData->getField< uint8_t >( row, 35 ); + transient = exdData->getField< uint8_t >( row, 36 ); + image = exdData->getField< uint32_t >( row, 39 ); } Sapphire::Data::ContentFinderConditionTransient::ContentFinderConditionTransient( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -3164,7 +3164,7 @@ Sapphire::Data::InstanceContent::InstanceContent( uint32_t row_id, Sapphire::Dat instanceClearExp = exdData->getField< uint32_t >( row, 46 ); instanceContentBuff = exdData->getField< int32_t >( row, 51 ); reqInstance = exdData->getField< uint32_t >( row, 52 ); - partyCondition = exdData->getField< uint8_t >( row, 55 ); + partyCondition = exdData->getField< uint8_t >( row, 54 ); } Sapphire::Data::InstanceContentBuff::InstanceContentBuff( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -3240,7 +3240,7 @@ Sapphire::Data::Item::Item( uint32_t row_id, Sapphire::Data::ExdDataGenerated* e materiaSlotCount = exdData->getField< uint8_t >( row, 84 ); isAdvancedMeldingPermitted = exdData->getField< bool >( row, 85 ); isPvP = exdData->getField< bool >( row, 86 ); - isGlamourous = exdData->getField< bool >( row, 87 ); + isGlamourous = exdData->getField< bool >( row, 88 ); } Sapphire::Data::ItemAction::ItemAction( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -4065,8 +4065,8 @@ Sapphire::Data::PublicContent::PublicContent( uint32_t row_id, Sapphire::Data::E name = exdData->getField< std::string >( row, 3 ); textDataStart = exdData->getField< uint32_t >( row, 4 ); textDataEnd = exdData->getField< uint32_t >( row, 5 ); - contentFinderCondition = exdData->getField< uint16_t >( row, 7 ); - additionalData = exdData->getField< uint16_t >( row, 8 ); + contentFinderCondition = exdData->getField< uint16_t >( row, 8 ); + additionalData = exdData->getField< uint16_t >( row, 9 ); } Sapphire::Data::PublicContentCutscene::PublicContentCutscene( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index bca4b286..6fd20d74 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -60,8 +60,8 @@ namespace Sapphire::Network::Packets /////////////////////////////////////////////////// ChatBanned = 0x006B, - Playtime = 0x006C, // updated 4.4 - Logout = 0x0077, // updated 4.4 + Playtime = 0x006C, // updated 4.5 + Logout = 0x0077, // updated 4.5 CFNotify = 0x0078, CFMemberStatus = 0x0079, CFDutyInfo = 0x007A, @@ -73,11 +73,11 @@ namespace Sapphire::Network::Packets SocialRequestResponse = 0x00BB, // updated 4.1 CancelAllianceForming = 0x00C6, // updated 4.2 - Chat = 0x00F4, // updated 4.4 - SocialList = 0x00FB, // updated 4.4 + Chat = 0x00F7, // updated 4.5? + SocialList = 0x0103, // updated 4.5 - UpdateSearchInfo = 0x00FE, // updated 4.4 - InitSearchInfo = 0x00FF, // updated 4.4 + UpdateSearchInfo = 0x0106, // updated 4.5 + InitSearchInfo = 0x0107, // updated 4.4 ExamineSearchComment = 0x0102, // updated 4.1 ServerNotice = 0x0104, // updated 4.4 @@ -117,7 +117,7 @@ namespace Sapphire::Network::Packets GCAffiliation = 0x015D, // updated 4.4 - PlayerSpawn = 0x016D, // updated 4.4 + PlayerSpawn = 0x0175, // updated 4.5 NpcSpawn = 0x016E, // updated 4.4 ActorMove = 0x0170, // updated 4.4 ActorSetPos = 0x0172, // updated 4.4 @@ -133,7 +133,7 @@ namespace Sapphire::Network::Packets UpdateClassInfo = 0x017B, // updated 4.4 SilentSetClassJob = 0x017C, // updated 4.4 - seems to be the case, not sure if it's actually used for anything - InitUI = 0x017D, // updated 4.4 + InitUI = 0x0185, // updated 4.5 PlayerStats = 0x017E, // updated 4.4 ActorOwner = 0x017F, // updated 4.4 ? PlayerStateFlags = 0x0180, // updated 4.4 @@ -251,7 +251,7 @@ namespace Sapphire::Network::Packets SocialReqSendHandler = 0x00AE, // updated 4.1 CreateCrossWorldLS = 0x00AF, // updated 4.3 - ChatHandler = 0x00D3, // updated 4.3 + ChatHandler = 0x00D7, // updated 4.5 SocialListHandler = 0x00DB, // updated 4.3 ReqSearchInfoHandler = 0x00E0, // updated 4.3 @@ -290,7 +290,7 @@ namespace Sapphire::Network::Packets GMCommand1 = 0x0138, // updated 4.4 GMCommand2 = 0x0139, // updated 4.4 - UpdatePositionHandler = 0x013B, // updated 4.4 was 144 + UpdatePositionHandler = 0x013F, // updated 4.5 UpdatePositionInstance = 0x0183, // updated 4.3 InventoryModifyHandler = 0x0142, // updated 4.4 diff --git a/src/tools/exd_struct_test/main.cpp b/src/tools/exd_struct_test/main.cpp index 3c74893f..21c07566 100644 --- a/src/tools/exd_struct_test/main.cpp +++ b/src/tools/exd_struct_test/main.cpp @@ -21,7 +21,7 @@ Sapphire::Data::ExdDataGenerated g_exdData; using namespace Sapphire; //const std::string datLocation( "/opt/sapphire_3_15_0/bin/sqpack" ); -const std::string datLocation( "C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack" ); +const std::string datLocation( "/mnt/c/Program Files (x86)/Steam/steamapps/common/FINAL FANTASY XIV Online/game/sqpack" ); int main() @@ -36,22 +36,14 @@ int main() return 0; } - - //Logger::info( "getting id list " ); - //auto idList = g_exdData.getGilShopIdList(); - - //Logger::info( "getting id list done" ); - //for( auto id : idList ) + auto gld = g_exdData.get< Sapphire::Data::ClassJob >( 1 ); + if( gld ) { - auto teri1 = g_exdData.get< Sapphire::Data::GilShopItem >( 262440, 0 ); - Logger::info( "0 -> {0}", teri1->item ); - - auto teri2 = g_exdData.get< Sapphire::Data::GilShopItem >( 262440, 1 ); - Logger::info( "1 -> {0} ", teri2->item ); - - auto teri3 = g_exdData.get< Sapphire::Data::GilShopItem >( 262440, 2 ); - Logger::info( "2 -> {0}", teri3->item ); + Logger::info( "got {0}", gld->name ); } + else + Logger::warn( "failed to get classjob {}", 1 ); + return 0; } From b4a972c514d14fc1d803100bae6d62a616972a46 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Tue, 8 Jan 2019 19:36:22 +1100 Subject: [PATCH 2/6] probably working server opcodes for 4.5 --- src/common/Network/PacketDef/Ipcs.h | 182 ++++++++++++++-------------- 1 file changed, 91 insertions(+), 91 deletions(-) diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index 6fd20d74..6a4d84f1 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -80,150 +80,150 @@ namespace Sapphire::Network::Packets InitSearchInfo = 0x0107, // updated 4.4 ExamineSearchComment = 0x0102, // updated 4.1 - ServerNotice = 0x0104, // updated 4.4 - SetOnlineStatus = 0x0105, // updated 4.4 + ServerNotice = 0x010C, // updated 4.5 + SetOnlineStatus = 0x010D, // updated 4.5 - CountdownInitiate = 0x010C, // updated 4.4 - CountdownCancel = 0x010D, // updated 4.4 + CountdownInitiate = 0x0114, // updated 4.5 + CountdownCancel = 0x0115, // updated 4.5 - BlackList = 0x0110, // updated 4.4 + BlackList = 0x0118, // updated 4.5 LogMessage = 0x00D0, - LinkshellList = 0x0117, // updated 4.4 + LinkshellList = 0x011F, // updated 4.5 - MailDeleteRequest = 0x0118, // updated 4.4 - ReqMoogleMailList = 0x0119, // updated 4.4 - ReqMoogleMailLetter = 0x011A, // updated 4.4 - MailLetterNotification = 0x011B, // updated 4.4 + MailDeleteRequest = 0x0120, // updated 4.5 + ReqMoogleMailList = 0x0121, // updated 4.5 + ReqMoogleMailLetter = 0x0122, // updated 4.5 + MailLetterNotification = 0x0123, // updated 4.5 - MarketBoardItemListingCount = 0x011C, // updated 4.4 - MarketBoardItemListing = 0x011D, // updated 4.4 - MarketBoardItemListingHistory = 0x0121, // updated 4.4 - MarketBoardSearchResult = 0x0125, // updated 4.4 + MarketBoardItemListingCount = 0x0125, // updated 4.5 + MarketBoardItemListing = 0x0126, // updated 4.5 + MarketBoardItemListingHistory = 0x012A, // updated 4.5 + MarketBoardSearchResult = 0x0139, // updated 4.5 - CharaFreeCompanyTag = 0x0127, // updated 4.4 - FreeCompanyBoardMsg = 0x0128, // updated 4.4 - FreeCompanyInfo = 0x0129, // updated 4.4 - ExamineFreeCompanyInfo = 0x013A, // updated 4.1 + CharaFreeCompanyTag = 0x013B, // updated 4.5 + FreeCompanyBoardMsg = 0x013C, // updated 4.5 + FreeCompanyInfo = 0x013D, // updated 4.5 + ExamineFreeCompanyInfo = 0x013E, // updated 4.5 - StatusEffectList = 0x0149, // updated 4.4 - Effect = 0x014C, // updated 4.4 - AoeEffect8 = 0x014F, // updated 4.4 - AoeEffect16 = 0x0150, // updated 4.4 - AoeEffect24 = 0x0151, // updated 4.4 - AoeEffect32 = 0x0152, // updated 4.4 - PersistantEffect = 0x0153, // updated 4.4 + StatusEffectList = 0x0151, // updated 4.5 + Effect = 0x0154, // updated 4.5 + AoeEffect8 = 0x0157, // updated 4.5 + AoeEffect16 = 0x0158, // updated 4.5 + AoeEffect24 = 0x0159, // updated 4.5 + AoeEffect32 = 0x015A, // updated 4.5 + PersistantEffect = 0x015B, // updated 4.5 - GCAffiliation = 0x015D, // updated 4.4 + GCAffiliation = 0x0165, // updated 4.5 PlayerSpawn = 0x0175, // updated 4.5 - NpcSpawn = 0x016E, // updated 4.4 - ActorMove = 0x0170, // updated 4.4 - ActorSetPos = 0x0172, // updated 4.4 + NpcSpawn = 0x0176, // updated 4.5 + ActorMove = 0x0178, // updated 4.5 + ActorSetPos = 0x017A, // updated 4.5 - ActorCast = 0x0174, // updated 4.4 + ActorCast = 0x017C, // updated 4.5 - PartyList = 0x0176, // updated 4.4 - HateList = 0x0177, // updated 4.4 + PartyList = 0x017E, // updated 4.5 + HateList = 0x017F, // updated 4.5 - ObjectSpawn = 0x0179, // updated 4.4 - ObjectDespawn = 0x017A, // updated 4.4 + ObjectSpawn = 0x0181, // updated 4.5 + ObjectDespawn = 0x0182, // updated 4.5 - UpdateClassInfo = 0x017B, // updated 4.4 - SilentSetClassJob = 0x017C, // updated 4.4 - seems to be the case, not sure if it's actually used for anything + UpdateClassInfo = 0x0183, // updated 4.5 + SilentSetClassJob = 0x0184, // updated 4.5 - seems to be the case, not sure if it's actually used for anything InitUI = 0x0185, // updated 4.5 - PlayerStats = 0x017E, // updated 4.4 - ActorOwner = 0x017F, // updated 4.4 ? - PlayerStateFlags = 0x0180, // updated 4.4 - PlayerClassInfo = 0x0181, // updated 4.4 - ModelEquip = 0x0182, // updated 4.4 - Examine = 0x0183, // updated 4.4 - CharaNameReq = 0x0185, // updated 4.4 + PlayerStats = 0x0186, // updated 4.5 + ActorOwner = 0x0187, // updated 4.5 + PlayerStateFlags = 0x0188, // updated 4.5 + PlayerClassInfo = 0x0189, // updated 4.5 + ModelEquip = 0x018A, // updated 4.5 + Examine = 0x018B, // updated 4.5 + CharaNameReq = 0x018D, // updated 4.5 SetLevelSync = 0x0186, // not updated for 4.4, not sure what it is anymore - ItemInfo = 0x018C, // updated 4.4 - ContainerInfo = 0x018D, // updated 4.4 - InventoryTransactionFinish = 0x018E, // updated 4.4 - InventoryTransaction = 0x018F, // updated 4.4 - CurrencyCrystalInfo = 0x0190, // updated 4.4 - InventoryActionAck = 0x0193, // updated 4.4 - UpdateInventorySlot = 0x0194, // updated 4.4 + ItemInfo = 0x0196, // updated 4.5 + ContainerInfo = 0x0197, // updated 4.5 + InventoryTransactionFinish = 0x0198, // updated 4.5 + InventoryTransaction = 0x0199, // updated 4.5 + CurrencyCrystalInfo = 0x019B, // updated 4.5 + InventoryActionAck = 0x019D, // updated 4.5 + UpdateInventorySlot = 0x019E, // updated 4.5 - EventPlay = 0x01A2, // updated 4.4 - EventOpenGilShop = 0x01A9, // updated 4.4 - DirectorPlayScene = 0x01A6, // updated 4.4 + EventPlay = 0x01AB, // updated 4.5 + DirectorPlayScene = 0x01AF, // updated 4.5 + EventOpenGilShop = 0x01B2, // updated 4.5 - EventStart = 0x01AB, // updated 4.4 - EventFinish = 0x01AC, // updated 4.4 + EventStart = 0x01B4, // updated 4.5 + EventFinish = 0x01B5, // updated 4.5 EventLinkshell = 0x1169, - QuestActiveList = 0x01BF, // updated 4.4 - QuestUpdate = 0x01C0, // updated 4.4 - QuestCompleteList = 0x01C1, // updated 4.4 + QuestActiveList = 0x01C8, // updated 4.5 + QuestUpdate = 0x01C9, // updated 4.5 + QuestCompleteList = 0x01CA, // updated 4.5 - QuestFinish = 0x01C2, // updated 4.4 - MSQTrackerComplete = 0x01C3, // updated 4.4 - MSQTrackerProgress = 0x01C4, // updated 4.4 + QuestFinish = 0x01CB, // updated 4.5 + MSQTrackerComplete = 0x01CC, // updated 4.5 + MSQTrackerProgress = 0x01CD, // updated 4.5 ? this actually looks like the two opcodes have been combined, see #474 - QuestMessage = 0x01CA, // updated 4.4 + QuestMessage = 0x01D3, // updated 4.5 - QuestTracker = 0x01CF, // updated 4.4 + QuestTracker = 0x01D8, // updated 4.5 - Mount = 0x01DF, // updated 4.4 + Mount = 0x01E8, // updated 4.5 - DirectorVars = 0x01E1, // updated 4.4 + DirectorVars = 0x01EA, // updated 4.5 CFAvailableContents = 0xF1FD, // updated 4.2 - WeatherChange = 0x01FC, // updated 4.4 - PlayerTitleList = 0x01FD, // updated 4.4 - Discovery = 0x01FE, // updated 4.4 + WeatherChange = 0x0205, // updated 4.5 + PlayerTitleList = 0x0206, // updated 4.5? + Discovery = 0x0207, // updated 4.5? - EorzeaTimeOffset = 0x0200, // updated 4.4 + EorzeaTimeOffset = 0x0209, // updated 4.5 - EquipDisplayFlags = 0x020C, // updated 4.4 + EquipDisplayFlags = 0x0215, // updated 4.5 /// Housing ////////////////////////////////////// - LandSetInitialize = 0x0220, // updated 4.4 - LandUpdate = 0x0221, // updated 4.4 - YardObjectSpawn = 0x0222, // updated 4.4 - HousingIndoorInitialize = 0x0223, - LandPriceUpdate = 0x0224, // updated 4.4 - LandInfoSign = 0x0225, // updated 4.4 - LandRename = 0x0226, // updated 4.4 - HousingEstateGreeting = 0x0227, // updated 4.4 - HousingUpdateLandFlagsSlot = 0x0228, // updated 4.4 - HousingLandFlags = 0x0229, // updated 4.4 - HousingShowEstateGuestAccess = 0x022A, // updated 4.4 + LandSetInitialize = 0x0229, // updated 4.5 + LandUpdate = 0x022A, // updated 4.5 + YardObjectSpawn = 0x022B, // updated 4.5 + HousingIndoorInitialize = 0x022C, // updated 4.5 + LandPriceUpdate = 0x022D, // updated 4.5 + LandInfoSign = 0x022E, // updated 4.5 + LandRename = 0x022F, // updated 4.5 + HousingEstateGreeting = 0x0230, // updated 4.5 + HousingUpdateLandFlagsSlot = 0x0231, // updated 4.5 + HousingLandFlags = 0x0232, // updated 4.5 + HousingShowEstateGuestAccess = 0x0233, // updated 4.5 - HousingObjectInitialize = 0x022C, // updated 4.4 - HousingInternalObjectSpawn = 0x22D, // updated 4.4 + HousingObjectInitialize = 0x0235, // updated 4.45 + HousingInternalObjectSpawn = 0x236, // updated 4.5 - HousingWardInfo = 0x022F, // updated 4.4 - HousingObjectMove = 0x0230, // updated 4.4 + HousingWardInfo = 0x0238, // updated 4.5 + HousingObjectMove = 0x0239, // updated 4.5 - SharedEstateSettingsResponse = 0x023C, // updated 4.4 + SharedEstateSettingsResponse = 0x0245, // updated 4.5 - LandUpdateHouseName = 0x024D, // updated 4.4 + LandUpdateHouseName = 0x0257, // updated 4.5 - LandSetMap = 0x0251, // updated 4.4 + LandSetMap = 0x025B, // updated 4.5 ////////////////////////////////////////////////// DuelChallenge = 0x0277, // 4.2; this is responsible for opening the ui PerformNote = 0x0286, // updated 4.3 - PrepareZoning = 0x028F, // updated 4.4 + PrepareZoning = 0x0299, // updated 4.5 ActorGauge = 0x0292, // updated 4.3 // Unknown IPC types that still need to be sent // TODO: figure all these out properly - IPCTYPE_UNK_320 = 0x0249, // updated 4.4 - IPCTYPE_UNK_322 = 0x024B, // updated 4.4 + IPCTYPE_UNK_320 = 0x0253, // updated 4.5 + IPCTYPE_UNK_322 = 0x0255, // updated 4.5 }; From 32d55eff725876dfa2602834d2ae3d541729d49f Mon Sep 17 00:00:00 2001 From: NotAdam Date: Tue, 8 Jan 2019 20:36:31 +1100 Subject: [PATCH 3/6] attempt at fixing client opcodes --- src/common/Network/PacketDef/Ipcs.h | 44 ++++++++++++++--------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index 6a4d84f1..5bf703bd 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -166,7 +166,7 @@ namespace Sapphire::Network::Packets QuestFinish = 0x01CB, // updated 4.5 MSQTrackerComplete = 0x01CC, // updated 4.5 - MSQTrackerProgress = 0x01CD, // updated 4.5 ? this actually looks like the two opcodes have been combined, see #474 + MSQTrackerProgress = 0xF1CD, // updated 4.5 ? this actually looks like the two opcodes have been combined, see #474 QuestMessage = 0x01D3, // updated 4.5 @@ -253,22 +253,22 @@ namespace Sapphire::Network::Packets ChatHandler = 0x00D7, // updated 4.5 - SocialListHandler = 0x00DB, // updated 4.3 - ReqSearchInfoHandler = 0x00E0, // updated 4.3 - ReqExamineSearchCommentHandler = 0x00E1, // updated 4.1 + SocialListHandler = 0x00DF, // updated 4.3 + ReqSearchInfoHandler = 0x00E4, // updated 4.3 + ReqExamineSearchCommentHandler = 0x00E5, // updated 4.1 - SetSearchInfoHandler = 0x00DE, // updated 4.3 + SetSearchInfoHandler = 0x00E2, // updated 4.3 - BlackListHandler = 0x00EC, // updated 4.3 - PlayerSearchHandler = 0x00E2, // updated 4.2 + BlackListHandler = 0x00F0, // updated 4.3 + PlayerSearchHandler = 0x00E6, // updated 4.2 - LinkshellListHandler = 0x00F4, // updated 4.3 + LinkshellListHandler = 0x00F8, // updated 4.4 - MarketBoardRequestItemListingInfo = 0x00FE, // updated 4.4 - MarketBoardRequestItemListings = 0x00FF, // updated 4.4 - MarketBoardSearch = 0x0103, // updated 4.4 + MarketBoardRequestItemListingInfo = 0x0102, // updated 4.4 + MarketBoardRequestItemListings = 0x0103, // updated 4.4 + MarketBoardSearch = 0x0107, // updated 4.4 - ReqExamineFcInfo = 0x010F, // updated 4.1 + ReqExamineFcInfo = 0x0113, // updated 4.1 FcInfoReqHandler = 0x011A, // updated 4.2 @@ -276,19 +276,19 @@ namespace Sapphire::Network::Packets ReqJoinNoviceNetwork = 0x0129, // updated 4.2 - ReqCountdownInitiate = 0x012F, // updated 4.4 - ReqCountdownCancel = 0x0130, // updated 4.4 - ClearWaymarks = 0x0131, // updated 4.4 + ReqCountdownInitiate = 0x0133, // updated 4.4 + ReqCountdownCancel = 0x0134, // updated 4.4 + ClearWaymarks = 0x0135, // updated 4.4 - ZoneLineHandler = 0x0133, // updated 4.4 - ClientTrigger = 0x0134, // updated 4.4 was 13D in 4.3 - DiscoveryHandler = 0x0135, // updated 4.4 + ZoneLineHandler = 0x0137, // updated 4.4 + ClientTrigger = 0x0138, // updated 4.4 was 13D in 4.3 + DiscoveryHandler = 0x0139, // updated 4.4 - AddWaymark = 0x013F, // updated 4.3 + AddWaymark = 0x0143, // updated 4.3 - SkillHandler = 0x0137, // updated 4.4 - GMCommand1 = 0x0138, // updated 4.4 - GMCommand2 = 0x0139, // updated 4.4 + SkillHandler = 0x013B, // updated 4.4 + GMCommand1 = 0x013B, // updated 4.4 + GMCommand2 = 0x013C, // updated 4.4 UpdatePositionHandler = 0x013F, // updated 4.5 UpdatePositionInstance = 0x0183, // updated 4.3 From 9f146f1bde787bb384cb5b380699716ead8220aa Mon Sep 17 00:00:00 2001 From: NotAdam Date: Tue, 8 Jan 2019 21:49:31 +1100 Subject: [PATCH 4/6] fix initzone packet size/structure --- src/common/Network/PacketDef/Zone/ServerZoneDef.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index e1f3980e..d3900e27 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -759,7 +759,9 @@ struct FFXIVIpcInitZone : FFXIVIpcBasePacket< InitZone > uint32_t unknown9; uint32_t unknown10; uint32_t unknown11; + uint32_t unknown12[4]; Common::FFXIVARR_POSITION3 pos; + uint32_t unknown13; }; From 76ea5d8a270910e36ee01c555dbe8f429330cc9a Mon Sep 17 00:00:00 2001 From: NotAdam Date: Tue, 8 Jan 2019 22:37:29 +1100 Subject: [PATCH 5/6] fix spawnpoint schema causing inserts to fail --- sql/schema/schema.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/schema/schema.sql b/sql/schema/schema.sql index 18208d6e..26be0e43 100644 --- a/sql/schema/schema.sql +++ b/sql/schema/schema.sql @@ -34,7 +34,7 @@ CREATE TABLE `spawnpoint` ( `y` float NOT NULL, `z` float NOT NULL, `r` float NOT NULL, - `gimmickId` int(11) NOT NULL, + `gimmickId` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `spawngroupidx` (`spawnGroupId`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; From bddea6418929518281922e123a592dd54a277e5f Mon Sep 17 00:00:00 2001 From: NotAdam Date: Tue, 8 Jan 2019 22:50:16 +1100 Subject: [PATCH 6/6] update client opcode update comments --- src/common/Network/PacketDef/Ipcs.h | 36 ++++++++++++++--------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index 5bf703bd..472f565d 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -253,20 +253,20 @@ namespace Sapphire::Network::Packets ChatHandler = 0x00D7, // updated 4.5 - SocialListHandler = 0x00DF, // updated 4.3 - ReqSearchInfoHandler = 0x00E4, // updated 4.3 - ReqExamineSearchCommentHandler = 0x00E5, // updated 4.1 + SocialListHandler = 0x00DF, // updated 4.5 + ReqSearchInfoHandler = 0x00E4, // updated 4.5 + ReqExamineSearchCommentHandler = 0x00E5, // updated 4.5 SetSearchInfoHandler = 0x00E2, // updated 4.3 - BlackListHandler = 0x00F0, // updated 4.3 - PlayerSearchHandler = 0x00E6, // updated 4.2 + BlackListHandler = 0x00F0, // updated 4.5 + PlayerSearchHandler = 0x00E6, // updated 4.5 - LinkshellListHandler = 0x00F8, // updated 4.4 + LinkshellListHandler = 0x00F8, // updated 4.5 - MarketBoardRequestItemListingInfo = 0x0102, // updated 4.4 - MarketBoardRequestItemListings = 0x0103, // updated 4.4 - MarketBoardSearch = 0x0107, // updated 4.4 + MarketBoardRequestItemListingInfo = 0x0102, // updated 4.5 + MarketBoardRequestItemListings = 0x0103, // updated 4.5 + MarketBoardSearch = 0x0107, // updated 4.5 ReqExamineFcInfo = 0x0113, // updated 4.1 @@ -276,19 +276,19 @@ namespace Sapphire::Network::Packets ReqJoinNoviceNetwork = 0x0129, // updated 4.2 - ReqCountdownInitiate = 0x0133, // updated 4.4 - ReqCountdownCancel = 0x0134, // updated 4.4 - ClearWaymarks = 0x0135, // updated 4.4 + ReqCountdownInitiate = 0x0133, // updated 4.5 + ReqCountdownCancel = 0x0134, // updated 4.5 + ClearWaymarks = 0x0135, // updated 4.5 - ZoneLineHandler = 0x0137, // updated 4.4 - ClientTrigger = 0x0138, // updated 4.4 was 13D in 4.3 - DiscoveryHandler = 0x0139, // updated 4.4 + ZoneLineHandler = 0x0137, // updated 4.5 + ClientTrigger = 0x0138, // updated 4.5 + DiscoveryHandler = 0x0139, // updated 4.5 AddWaymark = 0x0143, // updated 4.3 - SkillHandler = 0x013B, // updated 4.4 - GMCommand1 = 0x013B, // updated 4.4 - GMCommand2 = 0x013C, // updated 4.4 + SkillHandler = 0x013B, // updated 4.5 + GMCommand1 = 0x013B, // updated 4.5 + GMCommand2 = 0x013C, // updated 4.5 UpdatePositionHandler = 0x013F, // updated 4.5 UpdatePositionInstance = 0x0183, // updated 4.3