Commit Graph
100 Commits
Author SHA1 Message Date
Jan a36581b06e chore: fix loading and writing code for IW5 2025-01-01 18:14:41 +01:00
Jan 9ae5aaa1db chore: fix loading and writing code for IW4 2025-01-01 18:14:41 +01:00
Jan a5873a301f chore: adjust IW3 asset loaders to fit IW4 format 2025-01-01 18:14:41 +01:00
Jan 7ef944ebd4 chore: refactor IW4 asset loaders 2025-01-01 18:14:41 +01:00
Jan f9456101e6 chore: enable all currently implemented loaders for iw3 2025-01-01 18:14:41 +01:00
Jan 4f585c6aa7 chore: add generic default asset constructors for all games 2025-01-01 18:14:40 +01:00
Jan 9ebea5034a chore: generalize default asset creators 2025-01-01 18:14:40 +01:00
Jan c524cb007a chore: implement obj loading skeleton with localize asset 2025-01-01 18:14:40 +01:00
Jan 673db0592f chore: add scripts for formatting via docker containers 2025-01-01 18:14:40 +01:00
Jan 2c8fcf1630 chore: formatting 2025-01-01 18:14:40 +01:00
Jan 4f0a405bdc chore: adjust asset creation process to use separated AssetCreators 2025-01-01 18:14:40 +01:00
Jan 63046f5681 chore: do not add duplicate paths in LinkerPaths 2025-01-01 18:14:40 +01:00
Jan a240824706 chore: normalize paths before making use of them in LinkerPaths 2025-01-01 18:14:39 +01:00
Jan 110f31e58a chore: fix linux build 2025-01-01 18:14:39 +01:00
Jan be6c30c503 refactor: rework search paths 2025-01-01 18:14:39 +01:00
Jan fd421c4784 chore: use std format for linker and unlinker args 2025-01-01 18:14:39 +01:00
Jan 3803ae24f5 chore: add ObjCompiling component 2025-01-01 18:14:39 +01:00
Jan f9e0bdaa7b chore: always build fastfile when there are assets defined 2025-01-01 18:14:39 +01:00
Jan 2182196730 feat: add ipak and iwd zone definition metadata to replace type 2025-01-01 18:14:39 +01:00
Jan 2034db3330 fix: make name of zone definition the target name by default 2024-11-12 19:37:38 +01:00
Jan b00c65c8c0 refactor: get rid of global game variables 2024-10-19 22:09:26 +02:00
Jan ce16d8e6c8 chore: use method static array for zonewriterfactory 2024-10-19 20:05:08 +01:00
Jan a1851b0ea0 chore: use method static array for zoneloaderfactory 2024-10-19 20:05:08 +01:00
Jan 778361728c chore: make some zone classes use const references 2024-10-19 20:05:08 +01:00
Jan 897a571a41 chore: make GetLanguagePrefixes return a reference instead of a vector copy 2024-10-19 20:05:05 +01:00
Jan e80b9d7460 chore: use std format 2024-10-19 13:46:47 +01:00
Jan bb845f68e9 chore: use IObjWriter directly instead of indirection of ObjWriting 2024-10-19 13:46:47 +01:00
Jan 4c9a84777f chore: use IObjLoader directly instead of indirection of ObjLoading 2024-10-19 13:46:47 +01:00
Jan c034ac790a refactor: refactor ZoneDefWriter 2024-10-19 10:49:56 +02:00
Jan 0e3d9efb0f fix: use multimap again for zone definition properties since stuff like ipak_read can be specified multiple times 2024-10-12 22:14:55 +02:00
Jan 0a423937f0 fix: stop removing extensions of soundalises and guessing their extension later 2024-10-12 18:54:50 +01:00
Jan 9f9e20988a fix: zone def loader not taking correct token for asset name 2024-10-08 20:11:15 +02:00
Jan c245daf56e fix: loaded zone definitions do not set type fastfile if undefined 2024-10-08 20:10:40 +02:00
Jan d2b95b4ebe chore: trim csv reader values 2024-10-06 19:11:25 +02:00
Jan d814fe7b95 refactor: refactor sound csv loading code 2024-10-06 19:11:25 +02:00
Jan a3b9d2693c chore: rename pauseable to pausable 2024-10-06 19:11:25 +02:00
Jan 8620ce864c refactor: refactor sound bank csv writing head 2024-10-06 19:11:25 +02:00
Jan bc51ecb49d chore: little improvement on sound bank types 2024-10-06 19:11:21 +02:00
Jan c1d3138b04 fix: formula for dbspl and cent values 2024-10-06 18:45:06 +02:00
Jan 1a7d2cf1a2 chore: fix build 2024-10-05 12:56:14 +02:00
Jan 1861bd689c chore: respect previously set game when including additional zone files 2024-10-05 11:19:41 +01:00
Jan b156c7348a refactor: use asset_type_t for ZoneDefinition 2024-10-05 10:56:56 +01:00
Jan d2fa1f40f4 fix: linux build 2024-09-27 21:20:02 +02:00
Jan 2dccd423af refactor: extract image code into single component 2024-09-27 21:16:29 +02:00
Jan a2d70c17ba feat: convert from dds to iwi 2024-09-27 20:31:33 +02:00
Jan 8bd70662e0 feat: convert from iwi to dds 2024-09-27 17:36:05 +01:00
Jan 5cc52c42cd refactor: image and obj data loading 2024-09-26 07:22:35 +02:00
Jan 5fee875495 chore: use filename of argv0 in UsageInformation 2024-09-23 23:05:04 +02:00
Jan 32480a75eb chore: give all args to arg parser instead of omitting arg0 2024-09-23 22:38:18 +02:00
Jan 2b1c048a4a chore: improve argument parser code 2024-09-23 22:36:47 +02:00
Jan da18291c89 chore: improve args code for other tools 2024-09-23 20:00:00 +02:00
Jan c37e9984ba chore: add base for image converter tool 2024-09-23 19:29:58 +02:00
Jan d4d8e83169 feat: load iw5 images from raw 2024-09-22 16:59:56 +02:00
Jan 7b28b574d2 feat: load iw5 materials from json 2024-09-22 16:59:31 +02:00
Jan 28a4fbd0d6 feat: dump iw5 materials as json 2024-09-22 15:11:40 +02:00
Jan 7649e5d58f chore: generalize base64 usage 2024-09-22 15:10:54 +02:00
Jan 3b59dad109 chore: generalize material constant zone state 2024-09-22 15:10:01 +02:00
Jan 88499b6428 chore: create temporary iw5 partbits 2024-09-20 21:27:34 +02:00
Jan 1fef66397f chore: implement scale based unit vec3 packing 2024-09-20 21:26:47 +02:00
Jan e814515b53 fix: failure to load xmodel does not abort loading process 2024-09-20 19:39:26 +02:00
Jan d05c1730fa feat: dump and load xmodels for IW5 via template 2024-09-20 16:44:07 +01:00
Jan 0eb321f8c8 chore: make sure components using source templating depend on RawTemplater 2024-09-20 16:44:07 +01:00
Jan fc216a153f chore: use RawTemplater to template XModel dumping code for t5 and t6 2024-09-20 16:44:07 +01:00
Jan 7227c84cde chore: use RawTemplater to template XModel loading code for t5 and t6 2024-09-20 16:44:06 +01:00
Jan a2735b4f23 chore: use generic xmodel loader and dumper code for t5 2024-09-20 16:44:06 +01:00
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