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
f8e7a10789
Also remove string reference in scriptstring callback from WeaponDumper
2020-10-23 13:35:50 +02:00
Jan
2e61f46544
Make InfoStringDumper scriptstring callback return std::string instead of const std::string& since a reference is not needed
2020-10-23 13:26:32 +02:00
Jan
99195232bb
Add dumping of hideTags and noteTrackSoundMap to weapons for T6
2020-10-23 12:55:07 +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
6cca45fc26
Add scriptstring value callback to weapon loading of t6
2020-10-23 12:52:44 +02:00
Jan
068add0eef
Fix script string indices being off by one due to inserting empty script string that is not necessarly in the zone
2020-10-23 12:51:18 +02:00
Jan
7acf07a4b4
Use offsetof macro instead of fixed offset values for weaponfields of t6
2020-10-20 17:30:10 +02:00
Jan
c86139b0fa
Add dumping of t6 weapons
2020-10-20 12:49:20 +02:00
Jan
d942c5a625
Make AbstractAssetDumper use the XAssetInfo instead of the raw asset pointer to be able to access dependencies and scriptstrings
2020-10-20 12:48:53 +02:00
Jan
ab217bb1a9
Fix AddonMapEnts dumping code not including necessary headers
2020-10-19 08:29:58 +02:00
Jan
fc336a1019
Add dumping of iw4 addonmapents
2020-10-18 17:41:52 +02:00
Jan
019e772cd2
Add dumping of iw4 loaded sounds
2020-10-18 17:41:14 +02:00
Jan
ac022ee78a
Add dumping of luminance textures from iwis
2020-10-18 17:39:22 +02:00
Jan
f3afaf3110
move zoneloaderfactories in their respective game namespaces
2020-10-17 16:04:26 +02:00
Jan
f0c8ffa6be
move contentloader classes to their respective game namespaces
2020-10-17 15:55:19 +02:00
Jan
464f8231df
IWD code style changes
2020-10-17 15:15:17 +02:00
Jan
641ee15775
Move iwi writer for version 27 in its iwi27 namespace
2020-10-17 15:00:10 +02:00
Jan
395c139681
Use map for IWD entries to speed up finding entries by name
2020-10-17 14:59:36 +02:00
Jan
a1c965a4c0
Dump iw4 images
2020-10-16 15:57:39 +02:00
Jan
b8b8e4c267
Implement loading of the remaining iw4 assets which are the map assets
2020-10-11 12:22:20 +02:00
Jan
133437d644
Make assets header file an input for zonecode to make sure the code is regenerated when the asset header is changed
2020-10-10 23:25:19 +02:00
Jan
4a6c73c4d9
Fix XAnim Trans, Quat2, Quat alignment
2020-10-10 23:00:53 +02:00
Jan
6baf3416d4
Fix iw4 xanim to having an unsigned bonecount instead of signed
2020-10-10 13:33:58 +02:00
Jan
ba585426e9
Fix IW4 XAnimDynamicIndices to being loaded differently in trans, quat, quat2
2020-10-10 13:33:25 +02:00
Jan
e0e4fc255a
Fix XModel quats and trans counts not being correct in IW4
2020-10-10 11:51:10 +02:00
Jan
af0dc46b31
Fix SoundAliasCustom loading for IW4 actually being loaded like const char**
2020-10-10 11:46:43 +02:00
Jan
c952aacda1
Remove the zonecodegenerator requirement to reference members in a type reference because IW did nasty things in their game that require me to do so.
2020-09-16 10:18:11 +02:00
Jan
6437d8daa4
Remove SndDriverGlobals references as an asset since it is non existant for IW4 PC builds
2020-09-15 12:54:32 +02:00
Jan
906d112619
Add loading of iw4 weapondef and vehicledef assets
2020-09-15 12:51:59 +02:00
Jan
9ce71a63ae
Shorten clipmap reorder command for iw4
2020-09-15 11:34:53 +02:00
Jan
c515747bc0
Add loading of iw4 font and addonmapents assets
2020-09-15 11:21:46 +02:00
Jan
fb93d7cb2f
Add loading of iw4 assets clipmap and mapents
2020-09-15 10:44:45 +02:00
Jan
14666ed944
Dump a few iw4 assets
2020-09-09 18:40:01 +02:00
Jan
4aafbac113
Fix ZoneCode array loading overwriting pointers when an array is loaded while inside of an array of the same type
2020-09-09 16:12:20 +02:00
Jan
8778421ebb
Quick code style fix
2020-09-09 16:11:21 +02:00
Jan
83d76acedc
add structureddatadef loading code for iw4
2020-09-09 12:36:53 +02:00
Jan
0efff7d637
add iw4 tracerdef loading code
2020-09-09 12:08:09 +02:00
Jan
3bf47f058d
Add LeaderboardDef asset loading for IW4
2020-09-09 12:03:14 +02:00
Jan
b4756c3688
Add IW4 ImpactFx loading code
2020-09-09 11:58:42 +02:00
Jan
ceeb1832cd
Add IW4 GfxLightDef asset loading code
2020-09-09 11:54:15 +02:00
Jan
24195be273
Add Fx asset for IW4
2020-09-09 11:47:29 +02:00
Jan
9108add01d
Fix XModelSurfs being entirely loaded in temp block by adding the feature to specify a block for a struct to be able to make xmodelsurfs being loaded in normal block
2020-09-09 11:47:09 +02:00
Jan
bdbfb7114e
Add menu loading for iw4
2020-09-08 20:52:29 +02:00
Jan
18bd0ab524
Remove empty lines in array pointer template
2020-09-08 19:20:19 +02:00
Jan
c1d2ac6604
Add localize entry to iw4 and skip snddriverglobals since the asset is not loaded but is still in the asset list of fastfiles
2020-09-08 13:10:54 +02:00
Jan
e7898a1f3c
Fix Cubemap mipmap sizes
2020-09-08 12:34:54 +02:00
Jan
d35560ccd7
Add support for loading sound assets from iw4 zones
2020-09-08 12:11:16 +02:00
Jan
79848b4631
ZoneCodeGenerator: Make arraypointer work with temp block
2020-09-08 12:01:15 +02:00
Jan
b25fe9a9f7
Added iw4 assets related to materials, xmodels
2020-09-07 18:19:20 +02:00
Jan
5e8173539b
Generate zone code for IW4 for the first 3 assets
2020-09-07 14:14:07 +02:00
Jan
413034f7b2
Let ZoneCodeGenerator print the size of the struct as a comment in load method
2020-09-07 12:51:49 +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
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