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; }