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
3a69b3b0b0
ObjWriting: Use CsvWriter class for StringTables
2020-02-23 13:16:04 +01:00
Jan
4b87e9c086
ObjWriting: Add additional known hashes for fonticon aliases
2020-02-23 13:10:02 +01:00
Jan
8ec525d3d2
ObjWriting: Dump FontIcon assets as csv files
...
According to the asset names this seems to be their original format. however since i didn't find any examples of that asset in raw form i just tried to come up with a realistic csv style for it
2020-02-23 02:02:11 +01:00
Jan
ccef1dca28
Add dumper for DDS and texture converter for reordering colors
2020-09-04 12:51:13 +02:00
Jan
362094b6f0
Update changelist about DDS image dumping
2020-02-22 02:13:05 +01:00
Jan
f0c50ce943
ObjLoading: Fix not being able to load cubemaps due to wrong calculation of mipsize
...
Now includes the face count into the calculation which is 6 for cube maps and 1 for everything else
2020-02-22 01:53:24 +01:00
Jan
5ef1e585c6
ObjWriting: Implement writing textures as DDS files
2020-02-22 01:34:27 +01:00
Jan
000022afe9
ObjWriting: Add DDS writer basis
2020-02-19 15:54:10 +01:00
Jan
b436781632
ObjWriting: Use proper extension when dumping image files
2020-02-19 15:52:07 +01:00
Jan
87d760f6d7
ObjWriting: Use configured image output format when trying to dump images
2020-02-19 15:36:49 +01:00
Jan
14593b4799
Unlinker: Do not list localized strings one by one in the zone file and do not include keyvaluepairs at all because they should be in the meta data
2020-02-19 14:45:55 +01:00
Jan
f0b66f0a35
ZoneCommon: List zone content in the order it was loaded
2020-02-19 14:10:50 +01:00
Jan
a7b59ea3d7
ZoneCommon: Remove unused GlobalAssetPool source file
2020-02-19 12:21:07 +01:00
Jan
9572391082
Unlinker: Make zone files creators game dependent and in the unlinker project instead of the ObjWriting component
2020-02-18 17:15:51 +01: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
246d74992c
Unlinker: Fix not attempting to load specified zone files from arguments
2020-02-14 23:54:13 +01:00
Jan
23f77bb335
Unlinker: Make parsing specified command line arguments its own class
2020-02-14 23:40:47 +01:00
Jan
f3779bac03
ObjWriting: Add dumper for GfxImage iwi files of version 27
2020-02-11 23:47:04 +01:00
Jan
6b59fcb5fe
ObjCommon: Add Id to ImageFormats to be able to identify predefined formats without comparing pointers
2020-02-11 23:46:25 +01:00
Jan
7d809faf07
ObjWriting: Add method to AbstractAssetDumper for checking whether an asset should be dumped
2020-02-11 20:46:59 +01:00
Jan
dd4987c2f1
ObjLoading: Fix not setting texture size on loading an image to signalize there's a valid texture object
2020-02-11 20:45:57 +01:00
Jan
80deff450d
ObjLoading: Load common ipaks depending on SP/MP/ZM for every zone and make sure to not double load them
2020-02-10 23:02:44 +01:00
Jan
53b03c1fdb
ObjLoading: Fix loading the wrong chunkbuffer window data when trying to shift chunkbuffer
2020-02-10 14:17:28 +01:00
Jan
76712328b2
ObjLoading: Add implementation for loading iwis of version 27 (T6)
2020-02-10 14:16:49 +01:00
Jan
43fa845839
ObjLoading: Add possibility to go back to the beginning of a IPakEntryReadStream
2020-02-09 10:01:09 +01:00
Jan
4baca81210
ObjLoading: Implement IPakEntryReadStream as a linear stream
2020-02-09 09:51:57 +01:00
Jan
7b3b527ece
ObjLoading: Fix not including algorithm header even though using find_if
2020-02-09 01:27:20 +01:00
Jan
eaa64665d6
ObjLoading: Fix Ipak entry size not specifying the filesize but the difference between start pos and end pos
2020-02-09 01:22:27 +01:00
Jan
345687125f
ObjLoading: Fix not increasing head on reading uncompressed ipak data
2020-02-09 00:04:21 +01:00
Jan
28bc614a6d
ObjLoading: Initial commit for IPak entry reading
2020-02-08 22:54:24 +01:00
Jan
91d5439f25
ObjLoading: Fix not respecting that IPak index entries specify an offset to the data section and not a file offset
2020-02-08 22:53:33 +01:00
Jan
00d7997d0a
ObjLoading: Add basis for IPakEntryReadStream to read ipak entries
2020-02-08 15:55:10 +01:00
Jan
5bda400acb
ObjLoading: Add basis for Iwi loading
2020-02-07 20:55:10 +01:00
Jan
589347ce08
ZoneCommon: Add Texture pointer from OAT to GfxTexture union of T6 to be able to save loaded texture data in GfxImage
2020-02-07 20:54:40 +01:00
Jan
b210661ac8
Unlinker: Fix not attempting to load files from manually specified search paths
2020-02-07 20:53:41 +01:00
Jan
c2b28a54be
ObjCommon: Fix IPak order of hashes from name - data to data - name
2020-02-07 20:53:07 +01:00
Jan
9f8022c2ca
ZoneCommon: Add GameLanguagePrefix class and save known prefixes for languages in the game object
2020-02-07 20:52:24 +01:00
Jan
f73c27a7dc
Premake: Add include guard to make sure dependencies do not include themselves in an infinite chain when two components depend on each other
2020-02-07 02:46:24 +01:00
Jan
55d5746650
ZoneCode: Add Action on loading a GfxImage to set the loadedSize property to 0 to indicate Texture data has not yet been loaded
2020-02-06 21:26:34 +01:00
Jan
75f6caab54
ObjCommon: Refactor classes for holding Texture information
2020-02-06 19:01:45 +01:00
Jan
63330ff908
ZoneCommon: Extract non ZoneMemory management from ZoneMemory into Utils::MemoryManager class
2020-02-05 16:52:43 +01:00
Jan
b67b4ee316
ObjLoading: Add documentation for IObjLoader, ObjLoading and IWD
2020-02-04 23:48:11 +01:00
Jan
b8de90a675
ObjLoading: Do not attempt to load textures that already have a loaddef
2020-02-04 19:52:23 +01:00
Jan
d01f5c49a8
ZoneLoading: Add implementation for LoadImageData action:
...
Duplicate any ImageLoadDef that contains data, otherwise discard temporary empty loaddef
2020-02-04 19:45:45 +01:00
Jan
b8c2557482
ObjLoading: Display error message on directory_iterator throwing an exception
2020-02-04 19:44:56 +01:00
Jan
10342a7b58
Unlinker: Check if a file exists before attempting to load it
2020-02-04 19:44:30 +01:00
Jan
dde77901a3
ObjCommon: WIP: ImageData
2020-01-06 20:32:33 +01:00
Jan
c67911bdbb
ZoneCommon: Add class object construction and destruction methods to ZoneMemory
2020-01-04 15:13:44 +01:00
Jan
297358cdb0
ZoneLoading: Fix AssetLoader not initializing varScriptString
2020-01-03 18:13:04 +01:00
Jan
4971ec190d
ZoneCodeGenerator: Call custom action on loading singlepointer and embedded
2020-01-03 18:12:43 +01:00
Jan
91327c57ce
ZoneCodeGenerator: Fix not generating tests for structure sizes and alignments
2020-01-03 17:25:31 +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
c995a12001
ZoneCodeGenerator: Fix aligning wrong when custom aligning is set in size calculation
2020-01-03 17:23:57 +01:00
Jan
96f2067030
ObjLoading: Read index section of ipaks and try to open images from it when loading obj data
2020-01-03 01:13:07 +01:00
Jan
204d3aed78
ObjLoading: Fix Repository not updating iterator when erasing entry
2020-01-03 01:11:28 +01:00
Jan
c2f3bca268
ObjLoading: Add indexing and reading of files in IWDs
2020-01-02 00:52:56 +01:00
Jan
0abdb64832
ObjLoading: Be able to load and index IWD files
2020-01-01 18:46:33 +01:00
Jan
a4d55ffae7
ThirdParty: Fix minizip not having all nessecary files included
2019-12-31 00:20:16 +01:00
Jan
153f8f2e89
Unlinker/ObjLoading: Add skeleton for dynamically loading search paths based on current zone
2019-12-30 23:52:33 +01:00
Jan
5f833969f9
Utils: Fix UsageInformation still outputting a dash when no short name is specified. Same for long name.
2019-12-30 23:51:13 +01:00
Jan
af55c202cf
ObjLoading/ObjWriting: Initial skeleton for loading and writing obj files
2019-12-29 16:40:03 +01:00
Jan
a0d4e87b8e
ZoneCommon: Change name of global variable for the T6 Game instance
2019-12-29 16:39:29 +01:00
Jan
c488e4c714
Add minilzo and minizip as dependencies
2019-12-29 16:38:14 +01:00
Jan
d77438d654
Project: Update .gitignore to only ignore paths are are supposed to be ignored with the current premake setup: build and local
2019-12-27 16:32:21 +01:00
Jan
ce063adcc5
Utils: Make file of FileAPI an interface to be able to integrate custom file implementations when using
2019-12-25 14:07:51 +01:00
Jan
00b3322cb2
ZoneLoading: Extract all obj dumping relevant parts to ObjWriting component
2019-12-25 14:07:24 +01:00
Jan
e8de3a3f39
Unlinker: Make Unlinker handle each zone directly after loading so it doesn't run out of memory when trying to load too many zones at once
2019-12-24 18:42:25 +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
31192e8372
ZoneCode: Fix XSurface VertListCount not being unsigned even though it is used as it is
2019-12-24 17:20:34 +01:00
Jan
86790d1486
ZoneCodeGenerator: Fix not respecting when in an operation the second operand should be calculated first but the precedence is the same
2019-12-24 17:19:49 +01:00
Jan
33ec343460
ZoneCodeGenerator: Add possibility to specify a custom array count to signalize how many entries of a static array should be loaded
2019-12-24 12:41:27 +01:00
Jan
9e10cffdce
ZoneCode: Fix XAnim bone count not being unsigned even though they are used as they were
2019-12-24 12:09:11 +01:00
Jan
69fff81b02
ZoneCode: Fix XModel bone count not being unsigned but being used as it was
2019-12-24 11:40:23 +01:00
Jan
4932994355
ZoneLoading: Remove unused asset counting part
2019-12-24 11:40:00 +01:00
Jan
551deeec34
ZoneCode: Add commands for GfxWorld and enable it
2019-12-24 01:59:58 +01:00
Jan
80bc10752a
ZoneLoading: Fix not respecting the block type when trying to load data
2019-12-24 01:59:40 +01:00
Jan
731bef73df
ZoneCodeGenerator: Fix unit tests to do with evaluation array indices
2019-12-23 23:54:19 +01:00
Jan
94369e3ecf
ZoneCode: Add commands for GfxWorld
2019-12-23 23:46:37 +01:00
Jan
971d198f59
ZoneCodeGenerator: Remove unwanted spacing from single pointer template
2019-12-23 23:46:26 +01:00
Jan
62ac2e8aae
ZoneCodeGenerator: Replace OperandDynamics static array indices with Evaluations
2019-12-23 23:46:04 +01:00
Jan
db8e4c987c
ZoneCode: Fix alignments and structs for XAnims
2019-12-23 21:24:23 +01:00
Jan
d6f49c459c
ZoneLoading: Only dump localized strings when there are any in the pool
2019-12-23 21:24:06 +01:00
Jan
ca1d188759
ZoneLoading: Fix typo in InvalidOffsetBlockOffsetException message
2019-12-23 21:23:48 +01:00
Jan
ef1ca03ed3
ZoneCode: Fix commands for SndBank
2019-12-23 17:55:57 +01:00
Jan
21f395ab7d
ZoneLoading: When using the temp block multiple times after another when for example loading nested assets, remember the last position of the temp block and return to there when popping it
2019-12-23 17:55:42 +01:00
Jan
0d801948bc
ZoneLoading: Enable now properly working assets
2019-12-23 17:05:53 +01:00
Jan
1544bbbd18
ZoneCodeGenerator: Add loading of dynamic arrays
2019-12-23 17:05:38 +01:00
Jan
2fea7654a9
ZoneLoading: Fix not being able to load a null scriptstring and aligning incorrectly when loading the header
2019-12-23 17:05:12 +01:00
Jan
af56d9193d
ZoneLoading: Always initialize AssetPools as dynamic since not all loaded assets are contained inside the initial assetlist
2019-12-23 17:04:23 +01:00
Jan
8d8f60bf41
ZoneCode: Fix Commands for Material, GfxImage and Techset
2019-12-23 17:03:16 +01:00
Jan
db08cf5ebc
ZoneLoading: Fix InsertPointer not increasing the buffer position by the size of the pointer
2019-12-23 17:02:22 +01:00
Jan
236108e5fb
ZoneCodeGenerator: Add ability to split loading of a structure due to a dynamic member
2019-12-22 23:33:00 +01:00
Jan
0db6f90980
ZoneCodeGenerator: Add computations to check for dynamic array sizes and partially loaded structures
2019-12-22 16:16:21 +01:00
Jan
ec8c00a4b9
ZoneCodeGenerator: Make setting a dynamic array size only possible if the targeted member is the last entry of its structure
2019-12-22 16:15:45 +01:00
Jan
57ef79692a
ZoneCodeGenerator: Add precompiler support for ifdef so a namespace can be defined in the t6_assets header for compiling in ZoneCommon without display errors
2019-12-21 16:37:57 +01:00
Jan
c8a2bec12b
ZoneCodeGenerator: Fix commands for GfxImage
2019-12-21 13:16:17 +01:00