diff --git a/src/common/Exd/ExdDataGenerated.cpp b/src/common/Exd/ExdDataGenerated.cpp index a04c621e..67a01ec8 100644 --- a/src/common/Exd/ExdDataGenerated.cpp +++ b/src/common/Exd/ExdDataGenerated.cpp @@ -22,6 +22,7 @@ Sapphire::Data::Achievement::Achievement( uint32_t row_id, Sapphire::Data::ExdDa data.push_back( exdData->getField< int32_t >( row, 16 ) ); data.push_back( exdData->getField< int32_t >( row, 17 ) ); order = exdData->getField< uint16_t >( row, 18 ); + padding = exdData->getField< uint8_t >( row, 19 ); achievementHideCondition = exdData->getField< uint8_t >( row, 20 ); } @@ -30,6 +31,7 @@ Sapphire::Data::AchievementCategory::AchievementCategory( uint32_t row_id, Sapph auto row = exdData->m_AchievementCategoryDat.get_row( row_id ); name = exdData->getField< std::string >( row, 0 ); achievementKind = exdData->getField< uint8_t >( row, 1 ); + showComplete = exdData->getField< bool >( row, 2 ); hideCategory = exdData->getField< bool >( row, 3 ); } @@ -143,7 +145,22 @@ Sapphire::Data::ActionProcStatus::ActionProcStatus( uint32_t row_id, Sapphire::D Sapphire::Data::ActionTimeline::ActionTimeline( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_ActionTimelineDat.get_row( row_id ); + type = exdData->getField< uint8_t >( row, 0 ); + priority = exdData->getField< uint8_t >( row, 1 ); + pause = exdData->getField< bool >( row, 2 ); + stance = exdData->getField< uint8_t >( row, 3 ); + slot = exdData->getField< uint8_t >( row, 4 ); + lookAtMode = exdData->getField< uint8_t >( row, 5 ); key = exdData->getField< std::string >( row, 6 ); + actionTimelineIDMode = exdData->getField< uint8_t >( row, 7 ); + weaponTimeline = exdData->getField< uint8_t >( row, 8 ); + loadType = exdData->getField< uint8_t >( row, 9 ); + startAttach = exdData->getField< uint8_t >( row, 10 ); + residentPap = exdData->getField< uint8_t >( row, 11 ); + resident = exdData->getField< bool >( row, 12 ); + killUpper = exdData->getField< uint16_t >( row, 13 ); + isMotionCanceledByMoving = exdData->getField< bool >( row, 14 ); + isLoop = exdData->getField< uint8_t >( row, 16 ); } Sapphire::Data::ActionTimelineMove::ActionTimelineMove( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -211,6 +228,8 @@ Sapphire::Data::Adventure::Adventure( uint32_t row_id, Sapphire::Data::ExdDataGe { auto row = exdData->m_AdventureDat.get_row( row_id ); level = exdData->getField< int32_t >( row, 0 ); + minLevel = exdData->getField< int32_t >( row, 1 ); + maxLevel = exdData->getField< uint8_t >( row, 2 ); emote = exdData->getField< uint16_t >( row, 3 ); minTime = exdData->getField< uint16_t >( row, 4 ); maxTime = exdData->getField< uint16_t >( row, 5 ); @@ -297,6 +316,7 @@ Sapphire::Data::AetheryteSystemDefine::AetheryteSystemDefine( uint32_t row_id, S { auto row = exdData->m_AetheryteSystemDefineDat.get_row( row_id ); text = exdData->getField< std::string >( row, 0 ); + defineValue = exdData->getField< uint32_t >( row, 1 ); } Sapphire::Data::AirshipExplorationLevel::AirshipExplorationLevel( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -342,6 +362,22 @@ Sapphire::Data::AirshipExplorationPoint::AirshipExplorationPoint( uint32_t row_i expReward = exdData->getField< uint32_t >( row, 13 ); } +Sapphire::Data::AnimationLOD::AnimationLOD( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_AnimationLODDat.get_row( row_id ); + cameraDistance = exdData->getField< float >( row, 0 ); + sampleInterval = exdData->getField< float >( row, 1 ); + boneLOD = exdData->getField< int8_t >( row, 2 ); + animationEnable.push_back( exdData->getField< bool >( row, 3 ) ); + animationEnable.push_back( exdData->getField< bool >( row, 4 ) ); + animationEnable.push_back( exdData->getField< bool >( row, 5 ) ); + animationEnable.push_back( exdData->getField< bool >( row, 6 ) ); + animationEnable.push_back( exdData->getField< bool >( row, 7 ) ); + animationEnable.push_back( exdData->getField< bool >( row, 8 ) ); + animationEnable.push_back( exdData->getField< bool >( row, 9 ) ); + animationEnable.push_back( exdData->getField< bool >( row, 10 ) ); +} + Sapphire::Data::AnimaWeapon5::AnimaWeapon5( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_AnimaWeapon5Dat.get_row( row_id ); @@ -439,6 +475,7 @@ Sapphire::Data::AozAction::AozAction( uint32_t row_id, Sapphire::Data::ExdDataGe Sapphire::Data::AozActionTransient::AozActionTransient( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_AozActionTransientDat.get_row( row_id ); + number = exdData->getField< uint8_t >( row, 0 ); icon = exdData->getField< uint32_t >( row, 1 ); stats = exdData->getField< std::string >( row, 2 ); description = exdData->getField< std::string >( row, 3 ); @@ -509,6 +546,13 @@ Sapphire::Data::AOZContentBriefingBNpc::AOZContentBriefingBNpc( uint32_t row_id, instaDeathResistance = exdData->getField< bool >( row, 24 ); } +Sapphire::Data::AOZReport::AOZReport( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_AOZReportDat.get_row( row_id ); + reward = exdData->getField< uint8_t >( row, 1 ); + order = exdData->getField< int8_t >( row, 2 ); +} + Sapphire::Data::AquariumFish::AquariumFish( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_AquariumFishDat.get_row( row_id ); @@ -556,18 +600,34 @@ Sapphire::Data::BacklightColor::BacklightColor( uint32_t row_id, Sapphire::Data: color = exdData->getField< uint32_t >( row, 0 ); } +Sapphire::Data::Ballista::Ballista( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_BallistaDat.get_row( row_id ); + bNPC = exdData->getField< uint16_t >( row, 0 ); + near = exdData->getField< int8_t >( row, 1 ); + far = exdData->getField< int8_t >( row, 2 ); + angle = exdData->getField< uint16_t >( row, 3 ); + bullet = exdData->getField< uint8_t >( row, 4 ); + action0 = exdData->getField< uint16_t >( row, 7 ); + action1 = exdData->getField< uint16_t >( row, 8 ); + action2 = exdData->getField< uint16_t >( row, 9 ); + action3 = exdData->getField< uint16_t >( row, 10 ); +} + Sapphire::Data::Balloon::Balloon( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_BalloonDat.get_row( row_id ); + slowly = exdData->getField< bool >( row, 0 ); dialogue = exdData->getField< std::string >( row, 1 ); } Sapphire::Data::BaseParam::BaseParam( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_BaseParamDat.get_row( row_id ); - order = exdData->getField< int8_t >( row, 0 ); + packetIndex = exdData->getField< int8_t >( row, 0 ); name = exdData->getField< std::string >( row, 1 ); description = exdData->getField< std::string >( row, 2 ); + orderPriority = exdData->getField< uint8_t >( row, 3 ); oneHWpn = exdData->getField< uint8_t >( row, 4 ); oH = exdData->getField< uint8_t >( row, 5 ); head = exdData->getField< uint8_t >( row, 6 ); @@ -581,17 +641,47 @@ Sapphire::Data::BaseParam::BaseParam( uint32_t row_id, Sapphire::Data::ExdDataGe bracelet = exdData->getField< uint8_t >( row, 14 ); ring = exdData->getField< uint8_t >( row, 15 ); twoHWpn = exdData->getField< uint8_t >( row, 16 ); + underArmor = exdData->getField< uint8_t >( row, 17 ); chestHead = exdData->getField< uint8_t >( row, 18 ); chestHeadLegsFeet = exdData->getField< uint8_t >( row, 19 ); legsFeet = exdData->getField< uint8_t >( row, 21 ); headChestHandsLegsFeet = exdData->getField< uint8_t >( row, 22 ); chestLegsGloves = exdData->getField< uint8_t >( row, 23 ); chestLegsFeet = exdData->getField< uint8_t >( row, 24 ); + meldParam.push_back( exdData->getField< uint8_t >( row, 25 ) ); + meldParam.push_back( exdData->getField< uint8_t >( row, 26 ) ); + meldParam.push_back( exdData->getField< uint8_t >( row, 27 ) ); + meldParam.push_back( exdData->getField< uint8_t >( row, 28 ) ); + meldParam.push_back( exdData->getField< uint8_t >( row, 29 ) ); + meldParam.push_back( exdData->getField< uint8_t >( row, 30 ) ); + meldParam.push_back( exdData->getField< uint8_t >( row, 31 ) ); + meldParam.push_back( exdData->getField< uint8_t >( row, 32 ) ); + meldParam.push_back( exdData->getField< uint8_t >( row, 33 ) ); + meldParam.push_back( exdData->getField< uint8_t >( row, 34 ) ); + meldParam.push_back( exdData->getField< uint8_t >( row, 35 ) ); + meldParam.push_back( exdData->getField< uint8_t >( row, 36 ) ); + meldParam.push_back( exdData->getField< uint8_t >( row, 37 ) ); } Sapphire::Data::BattleLeve::BattleLeve( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_BattleLeveDat.get_row( row_id ); + time.push_back( exdData->getField< uint16_t >( row, 0 ) ); + time.push_back( exdData->getField< uint16_t >( row, 1 ) ); + time.push_back( exdData->getField< uint16_t >( row, 2 ) ); + time.push_back( exdData->getField< uint16_t >( row, 3 ) ); + time.push_back( exdData->getField< uint16_t >( row, 4 ) ); + time.push_back( exdData->getField< uint16_t >( row, 5 ) ); + time.push_back( exdData->getField< uint16_t >( row, 6 ) ); + time.push_back( exdData->getField< uint16_t >( row, 7 ) ); + baseID.push_back( exdData->getField< int32_t >( row, 8 ) ); + baseID.push_back( exdData->getField< int32_t >( row, 9 ) ); + baseID.push_back( exdData->getField< int32_t >( row, 10 ) ); + baseID.push_back( exdData->getField< int32_t >( row, 11 ) ); + baseID.push_back( exdData->getField< int32_t >( row, 12 ) ); + baseID.push_back( exdData->getField< int32_t >( row, 13 ) ); + baseID.push_back( exdData->getField< int32_t >( row, 14 ) ); + baseID.push_back( exdData->getField< int32_t >( row, 15 ) ); enemyLevel.push_back( exdData->getField< uint16_t >( row, 16 ) ); enemyLevel.push_back( exdData->getField< uint16_t >( row, 17 ) ); enemyLevel.push_back( exdData->getField< uint16_t >( row, 18 ) ); @@ -632,6 +722,32 @@ Sapphire::Data::BattleLeve::BattleLeve( uint32_t row_id, Sapphire::Data::ExdData itemDropRate.push_back( exdData->getField< uint8_t >( row, 53 ) ); itemDropRate.push_back( exdData->getField< uint8_t >( row, 54 ) ); itemDropRate.push_back( exdData->getField< uint8_t >( row, 55 ) ); + toDoNumberInvolved.push_back( exdData->getField< uint32_t >( row, 56 ) ); + toDoNumberInvolved.push_back( exdData->getField< uint32_t >( row, 57 ) ); + toDoNumberInvolved.push_back( exdData->getField< uint32_t >( row, 58 ) ); + toDoNumberInvolved.push_back( exdData->getField< uint32_t >( row, 59 ) ); + toDoNumberInvolved.push_back( exdData->getField< uint32_t >( row, 60 ) ); + toDoNumberInvolved.push_back( exdData->getField< uint32_t >( row, 61 ) ); + toDoNumberInvolved.push_back( exdData->getField< uint32_t >( row, 62 ) ); + toDoNumberInvolved.push_back( exdData->getField< uint32_t >( row, 63 ) ); + toDoParam.push_back( exdData->getField< uint32_t >( row, 64 ) ); + toDoParam.push_back( exdData->getField< uint32_t >( row, 65 ) ); + toDoParam.push_back( exdData->getField< uint32_t >( row, 66 ) ); + toDoParam.push_back( exdData->getField< uint32_t >( row, 67 ) ); + toDoParam.push_back( exdData->getField< uint32_t >( row, 68 ) ); + toDoParam.push_back( exdData->getField< uint32_t >( row, 69 ) ); + toDoParam.push_back( exdData->getField< uint32_t >( row, 70 ) ); + toDoParam.push_back( exdData->getField< uint32_t >( row, 71 ) ); + rule = exdData->getField< int32_t >( row, 176 ); + varient = exdData->getField< uint8_t >( row, 177 ); + objective0 = exdData->getField< uint16_t >( row, 178 ); + objective1 = exdData->getField< uint16_t >( row, 179 ); +} + +Sapphire::Data::BattleLeveRule::BattleLeveRule( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_BattleLeveRuleDat.get_row( row_id ); + rule = exdData->getField< std::string >( row, 0 ); } Sapphire::Data::BeastRankBonus::BeastRankBonus( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -673,7 +789,17 @@ Sapphire::Data::BeastTribe::BeastTribe( uint32_t row_id, Sapphire::Data::ExdData Sapphire::Data::Behavior::Behavior( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_BehaviorDat.get_row( row_id, subRow ); - balloon = exdData->getField< uint16_t >( row, 7 ); + balloon = exdData->getField< int32_t >( row, 4 ); +} + +Sapphire::Data::BehaviorPath::BehaviorPath( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_BehaviorPathDat.get_row( row_id ); + isTurnTransition = exdData->getField< bool >( row, 0 ); + isFadeOut = exdData->getField< bool >( row, 1 ); + isFadeIn = exdData->getField< bool >( row, 2 ); + isWalking = exdData->getField< bool >( row, 3 ); + speed = exdData->getField< float >( row, 5 ); } Sapphire::Data::BenchmarkOverrideEquipment::BenchmarkOverrideEquipment( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -709,21 +835,49 @@ Sapphire::Data::BGM::BGM( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exd { auto row = exdData->m_BGMDat.get_row( row_id ); file = exdData->getField< std::string >( row, 0 ); + priority = exdData->getField< uint8_t >( row, 1 ); + disableRestartTimeOut = exdData->getField< bool >( row, 2 ); + disableRestart = exdData->getField< bool >( row, 3 ); + passEnd = exdData->getField< bool >( row, 4 ); + disableRestartResetTime = exdData->getField< float >( row, 5 ); + specialMode = exdData->getField< uint8_t >( row, 6 ); } Sapphire::Data::BGMFade::BGMFade( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_BGMFadeDat.get_row( row_id ); + sceneOut = exdData->getField< int32_t >( row, 0 ); + sceneIn = exdData->getField< int32_t >( row, 1 ); bGMFadeType = exdData->getField< int32_t >( row, 2 ); } +Sapphire::Data::BGMFadeType::BGMFadeType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_BGMFadeTypeDat.get_row( row_id ); + fadeOutTime = exdData->getField< float >( row, 0 ); + fadeInTime = exdData->getField< float >( row, 1 ); + fadeInStartTime = exdData->getField< float >( row, 2 ); + resumeFadeInTime = exdData->getField< float >( row, 3 ); +} + +Sapphire::Data::BGMScene::BGMScene( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_BGMSceneDat.get_row( row_id ); + enableDisableRestart = exdData->getField< bool >( row, 0 ); + resume = exdData->getField< bool >( row, 1 ); + enablePassEnd = exdData->getField< bool >( row, 2 ); + forceAutoReset = exdData->getField< bool >( row, 3 ); + ignoreBattle = exdData->getField< bool >( row, 4 ); +} + Sapphire::Data::BGMSituation::BGMSituation( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_BGMSituationDat.get_row( row_id ); - bGMDay = exdData->getField< uint16_t >( row, 0 ); - bGMNight = exdData->getField< uint16_t >( row, 1 ); - bGMBattle = exdData->getField< uint16_t >( row, 2 ); - bGMField = exdData->getField< uint16_t >( row, 3 ); + daytimeID = exdData->getField< uint16_t >( row, 0 ); + nightID = exdData->getField< uint16_t >( row, 1 ); + battleID = exdData->getField< uint16_t >( row, 2 ); + daybreakID = exdData->getField< uint16_t >( row, 3 ); + twilightID = exdData->getField< uint16_t >( row, 4 ); } Sapphire::Data::BGMSwitch::BGMSwitch( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ) @@ -749,13 +903,19 @@ Sapphire::Data::BNpcBase::BNpcBase( uint32_t row_id, Sapphire::Data::ExdDataGene { auto row = exdData->m_BNpcBaseDat.get_row( row_id ); behavior = exdData->getField< uint16_t >( row, 0 ); - actionTimelineMove = exdData->getField< uint8_t >( row, 1 ); + battalion = exdData->getField< uint8_t >( row, 1 ); + linkRace = exdData->getField< uint8_t >( row, 2 ); + rank = exdData->getField< uint8_t >( row, 3 ); scale = exdData->getField< float >( row, 4 ); modelChara = exdData->getField< uint16_t >( row, 5 ); bNpcCustomize = exdData->getField< uint16_t >( row, 6 ); npcEquip = exdData->getField< uint16_t >( row, 7 ); + special = exdData->getField< uint16_t >( row, 8 ); + sEPack = exdData->getField< uint8_t >( row, 9 ); arrayEventHandler = exdData->getField< int32_t >( row, 11 ); bNpcParts = exdData->getField< uint8_t >( row, 12 ); + isTargetLine = exdData->getField< bool >( row, 14 ); + isDisplayLevel = exdData->getField< bool >( row, 15 ); } Sapphire::Data::BNpcCustomize::BNpcCustomize( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -836,11 +996,29 @@ Sapphire::Data::BNpcParts::BNpcParts( uint32_t row_id, Sapphire::Data::ExdDataGe scale5 = exdData->getField< float >( row, 54 ); } +Sapphire::Data::BNpcState::BNpcState( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_BNpcStateDat.get_row( row_id ); + slot = exdData->getField< uint8_t >( row, 0 ); + overRay = exdData->getField< int8_t >( row, 1 ); + idle = exdData->getField< uint16_t >( row, 4 ); + attribute0 = exdData->getField< uint8_t >( row, 5 ); + attributeFlag0 = exdData->getField< bool >( row, 6 ); + attribute1 = exdData->getField< uint8_t >( row, 7 ); + attributeFlag1 = exdData->getField< bool >( row, 8 ); + attribute2 = exdData->getField< uint8_t >( row, 9 ); + attributeFlag2 = exdData->getField< bool >( row, 10 ); + scale = exdData->getField< float >( row, 11 ); + loopTimeline = exdData->getField< int32_t >( row, 13 ); +} + Sapphire::Data::Buddy::Buddy( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_BuddyDat.get_row( row_id ); + base = exdData->getField< uint8_t >( row, 0 ); questRequirement2 = exdData->getField< int32_t >( row, 1 ); questRequirement1 = exdData->getField< int32_t >( row, 2 ); + baseEquip = exdData->getField< int32_t >( row, 3 ); soundEffect4 = exdData->getField< std::string >( row, 4 ); soundEffect3 = exdData->getField< std::string >( row, 5 ); soundEffect2 = exdData->getField< std::string >( row, 6 ); @@ -854,6 +1032,8 @@ Sapphire::Data::BuddyAction::BuddyAction( uint32_t row_id, Sapphire::Data::ExdDa description = exdData->getField< std::string >( row, 1 ); icon = exdData->getField< int32_t >( row, 2 ); iconStatus = exdData->getField< int32_t >( row, 3 ); + reward = exdData->getField< uint16_t >( row, 4 ); + sort = exdData->getField< uint8_t >( row, 5 ); } Sapphire::Data::BuddyEquip::BuddyEquip( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -880,6 +1060,9 @@ Sapphire::Data::BuddyItem::BuddyItem( uint32_t row_id, Sapphire::Data::ExdDataGe { auto row = exdData->m_BuddyItemDat.get_row( row_id ); item = exdData->getField< uint16_t >( row, 0 ); + useField = exdData->getField< bool >( row, 1 ); + useTraining = exdData->getField< bool >( row, 2 ); + status = exdData->getField< uint8_t >( row, 4 ); } Sapphire::Data::BuddyRank::BuddyRank( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -983,6 +1166,33 @@ Sapphire::Data::Calendar::Calendar( uint32_t row_id, Sapphire::Data::ExdDataGene day.push_back( exdData->getField< uint8_t >( row, 63 ) ); } +Sapphire::Data::Carry::Carry( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_CarryDat.get_row( row_id ); + model = exdData->getField< uint64_t >( row, 0 ); + timeline = exdData->getField< uint8_t >( row, 1 ); +} + +Sapphire::Data::Channeling::Channeling( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_ChannelingDat.get_row( row_id ); + file = exdData->getField< std::string >( row, 0 ); + widthScale = exdData->getField< uint8_t >( row, 1 ); +} + +Sapphire::Data::CharaMakeClassEquip::CharaMakeClassEquip( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_CharaMakeClassEquipDat.get_row( row_id ); + helmet = exdData->getField< uint64_t >( row, 0 ); + top = exdData->getField< uint64_t >( row, 1 ); + glove = exdData->getField< uint64_t >( row, 2 ); + down = exdData->getField< uint64_t >( row, 3 ); + shoes = exdData->getField< uint64_t >( row, 4 ); + weapon = exdData->getField< uint64_t >( row, 5 ); + subWeapon = exdData->getField< uint64_t >( row, 6 ); + _class = exdData->getField< int32_t >( row, 7 ); +} + Sapphire::Data::CharaMakeCustomize::CharaMakeCustomize( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_CharaMakeCustomizeDat.get_row( row_id ); @@ -990,6 +1200,8 @@ Sapphire::Data::CharaMakeCustomize::CharaMakeCustomize( uint32_t row_id, Sapphir icon = exdData->getField< uint32_t >( row, 1 ); data = exdData->getField< uint16_t >( row, 2 ); isPurchasable = exdData->getField< bool >( row, 3 ); + hint = exdData->getField< uint32_t >( row, 4 ); + hintItem = exdData->getField< uint32_t >( row, 5 ); } Sapphire::Data::CharaMakeType::CharaMakeType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -998,62 +1210,270 @@ Sapphire::Data::CharaMakeType::CharaMakeType( uint32_t row_id, Sapphire::Data::E race = exdData->getField< int32_t >( row, 0 ); tribe = exdData->getField< int32_t >( row, 1 ); gender = exdData->getField< int8_t >( row, 2 ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3291 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3292 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3293 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3294 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3295 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3296 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3297 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3298 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3299 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3300 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3301 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3302 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3303 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3304 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3305 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3306 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3307 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3308 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3309 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3310 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3311 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3312 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3313 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3314 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3315 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3316 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3317 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3318 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3319 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3320 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3321 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3322 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3323 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3324 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3325 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3326 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3327 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3328 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3329 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3330 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3331 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3332 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3333 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3334 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3335 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3336 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3337 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3338 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3339 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3340 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3341 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3342 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3343 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3344 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3345 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3346 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 3 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 4 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 5 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 6 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 7 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 8 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 9 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 10 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 11 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 12 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 13 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 14 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 15 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 16 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 17 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 18 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 19 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 20 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 21 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 22 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 23 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 24 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 25 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 26 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 27 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 28 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 29 ) ); + menu.push_back( exdData->getField< uint32_t >( row, 30 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 31 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 32 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 33 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 34 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 35 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 36 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 37 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 38 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 39 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 40 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 41 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 42 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 43 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 44 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 45 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 46 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 47 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 48 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 49 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 50 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 51 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 52 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 53 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 54 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 55 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 56 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 57 ) ); + initVal.push_back( exdData->getField< uint8_t >( row, 58 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 59 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 60 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 61 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 62 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 63 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 64 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 65 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 66 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 67 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 68 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 69 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 70 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 71 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 72 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 73 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 74 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 75 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 76 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 77 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 78 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 79 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 80 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 81 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 82 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 83 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 84 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 85 ) ); + subMenuType.push_back( exdData->getField< uint8_t >( row, 86 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 87 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 88 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 89 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 90 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 91 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 92 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 93 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 94 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 95 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 96 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 97 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 98 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 99 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 100 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 101 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 102 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 103 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 104 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 105 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 106 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 107 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 108 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 109 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 110 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 111 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 112 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 113 ) ); + subMenuNum.push_back( exdData->getField< uint8_t >( row, 114 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 115 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 116 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 117 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 118 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 119 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 120 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 121 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 122 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 123 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 124 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 125 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 126 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 127 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 128 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 129 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 130 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 131 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 132 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 133 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 134 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 135 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 136 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 137 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 138 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 139 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 140 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 141 ) ); + lookAt.push_back( exdData->getField< uint8_t >( row, 142 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 143 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 144 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 145 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 146 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 147 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 148 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 149 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 150 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 151 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 152 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 153 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 154 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 155 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 156 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 157 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 158 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 159 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 160 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 161 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 162 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 163 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 164 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 165 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 166 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 167 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 168 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 169 ) ); + subMenuMask.push_back( exdData->getField< uint32_t >( row, 170 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 171 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 172 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 173 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 174 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 175 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 176 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 177 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 178 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 179 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 180 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 181 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 182 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 183 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 184 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 185 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 186 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 187 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 188 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 189 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 190 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 191 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 192 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 193 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 194 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 195 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 196 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 197 ) ); + customize.push_back( exdData->getField< uint32_t >( row, 198 ) ); + voiceStruct.push_back( exdData->getField< uint8_t >( row, 3279 ) ); + voiceStruct.push_back( exdData->getField< uint8_t >( row, 3280 ) ); + voiceStruct.push_back( exdData->getField< uint8_t >( row, 3281 ) ); + voiceStruct.push_back( exdData->getField< uint8_t >( row, 3282 ) ); + voiceStruct.push_back( exdData->getField< uint8_t >( row, 3283 ) ); + voiceStruct.push_back( exdData->getField< uint8_t >( row, 3284 ) ); + voiceStruct.push_back( exdData->getField< uint8_t >( row, 3285 ) ); + voiceStruct.push_back( exdData->getField< uint8_t >( row, 3286 ) ); + voiceStruct.push_back( exdData->getField< uint8_t >( row, 3287 ) ); + voiceStruct.push_back( exdData->getField< uint8_t >( row, 3288 ) ); + voiceStruct.push_back( exdData->getField< uint8_t >( row, 3289 ) ); + voiceStruct.push_back( exdData->getField< uint8_t >( row, 3290 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3291 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3292 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3293 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3294 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3295 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3296 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3297 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3298 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3299 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3300 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3301 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3302 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3303 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3304 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3305 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3306 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3307 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3308 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3309 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3310 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3311 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3312 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3313 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3314 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3315 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3316 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3317 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3318 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3319 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3320 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3321 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3322 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3323 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3324 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3325 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3326 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3327 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3328 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3329 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3330 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3331 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3332 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3333 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3334 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3335 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3336 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3337 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3338 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3339 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3340 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3341 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3342 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3343 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3344 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3345 ) ); + facialFeatureOption.push_back( exdData->getField< int32_t >( row, 3346 ) ); } Sapphire::Data::ChocoboRace::ChocoboRace( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -1134,6 +1554,8 @@ Sapphire::Data::ChocoboTaxi::ChocoboTaxi( uint32_t row_id, Sapphire::Data::ExdDa { auto row = exdData->m_ChocoboTaxiDat.get_row( row_id ); location = exdData->getField< uint32_t >( row, 0 ); + fare = exdData->getField< uint8_t >( row, 1 ); + timeRequired = exdData->getField< uint16_t >( row, 2 ); } Sapphire::Data::ChocoboTaxiStand::ChocoboTaxiStand( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -1142,6 +1564,14 @@ Sapphire::Data::ChocoboTaxiStand::ChocoboTaxiStand( uint32_t row_id, Sapphire::D placeName = exdData->getField< std::string >( row, 8 ); } +Sapphire::Data::CircleActivity::CircleActivity( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_CircleActivityDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + icon = exdData->getField< int32_t >( row, 1 ); + order = exdData->getField< uint16_t >( row, 2 ); +} + Sapphire::Data::ClassJob::ClassJob( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_ClassJobDat.get_row( row_id ); @@ -1149,6 +1579,7 @@ Sapphire::Data::ClassJob::ClassJob( uint32_t row_id, Sapphire::Data::ExdDataGene abbreviation = exdData->getField< std::string >( row, 1 ); classJobCategory = exdData->getField< uint8_t >( row, 3 ); expArrayIndex = exdData->getField< int8_t >( row, 4 ); + battleClassIndex = exdData->getField< int8_t >( row, 5 ); jobIndex = exdData->getField< uint8_t >( row, 7 ); modifierHitPoints = exdData->getField< uint16_t >( row, 9 ); modifierManaPoints = exdData->getField< uint16_t >( row, 10 ); @@ -1163,6 +1594,7 @@ Sapphire::Data::ClassJob::ClassJob( uint32_t row_id, Sapphire::Data::ExdDataGene itemStartingWeapon = exdData->getField< int32_t >( row, 28 ); role = exdData->getField< uint8_t >( row, 30 ); startingTown = exdData->getField< uint8_t >( row, 31 ); + monsterNote = exdData->getField< int8_t >( row, 32 ); primaryStat = exdData->getField< uint8_t >( row, 33 ); limitBreak1 = exdData->getField< uint16_t >( row, 34 ); limitBreak2 = exdData->getField< uint16_t >( row, 35 ); @@ -1234,7 +1666,22 @@ Sapphire::Data::Companion::Companion( uint32_t row_id, Sapphire::Data::ExdDataGe pronoun = exdData->getField< int8_t >( row, 6 ); article = exdData->getField< int8_t >( row, 7 ); model = exdData->getField< uint16_t >( row, 8 ); + scale = exdData->getField< uint8_t >( row, 9 ); + inactiveIdle0 = exdData->getField< uint8_t >( row, 10 ); + inactiveIdle1 = exdData->getField< uint8_t >( row, 11 ); + inactiveBattle = exdData->getField< uint8_t >( row, 12 ); + inactiveWandering = exdData->getField< uint8_t >( row, 13 ); behavior = exdData->getField< uint8_t >( row, 14 ); + special = exdData->getField< uint8_t >( row, 15 ); + wanderingWait = exdData->getField< uint8_t >( row, 16 ); + priority = exdData->getField< uint16_t >( row, 17 ); + roulette = exdData->getField< bool >( row, 18 ); + battle = exdData->getField< bool >( row, 20 ); + lookAt = exdData->getField< bool >( row, 21 ); + poke = exdData->getField< bool >( row, 22 ); + enemy = exdData->getField< uint16_t >( row, 23 ); + stroke = exdData->getField< bool >( row, 24 ); + clapping = exdData->getField< bool >( row, 25 ); icon = exdData->getField< uint16_t >( row, 26 ); order = exdData->getField< uint16_t >( row, 27 ); cost = exdData->getField< uint8_t >( row, 30 ); @@ -1347,15 +1794,88 @@ Sapphire::Data::CompanyCraftType::CompanyCraftType( uint32_t row_id, Sapphire::D Sapphire::Data::CompanyLeve::CompanyLeve( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_CompanyLeveDat.get_row( row_id ); - eventItem = exdData->getField< int32_t >( row, 32 ); - eventItemAmount = exdData->getField< uint8_t >( row, 40 ); - companyLeveRule = exdData->getField< int32_t >( row, 176 ); + time.push_back( exdData->getField< uint16_t >( row, 0 ) ); + time.push_back( exdData->getField< uint16_t >( row, 1 ) ); + time.push_back( exdData->getField< uint16_t >( row, 2 ) ); + time.push_back( exdData->getField< uint16_t >( row, 3 ) ); + time.push_back( exdData->getField< uint16_t >( row, 4 ) ); + time.push_back( exdData->getField< uint16_t >( row, 5 ) ); + time.push_back( exdData->getField< uint16_t >( row, 6 ) ); + time.push_back( exdData->getField< uint16_t >( row, 7 ) ); + baseID.push_back( exdData->getField< int32_t >( row, 8 ) ); + baseID.push_back( exdData->getField< int32_t >( row, 9 ) ); + baseID.push_back( exdData->getField< int32_t >( row, 10 ) ); + baseID.push_back( exdData->getField< int32_t >( row, 11 ) ); + baseID.push_back( exdData->getField< int32_t >( row, 12 ) ); + baseID.push_back( exdData->getField< int32_t >( row, 13 ) ); + baseID.push_back( exdData->getField< int32_t >( row, 14 ) ); + baseID.push_back( exdData->getField< int32_t >( row, 15 ) ); + enemyLevel.push_back( exdData->getField< uint16_t >( row, 16 ) ); + enemyLevel.push_back( exdData->getField< uint16_t >( row, 17 ) ); + enemyLevel.push_back( exdData->getField< uint16_t >( row, 18 ) ); + enemyLevel.push_back( exdData->getField< uint16_t >( row, 19 ) ); + enemyLevel.push_back( exdData->getField< uint16_t >( row, 20 ) ); + enemyLevel.push_back( exdData->getField< uint16_t >( row, 21 ) ); + enemyLevel.push_back( exdData->getField< uint16_t >( row, 22 ) ); + enemyLevel.push_back( exdData->getField< uint16_t >( row, 23 ) ); + bNpcName.push_back( exdData->getField< uint32_t >( row, 24 ) ); + bNpcName.push_back( exdData->getField< uint32_t >( row, 25 ) ); + bNpcName.push_back( exdData->getField< uint32_t >( row, 26 ) ); + bNpcName.push_back( exdData->getField< uint32_t >( row, 27 ) ); + bNpcName.push_back( exdData->getField< uint32_t >( row, 28 ) ); + bNpcName.push_back( exdData->getField< uint32_t >( row, 29 ) ); + bNpcName.push_back( exdData->getField< uint32_t >( row, 30 ) ); + bNpcName.push_back( exdData->getField< uint32_t >( row, 31 ) ); + itemsInvolved.push_back( exdData->getField< int32_t >( row, 32 ) ); + itemsInvolved.push_back( exdData->getField< int32_t >( row, 33 ) ); + itemsInvolved.push_back( exdData->getField< int32_t >( row, 34 ) ); + itemsInvolved.push_back( exdData->getField< int32_t >( row, 35 ) ); + itemsInvolved.push_back( exdData->getField< int32_t >( row, 36 ) ); + itemsInvolved.push_back( exdData->getField< int32_t >( row, 37 ) ); + itemsInvolved.push_back( exdData->getField< int32_t >( row, 38 ) ); + itemsInvolved.push_back( exdData->getField< int32_t >( row, 39 ) ); + itemsInvolvedQty.push_back( exdData->getField< uint8_t >( row, 40 ) ); + itemsInvolvedQty.push_back( exdData->getField< uint8_t >( row, 41 ) ); + itemsInvolvedQty.push_back( exdData->getField< uint8_t >( row, 42 ) ); + itemsInvolvedQty.push_back( exdData->getField< uint8_t >( row, 43 ) ); + itemsInvolvedQty.push_back( exdData->getField< uint8_t >( row, 44 ) ); + itemsInvolvedQty.push_back( exdData->getField< uint8_t >( row, 45 ) ); + itemsInvolvedQty.push_back( exdData->getField< uint8_t >( row, 46 ) ); + itemsInvolvedQty.push_back( exdData->getField< uint8_t >( row, 47 ) ); + itemDropRate.push_back( exdData->getField< uint8_t >( row, 48 ) ); + itemDropRate.push_back( exdData->getField< uint8_t >( row, 49 ) ); + itemDropRate.push_back( exdData->getField< uint8_t >( row, 50 ) ); + itemDropRate.push_back( exdData->getField< uint8_t >( row, 51 ) ); + itemDropRate.push_back( exdData->getField< uint8_t >( row, 52 ) ); + itemDropRate.push_back( exdData->getField< uint8_t >( row, 53 ) ); + itemDropRate.push_back( exdData->getField< uint8_t >( row, 54 ) ); + itemDropRate.push_back( exdData->getField< uint8_t >( row, 55 ) ); + toDoNumberInvolved.push_back( exdData->getField< uint32_t >( row, 56 ) ); + toDoNumberInvolved.push_back( exdData->getField< uint32_t >( row, 57 ) ); + toDoNumberInvolved.push_back( exdData->getField< uint32_t >( row, 58 ) ); + toDoNumberInvolved.push_back( exdData->getField< uint32_t >( row, 59 ) ); + toDoNumberInvolved.push_back( exdData->getField< uint32_t >( row, 60 ) ); + toDoNumberInvolved.push_back( exdData->getField< uint32_t >( row, 61 ) ); + toDoNumberInvolved.push_back( exdData->getField< uint32_t >( row, 62 ) ); + toDoNumberInvolved.push_back( exdData->getField< uint32_t >( row, 63 ) ); + toDoParam.push_back( exdData->getField< uint32_t >( row, 64 ) ); + toDoParam.push_back( exdData->getField< uint32_t >( row, 65 ) ); + toDoParam.push_back( exdData->getField< uint32_t >( row, 66 ) ); + toDoParam.push_back( exdData->getField< uint32_t >( row, 67 ) ); + toDoParam.push_back( exdData->getField< uint32_t >( row, 68 ) ); + toDoParam.push_back( exdData->getField< uint32_t >( row, 69 ) ); + toDoParam.push_back( exdData->getField< uint32_t >( row, 70 ) ); + toDoParam.push_back( exdData->getField< uint32_t >( row, 71 ) ); + rule = exdData->getField< int32_t >( row, 176 ); + ruleParam = exdData->getField< uint8_t >( row, 177 ); } Sapphire::Data::CompanyLeveRule::CompanyLeveRule( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_CompanyLeveRuleDat.get_row( row_id ); type = exdData->getField< std::string >( row, 0 ); + objective = exdData->getField< uint16_t >( row, 1 ); + help = exdData->getField< uint16_t >( row, 2 ); } Sapphire::Data::CompleteJournal::CompleteJournal( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -1397,6 +1917,17 @@ Sapphire::Data::CompleteJournalCategory::CompleteJournalCategory( uint32_t row_i lastQuest = exdData->getField< uint32_t >( row, 1 ); } +Sapphire::Data::ConfigKey::ConfigKey( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_ConfigKeyDat.get_row( row_id ); + label = exdData->getField< std::string >( row, 0 ); + param = exdData->getField< uint8_t >( row, 1 ); + platform = exdData->getField< uint8_t >( row, 2 ); + required = exdData->getField< bool >( row, 3 ); + category = exdData->getField< uint8_t >( row, 4 ); + text = exdData->getField< std::string >( row, 7 ); +} + Sapphire::Data::ContentCloseCycle::ContentCloseCycle( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_ContentCloseCycleDat.get_row( row_id ); @@ -1414,9 +1945,12 @@ Sapphire::Data::ContentExAction::ContentExAction( uint32_t row_id, Sapphire::Dat Sapphire::Data::ContentFinderCondition::ContentFinderCondition( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_ContentFinderConditionDat.get_row( row_id ); + shortCode = exdData->getField< std::string >( row, 0 ); territoryType = exdData->getField< uint16_t >( row, 1 ); contentLinkType = exdData->getField< uint8_t >( row, 2 ); content = exdData->getField< uint16_t >( row, 3 ); + pvP = exdData->getField< bool >( row, 4 ); + acceptClassJobCategory = exdData->getField< uint8_t >( row, 8 ); contentMemberType = exdData->getField< uint8_t >( row, 9 ); unlockQuest = exdData->getField< uint32_t >( row, 13 ); classJobLevelRequired = exdData->getField< uint8_t >( row, 15 ); @@ -1427,24 +1961,24 @@ 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, 34 ); - contentType = exdData->getField< uint8_t >( row, 35 ); - transientKey = exdData->getField< uint8_t >( row, 36 ); - transient = exdData->getField< uint32_t >( row, 37 ); - sortKey = exdData->getField< uint16_t >( row, 38 ); - image = exdData->getField< uint32_t >( row, 39 ); - icon = exdData->getField< uint32_t >( row, 40 ); - levelingRoulette = exdData->getField< bool >( row, 42 ); - level5060Roulette = exdData->getField< bool >( row, 43 ); - mSQRoulette = exdData->getField< bool >( row, 44 ); - guildHestRoulette = exdData->getField< bool >( row, 45 ); - expertRoulette = exdData->getField< bool >( row, 46 ); - trialRoulette = exdData->getField< bool >( row, 47 ); - dailyFrontlineChallenge = exdData->getField< bool >( row, 48 ); - level70Roulette = exdData->getField< bool >( row, 49 ); - mentorRoulette = exdData->getField< bool >( row, 50 ); - allianceRoulette = exdData->getField< bool >( row, 56 ); - normalRaidRoulette = exdData->getField< bool >( row, 58 ); + name = exdData->getField< std::string >( row, 35 ); + contentType = exdData->getField< uint8_t >( row, 36 ); + transientKey = exdData->getField< uint8_t >( row, 37 ); + transient = exdData->getField< uint32_t >( row, 38 ); + sortKey = exdData->getField< uint16_t >( row, 39 ); + image = exdData->getField< uint32_t >( row, 40 ); + icon = exdData->getField< uint32_t >( row, 41 ); + levelingRoulette = exdData->getField< bool >( row, 43 ); + level5060Roulette = exdData->getField< bool >( row, 44 ); + mSQRoulette = exdData->getField< bool >( row, 45 ); + guildHestRoulette = exdData->getField< bool >( row, 46 ); + expertRoulette = exdData->getField< bool >( row, 47 ); + trialRoulette = exdData->getField< bool >( row, 48 ); + dailyFrontlineChallenge = exdData->getField< bool >( row, 49 ); + level70Roulette = exdData->getField< bool >( row, 50 ); + mentorRoulette = exdData->getField< bool >( row, 51 ); + allianceRoulette = exdData->getField< bool >( row, 57 ); + normalRaidRoulette = exdData->getField< bool >( row, 59 ); } Sapphire::Data::ContentFinderConditionTransient::ContentFinderConditionTransient( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -1481,6 +2015,7 @@ Sapphire::Data::ContentMemberType::ContentMemberType( uint32_t row_id, Sapphire: Sapphire::Data::ContentNpcTalk::ContentNpcTalk( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_ContentNpcTalkDat.get_row( row_id ); + type = exdData->getField< int32_t >( row, 0 ); contentTalk.push_back( exdData->getField< uint32_t >( row, 1 ) ); contentTalk.push_back( exdData->getField< uint32_t >( row, 2 ) ); contentTalk.push_back( exdData->getField< uint32_t >( row, 3 ) ); @@ -1504,19 +2039,19 @@ Sapphire::Data::ContentRoulette::ContentRoulette( uint32_t row_id, Sapphire::Dat description = exdData->getField< std::string >( row, 2 ); dutyType = exdData->getField< std::string >( row, 3 ); isInDutyFinder = exdData->getField< bool >( row, 6 ); - openRule = exdData->getField< uint8_t >( row, 7 ); - requiredLevel = exdData->getField< uint8_t >( row, 9 ); - itemLevelRequired = exdData->getField< uint16_t >( row, 11 ); - icon = exdData->getField< uint32_t >( row, 13 ); - contentRouletteRoleBonus = exdData->getField< uint8_t >( row, 14 ); - rewardTomeA = exdData->getField< uint16_t >( row, 15 ); + openRule = exdData->getField< bool >( row, 7 ); + requiredLevel = exdData->getField< bool >( row, 9 ); + itemLevelRequired = exdData->getField< uint8_t >( row, 11 ); + icon = exdData->getField< uint16_t >( row, 13 ); + contentRouletteRoleBonus = exdData->getField< uint32_t >( row, 14 ); + rewardTomeA = exdData->getField< uint8_t >( row, 15 ); rewardTomeB = exdData->getField< uint16_t >( row, 16 ); rewardTomeC = exdData->getField< uint16_t >( row, 17 ); - sortKey = exdData->getField< uint8_t >( row, 20 ); + sortKey = exdData->getField< uint16_t >( row, 20 ); contentMemberType = exdData->getField< uint8_t >( row, 22 ); requireAllDuties = exdData->getField< bool >( row, 32 ); - contentRouletteOpenRule = exdData->getField< uint8_t >( row, 34 ); - instanceContent = exdData->getField< uint16_t >( row, 35 ); + contentRouletteOpenRule = exdData->getField< bool >( row, 34 ); + instanceContent = exdData->getField< uint8_t >( row, 35 ); } Sapphire::Data::ContentRouletteOpenRule::ContentRouletteOpenRule( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -1539,7 +2074,9 @@ Sapphire::Data::ContentsNote::ContentsNote( uint32_t row_id, Sapphire::Data::Exd icon = exdData->getField< int32_t >( row, 1 ); menuOrder = exdData->getField< uint8_t >( row, 2 ); requiredAmount = exdData->getField< int32_t >( row, 3 ); + reward0 = exdData->getField< uint8_t >( row, 4 ); expMultiplier = exdData->getField< int32_t >( row, 5 ); + reward1 = exdData->getField< uint8_t >( row, 6 ); gilRward = exdData->getField< int32_t >( row, 7 ); levelUnlock = exdData->getField< uint16_t >( row, 8 ); howTo = exdData->getField< uint16_t >( row, 9 ); @@ -1614,6 +2151,8 @@ Sapphire::Data::CraftLevelDifference::CraftLevelDifference( uint32_t row_id, Sap Sapphire::Data::CraftType::CraftType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_CraftTypeDat.get_row( row_id ); + mainPhysical = exdData->getField< uint8_t >( row, 0 ); + subPhysical = exdData->getField< uint8_t >( row, 1 ); name = exdData->getField< std::string >( row, 2 ); } @@ -1754,12 +2293,42 @@ Sapphire::Data::Cutscene::Cutscene( uint32_t row_id, Sapphire::Data::ExdDataGene path = exdData->getField< std::string >( row, 0 ); } +Sapphire::Data::CutsceneMotion::CutsceneMotion( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_CutsceneMotionDat.get_row( row_id ); + wALK_LOOP_SPEED = exdData->getField< float >( row, 0 ); + rUN_LOOP_SPEED = exdData->getField< float >( row, 1 ); + sLOWWALK_LOOP_SPEED = exdData->getField< float >( row, 2 ); + sLOWRUN_LOOP_SPEED = exdData->getField< float >( row, 3 ); + bATTLEWALK_LOOP_SPEED = exdData->getField< float >( row, 4 ); + bATTLERUN_LOOP_SPEED = exdData->getField< float >( row, 5 ); + dASH_LOOP_SPEED = exdData->getField< float >( row, 6 ); + tURN_CW90_FRAME = exdData->getField< uint8_t >( row, 7 ); + tURN_CCW90_FRAME = exdData->getField< uint8_t >( row, 8 ); + tURN_CW180_FRAME = exdData->getField< uint8_t >( row, 9 ); + tURN_CCW180_FRAME = exdData->getField< uint8_t >( row, 10 ); +} + +Sapphire::Data::CutsceneWorkIndex::CutsceneWorkIndex( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_CutsceneWorkIndexDat.get_row( row_id ); + workIndex = exdData->getField< uint16_t >( row, 0 ); +} + Sapphire::Data::CutScreenImage::CutScreenImage( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_CutScreenImageDat.get_row( row_id ); + type = exdData->getField< int16_t >( row, 0 ); image = exdData->getField< int32_t >( row, 1 ); } +Sapphire::Data::CycleTime::CycleTime( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_CycleTimeDat.get_row( row_id ); + firstCycle = exdData->getField< uint32_t >( row, 0 ); + cycle = exdData->getField< uint32_t >( row, 1 ); +} + Sapphire::Data::DailySupplyItem::DailySupplyItem( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_DailySupplyItemDat.get_row( row_id ); @@ -1792,6 +2361,19 @@ Sapphire::Data::DawnMemberUIParam::DawnMemberUIParam( uint32_t row_id, Sapphire: classPlural = exdData->getField< std::string >( row, 2 ); } +Sapphire::Data::DawnQuestAnnounce::DawnQuestAnnounce( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_DawnQuestAnnounceDat.get_row( row_id ); + quest = exdData->getField< uint32_t >( row, 0 ); + content = exdData->getField< uint8_t >( row, 1 ); + eNPC.push_back( exdData->getField< uint32_t >( row, 2 ) ); + eNPC.push_back( exdData->getField< uint32_t >( row, 3 ) ); + eNPC.push_back( exdData->getField< uint32_t >( row, 4 ) ); + eNPC.push_back( exdData->getField< uint32_t >( row, 5 ) ); + eNPC.push_back( exdData->getField< uint32_t >( row, 6 ) ); + eNPC.push_back( exdData->getField< uint32_t >( row, 7 ) ); +} + Sapphire::Data::DawnQuestMember::DawnQuestMember( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_DawnQuestMemberDat.get_row( row_id ); @@ -1805,7 +2387,30 @@ Sapphire::Data::DawnQuestMember::DawnQuestMember( uint32_t row_id, Sapphire::Dat Sapphire::Data::DeepDungeon::DeepDungeon( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_DeepDungeonDat.get_row( row_id ); + aetherpoolArm = exdData->getField< uint8_t >( row, 0 ); + aetherpoolArmor = exdData->getField< uint8_t >( row, 1 ); + pomanderSlot.push_back( exdData->getField< uint8_t >( row, 2 ) ); + pomanderSlot.push_back( exdData->getField< uint8_t >( row, 3 ) ); + pomanderSlot.push_back( exdData->getField< uint8_t >( row, 4 ) ); + pomanderSlot.push_back( exdData->getField< uint8_t >( row, 5 ) ); + pomanderSlot.push_back( exdData->getField< uint8_t >( row, 6 ) ); + pomanderSlot.push_back( exdData->getField< uint8_t >( row, 7 ) ); + pomanderSlot.push_back( exdData->getField< uint8_t >( row, 8 ) ); + pomanderSlot.push_back( exdData->getField< uint8_t >( row, 9 ) ); + pomanderSlot.push_back( exdData->getField< uint8_t >( row, 10 ) ); + pomanderSlot.push_back( exdData->getField< uint8_t >( row, 11 ) ); + pomanderSlot.push_back( exdData->getField< uint8_t >( row, 12 ) ); + pomanderSlot.push_back( exdData->getField< uint8_t >( row, 13 ) ); + pomanderSlot.push_back( exdData->getField< uint8_t >( row, 14 ) ); + pomanderSlot.push_back( exdData->getField< uint8_t >( row, 15 ) ); + pomanderSlot.push_back( exdData->getField< uint8_t >( row, 16 ) ); + pomanderSlot.push_back( exdData->getField< uint8_t >( row, 17 ) ); + magiciteSlot.push_back( exdData->getField< uint8_t >( row, 18 ) ); + magiciteSlot.push_back( exdData->getField< uint8_t >( row, 19 ) ); + magiciteSlot.push_back( exdData->getField< uint8_t >( row, 20 ) ); + magiciteSlot.push_back( exdData->getField< uint8_t >( row, 21 ) ); name = exdData->getField< std::string >( row, 22 ); + contentFinderConditionStart = exdData->getField< uint16_t >( row, 23 ); } Sapphire::Data::DeepDungeonBan::DeepDungeonBan( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -1935,9 +2540,20 @@ Sapphire::Data::DeliveryQuest::DeliveryQuest( uint32_t row_id, Sapphire::Data::E quest = exdData->getField< int32_t >( row, 0 ); } +Sapphire::Data::Description::Description( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_DescriptionDat.get_row( row_id ); + quest = exdData->getField< uint32_t >( row, 0 ); + textLong = exdData->getField< std::string >( row, 1 ); + textShort = exdData->getField< std::string >( row, 2 ); + textCommentary = exdData->getField< std::string >( row, 3 ); + section = exdData->getField< uint32_t >( row, 5 ); +} + Sapphire::Data::DescriptionPage::DescriptionPage( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_DescriptionPageDat.get_row( row_id, subRow ); + quest = exdData->getField< uint32_t >( row, 0 ); text1 = exdData->getField< uint16_t >( row, 1 ); image1 = exdData->getField< uint32_t >( row, 2 ); text2 = exdData->getField< uint16_t >( row, 3 ); @@ -1958,6 +2574,13 @@ Sapphire::Data::DescriptionPage::DescriptionPage( uint32_t row_id, uint32_t subR image9 = exdData->getField< uint32_t >( row, 18 ); } +Sapphire::Data::DescriptionSection::DescriptionSection( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_DescriptionSectionDat.get_row( row_id, subRow ); + string = exdData->getField< uint16_t >( row, 0 ); + page = exdData->getField< uint16_t >( row, 1 ); +} + Sapphire::Data::DescriptionString::DescriptionString( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_DescriptionStringDat.get_row( row_id ); @@ -2072,9 +2695,23 @@ Sapphire::Data::EmoteCategory::EmoteCategory( uint32_t row_id, Sapphire::Data::E name = exdData->getField< std::string >( row, 0 ); } +Sapphire::Data::EmoteMode::EmoteMode( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_EmoteModeDat.get_row( row_id ); + startEmote = exdData->getField< uint16_t >( row, 0 ); + endEmote = exdData->getField< uint16_t >( row, 1 ); + move = exdData->getField< bool >( row, 2 ); + camera = exdData->getField< bool >( row, 3 ); + endOnRotate = exdData->getField< bool >( row, 4 ); + endOnEmote = exdData->getField< bool >( row, 5 ); + conditionMode = exdData->getField< uint8_t >( row, 6 ); +} + Sapphire::Data::ENpcBase::ENpcBase( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_ENpcBaseDat.get_row( row_id ); + eventHandler = exdData->getField< uint16_t >( row, 0 ); + important = exdData->getField< bool >( row, 1 ); eNpcData.push_back( exdData->getField< uint32_t >( row, 2 ) ); eNpcData.push_back( exdData->getField< uint32_t >( row, 3 ) ); eNpcData.push_back( exdData->getField< uint32_t >( row, 4 ) ); @@ -2162,7 +2799,10 @@ Sapphire::Data::ENpcBase::ENpcBase( uint32_t row_id, Sapphire::Data::ExdDataGene dyeLeftRing = exdData->getField< uint8_t >( row, 87 ); modelRightRing = exdData->getField< uint32_t >( row, 88 ); dyeRightRing = exdData->getField< uint8_t >( row, 89 ); + invisibility = exdData->getField< uint8_t >( row, 90 ); balloon = exdData->getField< uint16_t >( row, 91 ); + notRewriteHeight = exdData->getField< bool >( row, 92 ); + defaultBalloon = exdData->getField< uint8_t >( row, 93 ); } Sapphire::Data::ENpcDressUp::ENpcDressUp( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -2209,8 +2849,14 @@ Sapphire::Data::ENpcResident::ENpcResident( uint32_t row_id, Sapphire::Data::Exd Sapphire::Data::EObj::EObj( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_EObjDat.get_row( row_id ); + popType = exdData->getField< uint8_t >( row, 8 ); data = exdData->getField< uint32_t >( row, 9 ); + invisibility = exdData->getField< uint8_t >( row, 10 ); sgbPath = exdData->getField< uint16_t >( row, 11 ); + eyeCollision = exdData->getField< bool >( row, 12 ); + directorControl = exdData->getField< bool >( row, 13 ); + target = exdData->getField< bool >( row, 14 ); + eventHighAddition = exdData->getField< uint8_t >( row, 15 ); } Sapphire::Data::EObjName::EObjName( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -2345,6 +2991,9 @@ Sapphire::Data::EventIconPriority::EventIconPriority( uint32_t row_id, Sapphire: icon.push_back( exdData->getField< uint32_t >( row, 13 ) ); icon.push_back( exdData->getField< uint32_t >( row, 14 ) ); icon.push_back( exdData->getField< uint32_t >( row, 15 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 16 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 17 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 18 ) ); } Sapphire::Data::EventIconType::EventIconType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -2373,6 +3022,8 @@ Sapphire::Data::EventItem::EventItem( uint32_t row_id, Sapphire::Data::ExdDataGe stackSize = exdData->getField< uint8_t >( row, 12 ); quest = exdData->getField< uint32_t >( row, 14 ); castTime = exdData->getField< uint8_t >( row, 15 ); + castTimeline = exdData->getField< uint8_t >( row, 16 ); + timeline = exdData->getField< uint8_t >( row, 17 ); } Sapphire::Data::EventItemCastTimeline::EventItemCastTimeline( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -2393,6 +3044,13 @@ Sapphire::Data::EventItemTimeline::EventItemTimeline( uint32_t row_id, Sapphire: actionTimeline = exdData->getField< uint32_t >( row, 0 ); } +Sapphire::Data::EventSystemDefine::EventSystemDefine( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_EventSystemDefineDat.get_row( row_id ); + text = exdData->getField< std::string >( row, 0 ); + defineValue = exdData->getField< uint32_t >( row, 1 ); +} + Sapphire::Data::ExportedSG::ExportedSG( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_ExportedSGDat.get_row( row_id ); @@ -2409,21 +3067,100 @@ Sapphire::Data::Fate::Fate( uint32_t row_id, Sapphire::Data::ExdDataGenerated* e { auto row = exdData->m_FateDat.get_row( row_id ); eurekaFate = exdData->getField< uint8_t >( row, 0 ); - location = exdData->getField< uint32_t >( row, 2 ); - classJobLevel = exdData->getField< uint8_t >( row, 3 ); - classJobLevelMax = exdData->getField< uint8_t >( row, 4 ); - eventItem = exdData->getField< uint32_t >( row, 5 ); - iconObjective = exdData->getField< uint32_t >( row, 9 ); - iconMap = exdData->getField< uint32_t >( row, 10 ); - music = exdData->getField< int32_t >( row, 12 ); - hasWorldMapIcon = exdData->getField< bool >( row, 17 ); - name = exdData->getField< std::string >( row, 26 ); - description = exdData->getField< std::string >( row, 27 ); - objective = exdData->getField< std::string >( row, 28 ); - statusText.push_back( exdData->getField< std::string >( row, 29 ) ); - statusText.push_back( exdData->getField< std::string >( row, 30 ) ); - statusText.push_back( exdData->getField< std::string >( row, 31 ) ); - arrayIndex = exdData->getField< uint32_t >( row, 32 ); + rule = exdData->getField< uint8_t >( row, 1 ); + location = exdData->getField< uint32_t >( row, 3 ); + classJobLevel = exdData->getField< uint8_t >( row, 4 ); + classJobLevelMax = exdData->getField< uint8_t >( row, 5 ); + eventItem = exdData->getField< uint32_t >( row, 6 ); + typeToDoValue.push_back( exdData->getField< uint8_t >( row, 7 ) ); + typeToDoValue.push_back( exdData->getField< uint8_t >( row, 8 ) ); + typeToDoValue.push_back( exdData->getField< uint8_t >( row, 9 ) ); + iconObjective = exdData->getField< uint32_t >( row, 10 ); + iconMap = exdData->getField< uint32_t >( row, 11 ); + iconInactiveMap = exdData->getField< uint32_t >( row, 12 ); + music = exdData->getField< int32_t >( row, 13 ); + lGBGuardNPCLocation = exdData->getField< uint32_t >( row, 14 ); + screenImageAccept = exdData->getField< uint16_t >( row, 15 ); + screenImageComplete = exdData->getField< uint16_t >( row, 16 ); + screenImageFailed = exdData->getField< uint16_t >( row, 17 ); + hasWorldMapIcon = exdData->getField< bool >( row, 18 ); + isQuest = exdData->getField< bool >( row, 19 ); + name = exdData->getField< std::string >( row, 29 ); + description = exdData->getField< std::string >( row, 30 ); + objective = exdData->getField< std::string >( row, 31 ); + statusText.push_back( exdData->getField< std::string >( row, 32 ) ); + statusText.push_back( exdData->getField< std::string >( row, 33 ) ); + statusText.push_back( exdData->getField< std::string >( row, 34 ) ); + arrayIndex = exdData->getField< uint32_t >( row, 35 ); +} + +Sapphire::Data::FateEvent::FateEvent( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_FateEventDat.get_row( row_id ); + turn.push_back( exdData->getField< uint8_t >( row, 0 ) ); + turn.push_back( exdData->getField< uint8_t >( row, 1 ) ); + turn.push_back( exdData->getField< uint8_t >( row, 2 ) ); + turn.push_back( exdData->getField< uint8_t >( row, 3 ) ); + turn.push_back( exdData->getField< uint8_t >( row, 4 ) ); + turn.push_back( exdData->getField< uint8_t >( row, 5 ) ); + turn.push_back( exdData->getField< uint8_t >( row, 6 ) ); + turn.push_back( exdData->getField< uint8_t >( row, 7 ) ); + gesture.push_back( exdData->getField< uint32_t >( row, 8 ) ); + gesture.push_back( exdData->getField< uint32_t >( row, 9 ) ); + gesture.push_back( exdData->getField< uint32_t >( row, 10 ) ); + gesture.push_back( exdData->getField< uint32_t >( row, 11 ) ); + gesture.push_back( exdData->getField< uint32_t >( row, 12 ) ); + gesture.push_back( exdData->getField< uint32_t >( row, 13 ) ); + gesture.push_back( exdData->getField< uint32_t >( row, 14 ) ); + gesture.push_back( exdData->getField< uint32_t >( row, 15 ) ); + lipSync.push_back( exdData->getField< int32_t >( row, 16 ) ); + lipSync.push_back( exdData->getField< int32_t >( row, 17 ) ); + lipSync.push_back( exdData->getField< int32_t >( row, 18 ) ); + lipSync.push_back( exdData->getField< int32_t >( row, 19 ) ); + lipSync.push_back( exdData->getField< int32_t >( row, 20 ) ); + lipSync.push_back( exdData->getField< int32_t >( row, 21 ) ); + lipSync.push_back( exdData->getField< int32_t >( row, 22 ) ); + lipSync.push_back( exdData->getField< int32_t >( row, 23 ) ); + facial.push_back( exdData->getField< int32_t >( row, 24 ) ); + facial.push_back( exdData->getField< int32_t >( row, 25 ) ); + facial.push_back( exdData->getField< int32_t >( row, 26 ) ); + facial.push_back( exdData->getField< int32_t >( row, 27 ) ); + facial.push_back( exdData->getField< int32_t >( row, 28 ) ); + facial.push_back( exdData->getField< int32_t >( row, 29 ) ); + facial.push_back( exdData->getField< int32_t >( row, 30 ) ); + facial.push_back( exdData->getField< int32_t >( row, 31 ) ); + shape.push_back( exdData->getField< int32_t >( row, 32 ) ); + shape.push_back( exdData->getField< int32_t >( row, 33 ) ); + shape.push_back( exdData->getField< int32_t >( row, 34 ) ); + shape.push_back( exdData->getField< int32_t >( row, 35 ) ); + shape.push_back( exdData->getField< int32_t >( row, 36 ) ); + shape.push_back( exdData->getField< int32_t >( row, 37 ) ); + shape.push_back( exdData->getField< int32_t >( row, 38 ) ); + shape.push_back( exdData->getField< int32_t >( row, 39 ) ); + isAutoShake.push_back( exdData->getField< bool >( row, 40 ) ); + isAutoShake.push_back( exdData->getField< bool >( row, 41 ) ); + isAutoShake.push_back( exdData->getField< bool >( row, 42 ) ); + isAutoShake.push_back( exdData->getField< bool >( row, 43 ) ); + isAutoShake.push_back( exdData->getField< bool >( row, 44 ) ); + isAutoShake.push_back( exdData->getField< bool >( row, 45 ) ); + isAutoShake.push_back( exdData->getField< bool >( row, 46 ) ); + isAutoShake.push_back( exdData->getField< bool >( row, 47 ) ); + widgetType.push_back( exdData->getField< uint8_t >( row, 48 ) ); + widgetType.push_back( exdData->getField< uint8_t >( row, 49 ) ); + widgetType.push_back( exdData->getField< uint8_t >( row, 50 ) ); + widgetType.push_back( exdData->getField< uint8_t >( row, 51 ) ); + widgetType.push_back( exdData->getField< uint8_t >( row, 52 ) ); + widgetType.push_back( exdData->getField< uint8_t >( row, 53 ) ); + widgetType.push_back( exdData->getField< uint8_t >( row, 54 ) ); + widgetType.push_back( exdData->getField< uint8_t >( row, 55 ) ); + text.push_back( exdData->getField< std::string >( row, 56 ) ); + text.push_back( exdData->getField< std::string >( row, 57 ) ); + text.push_back( exdData->getField< std::string >( row, 58 ) ); + text.push_back( exdData->getField< std::string >( row, 59 ) ); + text.push_back( exdData->getField< std::string >( row, 60 ) ); + text.push_back( exdData->getField< std::string >( row, 61 ) ); + text.push_back( exdData->getField< std::string >( row, 62 ) ); + text.push_back( exdData->getField< std::string >( row, 63 ) ); } Sapphire::Data::FateProgressUI::FateProgressUI( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -2436,16 +3173,27 @@ Sapphire::Data::FateProgressUI::FateProgressUI( uint32_t row_id, Sapphire::Data: displayOrder = exdData->getField< uint8_t >( row, 4 ); } +Sapphire::Data::FateTokenType::FateTokenType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_FateTokenTypeDat.get_row( row_id ); + currency = exdData->getField< uint32_t >( row, 0 ); +} + Sapphire::Data::FCActivity::FCActivity( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_FCActivityDat.get_row( row_id ); text = exdData->getField< std::string >( row, 0 ); + selfKind = exdData->getField< uint8_t >( row, 1 ); + targetKind = exdData->getField< uint8_t >( row, 2 ); + numParam = exdData->getField< uint8_t >( row, 3 ); fCActivityCategory = exdData->getField< uint8_t >( row, 4 ); + iconType = exdData->getField< int8_t >( row, 5 ); } Sapphire::Data::FCActivityCategory::FCActivityCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_FCActivityCategoryDat.get_row( row_id ); + priority = exdData->getField< uint8_t >( row, 0 ); name = exdData->getField< std::string >( row, 1 ); } @@ -2468,6 +3216,13 @@ Sapphire::Data::FCChestName::FCChestName( uint32_t row_id, Sapphire::Data::ExdDa name = exdData->getField< std::string >( row, 0 ); } +Sapphire::Data::FCCrestSymbol::FCCrestSymbol( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_FCCrestSymbolDat.get_row( row_id ); + colorNum = exdData->getField< uint8_t >( row, 0 ); + fCRight = exdData->getField< uint8_t >( row, 1 ); +} + Sapphire::Data::FccShop::FccShop( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_FccShopDat.get_row( row_id ); @@ -2483,14 +3238,27 @@ Sapphire::Data::FCHierarchy::FCHierarchy( uint32_t row_id, Sapphire::Data::ExdDa Sapphire::Data::FCProfile::FCProfile( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_FCProfileDat.get_row( row_id ); + priority = exdData->getField< uint8_t >( row, 0 ); name = exdData->getField< std::string >( row, 1 ); } +Sapphire::Data::FCRank::FCRank( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_FCRankDat.get_row( row_id ); + nextPoint = exdData->getField< uint32_t >( row, 0 ); + currentPoint = exdData->getField< uint32_t >( row, 1 ); + rights = exdData->getField< uint16_t >( row, 2 ); + fCActionActiveNum = exdData->getField< uint8_t >( row, 5 ); + fCActionStockNum = exdData->getField< uint8_t >( row, 6 ); +} + Sapphire::Data::FCReputation::FCReputation( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_FCReputationDat.get_row( row_id ); pointsToNext = exdData->getField< uint32_t >( row, 0 ); requiredPoints = exdData->getField< uint32_t >( row, 1 ); + discountRate = exdData->getField< uint8_t >( row, 2 ); + color = exdData->getField< uint32_t >( row, 3 ); name = exdData->getField< std::string >( row, 4 ); } @@ -2539,12 +3307,13 @@ Sapphire::Data::FishingSpot::FishingSpot( uint32_t row_id, Sapphire::Data::ExdDa bigFishOnReach = exdData->getField< std::string >( row, 1 ); bigFishOnEnd = exdData->getField< std::string >( row, 2 ); fishingSpotCategory = exdData->getField< uint8_t >( row, 3 ); + rare = exdData->getField< bool >( row, 4 ); territoryType = exdData->getField< uint16_t >( row, 5 ); - x = exdData->getField< int16_t >( row, 6 ); - z = exdData->getField< int16_t >( row, 7 ); - radius = exdData->getField< uint16_t >( row, 8 ); - item.push_back( exdData->getField< int32_t >( row, 10 ) ); - item.push_back( exdData->getField< int32_t >( row, 11 ) ); + placeNameMain = exdData->getField< uint16_t >( row, 6 ); + placeNameSub = exdData->getField< uint16_t >( row, 7 ); + x = exdData->getField< int16_t >( row, 8 ); + z = exdData->getField< int16_t >( row, 9 ); + radius = exdData->getField< uint16_t >( row, 10 ); item.push_back( exdData->getField< int32_t >( row, 12 ) ); item.push_back( exdData->getField< int32_t >( row, 13 ) ); item.push_back( exdData->getField< int32_t >( row, 14 ) ); @@ -2553,8 +3322,10 @@ Sapphire::Data::FishingSpot::FishingSpot( uint32_t row_id, Sapphire::Data::ExdDa item.push_back( exdData->getField< int32_t >( row, 17 ) ); item.push_back( exdData->getField< int32_t >( row, 18 ) ); item.push_back( exdData->getField< int32_t >( row, 19 ) ); - placeName = exdData->getField< uint16_t >( row, 20 ); - order = exdData->getField< uint8_t >( row, 21 ); + item.push_back( exdData->getField< int32_t >( row, 20 ) ); + item.push_back( exdData->getField< int32_t >( row, 21 ) ); + placeName = exdData->getField< uint16_t >( row, 22 ); + order = exdData->getField< uint8_t >( row, 23 ); } Sapphire::Data::FishParameter::FishParameter( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -2563,13 +3334,13 @@ Sapphire::Data::FishParameter::FishParameter( uint32_t row_id, Sapphire::Data::E text = exdData->getField< std::string >( row, 0 ); item = exdData->getField< int32_t >( row, 1 ); gatheringItemLevel = exdData->getField< uint16_t >( row, 2 ); - isHidden = exdData->getField< bool >( row, 3 ); - fishingRecordType = exdData->getField< uint8_t >( row, 5 ); - territoryType = exdData->getField< int32_t >( row, 6 ); - gatheringSubCategory = exdData->getField< uint16_t >( row, 7 ); - isInLog = exdData->getField< bool >( row, 8 ); - timeRestricted = exdData->getField< bool >( row, 9 ); - weatherRestricted = exdData->getField< bool >( row, 10 ); + isHidden = exdData->getField< bool >( row, 4 ); + fishingRecordType = exdData->getField< uint8_t >( row, 6 ); + territoryType = exdData->getField< int32_t >( row, 7 ); + gatheringSubCategory = exdData->getField< uint16_t >( row, 8 ); + isInLog = exdData->getField< bool >( row, 9 ); + timeRestricted = exdData->getField< bool >( row, 10 ); + weatherRestricted = exdData->getField< bool >( row, 11 ); } Sapphire::Data::Frontline03::Frontline03( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -2642,7 +3413,9 @@ Sapphire::Data::GardeningSeed::GardeningSeed( uint32_t row_id, Sapphire::Data::E { auto row = exdData->m_GardeningSeedDat.get_row( row_id ); item = exdData->getField< uint32_t >( row, 0 ); + modelID = exdData->getField< uint16_t >( row, 1 ); icon = exdData->getField< uint32_t >( row, 2 ); + sE = exdData->getField< bool >( row, 3 ); } Sapphire::Data::GatheringCondition::GatheringCondition( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -2662,7 +3435,7 @@ Sapphire::Data::GatheringItem::GatheringItem( uint32_t row_id, Sapphire::Data::E auto row = exdData->m_GatheringItemDat.get_row( row_id ); item = exdData->getField< int32_t >( row, 0 ); gatheringItemLevel = exdData->getField< uint16_t >( row, 1 ); - isHidden = exdData->getField< bool >( row, 3 ); + isHidden = exdData->getField< uint32_t >( row, 3 ); } Sapphire::Data::GatheringItemLevelConvertTable::GatheringItemLevelConvertTable( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -2681,9 +3454,25 @@ Sapphire::Data::GatheringItemPoint::GatheringItemPoint( uint32_t row_id, uint32_ Sapphire::Data::GatheringLeve::GatheringLeve( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_GatheringLeveDat.get_row( row_id ); - requiredItem1 = exdData->getField< int32_t >( row, 4 ); - leveLevel = exdData->getField< uint8_t >( row, 5 ); - requiredItem2 = exdData->getField< int32_t >( row, 6 ); + route.push_back( exdData->getField< int32_t >( row, 0 ) ); + route.push_back( exdData->getField< int32_t >( row, 1 ) ); + route.push_back( exdData->getField< int32_t >( row, 2 ) ); + route.push_back( exdData->getField< int32_t >( row, 3 ) ); + requiredItem0 = exdData->getField< int32_t >( row, 4 ); + requiredItemQty0 = exdData->getField< uint8_t >( row, 5 ); + requiredItem1 = exdData->getField< int32_t >( row, 6 ); + requiredItemQty1 = exdData->getField< uint8_t >( row, 7 ); + requiredItem2 = exdData->getField< int32_t >( row, 8 ); + requiredItemQty2 = exdData->getField< uint8_t >( row, 9 ); + requiredItem3 = exdData->getField< int32_t >( row, 10 ); + requiredItemQty3 = exdData->getField< uint8_t >( row, 11 ); + itemNumber = exdData->getField< uint8_t >( row, 12 ); + rule = exdData->getField< int32_t >( row, 13 ); + varient = exdData->getField< uint8_t >( row, 14 ); + objective0 = exdData->getField< uint16_t >( row, 15 ); + objective1 = exdData->getField< uint16_t >( row, 16 ); + bNpcEntry = exdData->getField< int32_t >( row, 17 ); + useSecondaryTool = exdData->getField< bool >( row, 18 ); } Sapphire::Data::GatheringLeveRoute::GatheringLeveRoute( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -2691,6 +3480,12 @@ Sapphire::Data::GatheringLeveRoute::GatheringLeveRoute( uint32_t row_id, Sapphir auto row = exdData->m_GatheringLeveRouteDat.get_row( row_id ); } +Sapphire::Data::GatheringLeveRule::GatheringLeveRule( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_GatheringLeveRuleDat.get_row( row_id ); + rule = exdData->getField< std::string >( row, 0 ); +} + Sapphire::Data::GatheringNotebookList::GatheringNotebookList( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_GatheringNotebookListDat.get_row( row_id ); @@ -2799,7 +3594,9 @@ Sapphire::Data::GatheringNotebookList::GatheringNotebookList( uint32_t row_id, S Sapphire::Data::GatheringPoint::GatheringPoint( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_GatheringPointDat.get_row( row_id ); + type = exdData->getField< uint8_t >( row, 0 ); gatheringPointBase = exdData->getField< int32_t >( row, 1 ); + count = exdData->getField< uint8_t >( row, 2 ); gatheringPointBonus.push_back( exdData->getField< uint16_t >( row, 3 ) ); gatheringPointBonus.push_back( exdData->getField< uint16_t >( row, 4 ) ); territoryType = exdData->getField< uint16_t >( row, 5 ); @@ -2853,6 +3650,9 @@ Sapphire::Data::GatheringPointName::GatheringPointName( uint32_t row_id, Sapphir Sapphire::Data::GatheringSubCategory::GatheringSubCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_GatheringSubCategoryDat.get_row( row_id ); + gatheringType = exdData->getField< uint8_t >( row, 0 ); + classJob = exdData->getField< uint8_t >( row, 1 ); + division = exdData->getField< uint16_t >( row, 3 ); item = exdData->getField< int32_t >( row, 4 ); folkloreBook = exdData->getField< std::string >( row, 5 ); } @@ -3050,6 +3850,8 @@ Sapphire::Data::GeneralAction::GeneralAction( uint32_t row_id, Sapphire::Data::E description = exdData->getField< std::string >( row, 1 ); action = exdData->getField< uint16_t >( row, 3 ); unlockLink = exdData->getField< uint16_t >( row, 4 ); + recast = exdData->getField< uint8_t >( row, 5 ); + uIPriority = exdData->getField< uint8_t >( row, 6 ); icon = exdData->getField< int32_t >( row, 7 ); } @@ -3103,6 +3905,7 @@ Sapphire::Data::GilShop::GilShop( uint32_t row_id, Sapphire::Data::ExdDataGenera auto row = exdData->m_GilShopDat.get_row( row_id ); name = exdData->getField< std::string >( row, 0 ); icon = exdData->getField< uint32_t >( row, 1 ); + quest = exdData->getField< uint32_t >( row, 2 ); acceptTalk = exdData->getField< int32_t >( row, 3 ); failTalk = exdData->getField< int32_t >( row, 4 ); } @@ -3118,6 +3921,35 @@ Sapphire::Data::GilShopItem::GilShopItem( uint32_t row_id, uint32_t subRow, Sapp patch = exdData->getField< uint16_t >( row, 8 ); } +Sapphire::Data::GimmickAccessor::GimmickAccessor( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_GimmickAccessorDat.get_row( row_id ); + param0 = exdData->getField< int32_t >( row, 0 ); + param1 = exdData->getField< uint32_t >( row, 1 ); + param2 = exdData->getField< uint32_t >( row, 2 ); + type = exdData->getField< uint32_t >( row, 3 ); +} + +Sapphire::Data::GimmickJump::GimmickJump( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_GimmickJumpDat.get_row( row_id ); + fallDamage = exdData->getField< uint16_t >( row, 0 ); + height = exdData->getField< int8_t >( row, 1 ); + loopMotion = exdData->getField< uint32_t >( row, 2 ); + endMotion = exdData->getField< uint32_t >( row, 3 ); + startClient = exdData->getField< bool >( row, 4 ); +} + +Sapphire::Data::GimmickRect::GimmickRect( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_GimmickRectDat.get_row( row_id ); + layoutID = exdData->getField< uint32_t >( row, 0 ); + triggerIn = exdData->getField< uint8_t >( row, 1 ); + param0 = exdData->getField< uint32_t >( row, 2 ); + triggerOut = exdData->getField< uint8_t >( row, 6 ); + param1 = exdData->getField< uint32_t >( row, 7 ); +} + Sapphire::Data::GoldSaucerArcadeMachine::GoldSaucerArcadeMachine( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_GoldSaucerArcadeMachineDat.get_row( row_id ); @@ -3155,6 +3987,14 @@ Sapphire::Data::GrandCompanyRank::GrandCompanyRank( uint32_t row_id, Sapphire::D questFlames = exdData->getField< int32_t >( row, 9 ); } +Sapphire::Data::GroupPoseFrame::GroupPoseFrame( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_GroupPoseFrameDat.get_row( row_id ); + image = exdData->getField< int32_t >( row, 1 ); + gridText = exdData->getField< std::string >( row, 2 ); + text = exdData->getField< std::string >( row, 6 ); +} + Sapphire::Data::GuardianDeity::GuardianDeity( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_GuardianDeityDat.get_row( row_id ); @@ -3628,6 +4468,171 @@ Sapphire::Data::HugeCraftworksRank::HugeCraftworksRank( uint32_t row_id, Sapphir expRewardPerItem = exdData->getField< uint32_t >( row, 1 ); } +Sapphire::Data::HWDAnnounce::HWDAnnounce( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HWDAnnounceDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + eNPC = exdData->getField< uint32_t >( row, 1 ); +} + +Sapphire::Data::HWDCrafterSupply::HWDCrafterSupply( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HWDCrafterSupplyDat.get_row( row_id ); + itemTradeIn.push_back( exdData->getField< uint32_t >( row, 0 ) ); + itemTradeIn.push_back( exdData->getField< uint32_t >( row, 1 ) ); + itemTradeIn.push_back( exdData->getField< uint32_t >( row, 2 ) ); + itemTradeIn.push_back( exdData->getField< uint32_t >( row, 3 ) ); + itemTradeIn.push_back( exdData->getField< uint32_t >( row, 4 ) ); + level.push_back( exdData->getField< uint8_t >( row, 16 ) ); + level.push_back( exdData->getField< uint8_t >( row, 17 ) ); + level.push_back( exdData->getField< uint8_t >( row, 18 ) ); + level.push_back( exdData->getField< uint8_t >( row, 19 ) ); + level.push_back( exdData->getField< uint8_t >( row, 20 ) ); + baseCollectableRating.push_back( exdData->getField< uint8_t >( row, 48 ) ); + baseCollectableRating.push_back( exdData->getField< uint8_t >( row, 49 ) ); + baseCollectableRating.push_back( exdData->getField< uint8_t >( row, 50 ) ); + baseCollectableRating.push_back( exdData->getField< uint8_t >( row, 51 ) ); + baseCollectableRating.push_back( exdData->getField< uint8_t >( row, 52 ) ); + midBaseCollectableRating.push_back( exdData->getField< uint16_t >( row, 64 ) ); + midBaseCollectableRating.push_back( exdData->getField< uint16_t >( row, 65 ) ); + midBaseCollectableRating.push_back( exdData->getField< uint16_t >( row, 66 ) ); + midBaseCollectableRating.push_back( exdData->getField< uint16_t >( row, 67 ) ); + midBaseCollectableRating.push_back( exdData->getField< uint16_t >( row, 68 ) ); + highBaseCollectableRating.push_back( exdData->getField< uint16_t >( row, 80 ) ); + highBaseCollectableRating.push_back( exdData->getField< uint16_t >( row, 81 ) ); + highBaseCollectableRating.push_back( exdData->getField< uint16_t >( row, 82 ) ); + highBaseCollectableRating.push_back( exdData->getField< uint16_t >( row, 83 ) ); + highBaseCollectableRating.push_back( exdData->getField< uint16_t >( row, 84 ) ); + baseCollectableReward.push_back( exdData->getField< uint16_t >( row, 96 ) ); + baseCollectableReward.push_back( exdData->getField< uint16_t >( row, 97 ) ); + baseCollectableReward.push_back( exdData->getField< uint16_t >( row, 98 ) ); + baseCollectableReward.push_back( exdData->getField< uint16_t >( row, 99 ) ); + baseCollectableReward.push_back( exdData->getField< uint16_t >( row, 100 ) ); + midCollectableReward.push_back( exdData->getField< uint16_t >( row, 112 ) ); + midCollectableReward.push_back( exdData->getField< uint16_t >( row, 113 ) ); + midCollectableReward.push_back( exdData->getField< uint16_t >( row, 114 ) ); + midCollectableReward.push_back( exdData->getField< uint16_t >( row, 115 ) ); + midCollectableReward.push_back( exdData->getField< uint16_t >( row, 116 ) ); + highCollectableReward.push_back( exdData->getField< uint16_t >( row, 128 ) ); + highCollectableReward.push_back( exdData->getField< uint16_t >( row, 129 ) ); + highCollectableReward.push_back( exdData->getField< uint16_t >( row, 130 ) ); + highCollectableReward.push_back( exdData->getField< uint16_t >( row, 131 ) ); + highCollectableReward.push_back( exdData->getField< uint16_t >( row, 132 ) ); +} + +Sapphire::Data::HWDCrafterSupplyReward::HWDCrafterSupplyReward( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HWDCrafterSupplyRewardDat.get_row( row_id ); + scriptRewardAmount = exdData->getField< uint16_t >( row, 0 ); + expReward = exdData->getField< uint32_t >( row, 1 ); +} + +Sapphire::Data::HWDDevLayerControl::HWDDevLayerControl( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HWDDevLayerControlDat.get_row( row_id ); +} + +Sapphire::Data::HWDDevLevelUI::HWDDevLevelUI( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HWDDevLevelUIDat.get_row( row_id ); +} + +Sapphire::Data::HWDDevLively::HWDDevLively( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HWDDevLivelyDat.get_row( row_id, subRow ); + eNPC = exdData->getField< uint32_t >( row, 0 ); +} + +Sapphire::Data::HWDDevProgress::HWDDevProgress( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HWDDevProgressDat.get_row( row_id ); + canGoNext = exdData->getField< bool >( row, 0 ); +} + +Sapphire::Data::HWDInfoBoardArticle::HWDInfoBoardArticle( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HWDInfoBoardArticleDat.get_row( row_id ); + type = exdData->getField< uint8_t >( row, 0 ); + text = exdData->getField< std::string >( row, 4 ); +} + +Sapphire::Data::HWDInfoBoardArticleTransient::HWDInfoBoardArticleTransient( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HWDInfoBoardArticleTransientDat.get_row( row_id ); + image = exdData->getField< uint32_t >( row, 0 ); + text = exdData->getField< std::string >( row, 1 ); + npcName = exdData->getField< std::string >( row, 2 ); +} + +Sapphire::Data::HWDInfoBoardArticleType::HWDInfoBoardArticleType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HWDInfoBoardArticleTypeDat.get_row( row_id ); + type = exdData->getField< std::string >( row, 0 ); +} + +Sapphire::Data::HWDLevelChangeDeception::HWDLevelChangeDeception( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HWDLevelChangeDeceptionDat.get_row( row_id ); + image = exdData->getField< int32_t >( row, 0 ); +} + +Sapphire::Data::HWDSharedGroup::HWDSharedGroup( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HWDSharedGroupDat.get_row( row_id, subRow ); + lGB = exdData->getField< uint32_t >( row, 0 ); + param = exdData->getField< uint8_t >( row, 1 ); +} + +Sapphire::Data::HWDSharedGroupControlParam::HWDSharedGroupControlParam( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HWDSharedGroupControlParamDat.get_row( row_id, subRow ); + paramValue = exdData->getField< uint8_t >( row, 1 ); +} + +Sapphire::Data::IKDContentBonus::IKDContentBonus( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_IKDContentBonusDat.get_row( row_id ); + objective = exdData->getField< std::string >( row, 0 ); + requirement = exdData->getField< std::string >( row, 1 ); + image = exdData->getField< uint32_t >( row, 3 ); + order = exdData->getField< uint8_t >( row, 4 ); +} + +Sapphire::Data::IKDFishParam::IKDFishParam( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_IKDFishParamDat.get_row( row_id ); + fish = exdData->getField< uint32_t >( row, 0 ); + iKDContentBonus = exdData->getField< uint8_t >( row, 1 ); +} + +Sapphire::Data::IKDRoute::IKDRoute( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_IKDRouteDat.get_row( row_id ); + spot.push_back( exdData->getField< uint32_t >( row, 0 ) ); + spot.push_back( exdData->getField< uint32_t >( row, 1 ) ); + spot.push_back( exdData->getField< uint32_t >( row, 2 ) ); + spot.push_back( exdData->getField< uint32_t >( row, 3 ) ); + spot.push_back( exdData->getField< uint32_t >( row, 4 ) ); + timeDefine = exdData->getField< uint8_t >( row, 5 ); + image = exdData->getField< uint32_t >( row, 6 ); + territoryType = exdData->getField< uint32_t >( row, 7 ); + name = exdData->getField< std::string >( row, 8 ); +} + +Sapphire::Data::IKDRouteTable::IKDRouteTable( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_IKDRouteTableDat.get_row( row_id ); + route = exdData->getField< uint32_t >( row, 0 ); +} + +Sapphire::Data::IKDSpot::IKDSpot( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_IKDSpotDat.get_row( row_id ); + spotMain = exdData->getField< uint32_t >( row, 0 ); + spotSub = exdData->getField< uint32_t >( row, 1 ); + placeName = exdData->getField< uint32_t >( row, 2 ); +} + Sapphire::Data::IndividualWeather::IndividualWeather( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_IndividualWeatherDat.get_row( row_id ); @@ -3649,28 +4654,28 @@ Sapphire::Data::InstanceContent::InstanceContent( uint32_t row_id, Sapphire::Dat instanceContentType = exdData->getField< uint8_t >( row, 0 ); weekRestriction = exdData->getField< uint8_t >( row, 1 ); timeLimitmin = exdData->getField< uint16_t >( row, 2 ); - name = exdData->getField< std::string >( row, 3 ); bGM = exdData->getField< uint16_t >( row, 5 ); - winBGM = exdData->getField< uint16_t >( row, 6 ); + winBGM = exdData->getField< uint32_t >( row, 6 ); cutscene = exdData->getField< uint32_t >( row, 7 ); - order = exdData->getField< uint16_t >( row, 9 ); + order = exdData->getField< uint8_t >( row, 9 ); + colosseum = exdData->getField< bool >( row, 10 ); instanceContentTextDataBossStart = exdData->getField< uint32_t >( row, 12 ); instanceContentTextDataBossEnd = exdData->getField< uint32_t >( row, 13 ); bNpcBaseBoss = exdData->getField< uint32_t >( row, 14 ); instanceContentTextDataObjectiveStart = exdData->getField< uint32_t >( row, 15 ); - instanceContentTextDataObjectiveEnd = exdData->getField< uint32_t >( row, 16 ); - sortKey = exdData->getField< uint16_t >( row, 17 ); + instanceContentTextDataObjectiveEnd = exdData->getField< uint16_t >( row, 16 ); + sortKey = exdData->getField< uint32_t >( row, 17 ); instanceClearExp = exdData->getField< uint32_t >( row, 18 ); newPlayerBonusA = exdData->getField< uint16_t >( row, 20 ); - finalBossCurrencyC = exdData->getField< uint16_t >( row, 21 ); + finalBossCurrencyC = exdData->getField< uint32_t >( row, 21 ); finalBossCurrencyA = exdData->getField< uint16_t >( row, 23 ); finalBossCurrencyB = exdData->getField< uint16_t >( row, 24 ); - newPlayerBonusB = exdData->getField< uint16_t >( row, 25 ); + newPlayerBonusB = exdData->getField< uint32_t >( row, 25 ); instanceClearGil = exdData->getField< uint32_t >( row, 47 ); - instanceContentRewardItem = exdData->getField< uint32_t >( row, 48 ); - finalBossExp = exdData->getField< uint32_t >( row, 50 ); - instanceContentBuff = exdData->getField< int32_t >( row, 51 ); - reqInstance = exdData->getField< uint32_t >( row, 52 ); + instanceContentRewardItem = exdData->getField< uint8_t >( row, 48 ); + finalBossExp = exdData->getField< int32_t >( row, 50 ); + instanceContentBuff = exdData->getField< uint32_t >( row, 51 ); + reqInstance = exdData->getField< int16_t >( row, 52 ); partyCondition = exdData->getField< uint8_t >( row, 54 ); } @@ -3736,42 +4741,47 @@ Sapphire::Data::Item::Item( uint32_t row_id, Sapphire::Data::ExdDataGenerated* e itemRepair = exdData->getField< int32_t >( row, 33 ); itemGlamour = exdData->getField< int32_t >( row, 34 ); salvage = exdData->getField< uint16_t >( row, 35 ); - isCollectable = exdData->getField< bool >( row, 36 ); - aetherialReduce = exdData->getField< uint16_t >( row, 38 ); - levelEquip = exdData->getField< uint8_t >( row, 39 ); - equipRestriction = exdData->getField< uint8_t >( row, 41 ); - classJobCategory = exdData->getField< uint8_t >( row, 42 ); - grandCompany = exdData->getField< uint8_t >( row, 43 ); - itemSeries = exdData->getField< uint8_t >( row, 44 ); - baseParamModifier = exdData->getField< uint8_t >( row, 45 ); - modelMain = exdData->getField< uint64_t >( row, 46 ); - modelSub = exdData->getField< uint64_t >( row, 47 ); - classJobUse = exdData->getField< uint8_t >( row, 48 ); - damagePhys = exdData->getField< uint16_t >( row, 50 ); - damageMag = exdData->getField< uint16_t >( row, 51 ); - delayms = exdData->getField< uint16_t >( row, 52 ); - blockRate = exdData->getField< uint16_t >( row, 54 ); - block = exdData->getField< uint16_t >( row, 55 ); - defensePhys = exdData->getField< uint16_t >( row, 56 ); - defenseMag = exdData->getField< uint16_t >( row, 57 ); - itemSpecialBonus = exdData->getField< uint8_t >( row, 70 ); - itemSpecialBonusParam = exdData->getField< uint8_t >( row, 71 ); - materializeType = exdData->getField< uint8_t >( row, 84 ); - materiaSlotCount = exdData->getField< uint8_t >( row, 85 ); - isAdvancedMeldingPermitted = exdData->getField< bool >( row, 86 ); - isPvP = exdData->getField< bool >( row, 87 ); - isGlamourous = exdData->getField< bool >( row, 89 ); + isCollectable = exdData->getField< bool >( row, 37 ); + alwaysCollectable = exdData->getField< bool >( row, 38 ); + aetherialReduce = exdData->getField< uint16_t >( row, 39 ); + levelEquip = exdData->getField< uint8_t >( row, 40 ); + equipRestriction = exdData->getField< uint8_t >( row, 42 ); + classJobCategory = exdData->getField< uint8_t >( row, 43 ); + grandCompany = exdData->getField< uint8_t >( row, 44 ); + itemSeries = exdData->getField< uint8_t >( row, 45 ); + baseParamModifier = exdData->getField< uint8_t >( row, 46 ); + modelMain = exdData->getField< uint64_t >( row, 47 ); + modelSub = exdData->getField< uint64_t >( row, 48 ); + classJobUse = exdData->getField< uint8_t >( row, 49 ); + damagePhys = exdData->getField< uint16_t >( row, 51 ); + damageMag = exdData->getField< uint16_t >( row, 52 ); + delayms = exdData->getField< uint16_t >( row, 53 ); + blockRate = exdData->getField< uint16_t >( row, 55 ); + block = exdData->getField< uint16_t >( row, 56 ); + defensePhys = exdData->getField< uint16_t >( row, 57 ); + defenseMag = exdData->getField< uint16_t >( row, 58 ); + itemSpecialBonus = exdData->getField< uint8_t >( row, 71 ); + itemSpecialBonusParam = exdData->getField< uint8_t >( row, 72 ); + materializeType = exdData->getField< uint8_t >( row, 85 ); + materiaSlotCount = exdData->getField< uint8_t >( row, 86 ); + isAdvancedMeldingPermitted = exdData->getField< bool >( row, 87 ); + isPvP = exdData->getField< bool >( row, 88 ); + isGlamourous = exdData->getField< bool >( row, 90 ); for( int i = 0; i < 6; ++i ) { - param[i].baseparam = exdData->getField< uint8_t >( row, 58 + i * 2 ); - param[i].value = exdData->getField< int16_t >( row, 59 + i * 2 ); + param[i].baseparam = exdData->getField< uint8_t >( row, 59 + i * 2 ); + param[i].value = exdData->getField< int16_t >( row, 60 + i * 2 ); } } Sapphire::Data::ItemAction::ItemAction( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_ItemActionDat.get_row( row_id ); + condLv = exdData->getField< uint8_t >( row, 0 ); + condBattle = exdData->getField< bool >( row, 1 ); + condPVP = exdData->getField< bool >( row, 2 ); + condPVPOnly = exdData->getField< bool >( row, 3 ); type = exdData->getField< uint16_t >( row, 4 ); data.push_back( exdData->getField< uint16_t >( row, 5 ) ); data.push_back( exdData->getField< uint16_t >( row, 6 ) ); @@ -3927,6 +4937,8 @@ Sapphire::Data::JournalCategory::JournalCategory( uint32_t row_id, Sapphire::Dat { auto row = exdData->m_JournalCategoryDat.get_row( row_id ); name = exdData->getField< std::string >( row, 0 ); + separateType = exdData->getField< uint8_t >( row, 1 ); + dataType = exdData->getField< uint8_t >( row, 2 ); journalSection = exdData->getField< uint8_t >( row, 3 ); } @@ -3944,6 +4956,28 @@ Sapphire::Data::JournalSection::JournalSection( uint32_t row_id, Sapphire::Data: name = exdData->getField< std::string >( row, 0 ); } +Sapphire::Data::Knockback::Knockback( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_KnockbackDat.get_row( row_id ); + distance = exdData->getField< uint8_t >( row, 0 ); + speed = exdData->getField< uint8_t >( row, 1 ); + motion = exdData->getField< bool >( row, 2 ); + nearDistance = exdData->getField< uint8_t >( row, 3 ); + direction = exdData->getField< uint8_t >( row, 4 ); + directionArg = exdData->getField< uint8_t >( row, 5 ); + cancelMove = exdData->getField< bool >( row, 6 ); +} + +Sapphire::Data::LegacyQuest::LegacyQuest( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_LegacyQuestDat.get_row( row_id ); + legacyQuestID = exdData->getField< uint16_t >( row, 0 ); + text = exdData->getField< std::string >( row, 1 ); + string = exdData->getField< std::string >( row, 2 ); + sortKey = exdData->getField< uint16_t >( row, 3 ); + genre = exdData->getField< uint8_t >( row, 4 ); +} + Sapphire::Data::Leve::Leve( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_LeveDat.get_row( row_id ); @@ -3951,8 +4985,11 @@ Sapphire::Data::Leve::Leve( uint32_t row_id, Sapphire::Data::ExdDataGenerated* e description = exdData->getField< std::string >( row, 1 ); leveClient = exdData->getField< int32_t >( row, 2 ); leveAssignmentType = exdData->getField< int32_t >( row, 3 ); + town = exdData->getField< int32_t >( row, 4 ); classJobLevel = exdData->getField< uint16_t >( row, 5 ); + timeLimit = exdData->getField< uint8_t >( row, 6 ); allowanceCost = exdData->getField< uint8_t >( row, 7 ); + evaluation = exdData->getField< int32_t >( row, 8 ); placeNameStart = exdData->getField< int32_t >( row, 9 ); placeNameIssued = exdData->getField< int32_t >( row, 10 ); classJobCategory = exdData->getField< uint8_t >( row, 12 ); @@ -3960,6 +4997,9 @@ Sapphire::Data::Leve::Leve( uint32_t row_id, Sapphire::Data::ExdDataGenerated* e placeNameStartZone = exdData->getField< int32_t >( row, 15 ); iconCityState = exdData->getField< int32_t >( row, 16 ); dataId = exdData->getField< int32_t >( row, 17 ); + canCancel = exdData->getField< bool >( row, 18 ); + maxDifficulty = exdData->getField< uint8_t >( row, 19 ); + expFactor = exdData->getField< float >( row, 20 ); expReward = exdData->getField< uint32_t >( row, 21 ); gilReward = exdData->getField< uint32_t >( row, 22 ); leveRewardItem = exdData->getField< uint16_t >( row, 23 ); @@ -3967,6 +5007,7 @@ Sapphire::Data::Leve::Leve( uint32_t row_id, Sapphire::Data::ExdDataGenerated* e leveVfxFrame = exdData->getField< uint8_t >( row, 25 ); levelLevemete = exdData->getField< uint32_t >( row, 26 ); iconIssuer = exdData->getField< int32_t >( row, 27 ); + lockedLeve = exdData->getField< bool >( row, 28 ); levelStart = exdData->getField< uint32_t >( row, 29 ); bGM = exdData->getField< uint16_t >( row, 30 ); } @@ -4010,6 +5051,12 @@ Sapphire::Data::LeveRewardItemGroup::LeveRewardItemGroup( uint32_t row_id, Sapph auto row = exdData->m_LeveRewardItemGroupDat.get_row( row_id ); } +Sapphire::Data::LeveString::LeveString( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_LeveStringDat.get_row( row_id ); + objective = exdData->getField< std::string >( row, 0 ); +} + Sapphire::Data::LeveVfx::LeveVfx( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_LeveVfxDat.get_row( row_id ); @@ -4017,10 +5064,24 @@ Sapphire::Data::LeveVfx::LeveVfx( uint32_t row_id, Sapphire::Data::ExdDataGenera icon = exdData->getField< int32_t >( row, 1 ); } +Sapphire::Data::Lobby::Lobby( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_LobbyDat.get_row( row_id ); + tYPE = exdData->getField< uint32_t >( row, 0 ); + pARAM = exdData->getField< uint32_t >( row, 1 ); + lINK = exdData->getField< uint32_t >( row, 2 ); + text = exdData->getField< std::string >( row, 3 ); +} + Sapphire::Data::LogFilter::LogFilter( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_LogFilterDat.get_row( row_id ); logKind = exdData->getField< uint8_t >( row, 0 ); + caster = exdData->getField< uint16_t >( row, 1 ); + target = exdData->getField< uint16_t >( row, 2 ); + category = exdData->getField< uint8_t >( row, 3 ); + displayOrder = exdData->getField< uint8_t >( row, 4 ); + preset = exdData->getField< uint8_t >( row, 5 ); name = exdData->getField< std::string >( row, 6 ); example = exdData->getField< std::string >( row, 7 ); } @@ -4029,15 +5090,6 @@ Sapphire::Data::LogKind::LogKind( uint32_t row_id, Sapphire::Data::ExdDataGenera { auto row = exdData->m_LogKindDat.get_row( row_id ); format = exdData->getField< std::string >( row, 1 ); - name = exdData->getField< std::string >( row, 2 ); - example = exdData->getField< std::string >( row, 3 ); - logKindCategoryText = exdData->getField< uint8_t >( row, 4 ); -} - -Sapphire::Data::LogKindCategoryText::LogKindCategoryText( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) -{ - auto row = exdData->m_LogKindCategoryTextDat.get_row( row_id ); - text = exdData->getField< std::string >( row, 0 ); } Sapphire::Data::LogMessage::LogMessage( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -4101,7 +5153,9 @@ Sapphire::Data::MainCommand::MainCommand( uint32_t row_id, Sapphire::Data::ExdDa { auto row = exdData->m_MainCommandDat.get_row( row_id ); icon = exdData->getField< int32_t >( row, 0 ); + category = exdData->getField< uint8_t >( row, 1 ); mainCommandCategory = exdData->getField< uint8_t >( row, 2 ); + sortID = exdData->getField< int8_t >( row, 3 ); name = exdData->getField< std::string >( row, 4 ); description = exdData->getField< std::string >( row, 5 ); } @@ -4127,6 +5181,9 @@ Sapphire::Data::ManeuversArmor::ManeuversArmor( uint32_t row_id, Sapphire::Data: Sapphire::Data::Map::Map( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_MapDat.get_row( row_id ); + mapCondition = exdData->getField< uint8_t >( row, 0 ); + priorityCategoryUI = exdData->getField< uint8_t >( row, 1 ); + priorityUI = exdData->getField< uint8_t >( row, 2 ); mapIndex = exdData->getField< int8_t >( row, 3 ); hierarchy = exdData->getField< uint8_t >( row, 4 ); mapMarkerRange = exdData->getField< uint16_t >( row, 5 ); @@ -4138,8 +5195,10 @@ Sapphire::Data::Map::Map( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exd placeName = exdData->getField< uint16_t >( row, 11 ); placeNameSub = exdData->getField< uint16_t >( row, 12 ); discoveryIndex = exdData->getField< int16_t >( row, 13 ); + discoveryFlag = exdData->getField< uint32_t >( row, 14 ); territoryType = exdData->getField< uint16_t >( row, 15 ); discoveryArrayByte = exdData->getField< bool >( row, 16 ); + isEvent = exdData->getField< bool >( row, 17 ); } Sapphire::Data::MapMarker::MapMarker( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ) @@ -4167,6 +5226,7 @@ Sapphire::Data::MapSymbol::MapSymbol( uint32_t row_id, Sapphire::Data::ExdDataGe auto row = exdData->m_MapSymbolDat.get_row( row_id ); icon = exdData->getField< int32_t >( row, 0 ); placeName = exdData->getField< int32_t >( row, 1 ); + displayNavi = exdData->getField< bool >( row, 2 ); } Sapphire::Data::Marker::Marker( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -4245,6 +5305,12 @@ Sapphire::Data::MateriaJoinRateGatherCraft::MateriaJoinRateGatherCraft( uint32_t HQOvermeldSlot.push_back( exdData->getField< float >( row, 7 ) ); } +Sapphire::Data::MateriaTomestoneRate::MateriaTomestoneRate( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_MateriaTomestoneRateDat.get_row( row_id ); + rate = exdData->getField< uint32_t >( row, 0 ); +} + Sapphire::Data::MiniGameRA::MiniGameRA( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_MiniGameRADat.get_row( row_id ); @@ -4275,13 +5341,16 @@ Sapphire::Data::MobHuntOrder::MobHuntOrder( uint32_t row_id, uint32_t subRow, Sa { auto row = exdData->m_MobHuntOrderDat.get_row( row_id, subRow ); target = exdData->getField< uint16_t >( row, 0 ); - stars = exdData->getField< uint8_t >( row, 1 ); + neededKills = exdData->getField< uint8_t >( row, 1 ); + type = exdData->getField< uint8_t >( row, 2 ); + rank = exdData->getField< uint8_t >( row, 3 ); mobHuntReward = exdData->getField< uint8_t >( row, 4 ); } Sapphire::Data::MobHuntOrderType::MobHuntOrderType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_MobHuntOrderTypeDat.get_row( row_id ); + type = exdData->getField< uint8_t >( row, 0 ); quest = exdData->getField< uint32_t >( row, 1 ); eventItem = exdData->getField< uint32_t >( row, 2 ); orderStart = exdData->getField< uint16_t >( row, 3 ); @@ -4293,6 +5362,7 @@ Sapphire::Data::MobHuntReward::MobHuntReward( uint32_t row_id, Sapphire::Data::E auto row = exdData->m_MobHuntRewardDat.get_row( row_id ); expReward = exdData->getField< uint32_t >( row, 0 ); gilReward = exdData->getField< uint16_t >( row, 1 ); + expansion = exdData->getField< uint8_t >( row, 2 ); currencyReward = exdData->getField< uint16_t >( row, 3 ); } @@ -4319,12 +5389,21 @@ Sapphire::Data::ModelChara::ModelChara( uint32_t row_id, Sapphire::Data::ExdData model = exdData->getField< uint16_t >( row, 1 ); base = exdData->getField< uint8_t >( row, 2 ); variant = exdData->getField< uint8_t >( row, 3 ); + sEPack = exdData->getField< uint16_t >( row, 4 ); + papVariation = exdData->getField< bool >( row, 7 ); } Sapphire::Data::ModelSkeleton::ModelSkeleton( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_ModelSkeletonDat.get_row( row_id ); - scaleFactor = exdData->getField< float >( row, 0 ); + radius = exdData->getField< float >( row, 0 ); + height = exdData->getField< float >( row, 1 ); + vFXScale = exdData->getField< float >( row, 2 ); + floatHeight = exdData->getField< float >( row, 11 ); + floatDown = exdData->getField< float >( row, 12 ); + floatUp = exdData->getField< uint16_t >( row, 13 ); + motionBlendType = exdData->getField< bool >( row, 15 ); + loopFlySE = exdData->getField< uint8_t >( row, 16 ); } Sapphire::Data::ModelState::ModelState( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -4353,6 +5432,28 @@ Sapphire::Data::MonsterNoteTarget::MonsterNoteTarget( uint32_t row_id, Sapphire: auto row = exdData->m_MonsterNoteTargetDat.get_row( row_id ); bNpcName = exdData->getField< uint16_t >( row, 0 ); icon = exdData->getField< int32_t >( row, 1 ); + town = exdData->getField< uint8_t >( row, 2 ); +} + +Sapphire::Data::MotionTimeline::MotionTimeline( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_MotionTimelineDat.get_row( row_id ); + filename = exdData->getField< std::string >( row, 0 ); + blendGroup = exdData->getField< uint8_t >( row, 1 ); + isLoop = exdData->getField< bool >( row, 2 ); + isBlinkEnable = exdData->getField< bool >( row, 3 ); + isLipEnable = exdData->getField< bool >( row, 4 ); +} + +Sapphire::Data::MotionTimelineBlendTable::MotionTimelineBlendTable( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_MotionTimelineBlendTableDat.get_row( row_id ); + destBlendGroup = exdData->getField< uint8_t >( row, 0 ); + srcBlendGroup = exdData->getField< uint8_t >( row, 1 ); + blendFrame_PC = exdData->getField< uint8_t >( row, 2 ); + blendFram_TypeA = exdData->getField< uint8_t >( row, 3 ); + blendFram_TypeB = exdData->getField< uint8_t >( row, 4 ); + blendFram_TypeC = exdData->getField< uint8_t >( row, 5 ); } Sapphire::Data::Mount::Mount( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -4370,11 +5471,23 @@ Sapphire::Data::Mount::Mount( uint32_t row_id, Sapphire::Data::ExdDataGenerated* isFlying = exdData->getField< uint8_t >( row, 14 ); mountCustomize = exdData->getField< uint8_t >( row, 16 ); rideBGM = exdData->getField< uint16_t >( row, 17 ); + exitMoveDist = exdData->getField< uint8_t >( row, 21 ); + exitMoveSpeed = exdData->getField< uint8_t >( row, 22 ); + isEmote = exdData->getField< bool >( row, 24 ); + equipHead = exdData->getField< int32_t >( row, 25 ); + equipBody = exdData->getField< int32_t >( row, 26 ); + equipLeg = exdData->getField< int32_t >( row, 27 ); + equipFoot = exdData->getField< int32_t >( row, 28 ); order = exdData->getField< int16_t >( row, 29 ); icon = exdData->getField< uint16_t >( row, 30 ); + uIPriority = exdData->getField< uint8_t >( row, 31 ); + radiusRate = exdData->getField< uint8_t >( row, 32 ); + baseMotionSpeed_Run = exdData->getField< uint8_t >( row, 33 ); + baseMotionSpeed_Walk = exdData->getField< uint8_t >( row, 34 ); extraSeats = exdData->getField< uint8_t >( row, 36 ); mountAction = exdData->getField< uint16_t >( row, 37 ); isAirborne = exdData->getField< bool >( row, 38 ); + exHotbarEnableConfig = exdData->getField< bool >( row, 39 ); useEP = exdData->getField< bool >( row, 40 ); isImmobile = exdData->getField< bool >( row, 42 ); } @@ -4469,11 +5582,43 @@ Sapphire::Data::MoveVfx::MoveVfx( uint32_t row_id, Sapphire::Data::ExdDataGenera vFXWalking = exdData->getField< uint16_t >( row, 1 ); } +Sapphire::Data::MovieSubtitle::MovieSubtitle( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_MovieSubtitleDat.get_row( row_id ); + startTime = exdData->getField< float >( row, 0 ); + endTime = exdData->getField< float >( row, 1 ); +} + +Sapphire::Data::MovieSubtitle500::MovieSubtitle500( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_MovieSubtitle500Dat.get_row( row_id ); + startTime = exdData->getField< float >( row, 0 ); + endTime = exdData->getField< float >( row, 1 ); +} + +Sapphire::Data::MovieSubtitleVoyage::MovieSubtitleVoyage( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_MovieSubtitleVoyageDat.get_row( row_id ); + startTime = exdData->getField< float >( row, 0 ); + endTime = exdData->getField< float >( row, 1 ); +} + Sapphire::Data::NotebookDivision::NotebookDivision( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_NotebookDivisionDat.get_row( row_id ); name = exdData->getField< std::string >( row, 0 ); notebookDivisionCategory = exdData->getField< uint8_t >( row, 1 ); + craftOpeningLevel = exdData->getField< uint8_t >( row, 2 ); + gatheringOpeningLevel = exdData->getField< uint8_t >( row, 3 ); + questUnlock = exdData->getField< uint32_t >( row, 4 ); + cRPCraft = exdData->getField< bool >( row, 7 ); + bSMCraft = exdData->getField< bool >( row, 8 ); + aRMCraft = exdData->getField< bool >( row, 9 ); + gSMCraft = exdData->getField< bool >( row, 10 ); + lTWCraft = exdData->getField< bool >( row, 11 ); + wVRCraft = exdData->getField< bool >( row, 12 ); + aLCCraft = exdData->getField< bool >( row, 13 ); + cULCraft = exdData->getField< bool >( row, 14 ); } Sapphire::Data::NotebookDivisionCategory::NotebookDivisionCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -4523,18 +5668,27 @@ Sapphire::Data::NpcEquip::NpcEquip( uint32_t row_id, Sapphire::Data::ExdDataGene Sapphire::Data::NpcYell::NpcYell( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_NpcYellDat.get_row( row_id ); - text = exdData->getField< std::string >( row, 9 ); + outputType = exdData->getField< uint8_t >( row, 5 ); + balloonTime = exdData->getField< float >( row, 6 ); + isBalloonSlow = exdData->getField< bool >( row, 7 ); + battleTalkTime = exdData->getField< bool >( row, 8 ); + text = exdData->getField< float >( row, 9 ); } Sapphire::Data::Omen::Omen( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_OmenDat.get_row( row_id ); - fileName = exdData->getField< std::string >( row, 0 ); + path = exdData->getField< std::string >( row, 0 ); + pathAlly = exdData->getField< std::string >( row, 1 ); + type = exdData->getField< uint8_t >( row, 2 ); + restrictYScale = exdData->getField< bool >( row, 3 ); + largeScale = exdData->getField< bool >( row, 4 ); } Sapphire::Data::OnlineStatus::OnlineStatus( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_OnlineStatusDat.get_row( row_id ); + list = exdData->getField< bool >( row, 0 ); priority = exdData->getField< uint8_t >( row, 2 ); name = exdData->getField< std::string >( row, 3 ); icon = exdData->getField< uint32_t >( row, 4 ); @@ -4621,6 +5775,7 @@ Sapphire::Data::ParamGrow::ParamGrow( uint32_t row_id, Sapphire::Data::ExdDataGe auto row = exdData->m_ParamGrowDat.get_row( row_id ); expToNext = exdData->getField< int32_t >( row, 0 ); additionalActions = exdData->getField< uint8_t >( row, 1 ); + applyAction = exdData->getField< uint8_t >( row, 2 ); scaledQuestXP = exdData->getField< uint16_t >( row, 3 ); mpModifier = exdData->getField< int32_t >( row, 4 ); baseSpeed = exdData->getField< int32_t >( row, 5 ); @@ -4628,7 +5783,10 @@ Sapphire::Data::ParamGrow::ParamGrow( uint32_t row_id, Sapphire::Data::ExdDataGe questExpModifier = exdData->getField< uint8_t >( row, 7 ); hpModifier = exdData->getField< uint16_t >( row, 8 ); huntingLogExpReward = exdData->getField< int32_t >( row, 9 ); + monsterNoteSeals = exdData->getField< int32_t >( row, 10 ); itemLevelSync = exdData->getField< uint16_t >( row, 11 ); + properDungeon = exdData->getField< uint16_t >( row, 12 ); + properGuildOrder = exdData->getField< uint16_t >( row, 13 ); craftingLevel = exdData->getField< uint16_t >( row, 14 ); } @@ -4637,7 +5795,7 @@ Sapphire::Data::PartyContent::PartyContent( uint32_t row_id, Sapphire::Data::Exd auto row = exdData->m_PartyContentDat.get_row( row_id ); key = exdData->getField< uint8_t >( row, 0 ); timeLimit = exdData->getField< uint16_t >( row, 1 ); - name = exdData->getField< std::string >( row, 2 ); + name = exdData->getField< bool >( row, 2 ); textDataStart = exdData->getField< uint32_t >( row, 3 ); textDataEnd = exdData->getField< uint32_t >( row, 4 ); contentFinderCondition = exdData->getField< uint16_t >( row, 33 ); @@ -4656,6 +5814,16 @@ Sapphire::Data::PartyContentTextData::PartyContentTextData( uint32_t row_id, Sap data = exdData->getField< std::string >( row, 0 ); } +Sapphire::Data::PatchMark::PatchMark( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_PatchMarkDat.get_row( row_id ); + category = exdData->getField< int8_t >( row, 0 ); + subCategoryType = exdData->getField< uint8_t >( row, 1 ); + subCategory = exdData->getField< uint16_t >( row, 2 ); + markID = exdData->getField< uint32_t >( row, 5 ); + version = exdData->getField< uint8_t >( row, 6 ); +} + Sapphire::Data::Perform::Perform( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_PerformDat.get_row( row_id ); @@ -4691,6 +5859,43 @@ Sapphire::Data::PetAction::PetAction( uint32_t row_id, Sapphire::Data::ExdDataGe icon = exdData->getField< int32_t >( row, 2 ); action = exdData->getField< uint16_t >( row, 3 ); pet = exdData->getField< uint8_t >( row, 4 ); + masterOrder = exdData->getField< bool >( row, 5 ); + disableOrder = exdData->getField< bool >( row, 6 ); +} + +Sapphire::Data::PhysicsGroup::PhysicsGroup( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_PhysicsGroupDat.get_row( row_id ); + simulationTime.push_back( exdData->getField< float >( row, 0 ) ); + simulationTime.push_back( exdData->getField< float >( row, 1 ) ); + simulationTime.push_back( exdData->getField< float >( row, 2 ) ); + simulationTime.push_back( exdData->getField< float >( row, 3 ) ); + simulationTime.push_back( exdData->getField< float >( row, 4 ) ); + simulationTime.push_back( exdData->getField< float >( row, 5 ) ); + pS3SimulationTime.push_back( exdData->getField< float >( row, 6 ) ); + pS3SimulationTime.push_back( exdData->getField< float >( row, 7 ) ); + pS3SimulationTime.push_back( exdData->getField< float >( row, 8 ) ); + pS3SimulationTime.push_back( exdData->getField< float >( row, 9 ) ); + pS3SimulationTime.push_back( exdData->getField< float >( row, 10 ) ); + pS3SimulationTime.push_back( exdData->getField< float >( row, 11 ) ); + resetByLookAt = exdData->getField< bool >( row, 12 ); + rootFollowingGame = exdData->getField< float >( row, 13 ); + rootFollowingCutScene = exdData->getField< float >( row, 14 ); + configSwitch.push_back( exdData->getField< int8_t >( row, 15 ) ); + configSwitch.push_back( exdData->getField< int8_t >( row, 16 ) ); + configSwitch.push_back( exdData->getField< int8_t >( row, 17 ) ); + forceAttractByPhysicsOff = exdData->getField< bool >( row, 18 ); +} + +Sapphire::Data::PhysicsWind::PhysicsWind( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_PhysicsWindDat.get_row( row_id ); + threshold = exdData->getField< float >( row, 0 ); + amplitude = exdData->getField< float >( row, 1 ); + amplitudeFrequency = exdData->getField< float >( row, 2 ); + powerMin = exdData->getField< float >( row, 3 ); + powerMax = exdData->getField< float >( row, 4 ); + powerFrequency = exdData->getField< float >( row, 5 ); } Sapphire::Data::Picture::Picture( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -4698,7 +5903,6 @@ Sapphire::Data::Picture::Picture( uint32_t row_id, Sapphire::Data::ExdDataGenera auto row = exdData->m_PictureDat.get_row( row_id ); item = exdData->getField< int32_t >( row, 0 ); image = exdData->getField< int32_t >( row, 1 ); - signature = exdData->getField< int32_t >( row, 2 ); } Sapphire::Data::PlaceName::PlaceName( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -4729,6 +5933,47 @@ Sapphire::Data::PreHandler::PreHandler( uint32_t row_id, Sapphire::Data::ExdData actionTimeline = exdData->getField< uint16_t >( row, 2 ); } +Sapphire::Data::PresetCamera::PresetCamera( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_PresetCameraDat.get_row( row_id ); + eID = exdData->getField< uint16_t >( row, 0 ); + posX = exdData->getField< float >( row, 1 ); + posY = exdData->getField< float >( row, 2 ); + posZ = exdData->getField< float >( row, 3 ); + elezen = exdData->getField< float >( row, 4 ); + lalafell = exdData->getField< float >( row, 5 ); + miqote = exdData->getField< float >( row, 6 ); + roe = exdData->getField< float >( row, 7 ); + hrothgar = exdData->getField< float >( row, 8 ); + viera = exdData->getField< float >( row, 9 ); + hyur_F = exdData->getField< float >( row, 10 ); + elezen_F = exdData->getField< float >( row, 11 ); + lalafell_F = exdData->getField< float >( row, 12 ); + miqote_F = exdData->getField< float >( row, 13 ); + roe_F = exdData->getField< float >( row, 14 ); + hrothgar_F = exdData->getField< float >( row, 15 ); + viera_F = exdData->getField< float >( row, 16 ); +} + +Sapphire::Data::PresetCameraAdjust::PresetCameraAdjust( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_PresetCameraAdjustDat.get_row( row_id ); + hyur_M = exdData->getField< float >( row, 0 ); + hyur_F = exdData->getField< float >( row, 1 ); + elezen_M = exdData->getField< float >( row, 2 ); + elezen_F = exdData->getField< float >( row, 3 ); + lalafell_M = exdData->getField< float >( row, 4 ); + lalafell_F = exdData->getField< float >( row, 5 ); + miqote_M = exdData->getField< float >( row, 6 ); + miqote_F = exdData->getField< float >( row, 7 ); + roe_M = exdData->getField< float >( row, 8 ); + roe_F = exdData->getField< float >( row, 9 ); + hrothgar_M = exdData->getField< float >( row, 10 ); + hrothgar_F = exdData->getField< float >( row, 11 ); + viera_M = exdData->getField< float >( row, 12 ); + viera_F = exdData->getField< float >( row, 13 ); +} + Sapphire::Data::PublicContent::PublicContent( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_PublicContentDat.get_row( row_id ); @@ -4755,10 +6000,20 @@ Sapphire::Data::PublicContentTextData::PublicContentTextData( uint32_t row_id, S textData = exdData->getField< std::string >( row, 0 ); } +Sapphire::Data::Purify::Purify( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_PurifyDat.get_row( row_id ); + _class = exdData->getField< uint8_t >( row, 0 ); + level = exdData->getField< uint8_t >( row, 1 ); +} + Sapphire::Data::PvPAction::PvPAction( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_PvPActionDat.get_row( row_id ); action = exdData->getField< uint16_t >( row, 0 ); + grandCompany.push_back( exdData->getField< bool >( row, 5 ) ); + grandCompany.push_back( exdData->getField< bool >( row, 6 ) ); + grandCompany.push_back( exdData->getField< bool >( row, 7 ) ); } Sapphire::Data::PvPActionSort::PvPActionSort( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ) @@ -5736,6 +6991,13 @@ Sapphire::Data::QuestBattle::QuestBattle( uint32_t row_id, Sapphire::Data::ExdDa scriptValue.push_back( exdData->getField< uint32_t >( row, 403 ) ); } +Sapphire::Data::QuestChapter::QuestChapter( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_QuestChapterDat.get_row( row_id ); + quest = exdData->getField< uint32_t >( row, 0 ); + redo = exdData->getField< uint16_t >( row, 1 ); +} + Sapphire::Data::QuestClassJobReward::QuestClassJobReward( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_QuestClassJobRewardDat.get_row( row_id, subRow ); @@ -5766,6 +7028,84 @@ Sapphire::Data::QuestClassJobSupply::QuestClassJobSupply( uint32_t row_id, uint3 item = exdData->getField< uint32_t >( row, 3 ); } +Sapphire::Data::QuestDerivedClass::QuestDerivedClass( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_QuestDerivedClassDat.get_row( row_id ); + quest = exdData->getField< uint32_t >( row, 0 ); +} + +Sapphire::Data::QuestRedo::QuestRedo( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_QuestRedoDat.get_row( row_id ); + finalQuest = exdData->getField< uint32_t >( row, 0 ); + chapter = exdData->getField< uint16_t >( row, 2 ); + quest.push_back( exdData->getField< uint32_t >( row, 3 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 4 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 5 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 6 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 7 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 8 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 9 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 10 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 11 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 12 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 13 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 14 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 15 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 16 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 17 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 18 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 19 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 20 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 21 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 22 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 23 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 24 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 25 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 26 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 27 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 28 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 29 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 30 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 31 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 32 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 33 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 34 ) ); +} + +Sapphire::Data::QuestRedoChapterUI::QuestRedoChapterUI( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_QuestRedoChapterUIDat.get_row( row_id ); + quest = exdData->getField< uint32_t >( row, 0 ); + category = exdData->getField< uint8_t >( row, 2 ); + questRedoUISmall = exdData->getField< uint32_t >( row, 4 ); + questRedoUILarge = exdData->getField< uint32_t >( row, 5 ); + questRedoUIWide = exdData->getField< uint32_t >( row, 6 ); + chapterName = exdData->getField< std::string >( row, 7 ); + chapterPart = exdData->getField< std::string >( row, 8 ); + transient = exdData->getField< std::string >( row, 9 ); +} + +Sapphire::Data::QuestRedoChapterUICategory::QuestRedoChapterUICategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_QuestRedoChapterUICategoryDat.get_row( row_id ); + expac = exdData->getField< std::string >( row, 1 ); +} + +Sapphire::Data::QuestRedoChapterUITab::QuestRedoChapterUITab( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_QuestRedoChapterUITabDat.get_row( row_id ); + icon1 = exdData->getField< uint32_t >( row, 1 ); + icon2 = exdData->getField< uint32_t >( row, 2 ); + text = exdData->getField< std::string >( row, 3 ); +} + +Sapphire::Data::QuestRedoIncompChapter::QuestRedoIncompChapter( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_QuestRedoIncompChapterDat.get_row( row_id, subRow ); + chapter = exdData->getField< uint16_t >( row, 0 ); +} + Sapphire::Data::QuestRepeatFlag::QuestRepeatFlag( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_QuestRepeatFlagDat.get_row( row_id ); @@ -5865,6 +7205,7 @@ Sapphire::Data::RecastNavimesh::RecastNavimesh( uint32_t row_id, Sapphire::Data: Sapphire::Data::Recipe::Recipe( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_RecipeDat.get_row( row_id ); + number = exdData->getField< int32_t >( row, 0 ); craftType = exdData->getField< int32_t >( row, 1 ); recipeLevelTable = exdData->getField< uint16_t >( row, 2 ); itemResult = exdData->getField< int32_t >( row, 3 ); @@ -6069,6 +7410,9 @@ Sapphire::Data::RecommendContents::RecommendContents( uint32_t row_id, Sapphire: { auto row = exdData->m_RecommendContentsDat.get_row( row_id ); level = exdData->getField< int32_t >( row, 0 ); + classJob = exdData->getField< uint8_t >( row, 1 ); + minLevel = exdData->getField< uint8_t >( row, 2 ); + maxLevel = exdData->getField< uint8_t >( row, 3 ); } Sapphire::Data::Relic::Relic( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -6077,6 +7421,19 @@ Sapphire::Data::Relic::Relic( uint32_t row_id, Sapphire::Data::ExdDataGenerated* itemAtma = exdData->getField< uint32_t >( row, 0 ); itemAnimus = exdData->getField< uint32_t >( row, 1 ); icon = exdData->getField< int32_t >( row, 2 ); + materia0 = exdData->getField< uint16_t >( row, 3 ); + noteMain0 = exdData->getField< uint8_t >( row, 4 ); + noteSub0 = exdData->getField< uint8_t >( row, 5 ); + noteSelection10 = exdData->getField< uint8_t >( row, 6 ); + materia1 = exdData->getField< uint16_t >( row, 7 ); + noteMain1 = exdData->getField< uint8_t >( row, 8 ); + noteSub1 = exdData->getField< uint8_t >( row, 9 ); + noteSelection1 = exdData->getField< uint8_t >( row, 10 ); + materia2 = exdData->getField< uint16_t >( row, 11 ); + noteMain2 = exdData->getField< uint8_t >( row, 12 ); + noteSub2 = exdData->getField< uint8_t >( row, 13 ); + materia3 = exdData->getField< uint16_t >( row, 14 ); + noteSelection3 = exdData->getField< uint8_t >( row, 15 ); } Sapphire::Data::Relic3::Relic3( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -6200,6 +7557,7 @@ Sapphire::Data::SatisfactionNpc::SatisfactionNpc( uint32_t row_id, Sapphire::Dat auto row = exdData->m_SatisfactionNpcDat.get_row( row_id ); npc = exdData->getField< int32_t >( row, 0 ); questRequired = exdData->getField< int32_t >( row, 1 ); + levelUnlock = exdData->getField< uint8_t >( row, 2 ); deliveriesPerWeek = exdData->getField< uint8_t >( row, 3 ); supplyIndex.push_back( exdData->getField< int32_t >( row, 4 ) ); supplyIndex.push_back( exdData->getField< int32_t >( row, 5 ) ); @@ -6278,6 +7636,9 @@ Sapphire::Data::ScreenImage::ScreenImage( uint32_t row_id, Sapphire::Data::ExdDa { auto row = exdData->m_ScreenImageDat.get_row( row_id ); image = exdData->getField< uint32_t >( row, 0 ); + jingle = exdData->getField< int16_t >( row, 1 ); + type = exdData->getField< int8_t >( row, 2 ); + lang = exdData->getField< bool >( row, 3 ); } Sapphire::Data::SecretRecipeBook::SecretRecipeBook( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -6340,6 +7701,7 @@ Sapphire::Data::SpearfishingItem::SpearfishingItem( uint32_t row_id, Sapphire::D description = exdData->getField< std::string >( row, 0 ); item = exdData->getField< int32_t >( row, 1 ); gatheringItemLevel = exdData->getField< uint16_t >( row, 2 ); + fishingRecordType = exdData->getField< uint8_t >( row, 3 ); territoryType = exdData->getField< uint16_t >( row, 4 ); isVisible = exdData->getField< bool >( row, 5 ); } @@ -6547,69 +7909,70 @@ Sapphire::Data::SpecialShop::SpecialShop( uint32_t row_id, Sapphire::Data::ExdDa achievementUnlock.push_back( exdData->getField< int32_t >( row, 1378 ) ); achievementUnlock.push_back( exdData->getField< int32_t >( row, 1379 ) ); achievementUnlock.push_back( exdData->getField< int32_t >( row, 1380 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1801 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1802 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1803 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1804 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1805 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1806 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1807 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1808 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1809 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1810 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1811 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1812 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1813 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1814 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1815 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1816 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1817 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1818 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1819 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1820 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1821 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1822 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1823 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1824 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1825 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1826 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1827 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1828 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1829 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1830 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1831 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1832 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1833 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1834 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1835 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1836 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1837 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1838 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1839 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1840 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1841 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1842 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1843 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1844 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1845 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1846 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1847 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1848 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1849 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1850 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1851 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1852 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1853 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1854 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1855 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1856 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1857 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1858 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1859 ) ); - patchNumber.push_back( exdData->getField< uint16_t >( row, 1860 ) ); - questUnlock = exdData->getField< uint32_t >( row, 1862 ); - notCompleteText = exdData->getField< int32_t >( row, 1863 ); - completeText = exdData->getField< int32_t >( row, 1864 ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1801 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1802 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1803 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1804 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1805 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1806 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1807 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1808 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1809 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1810 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1811 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1812 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1813 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1814 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1815 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1816 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1817 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1818 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1819 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1820 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1821 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1822 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1823 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1824 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1825 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1826 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1827 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1828 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1829 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1830 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1831 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1832 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1833 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1834 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1835 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1836 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1837 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1838 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1839 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1840 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1841 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1842 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1843 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1844 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1845 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1846 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1847 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1848 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1849 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1850 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1851 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1852 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1853 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1854 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1855 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1856 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1857 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1858 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1859 ) ); + patchNumber.push_back( exdData->getField< uint8_t >( row, 1860 ) ); + useCurrencyType = exdData->getField< uint16_t >( row, 1861 ); + questUnlock = exdData->getField< uint16_t >( row, 1862 ); + completeText = exdData->getField< uint16_t >( row, 1863 ); + notCompleteText = exdData->getField< uint16_t >( row, 1864 ); } Sapphire::Data::SpecialShopItemCategory::SpecialShopItemCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -6623,7 +7986,7 @@ Sapphire::Data::Stain::Stain( uint32_t row_id, Sapphire::Data::ExdDataGenerated* auto row = exdData->m_StainDat.get_row( row_id ); color = exdData->getField< uint32_t >( row, 0 ); shade = exdData->getField< uint8_t >( row, 1 ); - name = exdData->getField< std::string >( row, 2 ); + name = exdData->getField< std::string >( row, 3 ); } Sapphire::Data::StainTransient::StainTransient( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -6650,6 +8013,8 @@ Sapphire::Data::Status::Status( uint32_t row_id, Sapphire::Data::ExdDataGenerate canDispel = exdData->getField< bool >( row, 14 ); inflictedByActor = exdData->getField< bool >( row, 15 ); isPermanent = exdData->getField< bool >( row, 16 ); + partyListPriority = exdData->getField< uint8_t >( row, 17 ); + log = exdData->getField< uint16_t >( row, 23 ); isFcBuff = exdData->getField< bool >( row, 24 ); invisibility = exdData->getField< bool >( row, 25 ); } @@ -6754,18 +8119,27 @@ Sapphire::Data::TerritoryType::TerritoryType( uint32_t row_id, Sapphire::Data::E auto row = exdData->m_TerritoryTypeDat.get_row( row_id ); name = exdData->getField< std::string >( row, 0 ); bg = exdData->getField< std::string >( row, 1 ); + battalionMode = exdData->getField< uint8_t >( row, 2 ); placeNameRegion = exdData->getField< uint16_t >( row, 3 ); placeNameZone = exdData->getField< uint16_t >( row, 4 ); placeName = exdData->getField< uint16_t >( row, 5 ); map = exdData->getField< uint16_t >( row, 6 ); loadingImage = exdData->getField< uint8_t >( row, 7 ); + exclusiveType = exdData->getField< uint8_t >( row, 8 ); territoryIntendedUse = exdData->getField< uint8_t >( row, 9 ); weatherRate = exdData->getField< uint8_t >( row, 12 ); + pCSearch = exdData->getField< bool >( row, 15 ); + stealth = exdData->getField< bool >( row, 16 ); + mount = exdData->getField< bool >( row, 17 ); + bGM = exdData->getField< uint16_t >( row, 19 ); placeNameRegionIcon = exdData->getField< int32_t >( row, 20 ); placeNameIcon = exdData->getField< int32_t >( row, 21 ); arrayEventHandler = exdData->getField< uint32_t >( row, 22 ); questBattle = exdData->getField< uint16_t >( row, 23 ); aetheryte = exdData->getField< int32_t >( row, 24 ); + fixedTime = exdData->getField< int32_t >( row, 25 ); + resident = exdData->getField< uint16_t >( row, 26 ); + achievementIndex = exdData->getField< int8_t >( row, 27 ); isPvpZone = exdData->getField< bool >( row, 28 ); } @@ -6847,20 +8221,21 @@ Sapphire::Data::Transformation::Transformation( uint32_t row_id, Sapphire::Data: bNpcName = exdData->getField< uint16_t >( row, 2 ); bNpcCustomize = exdData->getField< int32_t >( row, 3 ); npcEquip = exdData->getField< int32_t >( row, 4 ); - action.push_back( exdData->getField< uint16_t >( row, 10 ) ); - action.push_back( exdData->getField< uint16_t >( row, 11 ) ); - action.push_back( exdData->getField< uint16_t >( row, 12 ) ); - action.push_back( exdData->getField< uint16_t >( row, 13 ) ); - action.push_back( exdData->getField< uint16_t >( row, 14 ) ); - action.push_back( exdData->getField< uint16_t >( row, 15 ) ); + exHotbarEnableConfig = exdData->getField< bool >( row, 5 ); + action0 = exdData->getField< uint16_t >( row, 6 ); + action1 = exdData->getField< uint16_t >( row, 8 ); + action2 = exdData->getField< uint16_t >( row, 10 ); + action3 = exdData->getField< uint16_t >( row, 12 ); + action4 = exdData->getField< uint16_t >( row, 14 ); + action5 = exdData->getField< uint16_t >( row, 15 ); rPParameter = exdData->getField< uint8_t >( row, 18 ); speed = exdData->getField< float >( row, 19 ); scale = exdData->getField< float >( row, 20 ); isPvP = exdData->getField< bool >( row, 21 ); isEvent = exdData->getField< bool >( row, 22 ); playerCamera = exdData->getField< bool >( row, 23 ); - startVFX = exdData->getField< uint16_t >( row, 24 ); - endVFX = exdData->getField< uint16_t >( row, 25 ); + startVFX = exdData->getField< bool >( row, 24 ); + endVFX = exdData->getField< bool >( row, 25 ); } Sapphire::Data::Treasure::Treasure( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -6880,10 +8255,18 @@ Sapphire::Data::TreasureHuntRank::TreasureHuntRank( uint32_t row_id, Sapphire::D minPartySize = exdData->getField< uint8_t >( row, 6 ); } +Sapphire::Data::TreasureModel::TreasureModel( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_TreasureModelDat.get_row( row_id ); + path = exdData->getField< std::string >( row, 0 ); +} + Sapphire::Data::TreasureSpot::TreasureSpot( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_TreasureSpotDat.get_row( row_id, subRow ); location = exdData->getField< int32_t >( row, 0 ); + mapOffsetX = exdData->getField< float >( row, 1 ); + mapOffsetY = exdData->getField< float >( row, 2 ); } Sapphire::Data::Tribe::Tribe( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -6891,9 +8274,11 @@ Sapphire::Data::Tribe::Tribe( uint32_t row_id, Sapphire::Data::ExdDataGenerated* auto row = exdData->m_TribeDat.get_row( row_id ); masculine = exdData->getField< std::string >( row, 0 ); feminine = exdData->getField< std::string >( row, 1 ); + hp = exdData->getField< int8_t >( row, 2 ); + mp = exdData->getField< int8_t >( row, 3 ); sTR = exdData->getField< int8_t >( row, 4 ); - dEX = exdData->getField< int8_t >( row, 5 ); - vIT = exdData->getField< int8_t >( row, 6 ); + vIT = exdData->getField< int8_t >( row, 5 ); + dEX = exdData->getField< int8_t >( row, 6 ); iNT = exdData->getField< int8_t >( row, 7 ); mND = exdData->getField< int8_t >( row, 8 ); pIE = exdData->getField< int8_t >( row, 9 ); @@ -7029,28 +8414,38 @@ Sapphire::Data::VFX::VFX( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exd Sapphire::Data::Warp::Warp( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_WarpDat.get_row( row_id ); - level = exdData->getField< uint32_t >( row, 0 ); + popRange = exdData->getField< uint32_t >( row, 0 ); territoryType = exdData->getField< uint16_t >( row, 1 ); conditionSuccessEvent = exdData->getField< uint32_t >( row, 2 ); conditionFailEvent = exdData->getField< uint32_t >( row, 3 ); confirmEvent = exdData->getField< uint32_t >( row, 4 ); warpCondition = exdData->getField< uint16_t >( row, 5 ); warpLogic = exdData->getField< uint16_t >( row, 6 ); + startCutscene = exdData->getField< uint16_t >( row, 7 ); + endCutscene = exdData->getField< uint16_t >( row, 8 ); + canSkipCutscene = exdData->getField< bool >( row, 9 ); + name = exdData->getField< std::string >( row, 10 ); + question = exdData->getField< std::string >( row, 11 ); } Sapphire::Data::WarpCondition::WarpCondition( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_WarpConditionDat.get_row( row_id ); + gil = exdData->getField< uint16_t >( row, 0 ); + completeParam = exdData->getField< uint8_t >( row, 1 ); requiredQuest1 = exdData->getField< uint32_t >( row, 2 ); requiredQuest2 = exdData->getField< uint32_t >( row, 3 ); dRequiredQuest3 = exdData->getField< uint32_t >( row, 4 ); requiredQuest4 = exdData->getField< uint32_t >( row, 5 ); + questReward = exdData->getField< uint16_t >( row, 6 ); + classLevel = exdData->getField< uint16_t >( row, 7 ); } Sapphire::Data::WarpLogic::WarpLogic( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_WarpLogicDat.get_row( row_id ); warpName = exdData->getField< std::string >( row, 1 ); + canSkipCutscene = exdData->getField< bool >( row, 2 ); function.push_back( exdData->getField< std::string >( row, 3 ) ); function.push_back( exdData->getField< std::string >( row, 4 ) ); function.push_back( exdData->getField< std::string >( row, 5 ) ); @@ -7066,6 +8461,13 @@ Sapphire::Data::WarpLogic::WarpLogic( uint32_t row_id, Sapphire::Data::ExdDataGe responseNo = exdData->getField< std::string >( row, 25 ); } +Sapphire::Data::WeaponTimeline::WeaponTimeline( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_WeaponTimelineDat.get_row( row_id ); + file = exdData->getField< std::string >( row, 0 ); + nextWeaponTimeline = exdData->getField< int16_t >( row, 1 ); +} + Sapphire::Data::Weather::Weather( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_WeatherDat.get_row( row_id ); @@ -7162,6 +8564,7 @@ Sapphire::Data::World::World( uint32_t row_id, Sapphire::Data::ExdDataGenerated* { auto row = exdData->m_WorldDat.get_row( row_id ); name = exdData->getField< std::string >( row, 0 ); + userType = exdData->getField< uint8_t >( row, 1 ); dataCenter = exdData->getField< uint8_t >( row, 2 ); isPublic = exdData->getField< bool >( row, 3 ); } @@ -7274,6 +8677,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_AirshipExplorationParamTypeDat = setupDatAccess( "AirshipExplorationParamType", xiv::exd::Language::en ); m_AirshipExplorationPartDat = setupDatAccess( "AirshipExplorationPart", xiv::exd::Language::none ); m_AirshipExplorationPointDat = setupDatAccess( "AirshipExplorationPoint", xiv::exd::Language::en ); + m_AnimationLODDat = setupDatAccess( "AnimationLOD", xiv::exd::Language::none ); m_AnimaWeapon5Dat = setupDatAccess( "AnimaWeapon5", xiv::exd::Language::none ); m_AnimaWeapon5ParamDat = setupDatAccess( "AnimaWeapon5Param", xiv::exd::Language::en ); m_AnimaWeapon5PatternGroupDat = setupDatAccess( "AnimaWeapon5PatternGroup", xiv::exd::Language::en ); @@ -7290,21 +8694,27 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_AOZBossDat = setupDatAccess( "AOZBoss", xiv::exd::Language::none ); m_AOZContentDat = setupDatAccess( "AOZContent", xiv::exd::Language::none ); m_AOZContentBriefingBNpcDat = setupDatAccess( "AOZContentBriefingBNpc", xiv::exd::Language::none ); + m_AOZReportDat = setupDatAccess( "AOZReport", xiv::exd::Language::none ); m_AquariumFishDat = setupDatAccess( "AquariumFish", xiv::exd::Language::none ); m_AquariumWaterDat = setupDatAccess( "AquariumWater", xiv::exd::Language::en ); m_ArrayEventHandlerDat = setupDatAccess( "ArrayEventHandler", xiv::exd::Language::none ); m_AttackTypeDat = setupDatAccess( "AttackType", xiv::exd::Language::en ); m_BacklightColorDat = setupDatAccess( "BacklightColor", xiv::exd::Language::none ); + m_BallistaDat = setupDatAccess( "Ballista", xiv::exd::Language::none ); m_BalloonDat = setupDatAccess( "Balloon", xiv::exd::Language::en ); m_BaseParamDat = setupDatAccess( "BaseParam", xiv::exd::Language::en ); m_BattleLeveDat = setupDatAccess( "BattleLeve", xiv::exd::Language::none ); + m_BattleLeveRuleDat = setupDatAccess( "BattleLeveRule", xiv::exd::Language::none ); m_BeastRankBonusDat = setupDatAccess( "BeastRankBonus", xiv::exd::Language::none ); m_BeastReputationRankDat = setupDatAccess( "BeastReputationRank", xiv::exd::Language::en ); m_BeastTribeDat = setupDatAccess( "BeastTribe", xiv::exd::Language::en ); m_BehaviorDat = setupDatAccess( "Behavior", xiv::exd::Language::none ); + m_BehaviorPathDat = setupDatAccess( "BehaviorPath", xiv::exd::Language::none ); m_BenchmarkOverrideEquipmentDat = setupDatAccess( "BenchmarkOverrideEquipment", xiv::exd::Language::none ); m_BGMDat = setupDatAccess( "BGM", xiv::exd::Language::none ); m_BGMFadeDat = setupDatAccess( "BGMFade", xiv::exd::Language::none ); + m_BGMFadeTypeDat = setupDatAccess( "BGMFadeType", xiv::exd::Language::none ); + m_BGMSceneDat = setupDatAccess( "BGMScene", xiv::exd::Language::none ); m_BGMSituationDat = setupDatAccess( "BGMSituation", xiv::exd::Language::none ); m_BGMSwitchDat = setupDatAccess( "BGMSwitch", xiv::exd::Language::none ); m_BGMSystemDefineDat = setupDatAccess( "BGMSystemDefine", xiv::exd::Language::none ); @@ -7313,6 +8723,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_BNpcCustomizeDat = setupDatAccess( "BNpcCustomize", xiv::exd::Language::none ); m_BNpcNameDat = setupDatAccess( "BNpcName", xiv::exd::Language::en ); m_BNpcPartsDat = setupDatAccess( "BNpcParts", xiv::exd::Language::none ); + m_BNpcStateDat = setupDatAccess( "BNpcState", xiv::exd::Language::none ); m_BuddyDat = setupDatAccess( "Buddy", xiv::exd::Language::none ); m_BuddyActionDat = setupDatAccess( "BuddyAction", xiv::exd::Language::en ); m_BuddyEquipDat = setupDatAccess( "BuddyEquip", xiv::exd::Language::en ); @@ -7322,6 +8733,9 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_CabinetDat = setupDatAccess( "Cabinet", xiv::exd::Language::none ); m_CabinetCategoryDat = setupDatAccess( "CabinetCategory", xiv::exd::Language::none ); m_CalendarDat = setupDatAccess( "Calendar", xiv::exd::Language::none ); + m_CarryDat = setupDatAccess( "Carry", xiv::exd::Language::none ); + m_ChannelingDat = setupDatAccess( "Channeling", xiv::exd::Language::none ); + m_CharaMakeClassEquipDat = setupDatAccess( "CharaMakeClassEquip", xiv::exd::Language::none ); m_CharaMakeCustomizeDat = setupDatAccess( "CharaMakeCustomize", xiv::exd::Language::none ); m_CharaMakeTypeDat = setupDatAccess( "CharaMakeType", xiv::exd::Language::en ); m_ChocoboRaceDat = setupDatAccess( "ChocoboRace", xiv::exd::Language::none ); @@ -7335,6 +8749,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_ChocoboRaceWeatherDat = setupDatAccess( "ChocoboRaceWeather", xiv::exd::Language::none ); m_ChocoboTaxiDat = setupDatAccess( "ChocoboTaxi", xiv::exd::Language::none ); m_ChocoboTaxiStandDat = setupDatAccess( "ChocoboTaxiStand", xiv::exd::Language::en ); + m_CircleActivityDat = setupDatAccess( "CircleActivity", xiv::exd::Language::en ); m_ClassJobDat = setupDatAccess( "ClassJob", xiv::exd::Language::en ); m_ClassJobCategoryDat = setupDatAccess( "ClassJobCategory", xiv::exd::Language::en ); m_CompanionDat = setupDatAccess( "Companion", xiv::exd::Language::en ); @@ -7353,6 +8768,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_CompanyLeveRuleDat = setupDatAccess( "CompanyLeveRule", xiv::exd::Language::none ); m_CompleteJournalDat = setupDatAccess( "CompleteJournal", xiv::exd::Language::en ); m_CompleteJournalCategoryDat = setupDatAccess( "CompleteJournalCategory", xiv::exd::Language::none ); + m_ConfigKeyDat = setupDatAccess( "ConfigKey", xiv::exd::Language::en ); m_ContentCloseCycleDat = setupDatAccess( "ContentCloseCycle", xiv::exd::Language::none ); m_ContentExActionDat = setupDatAccess( "ContentExAction", xiv::exd::Language::none ); m_ContentFinderConditionDat = setupDatAccess( "ContentFinderCondition", xiv::exd::Language::en ); @@ -7383,11 +8799,15 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_CustomTalkDynamicIconDat = setupDatAccess( "CustomTalkDynamicIcon", xiv::exd::Language::none ); m_CustomTalkNestHandlersDat = setupDatAccess( "CustomTalkNestHandlers", xiv::exd::Language::none ); m_CutsceneDat = setupDatAccess( "Cutscene", xiv::exd::Language::none ); + m_CutsceneMotionDat = setupDatAccess( "CutsceneMotion", xiv::exd::Language::none ); + m_CutsceneWorkIndexDat = setupDatAccess( "CutsceneWorkIndex", xiv::exd::Language::none ); m_CutScreenImageDat = setupDatAccess( "CutScreenImage", xiv::exd::Language::none ); + m_CycleTimeDat = setupDatAccess( "CycleTime", xiv::exd::Language::none ); m_DailySupplyItemDat = setupDatAccess( "DailySupplyItem", xiv::exd::Language::none ); m_DawnContentDat = setupDatAccess( "DawnContent", xiv::exd::Language::none ); m_DawnGrowMemberDat = setupDatAccess( "DawnGrowMember", xiv::exd::Language::none ); m_DawnMemberUIParamDat = setupDatAccess( "DawnMemberUIParam", xiv::exd::Language::en ); + m_DawnQuestAnnounceDat = setupDatAccess( "DawnQuestAnnounce", xiv::exd::Language::none ); m_DawnQuestMemberDat = setupDatAccess( "DawnQuestMember", xiv::exd::Language::none ); m_DeepDungeonDat = setupDatAccess( "DeepDungeon", xiv::exd::Language::en ); m_DeepDungeonBanDat = setupDatAccess( "DeepDungeonBan", xiv::exd::Language::none ); @@ -7403,7 +8823,9 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_DefaultTalkDat = setupDatAccess( "DefaultTalk", xiv::exd::Language::en ); m_DefaultTalkLipSyncTypeDat = setupDatAccess( "DefaultTalkLipSyncType", xiv::exd::Language::none ); m_DeliveryQuestDat = setupDatAccess( "DeliveryQuest", xiv::exd::Language::none ); + m_DescriptionDat = setupDatAccess( "Description", xiv::exd::Language::en ); m_DescriptionPageDat = setupDatAccess( "DescriptionPage", xiv::exd::Language::none ); + m_DescriptionSectionDat = setupDatAccess( "DescriptionSection", xiv::exd::Language::none ); m_DescriptionStringDat = setupDatAccess( "DescriptionString", xiv::exd::Language::en ); m_DisposalShopDat = setupDatAccess( "DisposalShop", xiv::exd::Language::en ); m_DisposalShopFilterTypeDat = setupDatAccess( "DisposalShopFilterType", xiv::exd::Language::en ); @@ -7415,6 +8837,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_EmjDaniDat = setupDatAccess( "EmjDani", xiv::exd::Language::none ); m_EmoteDat = setupDatAccess( "Emote", xiv::exd::Language::en ); m_EmoteCategoryDat = setupDatAccess( "EmoteCategory", xiv::exd::Language::en ); + m_EmoteModeDat = setupDatAccess( "EmoteMode", xiv::exd::Language::none ); m_ENpcBaseDat = setupDatAccess( "ENpcBase", xiv::exd::Language::none ); m_ENpcDressUpDat = setupDatAccess( "ENpcDressUp", xiv::exd::Language::none ); m_ENpcDressUpDressDat = setupDatAccess( "ENpcDressUpDress", xiv::exd::Language::none ); @@ -7438,18 +8861,23 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_EventItemCastTimelineDat = setupDatAccess( "EventItemCastTimeline", xiv::exd::Language::none ); m_EventItemHelpDat = setupDatAccess( "EventItemHelp", xiv::exd::Language::en ); m_EventItemTimelineDat = setupDatAccess( "EventItemTimeline", xiv::exd::Language::none ); + m_EventSystemDefineDat = setupDatAccess( "EventSystemDefine", xiv::exd::Language::none ); m_ExportedSGDat = setupDatAccess( "ExportedSG", xiv::exd::Language::none ); m_ExVersionDat = setupDatAccess( "ExVersion", xiv::exd::Language::en ); m_FateDat = setupDatAccess( "Fate", xiv::exd::Language::en ); + m_FateEventDat = setupDatAccess( "FateEvent", xiv::exd::Language::en ); m_FateProgressUIDat = setupDatAccess( "FateProgressUI", xiv::exd::Language::none ); + m_FateTokenTypeDat = setupDatAccess( "FateTokenType", xiv::exd::Language::none ); m_FCActivityDat = setupDatAccess( "FCActivity", xiv::exd::Language::en ); m_FCActivityCategoryDat = setupDatAccess( "FCActivityCategory", xiv::exd::Language::en ); m_FCAuthorityDat = setupDatAccess( "FCAuthority", xiv::exd::Language::en ); m_FCAuthorityCategoryDat = setupDatAccess( "FCAuthorityCategory", xiv::exd::Language::en ); m_FCChestNameDat = setupDatAccess( "FCChestName", xiv::exd::Language::en ); + m_FCCrestSymbolDat = setupDatAccess( "FCCrestSymbol", xiv::exd::Language::none ); m_FccShopDat = setupDatAccess( "FccShop", xiv::exd::Language::en ); m_FCHierarchyDat = setupDatAccess( "FCHierarchy", xiv::exd::Language::en ); m_FCProfileDat = setupDatAccess( "FCProfile", xiv::exd::Language::en ); + m_FCRankDat = setupDatAccess( "FCRank", xiv::exd::Language::none ); m_FCReputationDat = setupDatAccess( "FCReputation", xiv::exd::Language::en ); m_FCRightsDat = setupDatAccess( "FCRights", xiv::exd::Language::en ); m_FestivalDat = setupDatAccess( "Festival", xiv::exd::Language::none ); @@ -7470,6 +8898,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_GatheringItemPointDat = setupDatAccess( "GatheringItemPoint", xiv::exd::Language::none ); m_GatheringLeveDat = setupDatAccess( "GatheringLeve", xiv::exd::Language::none ); m_GatheringLeveRouteDat = setupDatAccess( "GatheringLeveRoute", xiv::exd::Language::none ); + m_GatheringLeveRuleDat = setupDatAccess( "GatheringLeveRule", xiv::exd::Language::none ); m_GatheringNotebookListDat = setupDatAccess( "GatheringNotebookList", xiv::exd::Language::none ); m_GatheringPointDat = setupDatAccess( "GatheringPoint", xiv::exd::Language::none ); m_GatheringPointBaseDat = setupDatAccess( "GatheringPointBase", xiv::exd::Language::none ); @@ -7504,16 +8933,20 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_GFateRideShootingDat = setupDatAccess( "GFateRideShooting", xiv::exd::Language::none ); m_GilShopDat = setupDatAccess( "GilShop", xiv::exd::Language::en ); m_GilShopItemDat = setupDatAccess( "GilShopItem", xiv::exd::Language::none ); + m_GimmickAccessorDat = setupDatAccess( "GimmickAccessor", xiv::exd::Language::none ); + m_GimmickJumpDat = setupDatAccess( "GimmickJump", xiv::exd::Language::none ); + m_GimmickRectDat = setupDatAccess( "GimmickRect", xiv::exd::Language::none ); m_GoldSaucerArcadeMachineDat = setupDatAccess( "GoldSaucerArcadeMachine", xiv::exd::Language::en ); m_GoldSaucerTextDataDat = setupDatAccess( "GoldSaucerTextData", xiv::exd::Language::en ); m_GrandCompanyDat = setupDatAccess( "GrandCompany", xiv::exd::Language::en ); m_GrandCompanyRankDat = setupDatAccess( "GrandCompanyRank", xiv::exd::Language::none ); + m_GroupPoseFrameDat = setupDatAccess( "GroupPoseFrame", xiv::exd::Language::en ); m_GuardianDeityDat = setupDatAccess( "GuardianDeity", xiv::exd::Language::en ); m_GuideDat = setupDatAccess( "Guide", xiv::exd::Language::none ); m_GuidePageDat = setupDatAccess( "GuidePage", xiv::exd::Language::none ); m_GuidePageStringDat = setupDatAccess( "GuidePageString", xiv::exd::Language::en ); m_GuideTitleDat = setupDatAccess( "GuideTitle", xiv::exd::Language::en ); - m_GuildleveAssignmentDat = setupDatAccess( "GuildleveAssignment", xiv::exd::Language::none ); + m_GuildleveAssignmentDat = setupDatAccess( "GuildleveAssignment", xiv::exd::Language::en ); m_GuildleveAssignmentCategoryDat = setupDatAccess( "GuildleveAssignmentCategory", xiv::exd::Language::none ); m_GuildOrderDat = setupDatAccess( "GuildOrder", xiv::exd::Language::en ); m_GuildOrderGuideDat = setupDatAccess( "GuildOrderGuide", xiv::exd::Language::none ); @@ -7538,8 +8971,26 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_HowToPageDat = setupDatAccess( "HowToPage", xiv::exd::Language::en ); m_HugeCraftworksNpcDat = setupDatAccess( "HugeCraftworksNpc", xiv::exd::Language::en ); m_HugeCraftworksRankDat = setupDatAccess( "HugeCraftworksRank", xiv::exd::Language::none ); + m_HWDAnnounceDat = setupDatAccess( "HWDAnnounce", xiv::exd::Language::en ); + m_HWDCrafterSupplyDat = setupDatAccess( "HWDCrafterSupply", xiv::exd::Language::none ); + m_HWDCrafterSupplyRewardDat = setupDatAccess( "HWDCrafterSupplyReward", xiv::exd::Language::none ); + m_HWDDevLayerControlDat = setupDatAccess( "HWDDevLayerControl", xiv::exd::Language::none ); + m_HWDDevLevelUIDat = setupDatAccess( "HWDDevLevelUI", xiv::exd::Language::none ); + m_HWDDevLivelyDat = setupDatAccess( "HWDDevLively", xiv::exd::Language::none ); + m_HWDDevProgressDat = setupDatAccess( "HWDDevProgress", xiv::exd::Language::none ); + m_HWDInfoBoardArticleDat = setupDatAccess( "HWDInfoBoardArticle", xiv::exd::Language::en ); + m_HWDInfoBoardArticleTransientDat = setupDatAccess( "HWDInfoBoardArticleTransient", xiv::exd::Language::en ); + m_HWDInfoBoardArticleTypeDat = setupDatAccess( "HWDInfoBoardArticleType", xiv::exd::Language::en ); + m_HWDLevelChangeDeceptionDat = setupDatAccess( "HWDLevelChangeDeception", xiv::exd::Language::none ); + m_HWDSharedGroupDat = setupDatAccess( "HWDSharedGroup", xiv::exd::Language::none ); + m_HWDSharedGroupControlParamDat = setupDatAccess( "HWDSharedGroupControlParam", xiv::exd::Language::none ); + m_IKDContentBonusDat = setupDatAccess( "IKDContentBonus", xiv::exd::Language::en ); + m_IKDFishParamDat = setupDatAccess( "IKDFishParam", xiv::exd::Language::none ); + m_IKDRouteDat = setupDatAccess( "IKDRoute", xiv::exd::Language::en ); + m_IKDRouteTableDat = setupDatAccess( "IKDRouteTable", xiv::exd::Language::none ); + m_IKDSpotDat = setupDatAccess( "IKDSpot", xiv::exd::Language::none ); m_IndividualWeatherDat = setupDatAccess( "IndividualWeather", xiv::exd::Language::none ); - m_InstanceContentDat = setupDatAccess( "InstanceContent", xiv::exd::Language::en ); + m_InstanceContentDat = setupDatAccess( "InstanceContent", xiv::exd::Language::none ); m_InstanceContentBuffDat = setupDatAccess( "InstanceContentBuff", xiv::exd::Language::none ); m_InstanceContentCSBonusDat = setupDatAccess( "InstanceContentCSBonus", xiv::exd::Language::none ); m_InstanceContentGuideDat = setupDatAccess( "InstanceContentGuide", xiv::exd::Language::none ); @@ -7557,16 +9008,19 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_JournalCategoryDat = setupDatAccess( "JournalCategory", xiv::exd::Language::en ); m_JournalGenreDat = setupDatAccess( "JournalGenre", xiv::exd::Language::en ); m_JournalSectionDat = setupDatAccess( "JournalSection", xiv::exd::Language::en ); + m_KnockbackDat = setupDatAccess( "Knockback", xiv::exd::Language::none ); + m_LegacyQuestDat = setupDatAccess( "LegacyQuest", xiv::exd::Language::en ); m_LeveDat = setupDatAccess( "Leve", xiv::exd::Language::en ); m_LeveAssignmentTypeDat = setupDatAccess( "LeveAssignmentType", xiv::exd::Language::en ); m_LeveClientDat = setupDatAccess( "LeveClient", xiv::exd::Language::en ); m_LevelDat = setupDatAccess( "Level", xiv::exd::Language::none ); m_LeveRewardItemDat = setupDatAccess( "LeveRewardItem", xiv::exd::Language::none ); m_LeveRewardItemGroupDat = setupDatAccess( "LeveRewardItemGroup", xiv::exd::Language::none ); + m_LeveStringDat = setupDatAccess( "LeveString", xiv::exd::Language::en ); m_LeveVfxDat = setupDatAccess( "LeveVfx", xiv::exd::Language::none ); + m_LobbyDat = setupDatAccess( "Lobby", xiv::exd::Language::en ); m_LogFilterDat = setupDatAccess( "LogFilter", xiv::exd::Language::en ); m_LogKindDat = setupDatAccess( "LogKind", xiv::exd::Language::en ); - m_LogKindCategoryTextDat = setupDatAccess( "LogKindCategoryText", xiv::exd::Language::en ); m_LogMessageDat = setupDatAccess( "LogMessage", xiv::exd::Language::en ); m_LotteryExchangeShopDat = setupDatAccess( "LotteryExchangeShop", xiv::exd::Language::en ); m_MacroIconDat = setupDatAccess( "MacroIcon", xiv::exd::Language::none ); @@ -7584,6 +9038,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_MateriaDat = setupDatAccess( "Materia", xiv::exd::Language::none ); m_MateriaJoinRateDat = setupDatAccess( "MateriaJoinRate", xiv::exd::Language::none ); m_MateriaJoinRateGatherCraftDat = setupDatAccess( "MateriaJoinRateGatherCraft", xiv::exd::Language::none ); + m_MateriaTomestoneRateDat = setupDatAccess( "MateriaTomestoneRate", xiv::exd::Language::none ); m_MiniGameRADat = setupDatAccess( "MiniGameRA", xiv::exd::Language::none ); m_MinionRaceDat = setupDatAccess( "MinionRace", xiv::exd::Language::en ); m_MinionRulesDat = setupDatAccess( "MinionRules", xiv::exd::Language::en ); @@ -7598,6 +9053,8 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_ModelStateDat = setupDatAccess( "ModelState", xiv::exd::Language::none ); m_MonsterNoteDat = setupDatAccess( "MonsterNote", xiv::exd::Language::en ); m_MonsterNoteTargetDat = setupDatAccess( "MonsterNoteTarget", xiv::exd::Language::none ); + m_MotionTimelineDat = setupDatAccess( "MotionTimeline", xiv::exd::Language::none ); + m_MotionTimelineBlendTableDat = setupDatAccess( "MotionTimelineBlendTable", xiv::exd::Language::none ); m_MountDat = setupDatAccess( "Mount", xiv::exd::Language::en ); m_MountActionDat = setupDatAccess( "MountAction", xiv::exd::Language::none ); m_MountCustomizeDat = setupDatAccess( "MountCustomize", xiv::exd::Language::none ); @@ -7606,6 +9063,9 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_MountTransientDat = setupDatAccess( "MountTransient", xiv::exd::Language::en ); m_MoveTimelineDat = setupDatAccess( "MoveTimeline", xiv::exd::Language::none ); m_MoveVfxDat = setupDatAccess( "MoveVfx", xiv::exd::Language::none ); + m_MovieSubtitleDat = setupDatAccess( "MovieSubtitle", xiv::exd::Language::en ); + m_MovieSubtitle500Dat = setupDatAccess( "MovieSubtitle500", xiv::exd::Language::en ); + m_MovieSubtitleVoyageDat = setupDatAccess( "MovieSubtitleVoyage", xiv::exd::Language::en ); m_NotebookDivisionDat = setupDatAccess( "NotebookDivision", xiv::exd::Language::en ); m_NotebookDivisionCategoryDat = setupDatAccess( "NotebookDivisionCategory", xiv::exd::Language::en ); m_NotoriousMonsterDat = setupDatAccess( "NotoriousMonster", xiv::exd::Language::none ); @@ -7621,20 +9081,26 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_OrchestrionPathDat = setupDatAccess( "OrchestrionPath", xiv::exd::Language::none ); m_OrchestrionUiparamDat = setupDatAccess( "OrchestrionUiparam", xiv::exd::Language::none ); m_ParamGrowDat = setupDatAccess( "ParamGrow", xiv::exd::Language::none ); - m_PartyContentDat = setupDatAccess( "PartyContent", xiv::exd::Language::en ); + m_PartyContentDat = setupDatAccess( "PartyContent", xiv::exd::Language::none ); m_PartyContentCutsceneDat = setupDatAccess( "PartyContentCutscene", xiv::exd::Language::none ); m_PartyContentTextDataDat = setupDatAccess( "PartyContentTextData", xiv::exd::Language::en ); + m_PatchMarkDat = setupDatAccess( "PatchMark", xiv::exd::Language::none ); m_PerformDat = setupDatAccess( "Perform", xiv::exd::Language::en ); m_PerformTransientDat = setupDatAccess( "PerformTransient", xiv::exd::Language::en ); m_PetDat = setupDatAccess( "Pet", xiv::exd::Language::en ); m_PetActionDat = setupDatAccess( "PetAction", xiv::exd::Language::en ); + m_PhysicsGroupDat = setupDatAccess( "PhysicsGroup", xiv::exd::Language::none ); + m_PhysicsWindDat = setupDatAccess( "PhysicsWind", xiv::exd::Language::none ); m_PictureDat = setupDatAccess( "Picture", xiv::exd::Language::none ); m_PlaceNameDat = setupDatAccess( "PlaceName", xiv::exd::Language::en ); m_PlantPotFlowerSeedDat = setupDatAccess( "PlantPotFlowerSeed", xiv::exd::Language::none ); m_PreHandlerDat = setupDatAccess( "PreHandler", xiv::exd::Language::none ); + m_PresetCameraDat = setupDatAccess( "PresetCamera", xiv::exd::Language::none ); + m_PresetCameraAdjustDat = setupDatAccess( "PresetCameraAdjust", xiv::exd::Language::none ); m_PublicContentDat = setupDatAccess( "PublicContent", xiv::exd::Language::en ); m_PublicContentCutsceneDat = setupDatAccess( "PublicContentCutscene", xiv::exd::Language::none ); m_PublicContentTextDataDat = setupDatAccess( "PublicContentTextData", xiv::exd::Language::en ); + m_PurifyDat = setupDatAccess( "Purify", xiv::exd::Language::none ); m_PvPActionDat = setupDatAccess( "PvPAction", xiv::exd::Language::none ); m_PvPActionSortDat = setupDatAccess( "PvPActionSort", xiv::exd::Language::none ); m_PvPRankDat = setupDatAccess( "PvPRank", xiv::exd::Language::none ); @@ -7642,8 +9108,15 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_PvPTraitDat = setupDatAccess( "PvPTrait", xiv::exd::Language::none ); m_QuestDat = setupDatAccess( "Quest", xiv::exd::Language::en ); m_QuestBattleDat = setupDatAccess( "QuestBattle", xiv::exd::Language::none ); + m_QuestChapterDat = setupDatAccess( "QuestChapter", xiv::exd::Language::none ); m_QuestClassJobRewardDat = setupDatAccess( "QuestClassJobReward", xiv::exd::Language::none ); m_QuestClassJobSupplyDat = setupDatAccess( "QuestClassJobSupply", xiv::exd::Language::none ); + m_QuestDerivedClassDat = setupDatAccess( "QuestDerivedClass", xiv::exd::Language::none ); + m_QuestRedoDat = setupDatAccess( "QuestRedo", xiv::exd::Language::none ); + m_QuestRedoChapterUIDat = setupDatAccess( "QuestRedoChapterUI", xiv::exd::Language::en ); + m_QuestRedoChapterUICategoryDat = setupDatAccess( "QuestRedoChapterUICategory", xiv::exd::Language::en ); + m_QuestRedoChapterUITabDat = setupDatAccess( "QuestRedoChapterUITab", xiv::exd::Language::en ); + m_QuestRedoIncompChapterDat = setupDatAccess( "QuestRedoIncompChapter", xiv::exd::Language::none ); m_QuestRepeatFlagDat = setupDatAccess( "QuestRepeatFlag", xiv::exd::Language::none ); m_QuestRewardOtherDat = setupDatAccess( "QuestRewardOther", xiv::exd::Language::en ); m_QuickChatDat = setupDatAccess( "QuickChat", xiv::exd::Language::en ); @@ -7717,6 +9190,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_TransformationDat = setupDatAccess( "Transformation", xiv::exd::Language::none ); m_TreasureDat = setupDatAccess( "Treasure", xiv::exd::Language::en ); m_TreasureHuntRankDat = setupDatAccess( "TreasureHuntRank", xiv::exd::Language::none ); + m_TreasureModelDat = setupDatAccess( "TreasureModel", xiv::exd::Language::none ); m_TreasureSpotDat = setupDatAccess( "TreasureSpot", xiv::exd::Language::none ); m_TribeDat = setupDatAccess( "Tribe", xiv::exd::Language::en ); m_TripleTriadDat = setupDatAccess( "TripleTriad", xiv::exd::Language::none ); @@ -7736,6 +9210,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_WarpDat = setupDatAccess( "Warp", xiv::exd::Language::en ); m_WarpConditionDat = setupDatAccess( "WarpCondition", xiv::exd::Language::none ); m_WarpLogicDat = setupDatAccess( "WarpLogic", xiv::exd::Language::en ); + m_WeaponTimelineDat = setupDatAccess( "WeaponTimeline", xiv::exd::Language::none ); m_WeatherDat = setupDatAccess( "Weather", xiv::exd::Language::en ); m_WeatherGroupDat = setupDatAccess( "WeatherGroup", xiv::exd::Language::none ); m_WeatherRateDat = setupDatAccess( "WeatherRate", xiv::exd::Language::none ); diff --git a/src/common/Exd/ExdDataGenerated.h b/src/common/Exd/ExdDataGenerated.h index c116c729..ef3f443b 100644 --- a/src/common/Exd/ExdDataGenerated.h +++ b/src/common/Exd/ExdDataGenerated.h @@ -51,6 +51,7 @@ struct AirshipExplorationLog; struct AirshipExplorationParamType; struct AirshipExplorationPart; struct AirshipExplorationPoint; +struct AnimationLOD; struct AnimaWeapon5; struct AnimaWeapon5Param; struct AnimaWeapon5PatternGroup; @@ -67,21 +68,27 @@ struct AOZArrangement; struct AOZBoss; struct AOZContent; struct AOZContentBriefingBNpc; +struct AOZReport; struct AquariumFish; struct AquariumWater; struct ArrayEventHandler; struct AttackType; struct BacklightColor; +struct Ballista; struct Balloon; struct BaseParam; struct BattleLeve; +struct BattleLeveRule; struct BeastRankBonus; struct BeastReputationRank; struct BeastTribe; struct Behavior; +struct BehaviorPath; struct BenchmarkOverrideEquipment; struct BGM; struct BGMFade; +struct BGMFadeType; +struct BGMScene; struct BGMSituation; struct BGMSwitch; struct BGMSystemDefine; @@ -90,6 +97,7 @@ struct BNpcBase; struct BNpcCustomize; struct BNpcName; struct BNpcParts; +struct BNpcState; struct Buddy; struct BuddyAction; struct BuddyEquip; @@ -99,6 +107,9 @@ struct BuddySkill; struct Cabinet; struct CabinetCategory; struct Calendar; +struct Carry; +struct Channeling; +struct CharaMakeClassEquip; struct CharaMakeCustomize; struct CharaMakeType; struct ChocoboRace; @@ -112,6 +123,7 @@ struct ChocoboRaceTutorial; struct ChocoboRaceWeather; struct ChocoboTaxi; struct ChocoboTaxiStand; +struct CircleActivity; struct ClassJob; struct ClassJobCategory; struct Companion; @@ -130,6 +142,7 @@ struct CompanyLeve; struct CompanyLeveRule; struct CompleteJournal; struct CompleteJournalCategory; +struct ConfigKey; struct ContentCloseCycle; struct ContentExAction; struct ContentFinderCondition; @@ -160,11 +173,15 @@ struct CustomTalk; struct CustomTalkDynamicIcon; struct CustomTalkNestHandlers; struct Cutscene; +struct CutsceneMotion; +struct CutsceneWorkIndex; struct CutScreenImage; +struct CycleTime; struct DailySupplyItem; struct DawnContent; struct DawnGrowMember; struct DawnMemberUIParam; +struct DawnQuestAnnounce; struct DawnQuestMember; struct DeepDungeon; struct DeepDungeonBan; @@ -180,7 +197,9 @@ struct DeepDungeonStatus; struct DefaultTalk; struct DefaultTalkLipSyncType; struct DeliveryQuest; +struct Description; struct DescriptionPage; +struct DescriptionSection; struct DescriptionString; struct DisposalShop; struct DisposalShopFilterType; @@ -192,6 +211,7 @@ struct EmjAddon; struct EmjDani; struct Emote; struct EmoteCategory; +struct EmoteMode; struct ENpcBase; struct ENpcDressUp; struct ENpcDressUpDress; @@ -215,18 +235,23 @@ struct EventItem; struct EventItemCastTimeline; struct EventItemHelp; struct EventItemTimeline; +struct EventSystemDefine; struct ExportedSG; struct ExVersion; struct Fate; +struct FateEvent; struct FateProgressUI; +struct FateTokenType; struct FCActivity; struct FCActivityCategory; struct FCAuthority; struct FCAuthorityCategory; struct FCChestName; +struct FCCrestSymbol; struct FccShop; struct FCHierarchy; struct FCProfile; +struct FCRank; struct FCReputation; struct FCRights; struct Festival; @@ -247,6 +272,7 @@ struct GatheringItemLevelConvertTable; struct GatheringItemPoint; struct GatheringLeve; struct GatheringLeveRoute; +struct GatheringLeveRule; struct GatheringNotebookList; struct GatheringPoint; struct GatheringPointBase; @@ -281,10 +307,14 @@ struct GFateClimbing2TotemType; struct GFateRideShooting; struct GilShop; struct GilShopItem; +struct GimmickAccessor; +struct GimmickJump; +struct GimmickRect; struct GoldSaucerArcadeMachine; struct GoldSaucerTextData; struct GrandCompany; struct GrandCompanyRank; +struct GroupPoseFrame; struct GuardianDeity; struct Guide; struct GuidePage; @@ -315,6 +345,24 @@ struct HowToCategory; struct HowToPage; struct HugeCraftworksNpc; struct HugeCraftworksRank; +struct HWDAnnounce; +struct HWDCrafterSupply; +struct HWDCrafterSupplyReward; +struct HWDDevLayerControl; +struct HWDDevLevelUI; +struct HWDDevLively; +struct HWDDevProgress; +struct HWDInfoBoardArticle; +struct HWDInfoBoardArticleTransient; +struct HWDInfoBoardArticleType; +struct HWDLevelChangeDeception; +struct HWDSharedGroup; +struct HWDSharedGroupControlParam; +struct IKDContentBonus; +struct IKDFishParam; +struct IKDRoute; +struct IKDRouteTable; +struct IKDSpot; struct IndividualWeather; struct InstanceContent; struct InstanceContentBuff; @@ -334,16 +382,19 @@ struct JobHudManualPriority; struct JournalCategory; struct JournalGenre; struct JournalSection; +struct Knockback; +struct LegacyQuest; struct Leve; struct LeveAssignmentType; struct LeveClient; struct Level; struct LeveRewardItem; struct LeveRewardItemGroup; +struct LeveString; struct LeveVfx; +struct Lobby; struct LogFilter; struct LogKind; -struct LogKindCategoryText; struct LogMessage; struct LotteryExchangeShop; struct MacroIcon; @@ -361,6 +412,7 @@ struct MasterpieceSupplyMultiplier; struct Materia; struct MateriaJoinRate; struct MateriaJoinRateGatherCraft; +struct MateriaTomestoneRate; struct MiniGameRA; struct MinionRace; struct MinionRules; @@ -375,6 +427,8 @@ struct ModelSkeleton; struct ModelState; struct MonsterNote; struct MonsterNoteTarget; +struct MotionTimeline; +struct MotionTimelineBlendTable; struct Mount; struct MountAction; struct MountCustomize; @@ -383,6 +437,9 @@ struct MountSpeed; struct MountTransient; struct MoveTimeline; struct MoveVfx; +struct MovieSubtitle; +struct MovieSubtitle500; +struct MovieSubtitleVoyage; struct NotebookDivision; struct NotebookDivisionCategory; struct NotoriousMonster; @@ -401,17 +458,23 @@ struct ParamGrow; struct PartyContent; struct PartyContentCutscene; struct PartyContentTextData; +struct PatchMark; struct Perform; struct PerformTransient; struct Pet; struct PetAction; +struct PhysicsGroup; +struct PhysicsWind; struct Picture; struct PlaceName; struct PlantPotFlowerSeed; struct PreHandler; +struct PresetCamera; +struct PresetCameraAdjust; struct PublicContent; struct PublicContentCutscene; struct PublicContentTextData; +struct Purify; struct PvPAction; struct PvPActionSort; struct PvPRank; @@ -419,8 +482,15 @@ struct PvPSelectTrait; struct PvPTrait; struct Quest; struct QuestBattle; +struct QuestChapter; struct QuestClassJobReward; struct QuestClassJobSupply; +struct QuestDerivedClass; +struct QuestRedo; +struct QuestRedoChapterUI; +struct QuestRedoChapterUICategory; +struct QuestRedoChapterUITab; +struct QuestRedoIncompChapter; struct QuestRepeatFlag; struct QuestRewardOther; struct QuickChat; @@ -494,6 +564,7 @@ struct TraitTransient; struct Transformation; struct Treasure; struct TreasureHuntRank; +struct TreasureModel; struct TreasureSpot; struct Tribe; struct TripleTriad; @@ -513,6 +584,7 @@ struct VFX; struct Warp; struct WarpCondition; struct WarpLogic; +struct WeaponTimeline; struct Weather; struct WeatherGroup; struct WeatherRate; @@ -543,6 +615,7 @@ struct Achievement int32_t key; std::vector< int32_t > data; uint16_t order; + uint8_t padding; uint8_t achievementHideCondition; Achievement( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); @@ -552,6 +625,7 @@ struct AchievementCategory { std::string name; uint8_t achievementKind; + bool showComplete; bool hideCategory; AchievementCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); @@ -673,7 +747,22 @@ struct ActionProcStatus struct ActionTimeline { + uint8_t type; + uint8_t priority; + bool pause; + uint8_t stance; + uint8_t slot; + uint8_t lookAtMode; std::string key; + uint8_t actionTimelineIDMode; + uint8_t weaponTimeline; + uint8_t loadType; + uint8_t startAttach; + uint8_t residentPap; + bool resident; + uint16_t killUpper; + bool isMotionCanceledByMoving; + uint8_t isLoop; ActionTimeline( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -750,6 +839,8 @@ struct Addon struct Adventure { int32_t level; + int32_t minLevel; + uint8_t maxLevel; uint16_t emote; uint16_t minTime; uint16_t maxTime; @@ -825,6 +916,7 @@ struct Aetheryte struct AetheryteSystemDefine { std::string text; + uint32_t defineValue; AetheryteSystemDefine( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -877,6 +969,16 @@ struct AirshipExplorationPoint AirshipExplorationPoint( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct AnimationLOD +{ + float cameraDistance; + float sampleInterval; + int8_t boneLOD; + std::vector< bool > animationEnable; + + AnimationLOD( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct AnimaWeapon5 { int32_t item; @@ -967,6 +1069,7 @@ struct AozAction struct AozActionTransient { + uint8_t number; uint32_t icon; std::string stats; std::string description; @@ -1043,6 +1146,14 @@ struct AOZContentBriefingBNpc AOZContentBriefingBNpc( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct AOZReport +{ + uint8_t reward; + int8_t order; + + AOZReport( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct AquariumFish { uint8_t aquariumWater; @@ -1080,8 +1191,24 @@ struct BacklightColor BacklightColor( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct Ballista +{ + uint16_t bNPC; + int8_t near; + int8_t far; + uint16_t angle; + uint8_t bullet; + uint16_t action0; + uint16_t action1; + uint16_t action2; + uint16_t action3; + + Ballista( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct Balloon { + bool slowly; std::string dialogue; Balloon( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); @@ -1089,9 +1216,10 @@ struct Balloon struct BaseParam { - int8_t order; + int8_t packetIndex; std::string name; std::string description; + uint8_t orderPriority; uint8_t oneHWpn; uint8_t oH; uint8_t head; @@ -1105,27 +1233,44 @@ struct BaseParam uint8_t bracelet; uint8_t ring; uint8_t twoHWpn; + uint8_t underArmor; uint8_t chestHead; uint8_t chestHeadLegsFeet; uint8_t legsFeet; uint8_t headChestHandsLegsFeet; uint8_t chestLegsGloves; uint8_t chestLegsFeet; + std::vector< uint8_t > meldParam; BaseParam( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; struct BattleLeve { + std::vector< uint16_t > time; + std::vector< int32_t > baseID; std::vector< uint16_t > enemyLevel; std::vector< uint32_t > bNpcName; std::vector< int32_t > itemsInvolved; std::vector< uint8_t > itemsInvolvedQty; std::vector< uint8_t > itemDropRate; + std::vector< uint32_t > toDoNumberInvolved; + std::vector< uint32_t > toDoParam; + int32_t rule; + uint8_t varient; + uint16_t objective0; + uint16_t objective1; BattleLeve( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct BattleLeveRule +{ + std::string rule; + + BattleLeveRule( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct BeastRankBonus { uint32_t item; @@ -1160,11 +1305,22 @@ struct BeastTribe struct Behavior { - uint16_t balloon; + int32_t balloon; Behavior( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct BehaviorPath +{ + bool isTurnTransition; + bool isFadeOut; + bool isFadeIn; + bool isWalking; + float speed; + + BehaviorPath( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct BenchmarkOverrideEquipment { uint64_t modelMainHand; @@ -1198,23 +1354,53 @@ struct BenchmarkOverrideEquipment struct BGM { std::string file; + uint8_t priority; + bool disableRestartTimeOut; + bool disableRestart; + bool passEnd; + float disableRestartResetTime; + uint8_t specialMode; BGM( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; struct BGMFade { + int32_t sceneOut; + int32_t sceneIn; int32_t bGMFadeType; BGMFade( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct BGMFadeType +{ + float fadeOutTime; + float fadeInTime; + float fadeInStartTime; + float resumeFadeInTime; + + BGMFadeType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct BGMScene +{ + bool enableDisableRestart; + bool resume; + bool enablePassEnd; + bool forceAutoReset; + bool ignoreBattle; + + BGMScene( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct BGMSituation { - uint16_t bGMDay; - uint16_t bGMNight; - uint16_t bGMBattle; - uint16_t bGMField; + uint16_t daytimeID; + uint16_t nightID; + uint16_t battleID; + uint16_t daybreakID; + uint16_t twilightID; BGMSituation( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -1244,13 +1430,19 @@ struct BNpcAnnounceIcon struct BNpcBase { uint16_t behavior; - uint8_t actionTimelineMove; + uint8_t battalion; + uint8_t linkRace; + uint8_t rank; float scale; uint16_t modelChara; uint16_t bNpcCustomize; uint16_t npcEquip; + uint16_t special; + uint8_t sEPack; int32_t arrayEventHandler; uint8_t bNpcParts; + bool isTargetLine; + bool isDisplayLevel; BNpcBase( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -1336,10 +1528,29 @@ struct BNpcParts BNpcParts( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct BNpcState +{ + uint8_t slot; + int8_t overRay; + uint16_t idle; + uint8_t attribute0; + bool attributeFlag0; + uint8_t attribute1; + bool attributeFlag1; + uint8_t attribute2; + bool attributeFlag2; + float scale; + int32_t loopTimeline; + + BNpcState( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct Buddy { + uint8_t base; int32_t questRequirement2; int32_t questRequirement1; + int32_t baseEquip; std::string soundEffect4; std::string soundEffect3; std::string soundEffect2; @@ -1354,6 +1565,8 @@ struct BuddyAction std::string description; int32_t icon; int32_t iconStatus; + uint16_t reward; + uint8_t sort; BuddyAction( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -1382,6 +1595,9 @@ struct BuddyEquip struct BuddyItem { uint16_t item; + bool useField; + bool useTraining; + uint8_t status; BuddyItem( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -1430,12 +1646,44 @@ struct Calendar Calendar( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct Carry +{ + uint64_t model; + uint8_t timeline; + + Carry( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct Channeling +{ + std::string file; + uint8_t widthScale; + + Channeling( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct CharaMakeClassEquip +{ + uint64_t helmet; + uint64_t top; + uint64_t glove; + uint64_t down; + uint64_t shoes; + uint64_t weapon; + uint64_t subWeapon; + int32_t _class; + + CharaMakeClassEquip( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct CharaMakeCustomize { uint8_t featureID; uint32_t icon; uint16_t data; bool isPurchasable; + uint32_t hint; + uint32_t hintItem; CharaMakeCustomize( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -1445,7 +1693,15 @@ struct CharaMakeType int32_t race; int32_t tribe; int8_t gender; - std::vector< int32_t > facialFeatureIcon; + std::vector< uint32_t > menu; + std::vector< uint8_t > initVal; + std::vector< uint8_t > subMenuType; + std::vector< uint8_t > subMenuNum; + std::vector< uint8_t > lookAt; + std::vector< uint32_t > subMenuMask; + std::vector< uint32_t > customize; + std::vector< uint8_t > voiceStruct; + std::vector< int32_t > facialFeatureOption; CharaMakeType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -1529,6 +1785,8 @@ struct ChocoboRaceWeather struct ChocoboTaxi { uint32_t location; + uint8_t fare; + uint16_t timeRequired; ChocoboTaxi( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -1540,12 +1798,22 @@ struct ChocoboTaxiStand ChocoboTaxiStand( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct CircleActivity +{ + std::string name; + int32_t icon; + uint16_t order; + + CircleActivity( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct ClassJob { std::string name; std::string abbreviation; uint8_t classJobCategory; int8_t expArrayIndex; + int8_t battleClassIndex; uint8_t jobIndex; uint16_t modifierHitPoints; uint16_t modifierManaPoints; @@ -1560,6 +1828,7 @@ struct ClassJob int32_t itemStartingWeapon; uint8_t role; uint8_t startingTown; + int8_t monsterNote; uint8_t primaryStat; uint16_t limitBreak1; uint16_t limitBreak2; @@ -1633,7 +1902,22 @@ struct Companion int8_t pronoun; int8_t article; uint16_t model; + uint8_t scale; + uint8_t inactiveIdle0; + uint8_t inactiveIdle1; + uint8_t inactiveBattle; + uint8_t inactiveWandering; uint8_t behavior; + uint8_t special; + uint8_t wanderingWait; + uint16_t priority; + bool roulette; + bool battle; + bool lookAt; + bool poke; + uint16_t enemy; + bool stroke; + bool clapping; uint16_t icon; uint16_t order; uint8_t cost; @@ -1749,9 +2033,17 @@ struct CompanyCraftType struct CompanyLeve { - int32_t eventItem; - uint8_t eventItemAmount; - int32_t companyLeveRule; + std::vector< uint16_t > time; + std::vector< int32_t > baseID; + std::vector< uint16_t > enemyLevel; + std::vector< uint32_t > bNpcName; + std::vector< int32_t > itemsInvolved; + std::vector< uint8_t > itemsInvolvedQty; + std::vector< uint8_t > itemDropRate; + std::vector< uint32_t > toDoNumberInvolved; + std::vector< uint32_t > toDoParam; + int32_t rule; + uint8_t ruleParam; CompanyLeve( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -1759,6 +2051,8 @@ struct CompanyLeve struct CompanyLeveRule { std::string type; + uint16_t objective; + uint16_t help; CompanyLeveRule( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -1781,6 +2075,18 @@ struct CompleteJournalCategory CompleteJournalCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct ConfigKey +{ + std::string label; + uint8_t param; + uint8_t platform; + bool required; + uint8_t category; + std::string text; + + ConfigKey( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct ContentCloseCycle { uint32_t unixtime; @@ -1799,9 +2105,12 @@ struct ContentExAction struct ContentFinderCondition { + std::string shortCode; uint16_t territoryType; uint8_t contentLinkType; uint16_t content; + bool pvP; + uint8_t acceptClassJobCategory; uint8_t contentMemberType; uint32_t unlockQuest; uint8_t classJobLevelRequired; @@ -1871,6 +2180,7 @@ struct ContentMemberType struct ContentNpcTalk { + int32_t type; std::vector< uint32_t > contentTalk; ContentNpcTalk( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); @@ -1889,19 +2199,19 @@ struct ContentRoulette std::string description; std::string dutyType; bool isInDutyFinder; - uint8_t openRule; - uint8_t requiredLevel; - uint16_t itemLevelRequired; - uint32_t icon; - uint8_t contentRouletteRoleBonus; - uint16_t rewardTomeA; + bool openRule; + bool requiredLevel; + uint8_t itemLevelRequired; + uint16_t icon; + uint32_t contentRouletteRoleBonus; + uint8_t rewardTomeA; uint16_t rewardTomeB; uint16_t rewardTomeC; - uint8_t sortKey; + uint16_t sortKey; uint8_t contentMemberType; bool requireAllDuties; - uint8_t contentRouletteOpenRule; - uint16_t instanceContent; + bool contentRouletteOpenRule; + uint8_t instanceContent; ContentRoulette( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -1927,7 +2237,9 @@ struct ContentsNote int32_t icon; uint8_t menuOrder; int32_t requiredAmount; + uint8_t reward0; int32_t expMultiplier; + uint8_t reward1; int32_t gilRward; uint16_t levelUnlock; uint16_t howTo; @@ -2009,6 +2321,8 @@ struct CraftLevelDifference struct CraftType { + uint8_t mainPhysical; + uint8_t subPhysical; std::string name; CraftType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); @@ -2103,13 +2417,46 @@ struct Cutscene Cutscene( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct CutsceneMotion +{ + float wALK_LOOP_SPEED; + float rUN_LOOP_SPEED; + float sLOWWALK_LOOP_SPEED; + float sLOWRUN_LOOP_SPEED; + float bATTLEWALK_LOOP_SPEED; + float bATTLERUN_LOOP_SPEED; + float dASH_LOOP_SPEED; + uint8_t tURN_CW90_FRAME; + uint8_t tURN_CCW90_FRAME; + uint8_t tURN_CW180_FRAME; + uint8_t tURN_CCW180_FRAME; + + CutsceneMotion( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct CutsceneWorkIndex +{ + uint16_t workIndex; + + CutsceneWorkIndex( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct CutScreenImage { + int16_t type; int32_t image; CutScreenImage( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct CycleTime +{ + uint32_t firstCycle; + uint32_t cycle; + + CycleTime( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct DailySupplyItem { @@ -2146,6 +2493,15 @@ struct DawnMemberUIParam DawnMemberUIParam( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct DawnQuestAnnounce +{ + uint32_t quest; + uint8_t content; + std::vector< uint32_t > eNPC; + + DawnQuestAnnounce( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct DawnQuestMember { uint32_t member; @@ -2159,7 +2515,12 @@ struct DawnQuestMember struct DeepDungeon { + uint8_t aetherpoolArm; + uint8_t aetherpoolArmor; + std::vector< uint8_t > pomanderSlot; + std::vector< uint8_t > magiciteSlot; std::string name; + uint16_t contentFinderConditionStart; DeepDungeon( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -2292,8 +2653,20 @@ struct DeliveryQuest DeliveryQuest( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct Description +{ + uint32_t quest; + std::string textLong; + std::string textShort; + std::string textCommentary; + uint32_t section; + + Description( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct DescriptionPage { + uint32_t quest; uint16_t text1; uint32_t image1; uint16_t text2; @@ -2316,6 +2689,14 @@ struct DescriptionPage DescriptionPage( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct DescriptionSection +{ + uint16_t string; + uint16_t page; + + DescriptionSection( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct DescriptionString { std::string text; @@ -2411,8 +2792,23 @@ struct EmoteCategory EmoteCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct EmoteMode +{ + uint16_t startEmote; + uint16_t endEmote; + bool move; + bool camera; + bool endOnRotate; + bool endOnEmote; + uint8_t conditionMode; + + EmoteMode( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct ENpcBase { + uint16_t eventHandler; + bool important; std::vector< uint32_t > eNpcData; float scale; uint16_t modelChara; @@ -2469,7 +2865,10 @@ struct ENpcBase uint8_t dyeLeftRing; uint32_t modelRightRing; uint8_t dyeRightRing; + uint8_t invisibility; uint16_t balloon; + bool notRewriteHeight; + uint8_t defaultBalloon; ENpcBase( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -2520,8 +2919,14 @@ struct ENpcResident struct EObj { + uint8_t popType; uint32_t data; + uint8_t invisibility; uint16_t sgbPath; + bool eyeCollision; + bool directorControl; + bool target; + uint8_t eventHighAddition; EObj( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -2682,6 +3087,8 @@ struct EventItem uint8_t stackSize; uint32_t quest; uint8_t castTime; + uint8_t castTimeline; + uint8_t timeline; EventItem( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -2707,6 +3114,14 @@ struct EventItemTimeline EventItemTimeline( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct EventSystemDefine +{ + std::string text; + uint32_t defineValue; + + EventSystemDefine( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct ExportedSG { std::string sgbPath; @@ -2724,14 +3139,22 @@ struct ExVersion struct Fate { uint8_t eurekaFate; + uint8_t rule; uint32_t location; uint8_t classJobLevel; uint8_t classJobLevelMax; uint32_t eventItem; + std::vector< uint8_t > typeToDoValue; uint32_t iconObjective; uint32_t iconMap; + uint32_t iconInactiveMap; int32_t music; + uint32_t lGBGuardNPCLocation; + uint16_t screenImageAccept; + uint16_t screenImageComplete; + uint16_t screenImageFailed; bool hasWorldMapIcon; + bool isQuest; std::string name; std::string description; std::string objective; @@ -2741,6 +3164,20 @@ struct Fate Fate( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct FateEvent +{ + std::vector< uint8_t > turn; + std::vector< uint32_t > gesture; + std::vector< int32_t > lipSync; + std::vector< int32_t > facial; + std::vector< int32_t > shape; + std::vector< bool > isAutoShake; + std::vector< uint8_t > widgetType; + std::vector< std::string > text; + + FateEvent( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct FateProgressUI { int32_t location; @@ -2752,16 +3189,28 @@ struct FateProgressUI FateProgressUI( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct FateTokenType +{ + uint32_t currency; + + FateTokenType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct FCActivity { std::string text; + uint8_t selfKind; + uint8_t targetKind; + uint8_t numParam; uint8_t fCActivityCategory; + int8_t iconType; FCActivity( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; struct FCActivityCategory { + uint8_t priority; std::string name; FCActivityCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); @@ -2789,6 +3238,14 @@ struct FCChestName FCChestName( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct FCCrestSymbol +{ + uint8_t colorNum; + uint8_t fCRight; + + FCCrestSymbol( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct FccShop { std::string name; @@ -2805,15 +3262,29 @@ struct FCHierarchy struct FCProfile { + uint8_t priority; std::string name; FCProfile( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct FCRank +{ + uint32_t nextPoint; + uint32_t currentPoint; + uint16_t rights; + uint8_t fCActionActiveNum; + uint8_t fCActionStockNum; + + FCRank( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct FCReputation { uint32_t pointsToNext; uint32_t requiredPoints; + uint8_t discountRate; + uint32_t color; std::string name; FCReputation( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); @@ -2868,7 +3339,10 @@ struct FishingSpot std::string bigFishOnReach; std::string bigFishOnEnd; uint8_t fishingSpotCategory; + bool rare; uint16_t territoryType; + uint16_t placeNameMain; + uint16_t placeNameSub; int16_t x; int16_t z; uint16_t radius; @@ -2934,7 +3408,9 @@ struct FurnitureCatalogItemList struct GardeningSeed { uint32_t item; + uint16_t modelID; uint32_t icon; + bool sE; GardeningSeed( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -2957,7 +3433,7 @@ struct GatheringItem { int32_t item; uint16_t gatheringItemLevel; - bool isHidden; + uint32_t isHidden; GatheringItem( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -2979,9 +3455,22 @@ struct GatheringItemPoint struct GatheringLeve { + std::vector< int32_t > route; + int32_t requiredItem0; + uint8_t requiredItemQty0; int32_t requiredItem1; - uint8_t leveLevel; + uint8_t requiredItemQty1; int32_t requiredItem2; + uint8_t requiredItemQty2; + int32_t requiredItem3; + uint8_t requiredItemQty3; + uint8_t itemNumber; + int32_t rule; + uint8_t varient; + uint16_t objective0; + uint16_t objective1; + int32_t bNpcEntry; + bool useSecondaryTool; GatheringLeve( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -2992,6 +3481,13 @@ struct GatheringLeveRoute GatheringLeveRoute( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct GatheringLeveRule +{ + std::string rule; + + GatheringLeveRule( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct GatheringNotebookList { std::vector< int32_t > gatheringItem; @@ -3001,7 +3497,9 @@ struct GatheringNotebookList struct GatheringPoint { + uint8_t type; int32_t gatheringPointBase; + uint8_t count; std::vector< uint16_t > gatheringPointBonus; uint16_t territoryType; uint16_t placeName; @@ -3052,6 +3550,9 @@ struct GatheringPointName struct GatheringSubCategory { + uint8_t gatheringType; + uint8_t classJob; + uint16_t division; int32_t item; std::string folkloreBook; @@ -3269,6 +3770,8 @@ struct GeneralAction std::string description; uint16_t action; uint16_t unlockLink; + uint8_t recast; + uint8_t uIPriority; int32_t icon; GeneralAction( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); @@ -3313,6 +3816,7 @@ struct GilShop { std::string name; uint32_t icon; + uint32_t quest; int32_t acceptTalk; int32_t failTalk; @@ -3329,6 +3833,38 @@ struct GilShopItem GilShopItem( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct GimmickAccessor +{ + int32_t param0; + uint32_t param1; + uint32_t param2; + uint32_t type; + + GimmickAccessor( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct GimmickJump +{ + uint16_t fallDamage; + int8_t height; + uint32_t loopMotion; + uint32_t endMotion; + bool startClient; + + GimmickJump( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct GimmickRect +{ + uint32_t layoutID; + uint8_t triggerIn; + uint32_t param0; + uint8_t triggerOut; + uint32_t param1; + + GimmickRect( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct GoldSaucerArcadeMachine { uint32_t failImage; @@ -3370,6 +3906,15 @@ struct GrandCompanyRank GrandCompanyRank( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct GroupPoseFrame +{ + int32_t image; + std::string gridText; + std::string text; + + GroupPoseFrame( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct GuardianDeity { std::string name; @@ -3653,6 +4198,153 @@ struct HugeCraftworksRank HugeCraftworksRank( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct HWDAnnounce +{ + std::string name; + uint32_t eNPC; + + HWDAnnounce( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct HWDCrafterSupply +{ + std::vector< uint32_t > itemTradeIn; + std::vector< uint8_t > level; + std::vector< uint8_t > baseCollectableRating; + std::vector< uint16_t > midBaseCollectableRating; + std::vector< uint16_t > highBaseCollectableRating; + std::vector< uint16_t > baseCollectableReward; + std::vector< uint16_t > midCollectableReward; + std::vector< uint16_t > highCollectableReward; + + HWDCrafterSupply( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct HWDCrafterSupplyReward +{ + uint16_t scriptRewardAmount; + uint32_t expReward; + + HWDCrafterSupplyReward( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct HWDDevLayerControl +{ + + HWDDevLayerControl( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct HWDDevLevelUI +{ + + HWDDevLevelUI( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct HWDDevLively +{ + uint32_t eNPC; + + HWDDevLively( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct HWDDevProgress +{ + bool canGoNext; + + HWDDevProgress( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct HWDInfoBoardArticle +{ + uint8_t type; + std::string text; + + HWDInfoBoardArticle( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct HWDInfoBoardArticleTransient +{ + uint32_t image; + std::string text; + std::string npcName; + + HWDInfoBoardArticleTransient( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct HWDInfoBoardArticleType +{ + std::string type; + + HWDInfoBoardArticleType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct HWDLevelChangeDeception +{ + int32_t image; + + HWDLevelChangeDeception( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct HWDSharedGroup +{ + uint32_t lGB; + uint8_t param; + + HWDSharedGroup( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct HWDSharedGroupControlParam +{ + uint8_t paramValue; + + HWDSharedGroupControlParam( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct IKDContentBonus +{ + std::string objective; + std::string requirement; + uint32_t image; + uint8_t order; + + IKDContentBonus( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct IKDFishParam +{ + uint32_t fish; + uint8_t iKDContentBonus; + + IKDFishParam( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct IKDRoute +{ + std::vector< uint32_t > spot; + uint8_t timeDefine; + uint32_t image; + uint32_t territoryType; + std::string name; + + IKDRoute( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct IKDRouteTable +{ + uint32_t route; + + IKDRouteTable( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct IKDSpot +{ + uint32_t spotMain; + uint32_t spotSub; + uint32_t placeName; + + IKDSpot( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct IndividualWeather { std::vector< uint8_t > weather; @@ -3666,28 +4358,28 @@ struct InstanceContent uint8_t instanceContentType; uint8_t weekRestriction; uint16_t timeLimitmin; - std::string name; uint16_t bGM; - uint16_t winBGM; + uint32_t winBGM; uint32_t cutscene; - uint16_t order; + uint8_t order; + bool colosseum; uint32_t instanceContentTextDataBossStart; uint32_t instanceContentTextDataBossEnd; uint32_t bNpcBaseBoss; uint32_t instanceContentTextDataObjectiveStart; - uint32_t instanceContentTextDataObjectiveEnd; - uint16_t sortKey; + uint16_t instanceContentTextDataObjectiveEnd; + uint32_t sortKey; uint32_t instanceClearExp; uint16_t newPlayerBonusA; - uint16_t finalBossCurrencyC; + uint32_t finalBossCurrencyC; uint16_t finalBossCurrencyA; uint16_t finalBossCurrencyB; - uint16_t newPlayerBonusB; + uint32_t newPlayerBonusB; uint32_t instanceClearGil; - uint32_t instanceContentRewardItem; - uint32_t finalBossExp; - int32_t instanceContentBuff; - uint32_t reqInstance; + uint8_t instanceContentRewardItem; + int32_t finalBossExp; + uint32_t instanceContentBuff; + int16_t reqInstance; uint8_t partyCondition; InstanceContent( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); @@ -3759,6 +4451,7 @@ struct Item int32_t itemGlamour; uint16_t salvage; bool isCollectable; + bool alwaysCollectable; uint16_t aetherialReduce; uint8_t levelEquip; uint8_t equipRestriction; @@ -3795,6 +4488,10 @@ struct Item struct ItemAction { + uint8_t condLv; + bool condBattle; + bool condPVP; + bool condPVPOnly; uint16_t type; std::vector< uint16_t > data; std::vector< uint16_t > dataHQ; @@ -3941,6 +4638,8 @@ struct JobHudManualPriority struct JournalCategory { std::string name; + uint8_t separateType; + uint8_t dataType; uint8_t journalSection; JournalCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); @@ -3962,14 +4661,41 @@ struct JournalSection JournalSection( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct Knockback +{ + uint8_t distance; + uint8_t speed; + bool motion; + uint8_t nearDistance; + uint8_t direction; + uint8_t directionArg; + bool cancelMove; + + Knockback( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct LegacyQuest +{ + uint16_t legacyQuestID; + std::string text; + std::string string; + uint16_t sortKey; + uint8_t genre; + + LegacyQuest( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct Leve { std::string name; std::string description; int32_t leveClient; int32_t leveAssignmentType; + int32_t town; uint16_t classJobLevel; + uint8_t timeLimit; uint8_t allowanceCost; + int32_t evaluation; int32_t placeNameStart; int32_t placeNameIssued; uint8_t classJobCategory; @@ -3977,6 +4703,9 @@ struct Leve int32_t placeNameStartZone; int32_t iconCityState; int32_t dataId; + bool canCancel; + uint8_t maxDifficulty; + float expFactor; uint32_t expReward; uint32_t gilReward; uint16_t leveRewardItem; @@ -3984,6 +4713,7 @@ struct Leve uint8_t leveVfxFrame; uint32_t levelLevemete; int32_t iconIssuer; + bool lockedLeve; uint32_t levelStart; uint16_t bGM; @@ -4034,6 +4764,13 @@ struct LeveRewardItemGroup LeveRewardItemGroup( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct LeveString +{ + std::string objective; + + LeveString( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct LeveVfx { std::string effect; @@ -4042,9 +4779,24 @@ struct LeveVfx LeveVfx( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct Lobby +{ + uint32_t tYPE; + uint32_t pARAM; + uint32_t lINK; + std::string text; + + Lobby( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct LogFilter { uint8_t logKind; + uint16_t caster; + uint16_t target; + uint8_t category; + uint8_t displayOrder; + uint8_t preset; std::string name; std::string example; @@ -4054,20 +4806,10 @@ struct LogFilter struct LogKind { std::string format; - std::string name; - std::string example; - uint8_t logKindCategoryText; LogKind( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; -struct LogKindCategoryText -{ - std::string text; - - LogKindCategoryText( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); -}; - struct LogMessage { uint16_t logKind; @@ -4102,7 +4844,9 @@ struct MacroIconRedirectOld struct MainCommand { int32_t icon; + uint8_t category; uint8_t mainCommandCategory; + int8_t sortID; std::string name; std::string description; @@ -4126,6 +4870,9 @@ struct ManeuversArmor struct Map { + uint8_t mapCondition; + uint8_t priorityCategoryUI; + uint8_t priorityUI; int8_t mapIndex; uint8_t hierarchy; uint16_t mapMarkerRange; @@ -4137,8 +4884,10 @@ struct Map uint16_t placeName; uint16_t placeNameSub; int16_t discoveryIndex; + uint32_t discoveryFlag; uint16_t territoryType; bool discoveryArrayByte; + bool isEvent; Map( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -4169,6 +4918,7 @@ struct MapSymbol { int32_t icon; int32_t placeName; + bool displayNavi; MapSymbol( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -4223,6 +4973,13 @@ struct MateriaJoinRateGatherCraft MateriaJoinRateGatherCraft( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct MateriaTomestoneRate +{ + uint32_t rate; + + MateriaTomestoneRate( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct MiniGameRA { int32_t icon; @@ -4256,7 +5013,9 @@ struct MinionSkillType struct MobHuntOrder { uint16_t target; - uint8_t stars; + uint8_t neededKills; + uint8_t type; + uint8_t rank; uint8_t mobHuntReward; MobHuntOrder( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ); @@ -4264,6 +5023,7 @@ struct MobHuntOrder struct MobHuntOrderType { + uint8_t type; uint32_t quest; uint32_t eventItem; uint16_t orderStart; @@ -4276,6 +5036,7 @@ struct MobHuntReward { uint32_t expReward; uint16_t gilReward; + uint8_t expansion; uint16_t currencyReward; MobHuntReward( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); @@ -4305,13 +5066,22 @@ struct ModelChara uint16_t model; uint8_t base; uint8_t variant; + uint16_t sEPack; + bool papVariation; ModelChara( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; struct ModelSkeleton { - float scaleFactor; + float radius; + float height; + float vFXScale; + float floatHeight; + float floatDown; + uint16_t floatUp; + bool motionBlendType; + uint8_t loopFlySE; ModelSkeleton( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -4337,10 +5107,34 @@ struct MonsterNoteTarget { uint16_t bNpcName; int32_t icon; + uint8_t town; MonsterNoteTarget( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct MotionTimeline +{ + std::string filename; + uint8_t blendGroup; + bool isLoop; + bool isBlinkEnable; + bool isLipEnable; + + MotionTimeline( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct MotionTimelineBlendTable +{ + uint8_t destBlendGroup; + uint8_t srcBlendGroup; + uint8_t blendFrame_PC; + uint8_t blendFram_TypeA; + uint8_t blendFram_TypeB; + uint8_t blendFram_TypeC; + + MotionTimelineBlendTable( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct Mount { std::string singular; @@ -4355,11 +5149,23 @@ struct Mount uint8_t isFlying; uint8_t mountCustomize; uint16_t rideBGM; + uint8_t exitMoveDist; + uint8_t exitMoveSpeed; + bool isEmote; + int32_t equipHead; + int32_t equipBody; + int32_t equipLeg; + int32_t equipFoot; int16_t order; uint16_t icon; + uint8_t uIPriority; + uint8_t radiusRate; + uint8_t baseMotionSpeed_Run; + uint8_t baseMotionSpeed_Walk; uint8_t extraSeats; uint16_t mountAction; bool isAirborne; + bool exHotbarEnableConfig; bool useEP; bool isImmobile; @@ -4458,10 +5264,45 @@ struct MoveVfx MoveVfx( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct MovieSubtitle +{ + float startTime; + float endTime; + + MovieSubtitle( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct MovieSubtitle500 +{ + float startTime; + float endTime; + + MovieSubtitle500( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct MovieSubtitleVoyage +{ + float startTime; + float endTime; + + MovieSubtitleVoyage( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct NotebookDivision { std::string name; uint8_t notebookDivisionCategory; + uint8_t craftOpeningLevel; + uint8_t gatheringOpeningLevel; + uint32_t questUnlock; + bool cRPCraft; + bool bSMCraft; + bool aRMCraft; + bool gSMCraft; + bool lTWCraft; + bool wVRCraft; + bool aLCCraft; + bool cULCraft; NotebookDivision( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -4515,20 +5356,29 @@ struct NpcEquip struct NpcYell { - std::string text; + uint8_t outputType; + float balloonTime; + bool isBalloonSlow; + bool battleTalkTime; + float text; NpcYell( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; struct Omen { - std::string fileName; + std::string path; + std::string pathAlly; + uint8_t type; + bool restrictYScale; + bool largeScale; Omen( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; struct OnlineStatus { + bool list; uint8_t priority; std::string name; uint32_t icon; @@ -4593,6 +5443,7 @@ struct ParamGrow { int32_t expToNext; uint8_t additionalActions; + uint8_t applyAction; uint16_t scaledQuestXP; int32_t mpModifier; int32_t baseSpeed; @@ -4600,7 +5451,10 @@ struct ParamGrow uint8_t questExpModifier; uint16_t hpModifier; int32_t huntingLogExpReward; + int32_t monsterNoteSeals; uint16_t itemLevelSync; + uint16_t properDungeon; + uint16_t properGuildOrder; uint16_t craftingLevel; ParamGrow( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); @@ -4610,7 +5464,7 @@ struct PartyContent { uint8_t key; uint16_t timeLimit; - std::string name; + bool name; uint32_t textDataStart; uint32_t textDataEnd; uint16_t contentFinderCondition; @@ -4633,6 +5487,17 @@ struct PartyContentTextData PartyContentTextData( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct PatchMark +{ + int8_t category; + uint8_t subCategoryType; + uint16_t subCategory; + uint32_t markID; + uint8_t version; + + PatchMark( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct Perform { std::string name; @@ -4670,15 +5535,41 @@ struct PetAction int32_t icon; uint16_t action; uint8_t pet; + bool masterOrder; + bool disableOrder; PetAction( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct PhysicsGroup +{ + std::vector< float > simulationTime; + std::vector< float > pS3SimulationTime; + bool resetByLookAt; + float rootFollowingGame; + float rootFollowingCutScene; + std::vector< int8_t > configSwitch; + bool forceAttractByPhysicsOff; + + PhysicsGroup( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct PhysicsWind +{ + float threshold; + float amplitude; + float amplitudeFrequency; + float powerMin; + float powerMax; + float powerFrequency; + + PhysicsWind( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct Picture { int32_t item; int32_t image; - int32_t signature; Picture( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -4706,6 +5597,49 @@ struct PreHandler PreHandler( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct PresetCamera +{ + uint16_t eID; + float posX; + float posY; + float posZ; + float elezen; + float lalafell; + float miqote; + float roe; + float hrothgar; + float viera; + float hyur_F; + float elezen_F; + float lalafell_F; + float miqote_F; + float roe_F; + float hrothgar_F; + float viera_F; + + PresetCamera( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct PresetCameraAdjust +{ + float hyur_M; + float hyur_F; + float elezen_M; + float elezen_F; + float lalafell_M; + float lalafell_F; + float miqote_M; + float miqote_F; + float roe_M; + float roe_F; + float hrothgar_M; + float hrothgar_F; + float viera_M; + float viera_F; + + PresetCameraAdjust( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct PublicContent { uint8_t type; @@ -4735,9 +5669,18 @@ struct PublicContentTextData PublicContentTextData( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct Purify +{ + uint8_t _class; + uint8_t level; + + Purify( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct PvPAction { uint16_t action; + std::vector< bool > grandCompany; PvPAction( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -4868,6 +5811,14 @@ struct QuestBattle QuestBattle( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct QuestChapter +{ + uint32_t quest; + uint16_t redo; + + QuestChapter( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct QuestClassJobReward { uint8_t classJobCategory; @@ -4888,6 +5839,59 @@ struct QuestClassJobSupply QuestClassJobSupply( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct QuestDerivedClass +{ + uint32_t quest; + + QuestDerivedClass( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct QuestRedo +{ + uint32_t finalQuest; + uint16_t chapter; + std::vector< uint32_t > quest; + + QuestRedo( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct QuestRedoChapterUI +{ + uint32_t quest; + uint8_t category; + uint32_t questRedoUISmall; + uint32_t questRedoUILarge; + uint32_t questRedoUIWide; + std::string chapterName; + std::string chapterPart; + std::string transient; + + QuestRedoChapterUI( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct QuestRedoChapterUICategory +{ + std::string expac; + + QuestRedoChapterUICategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct QuestRedoChapterUITab +{ + uint32_t icon1; + uint32_t icon2; + std::string text; + + QuestRedoChapterUITab( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct QuestRedoIncompChapter +{ + uint16_t chapter; + + QuestRedoIncompChapter( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct QuestRepeatFlag { uint32_t quest; @@ -4996,6 +6000,7 @@ struct RecastNavimesh struct Recipe { + int32_t number; int32_t craftType; uint16_t recipeLevelTable; int32_t itemResult; @@ -5044,6 +6049,9 @@ struct RecipeNotebookList struct RecommendContents { int32_t level; + uint8_t classJob; + uint8_t minLevel; + uint8_t maxLevel; RecommendContents( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -5053,6 +6061,19 @@ struct Relic uint32_t itemAtma; uint32_t itemAnimus; int32_t icon; + uint16_t materia0; + uint8_t noteMain0; + uint8_t noteSub0; + uint8_t noteSelection10; + uint16_t materia1; + uint8_t noteMain1; + uint8_t noteSub1; + uint8_t noteSelection1; + uint16_t materia2; + uint8_t noteMain2; + uint8_t noteSub2; + uint16_t materia3; + uint8_t noteSelection3; Relic( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -5182,6 +6203,7 @@ struct SatisfactionNpc { int32_t npc; int32_t questRequired; + uint8_t levelUnlock; uint8_t deliveriesPerWeek; std::vector< int32_t > supplyIndex; std::vector< uint16_t > satisfactionRequired; @@ -5258,6 +6280,9 @@ struct ScenarioType struct ScreenImage { uint32_t image; + int16_t jingle; + int8_t type; + bool lang; ScreenImage( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -5328,6 +6353,7 @@ struct SpearfishingItem std::string description; int32_t item; uint16_t gatheringItemLevel; + uint8_t fishingRecordType; uint16_t territoryType; bool isVisible; @@ -5361,10 +6387,11 @@ struct SpecialShop std::vector< int32_t > questItem; std::vector< int32_t > unknown; std::vector< int32_t > achievementUnlock; - std::vector< uint16_t > patchNumber; - uint32_t questUnlock; - int32_t notCompleteText; - int32_t completeText; + std::vector< uint8_t > patchNumber; + uint16_t useCurrencyType; + uint16_t questUnlock; + uint16_t completeText; + uint16_t notCompleteText; SpecialShop( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -5409,6 +6436,8 @@ struct Status bool canDispel; bool inflictedByActor; bool isPermanent; + uint8_t partyListPriority; + uint16_t log; bool isFcBuff; bool invisibility; @@ -5493,18 +6522,27 @@ struct TerritoryType { std::string name; std::string bg; + uint8_t battalionMode; uint16_t placeNameRegion; uint16_t placeNameZone; uint16_t placeName; uint16_t map; uint8_t loadingImage; + uint8_t exclusiveType; uint8_t territoryIntendedUse; uint8_t weatherRate; + bool pCSearch; + bool stealth; + bool mount; + uint16_t bGM; int32_t placeNameRegionIcon; int32_t placeNameIcon; uint32_t arrayEventHandler; uint16_t questBattle; int32_t aetheryte; + int32_t fixedTime; + uint16_t resident; + int8_t achievementIndex; bool isPvpZone; TerritoryType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); @@ -5596,15 +6634,21 @@ struct Transformation uint16_t bNpcName; int32_t bNpcCustomize; int32_t npcEquip; - std::vector< uint16_t > action; + bool exHotbarEnableConfig; + uint16_t action0; + uint16_t action1; + uint16_t action2; + uint16_t action3; + uint16_t action4; + uint16_t action5; uint8_t rPParameter; float speed; float scale; bool isPvP; bool isEvent; bool playerCamera; - uint16_t startVFX; - uint16_t endVFX; + bool startVFX; + bool endVFX; Transformation( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -5628,9 +6672,18 @@ struct TreasureHuntRank TreasureHuntRank( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct TreasureModel +{ + std::string path; + + TreasureModel( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct TreasureSpot { int32_t location; + float mapOffsetX; + float mapOffsetY; TreasureSpot( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -5639,9 +6692,11 @@ struct Tribe { std::string masculine; std::string feminine; + int8_t hp; + int8_t mp; int8_t sTR; - int8_t dEX; int8_t vIT; + int8_t dEX; int8_t iNT; int8_t mND; int8_t pIE; @@ -5778,23 +6833,32 @@ struct VFX struct Warp { - uint32_t level; + uint32_t popRange; uint16_t territoryType; uint32_t conditionSuccessEvent; uint32_t conditionFailEvent; uint32_t confirmEvent; uint16_t warpCondition; uint16_t warpLogic; + uint16_t startCutscene; + uint16_t endCutscene; + bool canSkipCutscene; + std::string name; + std::string question; Warp( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; struct WarpCondition { + uint16_t gil; + uint8_t completeParam; uint32_t requiredQuest1; uint32_t requiredQuest2; uint32_t dRequiredQuest3; uint32_t requiredQuest4; + uint16_t questReward; + uint16_t classLevel; WarpCondition( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -5802,6 +6866,7 @@ struct WarpCondition struct WarpLogic { std::string warpName; + bool canSkipCutscene; std::vector< std::string > function; std::string question; std::string responseYes; @@ -5810,6 +6875,14 @@ struct WarpLogic WarpLogic( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct WeaponTimeline +{ + std::string file; + int16_t nextWeaponTimeline; + + WeaponTimeline( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct Weather { int32_t icon; @@ -5884,6 +6957,7 @@ struct WeeklyLotBonus struct World { std::string name; + uint8_t userType; uint8_t dataCenter; bool isPublic; @@ -6025,6 +7099,7 @@ struct ZoneSharedGroup xiv::exd::Exd m_AirshipExplorationParamTypeDat; xiv::exd::Exd m_AirshipExplorationPartDat; xiv::exd::Exd m_AirshipExplorationPointDat; + xiv::exd::Exd m_AnimationLODDat; xiv::exd::Exd m_AnimaWeapon5Dat; xiv::exd::Exd m_AnimaWeapon5ParamDat; xiv::exd::Exd m_AnimaWeapon5PatternGroupDat; @@ -6041,21 +7116,27 @@ struct ZoneSharedGroup xiv::exd::Exd m_AOZBossDat; xiv::exd::Exd m_AOZContentDat; xiv::exd::Exd m_AOZContentBriefingBNpcDat; + xiv::exd::Exd m_AOZReportDat; xiv::exd::Exd m_AquariumFishDat; xiv::exd::Exd m_AquariumWaterDat; xiv::exd::Exd m_ArrayEventHandlerDat; xiv::exd::Exd m_AttackTypeDat; xiv::exd::Exd m_BacklightColorDat; + xiv::exd::Exd m_BallistaDat; xiv::exd::Exd m_BalloonDat; xiv::exd::Exd m_BaseParamDat; xiv::exd::Exd m_BattleLeveDat; + xiv::exd::Exd m_BattleLeveRuleDat; xiv::exd::Exd m_BeastRankBonusDat; xiv::exd::Exd m_BeastReputationRankDat; xiv::exd::Exd m_BeastTribeDat; xiv::exd::Exd m_BehaviorDat; + xiv::exd::Exd m_BehaviorPathDat; xiv::exd::Exd m_BenchmarkOverrideEquipmentDat; xiv::exd::Exd m_BGMDat; xiv::exd::Exd m_BGMFadeDat; + xiv::exd::Exd m_BGMFadeTypeDat; + xiv::exd::Exd m_BGMSceneDat; xiv::exd::Exd m_BGMSituationDat; xiv::exd::Exd m_BGMSwitchDat; xiv::exd::Exd m_BGMSystemDefineDat; @@ -6064,6 +7145,7 @@ struct ZoneSharedGroup xiv::exd::Exd m_BNpcCustomizeDat; xiv::exd::Exd m_BNpcNameDat; xiv::exd::Exd m_BNpcPartsDat; + xiv::exd::Exd m_BNpcStateDat; xiv::exd::Exd m_BuddyDat; xiv::exd::Exd m_BuddyActionDat; xiv::exd::Exd m_BuddyEquipDat; @@ -6073,6 +7155,9 @@ struct ZoneSharedGroup xiv::exd::Exd m_CabinetDat; xiv::exd::Exd m_CabinetCategoryDat; xiv::exd::Exd m_CalendarDat; + xiv::exd::Exd m_CarryDat; + xiv::exd::Exd m_ChannelingDat; + xiv::exd::Exd m_CharaMakeClassEquipDat; xiv::exd::Exd m_CharaMakeCustomizeDat; xiv::exd::Exd m_CharaMakeTypeDat; xiv::exd::Exd m_ChocoboRaceDat; @@ -6086,6 +7171,7 @@ struct ZoneSharedGroup xiv::exd::Exd m_ChocoboRaceWeatherDat; xiv::exd::Exd m_ChocoboTaxiDat; xiv::exd::Exd m_ChocoboTaxiStandDat; + xiv::exd::Exd m_CircleActivityDat; xiv::exd::Exd m_ClassJobDat; xiv::exd::Exd m_ClassJobCategoryDat; xiv::exd::Exd m_CompanionDat; @@ -6104,6 +7190,7 @@ struct ZoneSharedGroup xiv::exd::Exd m_CompanyLeveRuleDat; xiv::exd::Exd m_CompleteJournalDat; xiv::exd::Exd m_CompleteJournalCategoryDat; + xiv::exd::Exd m_ConfigKeyDat; xiv::exd::Exd m_ContentCloseCycleDat; xiv::exd::Exd m_ContentExActionDat; xiv::exd::Exd m_ContentFinderConditionDat; @@ -6134,11 +7221,15 @@ struct ZoneSharedGroup xiv::exd::Exd m_CustomTalkDynamicIconDat; xiv::exd::Exd m_CustomTalkNestHandlersDat; xiv::exd::Exd m_CutsceneDat; + xiv::exd::Exd m_CutsceneMotionDat; + xiv::exd::Exd m_CutsceneWorkIndexDat; xiv::exd::Exd m_CutScreenImageDat; + xiv::exd::Exd m_CycleTimeDat; xiv::exd::Exd m_DailySupplyItemDat; xiv::exd::Exd m_DawnContentDat; xiv::exd::Exd m_DawnGrowMemberDat; xiv::exd::Exd m_DawnMemberUIParamDat; + xiv::exd::Exd m_DawnQuestAnnounceDat; xiv::exd::Exd m_DawnQuestMemberDat; xiv::exd::Exd m_DeepDungeonDat; xiv::exd::Exd m_DeepDungeonBanDat; @@ -6154,7 +7245,9 @@ struct ZoneSharedGroup xiv::exd::Exd m_DefaultTalkDat; xiv::exd::Exd m_DefaultTalkLipSyncTypeDat; xiv::exd::Exd m_DeliveryQuestDat; + xiv::exd::Exd m_DescriptionDat; xiv::exd::Exd m_DescriptionPageDat; + xiv::exd::Exd m_DescriptionSectionDat; xiv::exd::Exd m_DescriptionStringDat; xiv::exd::Exd m_DisposalShopDat; xiv::exd::Exd m_DisposalShopFilterTypeDat; @@ -6166,6 +7259,7 @@ struct ZoneSharedGroup xiv::exd::Exd m_EmjDaniDat; xiv::exd::Exd m_EmoteDat; xiv::exd::Exd m_EmoteCategoryDat; + xiv::exd::Exd m_EmoteModeDat; xiv::exd::Exd m_ENpcBaseDat; xiv::exd::Exd m_ENpcDressUpDat; xiv::exd::Exd m_ENpcDressUpDressDat; @@ -6189,18 +7283,23 @@ struct ZoneSharedGroup xiv::exd::Exd m_EventItemCastTimelineDat; xiv::exd::Exd m_EventItemHelpDat; xiv::exd::Exd m_EventItemTimelineDat; + xiv::exd::Exd m_EventSystemDefineDat; xiv::exd::Exd m_ExportedSGDat; xiv::exd::Exd m_ExVersionDat; xiv::exd::Exd m_FateDat; + xiv::exd::Exd m_FateEventDat; xiv::exd::Exd m_FateProgressUIDat; + xiv::exd::Exd m_FateTokenTypeDat; xiv::exd::Exd m_FCActivityDat; xiv::exd::Exd m_FCActivityCategoryDat; xiv::exd::Exd m_FCAuthorityDat; xiv::exd::Exd m_FCAuthorityCategoryDat; xiv::exd::Exd m_FCChestNameDat; + xiv::exd::Exd m_FCCrestSymbolDat; xiv::exd::Exd m_FccShopDat; xiv::exd::Exd m_FCHierarchyDat; xiv::exd::Exd m_FCProfileDat; + xiv::exd::Exd m_FCRankDat; xiv::exd::Exd m_FCReputationDat; xiv::exd::Exd m_FCRightsDat; xiv::exd::Exd m_FestivalDat; @@ -6221,6 +7320,7 @@ struct ZoneSharedGroup xiv::exd::Exd m_GatheringItemPointDat; xiv::exd::Exd m_GatheringLeveDat; xiv::exd::Exd m_GatheringLeveRouteDat; + xiv::exd::Exd m_GatheringLeveRuleDat; xiv::exd::Exd m_GatheringNotebookListDat; xiv::exd::Exd m_GatheringPointDat; xiv::exd::Exd m_GatheringPointBaseDat; @@ -6255,10 +7355,14 @@ struct ZoneSharedGroup xiv::exd::Exd m_GFateRideShootingDat; xiv::exd::Exd m_GilShopDat; xiv::exd::Exd m_GilShopItemDat; + xiv::exd::Exd m_GimmickAccessorDat; + xiv::exd::Exd m_GimmickJumpDat; + xiv::exd::Exd m_GimmickRectDat; xiv::exd::Exd m_GoldSaucerArcadeMachineDat; xiv::exd::Exd m_GoldSaucerTextDataDat; xiv::exd::Exd m_GrandCompanyDat; xiv::exd::Exd m_GrandCompanyRankDat; + xiv::exd::Exd m_GroupPoseFrameDat; xiv::exd::Exd m_GuardianDeityDat; xiv::exd::Exd m_GuideDat; xiv::exd::Exd m_GuidePageDat; @@ -6289,6 +7393,24 @@ struct ZoneSharedGroup xiv::exd::Exd m_HowToPageDat; xiv::exd::Exd m_HugeCraftworksNpcDat; xiv::exd::Exd m_HugeCraftworksRankDat; + xiv::exd::Exd m_HWDAnnounceDat; + xiv::exd::Exd m_HWDCrafterSupplyDat; + xiv::exd::Exd m_HWDCrafterSupplyRewardDat; + xiv::exd::Exd m_HWDDevLayerControlDat; + xiv::exd::Exd m_HWDDevLevelUIDat; + xiv::exd::Exd m_HWDDevLivelyDat; + xiv::exd::Exd m_HWDDevProgressDat; + xiv::exd::Exd m_HWDInfoBoardArticleDat; + xiv::exd::Exd m_HWDInfoBoardArticleTransientDat; + xiv::exd::Exd m_HWDInfoBoardArticleTypeDat; + xiv::exd::Exd m_HWDLevelChangeDeceptionDat; + xiv::exd::Exd m_HWDSharedGroupDat; + xiv::exd::Exd m_HWDSharedGroupControlParamDat; + xiv::exd::Exd m_IKDContentBonusDat; + xiv::exd::Exd m_IKDFishParamDat; + xiv::exd::Exd m_IKDRouteDat; + xiv::exd::Exd m_IKDRouteTableDat; + xiv::exd::Exd m_IKDSpotDat; xiv::exd::Exd m_IndividualWeatherDat; xiv::exd::Exd m_InstanceContentDat; xiv::exd::Exd m_InstanceContentBuffDat; @@ -6308,16 +7430,19 @@ struct ZoneSharedGroup xiv::exd::Exd m_JournalCategoryDat; xiv::exd::Exd m_JournalGenreDat; xiv::exd::Exd m_JournalSectionDat; + xiv::exd::Exd m_KnockbackDat; + xiv::exd::Exd m_LegacyQuestDat; xiv::exd::Exd m_LeveDat; xiv::exd::Exd m_LeveAssignmentTypeDat; xiv::exd::Exd m_LeveClientDat; xiv::exd::Exd m_LevelDat; xiv::exd::Exd m_LeveRewardItemDat; xiv::exd::Exd m_LeveRewardItemGroupDat; + xiv::exd::Exd m_LeveStringDat; xiv::exd::Exd m_LeveVfxDat; + xiv::exd::Exd m_LobbyDat; xiv::exd::Exd m_LogFilterDat; xiv::exd::Exd m_LogKindDat; - xiv::exd::Exd m_LogKindCategoryTextDat; xiv::exd::Exd m_LogMessageDat; xiv::exd::Exd m_LotteryExchangeShopDat; xiv::exd::Exd m_MacroIconDat; @@ -6335,6 +7460,7 @@ struct ZoneSharedGroup xiv::exd::Exd m_MateriaDat; xiv::exd::Exd m_MateriaJoinRateDat; xiv::exd::Exd m_MateriaJoinRateGatherCraftDat; + xiv::exd::Exd m_MateriaTomestoneRateDat; xiv::exd::Exd m_MiniGameRADat; xiv::exd::Exd m_MinionRaceDat; xiv::exd::Exd m_MinionRulesDat; @@ -6349,6 +7475,8 @@ struct ZoneSharedGroup xiv::exd::Exd m_ModelStateDat; xiv::exd::Exd m_MonsterNoteDat; xiv::exd::Exd m_MonsterNoteTargetDat; + xiv::exd::Exd m_MotionTimelineDat; + xiv::exd::Exd m_MotionTimelineBlendTableDat; xiv::exd::Exd m_MountDat; xiv::exd::Exd m_MountActionDat; xiv::exd::Exd m_MountCustomizeDat; @@ -6357,6 +7485,9 @@ struct ZoneSharedGroup xiv::exd::Exd m_MountTransientDat; xiv::exd::Exd m_MoveTimelineDat; xiv::exd::Exd m_MoveVfxDat; + xiv::exd::Exd m_MovieSubtitleDat; + xiv::exd::Exd m_MovieSubtitle500Dat; + xiv::exd::Exd m_MovieSubtitleVoyageDat; xiv::exd::Exd m_NotebookDivisionDat; xiv::exd::Exd m_NotebookDivisionCategoryDat; xiv::exd::Exd m_NotoriousMonsterDat; @@ -6375,17 +7506,23 @@ struct ZoneSharedGroup xiv::exd::Exd m_PartyContentDat; xiv::exd::Exd m_PartyContentCutsceneDat; xiv::exd::Exd m_PartyContentTextDataDat; + xiv::exd::Exd m_PatchMarkDat; xiv::exd::Exd m_PerformDat; xiv::exd::Exd m_PerformTransientDat; xiv::exd::Exd m_PetDat; xiv::exd::Exd m_PetActionDat; + xiv::exd::Exd m_PhysicsGroupDat; + xiv::exd::Exd m_PhysicsWindDat; xiv::exd::Exd m_PictureDat; xiv::exd::Exd m_PlaceNameDat; xiv::exd::Exd m_PlantPotFlowerSeedDat; xiv::exd::Exd m_PreHandlerDat; + xiv::exd::Exd m_PresetCameraDat; + xiv::exd::Exd m_PresetCameraAdjustDat; xiv::exd::Exd m_PublicContentDat; xiv::exd::Exd m_PublicContentCutsceneDat; xiv::exd::Exd m_PublicContentTextDataDat; + xiv::exd::Exd m_PurifyDat; xiv::exd::Exd m_PvPActionDat; xiv::exd::Exd m_PvPActionSortDat; xiv::exd::Exd m_PvPRankDat; @@ -6393,8 +7530,15 @@ struct ZoneSharedGroup xiv::exd::Exd m_PvPTraitDat; xiv::exd::Exd m_QuestDat; xiv::exd::Exd m_QuestBattleDat; + xiv::exd::Exd m_QuestChapterDat; xiv::exd::Exd m_QuestClassJobRewardDat; xiv::exd::Exd m_QuestClassJobSupplyDat; + xiv::exd::Exd m_QuestDerivedClassDat; + xiv::exd::Exd m_QuestRedoDat; + xiv::exd::Exd m_QuestRedoChapterUIDat; + xiv::exd::Exd m_QuestRedoChapterUICategoryDat; + xiv::exd::Exd m_QuestRedoChapterUITabDat; + xiv::exd::Exd m_QuestRedoIncompChapterDat; xiv::exd::Exd m_QuestRepeatFlagDat; xiv::exd::Exd m_QuestRewardOtherDat; xiv::exd::Exd m_QuickChatDat; @@ -6468,6 +7612,7 @@ struct ZoneSharedGroup xiv::exd::Exd m_TransformationDat; xiv::exd::Exd m_TreasureDat; xiv::exd::Exd m_TreasureHuntRankDat; + xiv::exd::Exd m_TreasureModelDat; xiv::exd::Exd m_TreasureSpotDat; xiv::exd::Exd m_TribeDat; xiv::exd::Exd m_TripleTriadDat; @@ -6487,6 +7632,7 @@ struct ZoneSharedGroup xiv::exd::Exd m_WarpDat; xiv::exd::Exd m_WarpConditionDat; xiv::exd::Exd m_WarpLogicDat; + xiv::exd::Exd m_WeaponTimelineDat; xiv::exd::Exd m_WeatherDat; xiv::exd::Exd m_WeatherGroupDat; xiv::exd::Exd m_WeatherRateDat; @@ -6537,6 +7683,7 @@ struct ZoneSharedGroup using AirshipExplorationParamTypePtr = std::shared_ptr< AirshipExplorationParamType >; using AirshipExplorationPartPtr = std::shared_ptr< AirshipExplorationPart >; using AirshipExplorationPointPtr = std::shared_ptr< AirshipExplorationPoint >; + using AnimationLODPtr = std::shared_ptr< AnimationLOD >; using AnimaWeapon5Ptr = std::shared_ptr< AnimaWeapon5 >; using AnimaWeapon5ParamPtr = std::shared_ptr< AnimaWeapon5Param >; using AnimaWeapon5PatternGroupPtr = std::shared_ptr< AnimaWeapon5PatternGroup >; @@ -6553,21 +7700,27 @@ struct ZoneSharedGroup using AOZBossPtr = std::shared_ptr< AOZBoss >; using AOZContentPtr = std::shared_ptr< AOZContent >; using AOZContentBriefingBNpcPtr = std::shared_ptr< AOZContentBriefingBNpc >; + using AOZReportPtr = std::shared_ptr< AOZReport >; using AquariumFishPtr = std::shared_ptr< AquariumFish >; using AquariumWaterPtr = std::shared_ptr< AquariumWater >; using ArrayEventHandlerPtr = std::shared_ptr< ArrayEventHandler >; using AttackTypePtr = std::shared_ptr< AttackType >; using BacklightColorPtr = std::shared_ptr< BacklightColor >; + using BallistaPtr = std::shared_ptr< Ballista >; using BalloonPtr = std::shared_ptr< Balloon >; using BaseParamPtr = std::shared_ptr< BaseParam >; using BattleLevePtr = std::shared_ptr< BattleLeve >; + using BattleLeveRulePtr = std::shared_ptr< BattleLeveRule >; using BeastRankBonusPtr = std::shared_ptr< BeastRankBonus >; using BeastReputationRankPtr = std::shared_ptr< BeastReputationRank >; using BeastTribePtr = std::shared_ptr< BeastTribe >; using BehaviorPtr = std::shared_ptr< Behavior >; + using BehaviorPathPtr = std::shared_ptr< BehaviorPath >; using BenchmarkOverrideEquipmentPtr = std::shared_ptr< BenchmarkOverrideEquipment >; using BGMPtr = std::shared_ptr< BGM >; using BGMFadePtr = std::shared_ptr< BGMFade >; + using BGMFadeTypePtr = std::shared_ptr< BGMFadeType >; + using BGMScenePtr = std::shared_ptr< BGMScene >; using BGMSituationPtr = std::shared_ptr< BGMSituation >; using BGMSwitchPtr = std::shared_ptr< BGMSwitch >; using BGMSystemDefinePtr = std::shared_ptr< BGMSystemDefine >; @@ -6576,6 +7729,7 @@ struct ZoneSharedGroup using BNpcCustomizePtr = std::shared_ptr< BNpcCustomize >; using BNpcNamePtr = std::shared_ptr< BNpcName >; using BNpcPartsPtr = std::shared_ptr< BNpcParts >; + using BNpcStatePtr = std::shared_ptr< BNpcState >; using BuddyPtr = std::shared_ptr< Buddy >; using BuddyActionPtr = std::shared_ptr< BuddyAction >; using BuddyEquipPtr = std::shared_ptr< BuddyEquip >; @@ -6585,6 +7739,9 @@ struct ZoneSharedGroup using CabinetPtr = std::shared_ptr< Cabinet >; using CabinetCategoryPtr = std::shared_ptr< CabinetCategory >; using CalendarPtr = std::shared_ptr< Calendar >; + using CarryPtr = std::shared_ptr< Carry >; + using ChannelingPtr = std::shared_ptr< Channeling >; + using CharaMakeClassEquipPtr = std::shared_ptr< CharaMakeClassEquip >; using CharaMakeCustomizePtr = std::shared_ptr< CharaMakeCustomize >; using CharaMakeTypePtr = std::shared_ptr< CharaMakeType >; using ChocoboRacePtr = std::shared_ptr< ChocoboRace >; @@ -6598,6 +7755,7 @@ struct ZoneSharedGroup using ChocoboRaceWeatherPtr = std::shared_ptr< ChocoboRaceWeather >; using ChocoboTaxiPtr = std::shared_ptr< ChocoboTaxi >; using ChocoboTaxiStandPtr = std::shared_ptr< ChocoboTaxiStand >; + using CircleActivityPtr = std::shared_ptr< CircleActivity >; using ClassJobPtr = std::shared_ptr< ClassJob >; using ClassJobCategoryPtr = std::shared_ptr< ClassJobCategory >; using CompanionPtr = std::shared_ptr< Companion >; @@ -6616,6 +7774,7 @@ struct ZoneSharedGroup using CompanyLeveRulePtr = std::shared_ptr< CompanyLeveRule >; using CompleteJournalPtr = std::shared_ptr< CompleteJournal >; using CompleteJournalCategoryPtr = std::shared_ptr< CompleteJournalCategory >; + using ConfigKeyPtr = std::shared_ptr< ConfigKey >; using ContentCloseCyclePtr = std::shared_ptr< ContentCloseCycle >; using ContentExActionPtr = std::shared_ptr< ContentExAction >; using ContentFinderConditionPtr = std::shared_ptr< ContentFinderCondition >; @@ -6646,11 +7805,15 @@ struct ZoneSharedGroup using CustomTalkDynamicIconPtr = std::shared_ptr< CustomTalkDynamicIcon >; using CustomTalkNestHandlersPtr = std::shared_ptr< CustomTalkNestHandlers >; using CutscenePtr = std::shared_ptr< Cutscene >; + using CutsceneMotionPtr = std::shared_ptr< CutsceneMotion >; + using CutsceneWorkIndexPtr = std::shared_ptr< CutsceneWorkIndex >; using CutScreenImagePtr = std::shared_ptr< CutScreenImage >; + using CycleTimePtr = std::shared_ptr< CycleTime >; using DailySupplyItemPtr = std::shared_ptr< DailySupplyItem >; using DawnContentPtr = std::shared_ptr< DawnContent >; using DawnGrowMemberPtr = std::shared_ptr< DawnGrowMember >; using DawnMemberUIParamPtr = std::shared_ptr< DawnMemberUIParam >; + using DawnQuestAnnouncePtr = std::shared_ptr< DawnQuestAnnounce >; using DawnQuestMemberPtr = std::shared_ptr< DawnQuestMember >; using DeepDungeonPtr = std::shared_ptr< DeepDungeon >; using DeepDungeonBanPtr = std::shared_ptr< DeepDungeonBan >; @@ -6666,7 +7829,9 @@ struct ZoneSharedGroup using DefaultTalkPtr = std::shared_ptr< DefaultTalk >; using DefaultTalkLipSyncTypePtr = std::shared_ptr< DefaultTalkLipSyncType >; using DeliveryQuestPtr = std::shared_ptr< DeliveryQuest >; + using DescriptionPtr = std::shared_ptr< Description >; using DescriptionPagePtr = std::shared_ptr< DescriptionPage >; + using DescriptionSectionPtr = std::shared_ptr< DescriptionSection >; using DescriptionStringPtr = std::shared_ptr< DescriptionString >; using DisposalShopPtr = std::shared_ptr< DisposalShop >; using DisposalShopFilterTypePtr = std::shared_ptr< DisposalShopFilterType >; @@ -6678,6 +7843,7 @@ struct ZoneSharedGroup using EmjDaniPtr = std::shared_ptr< EmjDani >; using EmotePtr = std::shared_ptr< Emote >; using EmoteCategoryPtr = std::shared_ptr< EmoteCategory >; + using EmoteModePtr = std::shared_ptr< EmoteMode >; using ENpcBasePtr = std::shared_ptr< ENpcBase >; using ENpcDressUpPtr = std::shared_ptr< ENpcDressUp >; using ENpcDressUpDressPtr = std::shared_ptr< ENpcDressUpDress >; @@ -6701,18 +7867,23 @@ struct ZoneSharedGroup using EventItemCastTimelinePtr = std::shared_ptr< EventItemCastTimeline >; using EventItemHelpPtr = std::shared_ptr< EventItemHelp >; using EventItemTimelinePtr = std::shared_ptr< EventItemTimeline >; + using EventSystemDefinePtr = std::shared_ptr< EventSystemDefine >; using ExportedSGPtr = std::shared_ptr< ExportedSG >; using ExVersionPtr = std::shared_ptr< ExVersion >; using FatePtr = std::shared_ptr< Fate >; + using FateEventPtr = std::shared_ptr< FateEvent >; using FateProgressUIPtr = std::shared_ptr< FateProgressUI >; + using FateTokenTypePtr = std::shared_ptr< FateTokenType >; using FCActivityPtr = std::shared_ptr< FCActivity >; using FCActivityCategoryPtr = std::shared_ptr< FCActivityCategory >; using FCAuthorityPtr = std::shared_ptr< FCAuthority >; using FCAuthorityCategoryPtr = std::shared_ptr< FCAuthorityCategory >; using FCChestNamePtr = std::shared_ptr< FCChestName >; + using FCCrestSymbolPtr = std::shared_ptr< FCCrestSymbol >; using FccShopPtr = std::shared_ptr< FccShop >; using FCHierarchyPtr = std::shared_ptr< FCHierarchy >; using FCProfilePtr = std::shared_ptr< FCProfile >; + using FCRankPtr = std::shared_ptr< FCRank >; using FCReputationPtr = std::shared_ptr< FCReputation >; using FCRightsPtr = std::shared_ptr< FCRights >; using FestivalPtr = std::shared_ptr< Festival >; @@ -6733,6 +7904,7 @@ struct ZoneSharedGroup using GatheringItemPointPtr = std::shared_ptr< GatheringItemPoint >; using GatheringLevePtr = std::shared_ptr< GatheringLeve >; using GatheringLeveRoutePtr = std::shared_ptr< GatheringLeveRoute >; + using GatheringLeveRulePtr = std::shared_ptr< GatheringLeveRule >; using GatheringNotebookListPtr = std::shared_ptr< GatheringNotebookList >; using GatheringPointPtr = std::shared_ptr< GatheringPoint >; using GatheringPointBasePtr = std::shared_ptr< GatheringPointBase >; @@ -6767,10 +7939,14 @@ struct ZoneSharedGroup using GFateRideShootingPtr = std::shared_ptr< GFateRideShooting >; using GilShopPtr = std::shared_ptr< GilShop >; using GilShopItemPtr = std::shared_ptr< GilShopItem >; + using GimmickAccessorPtr = std::shared_ptr< GimmickAccessor >; + using GimmickJumpPtr = std::shared_ptr< GimmickJump >; + using GimmickRectPtr = std::shared_ptr< GimmickRect >; using GoldSaucerArcadeMachinePtr = std::shared_ptr< GoldSaucerArcadeMachine >; using GoldSaucerTextDataPtr = std::shared_ptr< GoldSaucerTextData >; using GrandCompanyPtr = std::shared_ptr< GrandCompany >; using GrandCompanyRankPtr = std::shared_ptr< GrandCompanyRank >; + using GroupPoseFramePtr = std::shared_ptr< GroupPoseFrame >; using GuardianDeityPtr = std::shared_ptr< GuardianDeity >; using GuidePtr = std::shared_ptr< Guide >; using GuidePagePtr = std::shared_ptr< GuidePage >; @@ -6801,6 +7977,24 @@ struct ZoneSharedGroup using HowToPagePtr = std::shared_ptr< HowToPage >; using HugeCraftworksNpcPtr = std::shared_ptr< HugeCraftworksNpc >; using HugeCraftworksRankPtr = std::shared_ptr< HugeCraftworksRank >; + using HWDAnnouncePtr = std::shared_ptr< HWDAnnounce >; + using HWDCrafterSupplyPtr = std::shared_ptr< HWDCrafterSupply >; + using HWDCrafterSupplyRewardPtr = std::shared_ptr< HWDCrafterSupplyReward >; + using HWDDevLayerControlPtr = std::shared_ptr< HWDDevLayerControl >; + using HWDDevLevelUIPtr = std::shared_ptr< HWDDevLevelUI >; + using HWDDevLivelyPtr = std::shared_ptr< HWDDevLively >; + using HWDDevProgressPtr = std::shared_ptr< HWDDevProgress >; + using HWDInfoBoardArticlePtr = std::shared_ptr< HWDInfoBoardArticle >; + using HWDInfoBoardArticleTransientPtr = std::shared_ptr< HWDInfoBoardArticleTransient >; + using HWDInfoBoardArticleTypePtr = std::shared_ptr< HWDInfoBoardArticleType >; + using HWDLevelChangeDeceptionPtr = std::shared_ptr< HWDLevelChangeDeception >; + using HWDSharedGroupPtr = std::shared_ptr< HWDSharedGroup >; + using HWDSharedGroupControlParamPtr = std::shared_ptr< HWDSharedGroupControlParam >; + using IKDContentBonusPtr = std::shared_ptr< IKDContentBonus >; + using IKDFishParamPtr = std::shared_ptr< IKDFishParam >; + using IKDRoutePtr = std::shared_ptr< IKDRoute >; + using IKDRouteTablePtr = std::shared_ptr< IKDRouteTable >; + using IKDSpotPtr = std::shared_ptr< IKDSpot >; using IndividualWeatherPtr = std::shared_ptr< IndividualWeather >; using InstanceContentPtr = std::shared_ptr< InstanceContent >; using InstanceContentBuffPtr = std::shared_ptr< InstanceContentBuff >; @@ -6820,16 +8014,19 @@ struct ZoneSharedGroup using JournalCategoryPtr = std::shared_ptr< JournalCategory >; using JournalGenrePtr = std::shared_ptr< JournalGenre >; using JournalSectionPtr = std::shared_ptr< JournalSection >; + using KnockbackPtr = std::shared_ptr< Knockback >; + using LegacyQuestPtr = std::shared_ptr< LegacyQuest >; using LevePtr = std::shared_ptr< Leve >; using LeveAssignmentTypePtr = std::shared_ptr< LeveAssignmentType >; using LeveClientPtr = std::shared_ptr< LeveClient >; using LevelPtr = std::shared_ptr< Level >; using LeveRewardItemPtr = std::shared_ptr< LeveRewardItem >; using LeveRewardItemGroupPtr = std::shared_ptr< LeveRewardItemGroup >; + using LeveStringPtr = std::shared_ptr< LeveString >; using LeveVfxPtr = std::shared_ptr< LeveVfx >; + using LobbyPtr = std::shared_ptr< Lobby >; using LogFilterPtr = std::shared_ptr< LogFilter >; using LogKindPtr = std::shared_ptr< LogKind >; - using LogKindCategoryTextPtr = std::shared_ptr< LogKindCategoryText >; using LogMessagePtr = std::shared_ptr< LogMessage >; using LotteryExchangeShopPtr = std::shared_ptr< LotteryExchangeShop >; using MacroIconPtr = std::shared_ptr< MacroIcon >; @@ -6847,6 +8044,7 @@ struct ZoneSharedGroup using MateriaPtr = std::shared_ptr< Materia >; using MateriaJoinRatePtr = std::shared_ptr< MateriaJoinRate >; using MateriaJoinRateGatherCraftPtr = std::shared_ptr< MateriaJoinRateGatherCraft >; + using MateriaTomestoneRatePtr = std::shared_ptr< MateriaTomestoneRate >; using MiniGameRAPtr = std::shared_ptr< MiniGameRA >; using MinionRacePtr = std::shared_ptr< MinionRace >; using MinionRulesPtr = std::shared_ptr< MinionRules >; @@ -6861,6 +8059,8 @@ struct ZoneSharedGroup using ModelStatePtr = std::shared_ptr< ModelState >; using MonsterNotePtr = std::shared_ptr< MonsterNote >; using MonsterNoteTargetPtr = std::shared_ptr< MonsterNoteTarget >; + using MotionTimelinePtr = std::shared_ptr< MotionTimeline >; + using MotionTimelineBlendTablePtr = std::shared_ptr< MotionTimelineBlendTable >; using MountPtr = std::shared_ptr< Mount >; using MountActionPtr = std::shared_ptr< MountAction >; using MountCustomizePtr = std::shared_ptr< MountCustomize >; @@ -6869,6 +8069,9 @@ struct ZoneSharedGroup using MountTransientPtr = std::shared_ptr< MountTransient >; using MoveTimelinePtr = std::shared_ptr< MoveTimeline >; using MoveVfxPtr = std::shared_ptr< MoveVfx >; + using MovieSubtitlePtr = std::shared_ptr< MovieSubtitle >; + using MovieSubtitle500Ptr = std::shared_ptr< MovieSubtitle500 >; + using MovieSubtitleVoyagePtr = std::shared_ptr< MovieSubtitleVoyage >; using NotebookDivisionPtr = std::shared_ptr< NotebookDivision >; using NotebookDivisionCategoryPtr = std::shared_ptr< NotebookDivisionCategory >; using NotoriousMonsterPtr = std::shared_ptr< NotoriousMonster >; @@ -6887,17 +8090,23 @@ struct ZoneSharedGroup using PartyContentPtr = std::shared_ptr< PartyContent >; using PartyContentCutscenePtr = std::shared_ptr< PartyContentCutscene >; using PartyContentTextDataPtr = std::shared_ptr< PartyContentTextData >; + using PatchMarkPtr = std::shared_ptr< PatchMark >; using PerformPtr = std::shared_ptr< Perform >; using PerformTransientPtr = std::shared_ptr< PerformTransient >; using PetPtr = std::shared_ptr< Pet >; using PetActionPtr = std::shared_ptr< PetAction >; + using PhysicsGroupPtr = std::shared_ptr< PhysicsGroup >; + using PhysicsWindPtr = std::shared_ptr< PhysicsWind >; using PicturePtr = std::shared_ptr< Picture >; using PlaceNamePtr = std::shared_ptr< PlaceName >; using PlantPotFlowerSeedPtr = std::shared_ptr< PlantPotFlowerSeed >; using PreHandlerPtr = std::shared_ptr< PreHandler >; + using PresetCameraPtr = std::shared_ptr< PresetCamera >; + using PresetCameraAdjustPtr = std::shared_ptr< PresetCameraAdjust >; using PublicContentPtr = std::shared_ptr< PublicContent >; using PublicContentCutscenePtr = std::shared_ptr< PublicContentCutscene >; using PublicContentTextDataPtr = std::shared_ptr< PublicContentTextData >; + using PurifyPtr = std::shared_ptr< Purify >; using PvPActionPtr = std::shared_ptr< PvPAction >; using PvPActionSortPtr = std::shared_ptr< PvPActionSort >; using PvPRankPtr = std::shared_ptr< PvPRank >; @@ -6905,8 +8114,15 @@ struct ZoneSharedGroup using PvPTraitPtr = std::shared_ptr< PvPTrait >; using QuestPtr = std::shared_ptr< Quest >; using QuestBattlePtr = std::shared_ptr< QuestBattle >; + using QuestChapterPtr = std::shared_ptr< QuestChapter >; using QuestClassJobRewardPtr = std::shared_ptr< QuestClassJobReward >; using QuestClassJobSupplyPtr = std::shared_ptr< QuestClassJobSupply >; + using QuestDerivedClassPtr = std::shared_ptr< QuestDerivedClass >; + using QuestRedoPtr = std::shared_ptr< QuestRedo >; + using QuestRedoChapterUIPtr = std::shared_ptr< QuestRedoChapterUI >; + using QuestRedoChapterUICategoryPtr = std::shared_ptr< QuestRedoChapterUICategory >; + using QuestRedoChapterUITabPtr = std::shared_ptr< QuestRedoChapterUITab >; + using QuestRedoIncompChapterPtr = std::shared_ptr< QuestRedoIncompChapter >; using QuestRepeatFlagPtr = std::shared_ptr< QuestRepeatFlag >; using QuestRewardOtherPtr = std::shared_ptr< QuestRewardOther >; using QuickChatPtr = std::shared_ptr< QuickChat >; @@ -6980,6 +8196,7 @@ struct ZoneSharedGroup using TransformationPtr = std::shared_ptr< Transformation >; using TreasurePtr = std::shared_ptr< Treasure >; using TreasureHuntRankPtr = std::shared_ptr< TreasureHuntRank >; + using TreasureModelPtr = std::shared_ptr< TreasureModel >; using TreasureSpotPtr = std::shared_ptr< TreasureSpot >; using TribePtr = std::shared_ptr< Tribe >; using TripleTriadPtr = std::shared_ptr< TripleTriad >; @@ -6999,6 +8216,7 @@ struct ZoneSharedGroup using WarpPtr = std::shared_ptr< Warp >; using WarpConditionPtr = std::shared_ptr< WarpCondition >; using WarpLogicPtr = std::shared_ptr< WarpLogic >; + using WeaponTimelinePtr = std::shared_ptr< WeaponTimeline >; using WeatherPtr = std::shared_ptr< Weather >; using WeatherGroupPtr = std::shared_ptr< WeatherGroup >; using WeatherRatePtr = std::shared_ptr< WeatherRate >; @@ -7049,6 +8267,7 @@ struct ZoneSharedGroup std::set< uint32_t > m_AirshipExplorationParamTypeIdList; std::set< uint32_t > m_AirshipExplorationPartIdList; std::set< uint32_t > m_AirshipExplorationPointIdList; + std::set< uint32_t > m_AnimationLODIdList; std::set< uint32_t > m_AnimaWeapon5IdList; std::set< uint32_t > m_AnimaWeapon5ParamIdList; std::set< uint32_t > m_AnimaWeapon5PatternGroupIdList; @@ -7065,21 +8284,27 @@ struct ZoneSharedGroup std::set< uint32_t > m_AOZBossIdList; std::set< uint32_t > m_AOZContentIdList; std::set< uint32_t > m_AOZContentBriefingBNpcIdList; + std::set< uint32_t > m_AOZReportIdList; std::set< uint32_t > m_AquariumFishIdList; std::set< uint32_t > m_AquariumWaterIdList; std::set< uint32_t > m_ArrayEventHandlerIdList; std::set< uint32_t > m_AttackTypeIdList; std::set< uint32_t > m_BacklightColorIdList; + std::set< uint32_t > m_BallistaIdList; std::set< uint32_t > m_BalloonIdList; std::set< uint32_t > m_BaseParamIdList; std::set< uint32_t > m_BattleLeveIdList; + std::set< uint32_t > m_BattleLeveRuleIdList; std::set< uint32_t > m_BeastRankBonusIdList; std::set< uint32_t > m_BeastReputationRankIdList; std::set< uint32_t > m_BeastTribeIdList; std::set< uint32_t > m_BehaviorIdList; + std::set< uint32_t > m_BehaviorPathIdList; std::set< uint32_t > m_BenchmarkOverrideEquipmentIdList; std::set< uint32_t > m_BGMIdList; std::set< uint32_t > m_BGMFadeIdList; + std::set< uint32_t > m_BGMFadeTypeIdList; + std::set< uint32_t > m_BGMSceneIdList; std::set< uint32_t > m_BGMSituationIdList; std::set< uint32_t > m_BGMSwitchIdList; std::set< uint32_t > m_BGMSystemDefineIdList; @@ -7088,6 +8313,7 @@ struct ZoneSharedGroup std::set< uint32_t > m_BNpcCustomizeIdList; std::set< uint32_t > m_BNpcNameIdList; std::set< uint32_t > m_BNpcPartsIdList; + std::set< uint32_t > m_BNpcStateIdList; std::set< uint32_t > m_BuddyIdList; std::set< uint32_t > m_BuddyActionIdList; std::set< uint32_t > m_BuddyEquipIdList; @@ -7097,6 +8323,9 @@ struct ZoneSharedGroup std::set< uint32_t > m_CabinetIdList; std::set< uint32_t > m_CabinetCategoryIdList; std::set< uint32_t > m_CalendarIdList; + std::set< uint32_t > m_CarryIdList; + std::set< uint32_t > m_ChannelingIdList; + std::set< uint32_t > m_CharaMakeClassEquipIdList; std::set< uint32_t > m_CharaMakeCustomizeIdList; std::set< uint32_t > m_CharaMakeTypeIdList; std::set< uint32_t > m_ChocoboRaceIdList; @@ -7110,6 +8339,7 @@ struct ZoneSharedGroup std::set< uint32_t > m_ChocoboRaceWeatherIdList; std::set< uint32_t > m_ChocoboTaxiIdList; std::set< uint32_t > m_ChocoboTaxiStandIdList; + std::set< uint32_t > m_CircleActivityIdList; std::set< uint32_t > m_ClassJobIdList; std::set< uint32_t > m_ClassJobCategoryIdList; std::set< uint32_t > m_CompanionIdList; @@ -7128,6 +8358,7 @@ struct ZoneSharedGroup std::set< uint32_t > m_CompanyLeveRuleIdList; std::set< uint32_t > m_CompleteJournalIdList; std::set< uint32_t > m_CompleteJournalCategoryIdList; + std::set< uint32_t > m_ConfigKeyIdList; std::set< uint32_t > m_ContentCloseCycleIdList; std::set< uint32_t > m_ContentExActionIdList; std::set< uint32_t > m_ContentFinderConditionIdList; @@ -7158,11 +8389,15 @@ struct ZoneSharedGroup std::set< uint32_t > m_CustomTalkDynamicIconIdList; std::set< uint32_t > m_CustomTalkNestHandlersIdList; std::set< uint32_t > m_CutsceneIdList; + std::set< uint32_t > m_CutsceneMotionIdList; + std::set< uint32_t > m_CutsceneWorkIndexIdList; std::set< uint32_t > m_CutScreenImageIdList; + std::set< uint32_t > m_CycleTimeIdList; std::set< uint32_t > m_DailySupplyItemIdList; std::set< uint32_t > m_DawnContentIdList; std::set< uint32_t > m_DawnGrowMemberIdList; std::set< uint32_t > m_DawnMemberUIParamIdList; + std::set< uint32_t > m_DawnQuestAnnounceIdList; std::set< uint32_t > m_DawnQuestMemberIdList; std::set< uint32_t > m_DeepDungeonIdList; std::set< uint32_t > m_DeepDungeonBanIdList; @@ -7178,7 +8413,9 @@ struct ZoneSharedGroup std::set< uint32_t > m_DefaultTalkIdList; std::set< uint32_t > m_DefaultTalkLipSyncTypeIdList; std::set< uint32_t > m_DeliveryQuestIdList; + std::set< uint32_t > m_DescriptionIdList; std::set< uint32_t > m_DescriptionPageIdList; + std::set< uint32_t > m_DescriptionSectionIdList; std::set< uint32_t > m_DescriptionStringIdList; std::set< uint32_t > m_DisposalShopIdList; std::set< uint32_t > m_DisposalShopFilterTypeIdList; @@ -7190,6 +8427,7 @@ struct ZoneSharedGroup std::set< uint32_t > m_EmjDaniIdList; std::set< uint32_t > m_EmoteIdList; std::set< uint32_t > m_EmoteCategoryIdList; + std::set< uint32_t > m_EmoteModeIdList; std::set< uint32_t > m_ENpcBaseIdList; std::set< uint32_t > m_ENpcDressUpIdList; std::set< uint32_t > m_ENpcDressUpDressIdList; @@ -7213,18 +8451,23 @@ struct ZoneSharedGroup std::set< uint32_t > m_EventItemCastTimelineIdList; std::set< uint32_t > m_EventItemHelpIdList; std::set< uint32_t > m_EventItemTimelineIdList; + std::set< uint32_t > m_EventSystemDefineIdList; std::set< uint32_t > m_ExportedSGIdList; std::set< uint32_t > m_ExVersionIdList; std::set< uint32_t > m_FateIdList; + std::set< uint32_t > m_FateEventIdList; std::set< uint32_t > m_FateProgressUIIdList; + std::set< uint32_t > m_FateTokenTypeIdList; std::set< uint32_t > m_FCActivityIdList; std::set< uint32_t > m_FCActivityCategoryIdList; std::set< uint32_t > m_FCAuthorityIdList; std::set< uint32_t > m_FCAuthorityCategoryIdList; std::set< uint32_t > m_FCChestNameIdList; + std::set< uint32_t > m_FCCrestSymbolIdList; std::set< uint32_t > m_FccShopIdList; std::set< uint32_t > m_FCHierarchyIdList; std::set< uint32_t > m_FCProfileIdList; + std::set< uint32_t > m_FCRankIdList; std::set< uint32_t > m_FCReputationIdList; std::set< uint32_t > m_FCRightsIdList; std::set< uint32_t > m_FestivalIdList; @@ -7245,6 +8488,7 @@ struct ZoneSharedGroup std::set< uint32_t > m_GatheringItemPointIdList; std::set< uint32_t > m_GatheringLeveIdList; std::set< uint32_t > m_GatheringLeveRouteIdList; + std::set< uint32_t > m_GatheringLeveRuleIdList; std::set< uint32_t > m_GatheringNotebookListIdList; std::set< uint32_t > m_GatheringPointIdList; std::set< uint32_t > m_GatheringPointBaseIdList; @@ -7279,10 +8523,14 @@ struct ZoneSharedGroup std::set< uint32_t > m_GFateRideShootingIdList; std::set< uint32_t > m_GilShopIdList; std::set< uint32_t > m_GilShopItemIdList; + std::set< uint32_t > m_GimmickAccessorIdList; + std::set< uint32_t > m_GimmickJumpIdList; + std::set< uint32_t > m_GimmickRectIdList; std::set< uint32_t > m_GoldSaucerArcadeMachineIdList; std::set< uint32_t > m_GoldSaucerTextDataIdList; std::set< uint32_t > m_GrandCompanyIdList; std::set< uint32_t > m_GrandCompanyRankIdList; + std::set< uint32_t > m_GroupPoseFrameIdList; std::set< uint32_t > m_GuardianDeityIdList; std::set< uint32_t > m_GuideIdList; std::set< uint32_t > m_GuidePageIdList; @@ -7313,6 +8561,24 @@ struct ZoneSharedGroup std::set< uint32_t > m_HowToPageIdList; std::set< uint32_t > m_HugeCraftworksNpcIdList; std::set< uint32_t > m_HugeCraftworksRankIdList; + std::set< uint32_t > m_HWDAnnounceIdList; + std::set< uint32_t > m_HWDCrafterSupplyIdList; + std::set< uint32_t > m_HWDCrafterSupplyRewardIdList; + std::set< uint32_t > m_HWDDevLayerControlIdList; + std::set< uint32_t > m_HWDDevLevelUIIdList; + std::set< uint32_t > m_HWDDevLivelyIdList; + std::set< uint32_t > m_HWDDevProgressIdList; + std::set< uint32_t > m_HWDInfoBoardArticleIdList; + std::set< uint32_t > m_HWDInfoBoardArticleTransientIdList; + std::set< uint32_t > m_HWDInfoBoardArticleTypeIdList; + std::set< uint32_t > m_HWDLevelChangeDeceptionIdList; + std::set< uint32_t > m_HWDSharedGroupIdList; + std::set< uint32_t > m_HWDSharedGroupControlParamIdList; + std::set< uint32_t > m_IKDContentBonusIdList; + std::set< uint32_t > m_IKDFishParamIdList; + std::set< uint32_t > m_IKDRouteIdList; + std::set< uint32_t > m_IKDRouteTableIdList; + std::set< uint32_t > m_IKDSpotIdList; std::set< uint32_t > m_IndividualWeatherIdList; std::set< uint32_t > m_InstanceContentIdList; std::set< uint32_t > m_InstanceContentBuffIdList; @@ -7332,16 +8598,19 @@ struct ZoneSharedGroup std::set< uint32_t > m_JournalCategoryIdList; std::set< uint32_t > m_JournalGenreIdList; std::set< uint32_t > m_JournalSectionIdList; + std::set< uint32_t > m_KnockbackIdList; + std::set< uint32_t > m_LegacyQuestIdList; std::set< uint32_t > m_LeveIdList; std::set< uint32_t > m_LeveAssignmentTypeIdList; std::set< uint32_t > m_LeveClientIdList; std::set< uint32_t > m_LevelIdList; std::set< uint32_t > m_LeveRewardItemIdList; std::set< uint32_t > m_LeveRewardItemGroupIdList; + std::set< uint32_t > m_LeveStringIdList; std::set< uint32_t > m_LeveVfxIdList; + std::set< uint32_t > m_LobbyIdList; std::set< uint32_t > m_LogFilterIdList; std::set< uint32_t > m_LogKindIdList; - std::set< uint32_t > m_LogKindCategoryTextIdList; std::set< uint32_t > m_LogMessageIdList; std::set< uint32_t > m_LotteryExchangeShopIdList; std::set< uint32_t > m_MacroIconIdList; @@ -7359,6 +8628,7 @@ struct ZoneSharedGroup std::set< uint32_t > m_MateriaIdList; std::set< uint32_t > m_MateriaJoinRateIdList; std::set< uint32_t > m_MateriaJoinRateGatherCraftIdList; + std::set< uint32_t > m_MateriaTomestoneRateIdList; std::set< uint32_t > m_MiniGameRAIdList; std::set< uint32_t > m_MinionRaceIdList; std::set< uint32_t > m_MinionRulesIdList; @@ -7373,6 +8643,8 @@ struct ZoneSharedGroup std::set< uint32_t > m_ModelStateIdList; std::set< uint32_t > m_MonsterNoteIdList; std::set< uint32_t > m_MonsterNoteTargetIdList; + std::set< uint32_t > m_MotionTimelineIdList; + std::set< uint32_t > m_MotionTimelineBlendTableIdList; std::set< uint32_t > m_MountIdList; std::set< uint32_t > m_MountActionIdList; std::set< uint32_t > m_MountCustomizeIdList; @@ -7381,6 +8653,9 @@ struct ZoneSharedGroup std::set< uint32_t > m_MountTransientIdList; std::set< uint32_t > m_MoveTimelineIdList; std::set< uint32_t > m_MoveVfxIdList; + std::set< uint32_t > m_MovieSubtitleIdList; + std::set< uint32_t > m_MovieSubtitle500IdList; + std::set< uint32_t > m_MovieSubtitleVoyageIdList; std::set< uint32_t > m_NotebookDivisionIdList; std::set< uint32_t > m_NotebookDivisionCategoryIdList; std::set< uint32_t > m_NotoriousMonsterIdList; @@ -7399,17 +8674,23 @@ struct ZoneSharedGroup std::set< uint32_t > m_PartyContentIdList; std::set< uint32_t > m_PartyContentCutsceneIdList; std::set< uint32_t > m_PartyContentTextDataIdList; + std::set< uint32_t > m_PatchMarkIdList; std::set< uint32_t > m_PerformIdList; std::set< uint32_t > m_PerformTransientIdList; std::set< uint32_t > m_PetIdList; std::set< uint32_t > m_PetActionIdList; + std::set< uint32_t > m_PhysicsGroupIdList; + std::set< uint32_t > m_PhysicsWindIdList; std::set< uint32_t > m_PictureIdList; std::set< uint32_t > m_PlaceNameIdList; std::set< uint32_t > m_PlantPotFlowerSeedIdList; std::set< uint32_t > m_PreHandlerIdList; + std::set< uint32_t > m_PresetCameraIdList; + std::set< uint32_t > m_PresetCameraAdjustIdList; std::set< uint32_t > m_PublicContentIdList; std::set< uint32_t > m_PublicContentCutsceneIdList; std::set< uint32_t > m_PublicContentTextDataIdList; + std::set< uint32_t > m_PurifyIdList; std::set< uint32_t > m_PvPActionIdList; std::set< uint32_t > m_PvPActionSortIdList; std::set< uint32_t > m_PvPRankIdList; @@ -7417,8 +8698,15 @@ struct ZoneSharedGroup std::set< uint32_t > m_PvPTraitIdList; std::set< uint32_t > m_QuestIdList; std::set< uint32_t > m_QuestBattleIdList; + std::set< uint32_t > m_QuestChapterIdList; std::set< uint32_t > m_QuestClassJobRewardIdList; std::set< uint32_t > m_QuestClassJobSupplyIdList; + std::set< uint32_t > m_QuestDerivedClassIdList; + std::set< uint32_t > m_QuestRedoIdList; + std::set< uint32_t > m_QuestRedoChapterUIIdList; + std::set< uint32_t > m_QuestRedoChapterUICategoryIdList; + std::set< uint32_t > m_QuestRedoChapterUITabIdList; + std::set< uint32_t > m_QuestRedoIncompChapterIdList; std::set< uint32_t > m_QuestRepeatFlagIdList; std::set< uint32_t > m_QuestRewardOtherIdList; std::set< uint32_t > m_QuickChatIdList; @@ -7492,6 +8780,7 @@ struct ZoneSharedGroup std::set< uint32_t > m_TransformationIdList; std::set< uint32_t > m_TreasureIdList; std::set< uint32_t > m_TreasureHuntRankIdList; + std::set< uint32_t > m_TreasureModelIdList; std::set< uint32_t > m_TreasureSpotIdList; std::set< uint32_t > m_TribeIdList; std::set< uint32_t > m_TripleTriadIdList; @@ -7511,6 +8800,7 @@ struct ZoneSharedGroup std::set< uint32_t > m_WarpIdList; std::set< uint32_t > m_WarpConditionIdList; std::set< uint32_t > m_WarpLogicIdList; + std::set< uint32_t > m_WeaponTimelineIdList; std::set< uint32_t > m_WeatherIdList; std::set< uint32_t > m_WeatherGroupIdList; std::set< uint32_t > m_WeatherRateIdList; @@ -7726,6 +9016,12 @@ const std::set< uint32_t >& getAirshipExplorationPointIdList() loadIdList( m_AirshipExplorationPointDat, m_AirshipExplorationPointIdList ); return m_AirshipExplorationPointIdList; } +const std::set< uint32_t >& getAnimationLODIdList() +{ + if( m_AnimationLODIdList.size() == 0 ) + loadIdList( m_AnimationLODDat, m_AnimationLODIdList ); + return m_AnimationLODIdList; +} const std::set< uint32_t >& getAnimaWeapon5IdList() { if( m_AnimaWeapon5IdList.size() == 0 ) @@ -7822,6 +9118,12 @@ const std::set< uint32_t >& getAOZContentBriefingBNpcIdList() loadIdList( m_AOZContentBriefingBNpcDat, m_AOZContentBriefingBNpcIdList ); return m_AOZContentBriefingBNpcIdList; } +const std::set< uint32_t >& getAOZReportIdList() +{ + if( m_AOZReportIdList.size() == 0 ) + loadIdList( m_AOZReportDat, m_AOZReportIdList ); + return m_AOZReportIdList; +} const std::set< uint32_t >& getAquariumFishIdList() { if( m_AquariumFishIdList.size() == 0 ) @@ -7852,6 +9154,12 @@ const std::set< uint32_t >& getBacklightColorIdList() loadIdList( m_BacklightColorDat, m_BacklightColorIdList ); return m_BacklightColorIdList; } +const std::set< uint32_t >& getBallistaIdList() +{ + if( m_BallistaIdList.size() == 0 ) + loadIdList( m_BallistaDat, m_BallistaIdList ); + return m_BallistaIdList; +} const std::set< uint32_t >& getBalloonIdList() { if( m_BalloonIdList.size() == 0 ) @@ -7870,6 +9178,12 @@ const std::set< uint32_t >& getBattleLeveIdList() loadIdList( m_BattleLeveDat, m_BattleLeveIdList ); return m_BattleLeveIdList; } +const std::set< uint32_t >& getBattleLeveRuleIdList() +{ + if( m_BattleLeveRuleIdList.size() == 0 ) + loadIdList( m_BattleLeveRuleDat, m_BattleLeveRuleIdList ); + return m_BattleLeveRuleIdList; +} const std::set< uint32_t >& getBeastRankBonusIdList() { if( m_BeastRankBonusIdList.size() == 0 ) @@ -7894,6 +9208,12 @@ const std::set< uint32_t >& getBehaviorIdList() loadIdList( m_BehaviorDat, m_BehaviorIdList ); return m_BehaviorIdList; } +const std::set< uint32_t >& getBehaviorPathIdList() +{ + if( m_BehaviorPathIdList.size() == 0 ) + loadIdList( m_BehaviorPathDat, m_BehaviorPathIdList ); + return m_BehaviorPathIdList; +} const std::set< uint32_t >& getBenchmarkOverrideEquipmentIdList() { if( m_BenchmarkOverrideEquipmentIdList.size() == 0 ) @@ -7912,6 +9232,18 @@ const std::set< uint32_t >& getBGMFadeIdList() loadIdList( m_BGMFadeDat, m_BGMFadeIdList ); return m_BGMFadeIdList; } +const std::set< uint32_t >& getBGMFadeTypeIdList() +{ + if( m_BGMFadeTypeIdList.size() == 0 ) + loadIdList( m_BGMFadeTypeDat, m_BGMFadeTypeIdList ); + return m_BGMFadeTypeIdList; +} +const std::set< uint32_t >& getBGMSceneIdList() +{ + if( m_BGMSceneIdList.size() == 0 ) + loadIdList( m_BGMSceneDat, m_BGMSceneIdList ); + return m_BGMSceneIdList; +} const std::set< uint32_t >& getBGMSituationIdList() { if( m_BGMSituationIdList.size() == 0 ) @@ -7960,6 +9292,12 @@ const std::set< uint32_t >& getBNpcPartsIdList() loadIdList( m_BNpcPartsDat, m_BNpcPartsIdList ); return m_BNpcPartsIdList; } +const std::set< uint32_t >& getBNpcStateIdList() +{ + if( m_BNpcStateIdList.size() == 0 ) + loadIdList( m_BNpcStateDat, m_BNpcStateIdList ); + return m_BNpcStateIdList; +} const std::set< uint32_t >& getBuddyIdList() { if( m_BuddyIdList.size() == 0 ) @@ -8014,6 +9352,24 @@ const std::set< uint32_t >& getCalendarIdList() loadIdList( m_CalendarDat, m_CalendarIdList ); return m_CalendarIdList; } +const std::set< uint32_t >& getCarryIdList() +{ + if( m_CarryIdList.size() == 0 ) + loadIdList( m_CarryDat, m_CarryIdList ); + return m_CarryIdList; +} +const std::set< uint32_t >& getChannelingIdList() +{ + if( m_ChannelingIdList.size() == 0 ) + loadIdList( m_ChannelingDat, m_ChannelingIdList ); + return m_ChannelingIdList; +} +const std::set< uint32_t >& getCharaMakeClassEquipIdList() +{ + if( m_CharaMakeClassEquipIdList.size() == 0 ) + loadIdList( m_CharaMakeClassEquipDat, m_CharaMakeClassEquipIdList ); + return m_CharaMakeClassEquipIdList; +} const std::set< uint32_t >& getCharaMakeCustomizeIdList() { if( m_CharaMakeCustomizeIdList.size() == 0 ) @@ -8092,6 +9448,12 @@ const std::set< uint32_t >& getChocoboTaxiStandIdList() loadIdList( m_ChocoboTaxiStandDat, m_ChocoboTaxiStandIdList ); return m_ChocoboTaxiStandIdList; } +const std::set< uint32_t >& getCircleActivityIdList() +{ + if( m_CircleActivityIdList.size() == 0 ) + loadIdList( m_CircleActivityDat, m_CircleActivityIdList ); + return m_CircleActivityIdList; +} const std::set< uint32_t >& getClassJobIdList() { if( m_ClassJobIdList.size() == 0 ) @@ -8200,6 +9562,12 @@ const std::set< uint32_t >& getCompleteJournalCategoryIdList() loadIdList( m_CompleteJournalCategoryDat, m_CompleteJournalCategoryIdList ); return m_CompleteJournalCategoryIdList; } +const std::set< uint32_t >& getConfigKeyIdList() +{ + if( m_ConfigKeyIdList.size() == 0 ) + loadIdList( m_ConfigKeyDat, m_ConfigKeyIdList ); + return m_ConfigKeyIdList; +} const std::set< uint32_t >& getContentCloseCycleIdList() { if( m_ContentCloseCycleIdList.size() == 0 ) @@ -8380,12 +9748,30 @@ const std::set< uint32_t >& getCutsceneIdList() loadIdList( m_CutsceneDat, m_CutsceneIdList ); return m_CutsceneIdList; } +const std::set< uint32_t >& getCutsceneMotionIdList() +{ + if( m_CutsceneMotionIdList.size() == 0 ) + loadIdList( m_CutsceneMotionDat, m_CutsceneMotionIdList ); + return m_CutsceneMotionIdList; +} +const std::set< uint32_t >& getCutsceneWorkIndexIdList() +{ + if( m_CutsceneWorkIndexIdList.size() == 0 ) + loadIdList( m_CutsceneWorkIndexDat, m_CutsceneWorkIndexIdList ); + return m_CutsceneWorkIndexIdList; +} const std::set< uint32_t >& getCutScreenImageIdList() { if( m_CutScreenImageIdList.size() == 0 ) loadIdList( m_CutScreenImageDat, m_CutScreenImageIdList ); return m_CutScreenImageIdList; } +const std::set< uint32_t >& getCycleTimeIdList() +{ + if( m_CycleTimeIdList.size() == 0 ) + loadIdList( m_CycleTimeDat, m_CycleTimeIdList ); + return m_CycleTimeIdList; +} const std::set< uint32_t >& getDailySupplyItemIdList() { if( m_DailySupplyItemIdList.size() == 0 ) @@ -8410,6 +9796,12 @@ const std::set< uint32_t >& getDawnMemberUIParamIdList() loadIdList( m_DawnMemberUIParamDat, m_DawnMemberUIParamIdList ); return m_DawnMemberUIParamIdList; } +const std::set< uint32_t >& getDawnQuestAnnounceIdList() +{ + if( m_DawnQuestAnnounceIdList.size() == 0 ) + loadIdList( m_DawnQuestAnnounceDat, m_DawnQuestAnnounceIdList ); + return m_DawnQuestAnnounceIdList; +} const std::set< uint32_t >& getDawnQuestMemberIdList() { if( m_DawnQuestMemberIdList.size() == 0 ) @@ -8500,12 +9892,24 @@ const std::set< uint32_t >& getDeliveryQuestIdList() loadIdList( m_DeliveryQuestDat, m_DeliveryQuestIdList ); return m_DeliveryQuestIdList; } +const std::set< uint32_t >& getDescriptionIdList() +{ + if( m_DescriptionIdList.size() == 0 ) + loadIdList( m_DescriptionDat, m_DescriptionIdList ); + return m_DescriptionIdList; +} const std::set< uint32_t >& getDescriptionPageIdList() { if( m_DescriptionPageIdList.size() == 0 ) loadIdList( m_DescriptionPageDat, m_DescriptionPageIdList ); return m_DescriptionPageIdList; } +const std::set< uint32_t >& getDescriptionSectionIdList() +{ + if( m_DescriptionSectionIdList.size() == 0 ) + loadIdList( m_DescriptionSectionDat, m_DescriptionSectionIdList ); + return m_DescriptionSectionIdList; +} const std::set< uint32_t >& getDescriptionStringIdList() { if( m_DescriptionStringIdList.size() == 0 ) @@ -8572,6 +9976,12 @@ const std::set< uint32_t >& getEmoteCategoryIdList() loadIdList( m_EmoteCategoryDat, m_EmoteCategoryIdList ); return m_EmoteCategoryIdList; } +const std::set< uint32_t >& getEmoteModeIdList() +{ + if( m_EmoteModeIdList.size() == 0 ) + loadIdList( m_EmoteModeDat, m_EmoteModeIdList ); + return m_EmoteModeIdList; +} const std::set< uint32_t >& getENpcBaseIdList() { if( m_ENpcBaseIdList.size() == 0 ) @@ -8710,6 +10120,12 @@ const std::set< uint32_t >& getEventItemTimelineIdList() loadIdList( m_EventItemTimelineDat, m_EventItemTimelineIdList ); return m_EventItemTimelineIdList; } +const std::set< uint32_t >& getEventSystemDefineIdList() +{ + if( m_EventSystemDefineIdList.size() == 0 ) + loadIdList( m_EventSystemDefineDat, m_EventSystemDefineIdList ); + return m_EventSystemDefineIdList; +} const std::set< uint32_t >& getExportedSGIdList() { if( m_ExportedSGIdList.size() == 0 ) @@ -8728,12 +10144,24 @@ const std::set< uint32_t >& getFateIdList() loadIdList( m_FateDat, m_FateIdList ); return m_FateIdList; } +const std::set< uint32_t >& getFateEventIdList() +{ + if( m_FateEventIdList.size() == 0 ) + loadIdList( m_FateEventDat, m_FateEventIdList ); + return m_FateEventIdList; +} const std::set< uint32_t >& getFateProgressUIIdList() { if( m_FateProgressUIIdList.size() == 0 ) loadIdList( m_FateProgressUIDat, m_FateProgressUIIdList ); return m_FateProgressUIIdList; } +const std::set< uint32_t >& getFateTokenTypeIdList() +{ + if( m_FateTokenTypeIdList.size() == 0 ) + loadIdList( m_FateTokenTypeDat, m_FateTokenTypeIdList ); + return m_FateTokenTypeIdList; +} const std::set< uint32_t >& getFCActivityIdList() { if( m_FCActivityIdList.size() == 0 ) @@ -8764,6 +10192,12 @@ const std::set< uint32_t >& getFCChestNameIdList() loadIdList( m_FCChestNameDat, m_FCChestNameIdList ); return m_FCChestNameIdList; } +const std::set< uint32_t >& getFCCrestSymbolIdList() +{ + if( m_FCCrestSymbolIdList.size() == 0 ) + loadIdList( m_FCCrestSymbolDat, m_FCCrestSymbolIdList ); + return m_FCCrestSymbolIdList; +} const std::set< uint32_t >& getFccShopIdList() { if( m_FccShopIdList.size() == 0 ) @@ -8782,6 +10216,12 @@ const std::set< uint32_t >& getFCProfileIdList() loadIdList( m_FCProfileDat, m_FCProfileIdList ); return m_FCProfileIdList; } +const std::set< uint32_t >& getFCRankIdList() +{ + if( m_FCRankIdList.size() == 0 ) + loadIdList( m_FCRankDat, m_FCRankIdList ); + return m_FCRankIdList; +} const std::set< uint32_t >& getFCReputationIdList() { if( m_FCReputationIdList.size() == 0 ) @@ -8902,6 +10342,12 @@ const std::set< uint32_t >& getGatheringLeveRouteIdList() loadIdList( m_GatheringLeveRouteDat, m_GatheringLeveRouteIdList ); return m_GatheringLeveRouteIdList; } +const std::set< uint32_t >& getGatheringLeveRuleIdList() +{ + if( m_GatheringLeveRuleIdList.size() == 0 ) + loadIdList( m_GatheringLeveRuleDat, m_GatheringLeveRuleIdList ); + return m_GatheringLeveRuleIdList; +} const std::set< uint32_t >& getGatheringNotebookListIdList() { if( m_GatheringNotebookListIdList.size() == 0 ) @@ -9106,6 +10552,24 @@ const std::set< uint32_t >& getGilShopItemIdList() loadIdList( m_GilShopItemDat, m_GilShopItemIdList ); return m_GilShopItemIdList; } +const std::set< uint32_t >& getGimmickAccessorIdList() +{ + if( m_GimmickAccessorIdList.size() == 0 ) + loadIdList( m_GimmickAccessorDat, m_GimmickAccessorIdList ); + return m_GimmickAccessorIdList; +} +const std::set< uint32_t >& getGimmickJumpIdList() +{ + if( m_GimmickJumpIdList.size() == 0 ) + loadIdList( m_GimmickJumpDat, m_GimmickJumpIdList ); + return m_GimmickJumpIdList; +} +const std::set< uint32_t >& getGimmickRectIdList() +{ + if( m_GimmickRectIdList.size() == 0 ) + loadIdList( m_GimmickRectDat, m_GimmickRectIdList ); + return m_GimmickRectIdList; +} const std::set< uint32_t >& getGoldSaucerArcadeMachineIdList() { if( m_GoldSaucerArcadeMachineIdList.size() == 0 ) @@ -9130,6 +10594,12 @@ const std::set< uint32_t >& getGrandCompanyRankIdList() loadIdList( m_GrandCompanyRankDat, m_GrandCompanyRankIdList ); return m_GrandCompanyRankIdList; } +const std::set< uint32_t >& getGroupPoseFrameIdList() +{ + if( m_GroupPoseFrameIdList.size() == 0 ) + loadIdList( m_GroupPoseFrameDat, m_GroupPoseFrameIdList ); + return m_GroupPoseFrameIdList; +} const std::set< uint32_t >& getGuardianDeityIdList() { if( m_GuardianDeityIdList.size() == 0 ) @@ -9310,6 +10780,114 @@ const std::set< uint32_t >& getHugeCraftworksRankIdList() loadIdList( m_HugeCraftworksRankDat, m_HugeCraftworksRankIdList ); return m_HugeCraftworksRankIdList; } +const std::set< uint32_t >& getHWDAnnounceIdList() +{ + if( m_HWDAnnounceIdList.size() == 0 ) + loadIdList( m_HWDAnnounceDat, m_HWDAnnounceIdList ); + return m_HWDAnnounceIdList; +} +const std::set< uint32_t >& getHWDCrafterSupplyIdList() +{ + if( m_HWDCrafterSupplyIdList.size() == 0 ) + loadIdList( m_HWDCrafterSupplyDat, m_HWDCrafterSupplyIdList ); + return m_HWDCrafterSupplyIdList; +} +const std::set< uint32_t >& getHWDCrafterSupplyRewardIdList() +{ + if( m_HWDCrafterSupplyRewardIdList.size() == 0 ) + loadIdList( m_HWDCrafterSupplyRewardDat, m_HWDCrafterSupplyRewardIdList ); + return m_HWDCrafterSupplyRewardIdList; +} +const std::set< uint32_t >& getHWDDevLayerControlIdList() +{ + if( m_HWDDevLayerControlIdList.size() == 0 ) + loadIdList( m_HWDDevLayerControlDat, m_HWDDevLayerControlIdList ); + return m_HWDDevLayerControlIdList; +} +const std::set< uint32_t >& getHWDDevLevelUIIdList() +{ + if( m_HWDDevLevelUIIdList.size() == 0 ) + loadIdList( m_HWDDevLevelUIDat, m_HWDDevLevelUIIdList ); + return m_HWDDevLevelUIIdList; +} +const std::set< uint32_t >& getHWDDevLivelyIdList() +{ + if( m_HWDDevLivelyIdList.size() == 0 ) + loadIdList( m_HWDDevLivelyDat, m_HWDDevLivelyIdList ); + return m_HWDDevLivelyIdList; +} +const std::set< uint32_t >& getHWDDevProgressIdList() +{ + if( m_HWDDevProgressIdList.size() == 0 ) + loadIdList( m_HWDDevProgressDat, m_HWDDevProgressIdList ); + return m_HWDDevProgressIdList; +} +const std::set< uint32_t >& getHWDInfoBoardArticleIdList() +{ + if( m_HWDInfoBoardArticleIdList.size() == 0 ) + loadIdList( m_HWDInfoBoardArticleDat, m_HWDInfoBoardArticleIdList ); + return m_HWDInfoBoardArticleIdList; +} +const std::set< uint32_t >& getHWDInfoBoardArticleTransientIdList() +{ + if( m_HWDInfoBoardArticleTransientIdList.size() == 0 ) + loadIdList( m_HWDInfoBoardArticleTransientDat, m_HWDInfoBoardArticleTransientIdList ); + return m_HWDInfoBoardArticleTransientIdList; +} +const std::set< uint32_t >& getHWDInfoBoardArticleTypeIdList() +{ + if( m_HWDInfoBoardArticleTypeIdList.size() == 0 ) + loadIdList( m_HWDInfoBoardArticleTypeDat, m_HWDInfoBoardArticleTypeIdList ); + return m_HWDInfoBoardArticleTypeIdList; +} +const std::set< uint32_t >& getHWDLevelChangeDeceptionIdList() +{ + if( m_HWDLevelChangeDeceptionIdList.size() == 0 ) + loadIdList( m_HWDLevelChangeDeceptionDat, m_HWDLevelChangeDeceptionIdList ); + return m_HWDLevelChangeDeceptionIdList; +} +const std::set< uint32_t >& getHWDSharedGroupIdList() +{ + if( m_HWDSharedGroupIdList.size() == 0 ) + loadIdList( m_HWDSharedGroupDat, m_HWDSharedGroupIdList ); + return m_HWDSharedGroupIdList; +} +const std::set< uint32_t >& getHWDSharedGroupControlParamIdList() +{ + if( m_HWDSharedGroupControlParamIdList.size() == 0 ) + loadIdList( m_HWDSharedGroupControlParamDat, m_HWDSharedGroupControlParamIdList ); + return m_HWDSharedGroupControlParamIdList; +} +const std::set< uint32_t >& getIKDContentBonusIdList() +{ + if( m_IKDContentBonusIdList.size() == 0 ) + loadIdList( m_IKDContentBonusDat, m_IKDContentBonusIdList ); + return m_IKDContentBonusIdList; +} +const std::set< uint32_t >& getIKDFishParamIdList() +{ + if( m_IKDFishParamIdList.size() == 0 ) + loadIdList( m_IKDFishParamDat, m_IKDFishParamIdList ); + return m_IKDFishParamIdList; +} +const std::set< uint32_t >& getIKDRouteIdList() +{ + if( m_IKDRouteIdList.size() == 0 ) + loadIdList( m_IKDRouteDat, m_IKDRouteIdList ); + return m_IKDRouteIdList; +} +const std::set< uint32_t >& getIKDRouteTableIdList() +{ + if( m_IKDRouteTableIdList.size() == 0 ) + loadIdList( m_IKDRouteTableDat, m_IKDRouteTableIdList ); + return m_IKDRouteTableIdList; +} +const std::set< uint32_t >& getIKDSpotIdList() +{ + if( m_IKDSpotIdList.size() == 0 ) + loadIdList( m_IKDSpotDat, m_IKDSpotIdList ); + return m_IKDSpotIdList; +} const std::set< uint32_t >& getIndividualWeatherIdList() { if( m_IndividualWeatherIdList.size() == 0 ) @@ -9424,6 +11002,18 @@ const std::set< uint32_t >& getJournalSectionIdList() loadIdList( m_JournalSectionDat, m_JournalSectionIdList ); return m_JournalSectionIdList; } +const std::set< uint32_t >& getKnockbackIdList() +{ + if( m_KnockbackIdList.size() == 0 ) + loadIdList( m_KnockbackDat, m_KnockbackIdList ); + return m_KnockbackIdList; +} +const std::set< uint32_t >& getLegacyQuestIdList() +{ + if( m_LegacyQuestIdList.size() == 0 ) + loadIdList( m_LegacyQuestDat, m_LegacyQuestIdList ); + return m_LegacyQuestIdList; +} const std::set< uint32_t >& getLeveIdList() { if( m_LeveIdList.size() == 0 ) @@ -9460,12 +11050,24 @@ const std::set< uint32_t >& getLeveRewardItemGroupIdList() loadIdList( m_LeveRewardItemGroupDat, m_LeveRewardItemGroupIdList ); return m_LeveRewardItemGroupIdList; } +const std::set< uint32_t >& getLeveStringIdList() +{ + if( m_LeveStringIdList.size() == 0 ) + loadIdList( m_LeveStringDat, m_LeveStringIdList ); + return m_LeveStringIdList; +} const std::set< uint32_t >& getLeveVfxIdList() { if( m_LeveVfxIdList.size() == 0 ) loadIdList( m_LeveVfxDat, m_LeveVfxIdList ); return m_LeveVfxIdList; } +const std::set< uint32_t >& getLobbyIdList() +{ + if( m_LobbyIdList.size() == 0 ) + loadIdList( m_LobbyDat, m_LobbyIdList ); + return m_LobbyIdList; +} const std::set< uint32_t >& getLogFilterIdList() { if( m_LogFilterIdList.size() == 0 ) @@ -9478,12 +11080,6 @@ const std::set< uint32_t >& getLogKindIdList() loadIdList( m_LogKindDat, m_LogKindIdList ); return m_LogKindIdList; } -const std::set< uint32_t >& getLogKindCategoryTextIdList() -{ - if( m_LogKindCategoryTextIdList.size() == 0 ) - loadIdList( m_LogKindCategoryTextDat, m_LogKindCategoryTextIdList ); - return m_LogKindCategoryTextIdList; -} const std::set< uint32_t >& getLogMessageIdList() { if( m_LogMessageIdList.size() == 0 ) @@ -9586,6 +11182,12 @@ const std::set< uint32_t >& getMateriaJoinRateGatherCraftIdList() loadIdList( m_MateriaJoinRateGatherCraftDat, m_MateriaJoinRateGatherCraftIdList ); return m_MateriaJoinRateGatherCraftIdList; } +const std::set< uint32_t >& getMateriaTomestoneRateIdList() +{ + if( m_MateriaTomestoneRateIdList.size() == 0 ) + loadIdList( m_MateriaTomestoneRateDat, m_MateriaTomestoneRateIdList ); + return m_MateriaTomestoneRateIdList; +} const std::set< uint32_t >& getMiniGameRAIdList() { if( m_MiniGameRAIdList.size() == 0 ) @@ -9670,6 +11272,18 @@ const std::set< uint32_t >& getMonsterNoteTargetIdList() loadIdList( m_MonsterNoteTargetDat, m_MonsterNoteTargetIdList ); return m_MonsterNoteTargetIdList; } +const std::set< uint32_t >& getMotionTimelineIdList() +{ + if( m_MotionTimelineIdList.size() == 0 ) + loadIdList( m_MotionTimelineDat, m_MotionTimelineIdList ); + return m_MotionTimelineIdList; +} +const std::set< uint32_t >& getMotionTimelineBlendTableIdList() +{ + if( m_MotionTimelineBlendTableIdList.size() == 0 ) + loadIdList( m_MotionTimelineBlendTableDat, m_MotionTimelineBlendTableIdList ); + return m_MotionTimelineBlendTableIdList; +} const std::set< uint32_t >& getMountIdList() { if( m_MountIdList.size() == 0 ) @@ -9718,6 +11332,24 @@ const std::set< uint32_t >& getMoveVfxIdList() loadIdList( m_MoveVfxDat, m_MoveVfxIdList ); return m_MoveVfxIdList; } +const std::set< uint32_t >& getMovieSubtitleIdList() +{ + if( m_MovieSubtitleIdList.size() == 0 ) + loadIdList( m_MovieSubtitleDat, m_MovieSubtitleIdList ); + return m_MovieSubtitleIdList; +} +const std::set< uint32_t >& getMovieSubtitle500IdList() +{ + if( m_MovieSubtitle500IdList.size() == 0 ) + loadIdList( m_MovieSubtitle500Dat, m_MovieSubtitle500IdList ); + return m_MovieSubtitle500IdList; +} +const std::set< uint32_t >& getMovieSubtitleVoyageIdList() +{ + if( m_MovieSubtitleVoyageIdList.size() == 0 ) + loadIdList( m_MovieSubtitleVoyageDat, m_MovieSubtitleVoyageIdList ); + return m_MovieSubtitleVoyageIdList; +} const std::set< uint32_t >& getNotebookDivisionIdList() { if( m_NotebookDivisionIdList.size() == 0 ) @@ -9826,6 +11458,12 @@ const std::set< uint32_t >& getPartyContentTextDataIdList() loadIdList( m_PartyContentTextDataDat, m_PartyContentTextDataIdList ); return m_PartyContentTextDataIdList; } +const std::set< uint32_t >& getPatchMarkIdList() +{ + if( m_PatchMarkIdList.size() == 0 ) + loadIdList( m_PatchMarkDat, m_PatchMarkIdList ); + return m_PatchMarkIdList; +} const std::set< uint32_t >& getPerformIdList() { if( m_PerformIdList.size() == 0 ) @@ -9850,6 +11488,18 @@ const std::set< uint32_t >& getPetActionIdList() loadIdList( m_PetActionDat, m_PetActionIdList ); return m_PetActionIdList; } +const std::set< uint32_t >& getPhysicsGroupIdList() +{ + if( m_PhysicsGroupIdList.size() == 0 ) + loadIdList( m_PhysicsGroupDat, m_PhysicsGroupIdList ); + return m_PhysicsGroupIdList; +} +const std::set< uint32_t >& getPhysicsWindIdList() +{ + if( m_PhysicsWindIdList.size() == 0 ) + loadIdList( m_PhysicsWindDat, m_PhysicsWindIdList ); + return m_PhysicsWindIdList; +} const std::set< uint32_t >& getPictureIdList() { if( m_PictureIdList.size() == 0 ) @@ -9874,6 +11524,18 @@ const std::set< uint32_t >& getPreHandlerIdList() loadIdList( m_PreHandlerDat, m_PreHandlerIdList ); return m_PreHandlerIdList; } +const std::set< uint32_t >& getPresetCameraIdList() +{ + if( m_PresetCameraIdList.size() == 0 ) + loadIdList( m_PresetCameraDat, m_PresetCameraIdList ); + return m_PresetCameraIdList; +} +const std::set< uint32_t >& getPresetCameraAdjustIdList() +{ + if( m_PresetCameraAdjustIdList.size() == 0 ) + loadIdList( m_PresetCameraAdjustDat, m_PresetCameraAdjustIdList ); + return m_PresetCameraAdjustIdList; +} const std::set< uint32_t >& getPublicContentIdList() { if( m_PublicContentIdList.size() == 0 ) @@ -9892,6 +11554,12 @@ const std::set< uint32_t >& getPublicContentTextDataIdList() loadIdList( m_PublicContentTextDataDat, m_PublicContentTextDataIdList ); return m_PublicContentTextDataIdList; } +const std::set< uint32_t >& getPurifyIdList() +{ + if( m_PurifyIdList.size() == 0 ) + loadIdList( m_PurifyDat, m_PurifyIdList ); + return m_PurifyIdList; +} const std::set< uint32_t >& getPvPActionIdList() { if( m_PvPActionIdList.size() == 0 ) @@ -9934,6 +11602,12 @@ const std::set< uint32_t >& getQuestBattleIdList() loadIdList( m_QuestBattleDat, m_QuestBattleIdList ); return m_QuestBattleIdList; } +const std::set< uint32_t >& getQuestChapterIdList() +{ + if( m_QuestChapterIdList.size() == 0 ) + loadIdList( m_QuestChapterDat, m_QuestChapterIdList ); + return m_QuestChapterIdList; +} const std::set< uint32_t >& getQuestClassJobRewardIdList() { if( m_QuestClassJobRewardIdList.size() == 0 ) @@ -9946,6 +11620,42 @@ const std::set< uint32_t >& getQuestClassJobSupplyIdList() loadIdList( m_QuestClassJobSupplyDat, m_QuestClassJobSupplyIdList ); return m_QuestClassJobSupplyIdList; } +const std::set< uint32_t >& getQuestDerivedClassIdList() +{ + if( m_QuestDerivedClassIdList.size() == 0 ) + loadIdList( m_QuestDerivedClassDat, m_QuestDerivedClassIdList ); + return m_QuestDerivedClassIdList; +} +const std::set< uint32_t >& getQuestRedoIdList() +{ + if( m_QuestRedoIdList.size() == 0 ) + loadIdList( m_QuestRedoDat, m_QuestRedoIdList ); + return m_QuestRedoIdList; +} +const std::set< uint32_t >& getQuestRedoChapterUIIdList() +{ + if( m_QuestRedoChapterUIIdList.size() == 0 ) + loadIdList( m_QuestRedoChapterUIDat, m_QuestRedoChapterUIIdList ); + return m_QuestRedoChapterUIIdList; +} +const std::set< uint32_t >& getQuestRedoChapterUICategoryIdList() +{ + if( m_QuestRedoChapterUICategoryIdList.size() == 0 ) + loadIdList( m_QuestRedoChapterUICategoryDat, m_QuestRedoChapterUICategoryIdList ); + return m_QuestRedoChapterUICategoryIdList; +} +const std::set< uint32_t >& getQuestRedoChapterUITabIdList() +{ + if( m_QuestRedoChapterUITabIdList.size() == 0 ) + loadIdList( m_QuestRedoChapterUITabDat, m_QuestRedoChapterUITabIdList ); + return m_QuestRedoChapterUITabIdList; +} +const std::set< uint32_t >& getQuestRedoIncompChapterIdList() +{ + if( m_QuestRedoIncompChapterIdList.size() == 0 ) + loadIdList( m_QuestRedoIncompChapterDat, m_QuestRedoIncompChapterIdList ); + return m_QuestRedoIncompChapterIdList; +} const std::set< uint32_t >& getQuestRepeatFlagIdList() { if( m_QuestRepeatFlagIdList.size() == 0 ) @@ -10384,6 +12094,12 @@ const std::set< uint32_t >& getTreasureHuntRankIdList() loadIdList( m_TreasureHuntRankDat, m_TreasureHuntRankIdList ); return m_TreasureHuntRankIdList; } +const std::set< uint32_t >& getTreasureModelIdList() +{ + if( m_TreasureModelIdList.size() == 0 ) + loadIdList( m_TreasureModelDat, m_TreasureModelIdList ); + return m_TreasureModelIdList; +} const std::set< uint32_t >& getTreasureSpotIdList() { if( m_TreasureSpotIdList.size() == 0 ) @@ -10498,6 +12214,12 @@ const std::set< uint32_t >& getWarpLogicIdList() loadIdList( m_WarpLogicDat, m_WarpLogicIdList ); return m_WarpLogicIdList; } +const std::set< uint32_t >& getWeaponTimelineIdList() +{ + if( m_WeaponTimelineIdList.size() == 0 ) + loadIdList( m_WeaponTimelineDat, m_WeaponTimelineIdList ); + return m_WeaponTimelineIdList; +} const std::set< uint32_t >& getWeatherIdList() { if( m_WeatherIdList.size() == 0 ) diff --git a/src/scripts/common/warptaxi/WarpTaxi.cpp b/src/scripts/common/warptaxi/WarpTaxi.cpp index fe442249..dbf3b58d 100644 --- a/src/scripts/common/warptaxi/WarpTaxi.cpp +++ b/src/scripts/common/warptaxi/WarpTaxi.cpp @@ -41,7 +41,7 @@ public: auto playerMgr = framework()->get< Sapphire::World::Manager::PlayerMgr >(); - auto pPop = pPopRange->getPopRange( warp->level, warp->level ); + auto pPop = pPopRange->getPopRange( warp->territoryType, warp->popRange ); if( !pPop ) { @@ -52,7 +52,7 @@ public: std::cout << "found!!"; } - playerMgr->movePlayerToLandDestination( player, warp->level, result.param3 ); + playerMgr->movePlayerToLandDestination( player, warp->popRange, result.param3 ); } else { diff --git a/src/world/Actor/BNpc.cpp b/src/world/Actor/BNpc.cpp index b24d1053..ca7e9a80 100644 --- a/src/world/Actor/BNpc.cpp +++ b/src/world/Actor/BNpc.cpp @@ -112,7 +112,7 @@ Sapphire::Entity::BNpc::BNpc( uint32_t id, BNpcTemplatePtr pTemplate, float posX { auto modelSkeleton = exdData->get< Data::ModelSkeleton >( modelChara->model ); if( modelSkeleton ) - m_radius *= modelSkeleton->scaleFactor; + m_radius *= modelSkeleton->radius; } // todo: is this actually good? diff --git a/src/world/Manager/EventMgr.cpp b/src/world/Manager/EventMgr.cpp index 58c6f909..6794325b 100644 --- a/src/world/Manager/EventMgr.cpp +++ b/src/world/Manager/EventMgr.cpp @@ -61,12 +61,8 @@ std::string Sapphire::World::Manager::EventMgr::getEventName( uint32_t eventId ) } case Event::EventHandler::EventHandlerType::ICDirector: { - auto contentInfo = pExdData->get< Sapphire::Data::InstanceContent >( eventId & 0xFFFF ); - std::string name = contentInfo->name; - std::string remove( ",★_ '()[]-\x1a\x1\x2\x1f\x1\x3.:" ); - Util::eraseAllIn( name, remove ); - name[ 0 ] = toupper( name[ 0 ] ); - return name; + // auto contentInfo = pExdData->get< Sapphire::Data::InstanceContent >( eventId & 0xFFFF ); + return "InstanceContentDirector#" + std::to_string( eventId & 0xFFFF ); } case Event::EventHandler::EventHandlerType::QuestBattleDirector: { diff --git a/src/world/Manager/TerritoryMgr.cpp b/src/world/Manager/TerritoryMgr.cpp index c649964e..916f94a6 100644 --- a/src/world/Manager/TerritoryMgr.cpp +++ b/src/world/Manager/TerritoryMgr.cpp @@ -348,10 +348,10 @@ Sapphire::TerritoryPtr Sapphire::World::Manager::TerritoryMgr::createInstanceCon if( !pTeri || pContentFinderCondition->name.empty() ) return nullptr; - Logger::debug( "Starting instance for InstanceContent id: {0} ({1})", instanceContentId, pInstanceContent->name ); + Logger::debug( "Starting instance for InstanceContent id: {0} ({1})", instanceContentId, pContentFinderCondition->name ); auto pZone = make_InstanceContent( pInstanceContent, pContentFinderCondition->territoryType, getNextInstanceId(), - pTeri->name, pContentFinderCondition->name, instanceContentId, framework() ); + pTeri->name, pContentFinderCondition->name, instanceContentId, framework() ); pZone->init(); m_instanceContentIdToInstanceMap[ instanceContentId ][ pZone->getGuId() ] = pZone;