Commit Graph
199 Commits
Author SHA1 Message Date
Jan Laupetin 70f0564af8 feat: add possibility to only include structs in zcg for certain variants 2026-10-22 20:01:07 +02:00
Jan Laupetin 6fc988a079 fix: not differentiating wordsize in offset field 2026-10-22 20:01:06 +02:00
Jan Laupetin c24d1f0cd8 chore: rename generated loader/writer/marker aggregated headers 2026-10-22 20:01:05 +02:00
Jan Laupetin 8490c09fad refactor: generate combined asset loader/writer/marker headers per variant 2026-10-22 20:01:05 +02:00
Jan Laupetin 884fefd1db chore: rename generated zone code classes with variants 2026-10-22 20:01:04 +02:00
Jan Laupetin 66aad9381e fix: properly calculate matching memory layout with multiple variants 2026-10-22 20:01:04 +02:00
Jan Laupetin 367c87bdea refactor: generate asset code once per asset/variant combination 2026-10-22 20:01:04 +02:00
Jan Laupetin 7c957c16a2 refactor: support multiple variants for games in zonecode 2026-10-22 20:01:00 +02:00
Jan e4d819c8ea fix: missed reusable marking causes iw5 load error in x64 (#851) 2026-06-24 17:27:14 +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 90d7f92ddd chore: replace all usages of removed ClassUtils macros 2026-03-06 00:13:04 +01:00
Jan Laupetin f8b3361bbe chore: add build log for zcg 2026-03-05 21:08:39 +00:00
Jan Laupetin d80cdd9712 chore: add TextFileCheckDirtyOutput to FileUtils 2026-03-05 20:30:36 +01:00
Jan Laupetin 304ebd56a7 chore: do not write ZCG output if up to date 2026-03-05 18:37:34 +00:00
Jan Laupetin aa47ffa629 refactor: introduce subasset loading 2026-02-05 18:17:15 +01:00
Jan Laupetin 1540b69ac1 refactor: asset refs are specified via asset name not enum entry 2026-02-05 17:36:55 +01:00
Jan Laupetin 5b6b82424b fix: marking invalid offset as written in WritePtrArray methods 2026-01-18 17:12:13 +01:00
Jan Laupetin f95745fb87 fix: not writing to script string var for embedded script string arrays 2026-01-17 00:45:22 +00: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 9f559fdcd0 fix: ReusableAddOffset not respecting differing block and memory sizes 2026-01-17 00:45:21 +00:00
Jan Laupetin 0be778cf5c fix: do not fill in runtime block members 2026-01-17 00:45:20 +00:00
Jan Laupetin 1dc25ee20a fix: use correct written variable for WriteArray zone code methods 2026-01-17 00:45:20 +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 257ef39b20 feat: add fill in ContentWriter classes for writing with 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 ac24e4f893 refactor: combined ZoneOutputStream interface with impl 2026-01-17 00:45:18 +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 11fdb4ad59 chore: do not specify assets for zcg templates 2026-01-05 17:43:53 +00:00
Jan Laupetin ba39e3f4d9 fix: do not override properties of foreign zones 2025-12-25 15:29:32 +01: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 Laupetin c73b2ed838 chore: move asset marker to ZoneCommon 2025-12-23 15:40:48 +01:00
Jan Laupetin 7227772045 fix: only show console color when supported 2025-11-30 16:28:35 +00:00
Jan Laupetin c28357a19f feat: add command line option to disable color output 2025-09-11 22:39:15 +02:00
Jan Laupetin d693ace12f feat: verbose option sets log level to debug 2025-09-11 22:18:59 +02:00
Jan Laupetin 02f20f09b6 chore: update all logging to use centralized logging component 2025-09-11 20:25:51 +02: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