From e2220b0685d5db35322a3812d6e2732a1f6f6ea8 Mon Sep 17 00:00:00 2001 From: Mordred Date: Fri, 23 Nov 2018 21:16:02 +0100 Subject: [PATCH] Fixed exd to work with generated data, also fixed generator ( boost leftovers ) --- src/common/Exd/ExdDataGenerated.cpp | 633 ++++++- src/common/Exd/ExdDataGenerated.h | 1538 +++++++++++------ src/servers/Scripts/common/WarpTaxi.cpp | 5 +- .../Network/Handlers/CFHandlers.cpp | 2 +- src/servers/sapphire_zone/Zone/Land.cpp | 14 +- .../sapphire_zone/Zone/TerritoryMgr.cpp | 2 +- src/tools/exd_struct_gen/ExdData.cpp.tmpl | 4 +- src/tools/exd_struct_gen/ExdData.h.tmpl | 8 +- src/tools/exd_struct_gen/main.cpp | 4 +- 9 files changed, 1620 insertions(+), 590 deletions(-) diff --git a/src/common/Exd/ExdDataGenerated.cpp b/src/common/Exd/ExdDataGenerated.cpp index aafcb458..d6585c1a 100644 --- a/src/common/Exd/ExdDataGenerated.cpp +++ b/src/common/Exd/ExdDataGenerated.cpp @@ -1,10 +1,6 @@ #include "ExdDataGenerated.h" #include -#include - - - Core::Data::Achievement::Achievement( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_AchievementDat.get_row( row_id ); @@ -26,6 +22,7 @@ Core::Data::Achievement::Achievement( uint32_t row_id, Core::Data::ExdDataGenera 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 ); + initialHide = exdData->getField< bool >( row, 20 ); } Core::Data::AchievementCategory::AchievementCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) @@ -33,6 +30,7 @@ Core::Data::AchievementCategory::AchievementCategory( uint32_t row_id, Core::Dat auto row = exdData->m_AchievementCategoryDat.get_row( row_id ); name = exdData->getField< std::string >( row, 0 ); achievementKind = exdData->getField< uint8_t >( row, 1 ); + hideCategory = exdData->getField< bool >( row, 3 ); } Core::Data::AchievementKind::AchievementKind( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) @@ -199,9 +197,9 @@ Core::Data::Addon::Addon( uint32_t row_id, Core::Data::ExdDataGenerated* exdData Core::Data::AddonHud::AddonHud( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_AddonHudDat.get_row( row_id ); - longs = exdData->getField< std::string >( row, 0 ); - shorts = exdData->getField< std::string >( row, 1 ); - function = exdData->getField< std::string >( row, 2 ); + _long = exdData->getField< std::string >( row, 0 ); + _short = exdData->getField< std::string >( row, 1 ); + _function = exdData->getField< std::string >( row, 2 ); } Core::Data::Adventure::Adventure( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) @@ -268,6 +266,13 @@ Core::Data::AetherialWheel::AetherialWheel( uint32_t row_id, Core::Data::ExdData Core::Data::Aetheryte::Aetheryte( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_AetheryteDat.get_row( row_id ); + singular = exdData->getField< std::string >( row, 0 ); + adjective = exdData->getField< int8_t >( row, 1 ); + plural = exdData->getField< std::string >( row, 2 ); + possessivePronoun = exdData->getField< int8_t >( row, 3 ); + startsWithVowel = exdData->getField< int8_t >( row, 4 ); + pronoun = exdData->getField< int8_t >( row, 6 ); + article = exdData->getField< int8_t >( row, 7 ); placeName = exdData->getField< uint16_t >( row, 8 ); aethernetName = exdData->getField< uint16_t >( row, 9 ); territory = exdData->getField< uint16_t >( row, 10 ); @@ -357,9 +362,9 @@ Core::Data::AnimaWeapon5PatternGroup::AnimaWeapon5PatternGroup( uint32_t row_id, name = exdData->getField< std::string >( row, 0 ); } -Core::Data::AnimaWeapon5SpiritTalk::AnimaWeapon5SpiritTalk( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +Core::Data::AnimaWeapon5SpiritTalk::AnimaWeapon5SpiritTalk( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AnimaWeapon5SpiritTalkDat.get_row( row_id ); + auto row = exdData->m_AnimaWeapon5SpiritTalkDat.get_row( row_id, subRow ); dialogue = exdData->getField< int32_t >( row, 0 ); } @@ -378,9 +383,9 @@ Core::Data::AnimaWeapon5TradeItem::AnimaWeapon5TradeItem( uint32_t row_id, Core: category = exdData->getField< uint8_t >( row, 27 ); } -Core::Data::AnimaWeaponFUITalk::AnimaWeaponFUITalk( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +Core::Data::AnimaWeaponFUITalk::AnimaWeaponFUITalk( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AnimaWeaponFUITalkDat.get_row( row_id ); + auto row = exdData->m_AnimaWeaponFUITalkDat.get_row( row_id, subRow ); dialogue = exdData->getField< int32_t >( row, 0 ); } @@ -476,6 +481,7 @@ Core::Data::Balloon::Balloon( uint32_t row_id, Core::Data::ExdDataGenerated* exd Core::Data::BaseParam::BaseParam( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_BaseParamDat.get_row( row_id ); + order = exdData->getField< int8_t >( row, 0 ); name = exdData->getField< std::string >( row, 1 ); description = exdData->getField< std::string >( row, 2 ); oneHWpn = exdData->getField< uint8_t >( row, 4 ); @@ -582,9 +588,9 @@ Core::Data::BeastTribe::BeastTribe( uint32_t row_id, Core::Data::ExdDataGenerate nameRelation = exdData->getField< std::string >( row, 18 ); } -Core::Data::Behavior::Behavior( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +Core::Data::Behavior::Behavior( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_BehaviorDat.get_row( row_id ); + auto row = exdData->m_BehaviorDat.get_row( row_id, subRow ); balloon = exdData->getField< uint16_t >( row, 6 ); } @@ -609,9 +615,9 @@ Core::Data::BGMSituation::BGMSituation( uint32_t row_id, Core::Data::ExdDataGene bGMField = exdData->getField< uint16_t >( row, 3 ); } -Core::Data::BGMSwitch::BGMSwitch( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +Core::Data::BGMSwitch::BGMSwitch( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_BGMSwitchDat.get_row( row_id ); + auto row = exdData->m_BGMSwitchDat.get_row( row_id, subRow ); bGMSystemDefine = exdData->getField< uint8_t >( row, 0 ); quest = exdData->getField< uint32_t >( row, 1 ); } @@ -676,8 +682,12 @@ Core::Data::BNpcName::BNpcName( uint32_t row_id, Core::Data::ExdDataGenerated* e { auto row = exdData->m_BNpcNameDat.get_row( row_id ); singular = exdData->getField< std::string >( row, 0 ); + adjective = exdData->getField< int8_t >( row, 1 ); plural = exdData->getField< std::string >( row, 2 ); + possessivePronoun = exdData->getField< int8_t >( row, 3 ); startsWithVowel = exdData->getField< int8_t >( row, 4 ); + pronoun = exdData->getField< int8_t >( row, 6 ); + article = exdData->getField< int8_t >( row, 7 ); } Core::Data::BNpcParts::BNpcParts( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) @@ -739,9 +749,12 @@ Core::Data::BuddyEquip::BuddyEquip( uint32_t row_id, Core::Data::ExdDataGenerate { auto row = exdData->m_BuddyEquipDat.get_row( row_id ); singular = exdData->getField< std::string >( row, 0 ); + adjective = exdData->getField< int8_t >( row, 1 ); plural = exdData->getField< std::string >( row, 2 ); + possessivePronoun = exdData->getField< int8_t >( row, 3 ); startsWithVowel = exdData->getField< int8_t >( row, 4 ); - rarity = exdData->getField< int8_t >( row, 5 ); + pronoun = exdData->getField< int8_t >( row, 6 ); + article = exdData->getField< int8_t >( row, 7 ); name = exdData->getField< std::string >( row, 8 ); modelTop = exdData->getField< int32_t >( row, 9 ); modelBody = exdData->getField< int32_t >( row, 10 ); @@ -1077,9 +1090,13 @@ Core::Data::Companion::Companion( uint32_t row_id, Core::Data::ExdDataGenerated* { auto row = exdData->m_CompanionDat.get_row( row_id ); singular = exdData->getField< std::string >( row, 0 ); + adjective = exdData->getField< int8_t >( row, 1 ); plural = exdData->getField< std::string >( row, 2 ); + possessivePronoun = exdData->getField< int8_t >( row, 3 ); startsWithVowel = exdData->getField< int8_t >( row, 4 ); - rarity = exdData->getField< int8_t >( row, 5 ); + pronoun = exdData->getField< int8_t >( row, 6 ); + article = exdData->getField< int8_t >( row, 7 ); + model = exdData->getField< uint16_t >( row, 8 ); behavior = exdData->getField< uint8_t >( row, 14 ); icon = exdData->getField< uint16_t >( row, 26 ); cost = exdData->getField< uint8_t >( row, 30 ); @@ -1247,7 +1264,7 @@ Core::Data::ContentFinderCondition::ContentFinderCondition( uint32_t row_id, Cor auto row = exdData->m_ContentFinderConditionDat.get_row( row_id ); territoryType = exdData->getField< uint16_t >( row, 1 ); contentLinkType = exdData->getField< uint8_t >( row, 2 ); - instanceContent = exdData->getField< uint16_t >( row, 3 ); + content = exdData->getField< uint16_t >( row, 3 ); contentMemberType = exdData->getField< uint8_t >( row, 9 ); classJobLevelRequired = exdData->getField< uint8_t >( row, 15 ); classJobLevelSync = exdData->getField< uint8_t >( row, 16 ); @@ -1255,6 +1272,7 @@ Core::Data::ContentFinderCondition::ContentFinderCondition( uint32_t row_id, Cor itemLevelSync = exdData->getField< uint16_t >( row, 18 ); allowReplacement = exdData->getField< bool >( row, 20 ); highEndDuty = exdData->getField< bool >( row, 26 ); + dutyRecorderAllowed = exdData->getField< bool >( row, 30 ); name = exdData->getField< std::string >( row, 32 ); contentType = exdData->getField< uint8_t >( row, 33 ); transient = exdData->getField< uint8_t >( row, 34 ); @@ -1415,9 +1433,9 @@ Core::Data::CraftType::CraftType( uint32_t row_id, Core::Data::ExdDataGenerated* name = exdData->getField< std::string >( row, 2 ); } -Core::Data::Credit::Credit( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +Core::Data::Credit::Credit( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CreditDat.get_row( row_id ); + auto row = exdData->m_CreditDat.get_row( row_id, subRow ); roles1 = exdData->getField< uint16_t >( row, 1 ); japaneseCast1 = exdData->getField< uint16_t >( row, 2 ); englishCast1 = exdData->getField< uint16_t >( row, 3 ); @@ -1556,9 +1574,12 @@ Core::Data::DeepDungeonEquipment::DeepDungeonEquipment( uint32_t row_id, Core::D auto row = exdData->m_DeepDungeonEquipmentDat.get_row( row_id ); icon = exdData->getField< uint32_t >( row, 0 ); singular = exdData->getField< std::string >( row, 1 ); + adjective = exdData->getField< int8_t >( row, 2 ); plural = exdData->getField< std::string >( row, 3 ); + possessivePronoun = exdData->getField< int8_t >( row, 4 ); startsWithVowel = exdData->getField< int8_t >( row, 5 ); - rarity = exdData->getField< int8_t >( row, 6 ); + pronoun = exdData->getField< int8_t >( row, 7 ); + article = exdData->getField< int8_t >( row, 8 ); name = exdData->getField< std::string >( row, 9 ); description = exdData->getField< std::string >( row, 10 ); } @@ -1576,9 +1597,12 @@ Core::Data::DeepDungeonItem::DeepDungeonItem( uint32_t row_id, Core::Data::ExdDa auto row = exdData->m_DeepDungeonItemDat.get_row( row_id ); icon = exdData->getField< uint32_t >( row, 0 ); singular = exdData->getField< std::string >( row, 1 ); + adjective = exdData->getField< int8_t >( row, 2 ); plural = exdData->getField< std::string >( row, 3 ); + possessivePronoun = exdData->getField< int8_t >( row, 4 ); startsWithVowel = exdData->getField< int8_t >( row, 5 ); - rarity = exdData->getField< int8_t >( row, 6 ); + pronoun = exdData->getField< int8_t >( row, 7 ); + article = exdData->getField< int8_t >( row, 8 ); name = exdData->getField< std::string >( row, 9 ); tooltip = exdData->getField< std::string >( row, 10 ); action = exdData->getField< uint32_t >( row, 11 ); @@ -1595,16 +1619,19 @@ Core::Data::DeepDungeonMagicStone::DeepDungeonMagicStone( uint32_t row_id, Core: auto row = exdData->m_DeepDungeonMagicStoneDat.get_row( row_id ); icon = exdData->getField< uint32_t >( row, 0 ); singular = exdData->getField< std::string >( row, 1 ); + adjective = exdData->getField< int8_t >( row, 2 ); plural = exdData->getField< std::string >( row, 3 ); + possessivePronoun = exdData->getField< int8_t >( row, 4 ); startsWithVowel = exdData->getField< int8_t >( row, 5 ); - rarity = exdData->getField< int8_t >( row, 6 ); + pronoun = exdData->getField< int8_t >( row, 7 ); + article = exdData->getField< int8_t >( row, 8 ); name = exdData->getField< std::string >( row, 9 ); tooltip = exdData->getField< std::string >( row, 10 ); } -Core::Data::DeepDungeonMap5X::DeepDungeonMap5X( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +Core::Data::DeepDungeonMap5X::DeepDungeonMap5X( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_DeepDungeonMap5XDat.get_row( row_id ); + auto row = exdData->m_DeepDungeonMap5XDat.get_row( row_id, subRow ); deepDungeonRoom.push_back( exdData->getField< uint16_t >( row, 0 ) ); deepDungeonRoom.push_back( exdData->getField< uint16_t >( row, 1 ) ); deepDungeonRoom.push_back( exdData->getField< uint16_t >( row, 2 ) ); @@ -1665,9 +1692,9 @@ Core::Data::DisposalShopFilterType::DisposalShopFilterType( uint32_t row_id, Cor category = exdData->getField< std::string >( row, 0 ); } -Core::Data::DisposalShopItem::DisposalShopItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +Core::Data::DisposalShopItem::DisposalShopItem( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_DisposalShopItemDat.get_row( row_id ); + auto row = exdData->m_DisposalShopItemDat.get_row( row_id, subRow ); itemDisposed = exdData->getField< int32_t >( row, 0 ); itemReceived = exdData->getField< int32_t >( row, 2 ); quantityReceived = exdData->getField< uint32_t >( row, 4 ); @@ -1844,7 +1871,12 @@ Core::Data::ENpcResident::ENpcResident( uint32_t row_id, Core::Data::ExdDataGene { auto row = exdData->m_ENpcResidentDat.get_row( row_id ); singular = exdData->getField< std::string >( row, 0 ); + adjective = exdData->getField< int8_t >( row, 1 ); plural = exdData->getField< std::string >( row, 2 ); + possessivePronoun = exdData->getField< int8_t >( row, 3 ); + startsWithVowel = exdData->getField< int8_t >( row, 4 ); + pronoun = exdData->getField< int8_t >( row, 6 ); + article = exdData->getField< int8_t >( row, 7 ); title = exdData->getField< std::string >( row, 8 ); map = exdData->getField< uint8_t >( row, 9 ); } @@ -1860,6 +1892,12 @@ Core::Data::EObjName::EObjName( uint32_t row_id, Core::Data::ExdDataGenerated* e { auto row = exdData->m_EObjNameDat.get_row( row_id ); singular = exdData->getField< std::string >( row, 0 ); + adjective = exdData->getField< int8_t >( row, 1 ); + plural = exdData->getField< std::string >( row, 2 ); + possessivePronoun = exdData->getField< int8_t >( row, 3 ); + startsWithVowel = exdData->getField< int8_t >( row, 4 ); + pronoun = exdData->getField< int8_t >( row, 6 ); + article = exdData->getField< int8_t >( row, 7 ); } Core::Data::EquipRaceCategory::EquipRaceCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) @@ -1894,6 +1932,19 @@ Core::Data::EquipSlotCategory::EquipSlotCategory( uint32_t row_id, Core::Data::E soulCrystal = exdData->getField< int8_t >( row, 13 ); } +Core::Data::EurekaAetherItem::EurekaAetherItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_EurekaAetherItemDat.get_row( row_id ); + singular = exdData->getField< std::string >( row, 0 ); + adjective = exdData->getField< int8_t >( row, 1 ); + plural = exdData->getField< std::string >( row, 2 ); + possessivePronoun = exdData->getField< int8_t >( row, 3 ); + startsWithVowel = exdData->getField< int8_t >( row, 4 ); + pronoun = exdData->getField< int8_t >( row, 6 ); + article = exdData->getField< int8_t >( row, 7 ); + name = exdData->getField< std::string >( row, 8 ); +} + Core::Data::EurekaAethernet::EurekaAethernet( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_EurekaAethernetDat.get_row( row_id ); @@ -1906,6 +1957,33 @@ Core::Data::EurekaGrowData::EurekaGrowData( uint32_t row_id, Core::Data::ExdData baseResistance = exdData->getField< uint16_t >( row, 0 ); } +Core::Data::EurekaLogosMixerProbability::EurekaLogosMixerProbability( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_EurekaLogosMixerProbabilityDat.get_row( row_id ); + probability = exdData->getField< uint8_t >( row, 0 ); +} + +Core::Data::EurekaMagiaAction::EurekaMagiaAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_EurekaMagiaActionDat.get_row( row_id ); + action = exdData->getField< uint32_t >( row, 0 ); + maxUses = exdData->getField< uint8_t >( row, 1 ); +} + +Core::Data::EurekaMagiciteItem::EurekaMagiciteItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_EurekaMagiciteItemDat.get_row( row_id ); + eurekaMagiciteItemType = exdData->getField< uint8_t >( row, 0 ); + classJobCategory = exdData->getField< uint8_t >( row, 1 ); + item = exdData->getField< uint32_t >( row, 2 ); +} + +Core::Data::EurekaMagiciteItemType::EurekaMagiciteItemType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_EurekaMagiciteItemTypeDat.get_row( row_id ); + type = exdData->getField< std::string >( row, 0 ); +} + Core::Data::EurekaSphereElementAdjust::EurekaSphereElementAdjust( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_EurekaSphereElementAdjustDat.get_row( row_id ); @@ -1958,9 +2036,12 @@ Core::Data::EventItem::EventItem( uint32_t row_id, Core::Data::ExdDataGenerated* { auto row = exdData->m_EventItemDat.get_row( row_id ); singular = exdData->getField< std::string >( row, 0 ); + adjective = exdData->getField< int8_t >( row, 1 ); plural = exdData->getField< std::string >( row, 2 ); + possessivePronoun = exdData->getField< int8_t >( row, 3 ); startsWithVowel = exdData->getField< int8_t >( row, 4 ); - rarity = exdData->getField< int8_t >( row, 5 ); + pronoun = exdData->getField< int8_t >( row, 6 ); + article = exdData->getField< int8_t >( row, 7 ); name = exdData->getField< std::string >( row, 9 ); icon = exdData->getField< uint16_t >( row, 10 ); action = exdData->getField< uint16_t >( row, 11 ); @@ -2010,6 +2091,7 @@ Core::Data::Fate::Fate( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) iconObjective = exdData->getField< uint32_t >( row, 10 ); iconMap = exdData->getField< uint32_t >( row, 11 ); music = exdData->getField< int32_t >( row, 13 ); + hasWorldMapIcon = exdData->getField< bool >( row, 19 ); name = exdData->getField< std::string >( row, 27 ); description = exdData->getField< std::string >( row, 28 ); objective = exdData->getField< std::string >( row, 29 ); @@ -2086,6 +2168,12 @@ Core::Data::FCRights::FCRights( uint32_t row_id, Core::Data::ExdDataGenerated* e fCRank = exdData->getField< uint8_t >( row, 3 ); } +Core::Data::Festival::Festival( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_FestivalDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); +} + Core::Data::FieldMarker::FieldMarker( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_FieldMarkerDat.get_row( row_id ); @@ -2093,6 +2181,12 @@ Core::Data::FieldMarker::FieldMarker( uint32_t row_id, Core::Data::ExdDataGenera icon = exdData->getField< uint16_t >( row, 1 ); } +Core::Data::FishingRecordType::FishingRecordType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_FishingRecordTypeDat.get_row( row_id ); + addon = exdData->getField< int32_t >( row, 0 ); +} + Core::Data::FishingRecordTypeTransient::FishingRecordTypeTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_FishingRecordTypeTransientDat.get_row( row_id ); @@ -2129,8 +2223,12 @@ Core::Data::FishParameter::FishParameter( uint32_t row_id, Core::Data::ExdDataGe 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 ); - isFish = exdData->getField< bool >( row, 7 ); + isInLog = exdData->getField< bool >( row, 7 ); + timeRestricted = exdData->getField< bool >( row, 8 ); + weatherRestricted = exdData->getField< bool >( row, 9 ); gatheringSubCategory = exdData->getField< uint16_t >( row, 10 ); } @@ -2220,9 +2318,9 @@ Core::Data::GatheringItemLevelConvertTable::GatheringItemLevelConvertTable( uint stars = exdData->getField< uint8_t >( row, 1 ); } -Core::Data::GatheringItemPoint::GatheringItemPoint( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +Core::Data::GatheringItemPoint::GatheringItemPoint( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GatheringItemPointDat.get_row( row_id ); + auto row = exdData->m_GatheringItemPointDat.get_row( row_id, subRow ); gatheringPoint = exdData->getField< uint32_t >( row, 0 ); } @@ -2390,8 +2488,12 @@ Core::Data::GatheringPointName::GatheringPointName( uint32_t row_id, Core::Data: { auto row = exdData->m_GatheringPointNameDat.get_row( row_id ); singular = exdData->getField< std::string >( row, 0 ); + adjective = exdData->getField< int8_t >( row, 1 ); plural = exdData->getField< std::string >( row, 2 ); + possessivePronoun = exdData->getField< int8_t >( row, 3 ); startsWithVowel = exdData->getField< int8_t >( row, 4 ); + pronoun = exdData->getField< int8_t >( row, 6 ); + article = exdData->getField< int8_t >( row, 7 ); } Core::Data::GatheringSubCategory::GatheringSubCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) @@ -2468,48 +2570,78 @@ Core::Data::GcArmyTraining::GcArmyTraining( uint32_t row_id, Core::Data::ExdData Core::Data::GCRankGridaniaFemaleText::GCRankGridaniaFemaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_GCRankGridaniaFemaleTextDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + singular = exdData->getField< std::string >( row, 0 ); + adjective = exdData->getField< int8_t >( row, 1 ); plural = exdData->getField< std::string >( row, 2 ); + possessivePronoun = exdData->getField< int8_t >( row, 3 ); + startsWithVowel = exdData->getField< int8_t >( row, 4 ); + pronoun = exdData->getField< int8_t >( row, 6 ); + article = exdData->getField< int8_t >( row, 7 ); nameRank = exdData->getField< std::string >( row, 8 ); } Core::Data::GCRankGridaniaMaleText::GCRankGridaniaMaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_GCRankGridaniaMaleTextDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + singular = exdData->getField< std::string >( row, 0 ); + adjective = exdData->getField< int8_t >( row, 1 ); plural = exdData->getField< std::string >( row, 2 ); + possessivePronoun = exdData->getField< int8_t >( row, 3 ); + startsWithVowel = exdData->getField< int8_t >( row, 4 ); + pronoun = exdData->getField< int8_t >( row, 6 ); + article = exdData->getField< int8_t >( row, 7 ); nameRank = exdData->getField< std::string >( row, 8 ); } Core::Data::GCRankLimsaFemaleText::GCRankLimsaFemaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_GCRankLimsaFemaleTextDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + singular = exdData->getField< std::string >( row, 0 ); + adjective = exdData->getField< int8_t >( row, 1 ); plural = exdData->getField< std::string >( row, 2 ); + possessivePronoun = exdData->getField< int8_t >( row, 3 ); + startsWithVowel = exdData->getField< int8_t >( row, 4 ); + pronoun = exdData->getField< int8_t >( row, 6 ); + article = exdData->getField< int8_t >( row, 7 ); nameRank = exdData->getField< std::string >( row, 8 ); } Core::Data::GCRankLimsaMaleText::GCRankLimsaMaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_GCRankLimsaMaleTextDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + singular = exdData->getField< std::string >( row, 0 ); + adjective = exdData->getField< int8_t >( row, 1 ); plural = exdData->getField< std::string >( row, 2 ); + possessivePronoun = exdData->getField< int8_t >( row, 3 ); + startsWithVowel = exdData->getField< int8_t >( row, 4 ); + pronoun = exdData->getField< int8_t >( row, 6 ); + article = exdData->getField< int8_t >( row, 7 ); nameRank = exdData->getField< std::string >( row, 8 ); } Core::Data::GCRankUldahFemaleText::GCRankUldahFemaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_GCRankUldahFemaleTextDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + singular = exdData->getField< std::string >( row, 0 ); + adjective = exdData->getField< int8_t >( row, 1 ); plural = exdData->getField< std::string >( row, 2 ); + possessivePronoun = exdData->getField< int8_t >( row, 3 ); + startsWithVowel = exdData->getField< int8_t >( row, 4 ); + pronoun = exdData->getField< int8_t >( row, 6 ); + article = exdData->getField< int8_t >( row, 7 ); nameRank = exdData->getField< std::string >( row, 8 ); } Core::Data::GCRankUldahMaleText::GCRankUldahMaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_GCRankUldahMaleTextDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + singular = exdData->getField< std::string >( row, 0 ); + adjective = exdData->getField< int8_t >( row, 1 ); plural = exdData->getField< std::string >( row, 2 ); + possessivePronoun = exdData->getField< int8_t >( row, 3 ); + startsWithVowel = exdData->getField< int8_t >( row, 4 ); + pronoun = exdData->getField< int8_t >( row, 6 ); + article = exdData->getField< int8_t >( row, 7 ); nameRank = exdData->getField< std::string >( row, 8 ); } @@ -2521,9 +2653,9 @@ Core::Data::GCScripShopCategory::GCScripShopCategory( uint32_t row_id, Core::Dat subCategory = exdData->getField< int8_t >( row, 2 ); } -Core::Data::GCScripShopItem::GCScripShopItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +Core::Data::GCScripShopItem::GCScripShopItem( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GCScripShopItemDat.get_row( row_id ); + auto row = exdData->m_GCScripShopItemDat.get_row( row_id, subRow ); item = exdData->getField< int32_t >( row, 0 ); requiredGrandCompanyRank = exdData->getField< int32_t >( row, 1 ); costGCSeals = exdData->getField< uint32_t >( row, 2 ); @@ -2588,6 +2720,24 @@ Core::Data::GFATE::GFATE( uint32_t row_id, Core::Data::ExdDataGenerated* exdData icon.push_back( exdData->getField< uint32_t >( row, 37 ) ); } +Core::Data::GFateClimbing2::GFateClimbing2( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_GFateClimbing2Dat.get_row( row_id ); + contentEntry = exdData->getField< uint32_t >( row, 0 ); +} + +Core::Data::GFateClimbing2Content::GFateClimbing2Content( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_GFateClimbing2ContentDat.get_row( row_id ); + publicContentTextData = exdData->getField< uint32_t >( row, 0 ); +} + +Core::Data::GFateClimbing2TotemType::GFateClimbing2TotemType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_GFateClimbing2TotemTypeDat.get_row( row_id ); + publicContentTextData = exdData->getField< uint32_t >( row, 0 ); +} + Core::Data::GilShop::GilShop( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_GilShopDat.get_row( row_id ); @@ -2601,9 +2751,9 @@ Core::Data::GilShop::GilShop( uint32_t row_id, Core::Data::ExdDataGenerated* exd failTalk = exdData->getField< int32_t >( row, 7 ); } -Core::Data::GilShopItem::GilShopItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +Core::Data::GilShopItem::GilShopItem( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GilShopItemDat.get_row( row_id ); + auto row = exdData->m_GilShopItemDat.get_row( row_id, subRow ); item = exdData->getField< int32_t >( row, 0 ); rowRequired.push_back( exdData->getField< int32_t >( row, 3 ) ); rowRequired.push_back( exdData->getField< int32_t >( row, 4 ) ); @@ -2711,9 +2861,17 @@ Core::Data::HousingAethernet::HousingAethernet( uint32_t row_id, Core::Data::Exd order = exdData->getField< uint8_t >( row, 3 ); } -Core::Data::HousingEmploymentNpcList::HousingEmploymentNpcList( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +Core::Data::HousingAppeal::HousingAppeal( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_HousingEmploymentNpcListDat.get_row( row_id ); + auto row = exdData->m_HousingAppealDat.get_row( row_id ); + tag = exdData->getField< std::string >( row, 0 ); + icon = exdData->getField< uint32_t >( row, 1 ); + order = exdData->getField< uint8_t >( row, 2 ); +} + +Core::Data::HousingEmploymentNpcList::HousingEmploymentNpcList( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HousingEmploymentNpcListDat.get_row( row_id, subRow ); race = exdData->getField< uint8_t >( row, 0 ); eNpcBase.push_back( exdData->getField< uint32_t >( row, 1 ) ); eNpcBase.push_back( exdData->getField< uint32_t >( row, 2 ) ); @@ -2725,6 +2883,14 @@ Core::Data::HousingEmploymentNpcRace::HousingEmploymentNpcRace( uint32_t row_id, race = exdData->getField< std::string >( row, 0 ); } +Core::Data::HousingExterior::HousingExterior( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HousingExteriorDat.get_row( row_id ); + placeName = exdData->getField< uint16_t >( row, 2 ); + housingSize = exdData->getField< uint8_t >( row, 3 ); + model = exdData->getField< std::string >( row, 4 ); +} + Core::Data::HousingFurniture::HousingFurniture( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_HousingFurnitureDat.get_row( row_id ); @@ -2733,23 +2899,151 @@ Core::Data::HousingFurniture::HousingFurniture( uint32_t row_id, Core::Data::Exd usageType = exdData->getField< uint8_t >( row, 2 ); usageParameter = exdData->getField< uint32_t >( row, 3 ); housingLayoutLimit = exdData->getField< uint8_t >( row, 4 ); - customTalk = exdData->getField< uint8_t >( row, 5 ); - event = exdData->getField< uint32_t >( row, 6 ); + aquariumTier = exdData->getField< uint8_t >( row, 5 ); + customTalk = exdData->getField< uint32_t >( row, 6 ); item = exdData->getField< uint32_t >( row, 7 ); destroyOnRemoval = exdData->getField< bool >( row, 8 ); tooltip = exdData->getField< bool >( row, 9 ); } +Core::Data::HousingMapMarkerInfo::HousingMapMarkerInfo( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HousingMapMarkerInfoDat.get_row( row_id, subRow ); + map = exdData->getField< uint16_t >( row, 4 ); +} + +Core::Data::HousingMerchantPose::HousingMerchantPose( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HousingMerchantPoseDat.get_row( row_id ); + actionTimeline = exdData->getField< uint16_t >( row, 0 ); + pose = exdData->getField< std::string >( row, 1 ); +} + Core::Data::HousingLandSet::HousingLandSet( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_HousingLandSetDat.get_row( row_id ); - for ( int i = 0; i < 60; i++ ) - sizes.push_back( exdData->getField< uint8_t >( row, i ) ); - for ( int i = 60; i < 60 + 60; i++ ) - minPrices.push_back( exdData->getField< uint32_t >( row, i ) ); - for ( int i = 300; i < 300 + 60; i++ ) - prices.push_back( exdData->getField< uint32_t >( row, i ) ); - + auto row = exdData->m_HousingLandSetDat.get_row( row_id ); + plotSize.push_back( exdData->getField< uint8_t >( row, 0 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 1 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 2 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 3 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 4 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 5 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 6 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 7 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 8 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 9 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 10 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 11 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 12 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 13 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 14 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 15 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 16 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 17 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 18 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 19 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 20 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 21 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 22 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 23 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 24 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 25 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 26 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 27 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 28 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 29 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 30 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 31 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 32 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 33 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 34 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 35 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 36 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 37 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 38 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 39 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 40 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 41 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 42 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 43 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 44 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 45 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 46 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 47 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 48 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 49 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 50 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 51 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 52 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 53 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 54 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 55 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 56 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 57 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 58 ) ); + plotSize.push_back( exdData->getField< uint8_t >( row, 59 ) ); + for ( int i = 60; i < 60 + 60; i++ ) + minPrice.push_back( exdData->getField< uint32_t >( row, i ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 300 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 301 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 302 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 303 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 304 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 305 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 306 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 307 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 308 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 309 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 310 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 311 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 312 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 313 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 314 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 315 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 316 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 317 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 318 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 319 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 320 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 321 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 322 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 323 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 324 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 325 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 326 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 327 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 328 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 329 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 330 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 331 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 332 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 333 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 334 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 335 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 336 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 337 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 338 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 339 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 340 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 341 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 342 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 343 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 344 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 345 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 346 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 347 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 348 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 349 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 350 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 351 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 352 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 353 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 354 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 355 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 356 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 357 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 358 ) ); + initialPrice.push_back( exdData->getField< uint32_t >( row, 359 ) ); } Core::Data::HousingPlacement::HousingPlacement( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) @@ -2762,7 +3056,14 @@ Core::Data::HousingPreset::HousingPreset( uint32_t row_id, Core::Data::ExdDataGe { auto row = exdData->m_HousingPresetDat.get_row( row_id ); singular = exdData->getField< std::string >( row, 0 ); + adjective = exdData->getField< int8_t >( row, 1 ); plural = exdData->getField< std::string >( row, 2 ); + possessivePronoun = exdData->getField< int8_t >( row, 3 ); + startsWithVowel = exdData->getField< int8_t >( row, 4 ); + pronoun = exdData->getField< int8_t >( row, 6 ); + article = exdData->getField< int8_t >( row, 7 ); + placeName = exdData->getField< uint16_t >( row, 8 ); + housingSize = exdData->getField< uint8_t >( row, 9 ); exteriorRoof = exdData->getField< int32_t >( row, 10 ); exteriorWall = exdData->getField< int32_t >( row, 11 ); exteriorWindow = exdData->getField< int32_t >( row, 12 ); @@ -2779,6 +3080,19 @@ Core::Data::HousingPreset::HousingPreset( uint32_t row_id, Core::Data::ExdDataGe mansionLighting = exdData->getField< int32_t >( row, 23 ); } +Core::Data::HousingUnitedExterior::HousingUnitedExterior( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HousingUnitedExteriorDat.get_row( row_id ); + item.push_back( exdData->getField< uint32_t >( row, 1 ) ); + item.push_back( exdData->getField< uint32_t >( row, 2 ) ); + item.push_back( exdData->getField< uint32_t >( row, 3 ) ); + item.push_back( exdData->getField< uint32_t >( row, 4 ) ); + item.push_back( exdData->getField< uint32_t >( row, 5 ) ); + item.push_back( exdData->getField< uint32_t >( row, 6 ) ); + item.push_back( exdData->getField< uint32_t >( row, 7 ) ); + item.push_back( exdData->getField< uint32_t >( row, 8 ) ); +} + Core::Data::HousingYardObject::HousingYardObject( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_HousingYardObjectDat.get_row( row_id ); @@ -2845,7 +3159,7 @@ Core::Data::InstanceContent::InstanceContent( uint32_t row_id, Core::Data::ExdDa finalBossCurrencyC = exdData->getField< uint16_t >( row, 25 ); instanceClearExp = exdData->getField< uint32_t >( row, 46 ); instanceContentBuff = exdData->getField< int32_t >( row, 51 ); - territoryType = exdData->getField< uint32_t >( row, 52 ); + reqInstance = exdData->getField< uint32_t >( row, 52 ); partyCondition = exdData->getField< uint8_t >( row, 55 ); } @@ -2866,8 +3180,12 @@ Core::Data::Item::Item( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_ItemDat.get_row( row_id ); singular = exdData->getField< std::string >( row, 0 ); + adjective = exdData->getField< int8_t >( row, 1 ); plural = exdData->getField< std::string >( row, 2 ); + possessivePronoun = exdData->getField< int8_t >( row, 3 ); startsWithVowel = exdData->getField< int8_t >( row, 4 ); + pronoun = exdData->getField< int8_t >( row, 6 ); + article = exdData->getField< int8_t >( row, 7 ); description = exdData->getField< std::string >( row, 8 ); name = exdData->getField< std::string >( row, 9 ); icon = exdData->getField< uint16_t >( row, 10 ); @@ -2950,6 +3268,84 @@ Core::Data::ItemFood::ItemFood( uint32_t row_id, Core::Data::ExdDataGenerated* e auto row = exdData->m_ItemFoodDat.get_row( row_id ); } +Core::Data::ItemLevel::ItemLevel( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_ItemLevelDat.get_row( row_id ); + strength = exdData->getField< uint16_t >( row, 0 ); + dexterity = exdData->getField< uint16_t >( row, 1 ); + vitality = exdData->getField< uint16_t >( row, 2 ); + intelligence = exdData->getField< uint16_t >( row, 3 ); + mind = exdData->getField< uint16_t >( row, 4 ); + piety = exdData->getField< uint16_t >( row, 5 ); + hP = exdData->getField< uint16_t >( row, 6 ); + mP = exdData->getField< uint16_t >( row, 7 ); + tP = exdData->getField< uint16_t >( row, 8 ); + gP = exdData->getField< uint16_t >( row, 9 ); + cP = exdData->getField< uint16_t >( row, 10 ); + physicalDamage = exdData->getField< uint16_t >( row, 11 ); + magicalDamage = exdData->getField< uint16_t >( row, 12 ); + delay = exdData->getField< uint16_t >( row, 13 ); + additionalEffect = exdData->getField< uint16_t >( row, 14 ); + attackSpeed = exdData->getField< uint16_t >( row, 15 ); + blockRate = exdData->getField< uint16_t >( row, 16 ); + blockStrength = exdData->getField< uint16_t >( row, 17 ); + tenacity = exdData->getField< uint16_t >( row, 18 ); + attackPower = exdData->getField< uint16_t >( row, 19 ); + defense = exdData->getField< uint16_t >( row, 20 ); + directHitRate = exdData->getField< uint16_t >( row, 21 ); + evasion = exdData->getField< uint16_t >( row, 22 ); + magicDefense = exdData->getField< uint16_t >( row, 23 ); + criticalHitPower = exdData->getField< uint16_t >( row, 24 ); + criticalHitResilience = exdData->getField< uint16_t >( row, 25 ); + criticalHit = exdData->getField< uint16_t >( row, 26 ); + criticalHitEvasion = exdData->getField< uint16_t >( row, 27 ); + slashingResistance = exdData->getField< uint16_t >( row, 28 ); + piercingResistance = exdData->getField< uint16_t >( row, 29 ); + bluntResistance = exdData->getField< uint16_t >( row, 30 ); + projectileResistance = exdData->getField< uint16_t >( row, 31 ); + attackMagicPotency = exdData->getField< uint16_t >( row, 32 ); + healingMagicPotency = exdData->getField< uint16_t >( row, 33 ); + enhancementMagicPotency = exdData->getField< uint16_t >( row, 34 ); + enfeeblingMagicPotency = exdData->getField< uint16_t >( row, 35 ); + fireResistance = exdData->getField< uint16_t >( row, 36 ); + iceResistance = exdData->getField< uint16_t >( row, 37 ); + windResistance = exdData->getField< uint16_t >( row, 38 ); + earthResistance = exdData->getField< uint16_t >( row, 39 ); + lightningResistance = exdData->getField< uint16_t >( row, 40 ); + waterResistance = exdData->getField< uint16_t >( row, 41 ); + magicResistance = exdData->getField< uint16_t >( row, 42 ); + determination = exdData->getField< uint16_t >( row, 43 ); + skillSpeed = exdData->getField< uint16_t >( row, 44 ); + spellSpeed = exdData->getField< uint16_t >( row, 45 ); + haste = exdData->getField< uint16_t >( row, 46 ); + morale = exdData->getField< uint16_t >( row, 47 ); + enmity = exdData->getField< uint16_t >( row, 48 ); + enmityReduction = exdData->getField< uint16_t >( row, 49 ); + carefulDesynthesis = exdData->getField< uint16_t >( row, 50 ); + eXPBonus = exdData->getField< uint16_t >( row, 51 ); + regen = exdData->getField< uint16_t >( row, 52 ); + refresh = exdData->getField< uint16_t >( row, 53 ); + movementSpeed = exdData->getField< uint16_t >( row, 54 ); + spikes = exdData->getField< uint16_t >( row, 55 ); + slowResistance = exdData->getField< uint16_t >( row, 56 ); + petrificationResistance = exdData->getField< uint16_t >( row, 57 ); + paralysisResistance = exdData->getField< uint16_t >( row, 58 ); + silenceResistance = exdData->getField< uint16_t >( row, 59 ); + blindResistance = exdData->getField< uint16_t >( row, 60 ); + poisonResistance = exdData->getField< uint16_t >( row, 61 ); + stunResistance = exdData->getField< uint16_t >( row, 62 ); + sleepResistance = exdData->getField< uint16_t >( row, 63 ); + bindResistance = exdData->getField< uint16_t >( row, 64 ); + heavyResistance = exdData->getField< uint16_t >( row, 65 ); + doomResistance = exdData->getField< uint16_t >( row, 66 ); + reducedDurabilityLoss = exdData->getField< uint16_t >( row, 67 ); + increasedSpiritbondGain = exdData->getField< uint16_t >( row, 68 ); + craftsmanship = exdData->getField< uint16_t >( row, 69 ); + control = exdData->getField< uint16_t >( row, 70 ); + gathering = exdData->getField< uint16_t >( row, 71 ); + perception = exdData->getField< uint16_t >( row, 72 ); +} + Core::Data::ItemSearchCategory::ItemSearchCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_ItemSearchCategoryDat.get_row( row_id ); @@ -3199,9 +3595,9 @@ Core::Data::Map::Map( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) discoveryArrayByte = exdData->getField< bool >( row, 15 ); } -Core::Data::MapMarker::MapMarker( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +Core::Data::MapMarker::MapMarker( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_MapMarkerDat.get_row( row_id ); + auto row = exdData->m_MapMarkerDat.get_row( row_id, subRow ); x = exdData->getField< int16_t >( row, 0 ); y = exdData->getField< int16_t >( row, 1 ); icon = exdData->getField< uint16_t >( row, 2 ); @@ -3276,6 +3672,13 @@ Core::Data::Materia::Materia( uint32_t row_id, Core::Data::ExdDataGenerated* exd value.push_back( exdData->getField< uint8_t >( row, 20 ) ); } +Core::Data::MiniGameRA::MiniGameRA( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_MiniGameRADat.get_row( row_id ); + icon = exdData->getField< int32_t >( row, 1 ); + bGM = exdData->getField< int32_t >( row, 2 ); +} + Core::Data::MinionRace::MinionRace( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_MinionRaceDat.get_row( row_id ); @@ -3354,8 +3757,12 @@ Core::Data::Mount::Mount( uint32_t row_id, Core::Data::ExdDataGenerated* exdData { auto row = exdData->m_MountDat.get_row( row_id ); singular = exdData->getField< std::string >( row, 0 ); + adjective = exdData->getField< int8_t >( row, 1 ); plural = exdData->getField< std::string >( row, 2 ); + possessivePronoun = exdData->getField< int8_t >( row, 3 ); startsWithVowel = exdData->getField< int8_t >( row, 4 ); + pronoun = exdData->getField< int8_t >( row, 6 ); + article = exdData->getField< int8_t >( row, 7 ); modelChara = exdData->getField< int32_t >( row, 8 ); flyingCondition = exdData->getField< uint8_t >( row, 10 ); isFlying = exdData->getField< uint8_t >( row, 14 ); @@ -3363,8 +3770,11 @@ Core::Data::Mount::Mount( uint32_t row_id, Core::Data::ExdDataGenerated* exdData rideBGM = exdData->getField< uint16_t >( row, 17 ); order = exdData->getField< int16_t >( row, 29 ); icon = exdData->getField< uint16_t >( row, 30 ); + extraSeats = exdData->getField< uint8_t >( row, 36 ); mountAction = exdData->getField< uint16_t >( row, 37 ); isAirborne = exdData->getField< bool >( row, 38 ); + useEP = exdData->getField< bool >( row, 40 ); + isImmobile = exdData->getField< bool >( row, 42 ); } Core::Data::MountAction::MountAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) @@ -3393,6 +3803,18 @@ Core::Data::MountCustomize::MountCustomize( uint32_t row_id, Core::Data::ExdData roeFemaleScale = exdData->getField< float >( row, 10 ); auRaMaleScale = exdData->getField< float >( row, 11 ); auRaFemaleScale = exdData->getField< float >( row, 12 ); + hyurMaleCameraHeight = exdData->getField< uint8_t >( row, 13 ); + hyurFemaleCameraHeight = exdData->getField< uint8_t >( row, 14 ); + elezenMaleCameraHeight = exdData->getField< uint8_t >( row, 15 ); + elezenFemaleCameraHeight = exdData->getField< uint8_t >( row, 16 ); + lalaMaleCameraHeight = exdData->getField< uint8_t >( row, 17 ); + lalaFemaleCameraHeight = exdData->getField< uint8_t >( row, 18 ); + miqoMaleCameraHeight = exdData->getField< uint8_t >( row, 19 ); + miqoFemaleCameraHeight = exdData->getField< uint8_t >( row, 20 ); + roeMaleCameraHeight = exdData->getField< uint8_t >( row, 21 ); + roeFemaleCameraHeight = exdData->getField< uint8_t >( row, 22 ); + auRaMaleCameraHeight = exdData->getField< uint8_t >( row, 23 ); + auRaFemaleCameraHeight = exdData->getField< uint8_t >( row, 24 ); } Core::Data::MountFlyingCondition::MountFlyingCondition( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) @@ -3533,12 +3955,30 @@ Core::Data::ParamGrow::ParamGrow( uint32_t row_id, Core::Data::ExdDataGenerated* huntingLogExpReward = exdData->getField< int32_t >( row, 9 ); } +Core::Data::PartyContent::PartyContent( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + 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 ); + textDataStart = exdData->getField< uint32_t >( row, 3 ); + textDataEnd = exdData->getField< uint32_t >( row, 4 ); + contentFinderCondition = exdData->getField< uint16_t >( row, 33 ); + image = exdData->getField< uint32_t >( row, 34 ); +} + Core::Data::PartyContentCutscene::PartyContentCutscene( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_PartyContentCutsceneDat.get_row( row_id ); cutscene = exdData->getField< uint32_t >( row, 0 ); } +Core::Data::PartyContentTextData::PartyContentTextData( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_PartyContentTextDataDat.get_row( row_id ); + data = exdData->getField< std::string >( row, 0 ); +} + Core::Data::Perform::Perform( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_PerformDat.get_row( row_id ); @@ -3615,13 +4055,14 @@ Core::Data::PreHandler::PreHandler( uint32_t row_id, Core::Data::ExdDataGenerate Core::Data::PublicContent::PublicContent( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_PublicContentDat.get_row( row_id ); + type = exdData->getField< uint8_t >( row, 0 ); timeLimit = exdData->getField< uint16_t >( row, 1 ); mapIcon = exdData->getField< uint32_t >( row, 2 ); name = exdData->getField< std::string >( row, 3 ); textDataStart = exdData->getField< uint32_t >( row, 4 ); textDataEnd = exdData->getField< uint32_t >( row, 5 ); contentFinderCondition = exdData->getField< uint16_t >( row, 7 ); - eureka = exdData->getField< uint16_t >( row, 8 ); + additionalData = exdData->getField< uint16_t >( row, 8 ); } Core::Data::PublicContentCutscene::PublicContentCutscene( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) @@ -3643,9 +4084,9 @@ Core::Data::PvPAction::PvPAction( uint32_t row_id, Core::Data::ExdDataGenerated* action = exdData->getField< uint16_t >( row, 0 ); } -Core::Data::PvPActionSort::PvPActionSort( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +Core::Data::PvPActionSort::PvPActionSort( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_PvPActionSortDat.get_row( row_id ); + auto row = exdData->m_PvPActionSortDat.get_row( row_id, subRow ); name = exdData->getField< uint8_t >( row, 0 ); action = exdData->getField< uint16_t >( row, 1 ); } @@ -3681,6 +4122,7 @@ Core::Data::Quest::Quest( uint32_t row_id, Core::Data::ExdDataGenerated* exdData classJobCategory0 = exdData->getField< uint8_t >( row, 3 ); classJobLevel0 = exdData->getField< uint16_t >( row, 4 ); questLevelOffset = exdData->getField< uint8_t >( row, 5 ); + levelMax = exdData->getField< uint16_t >( row, 6 ); classJobCategory1 = exdData->getField< uint8_t >( row, 7 ); classJobLevel1 = exdData->getField< uint16_t >( row, 8 ); previousQuestJoin = exdData->getField< uint8_t >( row, 9 ); @@ -3697,6 +4139,7 @@ Core::Data::Quest::Quest( uint32_t row_id, Core::Data::ExdDataGenerated* exdData instanceContent.push_back( exdData->getField< uint32_t >( row, 24 ) ); instanceContent.push_back( exdData->getField< uint32_t >( row, 25 ) ); instanceContent.push_back( exdData->getField< uint32_t >( row, 26 ) ); + festival = exdData->getField< uint8_t >( row, 27 ); bellStart = exdData->getField< uint16_t >( row, 30 ); bellEnd = exdData->getField< uint16_t >( row, 31 ); beastTribe = exdData->getField< uint8_t >( row, 32 ); @@ -3707,6 +4150,7 @@ Core::Data::Quest::Quest( uint32_t row_id, Core::Data::ExdDataGenerated* exdData eNpcResidentEnd = exdData->getField< uint32_t >( row, 42 ); isRepeatable = exdData->getField< bool >( row, 43 ); repeatIntervalType = exdData->getField< uint8_t >( row, 44 ); + questRepeatFlag = exdData->getField< uint8_t >( row, 45 ); scriptInstruction.push_back( exdData->getField< std::string >( row, 50 ) ); scriptInstruction.push_back( exdData->getField< std::string >( row, 51 ) ); scriptInstruction.push_back( exdData->getField< std::string >( row, 52 ) ); @@ -4044,9 +4488,9 @@ Core::Data::Quest::Quest( uint32_t row_id, Core::Data::ExdDataGenerated* exdData sortKey = exdData->getField< uint16_t >( row, 1514 ); } -Core::Data::QuestClassJobReward::QuestClassJobReward( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +Core::Data::QuestClassJobReward::QuestClassJobReward( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_QuestClassJobRewardDat.get_row( row_id ); + auto row = exdData->m_QuestClassJobRewardDat.get_row( row_id, subRow ); classJobCategory = exdData->getField< uint8_t >( row, 0 ); rewardItem.push_back( exdData->getField< uint32_t >( row, 1 ) ); rewardItem.push_back( exdData->getField< uint32_t >( row, 2 ) ); @@ -4066,9 +4510,9 @@ Core::Data::QuestClassJobReward::QuestClassJobReward( uint32_t row_id, Core::Dat requiredAmount.push_back( exdData->getField< uint8_t >( row, 16 ) ); } -Core::Data::QuestClassJobSupply::QuestClassJobSupply( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +Core::Data::QuestClassJobSupply::QuestClassJobSupply( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_QuestClassJobSupplyDat.get_row( row_id ); + auto row = exdData->m_QuestClassJobSupplyDat.get_row( row_id, subRow ); classJobCategory = exdData->getField< uint8_t >( row, 0 ); eNpcResident = exdData->getField< uint32_t >( row, 2 ); item = exdData->getField< uint32_t >( row, 3 ); @@ -4417,9 +4861,9 @@ Core::Data::RelicNoteCategory::RelicNoteCategory( uint32_t row_id, Core::Data::E text = exdData->getField< std::string >( row, 1 ); } -Core::Data::Resident::Resident( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +Core::Data::Resident::Resident( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ResidentDat.get_row( row_id ); + auto row = exdData->m_ResidentDat.get_row( row_id, subRow ); model = exdData->getField< uint64_t >( row, 1 ); npcYell = exdData->getField< int32_t >( row, 2 ); residentMotionType = exdData->getField< uint8_t >( row, 3 ); @@ -4510,9 +4954,9 @@ Core::Data::SatisfactionNpc::SatisfactionNpc( uint32_t row_id, Core::Data::ExdDa icon = exdData->getField< int32_t >( row, 70 ); } -Core::Data::SatisfactionSupply::SatisfactionSupply( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +Core::Data::SatisfactionSupply::SatisfactionSupply( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_SatisfactionSupplyDat.get_row( row_id ); + auto row = exdData->m_SatisfactionSupplyDat.get_row( row_id, subRow ); slot = exdData->getField< uint8_t >( row, 0 ); probability = exdData->getField< uint8_t >( row, 1 ); item = exdData->getField< int32_t >( row, 2 ); @@ -4547,9 +4991,9 @@ Core::Data::ScenarioTreeTips::ScenarioTreeTips( uint32_t row_id, Core::Data::Exd tips2 = exdData->getField< uint32_t >( row, 3 ); } -Core::Data::ScenarioTreeTipsClassQuest::ScenarioTreeTipsClassQuest( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +Core::Data::ScenarioTreeTipsClassQuest::ScenarioTreeTipsClassQuest( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ScenarioTreeTipsClassQuestDat.get_row( row_id ); + auto row = exdData->m_ScenarioTreeTipsClassQuestDat.get_row( row_id, subRow ); quest = exdData->getField< uint32_t >( row, 0 ); requiredLevel = exdData->getField< uint16_t >( row, 1 ); requiredExpansion = exdData->getField< uint8_t >( row, 2 ); @@ -4875,6 +5319,7 @@ Core::Data::Title::Title( uint32_t row_id, Core::Data::ExdDataGenerated* exdData masculine = exdData->getField< std::string >( row, 0 ); feminine = exdData->getField< std::string >( row, 1 ); isPrefix = exdData->getField< bool >( row, 2 ); + order = exdData->getField< uint16_t >( row, 3 ); } Core::Data::Tomestones::Tomestones( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) @@ -5085,6 +5530,13 @@ Core::Data::TutorialTank::TutorialTank( uint32_t row_id, Core::Data::ExdDataGene objective = exdData->getField< uint8_t >( row, 0 ); } +Core::Data::UIColor::UIColor( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_UIColorDat.get_row( row_id ); + foreground = exdData->getField< uint32_t >( row, 0 ); + background = exdData->getField< uint32_t >( row, 1 ); +} + Core::Data::VaseFlower::VaseFlower( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_VaseFlowerDat.get_row( row_id ); @@ -5102,9 +5554,9 @@ Core::Data::Warp::Warp( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) auto row = exdData->m_WarpDat.get_row( row_id ); level = exdData->getField< uint32_t >( row, 0 ); placeName = exdData->getField< uint16_t >( row, 1 ); - defaultTalk1 = exdData->getField< uint32_t >( row, 2 ); - defaultTalk2 = exdData->getField< uint32_t >( row, 3 ); - defaultTalk3 = exdData->getField< uint32_t >( row, 4 ); + 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 ); } @@ -5121,7 +5573,7 @@ Core::Data::WarpCondition::WarpCondition( uint32_t row_id, Core::Data::ExdDataGe Core::Data::WarpLogic::WarpLogic( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_WarpLogicDat.get_row( row_id ); - warpName = exdData->getField< bool >( row, 2 ); + warpName = exdData->getField< std::string >( row, 1 ); 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 ) ); @@ -5142,9 +5594,9 @@ Core::Data::WarpLogic::WarpLogic( uint32_t row_id, Core::Data::ExdDataGenerated* argument.push_back( exdData->getField< uint32_t >( row, 20 ) ); argument.push_back( exdData->getField< uint32_t >( row, 21 ) ); argument.push_back( exdData->getField< uint32_t >( row, 22 ) ); - textString = exdData->getField< std::string >( row, 23 ); - response1 = exdData->getField< std::string >( row, 24 ); - response2 = exdData->getField< std::string >( row, 25 ); + question = exdData->getField< std::string >( row, 23 ); + responseYes = exdData->getField< std::string >( row, 24 ); + responseNo = exdData->getField< std::string >( row, 25 ); } Core::Data::Weather::Weather( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) @@ -5155,9 +5607,9 @@ Core::Data::Weather::Weather( uint32_t row_id, Core::Data::ExdDataGenerated* exd description = exdData->getField< std::string >( row, 2 ); } -Core::Data::WeatherGroup::WeatherGroup( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +Core::Data::WeatherGroup::WeatherGroup( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_WeatherGroupDat.get_row( row_id ); + auto row = exdData->m_WeatherGroupDat.get_row( row_id, subRow ); weatherRate = exdData->getField< int32_t >( row, 1 ); } @@ -5237,6 +5689,7 @@ Core::Data::World::World( uint32_t row_id, Core::Data::ExdDataGenerated* exdData auto row = exdData->m_WorldDat.get_row( row_id ); name = exdData->getField< std::string >( row, 0 ); dataCenter = exdData->getField< uint8_t >( row, 2 ); + isPublic = exdData->getField< bool >( row, 3 ); } Core::Data::WorldDCGroupType::WorldDCGroupType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) @@ -5254,9 +5707,9 @@ Core::Data::YKW::YKW( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) location.push_back( exdData->getField< uint16_t >( row, 4 ) ); } -Core::Data::ZoneSharedGroup::ZoneSharedGroup( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +Core::Data::ZoneSharedGroup::ZoneSharedGroup( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ZoneSharedGroupDat.get_row( row_id ); + auto row = exdData->m_ZoneSharedGroupDat.get_row( row_id, subRow ); quest1 = exdData->getField< uint32_t >( row, 2 ); quest2 = exdData->getField< uint32_t >( row, 6 ); quest3 = exdData->getField< uint32_t >( row, 10 ); @@ -5455,8 +5908,13 @@ bool Core::Data::ExdDataGenerated::init( const std::string& path ) m_EObjNameDat = setupDatAccess( "EObjName", xiv::exd::Language::en ); m_EquipRaceCategoryDat = setupDatAccess( "EquipRaceCategory", xiv::exd::Language::none ); m_EquipSlotCategoryDat = setupDatAccess( "EquipSlotCategory", xiv::exd::Language::none ); + m_EurekaAetherItemDat = setupDatAccess( "EurekaAetherItem", xiv::exd::Language::en ); m_EurekaAethernetDat = setupDatAccess( "EurekaAethernet", xiv::exd::Language::none ); m_EurekaGrowDataDat = setupDatAccess( "EurekaGrowData", xiv::exd::Language::none ); + m_EurekaLogosMixerProbabilityDat = setupDatAccess( "EurekaLogosMixerProbability", xiv::exd::Language::none ); + m_EurekaMagiaActionDat = setupDatAccess( "EurekaMagiaAction", xiv::exd::Language::none ); + m_EurekaMagiciteItemDat = setupDatAccess( "EurekaMagiciteItem", xiv::exd::Language::none ); + m_EurekaMagiciteItemTypeDat = setupDatAccess( "EurekaMagiciteItemType", xiv::exd::Language::en ); m_EurekaSphereElementAdjustDat = setupDatAccess( "EurekaSphereElementAdjust", xiv::exd::Language::none ); m_EventActionDat = setupDatAccess( "EventAction", xiv::exd::Language::en ); m_EventIconPriorityDat = setupDatAccess( "EventIconPriority", xiv::exd::Language::none ); @@ -5478,7 +5936,9 @@ bool Core::Data::ExdDataGenerated::init( const std::string& path ) m_FCProfileDat = setupDatAccess( "FCProfile", xiv::exd::Language::en ); m_FCReputationDat = setupDatAccess( "FCReputation", xiv::exd::Language::en ); m_FCRightsDat = setupDatAccess( "FCRights", xiv::exd::Language::en ); + m_FestivalDat = setupDatAccess( "Festival", xiv::exd::Language::none ); m_FieldMarkerDat = setupDatAccess( "FieldMarker", xiv::exd::Language::en ); + m_FishingRecordTypeDat = setupDatAccess( "FishingRecordType", xiv::exd::Language::none ); m_FishingRecordTypeTransientDat = setupDatAccess( "FishingRecordTypeTransient", xiv::exd::Language::none ); m_FishingSpotDat = setupDatAccess( "FishingSpot", xiv::exd::Language::en ); m_FishParameterDat = setupDatAccess( "FishParameter", xiv::exd::Language::en ); @@ -5520,6 +5980,9 @@ bool Core::Data::ExdDataGenerated::init( const std::string& path ) m_GCSupplyDutyRewardDat = setupDatAccess( "GCSupplyDutyReward", xiv::exd::Language::none ); m_GeneralActionDat = setupDatAccess( "GeneralAction", xiv::exd::Language::en ); m_GFATEDat = setupDatAccess( "GFATE", xiv::exd::Language::none ); + m_GFateClimbing2Dat = setupDatAccess( "GFateClimbing2", xiv::exd::Language::none ); + m_GFateClimbing2ContentDat = setupDatAccess( "GFateClimbing2Content", xiv::exd::Language::none ); + m_GFateClimbing2TotemTypeDat = setupDatAccess( "GFateClimbing2TotemType", xiv::exd::Language::none ); m_GilShopDat = setupDatAccess( "GilShop", xiv::exd::Language::en ); m_GilShopItemDat = setupDatAccess( "GilShopItem", xiv::exd::Language::none ); m_GoldSaucerArcadeMachineDat = setupDatAccess( "GoldSaucerArcadeMachine", xiv::exd::Language::en ); @@ -5534,12 +5997,17 @@ bool Core::Data::ExdDataGenerated::init( const std::string& path ) m_HairMakeTypeDat = setupDatAccess( "HairMakeType", xiv::exd::Language::none ); m_HouseRetainerPoseDat = setupDatAccess( "HouseRetainerPose", xiv::exd::Language::none ); m_HousingAethernetDat = setupDatAccess( "HousingAethernet", xiv::exd::Language::none ); + m_HousingAppealDat = setupDatAccess( "HousingAppeal", xiv::exd::Language::en ); m_HousingEmploymentNpcListDat = setupDatAccess( "HousingEmploymentNpcList", xiv::exd::Language::none ); m_HousingEmploymentNpcRaceDat = setupDatAccess( "HousingEmploymentNpcRace", xiv::exd::Language::en ); + m_HousingExteriorDat = setupDatAccess( "HousingExterior", xiv::exd::Language::none ); m_HousingFurnitureDat = setupDatAccess( "HousingFurniture", xiv::exd::Language::none ); + m_HousingMapMarkerInfoDat = setupDatAccess( "HousingMapMarkerInfo", xiv::exd::Language::none ); + m_HousingMerchantPoseDat = setupDatAccess( "HousingMerchantPose", xiv::exd::Language::en ); m_HousingLandSetDat = setupDatAccess( "HousingLandSet", xiv::exd::Language::none ); m_HousingPlacementDat = setupDatAccess( "HousingPlacement", xiv::exd::Language::en ); m_HousingPresetDat = setupDatAccess( "HousingPreset", xiv::exd::Language::en ); + m_HousingUnitedExteriorDat = setupDatAccess( "HousingUnitedExterior", xiv::exd::Language::none ); m_HousingYardObjectDat = setupDatAccess( "HousingYardObject", xiv::exd::Language::none ); m_HowToDat = setupDatAccess( "HowTo", xiv::exd::Language::en ); m_HowToCategoryDat = setupDatAccess( "HowToCategory", xiv::exd::Language::en ); @@ -5550,6 +6018,7 @@ bool Core::Data::ExdDataGenerated::init( const std::string& path ) m_ItemDat = setupDatAccess( "Item", xiv::exd::Language::en ); m_ItemActionDat = setupDatAccess( "ItemAction", xiv::exd::Language::none ); m_ItemFoodDat = setupDatAccess( "ItemFood", xiv::exd::Language::none ); + m_ItemLevelDat = setupDatAccess( "ItemLevel", xiv::exd::Language::none ); m_ItemSearchCategoryDat = setupDatAccess( "ItemSearchCategory", xiv::exd::Language::en ); m_ItemSeriesDat = setupDatAccess( "ItemSeries", xiv::exd::Language::en ); m_ItemSpecialBonusDat = setupDatAccess( "ItemSpecialBonus", xiv::exd::Language::en ); @@ -5582,6 +6051,7 @@ bool Core::Data::ExdDataGenerated::init( const std::string& path ) m_MasterpieceSupplyDutyDat = setupDatAccess( "MasterpieceSupplyDuty", xiv::exd::Language::none ); m_MasterpieceSupplyMultiplierDat = setupDatAccess( "MasterpieceSupplyMultiplier", xiv::exd::Language::none ); m_MateriaDat = setupDatAccess( "Materia", 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 ); m_MinionSkillTypeDat = setupDatAccess( "MinionSkillType", xiv::exd::Language::en ); @@ -5609,7 +6079,9 @@ bool Core::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_PartyContentCutsceneDat = setupDatAccess( "PartyContentCutscene", xiv::exd::Language::none ); + m_PartyContentTextDataDat = setupDatAccess( "PartyContentTextData", xiv::exd::Language::en ); m_PerformDat = setupDatAccess( "Perform", xiv::exd::Language::en ); m_PerformTransientDat = setupDatAccess( "PerformTransient", xiv::exd::Language::en ); m_PetDat = setupDatAccess( "Pet", xiv::exd::Language::en ); @@ -5711,6 +6183,7 @@ bool Core::Data::ExdDataGenerated::init( const std::string& path ) m_TutorialDPSDat = setupDatAccess( "TutorialDPS", xiv::exd::Language::none ); m_TutorialHealerDat = setupDatAccess( "TutorialHealer", xiv::exd::Language::none ); m_TutorialTankDat = setupDatAccess( "TutorialTank", xiv::exd::Language::none ); + m_UIColorDat = setupDatAccess( "UIColor", xiv::exd::Language::none ); m_VaseFlowerDat = setupDatAccess( "VaseFlower", xiv::exd::Language::none ); m_VFXDat = setupDatAccess( "VFX", xiv::exd::Language::none ); m_WarpDat = setupDatAccess( "Warp", xiv::exd::Language::en ); diff --git a/src/common/Exd/ExdDataGenerated.h b/src/common/Exd/ExdDataGenerated.h index b4da203b..d4b76dc5 100644 --- a/src/common/Exd/ExdDataGenerated.h +++ b/src/common/Exd/ExdDataGenerated.h @@ -13,8 +13,8 @@ #include #include -namespace Core::Data -{ +namespace Core { +namespace Data { class ExdDataGenerated; @@ -174,8 +174,13 @@ struct EObj; struct EObjName; struct EquipRaceCategory; struct EquipSlotCategory; +struct EurekaAetherItem; struct EurekaAethernet; struct EurekaGrowData; +struct EurekaLogosMixerProbability; +struct EurekaMagiaAction; +struct EurekaMagiciteItem; +struct EurekaMagiciteItemType; struct EurekaSphereElementAdjust; struct EventAction; struct EventIconPriority; @@ -197,7 +202,9 @@ struct FCHierarchy; struct FCProfile; struct FCReputation; struct FCRights; +struct Festival; struct FieldMarker; +struct FishingRecordType; struct FishingRecordTypeTransient; struct FishingSpot; struct FishParameter; @@ -239,6 +246,9 @@ struct GCSupplyDuty; struct GCSupplyDutyReward; struct GeneralAction; struct GFATE; +struct GFateClimbing2; +struct GFateClimbing2Content; +struct GFateClimbing2TotemType; struct GilShop; struct GilShopItem; struct GoldSaucerArcadeMachine; @@ -253,12 +263,17 @@ struct GuildOrderOfficer; struct HairMakeType; struct HouseRetainerPose; struct HousingAethernet; +struct HousingAppeal; struct HousingEmploymentNpcList; struct HousingEmploymentNpcRace; +struct HousingExterior; struct HousingFurniture; +struct HousingMapMarkerInfo; +struct HousingMerchantPose; struct HousingLandSet; struct HousingPlacement; struct HousingPreset; +struct HousingUnitedExterior; struct HousingYardObject; struct HowTo; struct HowToCategory; @@ -269,6 +284,7 @@ struct InstanceContentTextData; struct Item; struct ItemAction; struct ItemFood; +struct ItemLevel; struct ItemSearchCategory; struct ItemSeries; struct ItemSpecialBonus; @@ -301,6 +317,7 @@ struct Marker; struct MasterpieceSupplyDuty; struct MasterpieceSupplyMultiplier; struct Materia; +struct MiniGameRA; struct MinionRace; struct MinionRules; struct MinionSkillType; @@ -328,7 +345,9 @@ struct OrchestrionCategory; struct OrchestrionPath; struct OrchestrionUiparam; struct ParamGrow; +struct PartyContent; struct PartyContentCutscene; +struct PartyContentTextData; struct Perform; struct PerformTransient; struct Pet; @@ -430,6 +449,7 @@ struct Tutorial; struct TutorialDPS; struct TutorialHealer; struct TutorialTank; +struct UIColor; struct VaseFlower; struct VFX; struct Warp; @@ -462,6 +482,7 @@ struct Achievement int32_t key; std::vector< int32_t > data; uint16_t order; + bool initialHide; Achievement( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; @@ -470,6 +491,7 @@ struct AchievementCategory { std::string name; uint8_t achievementKind; + bool hideCategory; AchievementCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; @@ -652,9 +674,9 @@ struct Addon struct AddonHud { - std::string longs; - std::string shorts; - std::string function; + std::string _long; + std::string _short; + std::string _function; AddonHud( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; @@ -713,6 +735,13 @@ struct AetherialWheel struct Aetheryte { + std::string singular; + int8_t adjective; + std::string plural; + int8_t possessivePronoun; + int8_t startsWithVowel; + int8_t pronoun; + int8_t article; uint16_t placeName; uint16_t aethernetName; uint16_t territory; @@ -810,7 +839,7 @@ struct AnimaWeapon5SpiritTalk { int32_t dialogue; - AnimaWeapon5SpiritTalk( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AnimaWeapon5SpiritTalk( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ); }; struct AnimaWeapon5SpiritTalkParam @@ -834,7 +863,7 @@ struct AnimaWeaponFUITalk { int32_t dialogue; - AnimaWeaponFUITalk( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AnimaWeaponFUITalk( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ); }; struct AnimaWeaponFUITalkParam @@ -909,6 +938,7 @@ struct Balloon struct BaseParam { + int8_t order; std::string name; std::string description; uint8_t oneHWpn; @@ -983,7 +1013,7 @@ struct Behavior { uint16_t balloon; - Behavior( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Behavior( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ); }; struct BGM @@ -1015,7 +1045,7 @@ struct BGMSwitch uint8_t bGMSystemDefine; uint32_t quest; - BGMSwitch( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + BGMSwitch( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ); }; struct BGMSystemDefine @@ -1081,8 +1111,12 @@ struct BNpcCustomize struct BNpcName { std::string singular; + int8_t adjective; std::string plural; + int8_t possessivePronoun; int8_t startsWithVowel; + int8_t pronoun; + int8_t article; BNpcName( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; @@ -1148,9 +1182,12 @@ struct BuddyAction struct BuddyEquip { std::string singular; + int8_t adjective; std::string plural; + int8_t possessivePronoun; int8_t startsWithVowel; - int8_t rarity; + int8_t pronoun; + int8_t article; std::string name; int32_t modelTop; int32_t modelBody; @@ -1398,9 +1435,13 @@ struct ClassJobCategory struct Companion { std::string singular; + int8_t adjective; std::string plural; + int8_t possessivePronoun; int8_t startsWithVowel; - int8_t rarity; + int8_t pronoun; + int8_t article; + uint16_t model; uint8_t behavior; uint16_t icon; uint8_t cost; @@ -1552,7 +1593,7 @@ struct ContentFinderCondition { uint16_t territoryType; uint8_t contentLinkType; - uint16_t instanceContent; + uint16_t content; uint8_t contentMemberType; uint8_t classJobLevelRequired; uint8_t classJobLevelSync; @@ -1560,6 +1601,7 @@ struct ContentFinderCondition uint16_t itemLevelSync; bool allowReplacement; bool highEndDuty; + bool dutyRecorderAllowed; std::string name; uint8_t contentType; uint8_t transient; @@ -1743,7 +1785,7 @@ struct Credit uint16_t frenchCast2; uint16_t germanCast2; - Credit( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Credit( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ); }; struct CreditCast @@ -1822,9 +1864,12 @@ struct DeepDungeonEquipment { uint32_t icon; std::string singular; + int8_t adjective; std::string plural; + int8_t possessivePronoun; int8_t startsWithVowel; - int8_t rarity; + int8_t pronoun; + int8_t article; std::string name; std::string description; @@ -1844,9 +1889,12 @@ struct DeepDungeonItem { uint32_t icon; std::string singular; + int8_t adjective; std::string plural; + int8_t possessivePronoun; int8_t startsWithVowel; - int8_t rarity; + int8_t pronoun; + int8_t article; std::string name; std::string tooltip; uint32_t action; @@ -1865,9 +1913,12 @@ struct DeepDungeonMagicStone { uint32_t icon; std::string singular; + int8_t adjective; std::string plural; + int8_t possessivePronoun; int8_t startsWithVowel; - int8_t rarity; + int8_t pronoun; + int8_t article; std::string name; std::string tooltip; @@ -1878,7 +1929,7 @@ struct DeepDungeonMap5X { std::vector< uint16_t > deepDungeonRoom; - DeepDungeonMap5X( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + DeepDungeonMap5X( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ); }; struct DeepDungeonRoom @@ -1939,7 +1990,7 @@ struct DisposalShopItem int32_t itemReceived; uint32_t quantityReceived; - DisposalShopItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + DisposalShopItem( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ); }; struct DpsChallenge @@ -2057,7 +2108,12 @@ struct ENpcBase struct ENpcResident { std::string singular; + int8_t adjective; std::string plural; + int8_t possessivePronoun; + int8_t startsWithVowel; + int8_t pronoun; + int8_t article; std::string title; uint8_t map; @@ -2075,6 +2131,12 @@ struct EObj struct EObjName { std::string singular; + int8_t adjective; + std::string plural; + int8_t possessivePronoun; + int8_t startsWithVowel; + int8_t pronoun; + int8_t article; EObjName( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; @@ -2113,6 +2175,20 @@ struct EquipSlotCategory EquipSlotCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; +struct EurekaAetherItem +{ + std::string singular; + int8_t adjective; + std::string plural; + int8_t possessivePronoun; + int8_t startsWithVowel; + int8_t pronoun; + int8_t article; + std::string name; + + EurekaAetherItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + struct EurekaAethernet { uint16_t location; @@ -2127,6 +2203,37 @@ struct EurekaGrowData EurekaGrowData( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; +struct EurekaLogosMixerProbability +{ + uint8_t probability; + + EurekaLogosMixerProbability( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct EurekaMagiaAction +{ + uint32_t action; + uint8_t maxUses; + + EurekaMagiaAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct EurekaMagiciteItem +{ + uint8_t eurekaMagiciteItemType; + uint8_t classJobCategory; + uint32_t item; + + EurekaMagiciteItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct EurekaMagiciteItemType +{ + std::string type; + + EurekaMagiciteItemType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + struct EurekaSphereElementAdjust { uint16_t powerModifier; @@ -2165,9 +2272,12 @@ struct EventIconType struct EventItem { std::string singular; + int8_t adjective; std::string plural; + int8_t possessivePronoun; int8_t startsWithVowel; - int8_t rarity; + int8_t pronoun; + int8_t article; std::string name; uint16_t icon; uint16_t action; @@ -2223,6 +2333,7 @@ struct Fate uint32_t iconObjective; uint32_t iconMap; int32_t music; + bool hasWorldMapIcon; std::string name; std::string description; std::string objective; @@ -2309,6 +2420,13 @@ struct FCRights FCRights( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; +struct Festival +{ + std::string name; + + Festival( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + struct FieldMarker { int32_t vFX; @@ -2317,6 +2435,13 @@ struct FieldMarker FieldMarker( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; +struct FishingRecordType +{ + int32_t addon; + + FishingRecordType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + struct FishingRecordTypeTransient { int32_t image; @@ -2345,8 +2470,12 @@ struct FishParameter std::string text; int32_t item; uint16_t gatheringItemLevel; + bool isHidden; + uint8_t fishingRecordType; int32_t territoryType; - bool isFish; + bool isInLog; + bool timeRestricted; + bool weatherRestricted; uint16_t gatheringSubCategory; FishParameter( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); @@ -2415,7 +2544,7 @@ struct GatheringItemPoint { uint32_t gatheringPoint; - GatheringItemPoint( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GatheringItemPoint( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ); }; struct GatheringLeve @@ -2481,8 +2610,12 @@ struct GatheringPointBonusType struct GatheringPointName { std::string singular; + int8_t adjective; std::string plural; + int8_t possessivePronoun; int8_t startsWithVowel; + int8_t pronoun; + int8_t article; GatheringPointName( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; @@ -2568,8 +2701,13 @@ struct GcArmyTraining struct GCRankGridaniaFemaleText { - std::string name; + std::string singular; + int8_t adjective; std::string plural; + int8_t possessivePronoun; + int8_t startsWithVowel; + int8_t pronoun; + int8_t article; std::string nameRank; GCRankGridaniaFemaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); @@ -2577,8 +2715,13 @@ struct GCRankGridaniaFemaleText struct GCRankGridaniaMaleText { - std::string name; + std::string singular; + int8_t adjective; std::string plural; + int8_t possessivePronoun; + int8_t startsWithVowel; + int8_t pronoun; + int8_t article; std::string nameRank; GCRankGridaniaMaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); @@ -2586,8 +2729,13 @@ struct GCRankGridaniaMaleText struct GCRankLimsaFemaleText { - std::string name; + std::string singular; + int8_t adjective; std::string plural; + int8_t possessivePronoun; + int8_t startsWithVowel; + int8_t pronoun; + int8_t article; std::string nameRank; GCRankLimsaFemaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); @@ -2595,8 +2743,13 @@ struct GCRankLimsaFemaleText struct GCRankLimsaMaleText { - std::string name; + std::string singular; + int8_t adjective; std::string plural; + int8_t possessivePronoun; + int8_t startsWithVowel; + int8_t pronoun; + int8_t article; std::string nameRank; GCRankLimsaMaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); @@ -2604,8 +2757,13 @@ struct GCRankLimsaMaleText struct GCRankUldahFemaleText { - std::string name; + std::string singular; + int8_t adjective; std::string plural; + int8_t possessivePronoun; + int8_t startsWithVowel; + int8_t pronoun; + int8_t article; std::string nameRank; GCRankUldahFemaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); @@ -2613,8 +2771,13 @@ struct GCRankUldahFemaleText struct GCRankUldahMaleText { - std::string name; + std::string singular; + int8_t adjective; std::string plural; + int8_t possessivePronoun; + int8_t startsWithVowel; + int8_t pronoun; + int8_t article; std::string nameRank; GCRankUldahMaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); @@ -2636,7 +2799,7 @@ struct GCScripShopItem uint32_t costGCSeals; uint8_t sortKey; - GCScripShopItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GCScripShopItem( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ); }; struct GCShop @@ -2688,6 +2851,27 @@ struct GFATE GFATE( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; +struct GFateClimbing2 +{ + uint32_t contentEntry; + + GFateClimbing2( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct GFateClimbing2Content +{ + uint32_t publicContentTextData; + + GFateClimbing2Content( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct GFateClimbing2TotemType +{ + uint32_t publicContentTextData; + + GFateClimbing2TotemType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + struct GilShop { std::string name; @@ -2706,7 +2890,7 @@ struct GilShopItem uint16_t stateRequired; uint16_t patch; - GilShopItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GilShopItem( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ); }; struct GoldSaucerArcadeMachine @@ -2812,12 +2996,21 @@ struct HousingAethernet HousingAethernet( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; +struct HousingAppeal +{ + std::string tag; + uint32_t icon; + uint8_t order; + + HousingAppeal( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + struct HousingEmploymentNpcList { uint8_t race; std::vector< uint32_t > eNpcBase; - HousingEmploymentNpcList( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + HousingEmploymentNpcList( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ); }; struct HousingEmploymentNpcRace @@ -2827,6 +3020,15 @@ struct HousingEmploymentNpcRace HousingEmploymentNpcRace( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; +struct HousingExterior +{ + uint16_t placeName; + uint8_t housingSize; + std::string model; + + HousingExterior( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + struct HousingFurniture { uint16_t modelKey; @@ -2834,8 +3036,8 @@ struct HousingFurniture uint8_t usageType; uint32_t usageParameter; uint8_t housingLayoutLimit; - uint8_t customTalk; - uint32_t event; + uint8_t aquariumTier; + uint32_t customTalk; uint32_t item; bool destroyOnRemoval; bool tooltip; @@ -2843,6 +3045,30 @@ struct HousingFurniture HousingFurniture( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; +struct HousingMapMarkerInfo +{ + uint16_t map; + + HousingMapMarkerInfo( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ); +}; + +struct HousingMerchantPose +{ + uint16_t actionTimeline; + std::string pose; + + HousingMerchantPose( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct HousingLandSet +{ + std::vector< uint8_t > plotSize; + std::vector< uint32_t > minPrice; + std::vector< uint32_t > initialPrice; + + HousingLandSet( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + struct HousingPlacement { std::string text; @@ -2850,19 +3076,17 @@ struct HousingPlacement HousingPlacement( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; -struct HousingLandSet -{ - std::vector< uint8_t > sizes; - std::vector< uint32_t > minPrices; - std::vector< uint32_t > prices; - - HousingLandSet( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); -}; - struct HousingPreset { std::string singular; + int8_t adjective; std::string plural; + int8_t possessivePronoun; + int8_t startsWithVowel; + int8_t pronoun; + int8_t article; + uint16_t placeName; + uint8_t housingSize; int32_t exteriorRoof; int32_t exteriorWall; int32_t exteriorWindow; @@ -2881,6 +3105,13 @@ struct HousingPreset HousingPreset( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; +struct HousingUnitedExterior +{ + std::vector< uint32_t > item; + + HousingUnitedExterior( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + struct HousingYardObject { uint8_t modelKey; @@ -2941,7 +3172,7 @@ struct InstanceContent uint16_t finalBossCurrencyC; uint32_t instanceClearExp; int32_t instanceContentBuff; - uint32_t territoryType; + uint32_t reqInstance; uint8_t partyCondition; InstanceContent( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); @@ -2965,8 +3196,12 @@ struct InstanceContentTextData struct Item { std::string singular; + int8_t adjective; std::string plural; + int8_t possessivePronoun; int8_t startsWithVowel; + int8_t pronoun; + int8_t article; std::string description; std::string name; uint16_t icon; @@ -3037,6 +3272,85 @@ struct ItemFood ItemFood( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; +struct ItemLevel +{ + uint16_t strength; + uint16_t dexterity; + uint16_t vitality; + uint16_t intelligence; + uint16_t mind; + uint16_t piety; + uint16_t hP; + uint16_t mP; + uint16_t tP; + uint16_t gP; + uint16_t cP; + uint16_t physicalDamage; + uint16_t magicalDamage; + uint16_t delay; + uint16_t additionalEffect; + uint16_t attackSpeed; + uint16_t blockRate; + uint16_t blockStrength; + uint16_t tenacity; + uint16_t attackPower; + uint16_t defense; + uint16_t directHitRate; + uint16_t evasion; + uint16_t magicDefense; + uint16_t criticalHitPower; + uint16_t criticalHitResilience; + uint16_t criticalHit; + uint16_t criticalHitEvasion; + uint16_t slashingResistance; + uint16_t piercingResistance; + uint16_t bluntResistance; + uint16_t projectileResistance; + uint16_t attackMagicPotency; + uint16_t healingMagicPotency; + uint16_t enhancementMagicPotency; + uint16_t enfeeblingMagicPotency; + uint16_t fireResistance; + uint16_t iceResistance; + uint16_t windResistance; + uint16_t earthResistance; + uint16_t lightningResistance; + uint16_t waterResistance; + uint16_t magicResistance; + uint16_t determination; + uint16_t skillSpeed; + uint16_t spellSpeed; + uint16_t haste; + uint16_t morale; + uint16_t enmity; + uint16_t enmityReduction; + uint16_t carefulDesynthesis; + uint16_t eXPBonus; + uint16_t regen; + uint16_t refresh; + uint16_t movementSpeed; + uint16_t spikes; + uint16_t slowResistance; + uint16_t petrificationResistance; + uint16_t paralysisResistance; + uint16_t silenceResistance; + uint16_t blindResistance; + uint16_t poisonResistance; + uint16_t stunResistance; + uint16_t sleepResistance; + uint16_t bindResistance; + uint16_t heavyResistance; + uint16_t doomResistance; + uint16_t reducedDurabilityLoss; + uint16_t increasedSpiritbondGain; + uint16_t craftsmanship; + uint16_t control; + uint16_t gathering; + uint16_t perception; + + ItemLevel( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + struct ItemSearchCategory { std::string name; @@ -3288,7 +3602,7 @@ struct MapMarker uint8_t dataType; uint16_t dataKey; - MapMarker( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + MapMarker( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ); }; struct MapMarkerRegion @@ -3340,6 +3654,14 @@ struct Materia Materia( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; +struct MiniGameRA +{ + int32_t icon; + int32_t bGM; + + MiniGameRA( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + struct MinionRace { std::string name; @@ -3420,8 +3742,12 @@ struct MonsterNoteTarget struct Mount { std::string singular; + int8_t adjective; std::string plural; + int8_t possessivePronoun; int8_t startsWithVowel; + int8_t pronoun; + int8_t article; int32_t modelChara; uint8_t flyingCondition; uint8_t isFlying; @@ -3429,8 +3755,11 @@ struct Mount uint16_t rideBGM; int16_t order; uint16_t icon; + uint8_t extraSeats; uint16_t mountAction; bool isAirborne; + bool useEP; + bool isImmobile; Mount( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; @@ -3456,6 +3785,18 @@ struct MountCustomize float roeFemaleScale; float auRaMaleScale; float auRaFemaleScale; + uint8_t hyurMaleCameraHeight; + uint8_t hyurFemaleCameraHeight; + uint8_t elezenMaleCameraHeight; + uint8_t elezenFemaleCameraHeight; + uint8_t lalaMaleCameraHeight; + uint8_t lalaFemaleCameraHeight; + uint8_t miqoMaleCameraHeight; + uint8_t miqoFemaleCameraHeight; + uint8_t roeMaleCameraHeight; + uint8_t roeFemaleCameraHeight; + uint8_t auRaMaleCameraHeight; + uint8_t auRaFemaleCameraHeight; MountCustomize( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; @@ -3613,6 +3954,19 @@ struct ParamGrow ParamGrow( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; +struct PartyContent +{ + uint8_t key; + uint16_t timeLimit; + std::string name; + uint32_t textDataStart; + uint32_t textDataEnd; + uint16_t contentFinderCondition; + uint32_t image; + + PartyContent( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + struct PartyContentCutscene { uint32_t cutscene; @@ -3620,6 +3974,13 @@ struct PartyContentCutscene PartyContentCutscene( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; +struct PartyContentTextData +{ + std::string data; + + PartyContentTextData( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + struct Perform { std::string name; @@ -3695,13 +4056,14 @@ struct PreHandler struct PublicContent { + uint8_t type; uint16_t timeLimit; uint32_t mapIcon; std::string name; uint32_t textDataStart; uint32_t textDataEnd; uint16_t contentFinderCondition; - uint16_t eureka; + uint16_t additionalData; PublicContent( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; @@ -3733,7 +4095,7 @@ struct PvPActionSort uint8_t name; uint16_t action; - PvPActionSort( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + PvPActionSort( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ); }; struct PvPRank @@ -3769,6 +4131,7 @@ struct Quest uint8_t classJobCategory0; uint16_t classJobLevel0; uint8_t questLevelOffset; + uint16_t levelMax; uint8_t classJobCategory1; uint16_t classJobLevel1; uint8_t previousQuestJoin; @@ -3782,6 +4145,7 @@ struct Quest uint8_t grandCompanyRank; uint8_t instanceContentJoin; std::vector< uint32_t > instanceContent; + uint8_t festival; uint16_t bellStart; uint16_t bellEnd; uint8_t beastTribe; @@ -3792,6 +4156,7 @@ struct Quest uint32_t eNpcResidentEnd; bool isRepeatable; uint8_t repeatIntervalType; + uint8_t questRepeatFlag; std::vector< std::string > scriptInstruction; std::vector< uint32_t > scriptArg; std::vector< uint32_t > level; @@ -3835,7 +4200,7 @@ struct QuestClassJobReward std::vector< uint32_t > requiredItem; std::vector< uint8_t > requiredAmount; - QuestClassJobReward( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + QuestClassJobReward( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ); }; struct QuestClassJobSupply @@ -3844,7 +4209,7 @@ struct QuestClassJobSupply uint32_t eNpcResident; uint32_t item; - QuestClassJobSupply( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + QuestClassJobSupply( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ); }; struct QuestRepeatFlag @@ -4052,7 +4417,7 @@ struct Resident int32_t npcYell; uint8_t residentMotionType; - Resident( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Resident( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ); }; struct RetainerTask @@ -4145,7 +4510,7 @@ struct SatisfactionSupply uint16_t collectabilityHigh; uint16_t reward; - SatisfactionSupply( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + SatisfactionSupply( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ); }; struct SatisfactionSupplyReward @@ -4183,7 +4548,7 @@ struct ScenarioTreeTipsClassQuest uint8_t requiredExpansion; uint32_t requiredQuest; - ScenarioTreeTipsClassQuest( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ScenarioTreeTipsClassQuest( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ); }; struct ScenarioTreeTipsQuest @@ -4441,6 +4806,7 @@ struct Title std::string masculine; std::string feminine; bool isPrefix; + uint16_t order; Title( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; @@ -4656,6 +5022,14 @@ struct TutorialTank TutorialTank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; +struct UIColor +{ + uint32_t foreground; + uint32_t background; + + UIColor( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + struct VaseFlower { uint32_t item; @@ -4674,9 +5048,9 @@ struct Warp { uint32_t level; uint16_t placeName; - uint32_t defaultTalk1; - uint32_t defaultTalk2; - uint32_t defaultTalk3; + uint32_t conditionSuccessEvent; + uint32_t conditionFailEvent; + uint32_t confirmEvent; uint16_t warpCondition; uint16_t warpLogic; @@ -4695,12 +5069,12 @@ struct WarpCondition struct WarpLogic { - bool warpName; + std::string warpName; std::vector< std::string > function; std::vector< uint32_t > argument; - std::string textString; - std::string response1; - std::string response2; + std::string question; + std::string responseYes; + std::string responseNo; WarpLogic( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; @@ -4718,7 +5092,7 @@ struct WeatherGroup { int32_t weatherRate; - WeatherGroup( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + WeatherGroup( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ); }; struct WeatherRate @@ -4772,6 +5146,7 @@ struct World { std::string name; uint8_t dataCenter; + bool isPublic; World( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; @@ -4800,7 +5175,7 @@ struct ZoneSharedGroup uint32_t quest5; uint32_t quest6; - ZoneSharedGroup( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ZoneSharedGroup( uint32_t row_id, uint32_t subRow, Core::Data::ExdDataGenerated* exdData ); }; @@ -4982,8 +5357,13 @@ struct ZoneSharedGroup xiv::exd::Exd m_EObjNameDat; xiv::exd::Exd m_EquipRaceCategoryDat; xiv::exd::Exd m_EquipSlotCategoryDat; + xiv::exd::Exd m_EurekaAetherItemDat; xiv::exd::Exd m_EurekaAethernetDat; xiv::exd::Exd m_EurekaGrowDataDat; + xiv::exd::Exd m_EurekaLogosMixerProbabilityDat; + xiv::exd::Exd m_EurekaMagiaActionDat; + xiv::exd::Exd m_EurekaMagiciteItemDat; + xiv::exd::Exd m_EurekaMagiciteItemTypeDat; xiv::exd::Exd m_EurekaSphereElementAdjustDat; xiv::exd::Exd m_EventActionDat; xiv::exd::Exd m_EventIconPriorityDat; @@ -5005,7 +5385,9 @@ struct ZoneSharedGroup xiv::exd::Exd m_FCProfileDat; xiv::exd::Exd m_FCReputationDat; xiv::exd::Exd m_FCRightsDat; + xiv::exd::Exd m_FestivalDat; xiv::exd::Exd m_FieldMarkerDat; + xiv::exd::Exd m_FishingRecordTypeDat; xiv::exd::Exd m_FishingRecordTypeTransientDat; xiv::exd::Exd m_FishingSpotDat; xiv::exd::Exd m_FishParameterDat; @@ -5047,6 +5429,9 @@ struct ZoneSharedGroup xiv::exd::Exd m_GCSupplyDutyRewardDat; xiv::exd::Exd m_GeneralActionDat; xiv::exd::Exd m_GFATEDat; + xiv::exd::Exd m_GFateClimbing2Dat; + xiv::exd::Exd m_GFateClimbing2ContentDat; + xiv::exd::Exd m_GFateClimbing2TotemTypeDat; xiv::exd::Exd m_GilShopDat; xiv::exd::Exd m_GilShopItemDat; xiv::exd::Exd m_GoldSaucerArcadeMachineDat; @@ -5061,12 +5446,17 @@ struct ZoneSharedGroup xiv::exd::Exd m_HairMakeTypeDat; xiv::exd::Exd m_HouseRetainerPoseDat; xiv::exd::Exd m_HousingAethernetDat; + xiv::exd::Exd m_HousingAppealDat; xiv::exd::Exd m_HousingEmploymentNpcListDat; xiv::exd::Exd m_HousingEmploymentNpcRaceDat; + xiv::exd::Exd m_HousingExteriorDat; xiv::exd::Exd m_HousingFurnitureDat; + xiv::exd::Exd m_HousingMapMarkerInfoDat; + xiv::exd::Exd m_HousingMerchantPoseDat; xiv::exd::Exd m_HousingLandSetDat; xiv::exd::Exd m_HousingPlacementDat; xiv::exd::Exd m_HousingPresetDat; + xiv::exd::Exd m_HousingUnitedExteriorDat; xiv::exd::Exd m_HousingYardObjectDat; xiv::exd::Exd m_HowToDat; xiv::exd::Exd m_HowToCategoryDat; @@ -5077,6 +5467,7 @@ struct ZoneSharedGroup xiv::exd::Exd m_ItemDat; xiv::exd::Exd m_ItemActionDat; xiv::exd::Exd m_ItemFoodDat; + xiv::exd::Exd m_ItemLevelDat; xiv::exd::Exd m_ItemSearchCategoryDat; xiv::exd::Exd m_ItemSeriesDat; xiv::exd::Exd m_ItemSpecialBonusDat; @@ -5109,6 +5500,7 @@ struct ZoneSharedGroup xiv::exd::Exd m_MasterpieceSupplyDutyDat; xiv::exd::Exd m_MasterpieceSupplyMultiplierDat; xiv::exd::Exd m_MateriaDat; + xiv::exd::Exd m_MiniGameRADat; xiv::exd::Exd m_MinionRaceDat; xiv::exd::Exd m_MinionRulesDat; xiv::exd::Exd m_MinionSkillTypeDat; @@ -5136,7 +5528,9 @@ struct ZoneSharedGroup xiv::exd::Exd m_OrchestrionPathDat; xiv::exd::Exd m_OrchestrionUiparamDat; xiv::exd::Exd m_ParamGrowDat; + xiv::exd::Exd m_PartyContentDat; xiv::exd::Exd m_PartyContentCutsceneDat; + xiv::exd::Exd m_PartyContentTextDataDat; xiv::exd::Exd m_PerformDat; xiv::exd::Exd m_PerformTransientDat; xiv::exd::Exd m_PetDat; @@ -5238,6 +5632,7 @@ struct ZoneSharedGroup xiv::exd::Exd m_TutorialDPSDat; xiv::exd::Exd m_TutorialHealerDat; xiv::exd::Exd m_TutorialTankDat; + xiv::exd::Exd m_UIColorDat; xiv::exd::Exd m_VaseFlowerDat; xiv::exd::Exd m_VFXDat; xiv::exd::Exd m_WarpDat; @@ -5257,435 +5652,455 @@ struct ZoneSharedGroup xiv::exd::Exd m_ZoneSharedGroupDat; - using AchievementPtr = std::shared_ptr< Achievement >; - using AchievementCategoryPtr = std::shared_ptr< AchievementCategory >; - using AchievementKindPtr = std::shared_ptr< AchievementKind >; - using ActionPtr = std::shared_ptr< Action >; - using ActionCastTimelinePtr = std::shared_ptr< ActionCastTimeline >; - using ActionCastVFXPtr = std::shared_ptr< ActionCastVFX >; - using ActionCategoryPtr = std::shared_ptr< ActionCategory >; - using ActionComboRoutePtr = std::shared_ptr< ActionComboRoute >; - using ActionIndirectionPtr = std::shared_ptr< ActionIndirection >; - using ActionParamPtr = std::shared_ptr< ActionParam >; - using ActionProcStatusPtr = std::shared_ptr< ActionProcStatus >; - using ActionTimelinePtr = std::shared_ptr< ActionTimeline >; - using ActionTimelineMovePtr = std::shared_ptr< ActionTimelineMove >; - using ActionTimelineReplacePtr = std::shared_ptr< ActionTimelineReplace >; - using ActionTransientPtr = std::shared_ptr< ActionTransient >; - using ActivityFeedButtonsPtr = std::shared_ptr< ActivityFeedButtons >; - using ActivityFeedCaptionsPtr = std::shared_ptr< ActivityFeedCaptions >; - using ActivityFeedGroupCaptionsPtr = std::shared_ptr< ActivityFeedGroupCaptions >; - using ActivityFeedImagesPtr = std::shared_ptr< ActivityFeedImages >; - using AddonPtr = std::shared_ptr< Addon >; - using AddonHudPtr = std::shared_ptr< AddonHud >; - using AdventurePtr = std::shared_ptr< Adventure >; - using AdventureExPhasePtr = std::shared_ptr< AdventureExPhase >; - using AetherCurrentPtr = std::shared_ptr< AetherCurrent >; - using AetherCurrentCompFlgSetPtr = std::shared_ptr< AetherCurrentCompFlgSet >; - using AetherialWheelPtr = std::shared_ptr< AetherialWheel >; - using AetherytePtr = std::shared_ptr< Aetheryte >; - using AetheryteSystemDefinePtr = std::shared_ptr< AetheryteSystemDefine >; - using AirshipExplorationLevelPtr = std::shared_ptr< AirshipExplorationLevel >; - using AirshipExplorationLogPtr = std::shared_ptr< AirshipExplorationLog >; - using AirshipExplorationParamTypePtr = std::shared_ptr< AirshipExplorationParamType >; - using AirshipExplorationPartPtr = std::shared_ptr< AirshipExplorationPart >; - using AirshipExplorationPointPtr = std::shared_ptr< AirshipExplorationPoint >; - using AnimaWeapon5Ptr = std::shared_ptr< AnimaWeapon5 >; - using AnimaWeapon5ParamPtr = std::shared_ptr< AnimaWeapon5Param >; - using AnimaWeapon5PatternGroupPtr = std::shared_ptr< AnimaWeapon5PatternGroup >; - using AnimaWeapon5SpiritTalkPtr = std::shared_ptr< AnimaWeapon5SpiritTalk >; - using AnimaWeapon5SpiritTalkParamPtr = std::shared_ptr< AnimaWeapon5SpiritTalkParam >; - using AnimaWeapon5TradeItemPtr = std::shared_ptr< AnimaWeapon5TradeItem >; - using AnimaWeaponFUITalkPtr = std::shared_ptr< AnimaWeaponFUITalk >; - using AnimaWeaponFUITalkParamPtr = std::shared_ptr< AnimaWeaponFUITalkParam >; - using AnimaWeaponIconPtr = std::shared_ptr< AnimaWeaponIcon >; - using AnimaWeaponItemPtr = std::shared_ptr< AnimaWeaponItem >; - 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 BalloonPtr = std::shared_ptr< Balloon >; - using BaseParamPtr = std::shared_ptr< BaseParam >; - using BattleLevePtr = std::shared_ptr< BattleLeve >; - 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 BGMPtr = std::shared_ptr< BGM >; - using BGMFadePtr = std::shared_ptr< BGMFade >; - using BGMSituationPtr = std::shared_ptr< BGMSituation >; - using BGMSwitchPtr = std::shared_ptr< BGMSwitch >; - using BGMSystemDefinePtr = std::shared_ptr< BGMSystemDefine >; - using BNpcAnnounceIconPtr = std::shared_ptr< BNpcAnnounceIcon >; - using BNpcBasePtr = std::shared_ptr< BNpcBase >; - using BNpcCustomizePtr = std::shared_ptr< BNpcCustomize >; - using BNpcNamePtr = std::shared_ptr< BNpcName >; - using BNpcPartsPtr = std::shared_ptr< BNpcParts >; - using BuddyPtr = std::shared_ptr< Buddy >; - using BuddyActionPtr = std::shared_ptr< BuddyAction >; - using BuddyEquipPtr = std::shared_ptr< BuddyEquip >; - using BuddyItemPtr = std::shared_ptr< BuddyItem >; - using BuddyRankPtr = std::shared_ptr< BuddyRank >; - using BuddySkillPtr = std::shared_ptr< BuddySkill >; - using CabinetPtr = std::shared_ptr< Cabinet >; - using CabinetCategoryPtr = std::shared_ptr< CabinetCategory >; - using CalendarPtr = std::shared_ptr< Calendar >; - using CharaMakeCustomizePtr = std::shared_ptr< CharaMakeCustomize >; - using CharaMakeTypePtr = std::shared_ptr< CharaMakeType >; - using ChocoboRacePtr = std::shared_ptr< ChocoboRace >; - using ChocoboRaceAbilityPtr = std::shared_ptr< ChocoboRaceAbility >; - using ChocoboRaceAbilityTypePtr = std::shared_ptr< ChocoboRaceAbilityType >; - using ChocoboRaceItemPtr = std::shared_ptr< ChocoboRaceItem >; - using ChocoboRaceRankPtr = std::shared_ptr< ChocoboRaceRank >; - using ChocoboRaceStatusPtr = std::shared_ptr< ChocoboRaceStatus >; - using ChocoboRaceTerritoryPtr = std::shared_ptr< ChocoboRaceTerritory >; - using ChocoboRaceTutorialPtr = std::shared_ptr< ChocoboRaceTutorial >; - using ChocoboRaceWeatherPtr = std::shared_ptr< ChocoboRaceWeather >; - using ChocoboTaxiPtr = std::shared_ptr< ChocoboTaxi >; - using ChocoboTaxiStandPtr = std::shared_ptr< ChocoboTaxiStand >; - using ClassJobPtr = std::shared_ptr< ClassJob >; - using ClassJobCategoryPtr = std::shared_ptr< ClassJobCategory >; - using CompanionPtr = std::shared_ptr< Companion >; - using CompanionMovePtr = std::shared_ptr< CompanionMove >; - using CompanionTransientPtr = std::shared_ptr< CompanionTransient >; - using CompanyActionPtr = std::shared_ptr< CompanyAction >; - using CompanyCraftDraftPtr = std::shared_ptr< CompanyCraftDraft >; - using CompanyCraftDraftCategoryPtr = std::shared_ptr< CompanyCraftDraftCategory >; - using CompanyCraftManufactoryStatePtr = std::shared_ptr< CompanyCraftManufactoryState >; - using CompanyCraftPartPtr = std::shared_ptr< CompanyCraftPart >; - using CompanyCraftProcessPtr = std::shared_ptr< CompanyCraftProcess >; - using CompanyCraftSequencePtr = std::shared_ptr< CompanyCraftSequence >; - using CompanyCraftSupplyItemPtr = std::shared_ptr< CompanyCraftSupplyItem >; - using CompanyCraftTypePtr = std::shared_ptr< CompanyCraftType >; - using CompleteJournalPtr = std::shared_ptr< CompleteJournal >; - using CompleteJournalCategoryPtr = std::shared_ptr< CompleteJournalCategory >; - using ContentCloseCyclePtr = std::shared_ptr< ContentCloseCycle >; - using ContentExActionPtr = std::shared_ptr< ContentExAction >; - using ContentFinderConditionPtr = std::shared_ptr< ContentFinderCondition >; - using ContentFinderConditionTransientPtr = std::shared_ptr< ContentFinderConditionTransient >; - using ContentGaugePtr = std::shared_ptr< ContentGauge >; - using ContentGaugeColorPtr = std::shared_ptr< ContentGaugeColor >; - using ContentMemberTypePtr = std::shared_ptr< ContentMemberType >; - using ContentNpcTalkPtr = std::shared_ptr< ContentNpcTalk >; - using ContentRoulettePtr = std::shared_ptr< ContentRoulette >; - using ContentRouletteOpenRulePtr = std::shared_ptr< ContentRouletteOpenRule >; - using ContentRouletteRoleBonusPtr = std::shared_ptr< ContentRouletteRoleBonus >; - using ContentsNotePtr = std::shared_ptr< ContentsNote >; - using ContentTalkPtr = std::shared_ptr< ContentTalk >; - using ContentTalkParamPtr = std::shared_ptr< ContentTalkParam >; - using ContentTypePtr = std::shared_ptr< ContentType >; - using CraftActionPtr = std::shared_ptr< CraftAction >; - using CraftLevePtr = std::shared_ptr< CraftLeve >; - using CraftTypePtr = std::shared_ptr< CraftType >; - using CreditPtr = std::shared_ptr< Credit >; - using CreditCastPtr = std::shared_ptr< CreditCast >; - using CurrencyPtr = std::shared_ptr< Currency >; - using CustomTalkPtr = std::shared_ptr< CustomTalk >; - using CutscenePtr = std::shared_ptr< Cutscene >; - using CutScreenImagePtr = std::shared_ptr< CutScreenImage >; - using DailySupplyItemPtr = std::shared_ptr< DailySupplyItem >; - using DeepDungeonPtr = std::shared_ptr< DeepDungeon >; - using DeepDungeonBanPtr = std::shared_ptr< DeepDungeonBan >; - using DeepDungeonDangerPtr = std::shared_ptr< DeepDungeonDanger >; - using DeepDungeonEquipmentPtr = std::shared_ptr< DeepDungeonEquipment >; - using DeepDungeonFloorEffectUIPtr = std::shared_ptr< DeepDungeonFloorEffectUI >; - using DeepDungeonItemPtr = std::shared_ptr< DeepDungeonItem >; - using DeepDungeonLayerPtr = std::shared_ptr< DeepDungeonLayer >; - using DeepDungeonMagicStonePtr = std::shared_ptr< DeepDungeonMagicStone >; - using DeepDungeonMap5XPtr = std::shared_ptr< DeepDungeonMap5X >; - using DeepDungeonRoomPtr = std::shared_ptr< DeepDungeonRoom >; - using DeepDungeonStatusPtr = std::shared_ptr< DeepDungeonStatus >; - using DefaultTalkPtr = std::shared_ptr< DefaultTalk >; - using DefaultTalkLipSyncTypePtr = std::shared_ptr< DefaultTalkLipSyncType >; - using DeliveryQuestPtr = std::shared_ptr< DeliveryQuest >; - using DisposalShopPtr = std::shared_ptr< DisposalShop >; - using DisposalShopFilterTypePtr = std::shared_ptr< DisposalShopFilterType >; - using DisposalShopItemPtr = std::shared_ptr< DisposalShopItem >; - using DpsChallengePtr = std::shared_ptr< DpsChallenge >; - using DpsChallengeOfficerPtr = std::shared_ptr< DpsChallengeOfficer >; - using DpsChallengeTransientPtr = std::shared_ptr< DpsChallengeTransient >; - using EmotePtr = std::shared_ptr< Emote >; - using EmoteCategoryPtr = std::shared_ptr< EmoteCategory >; - using ENpcBasePtr = std::shared_ptr< ENpcBase >; - using ENpcResidentPtr = std::shared_ptr< ENpcResident >; - using EObjPtr = std::shared_ptr< EObj >; - using EObjNamePtr = std::shared_ptr< EObjName >; - using EquipRaceCategoryPtr = std::shared_ptr< EquipRaceCategory >; - using EquipSlotCategoryPtr = std::shared_ptr< EquipSlotCategory >; - using EurekaAethernetPtr = std::shared_ptr< EurekaAethernet >; - using EurekaGrowDataPtr = std::shared_ptr< EurekaGrowData >; - using EurekaSphereElementAdjustPtr = std::shared_ptr< EurekaSphereElementAdjust >; - using EventActionPtr = std::shared_ptr< EventAction >; - using EventIconPriorityPtr = std::shared_ptr< EventIconPriority >; - using EventIconTypePtr = std::shared_ptr< EventIconType >; - using EventItemPtr = std::shared_ptr< EventItem >; - using EventItemCastTimelinePtr = std::shared_ptr< EventItemCastTimeline >; - using EventItemHelpPtr = std::shared_ptr< EventItemHelp >; - using EventItemTimelinePtr = std::shared_ptr< EventItemTimeline >; - using ExportedSGPtr = std::shared_ptr< ExportedSG >; - using ExVersionPtr = std::shared_ptr< ExVersion >; - using FatePtr = std::shared_ptr< Fate >; - 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 FccShopPtr = std::shared_ptr< FccShop >; - using FCHierarchyPtr = std::shared_ptr< FCHierarchy >; - using FCProfilePtr = std::shared_ptr< FCProfile >; - using FCReputationPtr = std::shared_ptr< FCReputation >; - using FCRightsPtr = std::shared_ptr< FCRights >; - using FieldMarkerPtr = std::shared_ptr< FieldMarker >; - using FishingRecordTypeTransientPtr = std::shared_ptr< FishingRecordTypeTransient >; - using FishingSpotPtr = std::shared_ptr< FishingSpot >; - using FishParameterPtr = std::shared_ptr< FishParameter >; - using Frontline03Ptr = std::shared_ptr< Frontline03 >; - using Frontline04Ptr = std::shared_ptr< Frontline04 >; - using GardeningSeedPtr = std::shared_ptr< GardeningSeed >; - using GatheringConditionPtr = std::shared_ptr< GatheringCondition >; - using GatheringExpPtr = std::shared_ptr< GatheringExp >; - using GatheringItemPtr = std::shared_ptr< GatheringItem >; - using GatheringItemLevelConvertTablePtr = std::shared_ptr< GatheringItemLevelConvertTable >; - using GatheringItemPointPtr = std::shared_ptr< GatheringItemPoint >; - using GatheringLevePtr = std::shared_ptr< GatheringLeve >; - using GatheringLeveRoutePtr = std::shared_ptr< GatheringLeveRoute >; - using GatheringNotebookListPtr = std::shared_ptr< GatheringNotebookList >; - using GatheringPointPtr = std::shared_ptr< GatheringPoint >; - using GatheringPointBasePtr = std::shared_ptr< GatheringPointBase >; - using GatheringPointBonusPtr = std::shared_ptr< GatheringPointBonus >; - using GatheringPointBonusTypePtr = std::shared_ptr< GatheringPointBonusType >; - using GatheringPointNamePtr = std::shared_ptr< GatheringPointName >; - using GatheringSubCategoryPtr = std::shared_ptr< GatheringSubCategory >; - using GatheringTypePtr = std::shared_ptr< GatheringType >; - using GcArmyCaptureTacticsPtr = std::shared_ptr< GcArmyCaptureTactics >; - using GcArmyExpeditionPtr = std::shared_ptr< GcArmyExpedition >; - using GcArmyExpeditionMemberBonusPtr = std::shared_ptr< GcArmyExpeditionMemberBonus >; - using GcArmyExpeditionTypePtr = std::shared_ptr< GcArmyExpeditionType >; - using GcArmyMemberGrowPtr = std::shared_ptr< GcArmyMemberGrow >; - using GcArmyTrainingPtr = std::shared_ptr< GcArmyTraining >; - using GCRankGridaniaFemaleTextPtr = std::shared_ptr< GCRankGridaniaFemaleText >; - using GCRankGridaniaMaleTextPtr = std::shared_ptr< GCRankGridaniaMaleText >; - using GCRankLimsaFemaleTextPtr = std::shared_ptr< GCRankLimsaFemaleText >; - using GCRankLimsaMaleTextPtr = std::shared_ptr< GCRankLimsaMaleText >; - using GCRankUldahFemaleTextPtr = std::shared_ptr< GCRankUldahFemaleText >; - using GCRankUldahMaleTextPtr = std::shared_ptr< GCRankUldahMaleText >; - using GCScripShopCategoryPtr = std::shared_ptr< GCScripShopCategory >; - using GCScripShopItemPtr = std::shared_ptr< GCScripShopItem >; - using GCShopPtr = std::shared_ptr< GCShop >; - using GCShopItemCategoryPtr = std::shared_ptr< GCShopItemCategory >; - using GCSupplyDutyPtr = std::shared_ptr< GCSupplyDuty >; - using GCSupplyDutyRewardPtr = std::shared_ptr< GCSupplyDutyReward >; - using GeneralActionPtr = std::shared_ptr< GeneralAction >; - using GFATEPtr = std::shared_ptr< GFATE >; - using GilShopPtr = std::shared_ptr< GilShop >; - using GilShopItemPtr = std::shared_ptr< GilShopItem >; - 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 GuardianDeityPtr = std::shared_ptr< GuardianDeity >; - using GuildleveAssignmentPtr = std::shared_ptr< GuildleveAssignment >; - using GuildleveAssignmentCategoryPtr = std::shared_ptr< GuildleveAssignmentCategory >; - using GuildOrderGuidePtr = std::shared_ptr< GuildOrderGuide >; - using GuildOrderOfficerPtr = std::shared_ptr< GuildOrderOfficer >; - using HairMakeTypePtr = std::shared_ptr< HairMakeType >; - using HouseRetainerPosePtr = std::shared_ptr< HouseRetainerPose >; - using HousingAethernetPtr = std::shared_ptr< HousingAethernet >; - using HousingEmploymentNpcListPtr = std::shared_ptr< HousingEmploymentNpcList >; - using HousingEmploymentNpcRacePtr = std::shared_ptr< HousingEmploymentNpcRace >; - using HousingFurniturePtr = std::shared_ptr< HousingFurniture >; - using HousingLandSetPtr = std::shared_ptr< HousingLandSet >; - using HousingPlacementPtr = std::shared_ptr< HousingPlacement >; - using HousingPresetPtr = std::shared_ptr< HousingPreset >; - using HousingYardObjectPtr = std::shared_ptr< HousingYardObject >; - using HowToPtr = std::shared_ptr< HowTo >; - using HowToCategoryPtr = std::shared_ptr< HowToCategory >; - using HowToPagePtr = std::shared_ptr< HowToPage >; - using InstanceContentPtr = std::shared_ptr< InstanceContent >; - using InstanceContentBuffPtr = std::shared_ptr< InstanceContentBuff >; - using InstanceContentTextDataPtr = std::shared_ptr< InstanceContentTextData >; - using ItemPtr = std::shared_ptr< Item >; - using ItemActionPtr = std::shared_ptr< ItemAction >; - using ItemFoodPtr = std::shared_ptr< ItemFood >; - using ItemSearchCategoryPtr = std::shared_ptr< ItemSearchCategory >; - using ItemSeriesPtr = std::shared_ptr< ItemSeries >; - using ItemSpecialBonusPtr = std::shared_ptr< ItemSpecialBonus >; - using ItemUICategoryPtr = std::shared_ptr< ItemUICategory >; - using JournalCategoryPtr = std::shared_ptr< JournalCategory >; - using JournalGenrePtr = std::shared_ptr< JournalGenre >; - using JournalSectionPtr = std::shared_ptr< JournalSection >; - 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 LeveVfxPtr = std::shared_ptr< LeveVfx >; - 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 >; - using MacroIconRedirectOldPtr = std::shared_ptr< MacroIconRedirectOld >; - using MainCommandPtr = std::shared_ptr< MainCommand >; - using MainCommandCategoryPtr = std::shared_ptr< MainCommandCategory >; - using ManeuversArmorPtr = std::shared_ptr< ManeuversArmor >; - using MapPtr = std::shared_ptr< Map >; - using MapMarkerPtr = std::shared_ptr< MapMarker >; - using MapMarkerRegionPtr = std::shared_ptr< MapMarkerRegion >; - using MapSymbolPtr = std::shared_ptr< MapSymbol >; - using MarkerPtr = std::shared_ptr< Marker >; - using MasterpieceSupplyDutyPtr = std::shared_ptr< MasterpieceSupplyDuty >; - using MasterpieceSupplyMultiplierPtr = std::shared_ptr< MasterpieceSupplyMultiplier >; - using MateriaPtr = std::shared_ptr< Materia >; - using MinionRacePtr = std::shared_ptr< MinionRace >; - using MinionRulesPtr = std::shared_ptr< MinionRules >; - using MinionSkillTypePtr = std::shared_ptr< MinionSkillType >; - using MobHuntOrderTypePtr = std::shared_ptr< MobHuntOrderType >; - using MobHuntTargetPtr = std::shared_ptr< MobHuntTarget >; - using ModelCharaPtr = std::shared_ptr< ModelChara >; - using ModelStatePtr = std::shared_ptr< ModelState >; - using MonsterNotePtr = std::shared_ptr< MonsterNote >; - using MonsterNoteTargetPtr = std::shared_ptr< MonsterNoteTarget >; - using MountPtr = std::shared_ptr< Mount >; - using MountActionPtr = std::shared_ptr< MountAction >; - using MountCustomizePtr = std::shared_ptr< MountCustomize >; - using MountFlyingConditionPtr = std::shared_ptr< MountFlyingCondition >; - using MountSpeedPtr = std::shared_ptr< MountSpeed >; - using MountTransientPtr = std::shared_ptr< MountTransient >; - using MoveTimelinePtr = std::shared_ptr< MoveTimeline >; - using MoveVfxPtr = std::shared_ptr< MoveVfx >; - using NpcEquipPtr = std::shared_ptr< NpcEquip >; - using NpcYellPtr = std::shared_ptr< NpcYell >; - using OmenPtr = std::shared_ptr< Omen >; - using OnlineStatusPtr = std::shared_ptr< OnlineStatus >; - using OpeningPtr = std::shared_ptr< Opening >; - using OrchestrionPtr = std::shared_ptr< Orchestrion >; - using OrchestrionCategoryPtr = std::shared_ptr< OrchestrionCategory >; - using OrchestrionPathPtr = std::shared_ptr< OrchestrionPath >; - using OrchestrionUiparamPtr = std::shared_ptr< OrchestrionUiparam >; - using ParamGrowPtr = std::shared_ptr< ParamGrow >; - using PartyContentCutscenePtr = std::shared_ptr< PartyContentCutscene >; - 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 PicturePtr = std::shared_ptr< Picture >; - using PlaceNamePtr = std::shared_ptr< PlaceName >; - using PlantPotFlowerSeedPtr = std::shared_ptr< PlantPotFlowerSeed >; - using PreHandlerPtr = std::shared_ptr< PreHandler >; - using PublicContentPtr = std::shared_ptr< PublicContent >; - using PublicContentCutscenePtr = std::shared_ptr< PublicContentCutscene >; - using PublicContentTextDataPtr = std::shared_ptr< PublicContentTextData >; - using PvPActionPtr = std::shared_ptr< PvPAction >; - using PvPActionSortPtr = std::shared_ptr< PvPActionSort >; - using PvPRankPtr = std::shared_ptr< PvPRank >; - using PvPSelectTraitPtr = std::shared_ptr< PvPSelectTrait >; - using PvPTraitPtr = std::shared_ptr< PvPTrait >; - using QuestPtr = std::shared_ptr< Quest >; - using QuestClassJobRewardPtr = std::shared_ptr< QuestClassJobReward >; - using QuestClassJobSupplyPtr = std::shared_ptr< QuestClassJobSupply >; - using QuestRepeatFlagPtr = std::shared_ptr< QuestRepeatFlag >; - using QuestRewardOtherPtr = std::shared_ptr< QuestRewardOther >; - using QuickChatPtr = std::shared_ptr< QuickChat >; - using QuickChatTransientPtr = std::shared_ptr< QuickChatTransient >; - using RacePtr = std::shared_ptr< Race >; - using RacingChocoboItemPtr = std::shared_ptr< RacingChocoboItem >; - using RacingChocoboNamePtr = std::shared_ptr< RacingChocoboName >; - using RacingChocoboNameCategoryPtr = std::shared_ptr< RacingChocoboNameCategory >; - using RacingChocoboNameInfoPtr = std::shared_ptr< RacingChocoboNameInfo >; - using RacingChocoboParamPtr = std::shared_ptr< RacingChocoboParam >; - using RecipePtr = std::shared_ptr< Recipe >; - using RecipeElementPtr = std::shared_ptr< RecipeElement >; - using RecipeLevelTablePtr = std::shared_ptr< RecipeLevelTable >; - using RecipeNotebookListPtr = std::shared_ptr< RecipeNotebookList >; - using RecommendContentsPtr = std::shared_ptr< RecommendContents >; - using RelicPtr = std::shared_ptr< Relic >; - using Relic3Ptr = std::shared_ptr< Relic3 >; - using RelicItemPtr = std::shared_ptr< RelicItem >; - using RelicNotePtr = std::shared_ptr< RelicNote >; - using RelicNoteCategoryPtr = std::shared_ptr< RelicNoteCategory >; - using ResidentPtr = std::shared_ptr< Resident >; - using RetainerTaskPtr = std::shared_ptr< RetainerTask >; - using RetainerTaskLvRangePtr = std::shared_ptr< RetainerTaskLvRange >; - using RetainerTaskNormalPtr = std::shared_ptr< RetainerTaskNormal >; - using RetainerTaskParameterPtr = std::shared_ptr< RetainerTaskParameter >; - using RetainerTaskRandomPtr = std::shared_ptr< RetainerTaskRandom >; - using RPParameterPtr = std::shared_ptr< RPParameter >; - using SalvagePtr = std::shared_ptr< Salvage >; - using SatisfactionNpcPtr = std::shared_ptr< SatisfactionNpc >; - using SatisfactionSupplyPtr = std::shared_ptr< SatisfactionSupply >; - using SatisfactionSupplyRewardPtr = std::shared_ptr< SatisfactionSupplyReward >; - using ScenarioTreePtr = std::shared_ptr< ScenarioTree >; - using ScenarioTreeTipsPtr = std::shared_ptr< ScenarioTreeTips >; - using ScenarioTreeTipsClassQuestPtr = std::shared_ptr< ScenarioTreeTipsClassQuest >; - using ScenarioTreeTipsQuestPtr = std::shared_ptr< ScenarioTreeTipsQuest >; - using ScenarioTypePtr = std::shared_ptr< ScenarioType >; - using ScreenImagePtr = std::shared_ptr< ScreenImage >; - using SecretRecipeBookPtr = std::shared_ptr< SecretRecipeBook >; - using SkyIsland2MissionPtr = std::shared_ptr< SkyIsland2Mission >; - using SkyIsland2MissionDetailPtr = std::shared_ptr< SkyIsland2MissionDetail >; - using SkyIsland2MissionTypePtr = std::shared_ptr< SkyIsland2MissionType >; - using SkyIsland2RangeTypePtr = std::shared_ptr< SkyIsland2RangeType >; - using SpearfishingItemPtr = std::shared_ptr< SpearfishingItem >; - using SpearfishingNotebookPtr = std::shared_ptr< SpearfishingNotebook >; - using SpearfishingRecordPagePtr = std::shared_ptr< SpearfishingRecordPage >; - using SpecialShopPtr = std::shared_ptr< SpecialShop >; - using SpecialShopItemCategoryPtr = std::shared_ptr< SpecialShopItemCategory >; - using StainPtr = std::shared_ptr< Stain >; - using StainTransientPtr = std::shared_ptr< StainTransient >; - using StatusPtr = std::shared_ptr< Status >; - using StatusHitEffectPtr = std::shared_ptr< StatusHitEffect >; - using StatusLoopVFXPtr = std::shared_ptr< StatusLoopVFX >; - using StoryPtr = std::shared_ptr< Story >; - using SubmarineExplorationPtr = std::shared_ptr< SubmarineExploration >; - using SubmarinePartPtr = std::shared_ptr< SubmarinePart >; - using SubmarineRankPtr = std::shared_ptr< SubmarineRank >; - using SwitchTalkPtr = std::shared_ptr< SwitchTalk >; - using TerritoryTypePtr = std::shared_ptr< TerritoryType >; - using TextCommandPtr = std::shared_ptr< TextCommand >; - using TitlePtr = std::shared_ptr< Title >; - using TomestonesPtr = std::shared_ptr< Tomestones >; - using TomestonesItemPtr = std::shared_ptr< TomestonesItem >; - using TopicSelectPtr = std::shared_ptr< TopicSelect >; - using TownPtr = std::shared_ptr< Town >; - using TraitPtr = std::shared_ptr< Trait >; - using TraitRecastPtr = std::shared_ptr< TraitRecast >; - using TraitTransientPtr = std::shared_ptr< TraitTransient >; - using TransformationPtr = std::shared_ptr< Transformation >; - using TreasurePtr = std::shared_ptr< Treasure >; - using TreasureHuntRankPtr = std::shared_ptr< TreasureHuntRank >; - using TribePtr = std::shared_ptr< Tribe >; - using TripleTriadPtr = std::shared_ptr< TripleTriad >; - using TripleTriadCardPtr = std::shared_ptr< TripleTriadCard >; - using TripleTriadCardRarityPtr = std::shared_ptr< TripleTriadCardRarity >; - using TripleTriadCardResidentPtr = std::shared_ptr< TripleTriadCardResident >; - using TripleTriadCardTypePtr = std::shared_ptr< TripleTriadCardType >; - using TripleTriadCompetitionPtr = std::shared_ptr< TripleTriadCompetition >; - using TripleTriadRulePtr = std::shared_ptr< TripleTriadRule >; - using TutorialPtr = std::shared_ptr< Tutorial >; - using TutorialDPSPtr = std::shared_ptr< TutorialDPS >; - using TutorialHealerPtr = std::shared_ptr< TutorialHealer >; - using TutorialTankPtr = std::shared_ptr< TutorialTank >; - using VaseFlowerPtr = std::shared_ptr< VaseFlower >; - using VFXPtr = std::shared_ptr< VFX >; - using WarpPtr = std::shared_ptr< Warp >; - using WarpConditionPtr = std::shared_ptr< WarpCondition >; - using WarpLogicPtr = std::shared_ptr< WarpLogic >; - using WeatherPtr = std::shared_ptr< Weather >; - using WeatherGroupPtr = std::shared_ptr< WeatherGroup >; - using WeatherRatePtr = std::shared_ptr< WeatherRate >; - using WeddingBGMPtr = std::shared_ptr< WeddingBGM >; - using WeeklyBingoOrderDataPtr = std::shared_ptr< WeeklyBingoOrderData >; - using WeeklyBingoRewardDataPtr = std::shared_ptr< WeeklyBingoRewardData >; - using WeeklyBingoTextPtr = std::shared_ptr< WeeklyBingoText >; - using WeeklyLotBonusPtr = std::shared_ptr< WeeklyLotBonus >; - using WorldPtr = std::shared_ptr< World >; - using WorldDCGroupTypePtr = std::shared_ptr< WorldDCGroupType >; - using YKWPtr = std::shared_ptr< YKW >; - using ZoneSharedGroupPtr = std::shared_ptr< ZoneSharedGroup >; + using AchievementPtr = std::shared_ptr< Achievement >; + using AchievementCategoryPtr = std::shared_ptr< AchievementCategory >; + using AchievementKindPtr = std::shared_ptr< AchievementKind >; + using ActionPtr = std::shared_ptr< Action >; + using ActionCastTimelinePtr = std::shared_ptr< ActionCastTimeline >; + using ActionCastVFXPtr = std::shared_ptr< ActionCastVFX >; + using ActionCategoryPtr = std::shared_ptr< ActionCategory >; + using ActionComboRoutePtr = std::shared_ptr< ActionComboRoute >; + using ActionIndirectionPtr = std::shared_ptr< ActionIndirection >; + using ActionParamPtr = std::shared_ptr< ActionParam >; + using ActionProcStatusPtr = std::shared_ptr< ActionProcStatus >; + using ActionTimelinePtr = std::shared_ptr< ActionTimeline >; + using ActionTimelineMovePtr = std::shared_ptr< ActionTimelineMove >; + using ActionTimelineReplacePtr = std::shared_ptr< ActionTimelineReplace >; + using ActionTransientPtr = std::shared_ptr< ActionTransient >; + using ActivityFeedButtonsPtr = std::shared_ptr< ActivityFeedButtons >; + using ActivityFeedCaptionsPtr = std::shared_ptr< ActivityFeedCaptions >; + using ActivityFeedGroupCaptionsPtr = std::shared_ptr< ActivityFeedGroupCaptions >; + using ActivityFeedImagesPtr = std::shared_ptr< ActivityFeedImages >; + using AddonPtr = std::shared_ptr< Addon >; + using AddonHudPtr = std::shared_ptr< AddonHud >; + using AdventurePtr = std::shared_ptr< Adventure >; + using AdventureExPhasePtr = std::shared_ptr< AdventureExPhase >; + using AetherCurrentPtr = std::shared_ptr< AetherCurrent >; + using AetherCurrentCompFlgSetPtr = std::shared_ptr< AetherCurrentCompFlgSet >; + using AetherialWheelPtr = std::shared_ptr< AetherialWheel >; + using AetherytePtr = std::shared_ptr< Aetheryte >; + using AetheryteSystemDefinePtr = std::shared_ptr< AetheryteSystemDefine >; + using AirshipExplorationLevelPtr = std::shared_ptr< AirshipExplorationLevel >; + using AirshipExplorationLogPtr = std::shared_ptr< AirshipExplorationLog >; + using AirshipExplorationParamTypePtr = std::shared_ptr< AirshipExplorationParamType >; + using AirshipExplorationPartPtr = std::shared_ptr< AirshipExplorationPart >; + using AirshipExplorationPointPtr = std::shared_ptr< AirshipExplorationPoint >; + using AnimaWeapon5Ptr = std::shared_ptr< AnimaWeapon5 >; + using AnimaWeapon5ParamPtr = std::shared_ptr< AnimaWeapon5Param >; + using AnimaWeapon5PatternGroupPtr = std::shared_ptr< AnimaWeapon5PatternGroup >; + using AnimaWeapon5SpiritTalkPtr = std::shared_ptr< AnimaWeapon5SpiritTalk >; + using AnimaWeapon5SpiritTalkParamPtr = std::shared_ptr< AnimaWeapon5SpiritTalkParam >; + using AnimaWeapon5TradeItemPtr = std::shared_ptr< AnimaWeapon5TradeItem >; + using AnimaWeaponFUITalkPtr = std::shared_ptr< AnimaWeaponFUITalk >; + using AnimaWeaponFUITalkParamPtr = std::shared_ptr< AnimaWeaponFUITalkParam >; + using AnimaWeaponIconPtr = std::shared_ptr< AnimaWeaponIcon >; + using AnimaWeaponItemPtr = std::shared_ptr< AnimaWeaponItem >; + 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 BalloonPtr = std::shared_ptr< Balloon >; + using BaseParamPtr = std::shared_ptr< BaseParam >; + using BattleLevePtr = std::shared_ptr< BattleLeve >; + 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 BGMPtr = std::shared_ptr< BGM >; + using BGMFadePtr = std::shared_ptr< BGMFade >; + using BGMSituationPtr = std::shared_ptr< BGMSituation >; + using BGMSwitchPtr = std::shared_ptr< BGMSwitch >; + using BGMSystemDefinePtr = std::shared_ptr< BGMSystemDefine >; + using BNpcAnnounceIconPtr = std::shared_ptr< BNpcAnnounceIcon >; + using BNpcBasePtr = std::shared_ptr< BNpcBase >; + using BNpcCustomizePtr = std::shared_ptr< BNpcCustomize >; + using BNpcNamePtr = std::shared_ptr< BNpcName >; + using BNpcPartsPtr = std::shared_ptr< BNpcParts >; + using BuddyPtr = std::shared_ptr< Buddy >; + using BuddyActionPtr = std::shared_ptr< BuddyAction >; + using BuddyEquipPtr = std::shared_ptr< BuddyEquip >; + using BuddyItemPtr = std::shared_ptr< BuddyItem >; + using BuddyRankPtr = std::shared_ptr< BuddyRank >; + using BuddySkillPtr = std::shared_ptr< BuddySkill >; + using CabinetPtr = std::shared_ptr< Cabinet >; + using CabinetCategoryPtr = std::shared_ptr< CabinetCategory >; + using CalendarPtr = std::shared_ptr< Calendar >; + using CharaMakeCustomizePtr = std::shared_ptr< CharaMakeCustomize >; + using CharaMakeTypePtr = std::shared_ptr< CharaMakeType >; + using ChocoboRacePtr = std::shared_ptr< ChocoboRace >; + using ChocoboRaceAbilityPtr = std::shared_ptr< ChocoboRaceAbility >; + using ChocoboRaceAbilityTypePtr = std::shared_ptr< ChocoboRaceAbilityType >; + using ChocoboRaceItemPtr = std::shared_ptr< ChocoboRaceItem >; + using ChocoboRaceRankPtr = std::shared_ptr< ChocoboRaceRank >; + using ChocoboRaceStatusPtr = std::shared_ptr< ChocoboRaceStatus >; + using ChocoboRaceTerritoryPtr = std::shared_ptr< ChocoboRaceTerritory >; + using ChocoboRaceTutorialPtr = std::shared_ptr< ChocoboRaceTutorial >; + using ChocoboRaceWeatherPtr = std::shared_ptr< ChocoboRaceWeather >; + using ChocoboTaxiPtr = std::shared_ptr< ChocoboTaxi >; + using ChocoboTaxiStandPtr = std::shared_ptr< ChocoboTaxiStand >; + using ClassJobPtr = std::shared_ptr< ClassJob >; + using ClassJobCategoryPtr = std::shared_ptr< ClassJobCategory >; + using CompanionPtr = std::shared_ptr< Companion >; + using CompanionMovePtr = std::shared_ptr< CompanionMove >; + using CompanionTransientPtr = std::shared_ptr< CompanionTransient >; + using CompanyActionPtr = std::shared_ptr< CompanyAction >; + using CompanyCraftDraftPtr = std::shared_ptr< CompanyCraftDraft >; + using CompanyCraftDraftCategoryPtr = std::shared_ptr< CompanyCraftDraftCategory >; + using CompanyCraftManufactoryStatePtr = std::shared_ptr< CompanyCraftManufactoryState >; + using CompanyCraftPartPtr = std::shared_ptr< CompanyCraftPart >; + using CompanyCraftProcessPtr = std::shared_ptr< CompanyCraftProcess >; + using CompanyCraftSequencePtr = std::shared_ptr< CompanyCraftSequence >; + using CompanyCraftSupplyItemPtr = std::shared_ptr< CompanyCraftSupplyItem >; + using CompanyCraftTypePtr = std::shared_ptr< CompanyCraftType >; + using CompleteJournalPtr = std::shared_ptr< CompleteJournal >; + using CompleteJournalCategoryPtr = std::shared_ptr< CompleteJournalCategory >; + using ContentCloseCyclePtr = std::shared_ptr< ContentCloseCycle >; + using ContentExActionPtr = std::shared_ptr< ContentExAction >; + using ContentFinderConditionPtr = std::shared_ptr< ContentFinderCondition >; + using ContentFinderConditionTransientPtr = std::shared_ptr< ContentFinderConditionTransient >; + using ContentGaugePtr = std::shared_ptr< ContentGauge >; + using ContentGaugeColorPtr = std::shared_ptr< ContentGaugeColor >; + using ContentMemberTypePtr = std::shared_ptr< ContentMemberType >; + using ContentNpcTalkPtr = std::shared_ptr< ContentNpcTalk >; + using ContentRoulettePtr = std::shared_ptr< ContentRoulette >; + using ContentRouletteOpenRulePtr = std::shared_ptr< ContentRouletteOpenRule >; + using ContentRouletteRoleBonusPtr = std::shared_ptr< ContentRouletteRoleBonus >; + using ContentsNotePtr = std::shared_ptr< ContentsNote >; + using ContentTalkPtr = std::shared_ptr< ContentTalk >; + using ContentTalkParamPtr = std::shared_ptr< ContentTalkParam >; + using ContentTypePtr = std::shared_ptr< ContentType >; + using CraftActionPtr = std::shared_ptr< CraftAction >; + using CraftLevePtr = std::shared_ptr< CraftLeve >; + using CraftTypePtr = std::shared_ptr< CraftType >; + using CreditPtr = std::shared_ptr< Credit >; + using CreditCastPtr = std::shared_ptr< CreditCast >; + using CurrencyPtr = std::shared_ptr< Currency >; + using CustomTalkPtr = std::shared_ptr< CustomTalk >; + using CutscenePtr = std::shared_ptr< Cutscene >; + using CutScreenImagePtr = std::shared_ptr< CutScreenImage >; + using DailySupplyItemPtr = std::shared_ptr< DailySupplyItem >; + using DeepDungeonPtr = std::shared_ptr< DeepDungeon >; + using DeepDungeonBanPtr = std::shared_ptr< DeepDungeonBan >; + using DeepDungeonDangerPtr = std::shared_ptr< DeepDungeonDanger >; + using DeepDungeonEquipmentPtr = std::shared_ptr< DeepDungeonEquipment >; + using DeepDungeonFloorEffectUIPtr = std::shared_ptr< DeepDungeonFloorEffectUI >; + using DeepDungeonItemPtr = std::shared_ptr< DeepDungeonItem >; + using DeepDungeonLayerPtr = std::shared_ptr< DeepDungeonLayer >; + using DeepDungeonMagicStonePtr = std::shared_ptr< DeepDungeonMagicStone >; + using DeepDungeonMap5XPtr = std::shared_ptr< DeepDungeonMap5X >; + using DeepDungeonRoomPtr = std::shared_ptr< DeepDungeonRoom >; + using DeepDungeonStatusPtr = std::shared_ptr< DeepDungeonStatus >; + using DefaultTalkPtr = std::shared_ptr< DefaultTalk >; + using DefaultTalkLipSyncTypePtr = std::shared_ptr< DefaultTalkLipSyncType >; + using DeliveryQuestPtr = std::shared_ptr< DeliveryQuest >; + using DisposalShopPtr = std::shared_ptr< DisposalShop >; + using DisposalShopFilterTypePtr = std::shared_ptr< DisposalShopFilterType >; + using DisposalShopItemPtr = std::shared_ptr< DisposalShopItem >; + using DpsChallengePtr = std::shared_ptr< DpsChallenge >; + using DpsChallengeOfficerPtr = std::shared_ptr< DpsChallengeOfficer >; + using DpsChallengeTransientPtr = std::shared_ptr< DpsChallengeTransient >; + using EmotePtr = std::shared_ptr< Emote >; + using EmoteCategoryPtr = std::shared_ptr< EmoteCategory >; + using ENpcBasePtr = std::shared_ptr< ENpcBase >; + using ENpcResidentPtr = std::shared_ptr< ENpcResident >; + using EObjPtr = std::shared_ptr< EObj >; + using EObjNamePtr = std::shared_ptr< EObjName >; + using EquipRaceCategoryPtr = std::shared_ptr< EquipRaceCategory >; + using EquipSlotCategoryPtr = std::shared_ptr< EquipSlotCategory >; + using EurekaAetherItemPtr = std::shared_ptr< EurekaAetherItem >; + using EurekaAethernetPtr = std::shared_ptr< EurekaAethernet >; + using EurekaGrowDataPtr = std::shared_ptr< EurekaGrowData >; + using EurekaLogosMixerProbabilityPtr = std::shared_ptr< EurekaLogosMixerProbability >; + using EurekaMagiaActionPtr = std::shared_ptr< EurekaMagiaAction >; + using EurekaMagiciteItemPtr = std::shared_ptr< EurekaMagiciteItem >; + using EurekaMagiciteItemTypePtr = std::shared_ptr< EurekaMagiciteItemType >; + using EurekaSphereElementAdjustPtr = std::shared_ptr< EurekaSphereElementAdjust >; + using EventActionPtr = std::shared_ptr< EventAction >; + using EventIconPriorityPtr = std::shared_ptr< EventIconPriority >; + using EventIconTypePtr = std::shared_ptr< EventIconType >; + using EventItemPtr = std::shared_ptr< EventItem >; + using EventItemCastTimelinePtr = std::shared_ptr< EventItemCastTimeline >; + using EventItemHelpPtr = std::shared_ptr< EventItemHelp >; + using EventItemTimelinePtr = std::shared_ptr< EventItemTimeline >; + using ExportedSGPtr = std::shared_ptr< ExportedSG >; + using ExVersionPtr = std::shared_ptr< ExVersion >; + using FatePtr = std::shared_ptr< Fate >; + 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 FccShopPtr = std::shared_ptr< FccShop >; + using FCHierarchyPtr = std::shared_ptr< FCHierarchy >; + using FCProfilePtr = std::shared_ptr< FCProfile >; + using FCReputationPtr = std::shared_ptr< FCReputation >; + using FCRightsPtr = std::shared_ptr< FCRights >; + using FestivalPtr = std::shared_ptr< Festival >; + using FieldMarkerPtr = std::shared_ptr< FieldMarker >; + using FishingRecordTypePtr = std::shared_ptr< FishingRecordType >; + using FishingRecordTypeTransientPtr = std::shared_ptr< FishingRecordTypeTransient >; + using FishingSpotPtr = std::shared_ptr< FishingSpot >; + using FishParameterPtr = std::shared_ptr< FishParameter >; + using Frontline03Ptr = std::shared_ptr< Frontline03 >; + using Frontline04Ptr = std::shared_ptr< Frontline04 >; + using GardeningSeedPtr = std::shared_ptr< GardeningSeed >; + using GatheringConditionPtr = std::shared_ptr< GatheringCondition >; + using GatheringExpPtr = std::shared_ptr< GatheringExp >; + using GatheringItemPtr = std::shared_ptr< GatheringItem >; + using GatheringItemLevelConvertTablePtr = std::shared_ptr< GatheringItemLevelConvertTable >; + using GatheringItemPointPtr = std::shared_ptr< GatheringItemPoint >; + using GatheringLevePtr = std::shared_ptr< GatheringLeve >; + using GatheringLeveRoutePtr = std::shared_ptr< GatheringLeveRoute >; + using GatheringNotebookListPtr = std::shared_ptr< GatheringNotebookList >; + using GatheringPointPtr = std::shared_ptr< GatheringPoint >; + using GatheringPointBasePtr = std::shared_ptr< GatheringPointBase >; + using GatheringPointBonusPtr = std::shared_ptr< GatheringPointBonus >; + using GatheringPointBonusTypePtr = std::shared_ptr< GatheringPointBonusType >; + using GatheringPointNamePtr = std::shared_ptr< GatheringPointName >; + using GatheringSubCategoryPtr = std::shared_ptr< GatheringSubCategory >; + using GatheringTypePtr = std::shared_ptr< GatheringType >; + using GcArmyCaptureTacticsPtr = std::shared_ptr< GcArmyCaptureTactics >; + using GcArmyExpeditionPtr = std::shared_ptr< GcArmyExpedition >; + using GcArmyExpeditionMemberBonusPtr = std::shared_ptr< GcArmyExpeditionMemberBonus >; + using GcArmyExpeditionTypePtr = std::shared_ptr< GcArmyExpeditionType >; + using GcArmyMemberGrowPtr = std::shared_ptr< GcArmyMemberGrow >; + using GcArmyTrainingPtr = std::shared_ptr< GcArmyTraining >; + using GCRankGridaniaFemaleTextPtr = std::shared_ptr< GCRankGridaniaFemaleText >; + using GCRankGridaniaMaleTextPtr = std::shared_ptr< GCRankGridaniaMaleText >; + using GCRankLimsaFemaleTextPtr = std::shared_ptr< GCRankLimsaFemaleText >; + using GCRankLimsaMaleTextPtr = std::shared_ptr< GCRankLimsaMaleText >; + using GCRankUldahFemaleTextPtr = std::shared_ptr< GCRankUldahFemaleText >; + using GCRankUldahMaleTextPtr = std::shared_ptr< GCRankUldahMaleText >; + using GCScripShopCategoryPtr = std::shared_ptr< GCScripShopCategory >; + using GCScripShopItemPtr = std::shared_ptr< GCScripShopItem >; + using GCShopPtr = std::shared_ptr< GCShop >; + using GCShopItemCategoryPtr = std::shared_ptr< GCShopItemCategory >; + using GCSupplyDutyPtr = std::shared_ptr< GCSupplyDuty >; + using GCSupplyDutyRewardPtr = std::shared_ptr< GCSupplyDutyReward >; + using GeneralActionPtr = std::shared_ptr< GeneralAction >; + using GFATEPtr = std::shared_ptr< GFATE >; + using GFateClimbing2Ptr = std::shared_ptr< GFateClimbing2 >; + using GFateClimbing2ContentPtr = std::shared_ptr< GFateClimbing2Content >; + using GFateClimbing2TotemTypePtr = std::shared_ptr< GFateClimbing2TotemType >; + using GilShopPtr = std::shared_ptr< GilShop >; + using GilShopItemPtr = std::shared_ptr< GilShopItem >; + 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 GuardianDeityPtr = std::shared_ptr< GuardianDeity >; + using GuildleveAssignmentPtr = std::shared_ptr< GuildleveAssignment >; + using GuildleveAssignmentCategoryPtr = std::shared_ptr< GuildleveAssignmentCategory >; + using GuildOrderGuidePtr = std::shared_ptr< GuildOrderGuide >; + using GuildOrderOfficerPtr = std::shared_ptr< GuildOrderOfficer >; + using HairMakeTypePtr = std::shared_ptr< HairMakeType >; + using HouseRetainerPosePtr = std::shared_ptr< HouseRetainerPose >; + using HousingAethernetPtr = std::shared_ptr< HousingAethernet >; + using HousingAppealPtr = std::shared_ptr< HousingAppeal >; + using HousingEmploymentNpcListPtr = std::shared_ptr< HousingEmploymentNpcList >; + using HousingEmploymentNpcRacePtr = std::shared_ptr< HousingEmploymentNpcRace >; + using HousingExteriorPtr = std::shared_ptr< HousingExterior >; + using HousingFurniturePtr = std::shared_ptr< HousingFurniture >; + using HousingMapMarkerInfoPtr = std::shared_ptr< HousingMapMarkerInfo >; + using HousingMerchantPosePtr = std::shared_ptr< HousingMerchantPose >; + using HousingLandSetPtr = std::shared_ptr< HousingLandSet >; + using HousingPlacementPtr = std::shared_ptr< HousingPlacement >; + using HousingPresetPtr = std::shared_ptr< HousingPreset >; + using HousingUnitedExteriorPtr = std::shared_ptr< HousingUnitedExterior >; + using HousingYardObjectPtr = std::shared_ptr< HousingYardObject >; + using HowToPtr = std::shared_ptr< HowTo >; + using HowToCategoryPtr = std::shared_ptr< HowToCategory >; + using HowToPagePtr = std::shared_ptr< HowToPage >; + using InstanceContentPtr = std::shared_ptr< InstanceContent >; + using InstanceContentBuffPtr = std::shared_ptr< InstanceContentBuff >; + using InstanceContentTextDataPtr = std::shared_ptr< InstanceContentTextData >; + using ItemPtr = std::shared_ptr< Item >; + using ItemActionPtr = std::shared_ptr< ItemAction >; + using ItemFoodPtr = std::shared_ptr< ItemFood >; + using ItemLevelPtr = std::shared_ptr< ItemLevel >; + using ItemSearchCategoryPtr = std::shared_ptr< ItemSearchCategory >; + using ItemSeriesPtr = std::shared_ptr< ItemSeries >; + using ItemSpecialBonusPtr = std::shared_ptr< ItemSpecialBonus >; + using ItemUICategoryPtr = std::shared_ptr< ItemUICategory >; + using JournalCategoryPtr = std::shared_ptr< JournalCategory >; + using JournalGenrePtr = std::shared_ptr< JournalGenre >; + using JournalSectionPtr = std::shared_ptr< JournalSection >; + 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 LeveVfxPtr = std::shared_ptr< LeveVfx >; + 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 >; + using MacroIconRedirectOldPtr = std::shared_ptr< MacroIconRedirectOld >; + using MainCommandPtr = std::shared_ptr< MainCommand >; + using MainCommandCategoryPtr = std::shared_ptr< MainCommandCategory >; + using ManeuversArmorPtr = std::shared_ptr< ManeuversArmor >; + using MapPtr = std::shared_ptr< Map >; + using MapMarkerPtr = std::shared_ptr< MapMarker >; + using MapMarkerRegionPtr = std::shared_ptr< MapMarkerRegion >; + using MapSymbolPtr = std::shared_ptr< MapSymbol >; + using MarkerPtr = std::shared_ptr< Marker >; + using MasterpieceSupplyDutyPtr = std::shared_ptr< MasterpieceSupplyDuty >; + using MasterpieceSupplyMultiplierPtr = std::shared_ptr< MasterpieceSupplyMultiplier >; + using MateriaPtr = std::shared_ptr< Materia >; + using MiniGameRAPtr = std::shared_ptr< MiniGameRA >; + using MinionRacePtr = std::shared_ptr< MinionRace >; + using MinionRulesPtr = std::shared_ptr< MinionRules >; + using MinionSkillTypePtr = std::shared_ptr< MinionSkillType >; + using MobHuntOrderTypePtr = std::shared_ptr< MobHuntOrderType >; + using MobHuntTargetPtr = std::shared_ptr< MobHuntTarget >; + using ModelCharaPtr = std::shared_ptr< ModelChara >; + using ModelStatePtr = std::shared_ptr< ModelState >; + using MonsterNotePtr = std::shared_ptr< MonsterNote >; + using MonsterNoteTargetPtr = std::shared_ptr< MonsterNoteTarget >; + using MountPtr = std::shared_ptr< Mount >; + using MountActionPtr = std::shared_ptr< MountAction >; + using MountCustomizePtr = std::shared_ptr< MountCustomize >; + using MountFlyingConditionPtr = std::shared_ptr< MountFlyingCondition >; + using MountSpeedPtr = std::shared_ptr< MountSpeed >; + using MountTransientPtr = std::shared_ptr< MountTransient >; + using MoveTimelinePtr = std::shared_ptr< MoveTimeline >; + using MoveVfxPtr = std::shared_ptr< MoveVfx >; + using NpcEquipPtr = std::shared_ptr< NpcEquip >; + using NpcYellPtr = std::shared_ptr< NpcYell >; + using OmenPtr = std::shared_ptr< Omen >; + using OnlineStatusPtr = std::shared_ptr< OnlineStatus >; + using OpeningPtr = std::shared_ptr< Opening >; + using OrchestrionPtr = std::shared_ptr< Orchestrion >; + using OrchestrionCategoryPtr = std::shared_ptr< OrchestrionCategory >; + using OrchestrionPathPtr = std::shared_ptr< OrchestrionPath >; + using OrchestrionUiparamPtr = std::shared_ptr< OrchestrionUiparam >; + using ParamGrowPtr = std::shared_ptr< ParamGrow >; + using PartyContentPtr = std::shared_ptr< PartyContent >; + using PartyContentCutscenePtr = std::shared_ptr< PartyContentCutscene >; + using PartyContentTextDataPtr = std::shared_ptr< PartyContentTextData >; + 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 PicturePtr = std::shared_ptr< Picture >; + using PlaceNamePtr = std::shared_ptr< PlaceName >; + using PlantPotFlowerSeedPtr = std::shared_ptr< PlantPotFlowerSeed >; + using PreHandlerPtr = std::shared_ptr< PreHandler >; + using PublicContentPtr = std::shared_ptr< PublicContent >; + using PublicContentCutscenePtr = std::shared_ptr< PublicContentCutscene >; + using PublicContentTextDataPtr = std::shared_ptr< PublicContentTextData >; + using PvPActionPtr = std::shared_ptr< PvPAction >; + using PvPActionSortPtr = std::shared_ptr< PvPActionSort >; + using PvPRankPtr = std::shared_ptr< PvPRank >; + using PvPSelectTraitPtr = std::shared_ptr< PvPSelectTrait >; + using PvPTraitPtr = std::shared_ptr< PvPTrait >; + using QuestPtr = std::shared_ptr< Quest >; + using QuestClassJobRewardPtr = std::shared_ptr< QuestClassJobReward >; + using QuestClassJobSupplyPtr = std::shared_ptr< QuestClassJobSupply >; + using QuestRepeatFlagPtr = std::shared_ptr< QuestRepeatFlag >; + using QuestRewardOtherPtr = std::shared_ptr< QuestRewardOther >; + using QuickChatPtr = std::shared_ptr< QuickChat >; + using QuickChatTransientPtr = std::shared_ptr< QuickChatTransient >; + using RacePtr = std::shared_ptr< Race >; + using RacingChocoboItemPtr = std::shared_ptr< RacingChocoboItem >; + using RacingChocoboNamePtr = std::shared_ptr< RacingChocoboName >; + using RacingChocoboNameCategoryPtr = std::shared_ptr< RacingChocoboNameCategory >; + using RacingChocoboNameInfoPtr = std::shared_ptr< RacingChocoboNameInfo >; + using RacingChocoboParamPtr = std::shared_ptr< RacingChocoboParam >; + using RecipePtr = std::shared_ptr< Recipe >; + using RecipeElementPtr = std::shared_ptr< RecipeElement >; + using RecipeLevelTablePtr = std::shared_ptr< RecipeLevelTable >; + using RecipeNotebookListPtr = std::shared_ptr< RecipeNotebookList >; + using RecommendContentsPtr = std::shared_ptr< RecommendContents >; + using RelicPtr = std::shared_ptr< Relic >; + using Relic3Ptr = std::shared_ptr< Relic3 >; + using RelicItemPtr = std::shared_ptr< RelicItem >; + using RelicNotePtr = std::shared_ptr< RelicNote >; + using RelicNoteCategoryPtr = std::shared_ptr< RelicNoteCategory >; + using ResidentPtr = std::shared_ptr< Resident >; + using RetainerTaskPtr = std::shared_ptr< RetainerTask >; + using RetainerTaskLvRangePtr = std::shared_ptr< RetainerTaskLvRange >; + using RetainerTaskNormalPtr = std::shared_ptr< RetainerTaskNormal >; + using RetainerTaskParameterPtr = std::shared_ptr< RetainerTaskParameter >; + using RetainerTaskRandomPtr = std::shared_ptr< RetainerTaskRandom >; + using RPParameterPtr = std::shared_ptr< RPParameter >; + using SalvagePtr = std::shared_ptr< Salvage >; + using SatisfactionNpcPtr = std::shared_ptr< SatisfactionNpc >; + using SatisfactionSupplyPtr = std::shared_ptr< SatisfactionSupply >; + using SatisfactionSupplyRewardPtr = std::shared_ptr< SatisfactionSupplyReward >; + using ScenarioTreePtr = std::shared_ptr< ScenarioTree >; + using ScenarioTreeTipsPtr = std::shared_ptr< ScenarioTreeTips >; + using ScenarioTreeTipsClassQuestPtr = std::shared_ptr< ScenarioTreeTipsClassQuest >; + using ScenarioTreeTipsQuestPtr = std::shared_ptr< ScenarioTreeTipsQuest >; + using ScenarioTypePtr = std::shared_ptr< ScenarioType >; + using ScreenImagePtr = std::shared_ptr< ScreenImage >; + using SecretRecipeBookPtr = std::shared_ptr< SecretRecipeBook >; + using SkyIsland2MissionPtr = std::shared_ptr< SkyIsland2Mission >; + using SkyIsland2MissionDetailPtr = std::shared_ptr< SkyIsland2MissionDetail >; + using SkyIsland2MissionTypePtr = std::shared_ptr< SkyIsland2MissionType >; + using SkyIsland2RangeTypePtr = std::shared_ptr< SkyIsland2RangeType >; + using SpearfishingItemPtr = std::shared_ptr< SpearfishingItem >; + using SpearfishingNotebookPtr = std::shared_ptr< SpearfishingNotebook >; + using SpearfishingRecordPagePtr = std::shared_ptr< SpearfishingRecordPage >; + using SpecialShopPtr = std::shared_ptr< SpecialShop >; + using SpecialShopItemCategoryPtr = std::shared_ptr< SpecialShopItemCategory >; + using StainPtr = std::shared_ptr< Stain >; + using StainTransientPtr = std::shared_ptr< StainTransient >; + using StatusPtr = std::shared_ptr< Status >; + using StatusHitEffectPtr = std::shared_ptr< StatusHitEffect >; + using StatusLoopVFXPtr = std::shared_ptr< StatusLoopVFX >; + using StoryPtr = std::shared_ptr< Story >; + using SubmarineExplorationPtr = std::shared_ptr< SubmarineExploration >; + using SubmarinePartPtr = std::shared_ptr< SubmarinePart >; + using SubmarineRankPtr = std::shared_ptr< SubmarineRank >; + using SwitchTalkPtr = std::shared_ptr< SwitchTalk >; + using TerritoryTypePtr = std::shared_ptr< TerritoryType >; + using TextCommandPtr = std::shared_ptr< TextCommand >; + using TitlePtr = std::shared_ptr< Title >; + using TomestonesPtr = std::shared_ptr< Tomestones >; + using TomestonesItemPtr = std::shared_ptr< TomestonesItem >; + using TopicSelectPtr = std::shared_ptr< TopicSelect >; + using TownPtr = std::shared_ptr< Town >; + using TraitPtr = std::shared_ptr< Trait >; + using TraitRecastPtr = std::shared_ptr< TraitRecast >; + using TraitTransientPtr = std::shared_ptr< TraitTransient >; + using TransformationPtr = std::shared_ptr< Transformation >; + using TreasurePtr = std::shared_ptr< Treasure >; + using TreasureHuntRankPtr = std::shared_ptr< TreasureHuntRank >; + using TribePtr = std::shared_ptr< Tribe >; + using TripleTriadPtr = std::shared_ptr< TripleTriad >; + using TripleTriadCardPtr = std::shared_ptr< TripleTriadCard >; + using TripleTriadCardRarityPtr = std::shared_ptr< TripleTriadCardRarity >; + using TripleTriadCardResidentPtr = std::shared_ptr< TripleTriadCardResident >; + using TripleTriadCardTypePtr = std::shared_ptr< TripleTriadCardType >; + using TripleTriadCompetitionPtr = std::shared_ptr< TripleTriadCompetition >; + using TripleTriadRulePtr = std::shared_ptr< TripleTriadRule >; + using TutorialPtr = std::shared_ptr< Tutorial >; + using TutorialDPSPtr = std::shared_ptr< TutorialDPS >; + using TutorialHealerPtr = std::shared_ptr< TutorialHealer >; + using TutorialTankPtr = std::shared_ptr< TutorialTank >; + using UIColorPtr = std::shared_ptr< UIColor >; + using VaseFlowerPtr = std::shared_ptr< VaseFlower >; + using VFXPtr = std::shared_ptr< VFX >; + using WarpPtr = std::shared_ptr< Warp >; + using WarpConditionPtr = std::shared_ptr< WarpCondition >; + using WarpLogicPtr = std::shared_ptr< WarpLogic >; + using WeatherPtr = std::shared_ptr< Weather >; + using WeatherGroupPtr = std::shared_ptr< WeatherGroup >; + using WeatherRatePtr = std::shared_ptr< WeatherRate >; + using WeddingBGMPtr = std::shared_ptr< WeddingBGM >; + using WeeklyBingoOrderDataPtr = std::shared_ptr< WeeklyBingoOrderData >; + using WeeklyBingoRewardDataPtr = std::shared_ptr< WeeklyBingoRewardData >; + using WeeklyBingoTextPtr = std::shared_ptr< WeeklyBingoText >; + using WeeklyLotBonusPtr = std::shared_ptr< WeeklyLotBonus >; + using WorldPtr = std::shared_ptr< World >; + using WorldDCGroupTypePtr = std::shared_ptr< WorldDCGroupType >; + using YKWPtr = std::shared_ptr< YKW >; + using ZoneSharedGroupPtr = std::shared_ptr< ZoneSharedGroup >; template< class T > std::shared_ptr< T > get( uint32_t id ) @@ -5859,8 +6274,13 @@ struct ZoneSharedGroup std::set< uint32_t > m_EObjNameIdList; std::set< uint32_t > m_EquipRaceCategoryIdList; std::set< uint32_t > m_EquipSlotCategoryIdList; + std::set< uint32_t > m_EurekaAetherItemIdList; std::set< uint32_t > m_EurekaAethernetIdList; std::set< uint32_t > m_EurekaGrowDataIdList; + std::set< uint32_t > m_EurekaLogosMixerProbabilityIdList; + std::set< uint32_t > m_EurekaMagiaActionIdList; + std::set< uint32_t > m_EurekaMagiciteItemIdList; + std::set< uint32_t > m_EurekaMagiciteItemTypeIdList; std::set< uint32_t > m_EurekaSphereElementAdjustIdList; std::set< uint32_t > m_EventActionIdList; std::set< uint32_t > m_EventIconPriorityIdList; @@ -5882,7 +6302,9 @@ struct ZoneSharedGroup std::set< uint32_t > m_FCProfileIdList; std::set< uint32_t > m_FCReputationIdList; std::set< uint32_t > m_FCRightsIdList; + std::set< uint32_t > m_FestivalIdList; std::set< uint32_t > m_FieldMarkerIdList; + std::set< uint32_t > m_FishingRecordTypeIdList; std::set< uint32_t > m_FishingRecordTypeTransientIdList; std::set< uint32_t > m_FishingSpotIdList; std::set< uint32_t > m_FishParameterIdList; @@ -5924,6 +6346,9 @@ struct ZoneSharedGroup std::set< uint32_t > m_GCSupplyDutyRewardIdList; std::set< uint32_t > m_GeneralActionIdList; std::set< uint32_t > m_GFATEIdList; + std::set< uint32_t > m_GFateClimbing2IdList; + std::set< uint32_t > m_GFateClimbing2ContentIdList; + std::set< uint32_t > m_GFateClimbing2TotemTypeIdList; std::set< uint32_t > m_GilShopIdList; std::set< uint32_t > m_GilShopItemIdList; std::set< uint32_t > m_GoldSaucerArcadeMachineIdList; @@ -5938,12 +6363,17 @@ struct ZoneSharedGroup std::set< uint32_t > m_HairMakeTypeIdList; std::set< uint32_t > m_HouseRetainerPoseIdList; std::set< uint32_t > m_HousingAethernetIdList; + std::set< uint32_t > m_HousingAppealIdList; std::set< uint32_t > m_HousingEmploymentNpcListIdList; std::set< uint32_t > m_HousingEmploymentNpcRaceIdList; + std::set< uint32_t > m_HousingExteriorIdList; std::set< uint32_t > m_HousingFurnitureIdList; + std::set< uint32_t > m_HousingMapMarkerInfoIdList; + std::set< uint32_t > m_HousingMerchantPoseIdList; std::set< uint32_t > m_HousingLandSetIdList; std::set< uint32_t > m_HousingPlacementIdList; std::set< uint32_t > m_HousingPresetIdList; + std::set< uint32_t > m_HousingUnitedExteriorIdList; std::set< uint32_t > m_HousingYardObjectIdList; std::set< uint32_t > m_HowToIdList; std::set< uint32_t > m_HowToCategoryIdList; @@ -5954,6 +6384,7 @@ struct ZoneSharedGroup std::set< uint32_t > m_ItemIdList; std::set< uint32_t > m_ItemActionIdList; std::set< uint32_t > m_ItemFoodIdList; + std::set< uint32_t > m_ItemLevelIdList; std::set< uint32_t > m_ItemSearchCategoryIdList; std::set< uint32_t > m_ItemSeriesIdList; std::set< uint32_t > m_ItemSpecialBonusIdList; @@ -5986,6 +6417,7 @@ struct ZoneSharedGroup std::set< uint32_t > m_MasterpieceSupplyDutyIdList; std::set< uint32_t > m_MasterpieceSupplyMultiplierIdList; std::set< uint32_t > m_MateriaIdList; + std::set< uint32_t > m_MiniGameRAIdList; std::set< uint32_t > m_MinionRaceIdList; std::set< uint32_t > m_MinionRulesIdList; std::set< uint32_t > m_MinionSkillTypeIdList; @@ -6013,7 +6445,9 @@ struct ZoneSharedGroup std::set< uint32_t > m_OrchestrionPathIdList; std::set< uint32_t > m_OrchestrionUiparamIdList; std::set< uint32_t > m_ParamGrowIdList; + std::set< uint32_t > m_PartyContentIdList; std::set< uint32_t > m_PartyContentCutsceneIdList; + std::set< uint32_t > m_PartyContentTextDataIdList; std::set< uint32_t > m_PerformIdList; std::set< uint32_t > m_PerformTransientIdList; std::set< uint32_t > m_PetIdList; @@ -6115,6 +6549,7 @@ struct ZoneSharedGroup std::set< uint32_t > m_TutorialDPSIdList; std::set< uint32_t > m_TutorialHealerIdList; std::set< uint32_t > m_TutorialTankIdList; + std::set< uint32_t > m_UIColorIdList; std::set< uint32_t > m_VaseFlowerIdList; std::set< uint32_t > m_VFXIdList; std::set< uint32_t > m_WarpIdList; @@ -7070,6 +7505,12 @@ const std::set< uint32_t >& getEquipSlotCategoryIdList() loadIdList( m_EquipSlotCategoryDat, m_EquipSlotCategoryIdList ); return m_EquipSlotCategoryIdList; } +const std::set< uint32_t >& getEurekaAetherItemIdList() +{ + if( m_EurekaAetherItemIdList.size() == 0 ) + loadIdList( m_EurekaAetherItemDat, m_EurekaAetherItemIdList ); + return m_EurekaAetherItemIdList; +} const std::set< uint32_t >& getEurekaAethernetIdList() { if( m_EurekaAethernetIdList.size() == 0 ) @@ -7082,6 +7523,30 @@ const std::set< uint32_t >& getEurekaGrowDataIdList() loadIdList( m_EurekaGrowDataDat, m_EurekaGrowDataIdList ); return m_EurekaGrowDataIdList; } +const std::set< uint32_t >& getEurekaLogosMixerProbabilityIdList() +{ + if( m_EurekaLogosMixerProbabilityIdList.size() == 0 ) + loadIdList( m_EurekaLogosMixerProbabilityDat, m_EurekaLogosMixerProbabilityIdList ); + return m_EurekaLogosMixerProbabilityIdList; +} +const std::set< uint32_t >& getEurekaMagiaActionIdList() +{ + if( m_EurekaMagiaActionIdList.size() == 0 ) + loadIdList( m_EurekaMagiaActionDat, m_EurekaMagiaActionIdList ); + return m_EurekaMagiaActionIdList; +} +const std::set< uint32_t >& getEurekaMagiciteItemIdList() +{ + if( m_EurekaMagiciteItemIdList.size() == 0 ) + loadIdList( m_EurekaMagiciteItemDat, m_EurekaMagiciteItemIdList ); + return m_EurekaMagiciteItemIdList; +} +const std::set< uint32_t >& getEurekaMagiciteItemTypeIdList() +{ + if( m_EurekaMagiciteItemTypeIdList.size() == 0 ) + loadIdList( m_EurekaMagiciteItemTypeDat, m_EurekaMagiciteItemTypeIdList ); + return m_EurekaMagiciteItemTypeIdList; +} const std::set< uint32_t >& getEurekaSphereElementAdjustIdList() { if( m_EurekaSphereElementAdjustIdList.size() == 0 ) @@ -7208,12 +7673,24 @@ const std::set< uint32_t >& getFCRightsIdList() loadIdList( m_FCRightsDat, m_FCRightsIdList ); return m_FCRightsIdList; } +const std::set< uint32_t >& getFestivalIdList() +{ + if( m_FestivalIdList.size() == 0 ) + loadIdList( m_FestivalDat, m_FestivalIdList ); + return m_FestivalIdList; +} const std::set< uint32_t >& getFieldMarkerIdList() { if( m_FieldMarkerIdList.size() == 0 ) loadIdList( m_FieldMarkerDat, m_FieldMarkerIdList ); return m_FieldMarkerIdList; } +const std::set< uint32_t >& getFishingRecordTypeIdList() +{ + if( m_FishingRecordTypeIdList.size() == 0 ) + loadIdList( m_FishingRecordTypeDat, m_FishingRecordTypeIdList ); + return m_FishingRecordTypeIdList; +} const std::set< uint32_t >& getFishingRecordTypeTransientIdList() { if( m_FishingRecordTypeTransientIdList.size() == 0 ) @@ -7460,6 +7937,24 @@ const std::set< uint32_t >& getGFATEIdList() loadIdList( m_GFATEDat, m_GFATEIdList ); return m_GFATEIdList; } +const std::set< uint32_t >& getGFateClimbing2IdList() +{ + if( m_GFateClimbing2IdList.size() == 0 ) + loadIdList( m_GFateClimbing2Dat, m_GFateClimbing2IdList ); + return m_GFateClimbing2IdList; +} +const std::set< uint32_t >& getGFateClimbing2ContentIdList() +{ + if( m_GFateClimbing2ContentIdList.size() == 0 ) + loadIdList( m_GFateClimbing2ContentDat, m_GFateClimbing2ContentIdList ); + return m_GFateClimbing2ContentIdList; +} +const std::set< uint32_t >& getGFateClimbing2TotemTypeIdList() +{ + if( m_GFateClimbing2TotemTypeIdList.size() == 0 ) + loadIdList( m_GFateClimbing2TotemTypeDat, m_GFateClimbing2TotemTypeIdList ); + return m_GFateClimbing2TotemTypeIdList; +} const std::set< uint32_t >& getGilShopIdList() { if( m_GilShopIdList.size() == 0 ) @@ -7544,6 +8039,12 @@ const std::set< uint32_t >& getHousingAethernetIdList() loadIdList( m_HousingAethernetDat, m_HousingAethernetIdList ); return m_HousingAethernetIdList; } +const std::set< uint32_t >& getHousingAppealIdList() +{ + if( m_HousingAppealIdList.size() == 0 ) + loadIdList( m_HousingAppealDat, m_HousingAppealIdList ); + return m_HousingAppealIdList; +} const std::set< uint32_t >& getHousingEmploymentNpcListIdList() { if( m_HousingEmploymentNpcListIdList.size() == 0 ) @@ -7556,17 +8057,35 @@ const std::set< uint32_t >& getHousingEmploymentNpcRaceIdList() loadIdList( m_HousingEmploymentNpcRaceDat, m_HousingEmploymentNpcRaceIdList ); return m_HousingEmploymentNpcRaceIdList; } +const std::set< uint32_t >& getHousingExteriorIdList() +{ + if( m_HousingExteriorIdList.size() == 0 ) + loadIdList( m_HousingExteriorDat, m_HousingExteriorIdList ); + return m_HousingExteriorIdList; +} const std::set< uint32_t >& getHousingFurnitureIdList() { if( m_HousingFurnitureIdList.size() == 0 ) loadIdList( m_HousingFurnitureDat, m_HousingFurnitureIdList ); return m_HousingFurnitureIdList; } +const std::set< uint32_t >& getHousingMapMarkerInfoIdList() +{ + if( m_HousingMapMarkerInfoIdList.size() == 0 ) + loadIdList( m_HousingMapMarkerInfoDat, m_HousingMapMarkerInfoIdList ); + return m_HousingMapMarkerInfoIdList; +} +const std::set< uint32_t >& getHousingMerchantPoseIdList() +{ + if( m_HousingMerchantPoseIdList.size() == 0 ) + loadIdList( m_HousingMerchantPoseDat, m_HousingMerchantPoseIdList ); + return m_HousingMerchantPoseIdList; +} const std::set< uint32_t >& getHousingLandSetIdList() { - if( m_HousingLandSetIdList.size() == 0 ) - loadIdList( m_HousingLandSetDat, m_HousingLandSetIdList ); - return m_HousingLandSetIdList; + if( m_HousingLandSetIdList.size() == 0 ) + loadIdList( m_HousingLandSetDat, m_HousingLandSetIdList ); + return m_HousingLandSetIdList; } const std::set< uint32_t >& getHousingPlacementIdList() { @@ -7580,6 +8099,12 @@ const std::set< uint32_t >& getHousingPresetIdList() loadIdList( m_HousingPresetDat, m_HousingPresetIdList ); return m_HousingPresetIdList; } +const std::set< uint32_t >& getHousingUnitedExteriorIdList() +{ + if( m_HousingUnitedExteriorIdList.size() == 0 ) + loadIdList( m_HousingUnitedExteriorDat, m_HousingUnitedExteriorIdList ); + return m_HousingUnitedExteriorIdList; +} const std::set< uint32_t >& getHousingYardObjectIdList() { if( m_HousingYardObjectIdList.size() == 0 ) @@ -7640,6 +8165,12 @@ const std::set< uint32_t >& getItemFoodIdList() loadIdList( m_ItemFoodDat, m_ItemFoodIdList ); return m_ItemFoodIdList; } +const std::set< uint32_t >& getItemLevelIdList() +{ + if( m_ItemLevelIdList.size() == 0 ) + loadIdList( m_ItemLevelDat, m_ItemLevelIdList ); + return m_ItemLevelIdList; +} const std::set< uint32_t >& getItemSearchCategoryIdList() { if( m_ItemSearchCategoryIdList.size() == 0 ) @@ -7832,6 +8363,12 @@ const std::set< uint32_t >& getMateriaIdList() loadIdList( m_MateriaDat, m_MateriaIdList ); return m_MateriaIdList; } +const std::set< uint32_t >& getMiniGameRAIdList() +{ + if( m_MiniGameRAIdList.size() == 0 ) + loadIdList( m_MiniGameRADat, m_MiniGameRAIdList ); + return m_MiniGameRAIdList; +} const std::set< uint32_t >& getMinionRaceIdList() { if( m_MinionRaceIdList.size() == 0 ) @@ -7994,12 +8531,24 @@ const std::set< uint32_t >& getParamGrowIdList() loadIdList( m_ParamGrowDat, m_ParamGrowIdList ); return m_ParamGrowIdList; } +const std::set< uint32_t >& getPartyContentIdList() +{ + if( m_PartyContentIdList.size() == 0 ) + loadIdList( m_PartyContentDat, m_PartyContentIdList ); + return m_PartyContentIdList; +} const std::set< uint32_t >& getPartyContentCutsceneIdList() { if( m_PartyContentCutsceneIdList.size() == 0 ) loadIdList( m_PartyContentCutsceneDat, m_PartyContentCutsceneIdList ); return m_PartyContentCutsceneIdList; } +const std::set< uint32_t >& getPartyContentTextDataIdList() +{ + if( m_PartyContentTextDataIdList.size() == 0 ) + loadIdList( m_PartyContentTextDataDat, m_PartyContentTextDataIdList ); + return m_PartyContentTextDataIdList; +} const std::set< uint32_t >& getPerformIdList() { if( m_PerformIdList.size() == 0 ) @@ -8606,6 +9155,12 @@ const std::set< uint32_t >& getTutorialTankIdList() loadIdList( m_TutorialTankDat, m_TutorialTankIdList ); return m_TutorialTankIdList; } +const std::set< uint32_t >& getUIColorIdList() +{ + if( m_UIColorIdList.size() == 0 ) + loadIdList( m_UIColorDat, m_UIColorIdList ); + return m_UIColorIdList; +} const std::set< uint32_t >& getVaseFlowerIdList() { if( m_VaseFlowerIdList.size() == 0 ) @@ -8713,6 +9268,7 @@ const std::set< uint32_t >& getZoneSharedGroupIdList() }; } +} #endif diff --git a/src/servers/Scripts/common/WarpTaxi.cpp b/src/servers/Scripts/common/WarpTaxi.cpp index 69194be2..b36763e7 100644 --- a/src/servers/Scripts/common/WarpTaxi.cpp +++ b/src/servers/Scripts/common/WarpTaxi.cpp @@ -61,7 +61,8 @@ public: if( !warp ) return; - player.eventStart( actorId, warp->defaultTalk1, Event::EventHandler::Nest, 0, 0, std::bind( &WarpTaxi::inner2, this, std::placeholders::_1, std::placeholders::_2 ) ); - player.playScene( warp->defaultTalk1, 0, HIDE_HOTBAR, 0, 0, 7, nullptr ); + player.eventStart( actorId, warp->conditionSuccessEvent, Event::EventHandler::Nest, 0, 0, + std::bind( &WarpTaxi::inner2, this, std::placeholders::_1, std::placeholders::_2 ) ); + player.playScene( warp->conditionSuccessEvent, 0, HIDE_HOTBAR, 0, 0, 7, nullptr ); } }; \ No newline at end of file diff --git a/src/servers/sapphire_zone/Network/Handlers/CFHandlers.cpp b/src/servers/sapphire_zone/Network/Handlers/CFHandlers.cpp index f1f8c2ef..df03db4f 100644 --- a/src/servers/sapphire_zone/Network/Handlers/CFHandlers.cpp +++ b/src/servers/sapphire_zone/Network/Handlers/CFHandlers.cpp @@ -77,7 +77,7 @@ void Core::Network::GameConnection::cfRegisterDuty( const Packets::FFXIVARR_PACK if( !cfCondition ) return; - auto instance = pTeriMgr->createInstanceContent( cfCondition->instanceContent ); + auto instance = pTeriMgr->createInstanceContent( cfCondition->content ); if( !instance ) return; diff --git a/src/servers/sapphire_zone/Zone/Land.cpp b/src/servers/sapphire_zone/Zone/Land.cpp index e0e4bbba..c39701af 100644 --- a/src/servers/sapphire_zone/Zone/Land.cpp +++ b/src/servers/sapphire_zone/Zone/Land.cpp @@ -58,12 +58,12 @@ void Core::Land::load() pDb->directExecute( "INSERT INTO land ( landsetid, landid, type, size, status, landprice ) " "VALUES ( " + std::to_string( m_landSetId ) + "," + std::to_string( m_landId ) + "," + std::to_string( static_cast< uint8_t >( m_type ) ) + "," - + std::to_string( m_landInfo->sizes[ m_landId ] ) + "," - + " 1, " + std::to_string( m_landInfo->prices[ m_landId ] ) + " );" ); + + std::to_string( m_landInfo->plotSize[ m_landId ] ) + "," + + " 1, " + std::to_string( m_landInfo->initialPrice[ m_landId ] ) + " );" ); - m_currentPrice = m_landInfo->prices[ m_landId ]; - m_minPrice = m_landInfo->minPrices[ m_landId ]; - m_size = m_landInfo->sizes[ m_landId ]; + m_currentPrice = m_landInfo->initialPrice[ m_landId ]; + m_minPrice = m_landInfo->minPrice[ m_landId ]; + m_size = m_landInfo->plotSize[ m_landId ]; m_state = HouseState::forSale; } else @@ -73,8 +73,8 @@ void Core::Land::load() m_state = res->getUInt( "Status" ); m_currentPrice = res->getUInt( "LandPrice" ); m_ownerPlayerId = res->getUInt( "OwnerId" ); - m_minPrice = m_landInfo->minPrices[ m_landId ]; - m_maxPrice = m_landInfo->prices[ m_landId ]; + m_minPrice = m_landInfo->minPrice[ m_landId ]; + m_maxPrice = m_landInfo->initialPrice[ m_landId ]; } init(); } diff --git a/src/servers/sapphire_zone/Zone/TerritoryMgr.cpp b/src/servers/sapphire_zone/Zone/TerritoryMgr.cpp index d8cb748e..d355bc81 100644 --- a/src/servers/sapphire_zone/Zone/TerritoryMgr.cpp +++ b/src/servers/sapphire_zone/Zone/TerritoryMgr.cpp @@ -249,7 +249,7 @@ Core::ZonePtr Core::TerritoryMgr::createInstanceContent( uint32_t contentFinderC auto pContentFinderCondition = pExdData->get< Core::Data::ContentFinderCondition >( contentFinderConditionId ); if( !pContentFinderCondition ) return nullptr; - auto instanceContentId = pContentFinderCondition->instanceContent; + auto instanceContentId = pContentFinderCondition->content; auto pInstanceContent = pExdData->get< Core::Data::InstanceContent >( instanceContentId ); if( !pInstanceContent ) diff --git a/src/tools/exd_struct_gen/ExdData.cpp.tmpl b/src/tools/exd_struct_gen/ExdData.cpp.tmpl index f63e8ce0..a4babc6d 100644 --- a/src/tools/exd_struct_gen/ExdData.cpp.tmpl +++ b/src/tools/exd_struct_gen/ExdData.cpp.tmpl @@ -36,8 +36,8 @@ bool Core::Data::ExdDataGenerated::init( const std::string& path ) { try { - m_data = boost::make_shared< xiv::dat::GameData >( path ); - m_exd_data = boost::make_shared< xiv::exd::ExdData >( *m_data ); + m_data = std::make_shared< xiv::dat::GameData >( path ); + m_exd_data = std::make_shared< xiv::exd::ExdData >( *m_data ); SETUPDATACCESS } diff --git a/src/tools/exd_struct_gen/ExdData.h.tmpl b/src/tools/exd_struct_gen/ExdData.h.tmpl index 055a9e12..58b6267c 100644 --- a/src/tools/exd_struct_gen/ExdData.h.tmpl +++ b/src/tools/exd_struct_gen/ExdData.h.tmpl @@ -11,7 +11,7 @@ #include #include #include -#include +#include namespace Core { namespace Data { @@ -35,13 +35,13 @@ STRUCTS template< class T > T getField( std::vector< xiv::exd::Field >& fields, uint32_t index ) { - return *boost::get< T >( &fields.at( index ) ); + return boost::get< T >( fields.at( index ) ); } void loadIdList( xiv::exd::Exd& data, std::set< uint32_t >& outIdList ); - boost::shared_ptr< xiv::dat::GameData > m_data; - boost::shared_ptr< xiv::exd::ExdData > m_exd_data; + std::shared_ptr< xiv::dat::GameData > m_data; + std::shared_ptr< xiv::exd::ExdData > m_exd_data; DATACCESS diff --git a/src/tools/exd_struct_gen/main.cpp b/src/tools/exd_struct_gen/main.cpp index 3cad3b5f..306e2473 100644 --- a/src/tools/exd_struct_gen/main.cpp +++ b/src/tools/exd_struct_gen/main.cpp @@ -45,8 +45,8 @@ std::vector< std::string > cppKeyWords "class" }; -std::string datLocation( "/home/mordred/sqpack" ); -//std::string datLocation( "C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack" ); +//std::string datLocation( "/home/mordred/sqpack" ); +std::string datLocation( "C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack" ); std::map< uint8_t, std::string > g_typeMap;