29 Commits

Author SHA1 Message Date
Jan
538c4be839 Fix not supporting nullptr scriptstrings 2021-12-30 16:51:16 +01:00
Jan
1cc5be2f64 Load iw4x zones for iw4 2021-04-01 20:29:42 +02:00
Jan
590a108a1b Fix IW4 zone loading 2021-03-30 11:19:56 +02:00
Jan
4f995751ce Add load argument to unlinker to load zones before trying to unlink specified zones
this allows to make sure certain ipaks are loaded before dumping
2021-03-27 16:45:30 +01:00
Jan
2a6d7c84c2 Add ZoneScriptString class to store zone script strings 2021-03-18 16:55:30 +01:00
Jan
f22012d282 Move XChunk processors to ZoneCommon 2021-03-16 20:42:48 +01:00
Jan
9d26c9c927 Add ZoneWriting basis 2021-03-15 22:36:07 +01:00
Jan
301f6e3e7a Use unique_ptr for ZoneLoading 2021-03-14 12:34:50 +01:00
Jan
1a45cf2107 Fix more gcc compilation issues 2021-03-03 09:12:27 -08:00
Jan
1cd06668e0 Replace FileAPI with c++ streams and std::filesystem 2021-03-03 14:04:35 +01:00
Jan
eed7164b5b Save scriptstrings per zone and not per asset since that solves all problems with multiple assets of the same zone referencing the same struct in memory that has scriptstring indices 2020-10-23 15:54:27 +02:00
Jan
991bcf6d58 Make sure that assets that use scriptstrings always have an empty scriptstring at position 0 2020-10-23 12:54:51 +02:00
Jan
3cfcfa0c5d Make sure scriptstring arrays are being reallocated when they are reusable so if it is being referenced again the scriptstring indices are the ones of the zone instead of the asset that originally loaded them 2020-10-23 12:54:18 +02:00
Jan
f0c8ffa6be move contentloader classes to their respective game namespaces 2020-10-17 15:55:19 +02:00
Jan
f59cb29cb2 Fix Processor inflate not setting next input buffer 2020-09-06 18:39:00 +02:00
Jan
d7096c9137 Add AuthedBlocks processor for IW4 fastfiles 2020-09-06 18:18:30 +02:00
Jan
060e5678b5 Read IW4 signed headers 2020-09-06 14:39:19 +02:00
Jan
992e9cea30 ZoneLoading: Properly link assets as dependencies instead of only saving the name of the dependency 2020-02-18 13:16:39 +01:00
Jan
297358cdb0 ZoneLoading: Fix AssetLoader not initializing varScriptString 2020-01-03 18:13:04 +01:00
Jan
bdb0958c16 ZoneCodeGenerator: Add possibility to define custom actions that should be performed after loading a certain Structure 2020-01-03 17:25:10 +01:00
Jan
7121f2e215 ZoneLoading: Add ZoneMemory and the possibility to unload zones and their memory 2019-12-24 18:41:42 +01:00
Jan
d224eb8ce5 ZoneLoading: Simulate the vanilla edge case that the chunk size is in the end of the loadbuffer and cannot quite fit into it so the space is padded and the chunk size is loaded from the beginning of the buffer 2019-12-24 17:21:58 +01:00
Jan
ca1d188759 ZoneLoading: Fix typo in InvalidOffsetBlockOffsetException message 2019-12-23 21:23:48 +01:00
Jan
b8bd20f693 ZoneCodeGenerator: Add support for scriptstring array pointers 2019-11-24 02:46:40 +01:00
Jan
08d0dda4f6 ZoneCodeGenerator: Make scriptstringprovider available to child classes of asset loader to be able to instantiate other loaders 2019-11-15 14:53:43 +01:00
Jan
ec9be6e1fd ZoneCodeGenerator: Fix XStringArrays being loaded twice 2019-11-15 14:51:17 +01:00
Jan
b7ab2a1aa6 ZoneCodeGenerator: Change ContentLoader to use vars for fastfile pointer transfer and change ZoneInputStream API to be able to specify load location to better reflect the way the games do it. 2019-11-14 14:48:40 +01:00
Jan
91d76382f3 ZoneCodeGenerator: Add Dumping step for testing purposes 2019-10-21 17:01:48 +02:00
Jan
42af6df5d8 Rename ZoneLoader and ZoneWriter components to ZoneLoading and ZoneWriting to make a difference between the executive class and the component class 2019-09-24 22:35:11 +02:00