1342 Commits

Author SHA1 Message Date
Jan
cd34f8db39 basics of material gdt dumping 2022-04-22 23:21:39 +02:00
Jan
bba96b248d Add skip obj unlinker arg 2022-04-22 23:21:23 +02:00
Jan
2823a46b92 Add improvements from iw3 material dumping to iw4 2022-04-21 19:58:49 +02:00
Jan
c91d71e809 Dump iw3 materials 2022-04-21 19:58:31 +02:00
Jan
ebb13e18da Write additional details in iw4 material json 2022-04-18 18:23:30 +02:00
Jan
03fe515fb0 Fix compilation 2022-04-18 15:37:08 +02:00
Jan
ce22a2fea6 Add more details about material semantic and samplerState 2022-04-18 15:26:24 +02:00
Jan
2114b761b0 Dump iw4 materials as json for data investigation purposes 2022-04-18 14:46:13 +02:00
Jan
0f47e64486 Add nlohmann json submodule third party dependency 2022-04-18 11:23:05 +02:00
Jan
2ec65924c6 Only dump model surfs once for iw5 as well 2022-04-17 15:44:25 +02:00
Jan
30870c5e07 Only dump model surfs once 2022-04-17 15:38:07 +02:00
Jan
6ff86ae5e7 Set technique flags based on used constants, samplers and technique names 2022-04-16 22:51:38 +02:00
Jan
6e57834dc6 Warn user whenever specified asset type is unrecognized 2022-04-16 17:13:28 +02:00
Jan
2108737f22 Explicitly state whenever unloading zones in linker 2022-04-16 16:42:33 +02:00
Jan
4a03efe636 State whenever a zone is unloaded in unlinker 2022-04-16 16:39:46 +02:00
Jan
1a36912b44 Fix unlinking every single asset in the global asset pools on unloading a zone 2022-04-16 16:32:55 +02:00
Jan
4abb846ccd fix iw4 enum not having a name 2022-04-16 15:44:57 +02:00
Jan
cb45bdaadc Progress on reversing technique flags 2022-04-16 15:41:45 +02:00
Jan
9e063a30f0 Dump technique sampler flags and technique flags 2022-04-16 15:41:11 +02:00
Jan
0ae5afc197 Set technique flags based on argument code samplers 2022-04-15 17:53:12 +02:00
Jan
7a89630a13 Dump technique flags 2022-04-15 17:52:56 +02:00
Jan
15fd1ae686 Order shader args like the game does 2022-04-15 17:52:32 +02:00
Jan
9990338130 Handle custom samplers 2022-04-15 16:34:44 +02:00
Jan
65c9267b06 Correctly identify update frequencies for shader arguments 2022-04-15 16:01:39 +02:00
Jan
cd8e6cf96a Fix not being able to use StructuredDataDefSet assets from memory 2022-04-15 13:00:08 +02:00
Jan
12af03d77b Do not output errors when use menus from loaded assets 2022-04-15 12:54:37 +02:00
Jan
0f3d1d3488 Load shader from disk if they are only available as referenced assets to write techniques using them 2022-04-15 12:54:10 +02:00
Jan
7d80ff670d Convert technique passes 2022-04-14 20:11:51 +02:00
Jan
7f496ce478 Automatically handle unspecified shader arguments 2022-04-14 19:49:35 +02:00
Jan
3ba68eb2f4 Remember which vertex shader and pixel shader args have been handled already 2022-04-11 20:06:02 +02:00
Jan
99c7ebbe9b Load vertex decl asset 2022-04-10 19:39:26 +02:00
Jan
e0bcf7aff0 Load Vertex Stream Routing 2022-04-10 17:48:12 +02:00
Jan
bd291a75a9 Accept technique material arguments 2022-04-10 14:51:38 +02:00
Jan
516878698d Only accept sampler arguments for sampler shader arguments and constant argument for constant shader arguments 2022-04-10 13:58:08 +02:00
Jan
7a2fe6dc4f Differentiate between argument sets when dumping techniques to find the actual matching shader argument 2022-04-10 13:23:44 +02:00
Jan
7d2ca46cb1 Dump known material argument hashes 2022-04-09 19:07:24 +02:00
Jan
13c5ea2986 Ignore shaders versions in technique files 2022-04-09 19:03:12 +02:00
Jan
8cc632f613 Move D3D9ShaderAnalyser to ObjCommon 2022-04-09 18:55:43 +02:00
Jan
bdb782a679 Fix issues with technique parser 2022-03-30 19:25:58 +02:00
Jan
4a52f3304e Fix asset loaders for vertex and pixel shader not using correct file name 2022-03-30 19:25:41 +02:00
Jan
1d798647c3 Fix not reading hex numbers with integer only lexing for SimpleLexer 2022-03-30 19:25:07 +02:00
Jan
a092f76ec9 Add option to not parse floating point numbers when using SimpleLexer 2022-03-30 19:07:54 +02:00
Jan
b5cd357014 WIP Technique loading 2022-03-30 18:38:50 +02:00
Jan
b770360ee1 Parse techniques 2022-03-27 21:10:33 +02:00
Jan
7c9805b4ba fix compilation issues 2022-03-27 16:28:25 +02:00
Jan
99d5caf1f2 Fix techset parsing naming issues 2022-03-27 16:21:06 +02:00
Jan
d8f490ec94 Base for technique loading 2022-03-27 16:17:50 +02:00
Jan
a47370613b Reuse previously loaded techniques 2022-03-27 16:17:36 +02:00
Jan
99f3f6fe0c Fix wrong techset reader dependency on structuredatadef 2022-03-27 16:16:41 +02:00
Jan
eb5312899f Parse techset files for IW4 2022-03-26 18:47:43 +01:00