Commit Graph
100 Commits
Author SHA1 Message Date
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
Jan d4ef9fa3d9 chore: move xmodel packages 2024-05-09 22:12:35 +02:00
Jan abc3003b5b chore: implement base loading and writing of xmodel json 2024-05-09 22:12:34 +02:00
Jan 237dc83cfc chore: update xmodel structs 2024-05-09 22:12:30 +02:00
Jan 28610ae7a9 feat: log invalid enum values for infostring loaders 2024-05-09 20:38:23 +02:00
Jan ae43a994b9 chore: update usages of AddAsset for template asset struct api 2024-04-23 00:49:05 +02:00
Jan 931fe695e1 refactor: use template asset structs for AddAsset api 2024-04-23 00:06:28 +02:00
Jan d0c7311dce fix: iw4 and iw5 structured data def asset using wrong struct 2024-04-23 00:05:56 +02:00
Jan eb0cec1d81 refactor: make LoadDependency and LoadIndirectAssetReference functions work with Asset template types 2024-04-22 23:36:21 +02:00
Jan 0b61fc6e81 chore: add asset structs for all games containing enum entry and type 2024-04-22 23:14:29 +02:00
Jan a3acba8bc0 chore: update all usages of memory manager allocation 2024-04-22 21:21:48 +02:00
Jan 0845cccd12 refactor: change memory manager API to use a type template 2024-04-22 21:21:47 +02:00
Jan aa59768416 chore: remove previous manual lower case conversions of indirect asset references 2024-04-22 19:28:41 +02:00
Jan 6bd6635a83 feat: normalize asset names before loading 2024-04-22 19:23:54 +02:00
Jan 04b80b5208 chore: move AddAsset function shortcuts to interface 2024-04-22 18:52:47 +02:00
Jan 6ca7d892f9 fix: iw5 weapon attachment and override loading 2024-04-21 19:49:01 +02:00
Jan 94aee91592 chore: remove unnecessary weapon defaults 2024-04-21 19:49:01 +02:00
Jan 1601c87481 chore: set internal name earlier 2024-04-21 19:49:01 +02:00
Jan e764373013 feat: load iw5 weapons 2024-04-21 19:49:00 +02:00
Jan fedd955e68 fix: attachment loader not properly loading attributes 2024-04-21 19:49:00 +02:00
Jan 191965a970 chore: do not only load infostring arrays as pairs but n entries 2024-04-21 19:49:00 +02:00
Jan 199be31835 fix: bounce sound for iw4 weapons 2024-04-21 19:49:00 +02:00
Jan 49239f2007 chore: rename fx related override structs in iw5 2024-04-21 19:48:59 +02:00
Jan d3c0325fea feat: load iw5 weapon attachments from raw 2024-04-21 19:39:29 +02:00
Jan 28949f4ee8 chore: use constants for model array sizes in iw5 attachment writing 2024-04-21 19:39:28 +02:00
Jan 8587b495e7 docs: link documentation of currently supported assets in the README 2024-04-15 19:24:20 +02:00
Jan 49b1a94f7d docs: clarity game names in supported asset types documentation 2024-04-15 19:21:53 +02:00
Jan 42b5270a78 docs: add documentation about supported asset types 2024-04-15 19:20:00 +02:00
Jan 9248cc323c feat: dump iw5 weapon attachments as json 2024-04-14 12:48:18 +02:00
Jan a2d649ed66 chore: change std optional json serialization to not include property if unset 2024-04-14 12:47:57 +02:00
Jan f8c9e62624 chore: add missing iw5 weapon fields 2024-04-07 23:40:34 +02:00
Jan f63e7c7f35 chore: dump missing WeaponCompleteDef fields 2024-04-07 23:09:29 +02:00
Jan dc99acd3f6 chore: fix using extent of keys instead of values 2024-04-07 23:04:19 +02:00
Jan cca67ebafa chore: dump iw5 weapon notetrack overrides 2024-04-07 23:04:13 +02:00
Jan 7b23461e2a chore: dump iw5 weapon reload overrides 2024-04-07 23:04:00 +02:00
Jan c1a4874791 chore: add static assertions for weapon field names 2024-04-07 23:03:36 +02:00
Jan 4f0d9674ff chore: dump iw5 weapon fx overrides 2024-04-07 23:03:30 +02:00
Jan ea0cb66eae chore: dump iw5 weapon sound overrides 2024-04-07 23:02:59 +02:00
Jan 8554939c91 chore: dump iw5 weapon anim overrides 2024-04-07 21:01:20 +02:00
Jan a27241701b chore: add iw5 weapon indirect asset references 2024-04-07 14:10:50 +02:00
Jan fecd486f44 chore: dump iw5 attachments that are used by weapons 2024-04-07 14:10:50 +02:00
Jan c68f4015d2 chore: add comment about iw5 missing weapon fields 2024-04-07 10:54:28 +02:00
Jan 3dad9d60da chore: fix typo in structs 2024-04-07 10:54:04 +02:00
Jan 9c4128b830 chore: update iw5 weapon fulldef sizes 2024-04-07 09:49:53 +02:00
Jan 7be21ebb20 feat: dump iw5 weapons on iw4 level 2024-04-06 11:46:39 +02:00
Jan 9b19b5f26f fix: linux build 2024-04-03 00:10:06 +02:00
Jan 5474cc6655 fix: wrong preprocessing of technique templates 2024-04-03 00:02:45 +02:00
Jan 976fbf94f8 fix: make vertex decl asset references work when building 2024-04-02 23:52:38 +02:00
Jan d1a189defc chore: convert anim names to lower before adding as indirect asset references 2024-04-02 23:49:24 +02:00
Jan a1cf4ef30b feat: load iw4 weapons from raw 2024-04-02 23:49:06 +02:00
Jan 666ea2be9d chore: change tests to reflect new action parsing behaviour 2024-03-30 20:10:20 +01:00
Jan 89074c8601 fix: not reallocating IW5 clipMap pInfo from temp block 2024-03-30 20:10:20 +01:00
Jan fc18f81302 fix: consider asset references when looking for assets of zone 2024-03-30 17:44:55 +01:00
Jan e7a9e4b528 chore: use const reference for assetName in GetAsset methods 2024-03-30 17:19:32 +01:00
Jan f001107ad1 docs: update docs repo url 2024-03-29 11:14:13 +01:00
Jan 239001e6f2 refactor: use std ranges functions where applicable 2024-03-24 20:49:15 +01:00
Jan 132cccb971 refactor: use new line character instead of std::endl 2024-03-24 20:24:22 +01:00
Jan 1b13f1f1b4 refactor: only use sizeof with parenthesis 2024-03-24 19:56:06 +01:00
Jan 4f0ee35740 refactor: use std::extent_v instead of std::extent 2024-03-24 19:46:43 +01:00
Jan e62e4c873e fix: not loading t6 weapon camo shader consts from json 2024-03-24 16:57:47 +01:00
Jan b1ff653dc8 style: fix formatting 2024-03-24 16:35:10 +01:00
Jan 742b8d5bc6 chore: restructure t6 weapon camo json 2024-03-24 16:24:05 +01:00
Jan c881cd6fd3 feat: load t6 weapon camo from json 2024-03-24 16:24:05 +01:00
Jan af37476e23 chore: make material json loader use anonymous namespace 2024-03-24 16:24:01 +01:00
Jan 73d6d2bf5c feat: dump t6 WeaponCamo asset as json 2024-03-24 01:20:49 +01:00
Jan cf02d7ac83 chore: use anonymous namespace for JsonMaterialWriter 2024-03-24 01:20:22 +01:00
Jan cf891e458a chore: move json classes to json folder 2024-03-24 00:51:33 +01:00
Jan f7f44e972d docs: fix broken examples link 2024-03-03 12:17:17 +01:00
Jan 5aec94048c docs: add clarification about building yourself and downloading a release 2024-03-03 11:49:51 +01:00
Jan 105370f7eb docs: move up the documentation and example section 2024-03-03 11:48:25 +01:00
Jan 6f5f8d92dc docs: extend documentation section of readme with links to mods using OAT 2024-03-03 11:47:40 +01:00
Jan a0a420f7f1 fix: build on linux 2024-02-29 17:27:48 +01:00
Jan 0bb17a33bd feat: load materials from json 2024-02-29 17:27:48 +01:00
Jan 1f6d0ab51a chore: replace material dumping with lib recommendation of serializing and deserializing json 2024-02-29 17:27:44 +01:00
Jan 0498c6e8be chore: use gcc/g++ 13 in ci 2024-02-29 17:10:12 +01:00
Jan 3592d7216a chore: upgrade c++ version to cpp20 2024-02-24 21:04:10 +01:00
Jan 81cb19dba2 chore: add hardcoded texture def and constant names 2024-02-24 13:27:23 +01:00
Jan 6b6fd7cb10 chore: check if name for constant or texture def was already added 2024-02-24 11:53:34 +01:00
Jan 5bbab8ca79 chore: measure duration of material constant name extracting 2024-02-24 11:46:00 +01:00
Jan d3b15aa86a feat: use names from shaders to complete names in material constants and texturedefs 2024-02-24 11:42:47 +01:00
Jan 36ac8f02be chore: fix d3d11 shader analyser errors 2024-02-24 11:41:34 +01:00
Jan ad3f019dff chore: add d3d11 enum types 2024-02-24 09:58:34 +01:00
Jan d2420617f0 feat: add parser for dx11 shaders 2024-02-23 22:52:31 +01:00
Jan bde54db328 feat: dump t6 shaders 2024-02-18 13:48:04 +01:00
Jan df7b25b854 feat: dump t6 materials as json 2024-02-18 10:16:43 +01:00
Jan 62e08c29bd fix: attachment unique overwrites handling being incorrect 2024-02-15 21:13:58 +01:00
Jan b9bf4778fa fix: fix weapon attachment unique hidetags 2024-02-13 23:53:59 +01:00
Jan 66e8f8fa78 chore: use cerr for error messages in weapon assets for t6 2024-02-13 23:53:42 +01:00
Jan 68dfac10db fix: consider attachmentunique szXAnims an assetref 2024-02-13 16:57:15 +01:00
Jan f6ee4790fa fix: not dumping all sound aliases in aliases csv 2024-02-11 11:32:47 +01:00