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
0ae7186409
chore: allow arbitary type conversions for ordered_json
2026-04-20 20:08:46 +01:00
Jan Laupetin
4242c4a325
refactor: use std::expected instead of custom implementation
2026-04-04 14:47:10 +02:00
Jan Laupetin
914cdda360
feat: summarize warnings and errors after linking and unlinking
2026-03-16 00:46:14 +01:00
Jan Laupetin
58ab46413a
chore: prefix warn and error messages
2026-03-15 23:06:56 +01:00
Jan Laupetin
bc16febfe2
chore: remove utilities from ClassUtils that were meant for cpp backwards compatibility
2026-03-05 21:50:00 +00:00
Jan Laupetin
5f28bcc58a
chore: use TextFileCheckDirtyOutput for RawTemplater
2026-03-05 19:55:32 +00:00
Jan Laupetin
d80cdd9712
chore: add TextFileCheckDirtyOutput to FileUtils
2026-03-05 20:30:36 +01:00
Jan Laupetin
d469af2328
chore: use namespace for FileUtils
2026-03-05 20:27:47 +01:00
Jan Laupetin
7227772045
fix: only show console color when supported
2025-11-30 16:28:35 +00:00
Jan Laupetin
b27b7e77bd
chore: pass ZoneLoading error as result
2025-10-11 19:04:47 +01:00
Jan Laupetin
42473a7320
chore: add result util
2025-10-11 19:04:46 +01:00
Jan Laupetin
5bbeaed3a3
feat: add dialog handler for ModMan
2025-10-10 09:49:36 +02:00
Jan Laupetin
02f20f09b6
chore: update all logging to use centralized logging component
2025-09-11 20:25:51 +02:00
Jan Laupetin
1bf4033f41
feat: add centralized logging component
2025-09-10 19:53:31 +02:00
Jan
3adbe5a275
refactor: fix additional zcg x64 warnings
2025-04-28 12:07:41 +01:00
Jan
60f5c1a18f
refactor: adjust zcg code for working in x64
2025-04-26 19:08:15 +02:00
Jan
fb20cbf81c
fix: use platform specific calls to get executable dir
2025-04-23 00:50:30 +01:00
Jan
4c09e94220
refactor: remove MemoryManager create method usages
2025-01-13 22:03:20 +00:00
Jan
fc9e6ce14d
test: add test for KeyValuePairsCompilerT6
2025-01-05 00:16:57 +00:00
Jan
d2b95b4ebe
chore: trim csv reader values
2024-10-06 19:11:25 +02:00
Jan
5fee875495
chore: use filename of argv0 in UsageInformation
2024-09-23 23:05:04 +02:00
Jan
32480a75eb
chore: give all args to arg parser instead of omitting arg0
2024-09-23 22:38:18 +02:00
Jan
2b1c048a4a
chore: improve argument parser code
2024-09-23 22:36:47 +02:00
Jan
c89a6631b0
chore: replace custom vector, quaternion, matrix implementation with eigen library
2024-05-12 19:32:06 +02:00
Jan
1c105db5bc
fix: quaternion multiplication and division
...
i hope its correct at least, quaternions are not my strength
2024-05-11 01:23:51 +02:00
Jan
c74be5e8ae
chore: dump gltf vertex weights
2024-05-11 00:44:03 +02:00
Jan
0845cccd12
refactor: change memory manager API to use a type template
2024-04-22 21:21:47 +02:00
Jan
132cccb971
refactor: use new line character instead of std::endl
2024-03-24 20:24:22 +01:00
Alex
2478a1355f
code review changes
2024-02-09 11:39:51 -05:00
Alex
e2f8892278
clang formatting
2024-01-26 13:05:07 -05:00
Alex
b5dd6df1cd
begin working on SndBank loading from raw
2024-01-12 16:38:53 -05:00
Future
b8b76adc73
fix(menus): make functions case insensitive
2023-12-10 21:33:02 +01:00
Clang Format
c858695f0c
Adjust further code formatting
2023-11-19 21:07:28 +00:00
Jan
d5f881be04
Fix more missing headers
2023-11-19 21:07:27 +00:00
Clang Format
6b4f5d94a8
Reformat code with clang format
2023-11-19 21:07:21 +00:00
Jan
abbb697d7c
Add data writing for IPaks
2023-10-15 18:12:23 +02:00
Jan
23d0fe1eb0
Always load/unload project specific zones
2023-10-07 15:17:06 +02:00
Jan
36cd9e11fe
Support localize entries that have a name that cannot be represented as an identifier
2023-09-24 15:58:57 +02:00
Jan
88bc1c1056
Fix SimpleLexer not being able to read escaped strings
2023-09-23 14:28:59 +02:00
Jan
34cdd46b42
Fix linux compilation
2023-06-18 12:20:55 +02:00
Jan
0105c0d1bd
Dump material info from constants
2022-05-14 16:09:11 +02:00
Jan
77420495f6
Add base for calculation sizes of structs for StructuredDataDef
2022-03-22 14:12:48 +01:00
Jan
c52d129db1
Add alignment utility
2022-03-20 17:38:23 +01:00
Jan
c91cb40b76
Add endianness utility methods
2022-03-20 16:00:56 +01:00
Jan
338de302d9
Add free function to memory manager
2021-12-28 23:51:23 +01:00
Jan
767daca2ea
Add generic XModel Export dumper without bone support yet
2021-08-13 09:40:12 +02:00
Jan
ef36d6cdc5
Use _strdup instead of strdup when using msvc
2021-03-19 16:41:18 +01:00
Jan
e6a91c0305
add linker basis
2021-03-08 12:46:27 +01:00
Jan
b4d8e9c17b
Make compilation process compatible to linux on gcc
2021-03-03 06:21:25 -08:00