mo
0c22dddd0e
feat: IW3 xanim dumping/loading in CoD4 Mod Tools raw binary format ( #768 )
...
* feat: IW3 dump xanim to cod4 mod tools compatible binary
* chore: add XAnimPartType enum to game headers
* chore: use XAnimPartType in XAnimDumperIW3
* chore: extract xanim filename into XAnimCommon
* chore: prefer emplace_back over push_back
* chore: small code style improvements
* chore: use proper unsigned types for XAnimParts structs
* chore: use better understandable calculations for bitfields
* chore: use game names for parts
* chore: rename method to WriteNoteTracks
* chore: adds comments and improve clearity of what the game does
* chore: extract stream writing methods into StreamUtils
* chore: use vec3 for XAnimPartTransFrames mins and size
* chore: properly differ between XQuat and XQuat2 structs
* chore: use constants for xanim flags
* chore: use optional for delta track quats and trans
* chore: split delta track writing methods into quat and trans
* chore: add assertion for bDelta
* chore: simplify quat frame encoding indexing
* chore: simplify float to int bit casting
* chore: do not throw exception on failing to reconstruct bone tracks
* feat: add xanim loader for iw3
* fix: make sure to sort quats and trans like the game
* chore: prevent empty dumped files on bad xanim data
* chore: ensure no exception on zero frames in xanim notifies
* test: add system test for iw3 xanims
---------
Co-authored-by: Jan Laupetin <jan@laupetin.net >
2026-06-01 22:52:49 +02:00
Jan Laupetin
015544eb79
chore: reorder assignment of light def members slightly
2026-05-16 10:45:26 +02:00
njohnson
72dd51609f
Clang format.
2026-05-16 09:54:26 +02:00
njohnson
336c9d8d86
Fix LMAP parsing and don't resolve till after ptr is ready.
2026-05-16 09:54:26 +02:00
njohnson
4208bab758
Remove un-needed constants and switch to parsing name by null character.
2026-05-16 09:54:25 +02:00
njohnson
d1b74c7230
Remove vestigial lmapLookupStart code.
2026-05-16 09:54:25 +02:00
njohnson
42ed9d8616
Move const to anonymous namespace.
2026-05-16 09:54:25 +02:00
njohnson
efbbc05626
Clang format.
2026-05-16 09:54:25 +02:00
njohnson
e92681914f
Add CreationState to fill in lightdef lookup start.
2026-05-16 09:54:24 +02:00
njohnson
531b4811ca
Fill in lookup start.
2026-05-16 09:54:24 +02:00
njohnson
a905a6d161
feat: add iw3 gfxlight dumper and loader
2026-05-16 09:54:22 +02:00
njohnson
dec2ae96cb
Add loader logic from IW4.
2026-05-02 12:04:50 +02:00
njohnson
3136a03754
Add dumper and loader call to parents.
2026-05-02 12:04:45 +02:00
Paging Red
759a3ccf0e
Merge pull request #753 from pagingred/iw5_physpreset_dumper
...
feat: phys presets dumping and loading for IW3, IW5, T5
2026-05-02 12:01:59 +02:00
Jan Laupetin
daa891a922
feat: add techset compiling for IW3
2026-03-14 20:54:59 +01:00
Jan Laupetin
4cdccba016
feat: add embedded image loader for every supported game
2026-01-05 09:50:21 +00:00
Jan Laupetin
33584f6f7b
feat: add external image loader for every supported game
2026-01-05 09:50:20 +00:00
Jan Laupetin
da2a76f6da
chore: update image namespacing
2026-01-05 09:50:20 +00:00
Jan Laupetin
8eb79da8a2
chore: adjust asset data when taking from global asset pools
2025-12-23 15:40:52 +01:00
Jan Laupetin
02f20f09b6
chore: update all logging to use centralized logging component
2025-09-11 20:25:51 +02:00
Jan Laupetin
46fb919a52
refactor: do not nest asset namespaces in game namespaces
...
* Duplicated namespace names are kind of annoying
2025-08-06 00:50:35 +02:00
Jan Laupetin
95a6a028ab
refactor: streamline IW3 asset loading
2025-08-05 01:22:39 +02:00
Jan Laupetin
250556ab61
refactor: streamline namespaces of xmodel dumping and loading
2025-08-03 17:47:21 +02:00
Jan
65c8cd6198
feat: add json material loading/writing for iw3
2025-07-05 13:27:49 +02:00
Jan
8b85cadb77
refactor: make memory from zone a reference instead of ptr
2025-05-02 22:08:06 +01:00
Jan
5d0c94e430
refactor: fix x64 compilation for ObjLoading
2025-04-26 19:48:03 +02:00
Jan
56c4eeb5cd
fix: set clipmap asset name of non-pvs clipmap to clipmap_unused in IW3,IW4,T5
2025-03-27 17:16:28 +01:00
Jan
a5873a301f
chore: adjust IW3 asset loaders to fit IW4 format
2025-01-01 18:14:41 +01:00
Jan
7ef944ebd4
chore: refactor IW4 asset loaders
2025-01-01 18:14:41 +01:00
Jan
f9456101e6
chore: enable all currently implemented loaders for iw3
2025-01-01 18:14:41 +01:00
Jan
4f585c6aa7
chore: add generic default asset constructors for all games
2025-01-01 18:14:40 +01:00
Jan
9ebea5034a
chore: generalize default asset creators
2025-01-01 18:14:40 +01:00
Jan
c524cb007a
chore: implement obj loading skeleton with localize asset
2025-01-01 18:14:40 +01:00
Jan
4f0a405bdc
chore: adjust asset creation process to use separated AssetCreators
2025-01-01 18:14:40 +01:00
Jan
4c9a84777f
chore: use IObjLoader directly instead of indirection of ObjLoading
2024-10-19 13:46:47 +01:00
Jan
a2d70c17ba
feat: convert from dds to iwi
2024-09-27 20:31:33 +02:00
Jan
5cc52c42cd
refactor: image and obj data loading
2024-09-26 07:22:35 +02:00
Jan
a166878f7d
refactor: use template based asset structs for AssetLoaders
2024-05-25 11:17:04 +02:00
Jan
ae43a994b9
chore: update usages of AddAsset for template asset struct api
2024-04-23 00:49:05 +02:00
Jan
a3acba8bc0
chore: update all usages of memory manager allocation
2024-04-22 21:21:48 +02:00
Jan
132cccb971
refactor: use new line character instead of std::endl
2024-03-24 20:24:22 +01:00
Jan
8de849dc85
feat: add iw3 StringTable loading via generic loader
2024-01-20 15:37:15 +00:00
Jan
bcdde6a244
feat: add localize entry loading for IW3
2024-01-20 11:37:41 +01:00
Jan
cd53c3cbe4
Move D3DFormat definition into separate namespace to make it compatible to existing definitions
2024-01-06 20:35:00 +01:00
Clang Format
6b4f5d94a8
Reformat code with clang format
2023-11-19 21:07:21 +00:00
Jan
5e31be9bac
Finalize menu assets after loading all assets
2021-12-29 00:20:54 +01:00
Jan
2c96bc5ef8
Fix signed/unsigned issue with IW3 AssetLoaderGfxImage
2021-07-31 12:57:18 +02:00
Jan
775bf01752
Add Image loading for dds textures for iw3
2021-04-28 15:29:56 +02:00
Jan
12ac569bfa
Dump images from GfxImageLoadDef
2021-04-28 00:05:56 +02:00
Jan
6b72ac080f
Finish iw3 zone code generation
2021-04-14 18:39:54 +02:00