Commit Graph
3416 Commits
Author SHA1 Message Date
mo 5abb04555a fix: preserve menu function indices (#1051) 2026-10-21 18:20:25 +02:00
mo 1849dfd9d5 fix: normalize menu function cache keys (#1050) 2026-10-21 18:17:34 +02:00
mo 06a121f7cf fix: distinguish DDS formats by pixel bit depth (#1048)
Match bit depth as well as channel masks.
2026-10-19 12:11:10 +02:00
elliot 28b14ea0ee fix: make StringEqualsIgnoreCase constexpr (#1021)
* fix: make StringEqualsIgnoreCase constexpr

Move utils::StringEqualsIgnoreCase into the header as a constexpr function using an ASCII-only lowercase helper, so it can be used from constexpr contexts such as InfoString's comparators with newer MSVC toolsets.

* test: add StringEqualsIgnoreCase tests
v0.34.0
2026-10-18 22:51:52 +02:00
mo bc0a786444 fix: correct XModel tangent vectors and handedness (#1046)
Model loading used binormals as tangents and derived handedness from the
binormal's X component. Use the calculated tangent and basis orientation
2026-10-18 22:07:05 +02:00
moandJan Laupetin e95805bce4 fix: correct WAV RIFF length and padding (#1032)
* fix: correct WAV RIFF length and padding

Include the PCM payload in the RIFF chunk size and pad odd-length data chunks. Add regression coverage for empty, odd, even and larger payloads.

* chore: add comment explaning the wav padding byte

---------

Co-authored-by: Jan Laupetin <[email protected]>
2026-10-18 20:58:11 +02:00
moandJan Laupetin 30d2d498bd refactor: use enum counts for game struct arrays (#1034)
* refactor: use enum counts for game struct arrays

* refactor: name flesh impact effect counts

* refactor: name weapon model and dynamic entity counts

* refactor: add missing enum counts as array sizes

* refactor: add dynentitydrawtype and dynentitycolltype to QOS and refactor GfxWorld to use them

---------

Co-authored-by: Jan Laupetin <[email protected]>
2026-10-18 20:12:17 +02:00
dependabot[bot] f556729d7e chore(deps): bump thirdparty/lz4 from 395f317 to 83376b6 (#1044)
Bumps [thirdparty/lz4](https://github.com/lz4/lz4) from `395f317` to `83376b6`.
- [Release notes](https://github.com/lz4/lz4/releases)
- [Commits](https://github.com/lz4/lz4/compare/395f317e6a5be815e6c09a7b6fc94ea08c653148...83376b665fe6742171407350bb51e963215d6088)

---
updated-dependencies:
- dependency-name: thirdparty/lz4
  dependency-version: 83376b665fe6742171407350bb51e963215d6088
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-17 14:29:06 +02:00
dependabot[bot] 0fedb4028e chore(deps): bump thirdparty/eigen from c0e5aab to f28e5bf (#1043)
Bumps [thirdparty/eigen](https://gitlab.com/libeigen/eigen) from `c0e5aab` to `f28e5bf`.
- [Release notes](https://gitlab.com/libeigen/eigen/tags)
- [Commits](https://gitlab.com/libeigen/eigen/compare/c0e5aabb3ef75155fbed865f3d5fef89b0d4fbed...f28e5bfd303c9f22c522959411e15cd61e4a887c)

---
updated-dependencies:
- dependency-name: thirdparty/eigen
  dependency-version: f28e5bfd303c9f22c522959411e15cd61e4a887c
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-17 14:28:45 +02:00
Jan Laupetin 1b04887c79 fix: update npm path to be root dir as the root project is there (#1042) 2026-10-17 14:02:25 +02:00
mo 878e43f983 fix: initialize XModel bounds (#1035) 2026-10-17 12:42:17 +02:00
dependabot[bot] 3b1e9ff895 chore(deps): bump the modman-dependencies group across 1 directory with 13 updates (#1041)
Bumps the modman-dependencies group with 13 updates in the /src/ModManUi directory:

| Package | From | To |
| --- | --- | --- |
| [three](https://github.com/mrdoob/three.js) | `0.186.0` | `0.186.1` |
| [vue](https://github.com/vuejs/core) | `3.5.43` | `3.5.44` |
| [vue-router](https://github.com/vuejs/router) | `5.3.1` | `5.4.0` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.6.2` | `26.6.5` |
| [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue) | `6.0.9` | `6.0.10` |
| [eslint](https://github.com/eslint/eslint) | `10.11.0` | `10.12.0` |
| [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue) | `10.11.0` | `10.11.1` |
| [jsdom](https://github.com/jsdom/jsdom) | `30.1.1` | `30.1.2` |
| [prettier](https://github.com/prettier/prettier) | `3.9.8` | `3.9.10` |
| [sass](https://github.com/sass/dart-sass) | `1.105.0` | `1.105.1` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.3.0` | `8.3.4` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.1` | `5.0.4` |
| [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc) | `3.3.11` | `3.3.13` |

Updates `three` from 0.186.0 to 0.186.1
- [Release notes](https://github.com/mrdoob/three.js/releases)
- [Commits](https://github.com/mrdoob/three.js/commits)

Updates `vue` from 3.5.43 to 3.5.44
- [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.43...v3.5.44)

Updates `vue-router` from 5.3.1 to 5.4.0
- [Release notes](https://github.com/vuejs/router/releases)
- [Commits](https://github.com/vuejs/router/compare/v5.3.1...v5.4.0)

Updates `@types/node` from 26.6.2 to 26.6.5
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `@vitejs/plugin-vue` from 6.0.9 to 6.0.10
- [Release notes](https://github.com/vitejs/vite-plugin-vue/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-vue/blob/main/packages/plugin-vue/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-vue/commits/[email protected]/packages/plugin-vue)

Updates `eslint` from 10.11.0 to 10.12.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v10.11.0...v10.12.0)

Updates `eslint-plugin-vue` from 10.11.0 to 10.11.1
- [Release notes](https://github.com/vuejs/eslint-plugin-vue/releases)
- [Changelog](https://github.com/vuejs/eslint-plugin-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/eslint-plugin-vue/compare/v10.11.0...v10.11.1)

Updates `jsdom` from 30.1.1 to 30.1.2
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Commits](https://github.com/jsdom/jsdom/compare/v30.1.1...v30.1.2)

Updates `prettier` from 3.9.8 to 3.9.10
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.9.8...3.9.10)

Updates `sass` from 1.105.0 to 1.105.1
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.105.0...1.105.1)

Updates `vite` from 8.3.0 to 8.3.4
- [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.3.4/packages/vite)

Updates `vitest` from 5.0.1 to 5.0.4
- [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/v5.0.4/packages/vitest)

Updates `vue-tsc` from 3.3.11 to 3.3.13
- [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.13/packages/tsc)

---
updated-dependencies:
- dependency-name: three
  dependency-version: 0.186.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: modman-dependencies
- dependency-name: vue
  dependency-version: 3.5.44
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: modman-dependencies
- dependency-name: vue-router
  dependency-version: 5.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: modman-dependencies
- dependency-name: "@types/node"
  dependency-version: 26.6.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: modman-dependencies
- dependency-name: "@vitejs/plugin-vue"
  dependency-version: 6.0.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: modman-dependencies
- dependency-name: eslint
  dependency-version: 10.12.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: modman-dependencies
- dependency-name: eslint-plugin-vue
  dependency-version: 10.11.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: modman-dependencies
- dependency-name: jsdom
  dependency-version: 30.1.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: modman-dependencies
- dependency-name: prettier
  dependency-version: 3.9.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: modman-dependencies
- dependency-name: sass
  dependency-version: 1.105.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: modman-dependencies
- dependency-name: vite
  dependency-version: 8.3.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: modman-dependencies
- dependency-name: vitest
  dependency-version: 5.0.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: modman-dependencies
- dependency-name: vue-tsc
  dependency-version: 3.3.13
  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-10-17 12:22:28 +02:00
dependabot[bot] 31076c9387 chore(deps): bump thirdparty/catch2 from 317ac1e to 0809213 (#1036)
Bumps [thirdparty/catch2](https://github.com/catchorg/Catch2) from `317ac1e` to `0809213`.
- [Release notes](https://github.com/catchorg/Catch2/releases)
- [Commits](https://github.com/catchorg/Catch2/compare/317ac1ed4c0bb6e6b91eafc817e05c488feffcb3...08092139210881f01a34e60c5f2fd6afa0ea4024)

---
updated-dependencies:
- dependency-name: thirdparty/catch2
  dependency-version: '08092139210881f01a34e60c5f2fd6afa0ea4024'
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-17 08:34:26 +02:00
dependabot[bot] 7c98e087c0 chore(deps): bump actions/setup-node from 7.0.0 to 7.1.0 (#1038)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 7.0.0 to 7.1.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v7.0.0...v7.1.0)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: 7.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-17 08:34:09 +02:00
dependabot[bot] b8b9f8c3e7 chore(deps): bump thirdparty/json from 21a6923 to 7461a19 (#1037)
Bumps [thirdparty/json](https://github.com/nlohmann/json) from `21a6923` to `7461a19`.
- [Release notes](https://github.com/nlohmann/json/releases)
- [Commits](https://github.com/nlohmann/json/compare/21a69230bdaabd05c9b8b1427302f35b11771caf...7461a199b5ca4d7e43d463c7acee9256f481b04d)

---
updated-dependencies:
- dependency-name: thirdparty/json
  dependency-version: 7461a199b5ca4d7e43d463c7acee9256f481b04d
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-17 08:33:36 +02:00
dependabot[bot] 8b0d44cd62 chore(deps): bump thirdparty/lz4 from 0774d05 to 395f317 (#1039)
Bumps [thirdparty/lz4](https://github.com/lz4/lz4) from `0774d05` to `395f317`.
- [Release notes](https://github.com/lz4/lz4/releases)
- [Commits](https://github.com/lz4/lz4/compare/0774d05537f9762f838f7ab541b7765f1a729cb5...395f317e6a5be815e6c09a7b6fc94ea08c653148)

---
updated-dependencies:
- dependency-name: thirdparty/lz4
  dependency-version: 395f317e6a5be815e6c09a7b6fc94ea08c653148
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-17 08:33:22 +02:00
dependabot[bot] 030741d826 chore(deps): bump thirdparty/eigen from 789a21e to c0e5aab (#1040)
Bumps [thirdparty/eigen](https://gitlab.com/libeigen/eigen) from `789a21e` to `c0e5aab`.
- [Release notes](https://gitlab.com/libeigen/eigen/tags)
- [Commits](https://gitlab.com/libeigen/eigen/compare/789a21eda1b65d3f95389ccc51832c8728d72f0d...c0e5aabb3ef75155fbed865f3d5fef89b0d4fbed)

---
updated-dependencies:
- dependency-name: thirdparty/eigen
  dependency-version: c0e5aabb3ef75155fbed865f3d5fef89b0d4fbed
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-17 08:33:03 +02:00
dependabot[bot] 068d4cd9f5 chore(deps): bump thirdparty/json from 633de8e to 21a6923 (#1030)
Bumps [thirdparty/json](https://github.com/nlohmann/json) from `633de8e` to `21a6923`.
- [Release notes](https://github.com/nlohmann/json/releases)
- [Commits](https://github.com/nlohmann/json/compare/633de8e44bbbc29383d72f8c920343ea5d1eaa21...21a69230bdaabd05c9b8b1427302f35b11771caf)

---
updated-dependencies:
- dependency-name: thirdparty/json
  dependency-version: 21a69230bdaabd05c9b8b1427302f35b11771caf
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-10 13:53:46 +02:00
dependabot[bot] 38e861115c chore(deps): bump thirdparty/eigen from 062290f to 789a21e (#1029)
Bumps [thirdparty/eigen](https://gitlab.com/libeigen/eigen) from `062290f` to `789a21e`.
- [Release notes](https://gitlab.com/libeigen/eigen/tags)
- [Commits](https://gitlab.com/libeigen/eigen/compare/062290ffb9f9337c8e1eae7177a635f3feb6b617...789a21eda1b65d3f95389ccc51832c8728d72f0d)

---
updated-dependencies:
- dependency-name: thirdparty/eigen
  dependency-version: 789a21eda1b65d3f95389ccc51832c8728d72f0d
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-10 13:53:31 +02:00
dependabot[bot] 59904a3e1d chore(deps): bump thirdparty/eigen from 96aad0b to 062290f (#1024)
Bumps [thirdparty/eigen](https://gitlab.com/libeigen/eigen) from `96aad0b` to `062290f`.
- [Release notes](https://gitlab.com/libeigen/eigen/tags)
- [Commits](https://gitlab.com/libeigen/eigen/compare/96aad0baa7ee62933ebd3e125624d489a9ced3ae...062290ffb9f9337c8e1eae7177a635f3feb6b617)

---
updated-dependencies:
- dependency-name: thirdparty/eigen
  dependency-version: '062290ffb9f9337c8e1eae7177a635f3feb6b617'
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-03 08:18:01 +02:00
dependabot[bot] 67ce40981d chore(deps): bump thirdparty/json from 0b20b7e to 633de8e (#1023)
Bumps [thirdparty/json](https://github.com/nlohmann/json) from `0b20b7e` to `633de8e`.
- [Release notes](https://github.com/nlohmann/json/releases)
- [Commits](https://github.com/nlohmann/json/compare/0b20b7e62211be63522b986bd8eef7d7c68f0cf5...633de8e44bbbc29383d72f8c920343ea5d1eaa21)

---
updated-dependencies:
- dependency-name: thirdparty/json
  dependency-version: 633de8e44bbbc29383d72f8c920343ea5d1eaa21
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-03 08:17:43 +02:00
dependabot[bot] f8f54426cb chore(deps): bump thirdparty/eigen from 2396b9d to 96aad0b (#1018)
Bumps [thirdparty/eigen](https://gitlab.com/libeigen/eigen) from `2396b9d` to `96aad0b`.
- [Release notes](https://gitlab.com/libeigen/eigen/tags)
- [Commits](https://gitlab.com/libeigen/eigen/compare/2396b9dc274b6d4a3af91b1a3177368c85650444...96aad0baa7ee62933ebd3e125624d489a9ced3ae)

---
updated-dependencies:
- dependency-name: thirdparty/eigen
  dependency-version: 96aad0baa7ee62933ebd3e125624d489a9ced3ae
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-26 11:12:38 +02:00
dependabot[bot] 232a7bdea9 chore(deps): bump thirdparty/json from c72f37a to 0b20b7e (#1019)
Bumps [thirdparty/json](https://github.com/nlohmann/json) from `c72f37a` to `0b20b7e`.
- [Release notes](https://github.com/nlohmann/json/releases)
- [Commits](https://github.com/nlohmann/json/compare/c72f37a40d36220255ee9eb097e74ee8950a2681...0b20b7e62211be63522b986bd8eef7d7c68f0cf5)

---
updated-dependencies:
- dependency-name: thirdparty/json
  dependency-version: 0b20b7e62211be63522b986bd8eef7d7c68f0cf5
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-26 11:12:26 +02:00
dependabot[bot] cb8b90d079 chore(deps): bump the modman-dependencies group (#1020)
Bumps the modman-dependencies group in /src/ModManUi with 8 updates:

| Package | From | To |
| --- | --- | --- |
| [@vueuse/core](https://github.com/vueuse/vueuse/tree/HEAD/packages/core) | `14.4.0` | `15.0.0` |
| [vue](https://github.com/vuejs/core) | `3.5.42` | `3.5.43` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.6.1` | `26.6.2` |
| [@vue/test-utils](https://github.com/vuejs/test-utils) | `2.5.0` | `2.5.1` |
| [eslint](https://github.com/eslint/eslint) | `10.10.0` | `10.11.0` |
| [jsdom](https://github.com/jsdom/jsdom) | `30.0.1` | `30.1.1` |
| [prettier](https://github.com/prettier/prettier) | `3.9.6` | `3.9.8` |
| [sass](https://github.com/sass/dart-sass) | `1.104.1` | `1.105.0` |


Updates `@vueuse/core` from 14.4.0 to 15.0.0
- [Release notes](https://github.com/vueuse/vueuse/releases)
- [Commits](https://github.com/vueuse/vueuse/commits/v15.0.0/packages/core)

Updates `vue` from 3.5.42 to 3.5.43
- [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.42...v3.5.43)

Updates `@types/node` from 26.6.1 to 26.6.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `@vue/test-utils` from 2.5.0 to 2.5.1
- [Release notes](https://github.com/vuejs/test-utils/releases)
- [Commits](https://github.com/vuejs/test-utils/compare/v2.5.0...v2.5.1)

Updates `eslint` from 10.10.0 to 10.11.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v10.10.0...v10.11.0)

Updates `jsdom` from 30.0.1 to 30.1.1
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Commits](https://github.com/jsdom/jsdom/compare/v30.0.1...v30.1.1)

Updates `prettier` from 3.9.6 to 3.9.8
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.9.6...3.9.8)

Updates `sass` from 1.104.1 to 1.105.0
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.104.1...1.105.0)

---
updated-dependencies:
- dependency-name: "@vueuse/core"
  dependency-version: 15.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: modman-dependencies
- dependency-name: vue
  dependency-version: 3.5.43
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: modman-dependencies
- dependency-name: "@types/node"
  dependency-version: 26.6.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: modman-dependencies
- dependency-name: "@vue/test-utils"
  dependency-version: 2.5.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: modman-dependencies
- dependency-name: eslint
  dependency-version: 10.11.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: modman-dependencies
- dependency-name: jsdom
  dependency-version: 30.1.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: modman-dependencies
- dependency-name: prettier
  dependency-version: 3.9.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: modman-dependencies
- dependency-name: sass
  dependency-version: 1.105.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: modman-dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-26 11:12:15 +02:00
moandJan Laupetin 209d0105c3 fix: handle non-contiguous xmodel root bones (#1009)
* fix: handle non-contiguous xmodel root bones

* chore: add comment about invalid parent index fix

---------

Co-authored-by: Jan Laupetin <[email protected]>
2026-09-21 21:23:25 +02:00
fc1a0bbc38 fix(zone): align loaded block buffers (#1006)
* fix(zone): align loaded block buffers

* chore: move XBlockTests to correct dir

* chore: align XBlocks to 4096 to match the game

---------

Co-authored-by: LVEIceFire <[email protected]>
Co-authored-by: Jan Laupetin <[email protected]>
2026-09-21 01:10:22 +02:00
LVEIceFireandJan Laupetin 2547516e39 fix(techset): write complete Direct3D 9 shader bytecode (#1004)
* fix(techset): write Direct3D 9 shader bytecode bounds

* chore: extract shader dumping tests into separate sections

---------

Co-authored-by: Jan Laupetin <[email protected]>
2026-09-20 23:57:33 +02:00
moandJan Laupetin 6ca37c43fa fix: preserve special menu item text flags (#1011)
* fix: preserve T4 special menu item text flags

* fix: preserve IW3 special menu item text flags

* refactor: define IW3 and T4 dynamic window flags

* chore: also apply WindowDefDynamicFlag changes to iw4 and iw5

---------

Co-authored-by: Jan Laupetin <[email protected]>
2026-09-20 21:20:54 +02:00
Jan Laupetin f16dd0cffd docs: issue and pull request templates (#1017)
* docs: add a pull request template

* Loosely based on the template of vitejs

* docs: add bug report issue template

* docs: link GitHub discussions in contributing.md
2026-09-20 17:15:56 +02:00
Jan Laupetin b7cc70de06 docs: create documentation about contributing (#1016)
* docs: create documentation about contributing

* chore: add note about closing prs and issues
2026-09-20 11:59:58 +00:00
dependabot[bot] ecfdab3988 chore(deps-dev): bump the modman-dependencies group (#1015)
Bumps the modman-dependencies group in /src/ModManUi with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.5.0` | `26.6.1` |
| [@types/three](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/three) | `0.185.4` | `0.186.0` |
| [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue) | `6.0.8` | `6.0.9` |
| [sass](https://github.com/sass/dart-sass) | `1.104.0` | `1.104.1` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.2.2` | `8.3.0` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.0` | `5.0.1` |


Updates `@types/node` from 26.5.0 to 26.6.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `@types/three` from 0.185.4 to 0.186.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/three)

Updates `@vitejs/plugin-vue` from 6.0.8 to 6.0.9
- [Release notes](https://github.com/vitejs/vite-plugin-vue/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-vue/blob/main/packages/plugin-vue/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-vue/commits/[email protected]/packages/plugin-vue)

Updates `sass` from 1.104.0 to 1.104.1
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.104.0...1.104.1)

Updates `vite` from 8.2.2 to 8.3.0
- [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/[email protected]/packages/vite)

Updates `vitest` from 5.0.0 to 5.0.1
- [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/v5.0.1/packages/vitest)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 26.6.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: modman-dependencies
- dependency-name: "@types/three"
  dependency-version: 0.186.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: modman-dependencies
- dependency-name: "@vitejs/plugin-vue"
  dependency-version: 6.0.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: modman-dependencies
- dependency-name: sass
  dependency-version: 1.104.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: modman-dependencies
- dependency-name: vite
  dependency-version: 8.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: modman-dependencies
- dependency-name: vitest
  dependency-version: 5.0.1
  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-09-19 09:51:14 +02:00
dependabot[bot] 46772eda2f chore(deps): bump thirdparty/json from 7b2d73c to c72f37a (#1013)
Bumps [thirdparty/json](https://github.com/nlohmann/json) from `7b2d73c` to `c72f37a`.
- [Release notes](https://github.com/nlohmann/json/releases)
- [Commits](https://github.com/nlohmann/json/compare/7b2d73cf2e443adbe7903754f912ed95b42504f1...c72f37a40d36220255ee9eb097e74ee8950a2681)

---
updated-dependencies:
- dependency-name: thirdparty/json
  dependency-version: c72f37a40d36220255ee9eb097e74ee8950a2681
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-19 09:50:57 +02:00
dependabot[bot] 6a69c7cbc3 chore(deps): bump thirdparty/eigen from 33e7d53 to 2396b9d (#1014)
Bumps [thirdparty/eigen](https://gitlab.com/libeigen/eigen) from `33e7d53` to `2396b9d`.
- [Release notes](https://gitlab.com/libeigen/eigen/tags)
- [Commits](https://gitlab.com/libeigen/eigen/compare/33e7d5337c4914c4c05937c06d2dee615835fcb2...2396b9dc274b6d4a3af91b1a3177368c85650444)

---
updated-dependencies:
- dependency-name: thirdparty/eigen
  dependency-version: 2396b9dc274b6d4a3af91b1a3177368c85650444
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-19 09:50:41 +02:00
dependabot[bot] dfcbc6e206 chore(deps): bump the modman-dependencies group (#1001)
Bumps the modman-dependencies group in /src/ModManUi with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [three](https://github.com/mrdoob/three.js) | `0.185.1` | `0.186.0` |
| [vue-router](https://github.com/vuejs/router) | `5.3.0` | `5.3.1` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.4.1` | `26.5.0` |
| [eslint](https://github.com/eslint/eslint) | `10.9.1` | `10.10.0` |
| [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue) | `10.10.0` | `10.11.0` |
| [sass](https://github.com/sass/dart-sass) | `1.103.1` | `1.104.0` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.11` | `5.0.0` |


Updates `three` from 0.185.1 to 0.186.0
- [Release notes](https://github.com/mrdoob/three.js/releases)
- [Commits](https://github.com/mrdoob/three.js/commits)

Updates `vue-router` from 5.3.0 to 5.3.1
- [Release notes](https://github.com/vuejs/router/releases)
- [Commits](https://github.com/vuejs/router/compare/v5.3.0...v5.3.1)

Updates `@types/node` from 26.4.1 to 26.5.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `eslint` from 10.9.1 to 10.10.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v10.9.1...v10.10.0)

Updates `eslint-plugin-vue` from 10.10.0 to 10.11.0
- [Release notes](https://github.com/vuejs/eslint-plugin-vue/releases)
- [Changelog](https://github.com/vuejs/eslint-plugin-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/eslint-plugin-vue/compare/v10.10.0...v10.11.0)

Updates `sass` from 1.103.1 to 1.104.0
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.103.1...1.104.0)

Updates `vitest` from 4.1.11 to 5.0.0
- [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/v5.0.0/packages/vitest)

---
updated-dependencies:
- dependency-name: three
  dependency-version: 0.186.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: modman-dependencies
- dependency-name: vue-router
  dependency-version: 5.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: modman-dependencies
- dependency-name: "@types/node"
  dependency-version: 26.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: modman-dependencies
- dependency-name: eslint
  dependency-version: 10.10.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: modman-dependencies
- dependency-name: eslint-plugin-vue
  dependency-version: 10.11.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: modman-dependencies
- dependency-name: sass
  dependency-version: 1.104.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: modman-dependencies
- dependency-name: vitest
  dependency-version: 5.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: modman-dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-12 09:44:01 +02:00
dependabot[bot] cb175eebf4 chore(deps): bump thirdparty/json from c864bb3 to 7b2d73c (#1000)
Bumps [thirdparty/json](https://github.com/nlohmann/json) from `c864bb3` to `7b2d73c`.
- [Release notes](https://github.com/nlohmann/json/releases)
- [Commits](https://github.com/nlohmann/json/compare/c864bb36da3d35e406ea7cf98fae0f8a13a27383...7b2d73cf2e443adbe7903754f912ed95b42504f1)

---
updated-dependencies:
- dependency-name: thirdparty/json
  dependency-version: 7b2d73cf2e443adbe7903754f912ed95b42504f1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-12 09:43:45 +02:00
dependabot[bot] a59b713e93 chore(deps): bump thirdparty/eigen from 17d8ddb to 33e7d53 (#999)
Bumps [thirdparty/eigen](https://gitlab.com/libeigen/eigen) from `17d8ddb` to `33e7d53`.
- [Release notes](https://gitlab.com/libeigen/eigen/tags)
- [Commits](https://gitlab.com/libeigen/eigen/compare/17d8ddbd22c277c6bd20e19e5b8d128b0135a9f4...33e7d5337c4914c4c05937c06d2dee615835fcb2)

---
updated-dependencies:
- dependency-name: thirdparty/eigen
  dependency-version: 33e7d5337c4914c4c05937c06d2dee615835fcb2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-12 09:43:26 +02:00
Jan Laupetin 9dca965366 docs: remove hint about unsupported image formats from iw4,iw5,t4 (#995) 2026-09-06 21:32:47 +00:00
moandJan Laupetin 39e46495b9 feat: decode IWI6 wavelet textures (#980)
* feat: decode IWI6 wavelet textures

* refactor: validate wavelet Huffman tables at compile time

* chore: small code style adjustments to IwiLoader

* chore: small code style adjustments to IwiWaveletDecoder

* fix: use shift right operator to better handle edge cases

* chore: add wavelet support for iwi8

* chore: add wavelet support for iwi13

---------

Co-authored-by: Jan Laupetin <[email protected]>
2026-09-06 23:08:20 +02:00
dependabot[bot] 2ca512abe7 chore(deps): bump the modman-dependencies group (#994)
Bumps the modman-dependencies group in /src/ModManUi with 4 updates: [vue](https://github.com/vuejs/core), [vue-router](https://github.com/vuejs/router), [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) and [@vue/test-utils](https://github.com/vuejs/test-utils).


Updates `vue` from 3.5.41 to 3.5.42
- [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.41...v3.5.42)

Updates `vue-router` from 5.2.0 to 5.3.0
- [Release notes](https://github.com/vuejs/router/releases)
- [Commits](https://github.com/vuejs/router/compare/v5.2.0...v5.3.0)

Updates `@types/node` from 26.3.0 to 26.4.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `@vue/test-utils` from 2.4.11 to 2.5.0
- [Release notes](https://github.com/vuejs/test-utils/releases)
- [Commits](https://github.com/vuejs/test-utils/compare/v2.4.11...v2.5.0)

---
updated-dependencies:
- dependency-name: vue
  dependency-version: 3.5.42
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: modman-dependencies
- dependency-name: vue-router
  dependency-version: 5.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: modman-dependencies
- dependency-name: "@types/node"
  dependency-version: 26.4.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: modman-dependencies
- dependency-name: "@vue/test-utils"
  dependency-version: 2.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: modman-dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-05 02:38:03 +02:00
dependabot[bot] 1d124264b3 chore(deps): bump thirdparty/json from 01853ed to c864bb3 (#993)
Bumps [thirdparty/json](https://github.com/nlohmann/json) from `01853ed` to `c864bb3`.
- [Release notes](https://github.com/nlohmann/json/releases)
- [Commits](https://github.com/nlohmann/json/compare/01853ed6bcf9ebe88ec2e248ea757b86417b1487...c864bb36da3d35e406ea7cf98fae0f8a13a27383)

---
updated-dependencies:
- dependency-name: thirdparty/json
  dependency-version: c864bb36da3d35e406ea7cf98fae0f8a13a27383
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-05 02:37:47 +02:00
dependabot[bot] 5f124396bf chore(deps): bump thirdparty/libtomcrypt from a10cad6 to 6c6d510 (#992)
Bumps [thirdparty/libtomcrypt](https://github.com/libtom/libtomcrypt) from `a10cad6` to `6c6d510`.
- [Release notes](https://github.com/libtom/libtomcrypt/releases)
- [Commits](https://github.com/libtom/libtomcrypt/compare/a10cad624d58b4112335f3dc82e42967afdbe143...6c6d5104de66f3ca0dfd7b68540ef86869982b07)

---
updated-dependencies:
- dependency-name: thirdparty/libtomcrypt
  dependency-version: 6c6d5104de66f3ca0dfd7b68540ef86869982b07
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-05 02:37:31 +02:00
dependabot[bot] dbc3ea42ad chore(deps): bump thirdparty/eigen from 914b2df to 17d8ddb (#991)
Bumps [thirdparty/eigen](https://gitlab.com/libeigen/eigen) from `914b2df` to `17d8ddb`.
- [Release notes](https://gitlab.com/libeigen/eigen/tags)
- [Commits](https://gitlab.com/libeigen/eigen/compare/914b2dffc95da6fd9a618791514648c2cd6677fa...17d8ddbd22c277c6bd20e19e5b8d128b0135a9f4)

---
updated-dependencies:
- dependency-name: thirdparty/eigen
  dependency-version: 17d8ddbd22c277c6bd20e19e5b8d128b0135a9f4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-05 02:37:13 +02:00
moandJan Laupetin 61fd267b2b feat: T4 add xmodel loader (#989)
* feat: T4 add xmodel loader

* chore: remove unused xmodel related struct from T4

* fix: allocating too little trans for t4

---------

Co-authored-by: Jan Laupetin <[email protected]>
2026-09-04 19:37:24 +02:00
moandJan Laupetin 2569303de4 fix: correct T4 FX element type values (#990)
* fix: correct T4 FX element type values

* chore: adjust all game FxElemType enums

---------

Co-authored-by: Jan Laupetin <[email protected]>
2026-09-04 18:48:10 +02:00
moandJan Laupetin 1588b4519a chore: add Windows formatting convenience scripts (#922)
* chore: add Windows formatting convenience scripts

* chore: use powershell scripts

---------

Co-authored-by: Jan Laupetin <[email protected]>
2026-09-04 18:06:13 +02:00
moandJan Laupetin 4da55a351a feat: add T4 menu dumping and loading (#986)
* feat: add T4 menu dumping

* chore: align with latest changes

* feat: add T4 menu loading

Load T4 menulists and menu files through the shared menu parser.

Preserve T4-specific menu and listbox fields and cover loading, dumping, linking, and round-trip behaviour.

* chore: make flag fields unsigned

* chore: rename `expOperationEnum` -> `operationEnum`

* chore: use default enum numeration for T4 operationEnum

* chore: remove unused members of operationEnum

* chore: remove redundant op from operationEnum

* refactor: align T4 expression operand names with IW3

* chore: small adjustment to iw3,t4 types

---------

Co-authored-by: Jan Laupetin <[email protected]>
2026-09-03 23:19:03 +02:00
moandJan Laupetin 7d027e8f89 fix: handle IWD entry end of stream (#976)
* fix: handle IWD entry end of stream

Return EOF correctly for IWD entries and preserve peeked bytes during bulk reads.

* chore: small code style adaption

* chore: use minizip to write test zip file

---------

Co-authored-by: Jan Laupetin <[email protected]>
v0.33.0
2026-09-01 00:01:44 +02:00
Jan Laupetin 662780a896 chore: align iw3,iw4,iw5 menu code (#987)
* chore: small adjustments to iw3 menu dumper

* chore: align iw4 menu loader closer to iw3

* chore: align iw4 menu dumper closer to iw3

* chore: adjust iw4 menu expression dumping

* chore: adjust iw4 menu expression converting

* chore: align iw5 menu loader closer to iw3

* chore: align iw4 menu dumper closer to iw3

* chore: adjust iw5 menu expression dumping

* chore: adjust iw5 menu expression converting

* fix: not respecting reference menus when inlining menu list menus

* fix: compilation on linux
2026-08-31 22:10:37 +02:00
moandJan Laupetin 51770e7ae5 feat: IW3 menu dumping and loading (#909)
* feat: IW3 menu dumping

* fix: IW3 menu dumper preserve menu ownerdraw flag masks

* fix: IW3 menu dumper preserve numeric script arguments

Emit numeric tokens without quotes so the linker keeps colour arguments separate.

Before: `"0.1" "0.1" "0.12" "0.5"` becomes `"0.10.10.120.5"`
After: `0.1 0.1 0.12 0.5`

This fixes `mouseExit` colour commands failing to clear menu hover borders.

* fix: IW3 menu dumper preserve empty item text

Keep explicit empty text distinct from null text when dumping menu items.

This fixes CD-key values overflowing their input boxes.

* test: cover IW3 menu dumper material case

* test: cover IW3 menu list path precedence

* chore: clang format

* fix: reverse order of union to avoid edge case bug in zcg

* feat: IW3 menu loading

* fix: validate menu expression name table

* chore: explain numeric token quoting in comment

* refactor: simplify menu dump fallback path

* chore: add more dynamic window flags

* refactor: reuse IW3 menu window flag constants

* refactor: use explicit menu item feature lookup

* refactor: represent menu item text as optional

* refactor: clarify shared IW3 and IW4 menu constants

IW4 only extends the type enum so they can be shared

* refactor: clarify IW3 menu zone state naming

* fix: log IW3 menu conversion failures

* refactor: align IW3 menu list loader with IW4

* refactor: align IW3 menu dumpers with IW4

* refactor: align IW3 menu converter with IW4

* chore: use default enum numeration for operationEnum

* chore: small optimization on edit field capability initialization

* fix: iw3 menu optimizations for rect not considering relative position to parent

* chore: align iw3 menu converting closer to iw4

* chore: align iw3 menu dumping closer to iw4

* fix: not dumping menu flags properties correctly

* chore: adjust iw3 expression dumping to work similar to iw4

* chore: adjust iw3 expression converting to work similar to iw4

* chore: use unordered_map for MenuExpressionMatchers

---------

Co-authored-by: Jan Laupetin <[email protected]>
2026-08-31 00:04:01 +02:00
dependabot[bot] 4d4921e230 chore(deps-dev): bump the modman-dependencies group (#985)
Bumps the modman-dependencies group in /src/ModManUi with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.2.0` | `26.3.0` |
| [eslint](https://github.com/eslint/eslint) | `10.8.1` | `10.9.1` |
| [sass](https://github.com/sass/dart-sass) | `1.102.0` | `1.103.1` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.2.1` | `8.2.2` |
| [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc) | `3.3.10` | `3.3.11` |


Updates `@types/node` from 26.2.0 to 26.3.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `eslint` from 10.8.1 to 10.9.1
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v10.8.1...v10.9.1)

Updates `sass` from 1.102.0 to 1.103.1
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.102.0...1.103.1)

Updates `vite` from 8.2.1 to 8.2.2
- [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.2.2/packages/vite)

Updates `vue-tsc` from 3.3.10 to 3.3.11
- [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.11/packages/tsc)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 26.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: modman-dependencies
- dependency-name: eslint
  dependency-version: 10.9.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: modman-dependencies
- dependency-name: sass
  dependency-version: 1.103.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: modman-dependencies
- dependency-name: vite
  dependency-version: 8.2.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: modman-dependencies
- dependency-name: vue-tsc
  dependency-version: 3.3.11
  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-08-29 00:50:05 +02:00