Commit Graph
100 Commits
Author SHA1 Message Date
Jan 9d710caceb fix: compilation errors 2025-06-28 11:56:08 +01:00
Jan 2073265a86 feat: add templated iw4 material loading 2025-06-26 22:40:30 +01:00
Jan f897a41188 refactor: extract experimental iw4 material dumping into separate dumper 2025-06-25 22:09:01 +01:00
Jan 223dfcd4f8 refactor: move material asset dumpers to material folder 2025-06-25 21:35:35 +01:00
Jan 110ae473e8 chore: remove old iw4 json code 2025-06-25 19:47:23 +01:00
Jan 6c114fe58a refactor: extract material name into common source file 2025-06-25 19:34:09 +01:00
Jan dceca0ec9a refactor: use templating for JsonMaterialLoader 2025-06-25 19:16:53 +01:00
Jan 79b0706fc1 refactor: use templating for JsonMaterials 2025-06-25 18:30:07 +01:00
Jan 0736b8043b refactor: use templates for JsonMaterialDumper of IW5 and T6 2025-06-24 22:26:39 +01:00
Jan 2876c9cb48 chore: remove unused generic xmodel file 2025-06-24 20:06:20 +01:00
Jan 308816a38e chore: write game into dumped jsons to prevent mixup of incompatible formats 2025-06-24 19:50:24 +01:00
Jan 79b4313384 refactor: update T6 loading code for x64 support 2025-06-24 17:08:45 +01:00
Jan a9a8597323 refactor: update IW3 loading code for x64 support 2025-06-24 17:08:45 +01:00
Jan 37e5e940b0 refactor: update IW5 loading code for x64 support 2025-06-24 17:08:45 +01:00
Jan f70932684c fix: fix single pointer leaf structs that have non-matching cross platform structure 2025-06-24 17:08:45 +01:00
Jan 1736f38d78 refactor: update T5 loading code for x64 support 2025-06-23 18:29:04 +01:00
Jan dd9b0915d9 fix: wrong XQuat structs for iw3,t5 2025-06-22 21:38:11 +01:00
Jan 377ef5ca5c fix: not passing correct zone ptr to content loader 2025-06-22 21:21:07 +01:00
Jan Laupetin 2230efbd27 chore: make xquat and xquat2 structs to improve handling from zcg 2025-06-19 20:45:19 +01:00
Jan 80558af9a1 fix: accessing freed memory when writing gltf inverseBindMatrix 2025-06-19 18:59:27 +01:00
Jan 818a8d7459 fix: Loading String arrays for x86 2025-06-19 18:59:27 +01:00
Jan d612d8f1a6 fix: WavWriter outputting invalid files when compiled as x64 2025-06-19 18:59:27 +01:00
Jan d30e2e6532 chore: fix annoying IW4 cross-type pointer reusage with dirty hack
The game reuses pointer across different types as long as bytes and size matches
This leads to non-pointer and pointer types being reused
To fix this loading code now handles block memory offsets by nulling
and block offsets to non-block data with pointing to raw block data
The behaviour only seems to realistically happen on nulled memory
2025-06-19 18:59:26 +01:00
Jan 667d76e50e wip: change redirect pointer to lookup 2025-06-19 18:59:26 +01:00
Jan 788bf1cc5d chore: make allocating redirect entry work with ptr directly 2025-06-19 18:59:25 +01:00
Jan 3c16da006c chore: make sure that pointer resolving via lookup always resolves something 2025-06-19 18:59:25 +01:00
Jan bd9a680bb0 fix: pointer lookup for assets that should be reusable 2025-06-19 18:59:24 +01:00
Jan 930867f07f fix: properly load matching structure dynamic array inside non-matching structure embed 2025-06-19 18:59:24 +01:00
Jan 884ad57bf4 fix: dynamic fill loading missing conditions on unions 2025-06-19 18:59:24 +01:00
Jan fe1bbce7aa fix: do not resolve pointers like alias for x64 2025-06-19 18:59:23 +01:00
Jan 43be997a22 fix: doing wrong alignment on dynamic filling 2025-06-19 18:59:23 +01:00
Jan ee027502ca fix: Make LoadPtrArray reusable methods for x64 2025-06-19 18:59:23 +01:00
Jan 333cbed5f9 fix: fill structs in runtime block that are not matching structure 2025-06-19 18:59:22 +01:00
Jan 4ec5b52b0b fix: filling x64 structs with dynamic array size 2025-06-19 18:59:22 +01:00
Jan e035e5deb7 fix: try fixing alias resolving via redirection for x64 for real 2025-06-19 18:59:22 +01:00
Jan e120d01697 fix: dynamic array reallocation for x64 2025-06-19 18:59:21 +01:00
Jan 967a378b4e chore: temporarly adjust pointer insertion 2025-06-19 18:59:21 +01:00
Jan f517130ef0 fix: not properly inserting pointer in x64 zone loading 2025-06-19 18:59:21 +01:00
Jan 6c8ec53821 fix: make x64 modified loading code compatible with x86 again 2025-06-19 18:59:20 +01:00
Jan 03ccede91c refactor: implement base x64 fastfile loading for iw4 2025-06-19 18:59:20 +01:00
Jan 78d8fba6f8 refactor: make ZoneInputStream a reference in zone loading 2025-06-14 00:39:58 +01:00
Jan Laupetin f6d7831e6e chore: implement base skeleton for architecture independent zone loading 2025-06-14 00:39:55 +01:00
Jan Laupetin 49867a3474 fix: accidentally dumping iwi cubemaps as 2D 2025-05-30 19:41:25 +02:00
Jan 2a4c0dcb43 fix: dumping xmodels with multiple surfaces and no bones 2025-05-11 20:55:52 +01:00
Jan Laupetin 35cb6636a1 fix: linux build 2025-05-02 23:26:12 +02:00
Jan b92e85dc14 refactor: hide implementation of loading steps inside file 2025-05-02 22:08:08 +01:00
Jan 955df98279 refactor: hide implementation details of zone loading processors 2025-05-02 22:08:07 +01:00
Jan eb16dfcd00 refactor: merge ZoneInputStream interface with only implementation 2025-05-02 22:08:07 +01:00
Jan 4ce82ad63c refactor: update ZoneLoading classes codestyle 2025-05-02 22:08:07 +01:00
Jan Laupetin 446c38d8ee refactor: reorder members of zcg generated classes 2025-05-02 22:08:06 +01:00
Jan ed029bc24d refactor: adjust template const modifiers 2025-05-02 22:08:06 +01:00
Jan 8b85cadb77 refactor: make memory from zone a reference instead of ptr 2025-05-02 22:08:06 +01:00
Jan 9e940a6f53 refactor: use zone reference in AssetLoader 2025-05-02 22:08:06 +01:00
Jan 50612d117e refactor: update zcg generate file headers 2025-04-30 17:01:52 +01:00
Jan Laupetin 1b579b1bc3 refactor: remove usages of name sequence in game commands 2025-04-28 17:30:30 +02:00
Jan Laupetin 68ee502c72 refactor: remove name sequence from zcg commands 2025-04-28 17:23:39 +02:00
Jan Laupetin 0103e4631f refactor: remove GetAssetName method from ZoneMark template 2025-04-28 17:18:09 +02:00
Jan Laupetin 7f59d35e87 refactor: replace GetAssetName method in ZoneLoad template 2025-04-28 17:09:40 +02:00
Jan 547da3fdf9 refactor: remove GetName method of ZoneWrite zcg template 2025-04-28 12:53:14 +01:00
Jan Laupetin 1fe1b30831 chore: use Asset definition instead of enum entry for zcg 2025-04-28 12:53:02 +01:00
Jan 3adbe5a275 refactor: fix additional zcg x64 warnings 2025-04-28 12:07:41 +01:00
Jan Laupetin d938f91541 fix: crash on trying to generate for specific asset 2025-04-28 11:55:47 +01:00
Jan Laupetin 2eefad105e chore: small code adjustments for generation code in zcg 2025-04-28 11:55:46 +01:00
Jan Laupetin 4ccd0a55cf chore: adjust game structs to have custom alignment when they are
platform independent
2025-04-27 21:05:22 +02:00
Jan Laupetin 4e9599aabf chore: detect structs that differ on different architectures
* and exclude them from assetstructtests
2025-04-27 21:04:41 +02:00
Jan Laupetin 088d14f894 chore: add x64 build to ci 2025-04-27 19:30:39 +02:00
Jan 365b627523 refactor: fix remaining x64 compilation issues 2025-04-27 19:30:36 +02:00
Jan Laupetin a6107e24a2 chore: disable type alignment on x64 for x86 games 2025-04-26 19:48:03 +02:00
Jan 3b00c1d45b refactor: fix x64 compilation for ZoneLoading 2025-04-26 19:48:03 +02:00
Jan de43e33dcd refactor: fix x64 compilation for ObjWriting 2025-04-26 19:48:03 +02:00
Jan 5d0c94e430 refactor: fix x64 compilation for ObjLoading 2025-04-26 19:48:03 +02:00
Jan ee4301952a refactor: fix x64 compilation issues in Common,ObjCommon,ObjCompiling,ObjImage components 2025-04-26 19:08:16 +02:00
Jan 5635470b6e refactor: cryptography component 2025-04-26 19:08:15 +02:00
Jan 60f5c1a18f refactor: adjust zcg code for working in x64 2025-04-26 19:08:15 +02:00
Jan 10cbd47bdc chore: use std::format for zcg templates 2025-04-24 21:37:43 +01:00
Jan 76c22ffce2 chore: adjust include path for lz4 dependency 2025-04-23 17:17:24 +01:00
Jan dc282170bc chore: small code style adjustments for XModelBinWriter 2025-04-23 17:17:24 +01:00
Jan 0fbfb860c0 fix: ignoring last element in t6 stringtable cell index sorting 2025-04-23 07:44:43 +02:00
Jan fb20cbf81c fix: use platform specific calls to get executable dir 2025-04-23 00:50:30 +01:00
Jan dbcf7d86af fix: redownload premake when version is outdated 2025-04-21 18:34:46 +02:00
Jan ba4cb85639 fix: make generate.sh work with git worktrees 2025-04-20 23:54:11 +02:00
Jan 13b07c0fe4 chore: replace x64 build scripts with generic ones 2025-04-20 17:30:55 +02:00
Jan 9f8a933277 chore: update ZoneCodeGenerator code style 2025-04-20 09:45:37 +02:00
Jan 9f738da517 chore: remove duplicated alignment utility method 2025-04-20 09:45:36 +02:00
Jan 785cf8c025 chore: update code style in ZoneCodeGenerator entrypoint 2025-04-20 09:45:32 +02:00
Jan 0d35696940 chore: make map ents dumping add ents extension instead of replacing 2025-04-07 22:16:08 +01:00
Jan 01302cf061 fix: too large obj files for x64 on windows 2025-04-06 18:02:48 +01:00
Jan 6f31e8cc29 chore: fix compilation issues with x64 2025-04-06 18:02:47 +01:00
Jan 37d52ae8da chore: add compilation scripts for x64 2025-04-06 17:44:26 +02:00
Jan 481d301545 chore: change c++ version to c++23 2025-04-06 17:43:50 +02:00
Jan cec70e783f fix: not using lookup to common vertices when writing rigid bone data
no more pizza cheese problem
2025-04-05 17:36:29 +02:00
Jan a2c8129a13 fix: messed up reordering of vertices for bone count 2025-04-05 16:30:58 +02:00
Jan e13eb256bb chore: update code style 2025-04-05 16:30:54 +02:00
Jan 820fe47473 fix: always use lowercase extensions for xmodels 2025-04-05 12:42:55 +02:00
Jan 0366b24bd7 fix: game name in linker paths must be lowercase for linux 2025-04-05 12:42:52 +02:00
Jan 56c4eeb5cd fix: set clipmap asset name of non-pvs clipmap to clipmap_unused in IW3,IW4,T5 2025-03-27 17:16:28 +01:00
Jan 0c587e5e5f fix: compilation on msvc 2025-03-25 17:38:07 +01:00
Jan 826c1d2f2d fix: loading of gltf with multiple meshes 2025-01-23 22:25:38 +00:00
Jan 94ca0ab79e fix: loading of base64 data from gltf files 2025-01-23 21:17:51 +00:00
Jan 140eb7b7a4 feat: dump objects into gltf meshes instead of primitives 2025-01-23 17:47:30 +00:00