Updated Trigger triggeredBy field to utilize new enum type for editing
Updated MaterialDefinition's animFlags field to utilize appropriate enum type for editing
Fixed image reference in bitmask inspectorField type to use correct image asset name
Adds the ground work for geometry shaders
Expands shaderData and gfxShader to allow for more shader types
note: when building a GFXShader in source you have to call setShaderStageFile with the shaderStage and the filepath for that stage.
Once we add compute shaders this will become more apparent as compute shaders are a stage of their own and do not require vertex and pixel files whereas other shaders sometimes do.
up custommaterial inputs to 16
add Material::PhotometricMask:handling to processedcustommaterial
and for paranoias sake go ahead and be explicit about _getLightMaterial (those *should* be unneeded as they optionally default to that, but it's how they were in the beatup fork during testing)
Both ies and cookies can now exist on a light
We are still not using all the capabilities of an IES profile, such as candela and luminance values we are just using them as a mask for the moment
Issues compiling on mac and linux, will need to update the ies-loader to use torque methods instead of std::
cliffsnotes:
$Core::WetnessTexture = "core/rendering/images/wetMap.png"; //for the influence degree map
probes/skylight have a new canDamp boolean, set to off for probes, on for skylight by default.
:levelinfo has a dampness multiplier (0-1)
kicked up numTextures from 8 to 16 for shaderdata and postfx since that hit the 8 texture-in prior limit, and we've already adopted apis that can handle the higher count
also supress warning for imageassets not loading a texture in nulldevice, and early out of _determineFeatures shadergen methods under the same conditions
Swapped the water's disableTrueReflections variable to be enableTrueReflections for simplicity and consistency(also fixed a persistent typo)
Swapped disableVerticalSync to be enableVerticalSync for simplicity and consistency
Swapped disableParallaxMapping to be enableParallaxMapping for simplicity and consistency
Fix click detection on slider mode entries for guiGameSettingsCtrl so the click position correctly matches the percentage
Fixed problem where postFX initialization would always exec default.postfxpreset.tscript, even if a level's got it's own preset, which can cause problems
Fixed range field type behavior so that editing the values applies in real time, and also consistently applies between slider and text field
Fixes project import to comply to above change
Makes Material default mEffectColor to white instead of whatever default value it comes up with due to memset
Also updates importers to correctly handle this change
Adds ability for taml XML serialization to properly assign array'd fields
Adds 'inheritFrom' field to simobjects for when objects with parent objects are serialized
AssetBase how inherits from SimGroup so it can have objects like material definitions embedded in them for save/load in the taml definition file
Updated loading/handling logic in terrain material asset to be more similar to regular material assets
while that certainly works for most cases it falls apart when dealing with postfx where it's an unnamed array of variable types of inputs.
shifted the profile assignment to #define INIT_IMAGEASSET_ARRAY(name, profile, index) so there's still a really obvious point where you can see the default setting, even if it's not in the more desireable OG definition spot
for postfx in particular, given we can swap that, provided an example of how to do just that
Processed core, tools and default modules to utilize assets
Converted all console types that were string based, such as TypeImageFilename to utilize const char*/the string table, which avoids a lot of type swapping shenanigans and avoids string corruption
Removed unneeded MainEditor mockup module
Removed some unused/duplicate image assets from the tools