diff options
Diffstat (limited to 'src/tools')
| -rw-r--r-- | src/tools/extractor_common/ExtractorDB2LoadInfo.h | 30 | ||||
| -rw-r--r-- | src/tools/map_extractor/loadlib/DBFilesClientList.h | 69 | ||||
| -rw-r--r-- | src/tools/vmap4_extractor/gameobject_extract.cpp | 23 |
3 files changed, 69 insertions, 53 deletions
diff --git a/src/tools/extractor_common/ExtractorDB2LoadInfo.h b/src/tools/extractor_common/ExtractorDB2LoadInfo.h index bf43b2a81f3..95560740d2f 100644 --- a/src/tools/extractor_common/ExtractorDB2LoadInfo.h +++ b/src/tools/extractor_common/ExtractorDB2LoadInfo.h @@ -31,7 +31,7 @@ struct CinematicCameraLoadInfo { FT_INT, 1, false }, }; - static constexpr DB2Meta MetaInstance{ 1294214, -1, 4, 4, 0x744B99BC, MetaFields, -1 }; + static constexpr DB2Meta MetaInstance{ 1294214, -1, 4, 4, 0xF96842A0, MetaFields, -1 }; static constexpr DB2FieldMeta Fields[7] = { @@ -44,12 +44,12 @@ struct CinematicCameraLoadInfo { false, FT_INT, "FileDataID" }, }; - static constexpr DB2FileLoadInfo Instance{ Fields, 7, & MetaInstance }; + static constexpr DB2FileLoadInfo Instance{ Fields, 7, &MetaInstance }; }; struct GameobjectDisplayInfoLoadInfo { - static constexpr DB2MetaField MetaFields[6] = + static constexpr DB2MetaField MetaFields[7] = { { FT_STRING_NOT_LOCALIZED, 1, true }, { FT_FLOAT, 6, true }, @@ -57,11 +57,12 @@ struct GameobjectDisplayInfoLoadInfo { FT_SHORT, 1, true }, { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, + { FT_SHORT, 1, false }, }; - static constexpr DB2Meta MetaInstance{ 1266277, -1, 6, 6, 0xB59CF0B2, MetaFields, -1 }; + static constexpr DB2Meta MetaInstance{ 1266277, -1, 7, 7, 0x7C5F0B90, MetaFields, -1 }; - static constexpr DB2FieldMeta Fields[12] = + static constexpr DB2FieldMeta Fields[13] = { { false, FT_INT, "ID" }, { false, FT_STRING_NOT_LOCALIZED, "ModelName" }, @@ -75,9 +76,10 @@ struct GameobjectDisplayInfoLoadInfo { true, FT_SHORT, "ObjectEffectPackageID" }, { false, FT_FLOAT, "OverrideLootEffectScale" }, { false, FT_FLOAT, "OverrideNameScale" }, + { false, FT_SHORT, "Unknown1154" }, }; - static constexpr DB2FileLoadInfo Instance{ Fields, 12, &MetaInstance }; + static constexpr DB2FileLoadInfo Instance{ Fields, 13, &MetaInstance }; }; struct LiquidMaterialLoadInfo @@ -88,7 +90,7 @@ struct LiquidMaterialLoadInfo { FT_BYTE, 1, true }, }; - static constexpr DB2Meta MetaInstance{ 1132538, -1, 2, 2, 0x2CFFEA40, MetaFields, -1 }; + static constexpr DB2Meta MetaInstance{ 1132538, -1, 2, 2, 0x01033D2A, MetaFields, -1 }; static constexpr DB2FieldMeta Fields[3] = { @@ -111,7 +113,7 @@ struct LiquidObjectLoadInfo { FT_BYTE, 1, false }, }; - static constexpr DB2Meta MetaInstance{ 1308058, -1, 5, 5, 0x6CAEB8A1, MetaFields, -1 }; + static constexpr DB2Meta MetaInstance{ 1308058, -1, 5, 5, 0xCB0D39E8, MetaFields, -1 }; static constexpr DB2FieldMeta Fields[6] = { @@ -153,7 +155,7 @@ struct LiquidTypeLoadInfo { FT_FLOAT, 4, true }, }; - static constexpr DB2Meta MetaInstance{ 1371380, -1, 21, 21, 0xAFFFC9E0, MetaFields, -1 }; + static constexpr DB2Meta MetaInstance{ 1371380, -1, 21, 21, 0x95DB15B6, MetaFields, -1 }; static constexpr DB2FieldMeta Fields[56] = { @@ -220,7 +222,7 @@ struct LiquidTypeLoadInfo struct MapLoadInfo { - static constexpr DB2MetaField MetaFields[22] = + static constexpr DB2MetaField MetaFields[23] = { { FT_STRING_NOT_LOCALIZED, 1, true }, { FT_STRING, 1, true }, @@ -243,12 +245,13 @@ struct MapLoadInfo { FT_BYTE, 1, false }, { FT_SHORT, 1, true }, { FT_INT, 1, true }, + { FT_INT, 1, true }, { FT_INT, 3, true }, }; - static constexpr DB2Meta MetaInstance{ 1349477, -1, 22, 22, 0xEE526FA5, MetaFields, -1 }; + static constexpr DB2Meta MetaInstance{ 1349477, -1, 23, 23, 0x32401DC5, MetaFields, -1 }; - static constexpr DB2FieldMeta Fields[25] = + static constexpr DB2FieldMeta Fields[26] = { { false, FT_INT, "ID" }, { false, FT_STRING_NOT_LOCALIZED, "Directory" }, @@ -272,12 +275,13 @@ struct MapLoadInfo { false, FT_BYTE, "MaxPlayers" }, { true, FT_SHORT, "WindSettingsID" }, { true, FT_INT, "ZmpFileDataID" }, + { true, FT_INT, "Unknown1154" }, { true, FT_INT, "Flags1" }, { true, FT_INT, "Flags2" }, { true, FT_INT, "Flags3" }, }; - static constexpr DB2FileLoadInfo Instance{ Fields, 25, &MetaInstance }; + static constexpr DB2FileLoadInfo Instance{ Fields, 26, &MetaInstance }; }; #endif // ExtractorDB2LoadInfo_h__ diff --git a/src/tools/map_extractor/loadlib/DBFilesClientList.h b/src/tools/map_extractor/loadlib/DBFilesClientList.h index b6c2a3bdcd4..953a8e3e24e 100644 --- a/src/tools/map_extractor/loadlib/DBFilesClientList.h +++ b/src/tools/map_extractor/loadlib/DBFilesClientList.h @@ -93,6 +93,7 @@ DB2FileInfo const DBFilesClientList[] = { 1846043, "AzeriteTierUnlock.db2" }, { 2446322, "AzeriteTierUnlockSet.db2" }, { 1284819, "BankBagSlotPrices.db2" }, + { 5242411, "BankTab.db2" }, { 1373459, "BannedAddons.db2" }, { 1237437, "BarberShopStyle.db2" }, { 841610, "BattlePetAbility.db2" }, @@ -110,6 +111,7 @@ DB2FileInfo const DBFilesClientList[] = { 801583, "BattlePetState.db2" }, { 801584, "BattlePetVisual.db2" }, { 1360265, "BattlemasterList.db2" }, + { 5916746, "BattlemasterListXMap.db2" }, { 5549327, "BattlepayCurrency.db2" }, { 1525607, "BeamEffect.db2" }, { 1467254, "BoneWindModifierModel.db2" }, @@ -135,16 +137,13 @@ DB2FileInfo const DBFilesClientList[] = { 1360263, "CharComponentTextureSections.db2" }, { 1256914, "CharHairGeosets.db2" }, { 2388725, "CharSectionCondition.db2" }, - { 1365366, "CharSections.db2" }, { 972425, "CharShipment.db2" }, { 972405, "CharShipmentContainer.db2" }, { 1237591, "CharStartOutfit.db2" }, { 1349054, "CharTitles.db2" }, - { 1028733, "CharacterFaceBoneSet.db2" }, { 1369752, "CharacterFacialHairStyles.db2" }, { 1344281, "CharacterLoadout.db2" }, { 1302846, "CharacterLoadoutItem.db2" }, - { 3724843, "CharacterLoadoutPet.db2" }, { 1815417, "CharacterServiceInfo.db2" }, { 1345278, "ChatChannels.db2" }, { 1117084, "ChatProfanity.db2" }, @@ -177,7 +176,6 @@ DB2FileInfo const DBFilesClientList[] = { 3384313, "ChrModel.db2" }, { 3566562, "ChrModelMaterial.db2" }, { 3548976, "ChrModelTextureLayer.db2" }, - { 3536417, "ChrModelTextureTarget.db2" }, { 3490304, "ChrRaceXChrModel.db2" }, { 1305311, "ChrRaces.db2" }, { 5320971, "ChrRacesPing.db2" }, @@ -188,6 +186,7 @@ DB2FileInfo const DBFilesClientList[] = { 1294214, "CinematicCamera.db2" }, { 1134583, "CinematicSequences.db2" }, { 1939843, "ClientSceneEffect.db2" }, + { 5874295, "ClientSettings.db2" }, { 1465903, "CloakDampening.db2" }, { 2175218, "CloneEffect.db2" }, { 1120958, "CombatCondition.db2" }, @@ -199,13 +198,16 @@ DB2FileInfo const DBFilesClientList[] = { 1278239, "ComponentTextureFileData.db2" }, { 5211412, "ConditionalChrModel.db2" }, { 3501965, "ConditionalContentTuning.db2" }, + { 5525474, "ConditionalCreatureModelData.db2" }, { 5345180, "ConditionalItemAppearance.db2" }, { 1709409, "ConfigurationWarning.db2" }, + { 5742435, "ContentPush.db2" }, { 1962930, "ContentTuning.db2" }, { 1587153, "Contribution.db2" }, { 2143633, "ContributionStyle.db2" }, { 2143634, "ContributionStyleContainer.db2" }, { 1260801, "ConversationLine.db2" }, + { 5875491, "CraftingOrderXLabel.db2" }, { 841631, "Creature.db2" }, { 879282, "CreatureDifficulty.db2" }, { 1146692, "CreatureDispXUiCamera.db2" }, @@ -239,6 +241,8 @@ DB2FileInfo const DBFilesClientList[] = { 1278176, "DecalProperties.db2" }, { 1279100, "DeclinedWord.db2" }, { 1279099, "DeclinedWordCases.db2" }, + { 5920079, "DelvesSeason.db2" }, + { 5920080, "DelvesSeasonXSpell.db2" }, { 1122116, "DestructibleModelData.db2" }, { 922722, "DeviceBlacklist.db2" }, { 1352127, "Difficulty.db2" }, @@ -260,6 +264,7 @@ DB2FileInfo const DBFilesClientList[] = { 1361972, "Faction.db2" }, { 1343595, "FactionGroup.db2" }, { 1361579, "FactionTemplate.db2" }, + { 4501047, "FlightCapability.db2" }, { 1308056, "FootprintTextures.db2" }, { 1267647, "FootstepTerrainLookup.db2" }, { 1237638, "FriendshipRepReaction.db2" }, @@ -273,6 +278,7 @@ DB2FileInfo const DBFilesClientList[] = { 3565753, "GameObjectAnimGroupMember.db2" }, { 1266737, "GameObjectArtKit.db2" }, { 1302847, "GameObjectDiffAnimMap.db2" }, + { 5634246, "GameObjectDisplayCondition.db2" }, { 1266277, "GameObjectDisplayInfo.db2" }, { 1345272, "GameObjectDisplayInfoXSoundKit.db2" }, { 841620, "GameObjects.db2" }, @@ -280,23 +286,7 @@ DB2FileInfo const DBFilesClientList[] = { 966238, "GarrAbility.db2" }, { 1020248, "GarrAbilityCategory.db2" }, { 966241, "GarrAbilityEffect.db2" }, - { 929747, "GarrBuilding.db2" }, { 943937, "GarrBuildingDoodadSet.db2" }, - { 983298, "GarrBuildingPlotInst.db2" }, - { 981570, "GarrClassSpec.db2" }, - { 1380674, "GarrClassSpecPlayerCond.db2" }, - { 975304, "GarrEncounter.db2" }, - { 1354772, "GarrEncounterSetXEncounter.db2" }, - { 967961, "GarrEncounterXMechanic.db2" }, - { 981569, "GarrFollItemSetMember.db2" }, - { 1345970, "GarrFollSupportSpell.db2" }, - { 949906, "GarrFollower.db2" }, - { 970979, "GarrFollowerLevelXP.db2" }, - { 1027793, "GarrFollowerQuality.db2" }, - { 1361029, "GarrFollowerSetXFollower.db2" }, - { 1118784, "GarrFollowerType.db2" }, - { 1412636, "GarrFollowerUICreature.db2" }, - { 968468, "GarrFollowerXAbility.db2" }, { 1572314, "GarrItemLevelUpgradeData.db2" }, { 967963, "GarrMechanic.db2" }, { 1391531, "GarrMechanicSetXMechanic.db2" }, @@ -305,14 +295,6 @@ DB2FileInfo const DBFilesClientList[] = { 1125220, "GarrMissionTexture.db2" }, { 984174, "GarrMissionType.db2" }, { 967960, "GarrMissionXEncounter.db2" }, - { 1359096, "GarrMissionXFollower.db2" }, - { 1138458, "GarrMssnBonusAbility.db2" }, - { 937634, "GarrPlot.db2" }, - { 929743, "GarrPlotBuilding.db2" }, - { 929742, "GarrPlotInstance.db2" }, - { 937635, "GarrPlotUICategory.db2" }, - { 939295, "GarrSiteLevel.db2" }, - { 940404, "GarrSiteLevelPlotInst.db2" }, { 937647, "GarrSpecialization.db2" }, { 1416758, "GarrString.db2" }, { 1361032, "GarrTalent.db2" }, @@ -379,8 +361,11 @@ DB2FileInfo const DBFilesClientList[] = { 1277740, "ItemDamageAmmo.db2" }, { 1277743, "ItemDamageOneHand.db2" }, { 1277739, "ItemDamageOneHandCaster.db2" }, + { 6156256, "ItemDamageRanged.db2" }, + { 6156257, "ItemDamageThrown.db2" }, { 1277738, "ItemDamageTwoHand.db2" }, { 1277742, "ItemDamageTwoHandCaster.db2" }, + { 6156258, "ItemDamageWand.db2" }, { 1134087, "ItemDisenchantLoot.db2" }, { 1266429, "ItemDisplayInfo.db2" }, { 1280614, "ItemDisplayInfoMaterialRes.db2" }, @@ -439,11 +424,15 @@ DB2FileInfo const DBFilesClientList[] = { 1375579, "Light.db2" }, { 1375580, "LightData.db2" }, { 1334669, "LightParams.db2" }, + { 5350588, "LightParamsLightShaft.db2" }, + { 5350589, "LightShaft.db2" }, { 1308501, "LightSkybox.db2" }, + { 4680119, "LightWorldShadow.db2" }, { 2003383, "Lightning.db2" }, { 1132538, "LiquidMaterial.db2" }, { 1308058, "LiquidObject.db2" }, { 1371380, "LiquidType.db2" }, + { 2261065, "LiquidTypeXTexture.db2" }, { 1302239, "LoadingScreenTaxiSplines.db2" }, { 1266541, "LoadingScreens.db2" }, { 801706, "Locale.db2" }, @@ -459,7 +448,6 @@ DB2FileInfo const DBFilesClientList[] = { 1375801, "ManifestInterfaceData.db2" }, { 1375804, "ManifestInterfaceItemIcon.db2" }, { 1267335, "ManifestInterfaceTOCData.db2" }, - { 1375802, "ManifestMP3.db2" }, { 1349477, "Map.db2" }, { 1597466, "MapCelestialBody.db2" }, { 801709, "MapChallengeMode.db2" }, @@ -478,7 +466,7 @@ DB2FileInfo const DBFilesClientList[] = { 5393274, "ModelSoundAnimEntry.db2" }, { 5393275, "ModelSoundEntry.db2" }, { 5393276, "ModelSoundOverride.db2" }, - { 5512584, "ModelSoundOverrideName.db2" }, + { 5682517, "ModelSoundSettings.db2" }, { 5393277, "ModelSoundTagEntry.db2" }, { 3390956, "ModifiedCraftingSpellSlot.db2" }, { 1267645, "ModifierTree.db2" }, @@ -497,6 +485,12 @@ DB2FileInfo const DBFilesClientList[] = { 2123783, "MythicPlusSeasonRewardLevels.db2" }, { 4067473, "MythicPlusSeasonTrackedAffix.db2" }, { 4521365, "MythicPlusSeasonTrackedMap.db2" }, + { 5875492, "NPCCraftingOrderCustomer.db2" }, + { 5875493, "NPCCraftingOrderCustomerXLabel.db2" }, + { 5875494, "NPCCraftingOrderSet.db2" }, + { 5875495, "NPCCraftingOrderSetXCraftOrder.db2" }, + { 5875496, "NPCCraftingOrderSetXCustomer.db2" }, + { 5912882, "NPCCraftingOrderSetXTreasure.db2" }, { 1340661, "NPCModelItemSlotDisplayInfo.db2" }, { 1282621, "NPCSounds.db2" }, { 1122117, "NameGen.db2" }, @@ -532,9 +526,14 @@ DB2FileInfo const DBFilesClientList[] = { 1267336, "PhaseShiftZoneSounds.db2" }, { 987581, "PhaseXPhaseGroup.db2" }, { 5152358, "PingType.db2" }, + { 5922429, "PlayerCompanionInfo.db2" }, { 1045411, "PlayerCondition.db2" }, + { 5715394, "PlayerDataElementAccount.db2" }, + { 5715395, "PlayerDataElementCharacter.db2" }, { 5426706, "PlayerDataFlagAccount.db2" }, { 5426708, "PlayerDataFlagCharacter.db2" }, + { 5346849, "PlayerInteractionInfo.db2" }, + { 5735564, "PointLightConditionMap.db2" }, { 1251523, "Positioner.db2" }, { 1251506, "PositionerState.db2" }, { 1251533, "PositionerStateEntry.db2" }, @@ -543,7 +542,6 @@ DB2FileInfo const DBFilesClientList[] = { 1275869, "PrestigeLevelInfo.db2" }, { 4508544, "Profession.db2" }, { 4699082, "PvpRating.db2" }, - { 1307154, "PvpReward.db2" }, { 1591100, "PvpScalingEffect.db2" }, { 1591098, "PvpScalingEffectType.db2" }, { 2966426, "PvpSeason.db2" }, @@ -623,7 +621,6 @@ DB2FileInfo const DBFilesClientList[] = { 1307289, "SoundKitChild.db2" }, { 1237435, "SoundKitEntry.db2" }, { 1307288, "SoundKitFallback.db2" }, - { 1665033, "SoundKitName.db2" }, { 4618887, "SoundMixGroup.db2" }, { 1266542, "SoundOverride.db2" }, { 1279417, "SoundProviderPreferences.db2" }, @@ -698,6 +695,7 @@ DB2FileInfo const DBFilesClientList[] = { 897954, "SpellVisualMissile.db2" }, { 1724949, "SpellXDescriptionVariables.db2" }, { 1101657, "SpellXSpellVisual.db2" }, + { 5735565, "SpotLightConditionMap.db2" }, { 2179613, "StableSlotPrices.db2" }, { 1604265, "StartupFiles.db2" }, { 1375805, "Startup_Strings.db2" }, @@ -722,6 +720,7 @@ DB2FileInfo const DBFilesClientList[] = { 1301101, "TradeSkillCategory.db2" }, { 1329070, "TradeSkillItem.db2" }, { 4543085, "TraitCond.db2" }, + { 5890759, "TraitCondAccountElement.db2" }, { 4420295, "TraitCost.db2" }, { 4524216, "TraitCurrency.db2" }, { 4539393, "TraitCurrencySource.db2" }, @@ -739,6 +738,7 @@ DB2FileInfo const DBFilesClientList[] = { 4543092, "TraitNodeXTraitCond.db2" }, { 4420303, "TraitNodeXTraitCost.db2" }, { 4420304, "TraitNodeXTraitNodeEntry.db2" }, + { 5534447, "TraitSubTree.db2" }, { 4635649, "TraitSystem.db2" }, { 4420305, "TraitTree.db2" }, { 4669507, "TraitTreeLoadout.db2" }, @@ -761,6 +761,7 @@ DB2FileInfo const DBFilesClientList[] = { 1729546, "UIExpansionDisplayInfoIcon.db2" }, { 4861207, "UIGenericWidgetDisplay.db2" }, { 3556601, "UIScriptedAnimationEffect.db2" }, + { 3055924, "UiCamFbackTalkingHeadChrRace.db2" }, { 1261406, "UiCamFbackTransmogChrRace.db2" }, { 1261407, "UiCamFbackTransmogWeapon.db2" }, { 1120287, "UiCamera.db2" }, @@ -773,6 +774,7 @@ DB2FileInfo const DBFilesClientList[] = { 1957219, "UiMapAssignment.db2" }, { 2006972, "UiMapFogOfWar.db2" }, { 2006973, "UiMapFogOfWarVisualization.db2" }, + { 6033745, "UiMapGroup.db2" }, { 1957204, "UiMapGroupMember.db2" }, { 2030690, "UiMapLink.db2" }, { 1957217, "UiMapXMapArt.db2" }, @@ -808,6 +810,7 @@ DB2FileInfo const DBFilesClientList[] = { 3587230, "VolumeFogCondition.db2" }, { 1355528, "WMOAreaTable.db2" }, { 1323241, "WMOMinimapTexture.db2" }, + { 5736130, "WarbandScenePlacement.db2" }, { 879634, "WbAccessControlList.db2" }, { 1267648, "WeaponImpactSounds.db2" }, { 1267068, "WeaponSwingSounds2.db2" }, @@ -816,6 +819,7 @@ DB2FileInfo const DBFilesClientList[] = { 1239842, "WeaponTrailParam.db2" }, { 1343311, "Weather.db2" }, { 1965591, "WeatherXParticulate.db2" }, + { 3580962, "WeeklyRewardChestThreshold.db2" }, { 943871, "WindSettings.db2" }, { 975279, "WorldBossLockout.db2" }, { 1267069, "WorldChunkSounds.db2" }, @@ -824,6 +828,7 @@ DB2FileInfo const DBFilesClientList[] = { 4550228, "WorldLayerMapSet.db2" }, { 1134579, "WorldMapOverlay.db2" }, { 1957212, "WorldMapOverlayTile.db2" }, + { 4680120, "WorldShadow.db2" }, { 1332558, "WorldStateExpression.db2" }, { 1343596, "WorldStateUI.db2" }, { 1266941, "WorldStateZoneSounds.db2" }, diff --git a/src/tools/vmap4_extractor/gameobject_extract.cpp b/src/tools/vmap4_extractor/gameobject_extract.cpp index 7cd77764609..9b6188304d7 100644 --- a/src/tools/vmap4_extractor/gameobject_extract.cpp +++ b/src/tools/vmap4_extractor/gameobject_extract.cpp @@ -26,6 +26,7 @@ #include <CascLib.h> #include <algorithm> #include <cstdio> +#include "advstd.h" bool ExtractSingleModel(std::string& fname) { @@ -60,15 +61,16 @@ bool ExtractSingleModel(std::string& fname) extern std::shared_ptr<CASC::Storage> CascStorage; -bool GetHeaderMagic(std::string const& fileName, uint32* magic) +bool GetHeaderMagic(std::string const& fileName, std::array<char, 4>* magic) { - *magic = 0; + *magic = { }; std::unique_ptr<CASC::File> file(CascStorage->OpenFile(fileName.c_str(), CASC_LOCALE_ALL_WOW)); if (!file) return false; + uint32 bytesToRead = uint32(magic->size() * sizeof(std::remove_pointer_t<decltype(magic)>::value_type)); uint32 bytesRead = 0; - if (!file->ReadFile(magic, 4, &bytesRead) || bytesRead != 4) + if (!file->ReadFile(magic->data(), bytesToRead, &bytesRead) || bytesRead != bytesToRead) return false; return true; @@ -115,16 +117,21 @@ void ExtractGameobjectModels() std::string fileName = Trinity::StringFormat("FILE{:08X}.xxx", fileId); bool result = false; - uint32 header; - if (!GetHeaderMagic(fileName, &header)) + std::array<char, 4> headerRaw; + if (!GetHeaderMagic(fileName, &headerRaw)) continue; - if (!memcmp(&header, "REVM", 4)) + std::string_view header(headerRaw.data(), headerRaw.size()); + if (header == "REVM") result = ExtractSingleWmo(fileName); - else if (!memcmp(&header, "MD20", 4) || !memcmp(&header, "MD21", 4)) + else if (header == "MD20" || header == "MD21") result = ExtractSingleModel(fileName); + else if (header == "BLP2") + continue; // broken db2 data else - ABORT_MSG("%s header: %d - %c%c%c%c", fileName.c_str(), header, (header >> 24) & 0xFF, (header >> 16) & 0xFF, (header >> 8) & 0xFF, header & 0xFF); + ABORT_MSG("%s header: 0x%X%X%X%X - " STRING_VIEW_FMT, fileName.c_str(), + uint32(headerRaw[3]), uint32(headerRaw[2]), uint32(headerRaw[1]), uint32(headerRaw[0]), + STRING_VIEW_FMT_ARG(header)); if (result) { |
