2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2026-01-19 15:01:49 +00:00
Commit Graph

181 Commits

Author SHA1 Message Date
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
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
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