2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2026-06-07 17:22:34 +00:00
Commit Graph

51 Commits

Author SHA1 Message Date
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