Commit Graph
100 Commits
Author SHA1 Message Date
Jan LaupetinandGitHub a87850d36e fix: csv stream special cases (#902)
* chore: add tests for csv stream

* fix: csv values must have quotes when they contain a new line

* fix: csv reader did not properly handle special cases
2026-07-12 18:00:46 +02:00
Jan LaupetinandGitHub 0874f0c36f feat: font generation from ttf (#882)
* chore: add file variant of json fonts

* chore: add stb dependency

* feat: generate fonts from ttf files

* chore: add option to add yOffset to file font

* chore: dynamically adjust generated font bitmap size

* fix: printable characters should respect ISO-8859-1 control characters

* chore: do not write missing glyphs into the bitmap

* chore: remove test texture conversion

* chore: adjust font compiler for iw3,iw4,iw5,t4,t5

* chore: add possibility to fill color channels when converting

* fix: games other than t6 use rgba for fonts

* fix: make sure no mipmaps are set on loaddef

* fix: t4 and iw3 use dimensions in image loaddef

* chore: also include optional glyphs in fonts
2026-07-08 23:35:58 +02:00
Jan LaupetinandGitHub c385f50a0e feat: add support for t4 materials (#891)
* feat: add support for t4 materials

* fix: t4 material struct
2026-07-08 22:50:22 +02:00
Jan LaupetinandGitHub a4229788d7 feat: add image loading to T4 (#890) 2026-07-08 22:03:49 +02:00
Jan LaupetinandGitHub 013f6ebf70 fix: remove non-existant camera region in IW5 (#889) 2026-07-08 07:33:46 +02:00
Jan LaupetinandGitHub 5c67bbaa86 fix: dds dumping for A8 textures (#888) 2026-07-08 07:33:30 +02:00
JanandGitHub 5564db4f5a fix: t6 font crash (#881)
* fix: make sure t6 always has at least one kerning pair

* chore: ignore nonesense kerning pairs when dumping
2026-07-05 23:17:34 +02:00
JanandGitHub 3ab002db1d fix: make info strings case insensitive (#871) 2026-06-30 20:19:18 +02:00
JanandGitHub 4017f084a8 feat: modman image preview (#862)
* fix: iwi rgb and rgba byte order wrong

* chore: extract three logic from xmodel preview

* feat: add preview for image assets

* fix: bc1-5 decompressor assertion
2026-06-28 20:34:09 +02:00
JanandGitHub b0d90f3aac fix: iwi rgb and rgba byte order wrong (#864) 2026-06-28 19:43:25 +02:00
JanandGitHub 5e563afa00 fix: image converter not being able to convert iwis (#863) 2026-06-28 08:19:57 +02:00
JanandGitHub 8d905cca2f feat: make panels of modman resizable (#861) 2026-06-27 12:45:30 +02:00
JanandGitHub 256b5a5699 feat: filter assets in modman (#860) 2026-06-27 12:06:25 +02:00
JanandGitHub b5e2669d57 fix: broken modman textures on linux (#853) 2026-06-25 13:20:50 +00:00
JanandGitHub e4d819c8ea fix: missed reusable marking causes iw5 load error in x64 (#851) 2026-06-24 17:27:14 +02:00
JanandGitHub 255c424aac fix: t6 modman textures (#849)
* feat: dynamically decompress bc5 textures for modman

* chore: restructure image format class

* chore: keep dds file conversions

* chore: convert all kinds of webgl unsupported formats

* chore: add decompressors for remaining formats

* chore: always set full alpha if available on bc4 and bc5 decompression
2026-06-22 07:02:35 +02:00
JanandGitHub 087ce0c208 feat: unlinker auto paths (#848)
* chore: extract shared search paths code from modman

* feat: automatically detect search paths for game directories

* chore: adjust log levels for loading and unload search paths

* fix: move iwd to obj common
2026-06-20 20:35:47 +02:00
JanandGitHub b4477ac1a9 refactor: accuracy graph subassets (#847)
* refactor: use subassets to load accuracy graphs for iw4,iw5,t5,t6

* fix: not dumping anim names for t5 weapons and t6 attachment unique

* refactor: dump accuracy graphs like a subasset

* refactor: use shared method for accuracy graph filenames
2026-06-20 17:16:37 +02:00
JanandGitHub b5acacf680 fix: weapon anims indirect assets (#846)
* fix: t6 attachment unique not considering xanims indirect references

* fix: consider t5 weapon anims indirect references to anim assets
2026-06-20 15:15:32 +02:00
JanandGitHub c84e3076f1 feat: t6 flametables (#845)
* feat: add flametable loading and dumping for T6

* chore: add additional validation logic of game for t6 weapon loading
2026-06-20 11:50:43 +00:00
JanandGitHub 85aa7417c4 feat: xmodel preview in ModMan (#835)
* chore: upgrade webwindowed for dynamic assets

* chore: make enums in ModMan lowercase

* chore: add missing platform wiiu in ModMan

* fix: register asset handler on all windows

* chore: properly localize game and platform

* chore: render example cube as xmodel preview

* chore: allow origin * in debug

* feat: show preview of xmodels with ModMan

* feat: show images in xmodel preview

* feat: auto load search paths in ModMan

* chore: load objcontainer of loaded zones in ModMan

* chore: add iw4x specific recognized zone dirs

* chore: show when models are loading

* fix: make sure webwindowed handles window and app destruction in correct order

* chore: track and properly free threejs resources

* chore: add skybox for 3d preview

* chore: add small border radius to preview

* fix: linting

* fix: linux compilation

* chore: update package lock
2026-06-18 18:52:52 +02:00
JanandGitHub 4fd164ee33 refactor: use webwindowed-api package (#833) 2026-06-16 13:17:08 +02:00
JanandGitHub 8dba13f913 refactor: use new webwindowed api (#831)
* chore: update webview with new api

* chore: update modman to use new webview api

* chore: use title handler plugin from webview lib

* chore: use favicon plugin from webview lib

* chore: use vite-plugin-cpp-header from webview repo

* chore: use asset handler from webview lib

* chore: make webview utility

* chore: rename webview to webwindowed

* chore: Rename code usages to webwindowed
2026-06-16 09:50:34 +02:00
JanandGitHub b2aa4749c1 fix: no support for gltf using vec3 for vertex colors (#832)
* fix: gltf loder not supporting vec3 for color info

* fix: collision tree creator accessing invalid index via array accessor
2026-06-15 19:58:40 +02:00
JanandGitHub 04628fc52c fix: normalizing asset names trims whitespace (#825) 2026-06-07 11:31:33 +00:00
JanandGitHub ab7d8f5670 fix: various wrong alignment values (#823)
* fix: alignment mistakes on various games

* chore: reduce overhead of zcg definition with members fields

* fix: make sure Material alloc alignment is 4
2026-06-07 01:14:37 +00:00
JanandGitHub 036b27568c fix: t6 must use two separate structs for quat indices (#824)
Otherwise arraysize cannot be adjusted from appropriate parent struct
2026-06-07 00:37:16 +00:00
JanandGitHub 0d0f928267 feat: add binary xanim support for remaining games (#818)
* refactor: use generic loader for iw3 xanims

* refactor: use generic dumper for iw3 xanims

* chore: use templating on XAnimDumper

* chore: use templating on XAnimLoader

* feat: dump xanims for T5

* feat: load binary t5 xanims

* feat: load and dump t6 xanims

* feat: load and dump iw4,iw5 xanims

* chore: make sure iw3 and t5 notify about unsupported delta3D

* chore: also use CommonVec3U8 and CommonVec3U16 for non delta trans track
2026-06-06 14:47:51 +00:00
JanandGitHub b6cebe2c67 chore: linting in separate ci step (#814)
* chore: lint ModMan UI in CI

* chore: do not lint in build step anymore

* chore: also do linting on main
2026-05-25 22:18:23 +00: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
JanandGitHub 98a0d2f185 Merge pull request #790 from Laupetin/feature/xmodel-collision-tree
feat: xmodel collision tree
2026-05-24 12:10:44 +02:00
JanandGitHub 40e5a9de97 Merge pull request #811 from Laupetin/dependabot/submodules/thirdparty/eigen-039764e
chore(deps): bump thirdparty/eigen from `48d1f4a` to `039764e`
2026-05-23 07:20:50 +02:00
JanandGitHub d6f3fc3b3d Merge pull request #809 from Laupetin/dependabot/submodules/thirdparty/libtomcrypt-a68fa19
chore(deps): bump thirdparty/libtomcrypt from `8b5af49` to `a68fa19`
2026-05-23 07:20:33 +02:00
JanandGitHub 61eb725d55 Merge pull request #810 from Laupetin/dependabot/submodules/thirdparty/json-d96329f
chore(deps): bump thirdparty/json from `f0bf4c7` to `d96329f`
2026-05-23 07:20:16 +02:00
JanandGitHub 1cadd7e398 Merge pull request #806 from Laupetin/fix/image-iwi-dumping
fix: invalid formats when dumping images as iwi
2026-05-18 18:51:10 +02:00
JanandGitHub 73e2e3d4d5 Merge pull request #778 from pagingred/gfxlightdef
feat: add lightdef dumping and loading for all games
2026-05-16 21:43:23 +02:00
JanandGitHub fb3a59b7b5 Merge pull request #802 from Laupetin/dependabot/submodules/thirdparty/libtomcrypt-8b5af49
chore(deps): bump thirdparty/libtomcrypt from `efd7f24` to `8b5af49`
2026-05-16 08:54:40 +02:00
JanandGitHub adf1e190f3 Merge pull request #803 from Laupetin/dependabot/submodules/thirdparty/eigen-48d1f4a
chore(deps): bump thirdparty/eigen from `7e09729` to `48d1f4a`
2026-05-16 08:54:26 +02:00
JanandGitHub 11b1cfcd82 Merge pull request #804 from Laupetin/dependabot/submodules/thirdparty/catch2-6ee0826
chore(deps): bump thirdparty/catch2 from `b670de4` to `6ee0826`
2026-05-16 08:54:10 +02:00
JanandGitHub 0f7b5cf834 Merge pull request #805 from Laupetin/dependabot/submodules/thirdparty/json-f0bf4c7
chore(deps): bump thirdparty/json from `bdbafc5` to `f0bf4c7`
2026-05-16 08:53:55 +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
JanandGitHub c33282bf37 Merge pull request #797 from Laupetin/feature/ipak-dumping-without-ff
feat: ipak dumping without ff
2026-05-15 14:34:54 +02:00
JanandGitHub a2ab44da39 Merge pull request #794 from Laupetin/dependabot/submodules/thirdparty/lz4-1b0fc69
chore(deps): bump thirdparty/lz4 from `9da37b2` to `1b0fc69`
2026-05-09 07:04:29 +02:00
JanandGitHub 4c6422fb47 Merge pull request #795 from Laupetin/dependabot/submodules/thirdparty/libtomcrypt-efd7f24
chore(deps): bump thirdparty/libtomcrypt from `0a46eb2` to `efd7f24`
2026-05-09 07:04:14 +02:00
JanandGitHub c83b06aec0 Merge pull request #796 from Laupetin/dependabot/submodules/thirdparty/json-bdbafc5
chore(deps): bump thirdparty/json from `98386eb` to `bdbafc5`
2026-05-09 07:04:00 +02:00
JanandGitHub 36f2329e46 Merge pull request #793 from Laupetin/dependabot/submodules/thirdparty/eigen-7e09729
chore(deps): bump thirdparty/eigen from `a25aa64` to `7e09729`
2026-05-09 07:03:47 +02:00
JanandGitHub c3ab0c605f Merge pull request #791 from Laupetin/fix/solution-generation-without-git
fix: being able to generate solution without git submodules on windows
2026-05-05 23:38:18 +02:00
JanandGitHub 1df727af06 Merge pull request #752 from Laupetin/fix/relink-dumped-xmodels
fix: xmodels with more than one root bone are not linkable
2026-05-03 21:38:27 +02:00
JanandGitHub 080e8261bb Merge pull request #788 from Laupetin/fix/iw4-physpreset-clamping
fix: iw4 physpreset clamping
2026-05-03 16:32:48 +02:00
JanandGitHub c25feb3c35 Merge pull request #781 from Laupetin/fix/default-armature
fix: omitting default armature causes problems
2026-05-03 15:34:03 +02:00
JanandGitHub 802df73a98 Merge pull request #787 from Laupetin/adjust-lightdef-names
refactor: adjust asset type names for light def
2026-05-02 18:39:22 +02:00
JanGitHubnjohnson <gitea.nicholasjohnson.info>
d94d80b1a5 Add IW3 & IW5 SndCurve Dumping & Loading Logic (#766)
* Add dumper and loader call to parents.

* Update docs.

* Add loader logic from IW4.

* Add dumper logic from IW4.

* Update docs.

* Add IW5 SndCurve dumper.

* Clang format.

---------

Co-authored-by: njohnson <gitea.nicholasjohnson.info>
2026-05-02 12:52:19 +02:00
JanandGitHub 704b191b97 Merge pull request #786 from Laupetin/dependabot/submodules/thirdparty/json-98386eb
chore(deps): bump thirdparty/json from `3946872` to `98386eb`
2026-05-02 10:54:57 +02:00
JanandGitHub 06b62683cf Merge pull request #785 from Laupetin/dependabot/submodules/thirdparty/eigen-a25aa64
chore(deps): bump thirdparty/eigen from `0f90842` to `a25aa64`
2026-05-02 10:54:47 +02:00
JanandGitHub 7353696d20 Merge pull request #784 from Laupetin/dependabot/submodules/thirdparty/libtomcrypt-0a46eb2
chore(deps): bump thirdparty/libtomcrypt from `557e9e2` to `0a46eb2`
2026-05-02 10:54:39 +02:00
JanandGitHub 6b7752376a Merge pull request #780 from Laupetin/fix/iw3-part-classification
fix: incomplete iw3 part classification
2026-05-01 22:37:59 +02:00
JanandGitHub 8eb76070a2 Merge pull request #769 from michaeloliverx/refactor-arch-wordsize
refactor(zcg): use wordsize instead of architecture
2026-05-01 22:33:14 +02:00
JanandGitHub 51b741e16c Merge pull request #760 from michaeloliverx/xmodel-glTF-dump-bug
fix: xmodel glTF dumps dropping `COLOR_0` vertex attributes
2026-05-01 22:20:39 +02:00
JanandGitHub 3dbc70755c Merge pull request #759 from michaeloliverx/asset-source-log
feat: add asset source description to loading logs
2026-05-01 22:04:36 +02:00
JanandGitHub 1a41f432a9 Merge pull request #777 from michaeloliverx/fix-remove-deprecated-definition
fix: remove deprecated '>type,type' zone definition from examples
2026-05-01 17:25:20 +02:00
JanandGitHub abfc2dc547 Merge pull request #762 from pagingred/iw3_physpreset_fix_doc
Fix doc to show IW3 PhysPreset dumping is supported
2026-04-28 22:22:33 +02:00
JanandGitHub 1499e1ac78 Merge pull request #761 from michaeloliverx/iw3-xmodel-surfs
fix: IW3 ensure `XModel::surfs` is set in loader
2026-04-27 21:31:36 +02:00
JanandGitHub 1ea52555d9 Merge pull request #758 from Laupetin/dependabot/submodules/thirdparty/libtomcrypt-557e9e2
chore(deps): bump thirdparty/libtomcrypt from `2e441a1` to `557e9e2`
2026-04-25 08:36:00 +02:00
JanandGitHub e4c6cfea8b Merge pull request #756 from Laupetin/dependabot/submodules/thirdparty/eigen-0f90842
chore(deps): bump thirdparty/eigen from `f1cccdd` to `0f90842`
2026-04-25 08:35:48 +02:00
JanandGitHub c0d9c37329 Merge pull request #757 from Laupetin/dependabot/github_actions/actions/setup-node-6.4.0
chore(deps): bump actions/setup-node from 6.3.0 to 6.4.0
2026-04-25 08:35:34 +02:00
JanandGitHub 3e6868156e Merge pull request #755 from Laupetin/dependabot/submodules/thirdparty/libtommath-ae40a87
chore(deps): bump thirdparty/libtommath from `652d70a` to `ae40a87`
2026-04-25 08:35:19 +02:00
JanandGitHub 7a0109ab2e Merge pull request #751 from Laupetin/npm-dependency-updates
chore: update npm dependencies
2026-04-20 23:34:25 +02:00
JanandGitHub cd4fc55e0e Merge pull request #750 from Laupetin/dependabot/github_actions/actions/setup-node-6.3.0
chore(deps): bump actions/setup-node from 6 to 6.3.0
2026-04-20 23:14:48 +02:00
JanandGitHub 5885e682e7 Merge pull request #749 from Laupetin/dependabot/submodules/thirdparty/eigen-f1cccdd
chore(deps): bump thirdparty/eigen from `86f2c6e` to `f1cccdd`
2026-04-20 23:11:25 +02:00
JanandGitHub c02b4efc3d Merge pull request #748 from Laupetin/docs/readme-vs-version
docs: update vs version in README from 2022 to 2026
2026-04-20 22:49:25 +02:00
JanandGitHub 54c1ae6e1d Merge pull request #747 from Laupetin/dependabot-cooldown
chore: configure 3 days cooldown for dependabot
2026-04-20 22:40:24 +02:00
JanandGitHub 6627d39711 Merge pull request #746 from Laupetin/fix/ordered_json_extensions
fix: ordered json extensions
2026-04-20 21:57:39 +02:00
JanandGitHub 80dc487d5a Merge pull request #742 from Laupetin/dependabot/submodules/thirdparty/libtomcrypt-2e441a1
chore(deps): bump thirdparty/libtomcrypt from `3223b87` to `2e441a1`
2026-04-19 22:57:25 +02:00
JanandGitHub 484f5e486e Merge pull request #741 from Laupetin/dependabot/submodules/thirdparty/eigen-86f2c6e
chore(deps): bump thirdparty/eigen from `ec28a25` to `86f2c6e`
2026-04-19 21:57:31 +02:00
JanandGitHub f8ba2044dd Merge pull request #740 from Laupetin/fix/t6-images
fix: bad image external loading condition for t6
2026-04-19 21:56:53 +02:00
JanandGitHub ec8759494b Merge pull request #736 from Laupetin/dependabot/submodules/thirdparty/libtomcrypt-3223b87
chore(deps): bump thirdparty/libtomcrypt from `63af5f6` to `3223b87`
2026-04-11 07:52:17 +02:00
JanandGitHub 2858f275ba Merge pull request #737 from Laupetin/dependabot/submodules/thirdparty/libtommath-652d70a
chore(deps): bump thirdparty/libtommath from `839ae9e` to `652d70a`
2026-04-11 07:52:03 +02:00
JanandGitHub 5bf1d287b8 Merge pull request #738 from Laupetin/dependabot/submodules/thirdparty/catch2-b670de4
chore(deps): bump thirdparty/catch2 from `29c9844` to `b670de4`
2026-04-11 07:51:51 +02:00
JanandGitHub c9e8d3b4d0 Merge pull request #735 from Laupetin/dependabot/submodules/thirdparty/eigen-ec28a25
chore(deps): bump thirdparty/eigen from `a91913e` to `ec28a25`
2026-04-11 07:51:34 +02:00
JanandGitHub b9cbb0b744 Merge pull request #734 from Laupetin/dependabot/submodules/thirdparty/json-3946872
chore(deps): bump thirdparty/json from `9a73748` to `3946872`
2026-04-11 07:51:15 +02:00
JanandGitHub da6e2e3254 Merge pull request #726 from Laupetin/npm-min-release-age
chore: set npm min-release-age
2026-04-05 10:23:57 +02:00
JanandGitHub 4fa4559fbb Merge pull request #731 from Laupetin/use-std-expected
refactor: use std::expected instead of custom implementation
2026-04-04 17:13:39 +02:00
JanandGitHub bd6f42dc54 Merge pull request #729 from Laupetin/dependabot/submodules/thirdparty/eigen-a91913e
chore(deps): bump thirdparty/eigen from `eb4b2ee` to `a91913e`
2026-04-04 08:17:12 +02:00
JanandGitHub acf9b1c6de Merge pull request #728 from Laupetin/dependabot/submodules/thirdparty/lz4-9da37b2
chore(deps): bump thirdparty/lz4 from `5c4c1fb` to `9da37b2`
2026-04-04 08:16:58 +02:00
JanandGitHub 671bbbedbb Merge pull request #727 from Laupetin/dependabot/submodules/thirdparty/json-9a73748
chore(deps): bump thirdparty/json from `eba0a92` to `9a73748`
2026-04-04 08:16:45 +02:00
JanandGitHub 7ca1e0f4b8 Merge pull request #730 from Laupetin/dependabot/npm_and_yarn/src/ModManUi/modman-dependencies-337107b81e
chore(deps): bump the modman-dependencies group in /src/ModManUi with 5 updates
2026-04-04 08:16:22 +02:00
JanandGitHub 097f208173 Merge pull request #725 from Laupetin/dependabot/npm_and_yarn/src/ModManUi/modman-dependencies-1060e4eaa3
chore(deps): bump the modman-dependencies group in /src/ModManUi with 8 updates
2026-03-28 09:07:21 +01:00
JanandGitHub f7af0cfa56 Merge pull request #724 from Laupetin/dependabot/submodules/thirdparty/eigen-eb4b2ee
chore(deps): bump thirdparty/eigen from `6540bf4` to `eb4b2ee`
2026-03-28 09:07:06 +01:00
JanandGitHub 15a4662f87 Merge pull request #722 from Laupetin/chore/techset-tests
chore: add unit tests for techset dumping and compilation for all remaining games
2026-03-21 00:22:01 +01:00
JanandGitHub 44ddafd265 Merge pull request #721 from Laupetin/dependabot/npm_and_yarn/src/ModManUi/modman-dependencies-8746817bb2
chore(deps): bump the modman-dependencies group in /src/ModManUi with 6 updates
2026-03-21 00:07:35 +01:00
JanandGitHub a66f88ead1 Merge pull request #719 from Laupetin/dependabot/github_actions/microsoft/setup-msbuild-3.0.0
chore(deps): bump microsoft/setup-msbuild from 2.0.0 to 3.0.0
2026-03-21 00:04:33 +01:00
JanandGitHub d231a82610 Merge pull request #720 from Laupetin/dependabot/submodules/thirdparty/eigen-6540bf4
chore(deps): bump thirdparty/eigen from `f64d1e0` to `6540bf4`
2026-03-21 00:03:40 +01:00
JanandGitHub 7b2f14c068 Merge pull request #718 from Laupetin/dependabot/submodules/thirdparty/json-eba0a92
chore(deps): bump thirdparty/json from `8167d2f` to `eba0a92`
2026-03-20 23:52:41 +01:00
JanandGitHub 1abd19f07a Merge pull request #717 from Laupetin/dependabot/submodules/thirdparty/lz4-5c4c1fb
chore(deps): bump thirdparty/lz4 from `130f457` to `5c4c1fb`
2026-03-20 23:52:30 +01:00
JanandGitHub bb7f4b99f7 Merge pull request #716 from Laupetin/feature/techset-iw5
feat: add techset dumping for iw5
2026-03-19 22:21:08 +01:00
JanandGitHub f9e4a6d34c Merge pull request #714 from Laupetin/feature/asset-creation-logging
feat: more detailed logs about what is being loaded
2026-03-17 18:57:19 +01:00
JanandGitHub a25ddf173c Merge pull request #713 from Laupetin/feature/t5-techniques
feat: t5 techset compiling
2026-03-15 16:06:28 +01:00
JanandGitHub 1e933d6ae2 Merge pull request #712 from Laupetin/feature/iw3-techniques
feat: iw3 techsets
2026-03-14 21:27:00 +01:00
JanandGitHub 8376bea762 Merge pull request #711 from Laupetin/fix/iw4-dirty-rebuild
fix: iw4 map dirty rebuild
2026-03-14 16:32:49 +01:00
JanandGitHub adc3908b90 Merge pull request #707 from Laupetin/feature/techset-iw4
feat: techsets for iw4
2026-03-14 14:05:46 +01:00