Commit Graph
100 Commits
Author SHA1 Message Date
Jan 6702856399 Make skipping lines in defines stream proxy configurable 2022-09-06 17:49:35 +02:00
Jan 379aabebd6 Add build log to templater 2022-09-06 00:36:28 +02:00
Jan 6a45031c96 Integrating templating into rawfile pipeline 2022-09-06 00:12:34 +02:00
Jan f574204e61 Skip until first non empty line for templater 2022-09-05 23:51:09 +02:00
Jan e8baf65134 Adjust templater output 2022-09-05 23:33:14 +02:00
Jan d0155d426a Skip defines stream proxy empty lines 2022-09-05 23:30:06 +02:00
Jan 1464329245 Add raw templater 2022-09-05 23:25:11 +02:00
Jan 4ef38264c8 Rename defines if directive parsing to defines directive parsing 2022-09-05 20:17:31 +02:00
Jan b2313c6415 Add missing algorithm header 2022-08-21 12:49:24 +02:00
Jan 3bef176676 Fix wrong blend ops for screen add blend func 2022-08-21 12:29:04 +02:00
Jan 457c3518ad Set passthrough on colorWrite 2022-08-21 01:38:44 +02:00
Jan 59d829b789 make alphafunc passthrough by default for default2d 2022-08-21 01:25:29 +02:00
Jan 1757caa33d fix statemap layout for iw4 for wireframe 2022-08-21 01:25:04 +02:00
Jan b4fbbb6bbc Fix not dumping stencil values in json correctly 2022-08-21 01:24:46 +02:00
Jan db60287a7b Apply statemaps to materials 2022-08-20 19:23:49 +02:00
Jan c5cfdfde89 Add statemap validation in debug mode 2022-08-20 15:11:08 +02:00
Jan 2dd8660824 Add supplemental data for iw4 statemap layout 2022-08-20 14:37:05 +02:00
Jan b93707dfe5 Correctly parse state map default case 2022-08-13 21:13:07 +02:00
Jan 16218e2bce Add passthrough gammaWrite rule to all state maps 2022-08-13 21:12:51 +02:00
Jan fe59cbdee1 Make sure state maps define rules for all entries 2022-08-13 21:12:34 +02:00
Jan 189c82a787 Make Linker and Unlinker projects depend on raw 2022-08-13 21:12:06 +02:00
Jan 595af125b9 Load state maps when loading techniques 2022-08-13 20:50:40 +02:00
Jan 6d15ddcd08 Dump techniques with state map "passthrough" by default 2022-08-13 20:50:25 +02:00
Jan 686102a59e Add game pattern to search paths 2022-08-13 20:49:33 +02:00
Jan 53bfcadea8 Add StateMap parsing 2022-08-13 19:26:33 +02:00
Jan 31b679eedf Replace copy file commands with platform independent ones 2022-08-13 14:32:01 +02:00
Jan 886bcfeaf8 Add non static evaluation for simple expressions 2022-08-13 14:13:11 +02:00
Jan 403d7f2c44 Add statemap raw files for iw4 2022-08-13 12:24:07 +02:00
Jan 364d801d3f fix compilation on gcc 2022-08-07 19:23:30 +02:00
Jan 63e9dc0c43 Material loading effect base 2022-08-07 19:17:04 +02:00
Jan 032cfed6e1 Fix AssetDumperTechniqueSet 2022-08-07 19:05:44 +02:00
Jan a8bb1a5ead Load particle cloud materials 2022-08-07 15:45:40 +02:00
Jan c55f759793 Fix asset dumper already assuming statemaps are in use 2022-08-07 15:45:28 +02:00
Jan 713eb77230 Add material loading for tools materials 2022-08-07 12:06:02 +02:00
Jan f87039d324 Rename base statebits to base state bits 2022-08-06 23:11:24 +02:00
Jan 066e9af1bc fix compilation on gcc 2022-08-06 19:10:26 +02:00
Jan 1e546d4a19 Write broken material statebits writing 2022-08-06 19:08:45 +02:00
Jan f3b175ab08 Handle material alphatest gt0 2022-08-06 18:59:13 +02:00
Jan c010355d4a Dump material tile and filter properties 2022-08-06 18:47:28 +02:00
Jan 0179d61451 Fix json material dumping alpha test 2022-08-06 18:46:49 +02:00
Jan 028d8fde7d Skip material loading for other types than 2d 2022-08-06 16:15:29 +02:00
Jan 347c1b3d68 Fix material loading sortkeys and cameraRegion 2022-08-06 15:40:00 +02:00
Jan 09fdb95927 TechsetStateMapCache stub 2022-08-06 11:05:34 +02:00
Jan 5771044c08 Material dumping and loading stuff 2022-08-06 10:52:52 +02:00
Jan a3a01660d6 Add TechsetDefinitionCache to cache loaded techset definitions 2022-08-06 10:52:35 +02:00
Jan b474109452 depthtest, depthwrite, polygonOffset for material loading 2022-07-24 13:54:58 +02:00
Jan dd09027f0b CullFace loading material 2022-07-23 22:16:46 +02:00
Jan 61b44070e4 alphatest, blendfunc, colorwrite material loading 2022-07-23 21:29:45 +02:00
Jan 2f948ea54a More material loading constants 2022-07-23 15:50:35 +02:00
Jan 0cbf234faf Use string constants for material loading 2022-07-23 14:33:27 +02:00
Jan 92d808b7a4 Use constants for material sort key names 2022-07-23 13:05:37 +02:00
Jan ea79e60856 Load material sortkeys v1 2022-07-23 12:22:59 +02:00
Jan 80a66a5d2c Finalize loaded material with textures 2022-07-15 11:25:38 +02:00
Jan 82349d3432 Material loading base 2022-07-15 11:21:54 +02:00
Jan bc91738ee9 Dump materials in zone gdt 2022-07-09 15:44:03 +02:00
Jan 5ee541c0ff Fix not being able to dump t6 xmodels without surface 2022-07-09 14:16:24 +02:00
Jan da79ce2463 Dump material waterColor constant 2022-05-15 16:37:44 +02:00
Jan 6862faa992 Correctly mark unhandled constants as such 2022-05-15 15:55:37 +02:00
Jan 0105c0d1bd Dump material info from constants 2022-05-14 16:09:11 +02:00
Jan 38dedaf894 Examine techset info from effect and unlit materials 2022-05-10 19:03:36 +02:00
Jan 638b659a48 Example material stencil values and blendfunc 2022-05-08 12:44:34 +02:00
Jan cc2f0ca487 Write Statebits data to gdt materials 2022-05-02 21:11:51 +02:00
Jan b94c5b381d Extract more info from techset name 2022-05-02 18:45:49 +02:00
Jan 01d9a4d912 Improve recognition of material types 2022-04-29 23:55:10 +02:00
Jan 353ad52eba Add material dumping debug switches 2022-04-23 16:41:30 +02:00
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