1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-29 07:37:45 +00:00

manually merge in some exd changes and some 4.5 opcodes

This commit is contained in:
NotAdam 2019-01-08 18:08:51 +11:00
parent d2135592d0
commit 47d18182c0
3 changed files with 33 additions and 41 deletions

View file

@ -1034,14 +1034,14 @@ Sapphire::Data::ClassJob::ClassJob( uint32_t row_id, Sapphire::Data::ExdDataGene
classJobParent = exdData->getField< uint8_t >( row, 26 ); classJobParent = exdData->getField< uint8_t >( row, 26 );
nameEnglish = exdData->getField< std::string >( row, 27 ); nameEnglish = exdData->getField< std::string >( row, 27 );
itemStartingWeapon = exdData->getField< int32_t >( row, 28 ); itemStartingWeapon = exdData->getField< int32_t >( row, 28 );
limitBreak1 = exdData->getField< uint16_t >( row, 33 ); limitBreak1 = exdData->getField< uint16_t >( row, 34 );
limitBreak2 = exdData->getField< uint16_t >( row, 34 ); limitBreak2 = exdData->getField< uint16_t >( row, 35 );
limitBreak3 = exdData->getField< uint16_t >( row, 35 ); limitBreak3 = exdData->getField< uint16_t >( row, 36 );
itemSoulCrystal = exdData->getField< uint32_t >( row, 37 ); itemSoulCrystal = exdData->getField< uint32_t >( row, 38 );
unlockQuest = exdData->getField< uint32_t >( row, 38 ); unlockQuest = exdData->getField< uint32_t >( row, 39 );
relicQuest = exdData->getField< uint32_t >( row, 39 ); relicQuest = exdData->getField< uint32_t >( row, 40 );
prerequisite = exdData->getField< uint32_t >( row, 40 ); prerequisite = exdData->getField< uint32_t >( row, 41 );
startingLevel = exdData->getField< uint8_t >( row, 41 ); startingLevel = exdData->getField< uint8_t >( row, 42 );
} }
Sapphire::Data::ClassJobCategory::ClassJobCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) 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 ); allowReplacement = exdData->getField< bool >( row, 20 );
highEndDuty = exdData->getField< bool >( row, 26 ); highEndDuty = exdData->getField< bool >( row, 26 );
dutyRecorderAllowed = exdData->getField< bool >( row, 30 ); dutyRecorderAllowed = exdData->getField< bool >( row, 30 );
name = exdData->getField< std::string >( row, 32 ); name = exdData->getField< std::string >( row, 34 );
contentType = exdData->getField< uint8_t >( row, 33 ); contentType = exdData->getField< uint8_t >( row, 35 );
transient = exdData->getField< uint8_t >( row, 34 ); transient = exdData->getField< uint8_t >( row, 36 );
image = exdData->getField< uint32_t >( row, 37 ); image = exdData->getField< uint32_t >( row, 39 );
} }
Sapphire::Data::ContentFinderConditionTransient::ContentFinderConditionTransient( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) 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 ); instanceClearExp = exdData->getField< uint32_t >( row, 46 );
instanceContentBuff = exdData->getField< int32_t >( row, 51 ); instanceContentBuff = exdData->getField< int32_t >( row, 51 );
reqInstance = exdData->getField< uint32_t >( row, 52 ); 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 ) 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 ); materiaSlotCount = exdData->getField< uint8_t >( row, 84 );
isAdvancedMeldingPermitted = exdData->getField< bool >( row, 85 ); isAdvancedMeldingPermitted = exdData->getField< bool >( row, 85 );
isPvP = exdData->getField< bool >( row, 86 ); 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 ) 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 ); name = exdData->getField< std::string >( row, 3 );
textDataStart = exdData->getField< uint32_t >( row, 4 ); textDataStart = exdData->getField< uint32_t >( row, 4 );
textDataEnd = exdData->getField< uint32_t >( row, 5 ); textDataEnd = exdData->getField< uint32_t >( row, 5 );
contentFinderCondition = exdData->getField< uint16_t >( row, 7 ); contentFinderCondition = exdData->getField< uint16_t >( row, 8 );
additionalData = 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 ) Sapphire::Data::PublicContentCutscene::PublicContentCutscene( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )

View file

