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
161ab45306
chore: handle iw4 technique flags
2026-03-14 09:09:57 +01:00
Jan Laupetin
bb9dba4132
chore: add CommonCodeSourceInfos for IW4
2026-03-14 09:09:45 +01:00
Jan Laupetin
1611c222cc
chore: add logic for computing precompiled index on material pass
2026-03-04 22:00:30 +00:00
Jan Laupetin
b2f51b2ae1
fix: technique loading tech flags
2026-03-02 22:09:00 +00:00
Jan Laupetin
c0a7114b24
chore: add tests for techset and technique compilation
2026-03-02 22:08:59 +00:00
Jan Laupetin
e66030a5df
chore: improve game shader types
2026-03-02 22:08:56 +00:00
Jan Laupetin
bf9beb1458
chore: make sure TechsetCompilerT6 sets proper worldVertFormat
2026-03-02 22:08:55 +00:00
Jan Laupetin
aa47ffa629
refactor: introduce subasset loading
2026-02-05 18:17:15 +01:00
Jan Laupetin
4cdccba016
feat: add embedded image loader for every supported game
2026-01-05 09:50:21 +00:00
Jan Laupetin
dadcdc84e0
feat: dump t6 shader args
2025-12-16 11:47:29 +00:00
Jan Laupetin
18ccbb9180
feat: dump techsets for t6
2025-12-16 11:47:25 +00:00
Jan Laupetin
4cdf568f5b
chore: set proper flags and data for animated models
2025-07-19 12:02:12 +02:00
Jan
babfe7c884
feat: dump and load T5 materials
2025-07-05 13:27:49 +02:00
Jan
0736b8043b
refactor: use templates for JsonMaterialDumper of IW5 and T6
2025-06-24 22:26:39 +01:00
Jan Laupetin
2230efbd27
chore: make xquat and xquat2 structs to improve handling from zcg
2025-06-19 20:45:19 +01:00
Jan Laupetin
4ccd0a55cf
chore: adjust game structs to have custom alignment when they are
...
platform independent
2025-04-27 21:05:22 +02:00
Jan Laupetin
a6107e24a2
chore: disable type alignment on x64 for x86 games
2025-04-26 19:48:03 +02:00
Jan
5d0c94e430
refactor: fix x64 compilation for ObjLoading
2025-04-26 19:48:03 +02:00
Jan
0fbfb860c0
fix: ignoring last element in t6 stringtable cell index sorting
2025-04-23 07:44:43 +02:00
Jan
0c587e5e5f
fix: compilation on msvc
2025-03-25 17:38:07 +01:00
Jan
ef862ff246
chore: make keyvaluepairscompiler use a zonestate
2025-01-03 14:55:19 +01:00
Jbleezy
4529ff2c5e
Rename all instances of Pausable to Pauseable
2024-10-06 15:16:14 -07:00
Jan
a3b9d2693c
chore: rename pauseable to pausable
2024-10-06 19:11:25 +02:00
Jan
bc51ecb49d
chore: little improvement on sound bank types
2024-10-06 19:11:21 +02:00
Jan
5cc52c42cd
refactor: image and obj data loading
2024-09-26 07:22:35 +02:00
Jan
ae73f81a80
chore: address code review comments
2024-09-18 23:01:13 +02:00
Jbleezy
1caa54f16e
Change SndAlias struct members type from char to uint8_t
2024-09-15 21:19:22 -07:00
Jan
c261aef1ef
chore: fix xmodel root struct bone trans and quats
2024-09-05 21:19:43 +02:00
Jan
1be630f71e
chore: set vertex base index for all surfaces
2024-09-05 21:19:43 +02:00
Jan
f4092972e8
chore: implement vertex weights
2024-09-05 21:19:41 +02:00
Jan
1f5050befa
feat: first draft of loading gltf models for t6
2024-09-05 21:19:39 +02:00
Jan
3201cefd5b
chore: rename accuracy table properties in weapon structs
2024-05-20 10:41:57 +02:00
Jan
2a1ec18f6a
chore: only dump leaderboard values for t6 when they are relevant for the column
2024-05-19 13:07:04 +02:00
Future
4fe852b162
feat: dump leaderboard definitions on T6
2024-05-19 09:30:19 +02:00
Jan
237dc83cfc
chore: update xmodel structs
2024-05-09 22:12:30 +02:00
Jan
742b8d5bc6
chore: restructure t6 weapon camo json
2024-03-24 16:24:05 +01:00
Jan
0bb17a33bd
feat: load materials from json
2024-02-29 17:27:48 +01:00
Jan
df7b25b854
feat: dump t6 materials as json
2024-02-18 10:16:43 +01:00
Alex
c8f1c16130
fix SND_HashName
2024-01-01 10:29:26 -05:00
Alex
b7355f9870
fix snd bank alias flags
2023-12-27 23:05:32 -05:00
Clang Format
6b4f5d94a8
Reformat code with clang format
2023-11-19 21:07:21 +00:00
Jan
e16ea9de84
Load T6 GfxImages from raw when building
2023-10-15 19:08:27 +02:00
Jan
28011d6b64
Add enums for GfxStateBits for future reference
2021-12-31 11:58:56 +01:00
Jan
636034d87c
Add menu ItemType enums to all games
2021-08-27 21:46:02 +02:00
Jan
d5780a1124
Add Model dumping for T6
2021-08-14 15:39:40 +02:00
Jan
4e8d1806cc
t6 alias dumping stuff
2021-04-11 09:04:58 +02:00
Jan
3cda71d1e7
Dump SoundBank asset data files
2021-04-05 18:50:42 +02:00
Jan
888b33a9c6
Add AssetLoader for attachments
2021-03-27 00:01:33 +01:00
Jan
5db7eaeec3
Add T6 Attachment dumper
2021-03-07 15:25:58 +01:00