feat: IW3 weapon loading and dumping (#867)

* feat: IW3 weapon loading and dumping

* chore: adjust weapon strings for iw3

* chore: use original capitalization for aifuseTime

* chore: remove unused alternative iw3 csp fields

* chore: add missing checks and style the code similar to t5

* chore: small code smells in t5 weapon loader

* feat: add iw3 gdt loader

* chore: adjust weapon loader file names to t5 style

* feat: add gdt dumper for iw3 weapons

---------

Co-authored-by: Jan Laupetin <[email protected]>
This commit is contained in:
moandJan Laupetin authored and GitHub committed 2026-06-30 22:25:06 +02:00
1 parent 3ab002db1d
commit ee63355fd2
19 files changed
+1670 -24

No files matched your search

+6 -1
View File
@@ -8,6 +8,7 @@
#include "Game/IW3/Image/ImageLoaderExternalIW3.h"
#include "Game/IW3/Techset/PixelShaderLoaderIW3.h"
#include "Game/IW3/Techset/VertexShaderLoaderIW3.h"
#include "Game/IW3/Weapon/AccuracyGraphLoaderIW3.h"
#include "Game/IW3/XAnim/XAnimLoaderIW3.h"
#include "Game/IW3/XModel/LoaderXModelIW3.h"
#include "LightDef/LightDefLoaderIW3.h"
@@ -19,6 +20,8 @@
#include "RawFile/AssetLoaderRawFileIW3.h"
#include "Sound/LoaderSoundCurveIW3.h"
#include "StringTable/AssetLoaderStringTableIW3.h"
#include "Weapon/WeaponGdtLoaderIW3.h"
#include "Weapon/WeaponRawLoaderIW3.h"
#include <memory>
@@ -120,7 +123,8 @@ namespace
// collection.AddAssetCreator(std::make_unique<AssetLoaderMenuList>(memory));
// collection.AddAssetCreator(std::make_unique<AssetLoaderMenu>(memory));
collection.AddAssetCreator(localize::CreateLoaderIW3(memory, searchPath, zone));
// collection.AddAssetCreator(std::make_unique<AssetLoaderWeapon>(memory));
collection.AddAssetCreator(weapon::CreateRawLoaderIW3(memory, searchPath, zone));
collection.AddAssetCreator(weapon::CreateGdtLoaderIW3(memory, searchPath, gdt, zone));
// collection.AddAssetCreator(std::make_unique<AssetLoaderSoundDriverGlobals>(memory));
// collection.AddAssetCreator(std::make_unique<AssetLoaderFx>(memory));
// collection.AddAssetCreator(std::make_unique<AssetLoaderImpactFx>(memory));
@@ -129,6 +133,7 @@ namespace
collection.AddSubAssetCreator(techset::CreateVertexShaderLoaderIW3(memory, searchPath));
collection.AddSubAssetCreator(techset::CreatePixelShaderLoaderIW3(memory, searchPath));
collection.AddSubAssetCreator(weapon::CreateAccuracyGraphLoaderIW3(memory, searchPath));
}
} // namespace