@ -60,8 +60,8 @@ namespace Sapphire::Network::Packets
/////////////////////////////////////////////////// ///////////////////////////////////////////////////
ChatBanned = 0x006B, ChatBanned = 0x006B,
Playtime = 0x006C, // updated 4.4 Playtime = 0x006C, // updated 4.5
Logout = 0x0077, // updated 4.4 Logout = 0x0077, // updated 4.5
CFNotify = 0x0078, CFNotify = 0x0078,
CFMemberStatus = 0x0079, CFMemberStatus = 0x0079,
CFDutyInfo = 0x007A, CFDutyInfo = 0x007A,
@ -73,11 +73,11 @@ namespace Sapphire::Network::Packets
SocialRequestResponse = 0x00BB, // updated 4.1 SocialRequestResponse = 0x00BB, // updated 4.1
CancelAllianceForming = 0x00C6, // updated 4.2 CancelAllianceForming = 0x00C6, // updated 4.2
Chat = 0x00F4, // updated 4.4 Chat = 0x00F7, // updated 4.5?
SocialList = 0x00FB, // updated 4.4 SocialList = 0x0103, // updated 4.5
UpdateSearchInfo = 0x00FE, // updated 4.4 UpdateSearchInfo = 0x0106, // updated 4.5
InitSearchInfo = 0x00FF, // updated 4.4 InitSearchInfo = 0x0107, // updated 4.4
ExamineSearchComment = 0x0102, // updated 4.1 ExamineSearchComment = 0x0102, // updated 4.1
ServerNotice = 0x0104, // updated 4.4 ServerNotice = 0x0104, // updated 4.4
@ -117,7 +117,7 @@ namespace Sapphire::Network::Packets
GCAffiliation = 0x015D, // updated 4.4 GCAffiliation = 0x015D, // updated 4.4
PlayerSpawn = 0x016D, // updated 4.4 PlayerSpawn = 0x0175, // updated 4.5
NpcSpawn = 0x016E, // updated 4.4 NpcSpawn = 0x016E, // updated 4.4
ActorMove = 0x0170, // updated 4.4 ActorMove = 0x0170, // updated 4.4
ActorSetPos = 0x0172, // updated 4.4 ActorSetPos = 0x0172, // updated 4.4
@ -133,7 +133,7 @@ namespace Sapphire::Network::Packets
UpdateClassInfo = 0x017B, // updated 4.4 UpdateClassInfo = 0x017B, // updated 4.4
SilentSetClassJob = 0x017C, // updated 4.4 - seems to be the case, not sure if it's actually used for anything 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 PlayerStats = 0x017E, // updated 4.4
ActorOwner = 0x017F, // updated 4.4 ? ActorOwner = 0x017F, // updated 4.4 ?
PlayerStateFlags = 0x0180, // updated 4.4 PlayerStateFlags = 0x0180, // updated 4.4
@ -251,7 +251,7 @@ namespace Sapphire::Network::Packets
SocialReqSendHandler = 0x00AE, // updated 4.1 SocialReqSendHandler = 0x00AE, // updated 4.1
CreateCrossWorldLS = 0x00AF, // updated 4.3 CreateCrossWorldLS = 0x00AF, // updated 4.3
ChatHandler = 0x00D3, // updated 4.3 ChatHandler = 0x00D7, // updated 4.5
SocialListHandler = 0x00DB, // updated 4.3 SocialListHandler = 0x00DB, // updated 4.3
ReqSearchInfoHandler = 0x00E0, // updated 4.3 ReqSearchInfoHandler = 0x00E0, // updated 4.3
@ -290,7 +290,7 @@ namespace Sapphire::Network::Packets
GMCommand1 = 0x0138, // updated 4.4 GMCommand1 = 0x0138, // updated 4.4
GMCommand2 = 0x0139, // 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 UpdatePositionInstance = 0x0183, // updated 4.3
InventoryModifyHandler = 0x0142, // updated 4.4 InventoryModifyHandler = 0x0142, // updated 4.4

View file

@ -21,7 +21,7 @@ Sapphire::Data::ExdDataGenerated g_exdData;
using namespace Sapphire; using namespace Sapphire;
//const std::string datLocation( "/opt/sapphire_3_15_0/bin/sqpack" ); //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() int main()
@ -36,22 +36,14 @@ int main()
return 0; return 0;
} }
auto gld = g_exdData.get< Sapphire::Data::ClassJob >( 1 );
//Logger::info( "getting id list " ); if( gld )
//auto idList = g_exdData.getGilShopIdList();
//Logger::info( "getting id list done" );
//for( auto id : idList )
{ {
auto teri1 = g_exdData.get< Sapphire::Data::GilShopItem >( 262440, 0 ); Logger::info( "got {0}", gld->name );
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 );
} }
else
Logger::warn( "failed to get classjob {}", 1 );
return 0; return 0;
} }