Commit Graph
100 Commits
Author SHA1 Message Date
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
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
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 c1a1d2739d fix: being able to generate solution without git submodules on windows 2026-05-05 22:07:11 +01: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
Jan Laupetin 989d29b359 feat: support root bone name from xmodel json 2026-05-03 13:27:35 +02:00
Jan Laupetin b7a22973e6 chore: make sure xmodel flags are unsigned 2026-05-03 13:09:03 +02:00
Jan Laupetin 4886767e67 chore: get rid of unnecessary class in XModelDumper 2026-05-03 13:09:03 +02:00
Jan Laupetin 2527f23c10 chore: use references when possible in xmodel dumper 2026-05-03 13:09:02 +02:00
Jan Laupetin d6a736eb5d feat: preserve root bone name when dumping xmodels with omitted default armature 2026-05-03 13:09:02 +02:00
Jan Laupetin f3859e6952 fix: iw3 vert lists are sometimes not complete 2026-05-03 13:09:02 +02:00
Jan Laupetin 08c128addd feat: accept aliases for asset type names 2026-05-02 18:08:12 +02:00
Jan Laupetin 0cbe0c2891 chore: adjust asset type names for light def 2026-05-02 16:01:11 +02:00
Jan Laupetin 4d66911203 fix: incomplete iw3 part classification 2026-05-01 21:52:10 +02:00
Jan Laupetin 1d6a9d6df1 chore: only dump gltf color when there is non-default data 2026-05-01 21:48:41 +02:00
Jan Laupetin 3063550931 chore: adjust asset source description a bit 2026-04-27 21:29:14 +02:00
Jan Laupetin 778f238779 chore: update npm dependencies 2026-04-20 21:46:36 +01:00
Jan Laupetin eeca5bf728 docs: update vs version in README from 2022 to 2026 2026-04-20 21:19:00 +01:00
Jan Laupetin de8b6e45e3 chore: configure 3 days cooldown for dependabot 2026-04-20 21:08:53 +01:00
Jan Laupetin eee44b5860 chore: use ordered_json for gltf
order is based on what blender does
https://github.com/KhronosGroup/glTF-Blender-IO/blob/7bea3666f8b5043292e578501a779f244d8e8f06/addons/io_scene_gltf2/io/exp/export.py#L48
2026-04-20 20:08:46 +01:00
Jan Laupetin 0ae7186409 chore: allow arbitary type conversions for ordered_json 2026-04-20 20:08:46 +01:00
Jan Laupetin 535f0e299c chore: use libtomcrypt rsa_verify_hash_v2 as old method was deprecated 2026-04-19 21:26:34 +01:00
Jan Laupetin f9f93b33ec fix: bad image external loading condition for t6
* change picked from edd6aef2c578b65c3718dc55a2f366bc488f5243 by hc20k
2026-04-17 22:31:05 +02:00
Jan Laupetin 52bd60a799 chore: refuse to use npm version that does not support min-release-age 2026-04-05 09:42:06 +02:00
Jan Laupetin 514700a41f chore: update package-lock deps 2026-04-05 09:42:02 +02:00
Jan Laupetin 6ef0cd8266 chore: add min-release-age setting in npmrc 2026-04-05 09:39:45 +02:00
Jan Laupetin 4242c4a325 refactor: use std::expected instead of custom implementation 2026-04-04 14:47:10 +02:00
Jan Laupetin 0c4a2771ef chore: add unit tests for iw3 techsets 2026-03-20 23:51:19 +01:00
Jan Laupetin 7bb9cfcbfa chore: add unit tests for iw4 techsets 2026-03-20 23:03:02 +01:00
Jan Laupetin 3b0416fa99 chore: add unit tests for iw5 techsets 2026-03-20 22:20:20 +01:00
Jan Laupetin 8d0e3f054c chore: add unit tests for t5 techsets 2026-03-20 20:58:14 +01:00
Jan Laupetin d050721142 chore: add additional known texture def hashes for iw5 2026-03-19 21:20:24 +01:00
Jan Laupetin b98ae1fdc8 fix: properly dump iw5 vertex sampler 2026-03-19 19:26:33 +01:00
Jan Laupetin 2ba00acedd chore: make sure iw5 can use its special vertex material samplers 2026-03-19 18:26:57 +01:00
Jan Laupetin a497efe67b feat: compile iw5 techsets 2026-03-18 23:04:41 +01:00
Jan Laupetin 72f285178b feat: add techset dumping for iw5 2026-03-18 23:04:35 +01: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 3da04f8092 feat: more details about which assets are dumped 2026-03-15 22:47:46 +01:00
Jan Laupetin 64a36d89e1 feat: more detailed logs about what is being loaded 2026-03-15 19:23:54 +01:00
Jan Laupetin b93925c306 fix: inconsistencies on t5 technique compilation 2026-03-15 15:31:01 +01:00
Jan Laupetin f4ed3e6c93 fix: warn but accept invalid argument types in shaders
cheers to T5 mc_sw4_3d_char_skin_gas that uses a sampler in the vertex shader
2026-03-15 12:56:13 +01:00
Jan Laupetin e8b9ece6bd feat: t5 techset compiling 2026-03-14 23:38:59 +01:00
Jan Laupetin 04870e8fbf chore: use templated code for t5 techset dumping 2026-03-14 23:23:10 +01:00
Jan Laupetin aaf4c0fd7d docs: adjust supported asset types for techniquesets 2026-03-14 20:55:00 +01:00
Jan Laupetin daa891a922 feat: add techset compiling for IW3 2026-03-14 20:54:59 +01:00
Jan Laupetin 5993c88897 feat: dump iw3 technique sets 2026-03-14 20:54:59 +01:00
Jan Laupetin a613cb0f8b fix: release ci pipeline broken 2026-03-14 16:53:04 +01:00
Jan Laupetin edcc6774c7 fix: not reusing cbrushedge_t type in iw3,iw4 clipMap 2026-03-14 16:01:30 +01:00
Jan Laupetin 14b143466d fix: not adding offset of reusable type when type is not structure 2026-03-14 15:56:08 +01:00
Jan Laupetin 08a869f8c3 chore: add cursed calculation for techflag 200 in iw4 2026-03-14 13:35:42 +01:00
Jan Laupetin 629564073c fix: auto creating dx9 shader args with too many elements 2026-03-14 10:50:12 +01:00
Jan Laupetin 161ab45306 chore: handle iw4 technique flags 2026-03-14 09:09:57 +01:00
Jan Laupetin 503fe89251 feat: load shader args for dx9 shaders 2026-03-14 09:09:57 +01:00
Jan Laupetin 6e19b94b9b chore: use templated loaders for shaders in IW4,T6 2026-03-14 09:09:57 +01:00
Jan Laupetin fbfd418e20 feat: add templated technique compiler for IW4 2026-03-14 09:09:56 +01:00
Jan Laupetin dbe5cffb2f feat: use templated techset compiler for IW4 2026-03-14 09:09:56 +01:00
Jan Laupetin 3bb7f1aa05 chore: use templated vertex decl compiler 2026-03-14 09:09:56 +01:00
Jan Laupetin 5272b9060d chore: use templating for t6 techset compilation 2026-03-14 09:09:56 +01:00
Jan Laupetin 02a3394c2d fix: fix extraction of source templating games 2026-03-14 09:09:55 +01:00
Jan Laupetin 3aac05a516 fix: make sure matrix shader args with less than 4 rows are properly dumped and loaded 2026-03-14 09:09:55 +01:00
Jan Laupetin 2f12092773 fix: indentation in shader dumping error message 2026-03-14 09:09:55 +01:00
Jan Laupetin eae57d9da0 feat: template techset and shader dumping for IW4,T6 2026-03-14 09:09:55 +01:00
Jan Laupetin bb9dba4132 chore: add CommonCodeSourceInfos for IW4 2026-03-14 09:09:45 +01:00
Jan Laupetin 3e85db8110 fix: header transformation plugin not properly handling utf-8 characters 2026-03-14 08:40:26 +01:00
Jan Laupetin 76881dc77f chore: update to vite 8 2026-03-14 08:16:40 +01:00
Jan Laupetin fe05816af0 fix: do not spam zcg executions when building on linux
* make considers the timestamp of every output instead of only for the
  log
* to fix this remove all outputs from the command other than the log
2026-03-06 18:26:44 +01:00
Jan Laupetin 90d7f92ddd chore: replace all usages of removed ClassUtils macros 2026-03-06 00:13:04 +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 f8b3361bbe chore: add build log for zcg 2026-03-05 21:08:39 +00:00
Jan Laupetin 027d47d549 chore: add buildlog to all templated code 2026-03-05 21:08:39 +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 304ebd56a7 chore: do not write ZCG output if up to date 2026-03-05 18:37:34 +00:00
Jan Laupetin 6eb0ec4179 chore: reorganize precompiled index logic into separate file 2026-03-04 22:47:30 +00:00
Jan Laupetin 1611c222cc chore: add logic for computing precompiled index on material pass 2026-03-04 22:00:30 +00:00
Jan Laupetin 925e51cb10 fix: not setting correct flags on technique post processing when reusing assets 2026-03-02 22:09:02 +00:00