Jan Laupetin
6d44ed0568
wip: multiple variants in zonecode
2026-08-19 19:36:15 +02:00
Jan
ab7d8f5670
fix: various wrong alignment values ( #823 )
...
* fix: alignment mistakes on various games
* chore: reduce overhead of zcg definition with members fields
* fix: make sure Material alloc alignment is 4
2026-06-07 01:14:37 +00:00
Michael Oliver
97591f59f4
refactor(zcg): use wordsize instead of architecture
2026-04-30 13:50:11 +01:00
Jan Laupetin
14b143466d
fix: not adding offset of reusable type when type is not structure
2026-03-14 15:56:08 +01:00
Jan Laupetin
2840489a38
fix: only fill used union members when loading
2026-01-17 00:45:21 +00:00
Jan Laupetin
00546740e4
fix: filling union members that are not supposed to be written
...
* This causes some pointers to be partially overwritten when filling in the wrong order as well
2026-01-17 00:45:21 +00:00
Jan Laupetin
7dffc77ed7
refactor: fill structs in templates when writing on x64 hosts
2026-01-17 00:45:19 +00:00
Jan Laupetin
6ea2e7faad
refactor: use ZoneOutputOffset for written variables
2026-01-17 00:45:19 +00:00
Jan Laupetin
86b7e55e5b
refactor: add game name to generated load and write files
2026-01-17 00:45:17 +00:00
Jan Laupetin
e7f126265d
refactor: add AssetMarker headers to zcg marker template
2026-01-05 17:43:56 +00:00
Jan Laupetin
660f34df69
chore: add ability for zcg to generate files once per template
2026-01-05 17:43:56 +00:00
Jan Laupetin
7bf7bf93de
chore: adjust asset name method based on asset to not require constructor
2025-12-23 15:40:51 +01:00
Jan Laupetin
1aa4cd9127
chore: expose marker classes as asset specializations
2025-12-23 15:40:51 +01:00
Jan Laupetin
0ef4979873
chore: make marker reusable with visitor pattern
2025-12-23 15:40:51 +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
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
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
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
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
eb16dfcd00
refactor: merge ZoneInputStream interface with only implementation
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
7f59d35e87
refactor: replace GetAssetName method in ZoneLoad template
2025-04-28 17:09:40 +02:00
Jan Laupetin
1fe1b30831
chore: use Asset definition instead of enum entry for zcg
2025-04-28 12:53:02 +01:00
Jan Laupetin
2eefad105e
chore: small code adjustments for generation code in zcg
2025-04-28 11:55:46 +01:00
Jan
10cbd47bdc
chore: use std::format for zcg templates
2025-04-24 21:37:43 +01:00
Jan
9f8a933277
chore: update ZoneCodeGenerator code style
2025-04-20 09:45:37 +02:00
Jan
ffac925410
fix: reallocate assets before adding to zone pool when loading from
...
fastfile
2025-01-01 18:14:42 +01:00
Jan
89074c8601
fix: not reallocating IW5 clipMap pInfo from temp block
2024-03-30 20:10:20 +01:00
Jan
fef815e708
feat: recognize indirect asset refs when marking assets
2024-02-07 00:53:52 +01:00
Jan
91cbfa2bbb
chore: use marker template in loader for scriptstrings and dependencies
2024-01-22 22:40:03 +01:00
Jan
685a99577b
chore: remove scriptstring and dependency registration from ZoneLoad template
2024-01-22 22:39:18 +01:00
Clang Format
6b4f5d94a8
Reformat code with clang format
2023-11-19 21:07:21 +00:00
Jan
61a42afe28
Mark scriptstrings as used even when referencing them via zone pointer
2022-12-03 12:44:33 +01:00