Commit Graph
100 Commits
Author SHA1 Message Date
Jan 28ecee3a1d chore: move t6 xmodel json to proper folder 2024-09-20 16:44:06 +01:00
Jan e9c66a2e28 chore: move xmodel dumping and loading code into generic files 2024-09-20 16:44:06 +01:00
Jan 543a4f06e4 refactor: extract TangentData from JsonXModelLoader 2024-09-20 16:44:05 +01:00
Jan b282e611fc refactor: extract PartClassificationState from JsonXModelLoader 2024-09-20 16:44:02 +01:00
Jan ae73f81a80 chore: address code review comments 2024-09-18 23:01:13 +02:00
Jan c91697caea feat: check for xmodel limits when converting 2024-09-08 22:01:07 +01:00
Jan 74a54ec981 feat: add command line args to add asset and source search paths without overriding all 2024-09-08 21:07:49 +01:00
Jan 8ea9380526 chore: fix command line description for linker gdt and source args 2024-09-08 21:43:45 +02:00
Jan 147de6e240 feat: add zone_raw/?project? as default source directory 2024-09-08 21:42:49 +02:00
Jan 931e128eb9 chore: add asset loaders for all asset types of t6 2024-09-08 17:59:09 +01:00
Jan c6ffdedb81 feat: load raw game folder relative to binary to be able to always locate it, even when in a different working directory 2024-09-08 16:15:45 +02:00
Jan 2c7c5cdb47 Mark t6 xmodels as supported 2024-09-08 14:37:55 +01:00
Jan 997f45d567 Add examples repository to README 2024-09-08 14:37:16 +01:00
Jan becfdbf814 chore: omit skel node when dumping gltf without armature 2024-09-08 14:40:20 +02:00
Jan 9b64ba1623 chore: omit default armature when dumping xmodels 2024-09-08 13:28:48 +01:00
Jan 63556848c1 fix: auto generate armature when imported gltf has none 2024-09-08 13:55:50 +02:00
Jan 2c47212b52 fix: broken normals when packing unitvec3 for t6 2024-09-07 08:48:49 +02:00
Jan 7eb1714e89 feat: support gltf bone rotation as matrix notation 2024-09-06 21:37:48 +02:00
Jan 30ca98d86e fix: gltf buffer view incorrectly calculating stride 2024-09-06 15:49:06 +01:00
Jan 36ddb998a4 fix: linux build 2024-09-05 21:56:17 +02:00
Jan 46111ae106 chore: add note about only rigid models being supported right now 2024-09-05 21:19:45 +02:00
Jan 27d047198f chore: fix not terminating when not being able to load lod 2024-09-05 21:19:44 +02:00
Jan 71819e46a4 chore: set vertex color to 1.0 when no value read from gltf 2024-09-05 21:19:44 +02:00
Jan db5e53e60d chore: calculate tangents for xmodel vertices 2024-09-05 21:19:44 +02:00
Jan 26f4640194 chore: properly read uv data from gltf 2024-09-05 21:19:44 +02:00
Jan c261aef1ef chore: fix xmodel root struct bone trans and quats 2024-09-05 21:19:43 +02:00
Jan 2687fbf9fd chore: properly calculate partbits for loaded gltf models 2024-09-05 21:19:43 +02:00
Jan 1be630f71e chore: set vertex base index for all surfaces 2024-09-05 21:19:43 +02:00
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