Jan Laupetin
c448ddd06a
refactor: use generic dumper for iw3 xanims
2026-06-05 15:10:01 +02:00
Jan Laupetin
a5d61b7127
refactor: use generic loader for iw3 xanims
2026-06-05 15:04:29 +02:00
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
dependabot[bot]
f7be1ac9c1
chore(deps-dev): bump the modman-dependencies group ( #817 )
...
Bumps the modman-dependencies group in /src/ModManUi with 3 updates: [@vitest/eslint-plugin](https://github.com/vitest-dev/eslint-plugin-vitest ), [npm-run-all2](https://github.com/bcomnes/npm-run-all2 ) and [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc ).
Updates `@vitest/eslint-plugin` from 1.6.17 to 1.6.18
- [Release notes](https://github.com/vitest-dev/eslint-plugin-vitest/releases )
- [Commits](https://github.com/vitest-dev/eslint-plugin-vitest/compare/v1.6.17...v1.6.18 )
Updates `npm-run-all2` from 9.0.0 to 9.0.1
- [Release notes](https://github.com/bcomnes/npm-run-all2/releases )
- [Changelog](https://github.com/bcomnes/npm-run-all2/blob/master/CHANGELOG.md )
- [Commits](https://github.com/bcomnes/npm-run-all2/compare/v9.0.0...v9.0.1 )
Updates `vue-tsc` from 3.3.1 to 3.3.2
- [Release notes](https://github.com/vuejs/language-tools/releases )
- [Changelog](https://github.com/vuejs/language-tools/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vuejs/language-tools/commits/v3.3.2/packages/tsc )
---
updated-dependencies:
- dependency-name: "@vitest/eslint-plugin"
dependency-version: 1.6.18
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: modman-dependencies
- dependency-name: npm-run-all2
dependency-version: 9.0.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: modman-dependencies
- dependency-name: vue-tsc
dependency-version: 3.3.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: modman-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-30 09:08:44 +02:00
Jan
414ff2f8d9
chore: move package json to root ( #813 )
...
* chore: move package json to root folder
* chore: also lint prettier codestyle
* chore: configure ModManUi files to use lf eof
* chore: update npm versions
* chore: update README of ModMan
* chore: adjust ci to use package json of root folder
2026-05-25 23:41:21 +02:00
Jan Laupetin
e1ec018f09
chore: modernize collision tree code
2026-05-24 11:38:21 +02:00
Jan Laupetin
a81548e300
fix: account for possible zero items when building aabb trees
2026-05-24 11:13:55 +02:00
Jan Laupetin
64d518405d
feat: calculate full collision tree for xmodels
2026-05-24 11:13:55 +02:00
Jan Laupetin
5cf0ce37c1
feat: calculate model collision tree with leafs
2026-05-24 11:13:55 +02:00
Jan Laupetin
a128fbeb5e
chore: imitate game xmodel behaviour in always having even tri count
2026-05-24 11:13:54 +02:00
Jan Laupetin
8a791816ed
chore: set XSurface deformed property when applicable
2026-05-24 11:13:54 +02:00
Jan Laupetin
e6aa66e0f0
chore: use templating for image dumper
2026-05-17 12:07:02 +02:00
Jan Laupetin
18dec9d2f2
fix: add missing iwi formats to iwi writers
2026-05-17 11:15:25 +02:00
Jan Laupetin
c49d2bc96f
fix: do not dump iwis with format unknown
2026-05-17 11:15:25 +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
cd2346e174
Refactor something.
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
54d4eaffd2
Added assert for attenuation image. Do not dump lmapLookupStart.
2026-05-16 09:54:24 +02:00
njohnson
92418daa6d
Add brackets for if. Do not dump lmapLookupStart.
2026-05-16 09:54:24 +02:00
njohnson
773fee4a03
T5 and T6 set lmapLookupStart to 0.
2026-05-16 09:54:24 +02:00
njohnson
7d3791a404
Change manual CString reader to std::getline builtin. Don't require cucoloris be present.
2026-05-16 09:54:23 +02:00
njohnson
e0c1ba1724
Remove unused max constant.
2026-05-16 09:54:23 +02:00
njohnson
2b3f680d48
feat: add t6 gfxlight dumper and loader
2026-05-16 09:54:23 +02:00
njohnson
5b6a725f78
feat: add t5 gfxlight dumper and loader
2026-05-16 09:54:23 +02:00
njohnson
3c15f8ad7e
feat: add iw5 gfxlight dumper and loader
2026-05-16 09:54:22 +02:00
njohnson
a905a6d161
feat: add iw3 gfxlight dumper and loader
2026-05-16 09:54:22 +02:00
Jan
6012b79cdc
Merge pull request #801 from michaeloliverx/cli-minimal-zone
...
fix(unlinker): respect `--minimal-zone` CLI arg
2026-05-15 17:22:39 +02:00
Jan Laupetin
e824e9a9de
chore: make DependencyAssetLookup a separate class
2026-05-15 15:35:23 +01:00
Jan Laupetin
f7f4deeecc
chore: choose appropriate extension for ipak file
2026-05-15 13:02:49 +01:00
Michael Oliver
9ecc3d06e8
fix(unlinker): respect minimal zone definition output
2026-05-15 11:48:33 +01:00
Jan Laupetin
71ca182524
feat: properly parse data from xenon ipaks
2026-05-12 23:44:53 +02:00
Jan Laupetin
e1bb8ae4d2
chore: enable reading of big endian ipaks
2026-05-11 23:54:25 +02:00
Jan Laupetin
7ae7cf85ff
fix: make sure ipak reading stops in time
2026-05-11 22:20:57 +02:00
Jan Laupetin
b2c271956a
chore: reorder methods of ipak entry read stream
2026-05-11 22:16:56 +02:00
Jan Laupetin
36b4ec7781
feat: add support for extracting ipaks to ImageConverter
2026-05-11 21:58:25 +02:00
Jan Laupetin
582d8abbbf
feat: reorder bones when their order is not corresponding to xmodel constraints
2026-05-03 21:01:38 +02:00
Jan Laupetin
92e236b1fe
chore: only allocate 3 floats per bone for applicable games
2026-05-03 17:19:48 +02:00
Jan Laupetin
875e1fb360
fix: properly load all root bones from gltf
2026-05-03 16:35:15 +02:00
Jan Laupetin
ff7b940e86
fix: properly dump gltf with root node in models with more than one root bone
2026-05-03 16:35:06 +02:00
Jan Laupetin
2d2ea30b45
fix: iw5 uses isFrictionInfinity as well
2026-05-03 16:00:30 +02:00
Jan Laupetin
a31d3c4b88
fix: iw4 physpreset uses FLT_MAX as infinite friction
2026-05-03 15:56:09 +02:00
Jan Laupetin
67bdb79654
fix: do not clamp iw4 physpreset mass
2026-05-03 15:46:52 +02:00
Jan Laupetin
0c1bc747dc
chore: update default root bone name to empty string and do not specify if matching default name
2026-05-03 13:51:56 +02:00