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