1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-05-07 11:17:46 +00:00

update ex.json and take optional param to exd_struct_gen to dat path

This commit is contained in:
Adam 2018-01-31 01:37:08 +11:00
parent 2ff4084f4e
commit 8835c5457a
2 changed files with 244 additions and 117 deletions

View file

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

View file

@ -32,7 +32,7 @@ Core::Data::ExdData g_exdData;
bool skipUnmapped = true; bool skipUnmapped = true;
//const std::string datLocation( "/opt/sapphire_3_15_0/bin/sqpack" ); //const std::string datLocation( "/opt/sapphire_3_15_0/bin/sqpack" );
const std::string datLocation( "C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack\\ffxiv" ); std::string datLocation( "C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack\\ffxiv" );
std::map< uint8_t, std::string > g_typeMap; std::map< uint8_t, std::string > g_typeMap;
@ -271,8 +271,15 @@ std::string generateConstructorsDecl( const std::string& exd )
return result; return result;
} }
int main() int main( int argc, char** argv )
{ {
if( argc > 1 )
{
printf( "using dat path: %s", argv[1] );
datLocation = std::string( argv[1] );
}
g_typeMap[0] = "std::string"; g_typeMap[0] = "std::string";
g_typeMap[1] = "bool"; g_typeMap[1] = "bool";
g_typeMap[2] = "int8_t"; g_typeMap[2] = "int8_t";