Commit Graph
100 Commits
Author SHA1 Message Date
Jan 8d2f5541d3 chore: make gltf dumping and loading work for models without bone weights 2024-09-05 21:19:43 +02:00
Jan 2699de86b6 chore: use remapped vertex indices when building vertices in gltf loading 2024-09-05 21:19:42 +02:00
Jan 36bc3cf7a3 chore: fix invalid sign when loading gltf 2024-09-05 21:19:42 +02:00
Jan 0bd581ef75 chore: correct tri ordering when loading gltf 2024-09-05 21:19:42 +02:00
Jan 14784fb1c4 chore: correct bone ordering when loading gltf 2024-09-05 21:19:41 +02:00
Jan 30d9ffd8c9 chore: add byteoffset to gltf loading accessors 2024-09-05 21:19:41 +02:00
Jan f4092972e8 chore: implement vertex weights 2024-09-05 21:19:41 +02:00
Jan f35a2f33ff fix: linux build 2024-09-05 21:19:41 +02:00
Jan 01c284fb37 chore: update t6 xmodel part classifications 2024-09-05 21:19:40 +02:00
Jan dfd8d1dbe9 chore: load materials for xmodel 2024-09-05 21:19:40 +02:00
Jan 0d343dd3fa chore: dump and load lod dist from xmodel json 2024-09-05 21:19:40 +02:00
Jan 4db13de471 chore: properly calculate model and bone bounds 2024-09-05 21:19:40 +02:00
Jan 75e22b1750 fix: parentIndex is relative to current bone index 2024-09-05 21:19:39 +02:00
Jan f653530714 chore: improve api for vector packing for models 2024-09-05 21:19:39 +02:00
Jan 1f5050befa feat: first draft of loading gltf models for t6 2024-09-05 21:19:39 +02:00
Jan f8b5734f86 chore: make XModelCommon use offset instead of pointer 2024-09-05 21:19:38 +02:00
Jan d45f0ffab7 chore: adjust XModelCommon numeric types 2024-09-05 21:19:38 +02:00
Jan 42a3e207e5 fix: referencing files in cwd without dot slash 2024-08-21 10:45:05 +02:00
Jan 9c894fcff7 chore: rename zonecode headers to avoid duplicate paths 2024-08-14 08:21:02 +02:00
Jan af01bac183 fix: linux gcc 14 build 2024-08-13 00:01:00 +02:00
Jan fc5853eaa4 fix: make all game names be supported in lowercase instead of only t6 2024-08-12 10:20:04 +02:00
Jan e4beee3d7e chore: use std format in linker 2024-08-12 09:47:15 +02:00
Jan 0e1f0eef7f fix: make specified game name case insensitive 2024-08-12 09:29:52 +02:00
Jan 1117339542 fix: log when a specified game is unsupported 2024-08-12 09:25:37 +02:00
Jan dd2c97f7a0 chore: adjust log levels in linker 2024-08-12 09:18:22 +02:00
Jan b3d59a3f28 chore: do not log failing to open sound curve file in iw4 2024-08-12 08:53:19 +02:00
Jan 62f774f264 fix: not properly normalizing asset names when looking up from GlobalAssetPools 2024-08-10 16:04:39 +02:00
Jan 4d0096b634 chore: include better diagnostics in json error messages 2024-08-08 19:22:06 +02:00
Jan ae6984dff9 fix: null values not resulting in parsed optional nullopt for json 2024-08-08 19:21:09 +02:00
Jan 219590898f chore: log exception when parsing xmodel json fails 2024-08-08 18:50:53 +02:00
Jan 0707fa5873 chore: log exception when parsing weapon camo json fails 2024-08-08 18:50:35 +02:00
Jan 774da9a584 chore: log exception when parsing weapon attachment json fails 2024-08-08 18:50:11 +02:00
Jan 939f5b310f chore: log exception when parsing leaderboard json fails 2024-08-08 18:49:25 +02:00
Jan f452270f8a chore: log exception when parsing material json fails 2024-08-08 18:48:51 +02:00
Jan 0ae7426fbe fix: do not normalize asset names when loading assets since desired effect is already covered by normalized asset finding from asset pools 2024-06-01 15:01:19 +02:00
Jan b1b8184e95 docs: mark leaderboard assets as being loadable 2024-06-01 14:45:53 +02:00
Jan e68877464d fix: iw5 leaderboard track type reading 2024-06-01 14:23:33 +02:00
Jan 7c5795f5bc chore: use std::optional value_or for t6 leaderboard reading 2024-06-01 14:23:23 +02:00
Jan 9367aa889b chore: load t6 leaderboard asset loader 2024-06-01 14:14:56 +02:00
Jan 667fb49ab2 fix: iw5 leaderboard track type reading 2024-06-01 13:55:38 +02:00
Jan 28465d7c64 fix: add missing column id for iw5 leaderboards reading 2024-06-01 13:55:25 +02:00
Jan e046089cbb chore: use std::optional value_or for iw5 leaderboard reading 2024-06-01 13:55:00 +02:00
Jan 02e39a0361 fix: not setting column ids for iw4 leaderboards 2024-06-01 13:25:04 +02:00
Jan b76bdabc75 chore: use std::optional value_or 2024-06-01 13:12:42 +02:00
Jan 5737f232e2 chore: adjust name of leaderboard asset 2024-05-25 11:23:13 +02:00
Jan a166878f7d refactor: use template based asset structs for AssetLoaders 2024-05-25 11:17:04 +02:00
Jan 15440e8d66 feat: add loader for creating empty assets for all remaining iw5 asset types 2024-05-24 19:18:19 +02:00
Jan 68022eee05 fix: IW4 xmodel surfs loader using wrong struct 2024-05-24 19:18:13 +02:00
Jan e68a7303b6 feat: load accuracy graphs using generic 2d graph loader 2024-05-20 13:41:01 +02:00
Jan 6f6a70c212 chore: restructure sound curve loader to load generic 2D graphs instead 2024-05-20 13:21:58 +02:00
Jan fcb73347c2 feat: dump iw4 accuracy graphs 2024-05-20 10:42:02 +02:00
Jan 879acd35bb feat: dump t6 accuracy graphs 2024-05-20 10:42:02 +02:00
Jan 36a2e48e5b feat: dump iw5 accuracy graphs 2024-05-20 10:42:02 +02:00
Jan 5c0d1e4d99 chore: add writer for accuracy graphs 2024-05-20 10:42:01 +02:00
Jan 3201cefd5b chore: rename accuracy table properties in weapon structs 2024-05-20 10:41:57 +02:00
Jan 4486de0175 docs: add image demonstrating model export to readme 2024-05-20 10:21:56 +02:00
Jan 7897c11e62 fix: warnings preventing release build for MSVC 2024-05-19 14:38:59 +02:00
Jan e8ab3ba92d chore: rename iw4/iw5 column id property to colId 2024-05-19 13:31:53 +02:00
Jan bfef9e2531 fix: not properly checking for xpColId and prestigeColId on leaderboards for iw4/iw5 2024-05-19 13:31:37 +02:00
Jan 374fc7fe5d chore: rename t6 leaderboardDef folder to leaderboard 2024-05-19 13:16:07 +02:00
Jan 2a1ec18f6a chore: only dump leaderboard values for t6 when they are relevant for the column 2024-05-19 13:07:04 +02:00
Jan 0c0103c998 chore: rename leaderboardDef folder to leaderboard 2024-05-19 12:09:26 +02:00
Jan dc090c1371 chore: update count properties of leaderboard enums 2024-05-19 11:52:29 +02:00
Jan 489e4d033e chore: only dump leaderboard values when they are relevant for the column 2024-05-19 11:46:21 +02:00
Jan a722b868fa fix: crash on trying to dump referenced iw5 menu 2024-05-18 14:00:18 +02:00
Jan 7497b55054 fix: github actions 2024-05-18 12:37:44 +01:00
Jan 444bdc6fa3 docs: add gltf to xmodel supported assets note 2024-05-12 23:01:27 +02:00
Jan 3efd9534fb feat: fail to parse info strings on empty keys 2024-05-12 22:33:39 +02:00
Jan 5d913acfef feat: improve error messages when parsing an info string file fails 2024-05-12 22:29:40 +02:00
Jan 0a960c330c fix: iw3 vertex weights for more than one bone 2024-05-12 21:17:03 +02:00
Jan fa08017250 fix: iw4 vertex weights for more than one bone 2024-05-12 21:12:34 +02:00
Jan a33bc5414c fix: iw5 vertex weights for more than one bone 2024-05-12 21:01:57 +02:00
Jan ae95accaa3 fix: t5 vertex weights for more than one bone 2024-05-12 20:47:38 +02:00
Jan c89a6631b0 chore: replace custom vector, quaternion, matrix implementation with eigen library 2024-05-12 19:32:06 +02:00
Jan 9979275f8c fix: gltf mesh wrong bone and invertBindMatrix transformations 2024-05-12 16:42:44 +02:00
Jan 17dee65337 fix: t6 vertex weights for more than one bone 2024-05-12 16:37:26 +02:00
Jan e0dd0ac9dc chore: add eigen library for vector math 2024-05-12 16:35:46 +02:00
Jan a9488b8152 chore: normalize asset names before adding to asset pools 2024-05-11 12:57:17 +02:00
Jan 499b752272 chore: add names to exported gltf models 2024-05-11 01:51:28 +02:00
Jan 5c06b6e5e4 chore: dump gltf skin inverseBindMatrices 2024-05-11 01:23:52 +02:00
Jan 6a1962b65a chore: export separate root node for gltf 2024-05-11 01:23:52 +02:00
Jan 1c105db5bc fix: quaternion multiplication and division
i hope its correct at least, quaternions are not my strength
2024-05-11 01:23:51 +02:00
Jan c74be5e8ae chore: dump gltf vertex weights 2024-05-11 00:44:03 +02:00
Jan 9ab78d5384 fix: correct asset references in xmodel material dumping 2024-05-09 22:12:39 +02:00
Jan a0138c8abc chore: set gltf material default metallicness to 0 2024-05-09 22:12:39 +02:00
Jan 1a35152098 chore: dump more information about gltf materials 2024-05-09 22:12:38 +02:00
Jan ebccd67676 chore: fill dumped gltf min max fields for position accessor 2024-05-09 22:12:38 +02:00
Jan c587dae05f fix: build on linux 2024-05-09 22:12:38 +02:00
Jan 07fa12b7f6 chore: implement mesh gltf export 2024-05-09 22:12:38 +02:00
Jan a39e993cc6 chore: use XModelCommon for dumping obj to reduce code duplication 2024-05-09 22:12:37 +02:00
Jan 45684ac828 fix: accidentally dumping NORMAL twice for xmodel export 2024-05-09 22:12:37 +02:00
Jan 2497a9f228 fix: use after free when dumping xmodel vertex weights 2024-05-09 22:12:37 +02:00
Jan 826e59d627 chore: update xmodel common to be a struct with substructs 2024-05-09 22:12:37 +02:00
Jan 0a65c93aa5 chore: move materialIndex to XModelObject 2024-05-09 22:12:36 +02:00
Jan 1bc1c12244 chore: fix linux build 2024-05-09 22:12:36 +02:00
Jan 0d96213f21 chore: export gltf basic attributes 2024-05-09 22:12:36 +02:00
Jan 8a0c93d3d8 feat: add gltf and glb as model dumping formats 2024-05-09 22:12:36 +02:00
Jan f2438bea12 chore: write gltf header with new writers and outputs 2024-05-09 22:12:35 +02:00
Jan c27f4ed544 chore: add output implementations for gltf and glb 2024-05-09 22:12:35 +02:00
Jan 7a0930a208 chore: add json types for gltf 2024-05-09 22:12:35 +02:00