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

Merge pull request #232 from GokuWeedLord/master

fix json & allow optional param for exd_struct_gen to take dat path
This commit is contained in:
Mordred 2018-01-30 16:07:19 +01:00 committed by GitHub
commit 893674911d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 683 additions and 254 deletions

View file

@ -50,34 +50,34 @@
actionTimelineUse = exdData->getField< int16_t >( row, 7 );
actionTimelineHit = exdData->getField< uint16_t >( row, 8 );
classJob = exdData->getField< int8_t >( row, 10 );
classJobLevel = exdData->getField< uint8_t >( row, 11 );
isRoleAction = exdData->getField< bool >( row, 12 );
range = exdData->getField< int8_t >( row, 13 );
canTargetSelf = exdData->getField< bool >( row, 14 );
canTargetParty = exdData->getField< bool >( row, 15 );
canTargetFriendly = exdData->getField< bool >( row, 16 );
canTargetHostile = exdData->getField< bool >( row, 17 );
targetArea = exdData->getField< bool >( row, 20 );
canTargetDead = exdData->getField< bool >( row, 24 );
castType = exdData->getField< uint8_t >( row, 26 );
effectRange = exdData->getField< uint8_t >( row, 27 );
xAxisModifier = exdData->getField< uint8_t >( row, 28 );
costType = exdData->getField< uint8_t >( row, 30 );
cost = exdData->getField< uint16_t >( row, 31 );
actionCombo = exdData->getField< uint16_t >( row, 34 );
preservesCombo = exdData->getField< bool >( row, 35 );
cast100ms = exdData->getField< uint16_t >( row, 36 );
recast100ms = exdData->getField< uint16_t >( row, 37 );
cooldownGroup = exdData->getField< uint8_t >( row, 38 );
attackType = exdData->getField< int8_t >( row, 39 );
aspect = exdData->getField< uint8_t >( row, 40 );
actionProcStatus = exdData->getField< uint8_t >( row, 41 );
statusGainSelf = exdData->getField< uint16_t >( row, 42 );
actionData = exdData->getField< uint32_t >( row, 43 );
classJobCategory = exdData->getField< uint8_t >( row, 44 );
affectsPosition = exdData->getField< bool >( row, 47 );
omen = exdData->getField< uint8_t >( row, 48 );
isPvP = exdData->getField< bool >( row, 49 );
classJobLevel = exdData->getField< uint8_t >( row, 12 );
isRoleAction = exdData->getField< bool >( row, 13 );
range = exdData->getField< int8_t >( row, 14 );
canTargetSelf = exdData->getField< bool >( row, 15 );
canTargetParty = exdData->getField< bool >( row, 16 );
canTargetFriendly = exdData->getField< bool >( row, 17 );
canTargetHostile = exdData->getField< bool >( row, 18 );
targetArea = exdData->getField< bool >( row, 21 );
canTargetDead = exdData->getField< bool >( row, 25 );
castType = exdData->getField< uint8_t >( row, 27 );
effectRange = exdData->getField< uint8_t >( row, 28 );
xAxisModifier = exdData->getField< uint8_t >( row, 29 );
costType = exdData->getField< uint8_t >( row, 31 );
cost = exdData->getField< uint16_t >( row, 32 );
actionCombo = exdData->getField< uint16_t >( row, 35 );
preservesCombo = exdData->getField< bool >( row, 36 );
cast100ms = exdData->getField< uint16_t >( row, 37 );
recast100ms = exdData->getField< uint16_t >( row, 38 );
cooldownGroup = exdData->getField< uint8_t >( row, 39 );
attackType = exdData->getField< int8_t >( row, 40 );
aspect = exdData->getField< uint8_t >( row, 41 );
actionProcStatus = exdData->getField< uint8_t >( row, 42 );
statusGainSelf = exdData->getField< uint16_t >( row, 43 );
actionData = exdData->getField< uint32_t >( row, 44 );
classJobCategory = exdData->getField< uint8_t >( row, 45 );
affectsPosition = exdData->getField< bool >( row, 48 );
omen = exdData->getField< uint8_t >( row, 49 );
isPvP = exdData->getField< bool >( row, 50 );
}
Core::Data::ActionCategory::ActionCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData )
@ -415,8 +415,8 @@
beastRankBonus = exdData->getField< uint8_t >( row, 2 );
iconReputation = exdData->getField< uint32_t >( row, 3 );
icon = exdData->getField< uint32_t >( row, 4 );
name = exdData->getField< std::string >( row, 11 );
nameRelation = exdData->getField< std::string >( row, 19 );
name = exdData->getField< std::string >( row, 10 );
nameRelation = exdData->getField< std::string >( row, 18 );
}
Core::Data::Behavior::Behavior( uint32_t row_id, Core::Data::ExdDataGenerated* exdData )
@ -612,13 +612,6 @@
day.push_back( exdData->getField< uint8_t >( row, 63 ) );
}
Core::Data::ChainBonus::ChainBonus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_ChainBonusDat.get_row( row_id );
bonus = exdData->getField< uint8_t >( row, 0 );
timeouts = exdData->getField< uint8_t >( row, 1 );
}
Core::Data::CharaMakeCustomize::CharaMakeCustomize( uint32_t row_id, Core::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_CharaMakeCustomizeDat.get_row( row_id );
@ -960,12 +953,14 @@
Core::Data::ContentFinderCondition::ContentFinderCondition( uint32_t row_id, Core::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_ContentFinderConditionDat.get_row( row_id );
contentIndicator = exdData->getField< uint8_t >( row, 0 );
instanceContent = exdData->getField< uint16_t >( row, 1 );
contentMemberType = exdData->getField< uint8_t >( row, 5 );
classJobLevel = exdData->getField< uint8_t >( row, 8 );
itemLevelRequired = exdData->getField< uint16_t >( row, 10 );
icon = exdData->getField< uint32_t >( row, 29 );
contentIndicator = exdData->getField< uint8_t >( row, 1 );
instanceContent = exdData->getField< uint16_t >( row, 2 );
contentMemberType = exdData->getField< uint8_t >( row, 7 );
classJobLevelRequired = exdData->getField< uint8_t >( row, 13 );
classJobLevelSync = exdData->getField< uint8_t >( row, 14 );
itemLevelRequired = exdData->getField< uint16_t >( row, 15 );
itemLevelSync = exdData->getField< uint16_t >( row, 16 );
icon = exdData->getField< uint32_t >( row, 36 );
}
Core::Data::ContentFinderConditionTransient::ContentFinderConditionTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData )
@ -989,15 +984,15 @@
name = exdData->getField< std::string >( row, 0 );
description = exdData->getField< std::string >( row, 2 );
dutyType = exdData->getField< std::string >( row, 3 );
isInDutyFinder = exdData->getField< bool >( row, 5 );
requireAllDuties = exdData->getField< bool >( row, 6 );
itemLevelRequired = exdData->getField< uint16_t >( row, 9 );
icon = exdData->getField< uint32_t >( row, 11 );
rewardTomeA = exdData->getField< uint16_t >( row, 13 );
rewardTomeB = exdData->getField< uint16_t >( row, 14 );
rewardTomeC = exdData->getField< uint16_t >( row, 15 );
sortKey = exdData->getField< uint8_t >( row, 18 );
contentMemberType = exdData->getField< uint8_t >( row, 20 );
isInDutyFinder = exdData->getField< bool >( row, 6 );
itemLevelRequired = exdData->getField< uint16_t >( row, 10 );
icon = exdData->getField< uint32_t >( row, 12 );
rewardTomeA = exdData->getField< uint16_t >( row, 14 );
rewardTomeB = exdData->getField< uint16_t >( row, 15 );
rewardTomeC = exdData->getField< uint16_t >( row, 16 );
sortKey = exdData->getField< uint8_t >( row, 19 );
contentMemberType = exdData->getField< uint8_t >( row, 21 );
requireAllDuties = exdData->getField< bool >( row, 31 );
}
Core::Data::ContentType::ContentType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData )
@ -1434,6 +1429,7 @@
auto row = exdData->m_EventActionDat.get_row( row_id );
name = exdData->getField< std::string >( row, 0 );
icon = exdData->getField< uint16_t >( row, 1 );
castTime = exdData->getField< uint16_t >( row, 3 );
}
Core::Data::EventIconPriority::EventIconPriority( uint32_t row_id, Core::Data::ExdDataGenerated* exdData )
@ -1477,6 +1473,7 @@
icon = exdData->getField< uint16_t >( row, 10 );
stackSize = exdData->getField< uint8_t >( row, 12 );
quest = exdData->getField< uint32_t >( row, 14 );
castTime = exdData->getField< uint8_t >( row, 15 );
}
Core::Data::EventItemHelp::EventItemHelp( uint32_t row_id, Core::Data::ExdDataGenerated* exdData )
@ -1494,23 +1491,30 @@
Core::Data::Fate::Fate( uint32_t row_id, Core::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_FateDat.get_row( row_id );
classJobLevel = exdData->getField< uint8_t >( row, 2 );
classJobLevelMax = exdData->getField< uint8_t >( row, 3 );
eventItem = exdData->getField< uint32_t >( row, 4 );
iconObjective = exdData->getField< uint32_t >( row, 9 );
iconMap = exdData->getField< uint32_t >( row, 10 );
name = exdData->getField< std::string >( row, 26 );
description = exdData->getField< std::string >( row, 27 );
objective = exdData->getField< std::string >( row, 28 );
statusText.push_back( exdData->getField< std::string >( row, 29 ) );
classJobLevel = exdData->getField< uint8_t >( row, 3 );
classJobLevelMax = exdData->getField< uint8_t >( row, 4 );
eventItem = exdData->getField< uint32_t >( row, 5 );
iconObjective = exdData->getField< uint32_t >( row, 10 );
iconMap = exdData->getField< uint32_t >( row, 11 );
name = exdData->getField< std::string >( row, 27 );
description = exdData->getField< std::string >( row, 28 );
objective = exdData->getField< std::string >( row, 29 );
statusText.push_back( exdData->getField< std::string >( row, 30 ) );
statusText.push_back( exdData->getField< std::string >( row, 31 ) );
statusText.push_back( exdData->getField< std::string >( row, 32 ) );
}
Core::Data::FCActivity::FCActivity( uint32_t row_id, Core::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_FCActivityDat.get_row( row_id );
text = exdData->getField< std::string >( row, 0 );
fCActivityCategory = exdData->getField< uint8_t >( row, 4 );
}
Core::Data::FCActivityCategory::FCActivityCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_FCActivityCategoryDat.get_row( row_id );
name = exdData->getField< std::string >( row, 1 );
}
Core::Data::FCAuthority::FCAuthority( uint32_t row_id, Core::Data::ExdDataGenerated* exdData )
@ -1544,6 +1548,12 @@
name = exdData->getField< std::string >( row, 0 );
}
Core::Data::FCProfile::FCProfile( uint32_t row_id, Core::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_FCProfileDat.get_row( row_id );
name = exdData->getField< std::string >( row, 1 );
}
Core::Data::FCReputation::FCReputation( uint32_t row_id, Core::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_FCReputationDat.get_row( row_id );
@ -1850,6 +1860,54 @@
description = exdData->getField< std::string >( row, 5 );
}
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 );
plural = exdData->getField< std::string >( row, 2 );
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 );
plural = exdData->getField< std::string >( row, 2 );
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 );
plural = exdData->getField< std::string >( row, 2 );
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 );
plural = exdData->getField< std::string >( row, 2 );
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 );
plural = exdData->getField< std::string >( row, 2 );
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 );
plural = exdData->getField< std::string >( row, 2 );
nameRank = exdData->getField< std::string >( row, 8 );
}
Core::Data::GCScripShopCategory::GCScripShopCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_GCScripShopCategoryDat.get_row( row_id );
@ -2004,25 +2062,22 @@
instanceContentType = exdData->getField< uint8_t >( row, 0 );
weekRestriction = exdData->getField< uint8_t >( row, 1 );
timeLimitmin = exdData->getField< uint16_t >( row, 2 );
classJobLevelSync = exdData->getField< uint8_t >( row, 3 );
name = exdData->getField< std::string >( row, 4 );
bGM = exdData->getField< uint16_t >( row, 6 );
itemLevelSync = exdData->getField< uint16_t >( row, 9 );
territoryType = exdData->getField< uint32_t >( row, 11 );
icon = exdData->getField< uint32_t >( row, 13 );
instanceContentTextDataBossStart = exdData->getField< uint32_t >( row, 15 );
instanceContentTextDataBossEnd = exdData->getField< uint32_t >( row, 16 );
bNpcBaseBoss = exdData->getField< uint32_t >( row, 17 );
instanceContentTextDataObjectiveStart = exdData->getField< uint32_t >( row, 18 );
instanceContentTextDataObjectiveEnd = exdData->getField< uint32_t >( row, 19 );
sortKey = exdData->getField< uint16_t >( row, 20 );
newPlayerBonusA = exdData->getField< uint16_t >( row, 23 );
newPlayerBonusB = exdData->getField< uint16_t >( row, 24 );
finalBossCurrencyA = exdData->getField< uint16_t >( row, 26 );
finalBossCurrencyB = exdData->getField< uint16_t >( row, 27 );
finalBossCurrencyC = exdData->getField< uint16_t >( row, 28 );
instanceContentBuff = exdData->getField< int32_t >( row, 54 );
partyCondition = exdData->getField< uint8_t >( row, 58 );
name = exdData->getField< std::string >( row, 3 );
bGM = exdData->getField< uint16_t >( row, 5 );
territoryType = exdData->getField< uint32_t >( row, 9 );
instanceContentTextDataBossStart = exdData->getField< uint32_t >( row, 13 );
instanceContentTextDataBossEnd = exdData->getField< uint32_t >( row, 14 );
bNpcBaseBoss = exdData->getField< uint32_t >( row, 15 );
instanceContentTextDataObjectiveStart = exdData->getField< uint32_t >( row, 16 );
instanceContentTextDataObjectiveEnd = exdData->getField< uint32_t >( row, 17 );
sortKey = exdData->getField< uint16_t >( row, 18 );
newPlayerBonusA = exdData->getField< uint16_t >( row, 21 );
newPlayerBonusB = exdData->getField< uint16_t >( row, 22 );
finalBossCurrencyA = exdData->getField< uint16_t >( row, 24 );
finalBossCurrencyB = exdData->getField< uint16_t >( row, 25 );
finalBossCurrencyC = exdData->getField< uint16_t >( row, 26 );
instanceContentBuff = exdData->getField< int32_t >( row, 52 );
partyCondition = exdData->getField< uint8_t >( row, 56 );
}
Core::Data::InstanceContentBuff::InstanceContentBuff( uint32_t row_id, Core::Data::ExdDataGenerated* exdData )
@ -2195,7 +2250,6 @@
placeNameStart = exdData->getField< int32_t >( row, 9 );
placeNameIssued = exdData->getField< int32_t >( row, 10 );
classJobCategory = exdData->getField< uint8_t >( row, 12 );
journalCategory = exdData->getField< int32_t >( row, 13 );
placeNameStartZone = exdData->getField< int32_t >( row, 15 );
iconCityState = exdData->getField< int32_t >( row, 16 );
dataId = exdData->getField< int32_t >( row, 17 );
@ -2235,6 +2289,7 @@
type = exdData->getField< uint8_t >( row, 5 );
objectKey = exdData->getField< uint32_t >( row, 6 );
map = exdData->getField< uint16_t >( row, 7 );
eventId = exdData->getField< uint32_t >( row, 8 );
territory = exdData->getField< uint16_t >( row, 9 );
}
@ -2458,8 +2513,8 @@
plural = exdData->getField< std::string >( row, 2 );
flyingCondition = exdData->getField< uint8_t >( row, 10 );
isFlying = exdData->getField< uint8_t >( row, 14 );
rideBGM = exdData->getField< uint16_t >( row, 28 );
icon = exdData->getField< uint16_t >( row, 41 );
rideBGM = exdData->getField< uint16_t >( row, 17 );
icon = exdData->getField< uint16_t >( row, 30 );
}
Core::Data::MountAction::MountAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData )
@ -2512,8 +2567,8 @@
Core::Data::OnlineStatus::OnlineStatus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_OnlineStatusDat.get_row( row_id );
name = exdData->getField< std::string >( row, 2 );
icon = exdData->getField< uint32_t >( row, 3 );
name = exdData->getField< std::string >( row, 3 );
icon = exdData->getField< uint32_t >( row, 4 );
}
Core::Data::Orchestrion::Orchestrion( uint32_t row_id, Core::Data::ExdDataGenerated* exdData )
@ -3870,7 +3925,6 @@ bool Core::Data::ExdDataGenerated::init( const std::string& path )
m_CabinetDat = setupDatAccess( "Cabinet", xiv::exd::Language::none );
m_CabinetCategoryDat = setupDatAccess( "CabinetCategory", xiv::exd::Language::none );
m_CalendarDat = setupDatAccess( "Calendar", xiv::exd::Language::none );
m_ChainBonusDat = setupDatAccess( "ChainBonus", xiv::exd::Language::none );
m_CharaMakeCustomizeDat = setupDatAccess( "CharaMakeCustomize", xiv::exd::Language::none );
m_CharaMakeTypeDat = setupDatAccess( "CharaMakeType", xiv::exd::Language::en );
m_ChocoboRaceDat = setupDatAccess( "ChocoboRace", xiv::exd::Language::none );
@ -3940,11 +3994,13 @@ bool Core::Data::ExdDataGenerated::init( const std::string& path )
m_ExVersionDat = setupDatAccess( "ExVersion", xiv::exd::Language::en );
m_FateDat = setupDatAccess( "Fate", xiv::exd::Language::en );
m_FCActivityDat = setupDatAccess( "FCActivity", xiv::exd::Language::en );
m_FCActivityCategoryDat = setupDatAccess( "FCActivityCategory", xiv::exd::Language::en );
m_FCAuthorityDat = setupDatAccess( "FCAuthority", xiv::exd::Language::en );
m_FCAuthorityCategoryDat = setupDatAccess( "FCAuthorityCategory", xiv::exd::Language::en );
m_FCChestNameDat = setupDatAccess( "FCChestName", xiv::exd::Language::en );
m_FccShopDat = setupDatAccess( "FccShop", xiv::exd::Language::en );
m_FCHierarchyDat = setupDatAccess( "FCHierarchy", xiv::exd::Language::en );
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_FishingSpotDat = setupDatAccess( "FishingSpot", xiv::exd::Language::en );
@ -3968,6 +4024,12 @@ bool Core::Data::ExdDataGenerated::init( const std::string& path )
m_GcArmyExpeditionTypeDat = setupDatAccess( "GcArmyExpeditionType", xiv::exd::Language::en );
m_GcArmyMemberGrowDat = setupDatAccess( "GcArmyMemberGrow", xiv::exd::Language::none );
m_GcArmyTrainingDat = setupDatAccess( "GcArmyTraining", xiv::exd::Language::en );
m_GCRankGridaniaFemaleTextDat = setupDatAccess( "GCRankGridaniaFemaleText", xiv::exd::Language::en );
m_GCRankGridaniaMaleTextDat = setupDatAccess( "GCRankGridaniaMaleText", xiv::exd::Language::en );
m_GCRankLimsaFemaleTextDat = setupDatAccess( "GCRankLimsaFemaleText", xiv::exd::Language::en );
m_GCRankLimsaMaleTextDat = setupDatAccess( "GCRankLimsaMaleText", xiv::exd::Language::en );
m_GCRankUldahFemaleTextDat = setupDatAccess( "GCRankUldahFemaleText", xiv::exd::Language::en );
m_GCRankUldahMaleTextDat = setupDatAccess( "GCRankUldahMaleText", xiv::exd::Language::en );
m_GCScripShopCategoryDat = setupDatAccess( "GCScripShopCategory", xiv::exd::Language::none );
m_GCScripShopItemDat = setupDatAccess( "GCScripShopItem", xiv::exd::Language::none );
m_GCShopDat = setupDatAccess( "GCShop", xiv::exd::Language::none );
@ -4928,21 +4990,6 @@ boost::shared_ptr< Core::Data::Calendar >
}
return nullptr;
}
boost::shared_ptr< Core::Data::ChainBonus >
Core::Data::ExdDataGenerated::getChainBonus( uint32_t ChainBonusId )
{
try
{
auto row = m_ChainBonusDat.get_row( ChainBonusId );
auto info = boost::make_shared< ChainBonus >( ChainBonusId, this );
return info;
}
catch( ... )
{
return nullptr;
}
return nullptr;
}
boost::shared_ptr< Core::Data::CharaMakeCustomize >
Core::Data::ExdDataGenerated::getCharaMakeCustomize( uint32_t CharaMakeCustomizeId )
{
@ -5978,6 +6025,21 @@ boost::shared_ptr< Core::Data::FCActivity >
}
return nullptr;
}
boost::shared_ptr< Core::Data::FCActivityCategory >
Core::Data::ExdDataGenerated::getFCActivityCategory( uint32_t FCActivityCategoryId )
{
try
{
auto row = m_FCActivityCategoryDat.get_row( FCActivityCategoryId );
auto info = boost::make_shared< FCActivityCategory >( FCActivityCategoryId, this );
return info;
}
catch( ... )
{
return nullptr;
}
return nullptr;
}
boost::shared_ptr< Core::Data::FCAuthority >
Core::Data::ExdDataGenerated::getFCAuthority( uint32_t FCAuthorityId )
{
@ -6053,6 +6115,21 @@ boost::shared_ptr< Core::Data::FCHierarchy >
}
return nullptr;
}
boost::shared_ptr< Core::Data::FCProfile >
Core::Data::ExdDataGenerated::getFCProfile( uint32_t FCProfileId )
{
try
{
auto row = m_FCProfileDat.get_row( FCProfileId );
auto info = boost::make_shared< FCProfile >( FCProfileId, this );
return info;
}
catch( ... )
{
return nullptr;
}
return nullptr;
}
boost::shared_ptr< Core::Data::FCReputation >
Core::Data::ExdDataGenerated::getFCReputation( uint32_t FCReputationId )
{
@ -6398,6 +6475,96 @@ boost::shared_ptr< Core::Data::GcArmyTraining >
}
return nullptr;
}
boost::shared_ptr< Core::Data::GCRankGridaniaFemaleText >
Core::Data::ExdDataGenerated::getGCRankGridaniaFemaleText( uint32_t GCRankGridaniaFemaleTextId )
{
try
{
auto row = m_GCRankGridaniaFemaleTextDat.get_row( GCRankGridaniaFemaleTextId );
auto info = boost::make_shared< GCRankGridaniaFemaleText >( GCRankGridaniaFemaleTextId, this );
return info;
}
catch( ... )
{
return nullptr;
}
return nullptr;
}
boost::shared_ptr< Core::Data::GCRankGridaniaMaleText >
Core::Data::ExdDataGenerated::getGCRankGridaniaMaleText( uint32_t GCRankGridaniaMaleTextId )
{
try
{
auto row = m_GCRankGridaniaMaleTextDat.get_row( GCRankGridaniaMaleTextId );
auto info = boost::make_shared< GCRankGridaniaMaleText >( GCRankGridaniaMaleTextId, this );
return info;
}
catch( ... )
{
return nullptr;
}
return nullptr;
}
boost::shared_ptr< Core::Data::GCRankLimsaFemaleText >
Core::Data::ExdDataGenerated::getGCRankLimsaFemaleText( uint32_t GCRankLimsaFemaleTextId )
{
try
{
auto row = m_GCRankLimsaFemaleTextDat.get_row( GCRankLimsaFemaleTextId );
auto info = boost::make_shared< GCRankLimsaFemaleText >( GCRankLimsaFemaleTextId, this );
return info;
}
catch( ... )
{
return nullptr;
}
return nullptr;
}
boost::shared_ptr< Core::Data::GCRankLimsaMaleText >
Core::Data::ExdDataGenerated::getGCRankLimsaMaleText( uint32_t GCRankLimsaMaleTextId )
{
try
{
auto row = m_GCRankLimsaMaleTextDat.get_row( GCRankLimsaMaleTextId );
auto info = boost::make_shared< GCRankLimsaMaleText >( GCRankLimsaMaleTextId, this );
return info;
}
catch( ... )
{
return nullptr;
}
return nullptr;
}
boost::shared_ptr< Core::Data::GCRankUldahFemaleText >
Core::Data::ExdDataGenerated::getGCRankUldahFemaleText( uint32_t GCRankUldahFemaleTextId )
{
try
{
auto row = m_GCRankUldahFemaleTextDat.get_row( GCRankUldahFemaleTextId );
auto info = boost::make_shared< GCRankUldahFemaleText >( GCRankUldahFemaleTextId, this );
return info;
}
catch( ... )
{
return nullptr;
}
return nullptr;
}
boost::shared_ptr< Core::Data::GCRankUldahMaleText >
Core::Data::ExdDataGenerated::getGCRankUldahMaleText( uint32_t GCRankUldahMaleTextId )
{
try
{
auto row = m_GCRankUldahMaleTextDat.get_row( GCRankUldahMaleTextId );
auto info = boost::make_shared< GCRankUldahMaleText >( GCRankUldahMaleTextId, this );
return info;
}
catch( ... )
{
return nullptr;
}
return nullptr;
}
boost::shared_ptr< Core::Data::GCScripShopCategory >
Core::Data::ExdDataGenerated::getGCScripShopCategory( uint32_t GCScripShopCategoryId )
{

View file

@ -1,5 +1,5 @@
#ifndef _EXDDATAGENERATED_H
#define _EXDDATAGENERATED_H
#ifndef GENERATED_EXDDATA_H
#define GENERATED_EXDDATA_H
/* This file has been automatically generated.
Changes will be lost upon regeneration.
@ -71,7 +71,6 @@ struct BuddySkill;
struct Cabinet;
struct CabinetCategory;
struct Calendar;
struct ChainBonus;
struct CharaMakeCustomize;
struct CharaMakeType;
struct ChocoboRace;
@ -141,11 +140,13 @@ struct EventItemHelp;
struct ExVersion;
struct Fate;
struct FCActivity;
struct FCActivityCategory;
struct FCAuthority;
struct FCAuthorityCategory;
struct FCChestName;
struct FccShop;
struct FCHierarchy;
struct FCProfile;
struct FCReputation;
struct FCRights;
struct FishingSpot;
@ -169,6 +170,12 @@ struct GcArmyExpeditionMemberBonus;
struct GcArmyExpeditionType;
struct GcArmyMemberGrow;
struct GcArmyTraining;
struct GCRankGridaniaFemaleText;
struct GCRankGridaniaMaleText;
struct GCRankLimsaFemaleText;
struct GCRankLimsaMaleText;
struct GCRankUldahFemaleText;
struct GCRankUldahMaleText;
struct GCScripShopCategory;
struct GCScripShopItem;
struct GCShop;
@ -838,14 +845,6 @@ struct Calendar
Calendar( uint32_t row_id, Core::Data::ExdDataGenerated* exdData );
};
struct ChainBonus
{
uint8_t bonus;
uint8_t timeouts;
ChainBonus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData );
};
struct CharaMakeCustomize
{
uint32_t icon;
@ -1143,8 +1142,10 @@ struct ContentFinderCondition
uint8_t contentIndicator;
uint16_t instanceContent;
uint8_t contentMemberType;
uint8_t classJobLevel;
uint8_t classJobLevelRequired;
uint8_t classJobLevelSync;
uint16_t itemLevelRequired;
uint16_t itemLevelSync;
uint32_t icon;
ContentFinderCondition( uint32_t row_id, Core::Data::ExdDataGenerated* exdData );
@ -1173,7 +1174,6 @@ struct ContentRoulette
std::string description;
std::string dutyType;
bool isInDutyFinder;
bool requireAllDuties;
uint16_t itemLevelRequired;
uint32_t icon;
uint16_t rewardTomeA;
@ -1181,6 +1181,7 @@ struct ContentRoulette
uint16_t rewardTomeC;
uint8_t sortKey;
uint8_t contentMemberType;
bool requireAllDuties;
ContentRoulette( uint32_t row_id, Core::Data::ExdDataGenerated* exdData );
};
@ -1531,6 +1532,7 @@ struct EventAction
{
std::string name;
uint16_t icon;
uint16_t castTime;
EventAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData );
};
@ -1562,6 +1564,7 @@ struct EventItem
uint16_t icon;
uint8_t stackSize;
uint32_t quest;
uint8_t castTime;
EventItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData );
};
@ -1598,10 +1601,18 @@ struct Fate
struct FCActivity
{
std::string text;
uint8_t fCActivityCategory;
FCActivity( uint32_t row_id, Core::Data::ExdDataGenerated* exdData );
};
struct FCActivityCategory
{
std::string name;
FCActivityCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData );
};
struct FCAuthority
{
std::string name;
@ -1638,6 +1649,13 @@ struct FCHierarchy
FCHierarchy( uint32_t row_id, Core::Data::ExdDataGenerated* exdData );
};
struct FCProfile
{
std::string name;
FCProfile( uint32_t row_id, Core::Data::ExdDataGenerated* exdData );
};
struct FCReputation
{
uint32_t pointsToNext;
@ -1851,6 +1869,60 @@ struct GcArmyTraining
GcArmyTraining( uint32_t row_id, Core::Data::ExdDataGenerated* exdData );
};
struct GCRankGridaniaFemaleText
{
std::string name;
std::string plural;
std::string nameRank;
GCRankGridaniaFemaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData );
};
struct GCRankGridaniaMaleText
{
std::string name;
std::string plural;
std::string nameRank;
GCRankGridaniaMaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData );
};
struct GCRankLimsaFemaleText
{
std::string name;
std::string plural;
std::string nameRank;
GCRankLimsaFemaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData );
};
struct GCRankLimsaMaleText
{
std::string name;
std::string plural;
std::string nameRank;
GCRankLimsaMaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData );
};
struct GCRankUldahFemaleText
{
std::string name;
std::string plural;
std::string nameRank;
GCRankUldahFemaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData );
};
struct GCRankUldahMaleText
{
std::string name;
std::string plural;
std::string nameRank;
GCRankUldahMaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData );
};
struct GCScripShopCategory
{
int8_t grandCompany;
@ -2022,12 +2094,9 @@ struct InstanceContent
uint8_t instanceContentType;
uint8_t weekRestriction;
uint16_t timeLimitmin;
uint8_t classJobLevelSync;
std::string name;
uint16_t bGM;
uint16_t itemLevelSync;
uint32_t territoryType;
uint32_t icon;
uint32_t instanceContentTextDataBossStart;
uint32_t instanceContentTextDataBossEnd;
uint32_t bNpcBaseBoss;
@ -2211,7 +2280,6 @@ struct Leve
int32_t placeNameStart;
int32_t placeNameIssued;
uint8_t classJobCategory;
int32_t journalCategory;
int32_t placeNameStartZone;
int32_t iconCityState;
int32_t dataId;
@ -2254,6 +2322,7 @@ struct Level
uint8_t type;
uint32_t objectKey;
uint16_t map;
uint32_t eventId;
uint16_t territory;
Level( uint32_t row_id, Core::Data::ExdDataGenerated* exdData );
@ -3026,6 +3095,7 @@ struct TerritoryType
TerritoryType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData );
};
struct TextCommand
{
std::string command;
@ -3366,7 +3436,6 @@ struct WorldDCGroupType
xiv::exd::Exd m_CabinetDat;
xiv::exd::Exd m_CabinetCategoryDat;
xiv::exd::Exd m_CalendarDat;
xiv::exd::Exd m_ChainBonusDat;
xiv::exd::Exd m_CharaMakeCustomizeDat;
xiv::exd::Exd m_CharaMakeTypeDat;
xiv::exd::Exd m_ChocoboRaceDat;
@ -3436,11 +3505,13 @@ struct WorldDCGroupType
xiv::exd::Exd m_ExVersionDat;
xiv::exd::Exd m_FateDat;
xiv::exd::Exd m_FCActivityDat;
xiv::exd::Exd m_FCActivityCategoryDat;
xiv::exd::Exd m_FCAuthorityDat;
xiv::exd::Exd m_FCAuthorityCategoryDat;
xiv::exd::Exd m_FCChestNameDat;
xiv::exd::Exd m_FccShopDat;
xiv::exd::Exd m_FCHierarchyDat;
xiv::exd::Exd m_FCProfileDat;
xiv::exd::Exd m_FCReputationDat;
xiv::exd::Exd m_FCRightsDat;
xiv::exd::Exd m_FishingSpotDat;
@ -3464,6 +3535,12 @@ struct WorldDCGroupType
xiv::exd::Exd m_GcArmyExpeditionTypeDat;
xiv::exd::Exd m_GcArmyMemberGrowDat;
xiv::exd::Exd m_GcArmyTrainingDat;
xiv::exd::Exd m_GCRankGridaniaFemaleTextDat;
xiv::exd::Exd m_GCRankGridaniaMaleTextDat;
xiv::exd::Exd m_GCRankLimsaFemaleTextDat;
xiv::exd::Exd m_GCRankLimsaMaleTextDat;
xiv::exd::Exd m_GCRankUldahFemaleTextDat;
xiv::exd::Exd m_GCRankUldahMaleTextDat;
xiv::exd::Exd m_GCScripShopCategoryDat;
xiv::exd::Exd m_GCScripShopItemDat;
xiv::exd::Exd m_GCShopDat;
@ -3658,7 +3735,6 @@ struct WorldDCGroupType
boost::shared_ptr< Cabinet > getCabinet( uint32_t CabinetId );
boost::shared_ptr< CabinetCategory > getCabinetCategory( uint32_t CabinetCategoryId );
boost::shared_ptr< Calendar > getCalendar( uint32_t CalendarId );
boost::shared_ptr< ChainBonus > getChainBonus( uint32_t ChainBonusId );
boost::shared_ptr< CharaMakeCustomize > getCharaMakeCustomize( uint32_t CharaMakeCustomizeId );
boost::shared_ptr< CharaMakeType > getCharaMakeType( uint32_t CharaMakeTypeId );
boost::shared_ptr< ChocoboRace > getChocoboRace( uint32_t ChocoboRaceId );
@ -3728,11 +3804,13 @@ struct WorldDCGroupType
boost::shared_ptr< ExVersion > getExVersion( uint32_t ExVersionId );
boost::shared_ptr< Fate > getFate( uint32_t FateId );
boost::shared_ptr< FCActivity > getFCActivity( uint32_t FCActivityId );
boost::shared_ptr< FCActivityCategory > getFCActivityCategory( uint32_t FCActivityCategoryId );
boost::shared_ptr< FCAuthority > getFCAuthority( uint32_t FCAuthorityId );
boost::shared_ptr< FCAuthorityCategory > getFCAuthorityCategory( uint32_t FCAuthorityCategoryId );
boost::shared_ptr< FCChestName > getFCChestName( uint32_t FCChestNameId );
boost::shared_ptr< FccShop > getFccShop( uint32_t FccShopId );
boost::shared_ptr< FCHierarchy > getFCHierarchy( uint32_t FCHierarchyId );
boost::shared_ptr< FCProfile > getFCProfile( uint32_t FCProfileId );
boost::shared_ptr< FCReputation > getFCReputation( uint32_t FCReputationId );
boost::shared_ptr< FCRights > getFCRights( uint32_t FCRightsId );
boost::shared_ptr< FishingSpot > getFishingSpot( uint32_t FishingSpotId );
@ -3756,6 +3834,12 @@ struct WorldDCGroupType
boost::shared_ptr< GcArmyExpeditionType > getGcArmyExpeditionType( uint32_t GcArmyExpeditionTypeId );
boost::shared_ptr< GcArmyMemberGrow > getGcArmyMemberGrow( uint32_t GcArmyMemberGrowId );
boost::shared_ptr< GcArmyTraining > getGcArmyTraining( uint32_t GcArmyTrainingId );
boost::shared_ptr< GCRankGridaniaFemaleText > getGCRankGridaniaFemaleText( uint32_t GCRankGridaniaFemaleTextId );
boost::shared_ptr< GCRankGridaniaMaleText > getGCRankGridaniaMaleText( uint32_t GCRankGridaniaMaleTextId );
boost::shared_ptr< GCRankLimsaFemaleText > getGCRankLimsaFemaleText( uint32_t GCRankLimsaFemaleTextId );
boost::shared_ptr< GCRankLimsaMaleText > getGCRankLimsaMaleText( uint32_t GCRankLimsaMaleTextId );
boost::shared_ptr< GCRankUldahFemaleText > getGCRankUldahFemaleText( uint32_t GCRankUldahFemaleTextId );
boost::shared_ptr< GCRankUldahMaleText > getGCRankUldahMaleText( uint32_t GCRankUldahMaleTextId );
boost::shared_ptr< GCScripShopCategory > getGCScripShopCategory( uint32_t GCScripShopCategoryId );
boost::shared_ptr< GCScripShopItem > getGCScripShopItem( uint32_t GCScripShopItemId );
boost::shared_ptr< GCShop > getGCShop( uint32_t GCShopId );
@ -3950,7 +4034,6 @@ struct WorldDCGroupType
std::set< uint32_t > m_CabinetIdList;
std::set< uint32_t > m_CabinetCategoryIdList;
std::set< uint32_t > m_CalendarIdList;
std::set< uint32_t > m_ChainBonusIdList;
std::set< uint32_t > m_CharaMakeCustomizeIdList;
std::set< uint32_t > m_CharaMakeTypeIdList;
std::set< uint32_t > m_ChocoboRaceIdList;
@ -4020,11 +4103,13 @@ struct WorldDCGroupType
std::set< uint32_t > m_ExVersionIdList;
std::set< uint32_t > m_FateIdList;
std::set< uint32_t > m_FCActivityIdList;
std::set< uint32_t > m_FCActivityCategoryIdList;
std::set< uint32_t > m_FCAuthorityIdList;
std::set< uint32_t > m_FCAuthorityCategoryIdList;
std::set< uint32_t > m_FCChestNameIdList;
std::set< uint32_t > m_FccShopIdList;
std::set< uint32_t > m_FCHierarchyIdList;
std::set< uint32_t > m_FCProfileIdList;
std::set< uint32_t > m_FCReputationIdList;
std::set< uint32_t > m_FCRightsIdList;
std::set< uint32_t > m_FishingSpotIdList;
@ -4048,6 +4133,12 @@ struct WorldDCGroupType
std::set< uint32_t > m_GcArmyExpeditionTypeIdList;
std::set< uint32_t > m_GcArmyMemberGrowIdList;
std::set< uint32_t > m_GcArmyTrainingIdList;
std::set< uint32_t > m_GCRankGridaniaFemaleTextIdList;
std::set< uint32_t > m_GCRankGridaniaMaleTextIdList;
std::set< uint32_t > m_GCRankLimsaFemaleTextIdList;
std::set< uint32_t > m_GCRankLimsaMaleTextIdList;
std::set< uint32_t > m_GCRankUldahFemaleTextIdList;
std::set< uint32_t > m_GCRankUldahMaleTextIdList;
std::set< uint32_t > m_GCScripShopCategoryIdList;
std::set< uint32_t > m_GCScripShopItemIdList;
std::set< uint32_t > m_GCShopIdList;
@ -4512,12 +4603,6 @@ const std::set< uint32_t >& getCalendarIdList()
loadIdList( m_CalendarDat, m_CalendarIdList );
return m_CalendarIdList;
}
const std::set< uint32_t >& getChainBonusIdList()
{
if( m_ChainBonusIdList.size() == 0 )
loadIdList( m_ChainBonusDat, m_ChainBonusIdList );
return m_ChainBonusIdList;
}
const std::set< uint32_t >& getCharaMakeCustomizeIdList()
{
if( m_CharaMakeCustomizeIdList.size() == 0 )
@ -4932,6 +5017,12 @@ const std::set< uint32_t >& getFCActivityIdList()
loadIdList( m_FCActivityDat, m_FCActivityIdList );
return m_FCActivityIdList;
}
const std::set< uint32_t >& getFCActivityCategoryIdList()
{
if( m_FCActivityCategoryIdList.size() == 0 )
loadIdList( m_FCActivityCategoryDat, m_FCActivityCategoryIdList );
return m_FCActivityCategoryIdList;
}
const std::set< uint32_t >& getFCAuthorityIdList()
{
if( m_FCAuthorityIdList.size() == 0 )
@ -4962,6 +5053,12 @@ const std::set< uint32_t >& getFCHierarchyIdList()
loadIdList( m_FCHierarchyDat, m_FCHierarchyIdList );
return m_FCHierarchyIdList;
}
const std::set< uint32_t >& getFCProfileIdList()
{
if( m_FCProfileIdList.size() == 0 )
loadIdList( m_FCProfileDat, m_FCProfileIdList );
return m_FCProfileIdList;
}
const std::set< uint32_t >& getFCReputationIdList()
{
if( m_FCReputationIdList.size() == 0 )
@ -5100,6 +5197,42 @@ const std::set< uint32_t >& getGcArmyTrainingIdList()
loadIdList( m_GcArmyTrainingDat, m_GcArmyTrainingIdList );
return m_GcArmyTrainingIdList;
}
const std::set< uint32_t >& getGCRankGridaniaFemaleTextIdList()
{
if( m_GCRankGridaniaFemaleTextIdList.size() == 0 )
loadIdList( m_GCRankGridaniaFemaleTextDat, m_GCRankGridaniaFemaleTextIdList );
return m_GCRankGridaniaFemaleTextIdList;
}
const std::set< uint32_t >& getGCRankGridaniaMaleTextIdList()
{
if( m_GCRankGridaniaMaleTextIdList.size() == 0 )
loadIdList( m_GCRankGridaniaMaleTextDat, m_GCRankGridaniaMaleTextIdList );
return m_GCRankGridaniaMaleTextIdList;
}
const std::set< uint32_t >& getGCRankLimsaFemaleTextIdList()
{
if( m_GCRankLimsaFemaleTextIdList.size() == 0 )
loadIdList( m_GCRankLimsaFemaleTextDat, m_GCRankLimsaFemaleTextIdList );
return m_GCRankLimsaFemaleTextIdList;
}
const std::set< uint32_t >& getGCRankLimsaMaleTextIdList()
{
if( m_GCRankLimsaMaleTextIdList.size() == 0 )
loadIdList( m_GCRankLimsaMaleTextDat, m_GCRankLimsaMaleTextIdList );
return m_GCRankLimsaMaleTextIdList;
}
const std::set< uint32_t >& getGCRankUldahFemaleTextIdList()
{
if( m_GCRankUldahFemaleTextIdList.size() == 0 )
loadIdList( m_GCRankUldahFemaleTextDat, m_GCRankUldahFemaleTextIdList );
return m_GCRankUldahFemaleTextIdList;
}
const std::set< uint32_t >& getGCRankUldahMaleTextIdList()
{
if( m_GCRankUldahMaleTextIdList.size() == 0 )
loadIdList( m_GCRankUldahMaleTextDat, m_GCRankUldahMaleTextIdList );
return m_GCRankUldahMaleTextIdList;
}
const std::set< uint32_t >& getGCScripShopCategoryIdList()
{
if( m_GCScripShopCategoryIdList.size() == 0 )

View file

@ -2,8 +2,10 @@
#include "EventHandler.h"
#include <common/Common.h>
#include <common/Exd/ExdData.h>
#include <common/Exd/ExdDataGenerated.h>
extern Core::Data::ExdData g_exdData;
extern Core::Data::ExdDataGenerated g_exdDataGen;
using namespace Core::Common;
@ -17,25 +19,25 @@ std::string Core::Event::getEventName( uint32_t eventId )
{
case Event::EventHandler::EventHandlerType::Quest:
{
auto questInfo = g_exdData.getQuestInfo( eventId );
auto questInfo = g_exdDataGen.getQuest( eventId );
if( !questInfo )
return unknown + "Quest";
std::string name = questInfo->name_intern;
std::string name = questInfo->name;
std::size_t pos = name.find_first_of( "_" );
return questInfo->name_intern.substr( 0, pos );
return questInfo->name.substr( 0, pos );
}
case Event::EventHandler::EventHandlerType::CustomTalk:
{
auto customTalkInfo = g_exdData.getCustomTalkInfo( eventId );
auto customTalkInfo = g_exdDataGen.getCustomTalk( eventId );
if( !customTalkInfo )
return unknown + "CustomTalk";
std::string name = customTalkInfo->name_intern;
std::string name = customTalkInfo->name;
std::size_t pos = name.find_first_of( "_" );
return customTalkInfo->name_intern.substr( 0, pos );
return customTalkInfo->name.substr( 0, pos );
}
case Event::EventHandler::EventHandlerType::Opening:
{
@ -46,7 +48,7 @@ std::string Core::Event::getEventName( uint32_t eventId )
}
case Event::EventHandler::EventHandlerType::Aetheryte:
{
auto aetherInfo = g_exdData.getAetheryteInfo( eventId & 0xFFFF );
auto aetherInfo = g_exdDataGen.getAetheryte( eventId & 0xFFFF );
if( aetherInfo->isAetheryte )
return "Aetheryte";
return "Aethernet";

View file

@ -1,5 +1,5 @@
#ifndef _EXDDATA_H
#define _EXDDATA_H
#ifndef GENERATED_EXDDATA_H
#define GENERATED_EXDDATA_H
/* This file has been automatically generated.
Changes will be lost upon regeneration.

View file

@ -1,5 +1,5 @@
{
"version": "2017.11.15.0000.0000",
"version": "2018.01.25.0000.0000",
"sheets": [
{
"sheet": "Achievement",
@ -138,63 +138,63 @@
}
},
{
"index": 11,
"index": 12,
"name": "ClassJobLevel"
},
{
"index": 12,
"index": 13,
"name": "IsRoleAction"
},
{
"index": 13,
"index": 14,
"name": "Range"
},
{
"index": 14,
"index": 15,
"name": "CanTargetSelf"
},
{
"index": 15,
"index": 16,
"name": "CanTargetParty"
},
{
"index": 16,
"index": 17,
"name": "CanTargetFriendly"
},
{
"index": 17,
"index": 18,
"name": "CanTargetHostile"
},
{
"index": 20,
"index": 21,
"name": "TargetArea"
},
{
"index": 24,
"index": 25,
"name": "CanTargetDead"
},
{
"index": 26,
"index": 27,
"name": "CastType"
},
{
"index": 27,
"index": 28,
"name": "EffectRange"
},
{
"index": 28,
"index": 29,
"name": "XAxisModifier"
},
{
"index": 30,
"index": 31,
"name": "Cost{Type}"
},
{
"index": 31,
"index": 32,
"name": "Cost"
},
{
"index": 34,
"index": 35,
"name": "Action{Combo}",
"converter": {
"type": "link",
@ -202,23 +202,23 @@
}
},
{
"index": 35,
"index": 36,
"name": "PreservesCombo"
},
{
"index": 36,
"index": 37,
"name": "Cast<100ms>"
},
{
"index": 37,
"index": 38,
"name": "Recast<100ms>"
},
{
"index": 38,
"index": 39,
"name": "CooldownGroup"
},
{
"index": 39,
"index": 40,
"name": "AttackType",
"converter": {
"type": "link",
@ -226,11 +226,11 @@
}
},
{
"index": 40,
"index": 41,
"name": "Aspect"
},
{
"index": 41,
"index": 42,
"name": "ActionProcStatus",
"converter": {
"type": "link",
@ -238,7 +238,7 @@
}
},
{
"index": 42,
"index": 43,
"name": "Status{GainSelf}",
"converter": {
"type": "link",
@ -246,14 +246,14 @@
}
},
{
"index": 43,
"index": 44,
"name": "ActionData",
"converter": {
"type": "generic"
}
},
{
"index": 44,
"index": 45,
"name": "ClassJobCategory",
"converter": {
"type": "link",
@ -261,11 +261,11 @@
}
},
{
"index": 47,
"index": 48,
"name": "AffectsPosition"
},
{
"index": 48,
"index": 49,
"name": "Omen",
"converter": {
"type": "link",
@ -273,7 +273,7 @@
}
},
{
"index": 49,
"index": 50,
"name": "IsPvP"
}
]
@ -1046,11 +1046,11 @@
}
},
{
"index": 11,
"index": 10,
"name": "Name"
},
{
"index": 19,
"index": 18,
"name": "Name{Relation}"
}
]
@ -1441,18 +1441,6 @@
}
]
},
{
"sheet": "ChainBonus",
"definitions": [
{
"name": "Bonus<%>"
},
{
"index": 1,
"name": "Timeout<s>"
}
]
},
{
"sheet": "CharaMakeCustomize",
"definitions": [
@ -2336,10 +2324,11 @@
"sheet": "ContentFinderCondition",
"definitions": [
{
"index": 1,
"name": "ContentIndicator"
},
{
"index": 1,
"index": 2,
"name": "InstanceContent",
"converter": {
"type": "link",
@ -2347,7 +2336,7 @@
}
},
{
"index": 5,
"index": 7,
"name": "ContentMemberType",
"converter": {
"type": "link",
@ -2355,15 +2344,23 @@
}
},
{
"index": 8,
"name": "ClassJobLevel"
"index": 13,
"name": "ClassJobLevel{Required}"
},
{
"index": 10,
"index": 14,
"name": "ClassJobLevel{Sync}"
},
{
"index": 15,
"name": "ItemLevel{Required}"
},
{
"index": 29,
"index": 16,
"name": "ItemLevel{Sync}"
},
{
"index": 36,
"name": "Icon",
"converter": {
"type": "icon"
@ -2417,47 +2414,47 @@
"name": "DutyType"
},
{
"index": 5,
"index": 6,
"name": "IsInDutyFinder"
},
{
"index": 6,
"name": "RequireAllDuties"
},
{
"index": 9,
"index": 10,
"name": "ItemLevel{Required}"
},
{
"index": 11,
"index": 12,
"name": "Icon",
"converter": {
"type": "icon"
}
},
{
"index": 13,
"index": 14,
"name": "Reward{TomeA}"
},
{
"index": 14,
"index": 15,
"name": "Reward{TomeB}"
},
{
"index": 15,
"index": 16,
"name": "Reward{TomeC}"
},
{
"index": 18,
"index": 19,
"name": "SortKey"
},
{
"index": 20,
"index": 21,
"name": "ContentMemberType",
"converter": {
"type": "link",
"target": "ContentMemberType"
}
},
{
"index": 31,
"name": "RequireAllDuties"
}
]
},
@ -3585,6 +3582,10 @@
"converter": {
"type": "icon"
}
},
{
"index": 3,
"name": "CastTime"
}
]
},
@ -3676,6 +3677,10 @@
"type": "link",
"target": "Quest"
}
},
{
"index": 15,
"name": "CastTime"
}
]
},
@ -3702,15 +3707,15 @@
"defaultColumn": "Name",
"definitions": [
{
"index": 2,
"index": 3,
"name": "ClassJobLevel"
},
{
"index": 3,
"index": 4,
"name": "ClassJobLevel{Max}"
},
{
"index": 4,
"index": 5,
"name": "EventItem",
"converter": {
"type": "link",
@ -3718,33 +3723,33 @@
}
},
{
"index": 9,
"index": 10,
"name": "Icon{Objective}",
"converter": {
"type": "icon"
}
},
{
"index": 10,
"index": 11,
"name": "Icon{Map}",
"converter": {
"type": "icon"
}
},
{
"index": 26,
"index": 27,
"name": "Name"
},
{
"index": 27,
"index": 28,
"name": "Description"
},
{
"index": 28,
"index": 29,
"name": "Objective"
},
{
"index": 29,
"index": 30,
"type": "repeat",
"count": 3,
"definition": {
@ -3759,6 +3764,24 @@
"definitions": [
{
"name": "Text"
},
{
"index": 4,
"name": "FCActivityCategory",
"converter": {
"type": "link",
"target": "FCActivityCategory"
}
}
]
},
{
"sheet": "FCActivityCategory",
"defaultColumn": "Name",
"definitions": [
{
"index": 1,
"name": "Name"
}
]
},
@ -3863,6 +3886,16 @@
}
]
},
{
"sheet": "FCProfile",
"defaultColumn": "Name",
"definitions": [
{
"index": 1,
"name": "Name"
}
]
},
{
"sheet": "FCReputation",
"defaultColumn": "Name",
@ -4536,6 +4569,108 @@
}
]
},
{
"sheet": "GCRankGridaniaFemaleText",
"defaultColumn": "Name",
"definitions": [
{
"name": "Name"
},
{
"index": 2,
"name": "Plural"
},
{
"index": 8,
"name": "Name{Rank}"
}
]
},
{
"sheet": "GCRankGridaniaMaleText",
"defaultColumn": "Name",
"definitions": [
{
"name": "Name"
},
{
"index": 2,
"name": "Plural"
},
{
"index": 8,
"name": "Name{Rank}"
}
]
},
{
"sheet": "GCRankLimsaFemaleText",
"defaultColumn": "Name",
"definitions": [
{
"name": "Name"
},
{
"index": 2,
"name": "Plural"
},
{
"index": 8,
"name": "Name{Rank}"
}
]
},
{
"sheet": "GCRankLimsaMaleText",
"defaultColumn": "Name",
"definitions": [
{
"name": "Name"
},
{
"index": 2,
"name": "Plural"
},
{
"index": 8,
"name": "Name{Rank}"
}
]
},
{
"sheet": "GCRankUldahFemaleText",
"defaultColumn": "Name",
"definitions": [
{
"name": "Name"
},
{
"index": 2,
"name": "Plural"
},
{
"index": 8,
"name": "Name{Rank}"
}
]
},
{
"sheet": "GCRankUldahMaleText",
"defaultColumn": "Name",
"definitions": [
{
"name": "Name"
},
{
"index": 2,
"name": "Plural"
},
{
"index": 8,
"name": "Name{Rank}"
}
]
},
{
"sheet": "GCScripShopCategory",
"definitions": [
@ -4965,14 +5100,10 @@
},
{
"index": 3,
"name": "ClassJobLevel{Sync}"
},
{
"index": 4,
"name": "Name"
},
{
"index": 6,
"index": 5,
"name": "BGM",
"converter": {
"type": "link",
@ -4981,10 +5112,6 @@
},
{
"index": 9,
"name": "ItemLevel{Sync}"
},
{
"index": 11,
"name": "TerritoryType",
"converter": {
"type": "link",
@ -4993,21 +5120,14 @@
},
{
"index": 13,
"name": "Icon",
"converter": {
"type": "icon"
}
},
{
"index": 15,
"name": "InstanceContentTextData{Boss}{Start}"
},
{
"index": 16,
"index": 14,
"name": "InstanceContentTextData{Boss}{End}"
},
{
"index": 17,
"index": 15,
"name": "BNpcBase{Boss}",
"converter": {
"type": "link",
@ -5015,39 +5135,39 @@
}
},
{
"index": 18,
"index": 16,
"name": "InstanceContentTextData{Objective}{Start}"
},
{
"index": 19,
"index": 17,
"name": "InstanceContentTextData{Objective}{End}"
},
{
"index": 20,
"index": 18,
"name": "SortKey"
},
{
"index": 23,
"index": 21,
"name": "NewPlayerBonusA"
},
{
"index": 24,
"index": 22,
"name": "NewPlayerBonusB"
},
{
"index": 26,
"index": 24,
"name": "FinalBossCurrencyA"
},
{
"index": 27,
"index": 25,
"name": "FinalBossCurrencyB"
},
{
"index": 28,
"index": 26,
"name": "FinalBossCurrencyC"
},
{
"index": 34,
"index": 32,
"type": "repeat",
"count": 5,
"definition": {
@ -5060,7 +5180,7 @@
}
},
{
"index": 39,
"index": 37,
"type": "repeat",
"count": 5,
"definition": {
@ -5073,7 +5193,7 @@
}
},
{
"index": 44,
"index": 42,
"type": "repeat",
"count": 5,
"definition": {
@ -5086,7 +5206,7 @@
}
},
{
"index": 54,
"index": 52,
"name": "InstanceContentBuff",
"converter": {
"type": "link",
@ -5094,7 +5214,7 @@
}
},
{
"index": 58,
"index": 56,
"name": "PartyCondition"
}
]
@ -5698,14 +5818,6 @@
"target": "ClassJobCategory"
}
},
{
"index": 13,
"name": "JournalCategory",
"converter": {
"type": "link",
"target": "JournalGenre"
}
},
{
"index": 15,
"name": "PlaceName{StartZone}",
@ -5858,6 +5970,10 @@
"target": "Map"
}
},
{
"index": 8,
"name": "EventId"
},
{
"index": 9,
"name": "Territory",
@ -6519,7 +6635,7 @@
"name": "IsFlying"
},
{
"index": 28,
"index": 17,
"name": "RideBGM",
"converter": {
"type": "link",
@ -6527,7 +6643,7 @@
}
},
{
"index": 41,
"index": 30,
"name": "Icon",
"converter": {
"type": "icon"
@ -6717,11 +6833,11 @@
"defaultColumn": "Name",
"definitions": [
{
"index": 2,
"index": 3,
"name": "Name"
},
{
"index": 3,
"index": 4,
"name": "Icon",
"converter": {
"type": "icon"
@ -8615,6 +8731,10 @@
"target": "Map"
}
},
{
"index": 9,
"name": "TerritoryIntendedUse"
},
{
"index": 12,
"name": "WeatherRate"
@ -8711,7 +8831,7 @@
"name": "Name"
},
{
"index": 3,
"index": 4,
"type": "repeat",
"count": 10,
"definition": {

View file

@ -32,7 +32,7 @@ Core::Data::ExdData g_exdData;
bool skipUnmapped = true;
//const std::string datLocation( "/opt/sapphire_3_15_0/bin/sqpack" );
const std::string datLocation( "C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack\\ffxiv" );
std::string datLocation( "C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack\\ffxiv" );
std::map< uint8_t, std::string > g_typeMap;
@ -80,7 +80,7 @@ std::string generateDirectGetterDef( const std::string& exd )
std::string result = "";
result =
"boost::shared_ptr< Core::Data::" + exd + " >\n"
" get" + exd + "( uint32_t " + exd + "Id )\n"
" Core::Data::ExdDataGenerated::get" + exd + "( uint32_t " + exd + "Id )\n"
"{\n"
" try\n"
" {\n"
@ -271,8 +271,16 @@ std::string generateConstructorsDecl( const std::string& exd )
return result;
}
int main()
int main( int argc, char** argv )
{
g_log.init();
if( argc > 1 )
{
g_log.info( "using dat path: " + std::string( argv[1] ) );
datLocation = std::string( argv[1] );
}
g_typeMap[0] = "std::string";
g_typeMap[1] = "bool";
g_typeMap[2] = "int8_t";
@ -296,7 +304,6 @@ int main()
using boost::property_tree::ptree;
ptree m_propTree;
boost::property_tree::read_json( "ex.json", m_propTree );
g_log.init();
g_log.info( "Setting up EXD data" );
if( !g_exdData.init( datLocation ) )