Commit Graph
2082 Commits
Author SHA1 Message Date
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
e8d84c6d4d chore(deps): bump the modman-dependencies group (#821)
Bumps the modman-dependencies group in /src/ModManUi with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [vue](https://github.com/vuejs/core) | `3.5.34` | `3.5.35` |
| [vue-router](https://github.com/vuejs/router) | `5.0.7` | `5.1.0` |
| [@vitest/eslint-plugin](https://github.com/vitest-dev/eslint-plugin-vitest) | `1.6.18` | `1.6.19` |
| [eslint](https://github.com/eslint/eslint) | `10.4.0` | `10.4.1` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.0.14` | `8.0.16` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.7` | `4.1.8` |
| [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc) | `3.3.2` | `3.3.3` |

Updates `vue` from 3.5.34 to 3.5.35
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.34...v3.5.35)

Updates `vue-router` from 5.0.7 to 5.1.0
- [Release notes](https://github.com/vuejs/router/releases)
- [Commits](https://github.com/vuejs/router/compare/v5.0.7...v5.1.0)

Updates `@vitest/eslint-plugin` from 1.6.18 to 1.6.19
- [Release notes](https://github.com/vitest-dev/eslint-plugin-vitest/releases)
- [Commits](https://github.com/vitest-dev/eslint-plugin-vitest/compare/v1.6.18...v1.6.19)

Updates `eslint` from 10.4.0 to 10.4.1
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v10.4.0...v10.4.1)

Updates `vite` from 8.0.14 to 8.0.16
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.0.16/packages/vite)

Updates `vitest` from 4.1.7 to 4.1.8
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.8/packages/vitest)

Updates `vue-tsc` from 3.3.2 to 3.3.3
- [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.3/packages/tsc)

---
updated-dependencies:
- dependency-name: vue
  dependency-version: 3.5.35
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: modman-dependencies
- dependency-name: vue-router
  dependency-version: 5.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: modman-dependencies
- dependency-name: "@vitest/eslint-plugin"
  dependency-version: 1.6.19
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: modman-dependencies
- dependency-name: eslint
  dependency-version: 10.4.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: modman-dependencies
- dependency-name: vite
  dependency-version: 8.0.16
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: modman-dependencies
- dependency-name: vitest
  dependency-version: 4.1.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: modman-dependencies
- dependency-name: vue-tsc
  dependency-version: 3.3.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: modman-dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-06 11:31:47 +00:00
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 <[email protected]>
2026-06-01 22:52:49 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-30 09:08:44 +02:00
JanandGitHub 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
njohnsonandJan Laupetin 72dd51609f Clang format. 2026-05-16 09:54:26 +02:00
njohnsonandJan Laupetin cd2346e174 Refactor something. 2026-05-16 09:54:26 +02:00
njohnsonandJan Laupetin 336c9d8d86 Fix LMAP parsing and don't resolve till after ptr is ready. 2026-05-16 09:54:26 +02:00
njohnsonandJan Laupetin 4208bab758 Remove un-needed constants and switch to parsing name by null character. 2026-05-16 09:54:25 +02:00
njohnsonandJan Laupetin d1b74c7230 Remove vestigial lmapLookupStart code. 2026-05-16 09:54:25 +02:00
njohnsonandJan Laupetin 42ed9d8616 Move const to anonymous namespace. 2026-05-16 09:54:25 +02:00
njohnsonandJan Laupetin efbbc05626 Clang format. 2026-05-16 09:54:25 +02:00
njohnsonandJan Laupetin e92681914f Add CreationState to fill in lightdef lookup start. 2026-05-16 09:54:24 +02:00
njohnsonandJan Laupetin 531b4811ca Fill in lookup start. 2026-05-16 09:54:24 +02:00
njohnsonandJan Laupetin 54d4eaffd2 Added assert for attenuation image. Do not dump lmapLookupStart. 2026-05-16 09:54:24 +02:00
njohnsonandJan Laupetin 92418daa6d Add brackets for if. Do not dump lmapLookupStart. 2026-05-16 09:54:24 +02:00
njohnsonandJan Laupetin 773fee4a03 T5 and T6 set lmapLookupStart to 0. 2026-05-16 09:54:24 +02:00
njohnsonandJan Laupetin 7d3791a404 Change manual CString reader to std::getline builtin. Don't require cucoloris be present. 2026-05-16 09:54:23 +02:00
njohnsonandJan Laupetin e0c1ba1724 Remove unused max constant. 2026-05-16 09:54:23 +02:00
njohnsonandJan Laupetin 2b3f680d48 feat: add t6 gfxlight dumper and loader 2026-05-16 09:54:23 +02:00
njohnsonandJan Laupetin 5b6a725f78 feat: add t5 gfxlight dumper and loader 2026-05-16 09:54:23 +02:00
njohnsonandJan Laupetin 3c15f8ad7e feat: add iw5 gfxlight dumper and loader 2026-05-16 09:54:22 +02:00
njohnsonandJan Laupetin a905a6d161 feat: add iw3 gfxlight dumper and loader 2026-05-16 09:54:22 +02:00
JanandGitHub 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
Jan Laupetin ed1ed73c73 chore: warn about mismatching root bone name between model and xmodel json 2026-05-03 13:40:31 +02:00