aboutsummaryrefslogtreecommitdiff
path: root/src/tools
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/connection_patcher/Patches/Mac.hpp2
-rw-r--r--src/tools/connection_patcher/Patterns/Mac.hpp2
-rw-r--r--src/tools/connection_patcher/Patterns/Windows.hpp4
-rw-r--r--src/tools/map_extractor/System.cpp41
-rw-r--r--src/tools/map_extractor/loadlib/DBFilesClientList.h33
-rw-r--r--src/tools/vmap4_extractor/gameobject_extract.cpp5
-rw-r--r--src/tools/vmap4_extractor/vmapexport.cpp11
7 files changed, 63 insertions, 35 deletions
diff --git a/src/tools/connection_patcher/Patches/Mac.hpp b/src/tools/connection_patcher/Patches/Mac.hpp
index a8294e84feb..33b851bf3e7 100644
--- a/src/tools/connection_patcher/Patches/Mac.hpp
+++ b/src/tools/connection_patcher/Patches/Mac.hpp
@@ -30,7 +30,7 @@ namespace Connection_Patcher
struct x64
{
static const std::vector<unsigned char> CertBundleCASCLocalFile() { return{ 0x48, 0x8D, 0x55, 0xC4, 0x31, 0xDB, 0xB1, 0x01 }; }
- static const std::vector<unsigned char> CertBundleSignatureCheck() { return{ 0x45, 0x84, 0xFF, 0xB0, 0x01, 0x90, 0x90, 0x90, 0x90 }; }
+ static const std::vector<unsigned char> CertBundleSignatureCheck() { return{ 0x45, 0x84, 0xFF, 0xB0, 0x01, 0xEB, 0x06, 0x8B, 0x85 }; }
};
};
}
diff --git a/src/tools/connection_patcher/Patterns/Mac.hpp b/src/tools/connection_patcher/Patterns/Mac.hpp
index 05ac242416f..6a936622854 100644
--- a/src/tools/connection_patcher/Patterns/Mac.hpp
+++ b/src/tools/connection_patcher/Patterns/Mac.hpp
@@ -30,7 +30,7 @@ namespace Connection_Patcher
struct x64
{
static const std::vector<unsigned char> CertBundleCASCLocalFile() { return{ 0x48, 0x8D, 0x55, 0xC4, 0x31, 0xDB, 0x31, 0xC9 }; }
- static const std::vector<unsigned char> CertBundleSignatureCheck() { return{ 0x45, 0x84, 0xFF, 0xB0, 0x01, 0x75, 0x00, 0x88, 0xD8 }; }
+ static const std::vector<unsigned char> CertBundleSignatureCheck() { return{ 0x45, 0x84, 0xFF, 0xB0, 0x01, 0x75, 0x06, 0x8B, 0x85 }; }
};
};
}
diff --git a/src/tools/connection_patcher/Patterns/Windows.hpp b/src/tools/connection_patcher/Patterns/Windows.hpp
index dc9842e3915..3c5db972de8 100644
--- a/src/tools/connection_patcher/Patterns/Windows.hpp
+++ b/src/tools/connection_patcher/Patterns/Windows.hpp
@@ -35,8 +35,8 @@ namespace Connection_Patcher
struct x64
{
- static const std::vector<unsigned char> CertBundleCASCLocalFile() { return{ 0x45, 0x33, 0xC9, 0x48, 0x89, 0xBC, 0x24, 0x00, 0x02 }; }
- static const std::vector<unsigned char> CertBundleSignatureCheck() { return{ 0x75, 0x19, 0x48, 0xFF, 0xC3, 0x48, 0x83, 0xFB, 0x02 }; }
+ static const std::vector<unsigned char> CertBundleCASCLocalFile() { return{ 0x45, 0x33, 0xC9, 0x48, 0x89, 0x9C, 0x24, 0xF0, 0x01 }; }
+ static const std::vector<unsigned char> CertBundleSignatureCheck() { return{ 0x75, 0x0B, 0x48, 0xFF, 0xC7, 0x48, 0x83, 0xFF, 0x02 }; }
};
};
}
diff --git a/src/tools/map_extractor/System.cpp b/src/tools/map_extractor/System.cpp
index e1a5d860946..84be793bb44 100644
--- a/src/tools/map_extractor/System.cpp
+++ b/src/tools/map_extractor/System.cpp
@@ -59,16 +59,17 @@ struct CinematicCameraLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_STRING_NOT_LOCALIZED, "Model" },
+ { false, FT_INT, "SoundID" },
{ false, FT_FLOAT, "OriginX" },
{ false, FT_FLOAT, "OriginY" },
{ false, FT_FLOAT, "OriginZ" },
{ false, FT_FLOAT, "OriginFacing" },
- { false, FT_SHORT, "SoundID" },
+ { false, FT_INT, "ModelFileDataID" },
};
- static char const* types = "sffh";
+ static char const* types = "iffi";
static uint8 const arraySizes[4] = { 1, 3, 1, 1 };
- static DB2Meta const meta(-1, 4, 0xA7B95349, types, arraySizes);
+ static DB2FieldDefault const fieldDefaults[4] = { uint32(0), float(0), float(0), uint32(0) };
+ static DB2Meta const meta(-1, 4, 0x85F98D68, types, arraySizes, fieldDefaults);
static DB2FileLoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, &meta);
return &loadInfo;
}
@@ -134,7 +135,8 @@ struct LiquidTypeLoadInfo
};
static char const* types = "sifffffsifihhbbbbbi";
static uint8 const arraySizes[19] = { 1, 1, 1, 1, 1, 1, 1, 6, 2, 18, 4, 1, 1, 1, 1, 1, 1, 6, 1 };
- static DB2Meta const meta(-1, 19, 0x99FC34E5, types, arraySizes);
+ static DB2FieldDefault const fieldDefaults[19] = { "", uint32(0), float(0), float(0), float(0), float(0), float(0), "", uint32(0), float(0), uint32(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) };
+ static DB2Meta const meta(-1, 19, 0xEB9E4B52, types, arraySizes, fieldDefaults);
static DB2FileLoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, &meta);
return &loadInfo;
}
@@ -156,6 +158,8 @@ struct MapLoadInfo
{ false, FT_STRING, "MapName" },
{ false, FT_STRING, "MapDescription0" },
{ false, FT_STRING, "MapDescription1" },
+ { false, FT_STRING, "ShortDescription" },
+ { false, FT_STRING, "LongDescription" },
{ false, FT_SHORT, "AreaTableID" },
{ false, FT_SHORT, "LoadingScreenID" },
{ true, FT_SHORT, "CorpseMapID" },
@@ -169,9 +173,10 @@ struct MapLoadInfo
{ false, FT_BYTE, "MaxPlayers" },
{ false, FT_BYTE, "TimeOffset" },
};
- static char const* types = "siffssshhhhhhhbbbbb";
- static uint8 const arraySizes[19] = { 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2Meta const meta(-1, 19, 0xF7CF2DA2, types, arraySizes);
+ static char const* types = "siffssssshhhhhhhbbbbb";
+ static uint8 const arraySizes[21] = { 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
+ static DB2FieldDefault const fieldDefaults[21] = { "", uint32(0), float(0), float(0), "", "", "", "", "", uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
+ static DB2Meta const meta(-1, 21, 0xC34CD39B, types, arraySizes, fieldDefaults);
static DB2FileLoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, &meta);
return &loadInfo;
}
@@ -386,7 +391,7 @@ void ReadMapDBC()
DB2Record record = db2.GetRecord(x);
map_ids[x].id = record.GetId();
- const char* map_name = record.GetString(0, 0);
+ const char* map_name = record.GetString("Directory");
size_t max_map_name_length = sizeof(map_ids[x].name);
if (strlen(map_name) >= max_map_name_length)
{
@@ -432,7 +437,7 @@ void ReadLiquidTypeTableDBC()
for (uint32 x = 0; x < db2.GetRecordCount(); ++x)
{
DB2Record record = db2.GetRecord(x);
- LiqType[record.GetId()] = record.GetUInt8(13, 0);
+ LiqType[record.GetId()] = record.GetUInt8("Type");
}
for (uint32 x = 0; x < db2.GetRecordCopyCount(); ++x)
@@ -455,14 +460,7 @@ bool ReadCinematicCameraDBC()
// get camera file list from DB2
for (size_t i = 0; i < db2.GetRecordCount(); ++i)
- {
- DB2Record record = db2.GetRecord(i);
- std::string camFile(record.GetString(0, 0));
- size_t loc = camFile.find(".mdx");
- if (loc != std::string::npos)
- camFile.replace(loc, 4, ".m2");
- CameraFileNames.insert(camFile);
- }
+ CameraFileNames.insert(Trinity::StringFormat("FILE%08X.xxx", db2.GetRecord(i).GetUInt32("ModelFileDataID")));
printf("Done! (" SZFMTD " CinematicCameras loaded)\n", CameraFileNames.size());
return true;
@@ -1285,11 +1283,12 @@ void ExtractGameTables()
char const* GameTables[] =
{
"GameTables\\ArmorMitigationByLvl.txt",
- "GameTables\\artifactLevelXP.txt",
+ "GameTables\\ArtifactKnowledgeMultiplier.txt",
+ "GameTables\\ArtifactLevelXP.txt",
"GameTables\\BarberShopCostBase.txt",
"GameTables\\BaseMp.txt",
"GameTables\\BattlePetTypeDamageMod.txt",
- "GameTables\\battlePetXP.txt",
+ "GameTables\\BattlePetXP.txt",
"GameTables\\ChallengeModeDamage.txt",
"GameTables\\ChallengeModeHealth.txt",
"GameTables\\CombatRatings.txt",
@@ -1304,7 +1303,7 @@ void ExtractGameTables()
"GameTables\\NpcDamageByClassExp4.txt",
"GameTables\\NpcDamageByClassExp5.txt",
"GameTables\\NpcDamageByClassExp6.txt",
- "GameTables\\NpcManaCostScaler.txt",
+ "GameTables\\NPCManaCostScaler.txt",
"GameTables\\NpcTotalHp.txt",
"GameTables\\NpcTotalHpExp1.txt",
"GameTables\\NpcTotalHpExp2.txt",
diff --git a/src/tools/map_extractor/loadlib/DBFilesClientList.h b/src/tools/map_extractor/loadlib/DBFilesClientList.h
index 9e5afa773d3..a7e1552462e 100644
--- a/src/tools/map_extractor/loadlib/DBFilesClientList.h
+++ b/src/tools/map_extractor/loadlib/DBFilesClientList.h
@@ -30,6 +30,7 @@ char const* DBFilesClientList[] =
"DBFilesClient\\AnimKitConfig.db2",
"DBFilesClient\\AnimKitConfigBoneSet.db2",
"DBFilesClient\\AnimKitPriority.db2",
+ "DBFilesClient\\AnimKitReplacement.db2",
"DBFilesClient\\AnimKitSegment.db2",
"DBFilesClient\\AnimReplacement.db2",
"DBFilesClient\\AnimReplacementSet.db2",
@@ -51,8 +52,10 @@ char const* DBFilesClientList[] =
"DBFilesClient\\ArtifactCategory.db2",
"DBFilesClient\\ArtifactPower.db2",
"DBFilesClient\\ArtifactPowerLink.db2",
+ "DBFilesClient\\ArtifactPowerPicker.db2",
"DBFilesClient\\ArtifactPowerRank.db2",
"DBFilesClient\\ArtifactQuestXP.db2",
+ "DBFilesClient\\ArtifactTier.db2",
"DBFilesClient\\ArtifactUnlock.db2",
"DBFilesClient\\AuctionHouse.db2",
"DBFilesClient\\BankBagSlotPrices.db2",
@@ -72,6 +75,7 @@ char const* DBFilesClientList[] =
"DBFilesClient\\BattlePetState.db2",
"DBFilesClient\\BattlePetVisual.db2",
"DBFilesClient\\BattlemasterList.db2",
+ "DBFilesClient\\BeamEffect.db2",
"DBFilesClient\\BoneWindModifierModel.db2",
"DBFilesClient\\BoneWindModifiers.db2",
"DBFilesClient\\Bounty.db2",
@@ -81,6 +85,7 @@ char const* DBFilesClientList[] =
"DBFilesClient\\CameraEffectEntry.db2",
"DBFilesClient\\CameraMode.db2",
"DBFilesClient\\CastableRaidBuffs.db2",
+ "DBFilesClient\\CelestialBody.db2",
"DBFilesClient\\Cfg_Categories.db2",
"DBFilesClient\\Cfg_Configs.db2",
"DBFilesClient\\Cfg_Regions.db2",
@@ -117,12 +122,14 @@ char const* DBFilesClientList[] =
"DBFilesClient\\CombatCondition.db2",
"DBFilesClient\\ComponentModelFileData.db2",
"DBFilesClient\\ComponentTextureFileData.db2",
+ "DBFilesClient\\Contribution.db2",
"DBFilesClient\\ConversationLine.db2",
"DBFilesClient\\Creature.db2",
"DBFilesClient\\CreatureDifficulty.db2",
"DBFilesClient\\CreatureDispXUiCamera.db2",
"DBFilesClient\\CreatureDisplayInfo.db2",
"DBFilesClient\\CreatureDisplayInfoCond.db2",
+ "DBFilesClient\\CreatureDisplayInfoEvt.db2",
"DBFilesClient\\CreatureDisplayInfoExtra.db2",
"DBFilesClient\\CreatureDisplayInfoTrn.db2",
"DBFilesClient\\CreatureFamily.db2",
@@ -131,6 +138,7 @@ char const* DBFilesClientList[] =
"DBFilesClient\\CreatureMovementInfo.db2",
"DBFilesClient\\CreatureSoundData.db2",
"DBFilesClient\\CreatureType.db2",
+ "DBFilesClient\\CreatureXContribution.db2",
"DBFilesClient\\Criteria.db2",
"DBFilesClient\\CriteriaTree.db2",
"DBFilesClient\\CriteriaTreeXEffect.db2",
@@ -198,6 +206,7 @@ char const* DBFilesClientList[] =
"DBFilesClient\\GarrFollowerType.db2",
"DBFilesClient\\GarrFollowerUICreature.db2",
"DBFilesClient\\GarrFollowerXAbility.db2",
+ "DBFilesClient\\GarrItemLevelUpgradeData.db2",
"DBFilesClient\\GarrMechanic.db2",
"DBFilesClient\\GarrMechanicSetXMechanic.db2",
"DBFilesClient\\GarrMechanicType.db2",
@@ -242,6 +251,7 @@ char const* DBFilesClientList[] =
"DBFilesClient\\HolidayDescriptions.db2",
"DBFilesClient\\HolidayNames.db2",
"DBFilesClient\\Holidays.db2",
+ "DBFilesClient\\Hotfix.db2",
"DBFilesClient\\ImportPriceArmor.db2",
"DBFilesClient\\ImportPriceQuality.db2",
"DBFilesClient\\ImportPriceShield.db2",
@@ -273,6 +283,7 @@ char const* DBFilesClientList[] =
"DBFilesClient\\ItemEffect.db2",
"DBFilesClient\\ItemExtendedCost.db2",
"DBFilesClient\\ItemGroupSounds.db2",
+ "DBFilesClient\\ItemLevelSelector.db2",
"DBFilesClient\\ItemLimitCategory.db2",
"DBFilesClient\\ItemLimitCategoryCondition.db2",
"DBFilesClient\\ItemModifiedAppearance.db2",
@@ -286,7 +297,7 @@ char const* DBFilesClientList[] =
"DBFilesClient\\ItemSearchName.db2",
"DBFilesClient\\ItemSet.db2",
"DBFilesClient\\ItemSetSpell.db2",
- "DBFilesClient\\Item-sparse.db2",
+ "DBFilesClient\\ItemSparse.db2",
"DBFilesClient\\ItemSpec.db2",
"DBFilesClient\\ItemSpecOverride.db2",
"DBFilesClient\\ItemSubClass.db2",
@@ -329,12 +340,16 @@ char const* DBFilesClientList[] =
"DBFilesClient\\LockType.db2",
"DBFilesClient\\LookAtController.db2",
"DBFilesClient\\MailTemplate.db2",
+ "DBFilesClient\\ManagedWorldState.db2",
+ "DBFilesClient\\ManagedWorldStateBuff.db2",
+ "DBFilesClient\\ManagedWorldStateInput.db2",
"DBFilesClient\\ManifestInterfaceActionIcon.db2",
"DBFilesClient\\ManifestInterfaceData.db2",
"DBFilesClient\\ManifestInterfaceItemIcon.db2",
"DBFilesClient\\ManifestInterfaceTOCData.db2",
"DBFilesClient\\ManifestMP3.db2",
"DBFilesClient\\Map.db2",
+ "DBFilesClient\\MapCelestialBody.db2",
"DBFilesClient\\MapChallengeMode.db2",
"DBFilesClient\\MapDifficulty.db2",
"DBFilesClient\\MapDifficultyXCondition.db2",
@@ -348,6 +363,7 @@ char const* DBFilesClientList[] =
"DBFilesClient\\Mount.db2",
"DBFilesClient\\MountCapability.db2",
"DBFilesClient\\MountTypeXCapability.db2",
+ "DBFilesClient\\MountXDisplay.db2",
"DBFilesClient\\Movie.db2",
"DBFilesClient\\MovieFileData.db2",
"DBFilesClient\\MovieVariation.db2",
@@ -366,6 +382,7 @@ char const* DBFilesClientList[] =
"DBFilesClient\\OverrideSpellData.db2",
"DBFilesClient\\PageTextMaterial.db2",
"DBFilesClient\\PaperDollItemFrame.db2",
+ "DBFilesClient\\ParagonReputation.db2",
"DBFilesClient\\ParticleColor.db2",
"DBFilesClient\\Path.db2",
"DBFilesClient\\PathNode.db2",
@@ -385,6 +402,8 @@ char const* DBFilesClientList[] =
"DBFilesClient\\PvpDifficulty.db2",
"DBFilesClient\\PvpItem.db2",
"DBFilesClient\\PvpReward.db2",
+ "DBFilesClient\\PvpScalingEffect.db2",
+ "DBFilesClient\\PvpScalingEffectType.db2",
"DBFilesClient\\PvpTalent.db2",
"DBFilesClient\\PvpTalentUnlock.db2",
"DBFilesClient\\QuestFactionReward.db2",
@@ -400,8 +419,8 @@ char const* DBFilesClientList[] =
"DBFilesClient\\QuestSort.db2",
"DBFilesClient\\QuestV2.db2",
"DBFilesClient\\QuestV2CliTask.db2",
- "DBFilesClient\\QuestXP.db2",
"DBFilesClient\\QuestXGroupActivity.db2",
+ "DBFilesClient\\QuestXP.db2",
"DBFilesClient\\RacialMounts.db2",
"DBFilesClient\\RandPropPoints.db2",
"DBFilesClient\\ResearchBranch.db2",
@@ -436,6 +455,7 @@ char const* DBFilesClientList[] =
"DBFilesClient\\SoundAmbience.db2",
"DBFilesClient\\SoundAmbienceFlavor.db2",
"DBFilesClient\\SoundBus.db2",
+ "DBFilesClient\\SoundBusOverride.db2",
"DBFilesClient\\SoundEmitterPillPoints.db2",
"DBFilesClient\\SoundEmitters.db2",
"DBFilesClient\\SoundFilter.db2",
@@ -469,14 +489,12 @@ char const* DBFilesClientList[] =
"DBFilesClient\\SpellDuration.db2",
"DBFilesClient\\SpellEffect.db2",
"DBFilesClient\\SpellEffectEmission.db2",
- "DBFilesClient\\SpellEffectExtra.db2",
"DBFilesClient\\SpellEffectGroupSize.db2",
"DBFilesClient\\SpellEffectScaling.db2",
"DBFilesClient\\SpellEquippedItems.db2",
"DBFilesClient\\SpellFlyout.db2",
"DBFilesClient\\SpellFlyoutItem.db2",
"DBFilesClient\\SpellFocusObject.db2",
- "DBFilesClient\\SpellIcon.db2",
"DBFilesClient\\SpellInterrupts.db2",
"DBFilesClient\\SpellItemEnchantment.db2",
"DBFilesClient\\SpellItemEnchantmentCondition.db2",
@@ -514,6 +532,7 @@ char const* DBFilesClientList[] =
"DBFilesClient\\SpellVisualKitModelAttach.db2",
"DBFilesClient\\SpellVisualMissile.db2",
"DBFilesClient\\SpellXSpellVisual.db2",
+ "DBFilesClient\\StartupFiles.db2",
"DBFilesClient\\Startup_Strings.db2",
"DBFilesClient\\Stationery.db2",
"DBFilesClient\\StringLookups.db2",
@@ -534,7 +553,9 @@ char const* DBFilesClientList[] =
"DBFilesClient\\TradeSkillCategory.db2",
"DBFilesClient\\TradeSkillItem.db2",
"DBFilesClient\\TransformMatrix.db2",
+ "DBFilesClient\\TransmogHoliday.db2",
"DBFilesClient\\TransmogSet.db2",
+ "DBFilesClient\\TransmogSetGroup.db2",
"DBFilesClient\\TransmogSetItem.db2",
"DBFilesClient\\TransportAnimation.db2",
"DBFilesClient\\TransportPhysics.db2",
@@ -545,6 +566,10 @@ char const* DBFilesClientList[] =
"DBFilesClient\\UiCamera.db2",
"DBFilesClient\\UiCameraType.db2",
"DBFilesClient\\UiMapPOI.db2",
+ "DBFilesClient\\UiModelScene.db2",
+ "DBFilesClient\\UiModelSceneActor.db2",
+ "DBFilesClient\\UiModelSceneActorDisplay.db2",
+ "DBFilesClient\\UiModelSceneCamera.db2",
"DBFilesClient\\UiTextureAtlas.db2",
"DBFilesClient\\UiTextureAtlasMember.db2",
"DBFilesClient\\UiTextureKit.db2",
diff --git a/src/tools/vmap4_extractor/gameobject_extract.cpp b/src/tools/vmap4_extractor/gameobject_extract.cpp
index 73fa7130f24..137e301dcfd 100644
--- a/src/tools/vmap4_extractor/gameobject_extract.cpp
+++ b/src/tools/vmap4_extractor/gameobject_extract.cpp
@@ -77,7 +77,8 @@ struct GameobjectDisplayInfoLoadInfo
};
static char const* types = "ifffh";
static uint8 const arraySizes[5] = { 1, 6, 1, 1, 1 };
- static DB2Meta const meta(-1, 5, 0xE2D6FAB7, types, arraySizes);
+ static DB2FieldDefault const fieldDefaults[5] = { uint32(0), float(0), float(0), float(0), uint16(0) };
+ static DB2Meta const meta(-1, 5, 0x9EF36BC0, types, arraySizes, fieldDefaults);
static DB2FileLoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, &meta);
return &loadInfo;
}
@@ -130,7 +131,7 @@ void ExtractGameobjectModels()
for (uint32 rec = 0; rec < db2.GetRecordCount(); ++rec)
{
DB2Record record = db2.GetRecord(rec);
- uint32 fileId = record.GetUInt32(0, 0);
+ uint32 fileId = record.GetUInt32("FileDataID");
if (!fileId)
continue;
diff --git a/src/tools/vmap4_extractor/vmapexport.cpp b/src/tools/vmap4_extractor/vmapexport.cpp
index 02d0df202de..ce9bb6453ca 100644
--- a/src/tools/vmap4_extractor/vmapexport.cpp
+++ b/src/tools/vmap4_extractor/vmapexport.cpp
@@ -85,6 +85,8 @@ struct MapLoadInfo
{ false, FT_STRING, "MapName" },
{ false, FT_STRING, "MapDescription0" },
{ false, FT_STRING, "MapDescription1" },
+ { false, FT_STRING, "ShortDescription" },
+ { false, FT_STRING, "LongDescription" },
{ false, FT_SHORT, "AreaTableID" },
{ false, FT_SHORT, "LoadingScreenID" },
{ true, FT_SHORT, "CorpseMapID" },
@@ -98,9 +100,10 @@ struct MapLoadInfo
{ false, FT_BYTE, "MaxPlayers" },
{ false, FT_BYTE, "TimeOffset" },
};
- static char const* types = "siffssshhhhhhhbbbbb";
- static uint8 const arraySizes[19] = { 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2Meta const meta(-1, 19, 0xF7CF2DA2, types, arraySizes);
+ static char const* types = "siffssssshhhhhhhbbbbb";
+ static uint8 const arraySizes[21] = { 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
+ static DB2FieldDefault const fieldDefaults[21] = { "", uint32(0), float(0), float(0), "", "", "", "", "", uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
+ static DB2Meta const meta(-1, 21, 0xC34CD39B, types, arraySizes, fieldDefaults);
static DB2FileLoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, &meta);
return &loadInfo;
}
@@ -479,7 +482,7 @@ int main(int argc, char ** argv)
DB2Record record = db2.GetRecord(x);
map_ids[x].id = record.GetId();
- const char* map_name = record.GetString(0, 0);
+ const char* map_name = record.GetString("Directory");
size_t max_map_name_length = sizeof(map_ids[x].name);
if (strlen(map_name) >= max_map_name_length)
{