From fdc50ac8be897106c3f0015ff5dc862041091089 Mon Sep 17 00:00:00 2001 From: Areloch Date: Sun, 29 Sep 2019 06:44:43 -0500 Subject: [PATCH] Moved unneeded modules to Templates/Modules Added templated getObjectsByClass to Scene for easier engine-side polling of objects, including nested checks for subscenes Proper init'ing of mGamemodeName in LevelAsset, as well as proper fieldType for mIsSubLevel D3D11 added logic to handle scaling down of textures in cubemap arrays for lower texture resolution preferences Added ability to collapse groups programmatically to GuiVariableInspector Upped PSSM shadowmap max size to 4096 Caught GL deferred lighting/probes up to D3D11 Temporarily disabled forward lighting/probes on GL materials until conversion finished Upped smMaxInstancingVerts to 2000 from 200 to support slightly more detailed meshes being instanced Reordered project settings so they load ahead of core modules, so that core modules can actually use project settings Established current preset file for PostFXManager to use for reverting WIP logic for forcing probes to update as part of level lighting load step in loading process Streamlined PostFXManager code, removing unnecessary/redundant files Coverted HDR, Lightrays and SSAO and ExamplePostEffect to use new PostFX Manager/Editor paradigm PostFX manager now enacts callbacks so that postFXs' can process their own settings as well as provide editor fields Changed PostFX editor to work with new callbacks via using VariableInspector Updated PostEffectAsset's template file so new PostFX's will now automatically register with the PostFXManager and have the needed new callbacks for integration Made HDR on by default, removed enable field from editing Made probe bake resolution a project setting Updated many GL postFX shaders to have proper case for PostFx.glsl Example module now loads ExampleGUI and ExamplePostEffect during init'ing Removed unneeded autoload definitions from ExampleModule's module file Fixed Graphics Adapter settings field to properly display as well as apply setting Updated many referenced profiles in tools folder to use the Tools specific gui profiles to make theming more consistent Fixed coloration of tools button bitmap to make theming more consistent Updated a few theme settings for improved visibility with theme, particularly selected/highlighted text Moved AssetBrowser field types to separated folder/files Updated new module creation to properly utilize template file instead of overriding it with a programmatic script generation. Removed unneded default autoload definitions from new modules Added WIP for editing Module/Asset dependencies Updated the PostEffectAsset to properly generate glsl and hlsl files from templates Updated module editor window to display only necessary fields Added WIP of TerrainAsset Added shaderCache gitignore file so folder isn't lost --- Engine/source/T3D/Scene.cpp | 8 +- Engine/source/T3D/Scene.h | 45 +- Engine/source/T3D/assets/LevelAsset.cpp | 3 +- Engine/source/T3D/assets/TerrainAsset.cpp | 290 ++ Engine/source/T3D/assets/TerrainAsset.h | 103 + Engine/source/gfx/gfxTextureManager.cpp | 6 + .../editor/inspector/variableInspector.cpp | 37 + .../gui/editor/inspector/variableInspector.h | 4 +- .../lighting/shadowMap/lightShadowMap.cpp | 6 +- .../shaderGen/GLSL/shaderFeatureGLSL.cpp | 291 +- .../source/shaderGen/GLSL/shaderFeatureGLSL.h | 5 + Engine/source/ts/tsMesh.cpp | 4 +- Engine/source/ts/tsShapeInstance.cpp | 2 +- Templates/BaseGame/game/core/Core.cs | 6 +- .../scripts/client/levelDownload.cs | 13 + .../BaseGame/game/core/gui/scripts/canvas.cs | 2 +- .../BaseGame/game/core/postFX/Core_PostFX.cs | 5 +- .../game/core/postFX/guis/postFxManager.gui | 2755 ----------------- .../BaseGame/game/core/postFX/scripts/hdr.cs | 74 + .../game/core/postFX/scripts/lightRay.cs | 46 +- ...anager.persistance.cs => postFxManager.cs} | 66 +- .../core/postFX/scripts/postFxManager.gui.cs | 446 --- .../scripts/postFxManager.gui.settings.cs | 439 --- .../BaseGame/game/core/postFX/scripts/ssao.cs | 82 + .../game/core/rendering/Core_Rendering.cs | 2 + .../core/rendering/shaders/gl/lighting.glsl | 201 +- .../game/core/rendering/shaders/lighting.hlsl | 34 +- .../advanced/gl/deferredShadingP.glsl | 2 +- .../lighting/advanced/gl/pointLightP.glsl | 4 +- .../lighting/advanced/gl/probeShadingP.glsl | 68 - .../advanced/gl/reflectionProbeArrayP.glsl | 68 +- .../advanced/gl/reflectionProbeP.glsl | 162 - .../advanced/gl/reflectionProbeV.glsl | 32 - .../advanced/reflectionProbeArrayP.hlsl | 2 +- .../shaders/postFX/caustics/gl/causticsP.glsl | 2 +- .../shaders/postFX/dof/gl/DOF_CalcCoC_P.glsl | 2 +- .../shaders/postFX/dof/gl/DOF_CalcCoC_V.glsl | 2 +- .../shaders/postFX/dof/gl/DOF_Final_P.glsl | 4 +- .../shaders/postFX/dof/gl/DOF_Final_V.glsl | 2 +- .../postFX/dof/gl/DOF_Passthrough_V.glsl | 2 +- .../shaders/postFX/edgeaa/gl/edgeAAP.glsl | 2 +- .../shaders/postFX/edgeaa/gl/edgeAAV.glsl | 2 +- .../shaders/postFX/gl/chromaticLens.glsl | 4 +- .../rendering/shaders/postFX/gl/flashP.glsl | 2 +- .../shaders/postFX/gl/motionBlurP.glsl | 2 +- .../shaders/postFX/gl/underwaterFogP.glsl | 2 +- .../postFX/hdr/gl/bloomGaussBlurHP.glsl | 2 +- .../postFX/hdr/gl/bloomGaussBlurVP.glsl | 2 +- .../postFX/hdr/gl/brightPassFilterP.glsl | 2 +- .../postFX/hdr/gl/calculateAdaptedLumP.glsl | 2 +- .../postFX/hdr/gl/finalPassCombineP.glsl | 2 +- .../shaders/postFX/hdr/gl/luminanceVisP.glsl | 2 +- .../postFX/hdr/gl/sampleLumInitialP.glsl | 2 +- .../postFX/hdr/gl/sampleLumIterativeP.glsl | 2 +- .../postFX/lightRay/gl/lightRayOccludeP.glsl | 2 +- .../shaders/postFX/lightRay/gl/lightRayP.glsl | 2 +- .../shaders/postFX/ssao/gl/SSAO_P.glsl | 2 +- .../postFX/ssao/gl/SSAO_PowerTable_V.glsl | 2 +- .../game/data/ExampleModule/ExampleModule.cs | 7 +- .../data/ExampleModule/ExampleModule.module | 10 - .../ExampleModule/levels/ExampleLevel.mis | 128 +- .../postFXs/ExamplePostEffect.cs | 35 + .../game/data/pbr/levels/PbrMatTest.mis | 2 +- .../probes/1703285932_Irradiance.dds | Bin 262276 -> 262276 bytes .../probes/1703285932_Prefilter.dds | Bin 262276 -> 262276 bytes .../probes/693653254_Irradiance.dds | Bin 262276 -> 262276 bytes .../PbrMatTest/probes/693653254_Prefilter.dds | Bin 262276 -> 262276 bytes .../BaseGame/game/data/shaderCache/.gitignore | 2 + .../game/data/ui/scripts/displayMenu.cs | 18 +- .../game/data/ui/scripts/graphicsMenu.cs | 12 +- .../tools/MainEditor/scripts/newEditorGui.cs | 2 +- .../assetBrowser/guis/GameObjectCreator.gui | 10 +- .../tools/assetBrowser/guis/assetImport.gui | 24 +- .../tools/assetBrowser/guis/editAsset.gui | 4 +- .../tools/assetBrowser/guis/editModule.gui | 18 +- .../game/tools/assetBrowser/guis/newAsset.gui | 6 +- .../assetBrowser/guis/newComponentAsset.gui | 22 +- .../tools/assetBrowser/guis/selectModule.gui | 4 +- .../tools/assetBrowser/guis/selectPackage.gui | 4 +- .../BaseGame/game/tools/assetBrowser/main.cs | 5 +- .../assetBrowser/scripts/addModuleWindow.cs | 22 - .../assetBrowser/scripts/assetTypes/postFX.cs | 54 + .../scripts/assetTypes/terrain.cs | 53 + .../scripts/assetTypes/terrainMaterial.cs | 53 + .../tools/assetBrowser/scripts/editModule.cs | 45 +- .../scripts/fieldTypes/assetDependencies.cs | 92 + .../scripts/fieldTypes/fieldTypes.cs | 12 + .../listField.cs} | 14 +- .../scripts/fieldTypes/moduleDependencies.cs | 39 + .../templateFiles/postFXFile.cs.template | 36 + .../interface/materialFieldType.cs | 4 +- .../interface/stateMachineField.cs | 6 +- .../scripts/componentEditor.ed.cs | 2 +- .../convexEditor/convexEditorSidebarGui.gui | 10 +- .../DatablockEditorCreatePrompt.ed.gui | 2 +- .../DatablockEditorInspectorWindow.ed.gui | 2 +- .../DatablockEditorTreeWindow.ed.gui | 2 +- .../game/tools/gui/colorPicker.ed.gui | 6 +- .../BaseGame/game/tools/gui/images/button.png | Bin 2944 -> 4967 bytes .../gui/messageBoxes/IODropdownDlg.ed.gui | 10 +- .../gui/messageBoxes/messageBoxOK.ed.gui | 6 +- .../messageBoxes/messageBoxOKCancel.ed.gui | 8 +- .../messageBoxOKCancelDetailsDlg.ed.gui | 12 +- .../gui/messageBoxes/messageBoxYesNo.ed.gui | 8 +- .../messageBoxes/messageBoxYesNoCancel.ed.gui | 10 +- .../gui/messageBoxes/messagePopup.ed.gui | 4 +- .../BaseGame/game/tools/gui/postFxEditor.cs | 50 + .../BaseGame/game/tools/gui/postFxEditor.gui | 205 ++ .../BaseGame/game/tools/gui/profilerGraph.gui | 22 +- .../BaseGame/game/tools/gui/profiles.ed.cs | 9 +- .../BaseGame/game/tools/levels/BlankRoom.mis | 29 +- .../BlankRoom/probes/820461101_Irradiance.dds | Bin 0 -> 262276 bytes .../BlankRoom/probes/820461101_Prefilter.dds | Bin 0 -> 262276 bytes .../gui/guiMaterialPropertiesWindow.ed.gui | 86 +- .../meshRoadEditor/meshRoadEditorToolbar.gui | 2 +- .../tools/navEditor/CreateNewNavMeshDlg.gui | 22 +- .../tools/navEditor/NavEditorConsoleDlg.gui | 6 +- .../game/tools/navEditor/NavEditorGui.gui | 76 +- .../tools/navEditor/NavEditorSettingsTab.gui | 16 +- .../game/tools/navEditor/NavEditorToolbar.gui | 10 +- .../tools/riverEditor/RiverEditorToolbar.gui | 2 +- .../tools/roadEditor/RoadEditorToolbar.gui | 2 +- Templates/BaseGame/game/tools/settings.xml | 306 +- .../shapeEditor/gui/shapeEdPropWindow.ed.gui | 4 +- .../gui/ProceduralTerrainPainterGui.gui | 18 +- .../NavEditorPalette.ed.gui | 10 +- .../TerrainEditPalette.ed.gui | 2 +- .../worldEditor/gui/guiTerrainImportGui.gui | 2 +- .../tools/worldEditor/gui/probeBakeDlg.gui | 12 +- .../game/tools/worldEditor/gui/shadowViz.gui | 2 +- .../BaseGame/game/tools/worldEditor/main.cs | 3 + .../tools/worldEditor/scripts/menus.ed.cs | 2 +- .../Kork/Images/player_Albedo.asset.taml | 0 .../Kork/Images/player_Albedo.png | Bin .../game/data => Modules}/Kork/Kork.cs | 0 .../game/data => Modules}/Kork/Kork.module | 0 .../Kork/Shapes/OrcMage.asset.taml | 2 +- .../data => Modules}/Kork/Shapes/OrcMage.cs | 0 .../data => Modules}/Kork/Shapes/OrcMage.dts | Bin .../Kork/materials/player_mat.asset.taml | 0 .../Kork/materials/player_mat.cs | 0 .../Images/Orc_Material_BaseColor.asset.taml | 0 .../Images/Orc_Material_BaseColor.png | Bin .../SpaceOrc/Images/Orc_Material_Metallic.png | Bin .../Images/Orc_Material_Metallic.taml | 0 .../Images/Orc_Material_Roughness.png | Bin .../Images/Orc_Material_Roughness.taml | 0 .../SpaceOrc/Images/Orc_Material_normal.png | Bin .../SpaceOrc/Images/Orc_Material_normal.taml | 0 .../SpaceOrc/Shapes/SpaceOrcMage.asset.taml | 0 .../SpaceOrc/Shapes/SpaceOrcMage.cs | 0 .../SpaceOrc/Shapes/SpaceOrcMage.dts | Bin .../data => Modules}/SpaceOrc/SpaceOrc.cs | 0 .../data => Modules}/SpaceOrc/SpaceOrc.module | 0 .../materials/Orc_Material.asset.taml | 0 .../SpaceOrc/materials/Orc_Material.cs | 0 .../Images/Grid_512_orange.png | Bin .../Images/Grid_512_orange_ALBEDO.asset.taml | 0 .../StaticShapeTest/Shapes/Cube.asset.taml | 0 .../StaticShapeTest/Shapes/Cube.cs | 0 .../StaticShapeTest/Shapes/Cube.fbx | Bin .../Shapes/Cylinder.asset.taml | 0 .../StaticShapeTest/Shapes/Cylinder.cs | 0 .../StaticShapeTest/Shapes/Cylinder.fbx | Bin .../StaticShapeTest/Shapes/materials.cs | 0 .../StaticShapeTest/StaticShapeTest.cs | 0 .../StaticShapeTest/StaticShapeTest.module | 0 .../materials/Grid_512_orange.asset.taml | 0 .../materials/Grid_512_orange.cs | 0 Tools/CMake/torque3d.cmake | 23 +- 170 files changed, 2330 insertions(+), 4783 deletions(-) create mode 100644 Engine/source/T3D/assets/TerrainAsset.cpp create mode 100644 Engine/source/T3D/assets/TerrainAsset.h delete mode 100644 Templates/BaseGame/game/core/postFX/guis/postFxManager.gui rename Templates/BaseGame/game/core/postFX/scripts/{postFxManager.persistance.cs => postFxManager.cs} (65%) delete mode 100644 Templates/BaseGame/game/core/postFX/scripts/postFxManager.gui.cs delete mode 100644 Templates/BaseGame/game/core/postFX/scripts/postFxManager.gui.settings.cs delete mode 100644 Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/gl/probeShadingP.glsl delete mode 100644 Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/gl/reflectionProbeP.glsl delete mode 100644 Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/gl/reflectionProbeV.glsl create mode 100644 Templates/BaseGame/game/data/shaderCache/.gitignore create mode 100644 Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/terrain.cs create mode 100644 Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/terrainMaterial.cs create mode 100644 Templates/BaseGame/game/tools/assetBrowser/scripts/fieldTypes/assetDependencies.cs create mode 100644 Templates/BaseGame/game/tools/assetBrowser/scripts/fieldTypes/fieldTypes.cs rename Templates/BaseGame/game/tools/assetBrowser/scripts/{fieldTypes.cs => fieldTypes/listField.cs} (80%) create mode 100644 Templates/BaseGame/game/tools/assetBrowser/scripts/fieldTypes/moduleDependencies.cs create mode 100644 Templates/BaseGame/game/tools/gui/postFxEditor.cs create mode 100644 Templates/BaseGame/game/tools/gui/postFxEditor.gui create mode 100644 Templates/BaseGame/game/tools/levels/BlankRoom/probes/820461101_Irradiance.dds create mode 100644 Templates/BaseGame/game/tools/levels/BlankRoom/probes/820461101_Prefilter.dds rename Templates/{BaseGame/game/data => Modules}/Kork/Images/player_Albedo.asset.taml (100%) rename Templates/{BaseGame/game/data => Modules}/Kork/Images/player_Albedo.png (100%) rename Templates/{BaseGame/game/data => Modules}/Kork/Kork.cs (100%) rename Templates/{BaseGame/game/data => Modules}/Kork/Kork.module (100%) rename Templates/{BaseGame/game/data => Modules}/Kork/Shapes/OrcMage.asset.taml (66%) rename Templates/{BaseGame/game/data => Modules}/Kork/Shapes/OrcMage.cs (100%) rename Templates/{BaseGame/game/data => Modules}/Kork/Shapes/OrcMage.dts (100%) rename Templates/{BaseGame/game/data => Modules}/Kork/materials/player_mat.asset.taml (100%) rename Templates/{BaseGame/game/data => Modules}/Kork/materials/player_mat.cs (100%) rename Templates/{BaseGame/game/data => Modules}/SpaceOrc/Images/Orc_Material_BaseColor.asset.taml (100%) rename Templates/{BaseGame/game/data => Modules}/SpaceOrc/Images/Orc_Material_BaseColor.png (100%) rename Templates/{BaseGame/game/data => Modules}/SpaceOrc/Images/Orc_Material_Metallic.png (100%) rename Templates/{BaseGame/game/data => Modules}/SpaceOrc/Images/Orc_Material_Metallic.taml (100%) rename Templates/{BaseGame/game/data => Modules}/SpaceOrc/Images/Orc_Material_Roughness.png (100%) rename Templates/{BaseGame/game/data => Modules}/SpaceOrc/Images/Orc_Material_Roughness.taml (100%) rename Templates/{BaseGame/game/data => Modules}/SpaceOrc/Images/Orc_Material_normal.png (100%) rename Templates/{BaseGame/game/data => Modules}/SpaceOrc/Images/Orc_Material_normal.taml (100%) rename Templates/{BaseGame/game/data => Modules}/SpaceOrc/Shapes/SpaceOrcMage.asset.taml (100%) rename Templates/{BaseGame/game/data => Modules}/SpaceOrc/Shapes/SpaceOrcMage.cs (100%) rename Templates/{BaseGame/game/data => Modules}/SpaceOrc/Shapes/SpaceOrcMage.dts (100%) rename Templates/{BaseGame/game/data => Modules}/SpaceOrc/SpaceOrc.cs (100%) rename Templates/{BaseGame/game/data => Modules}/SpaceOrc/SpaceOrc.module (100%) rename Templates/{BaseGame/game/data => Modules}/SpaceOrc/materials/Orc_Material.asset.taml (100%) rename Templates/{BaseGame/game/data => Modules}/SpaceOrc/materials/Orc_Material.cs (100%) rename Templates/{BaseGame/game/data => Modules}/StaticShapeTest/Images/Grid_512_orange.png (100%) rename Templates/{BaseGame/game/data => Modules}/StaticShapeTest/Images/Grid_512_orange_ALBEDO.asset.taml (100%) rename Templates/{BaseGame/game/data => Modules}/StaticShapeTest/Shapes/Cube.asset.taml (100%) rename Templates/{BaseGame/game/data => Modules}/StaticShapeTest/Shapes/Cube.cs (100%) rename Templates/{BaseGame/game/data => Modules}/StaticShapeTest/Shapes/Cube.fbx (100%) rename Templates/{BaseGame/game/data => Modules}/StaticShapeTest/Shapes/Cylinder.asset.taml (100%) rename Templates/{BaseGame/game/data => Modules}/StaticShapeTest/Shapes/Cylinder.cs (100%) rename Templates/{BaseGame/game/data => Modules}/StaticShapeTest/Shapes/Cylinder.fbx (100%) rename Templates/{BaseGame/game/data => Modules}/StaticShapeTest/Shapes/materials.cs (100%) rename Templates/{BaseGame/game/data => Modules}/StaticShapeTest/StaticShapeTest.cs (100%) rename Templates/{BaseGame/game/data => Modules}/StaticShapeTest/StaticShapeTest.module (100%) rename Templates/{BaseGame/game/data => Modules}/StaticShapeTest/materials/Grid_512_orange.asset.taml (100%) rename Templates/{BaseGame/game/data => Modules}/StaticShapeTest/materials/Grid_512_orange.cs (100%) diff --git a/Engine/source/T3D/Scene.cpp b/Engine/source/T3D/Scene.cpp index b08e59a8f..e2494743b 100644 --- a/Engine/source/T3D/Scene.cpp +++ b/Engine/source/T3D/Scene.cpp @@ -81,6 +81,12 @@ void Scene::onRemove() }*/ } +void Scene::onPostAdd() +{ + if (isMethod("onPostAdd")) + Con::executef(this, "onPostAdd"); +} + void Scene::addObject(SimObject* object) { //Child scene @@ -175,7 +181,7 @@ void Scene::unpackUpdate(NetConnection *conn, BitStream *stream) } // -Vector Scene::getObjectsByClass(String className) +Vector Scene::getObjectsByClass(String className, bool checkSubscenes) { return Vector(); } diff --git a/Engine/source/T3D/Scene.h b/Engine/source/T3D/Scene.h index 8d56ff7aa..f75d29ce9 100644 --- a/Engine/source/T3D/Scene.h +++ b/Engine/source/T3D/Scene.h @@ -50,6 +50,7 @@ public: virtual bool onAdd(); virtual void onRemove(); + virtual void onPostAdd(); virtual void interpolateTick(F32 delta); virtual void processTick(); @@ -67,7 +68,10 @@ public: void unpackUpdate(NetConnection *conn, BitStream *stream); // - Vector getObjectsByClass(String className); + Vector getObjectsByClass(String className, bool checkSubscenes); + + template + Vector getObjectsByClass(bool checkSubscenes); static Scene *getRootScene() { @@ -79,3 +83,42 @@ public: static Vector smSceneList; }; + + +template +Vector Scene::getObjectsByClass(bool checkSubscenes) +{ + Vector foundObjects; + + T* curObject; + + //first, check ourself + for (U32 i = 0; i < mPermanentObjects.size(); i++) + { + curObject = dynamic_cast(mPermanentObjects[i]); + if (curObject) + foundObjects.push_back(curObject); + } + + for (U32 i = 0; i < mDynamicObjects.size(); i++) + { + curObject = dynamic_cast(mDynamicObjects[i]); + if (curObject) + foundObjects.push_back(curObject); + } + + if (checkSubscenes) + { + for (U32 i = 0; i < mSubScenes.size(); i++) + { + Vector appendList = mSubScenes[i]->getObjectsByClass(true); + + for (U32 a = 0; a < appendList.size(); a++) + { + foundObjects.push_back(appendList[a]); + } + } + } + + return foundObjects; +} diff --git a/Engine/source/T3D/assets/LevelAsset.cpp b/Engine/source/T3D/assets/LevelAsset.cpp index 36b7d14cd..32e7175d2 100644 --- a/Engine/source/T3D/assets/LevelAsset.cpp +++ b/Engine/source/T3D/assets/LevelAsset.cpp @@ -88,6 +88,7 @@ LevelAsset::LevelAsset() : AssetBase(), mIsSubLevel(false) mLevelFile = StringTable->EmptyString(); mPreviewImage = StringTable->EmptyString(); + mGamemodeName = StringTable->EmptyString(); mMainLevelAsset = StringTable->EmptyString(); } @@ -114,7 +115,7 @@ void LevelAsset::initPersistFields() addProtectedField("PreviewImage", TypeAssetLooseFilePath, Offset(mPreviewImage, LevelAsset), &setPreviewImageFile, &getPreviewImageFile, "Path to the image used for selection preview."); - addField("isSubScene", TypeString, Offset(mIsSubLevel, LevelAsset), "Is this a sublevel to another Scene"); + addField("isSubScene", TypeBool, Offset(mIsSubLevel, LevelAsset), "Is this a sublevel to another Scene"); addField("gameModeName", TypeString, Offset(mGamemodeName, LevelAsset), "Name of the Game Mode to be used with this level"); } diff --git a/Engine/source/T3D/assets/TerrainAsset.cpp b/Engine/source/T3D/assets/TerrainAsset.cpp new file mode 100644 index 000000000..b3e2a8a1c --- /dev/null +++ b/Engine/source/T3D/assets/TerrainAsset.cpp @@ -0,0 +1,290 @@ +//----------------------------------------------------------------------------- +// Copyright (c) 2013 GarageGames, LLC +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. +//----------------------------------------------------------------------------- + +#ifndef TERRAINASSET_H +#include "TerrainAsset.h" +#endif + +#ifndef _ASSET_MANAGER_H_ +#include "assets/assetManager.h" +#endif + +#ifndef _CONSOLETYPES_H_ +#include "console/consoleTypes.h" +#endif + +#ifndef _TAML_ +#include "persistence/taml/taml.h" +#endif + +#ifndef _ASSET_PTR_H_ +#include "assets/assetPtr.h" +#endif + +//----------------------------------------------------------------------------- + +IMPLEMENT_CONOBJECT(TerrainAsset); + +ConsoleType(TerrainAssetPtr, TypeTerrainAssetPtr, TerrainAsset, ASSET_ID_FIELD_PREFIX) + +//----------------------------------------------------------------------------- + +ConsoleGetType(TypeTerrainAssetPtr) +{ + // Fetch asset Id. + return (*((AssetPtr*)dptr)).getAssetId(); +} + +//----------------------------------------------------------------------------- + +ConsoleSetType(TypeTerrainAssetPtr) +{ + // Was a single argument specified? + if (argc == 1) + { + // Yes, so fetch field value. + const char* pFieldValue = argv[0]; + + // Fetch asset pointer. + AssetPtr* pAssetPtr = dynamic_cast*>((AssetPtrBase*)(dptr)); + + // Is the asset pointer the correct type? + if (pAssetPtr == NULL) + { + // No, so fail. + //Con::warnf("(TypeMaterialAssetPtr) - Failed to set asset Id '%d'.", pFieldValue); + return; + } + + // Set asset. + pAssetPtr->setAssetId(pFieldValue); + + return; + } + + // Warn. + Con::warnf("(TypeTerrainAssetPtr) - Cannot set multiple args to a single asset."); +} + +//----------------------------------------------------------------------------- + +TerrainAsset::TerrainAsset() +{ + mTerrainFile = StringTable->EmptyString(); +} + +//----------------------------------------------------------------------------- + +TerrainAsset::~TerrainAsset() +{ +} + +//----------------------------------------------------------------------------- + +void TerrainAsset::initPersistFields() +{ + // Call parent. + Parent::initPersistFields(); + + //addField("shaderGraph", TypeRealString, Offset(mShaderGraphFile, TerrainAsset), ""); + addProtectedField("terrainFile", TypeAssetLooseFilePath, Offset(mTerrainFile, TerrainAsset), + &setTerrainFile, &getTerrainFile, "Path to the file containing the terrain data."); +} + +void TerrainAsset::initializeAsset() +{ + // Call parent. + Parent::initializeAsset(); + + if (!Platform::isFullPath(mTerrainFile)) + mTerrainFile = getOwned() ? expandAssetFilePath(mTerrainFile) : mTerrainFile; + + //if (Platform::isFile(mTerrainFile)) + // Con::executeFile(mScriptFile, false, false); +} + +void TerrainAsset::onAssetRefresh() +{ + mTerrainFile = expandAssetFilePath(mTerrainFile); + + //if (Platform::isFile(mScriptFile)) + // Con::executeFile(mScriptFile, false, false); +} + +void TerrainAsset::setTerrainFile(const char* pScriptFile) +{ + // Sanity! + AssertFatal(pScriptFile != NULL, "Cannot use a NULL script file."); + + // Fetch image file. + pScriptFile = StringTable->insert(pScriptFile); + + // Update. + mTerrainFile = getOwned() ? expandAssetFilePath(pScriptFile) : pScriptFile; + + // Refresh the asset. + refreshAsset(); +} + +//------------------------------------------------------------------------------ + +void TerrainAsset::copyTo(SimObject* object) +{ + // Call to parent. + Parent::copyTo(object); +} + +//----------------------------------------------------------------------------- +// GuiInspectorTypeAssetId +//----------------------------------------------------------------------------- + +IMPLEMENT_CONOBJECT(GuiInspectorTypeTerrainAssetPtr); + +ConsoleDocClass(GuiInspectorTypeTerrainAssetPtr, + "@brief Inspector field type for Material Asset Objects\n\n" + "Editor use only.\n\n" + "@internal" +); + +void GuiInspectorTypeTerrainAssetPtr::consoleInit() +{ + Parent::consoleInit(); + + ConsoleBaseType::getType(TypeTerrainAssetPtr)->setInspectorFieldType("GuiInspectorTypeTerrainAssetPtr"); +} + +GuiControl* GuiInspectorTypeTerrainAssetPtr::constructEditControl() +{ + // Create base filename edit controls + mUseHeightOverride = true; + mHeightOverride = 100; + + mMatEdContainer = new GuiControl(); + mMatEdContainer->registerObject(); + + addObject(mMatEdContainer); + + // Create "Open in ShapeEditor" button + mMatPreviewButton = new GuiBitmapButtonCtrl(); + + const char* matAssetId = getData(); + + TerrainAsset* matAsset = AssetDatabase.acquireAsset< TerrainAsset>(matAssetId); + + TerrainMaterial* materialDef = nullptr; + + char bitmapName[512] = "tools/worldEditor/images/toolbar/shape-editor"; + + /*if (!Sim::findObject(matAsset->getMaterialDefinitionName(), materialDef)) + { + Con::errorf("GuiInspectorTypeTerrainAssetPtr::constructEditControl() - unable to find material in asset"); + } + else + { + mMatPreviewButton->setBitmap(materialDef->mDiffuseMapFilename[0]); + }*/ + + mMatPreviewButton->setPosition(0, 0); + mMatPreviewButton->setExtent(100,100); + + // Change filespec + char szBuffer[512]; + dSprintf(szBuffer, sizeof(szBuffer), "AssetBrowser.showDialog(\"TerrainAsset\", \"AssetBrowser.changeAsset\", %d, %s);", + mInspector->getComponentGroupTargetId(), mCaption); + mMatPreviewButton->setField("Command", szBuffer); + + mMatPreviewButton->setDataField(StringTable->insert("Profile"), NULL, "GuiButtonProfile"); + mMatPreviewButton->setDataField(StringTable->insert("tooltipprofile"), NULL, "GuiToolTipProfile"); + mMatPreviewButton->setDataField(StringTable->insert("hovertime"), NULL, "1000"); + + StringBuilder strbld; + /*strbld.append(matAsset->getMaterialDefinitionName()); + strbld.append("\n"); + strbld.append("Open this file in the Material Editor");*/ + + mMatPreviewButton->setDataField(StringTable->insert("tooltip"), NULL, strbld.data()); + + _registerEditControl(mMatPreviewButton); + //mMatPreviewButton->registerObject(); + mMatEdContainer->addObject(mMatPreviewButton); + + mMatAssetIdTxt = new GuiTextEditCtrl(); + mMatAssetIdTxt->registerObject(); + mMatAssetIdTxt->setActive(false); + + mMatAssetIdTxt->setText(matAssetId); + + mMatAssetIdTxt->setBounds(100, 0, 150, 18); + mMatEdContainer->addObject(mMatAssetIdTxt); + + return mMatEdContainer; +} + +bool GuiInspectorTypeTerrainAssetPtr::updateRects() +{ + S32 dividerPos, dividerMargin; + mInspector->getDivider(dividerPos, dividerMargin); + Point2I fieldExtent = getExtent(); + Point2I fieldPos = getPosition(); + + mCaptionRect.set(0, 0, fieldExtent.x - dividerPos - dividerMargin, fieldExtent.y); + mEditCtrlRect.set(fieldExtent.x - dividerPos + dividerMargin, 1, dividerPos - dividerMargin - 34, fieldExtent.y); + + bool resized = mEdit->resize(mEditCtrlRect.point, mEditCtrlRect.extent); + + if (mMatEdContainer != nullptr) + { + mMatPreviewButton->resize(mEditCtrlRect.point, mEditCtrlRect.extent); + } + + if (mMatPreviewButton != nullptr) + { + mMatPreviewButton->resize(Point2I::Zero, Point2I(100, 100)); + } + + if (mMatAssetIdTxt != nullptr) + { + mMatAssetIdTxt->resize(Point2I(100, 0), Point2I(mEditCtrlRect.extent.x - 100, 18)); + } + + return resized; +} + +void GuiInspectorTypeTerrainAssetPtr::setMaterialAsset(String assetId) +{ + mTargetObject->setDataField(mCaption, "", assetId); + + //force a refresh + SimObject* obj = mInspector->getInspectObject(); + mInspector->inspectObject(obj); +} + +DefineEngineMethod(GuiInspectorTypeTerrainAssetPtr, setMaterialAsset, void, (String assetId), (""), + "Gets a particular shape animation asset for this shape.\n" + "@param animation asset index.\n" + "@return Shape Animation Asset.\n") +{ + if (assetId == String::EmptyString) + return; + + return object->setMaterialAsset(assetId); +} diff --git a/Engine/source/T3D/assets/TerrainAsset.h b/Engine/source/T3D/assets/TerrainAsset.h new file mode 100644 index 000000000..e8c2be59b --- /dev/null +++ b/Engine/source/T3D/assets/TerrainAsset.h @@ -0,0 +1,103 @@ +//----------------------------------------------------------------------------- +// Copyright (c) 2013 GarageGames, LLC +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. +//----------------------------------------------------------------------------- +#ifndef TERRAINASSET_H +#define TERRAINASSET_H + +#ifndef _ASSET_BASE_H_ +#include "assets/assetBase.h" +#endif + +#ifndef _ASSET_DEFINITION_H_ +#include "assets/assetDefinition.h" +#endif + +#ifndef _STRINGUNIT_H_ +#include "string/stringUnit.h" +#endif + +#ifndef _ASSET_FIELD_TYPES_H_ +#include "assets/assetFieldTypes.h" +#endif + +#ifndef _GFXDEVICE_H_ +#include "gfx/gfxDevice.h" +#endif + +#ifndef _GUI_INSPECTOR_TYPES_H_ +#include "gui/editor/guiInspectorTypes.h" +#endif + +#include "terrain/terrData.h" + +//----------------------------------------------------------------------------- +class TerrainAsset : public AssetBase +{ + typedef AssetBase Parent; + + StringTableEntry mTerrainFile; + +public: + TerrainAsset(); + virtual ~TerrainAsset(); + + /// Engine. + static void initPersistFields(); + virtual void copyTo(SimObject* object); + + void setTerrainFile(const char* pTerrainFile); + inline StringTableEntry getTerrainFile(void) const { return mTerrainFile; }; + + /// Declare Console Object. + DECLARE_CONOBJECT(TerrainAsset); + +protected: + virtual void initializeAsset(); + virtual void onAssetRefresh(void); + + static bool setTerrainFile(void *obj, const char *index, const char *data) { static_cast(obj)->setTerrainFile(data); return false; } + static const char* getTerrainFile(void* obj, const char* data) { return static_cast(obj)->getTerrainFile(); } +}; + +DefineConsoleType(TypeTerrainAssetPtr, TerrainAsset) + +//----------------------------------------------------------------------------- +// TypeAssetId GuiInspectorField Class +//----------------------------------------------------------------------------- +class GuiInspectorTypeTerrainAssetPtr : public GuiInspectorField +{ + typedef GuiInspectorField Parent; +public: + + GuiControl* mMatEdContainer; + GuiBitmapButtonCtrl *mMatPreviewButton; + GuiTextEditCtrl *mMatAssetIdTxt; + + DECLARE_CONOBJECT(GuiInspectorTypeTerrainAssetPtr); + static void consoleInit(); + + virtual GuiControl* constructEditControl(); + virtual bool updateRects(); + void setMaterialAsset(String assetId); +}; + +#endif // _ASSET_BASE_H_ + diff --git a/Engine/source/gfx/gfxTextureManager.cpp b/Engine/source/gfx/gfxTextureManager.cpp index 5b4654f6b..e289acd32 100644 --- a/Engine/source/gfx/gfxTextureManager.cpp +++ b/Engine/source/gfx/gfxTextureManager.cpp @@ -760,6 +760,12 @@ GFXTextureObject *GFXTextureManager::createTexture( U32 width, U32 height, GFXFo GFXFormat checkFmt = format; _validateTexParams( localWidth, localHeight, profile, numMips, checkFmt ); + //check to see if we've handled the mips just now, and if not, then handle them here + if (numMips == numMipLevels && (localWidth != width || localHeight != height)) + { + numMips = mFloor(mLog2(mMax(localWidth, localHeight))) + 1; + } + // AssertFatal( checkFmt == format, "Anonymous texture didn't get the format it wanted." ); GFXTextureObject *outTex = NULL; diff --git a/Engine/source/gui/editor/inspector/variableInspector.cpp b/Engine/source/gui/editor/inspector/variableInspector.cpp index 340de765e..ee78d49c9 100644 --- a/Engine/source/gui/editor/inspector/variableInspector.cpp +++ b/Engine/source/gui/editor/inspector/variableInspector.cpp @@ -116,6 +116,32 @@ void GuiVariableInspector::endGroup() mCurrentGroup = ""; } +void GuiVariableInspector::setGroupExpanded(const char* groupName, bool isExpanded) +{ + String name = groupName; + for (U32 g = 0; g < mGroups.size(); g++) + { + if (mGroups[g]->getGroupName() == name) + { + if (isExpanded) + mGroups[g]->expand(); + else + mGroups[g]->collapse(); + } + } +} + +void GuiVariableInspector::setGroupsExpanded(bool isExpanded) +{ + for (U32 g = 0; g < mGroups.size(); g++) + { + if (isExpanded) + mGroups[g]->expand(); + else + mGroups[g]->collapse(); + } +} + void GuiVariableInspector::addField(const char* name, const char* label, const char* typeName, const char* description, const char* defaultValue, const char* dataValues, const char* callbackName, SimObject* ownerObj) { @@ -227,6 +253,17 @@ DefineEngineMethod(GuiVariableInspector, endGroup, void, (),, "endGroup()") object->endGroup(); } +DefineEngineMethod(GuiVariableInspector, setGroupExpanded, void, (const char* groupName, bool isExpanded), ("", false), "setGroupExpanded()") +{ + object->setGroupExpanded(groupName, isExpanded); +} + +DefineEngineMethod(GuiVariableInspector, setGroupsExpanded, void, (bool isExpanded), (false), "setGroupsExpanded()") +{ + object->setGroupsExpanded(isExpanded); +} + + DefineEngineMethod(GuiVariableInspector, addField, void, (const char* name, const char* label, const char* typeName, const char* description, const char* defaultValue, const char* dataValues, SimObject* ownerObj), ("","","","","", "", nullAsType()), "addField( fieldName/varName, fieldLabel, fieldTypeName, description, defaultValue, defaultValues, ownerObject )") diff --git a/Engine/source/gui/editor/inspector/variableInspector.h b/Engine/source/gui/editor/inspector/variableInspector.h index 35a0c2681..2648567c6 100644 --- a/Engine/source/gui/editor/inspector/variableInspector.h +++ b/Engine/source/gui/editor/inspector/variableInspector.h @@ -51,6 +51,8 @@ public: void startGroup(const char* name); void endGroup(); + void setGroupExpanded(const char* groupName, bool isExpanded); + void setGroupsExpanded(bool isExpanded); void addField(const char* name, const char* label, const char* typeName, const char* description, const char* defaultValue, const char* dataValues, const char* callbackName, SimObject* ownerObj); @@ -71,4 +73,4 @@ protected: }; -#endif // _GUI_VARIABLEINSPECTOR_H_ \ No newline at end of file +#endif // _GUI_VARIABLEINSPECTOR_H_ diff --git a/Engine/source/lighting/shadowMap/lightShadowMap.cpp b/Engine/source/lighting/shadowMap/lightShadowMap.cpp index c59707519..2b0b72adb 100644 --- a/Engine/source/lighting/shadowMap/lightShadowMap.cpp +++ b/Engine/source/lighting/shadowMap/lightShadowMap.cpp @@ -595,7 +595,7 @@ ShadowMapParams::ShadowMapParams( LightInfo *light ) overDarkFactor.set(2000.0f, 1000.0f, 500.0f, 100.0f); numSplits = 4; logWeight = 0.91f; - texSize = 512; + texSize = 1024; shadowDistance = 400.0f; shadowSoftness = 0.15f; fadeStartDist = 0.0f; @@ -655,9 +655,9 @@ void ShadowMapParams::_validate() // based on the split count to keep the total // shadow texture size within 4096. if ( numSplits == 2 || numSplits == 4 ) - maxTexSize = 2048; + maxTexSize = 4096; if ( numSplits == 3 ) - maxTexSize = 1024; + maxTexSize = 2048; } else numSplits = 1; diff --git a/Engine/source/shaderGen/GLSL/shaderFeatureGLSL.cpp b/Engine/source/shaderGen/GLSL/shaderFeatureGLSL.cpp index 698538938..c98487e91 100644 --- a/Engine/source/shaderGen/GLSL/shaderFeatureGLSL.cpp +++ b/Engine/source/shaderGen/GLSL/shaderFeatureGLSL.cpp @@ -827,6 +827,73 @@ Var* ShaderFeatureGLSL::addOutDetailTexCoord( Vector &compon return outTex; } +Var* ShaderFeatureGLSL::getSurface(Vector& componentList, MultiLine* meta, const MaterialFeatureData& fd) +{ + ShaderConnector* connectComp = dynamic_cast(componentList[C_CONNECTOR]); + + /*Var* diffuseColor = (Var*)LangElement::find(getOutputTargetVarName(ShaderFeature::DefaultTarget)); + + Var* matinfo = (Var*)LangElement::find("PBRConfig"); + if (!matinfo) + { + Var* metalness = (Var*)LangElement::find("metalness"); + if (!metalness) + { + metalness = new Var("metalness", "float"); + metalness->uniform = true; + metalness->constSortPos = cspPotentialPrimitive; + } + + Var* smoothness = (Var*)LangElement::find("smoothness"); + if (!smoothness) + { + smoothness = new Var("smoothness", "float"); + smoothness->uniform = true; + smoothness->constSortPos = cspPotentialPrimitive; + } + + matinfo = new Var("PBRConfig", "vec4"); + LangElement* colorDecl = new DecOp(matinfo); + meta->addStatement(new GenOp(" @ = vec4(0.0,1.0,@,@);\r\n", colorDecl, smoothness, metalness)); //reconstruct matinfo, no ao darkening + } + + Var* wsNormal = (Var*)LangElement::find("wsNormal"); + Var* normal = (Var*)LangElement::find("normal"); + if (!normal) + { + normal = new Var("normal", "vec3"); + meta->addStatement(new GenOp(" @;\r\n\n", new DecOp(normal))); + if (!fd.features[MFT_NormalMap]) + { + Var* worldToTangent = getInWorldToTangent(componentList); + meta->addStatement(new GenOp(" @ = normalize(tMul(@,vec3(0,0,1.0f)));\r\n\n", normal, worldToTangent)); + } + else + { + meta->addStatement(new GenOp(" @ = normalize( half3( @ ) );\r\n", normal, wsNormal)); + } + } + + Var* wsEyePos = (Var*)LangElement::find("eyePosWorld"); + Var* wsPosition = getInWsPosition(componentList); + Var* wsView = getWsView(wsPosition, meta); + + Var* surface = (Var*)LangElement::find("surface"); + + if (!surface) + { + surface = new Var("surface", "Surface"); + meta->addStatement(new GenOp(" @ = createForwardSurface(@,@,@,@,@,@);\r\n\n", new DecOp(surface), diffuseColor, normal, matinfo, + wsPosition, wsEyePos, wsView)); + }*/ + + Var* surface = (Var*)LangElement::find("surface"); + if (!surface) + { + surface = new Var("surface", "float"); + } + return surface; +} //**************************************************************************** // Base Texture //**************************************************************************** @@ -2060,33 +2127,13 @@ void RTLightingFeatGLSL::processPix( Vector &componentList, // TODO: We can totally detect for this in the material // feature setup... we should move it out of here! // - if ( fd.features[MFT_LightMap] || fd.features[MFT_ToneMap] || fd.features[MFT_VertLit] ) + //if ( fd.features[MFT_LightMap] || fd.features[MFT_ToneMap] || fd.features[MFT_VertLit] ) return; ShaderConnector *connectComp = dynamic_cast( componentList[C_CONNECTOR] ); MultiLine *meta = new MultiLine; - // Look for a wsNormal or grab it from the connector. - Var *wsNormal = (Var*)LangElement::find( "wsNormal" ); - if ( !wsNormal ) - { - wsNormal = connectComp->getElement( RT_TEXCOORD ); - wsNormal->setName( "wsNormal" ); - wsNormal->setStructName( "IN" ); - wsNormal->setType( "vec3" ); - - // If we loaded the normal its our responsibility - // to normalize it... the interpolators won't. - // - // Note we cast to half here to get partial precision - // optimized code which is an acceptable loss of - // precision for normals and performs much better - // on older Geforce cards. - // - meta->addStatement( new GenOp( " @ = normalize( half3( @ ) );\r\n", wsNormal, wsNormal ) ); - } - // Now the wsPosition and wsView. Var *wsPosition = getInWsPosition( componentList ); Var *wsView = getWsView( wsPosition, meta ); @@ -2106,12 +2153,13 @@ void RTLightingFeatGLSL::processPix( Vector &componentList, // Get all the light constants. Var *inLightPos = new Var( "inLightPos", "vec4" ); inLightPos->uniform = true; - inLightPos->arraySize = 3; + inLightPos->arraySize = 4; inLightPos->constSortPos = cspPotentialPrimitive; - Var *inLightInvRadiusSq = new Var( "inLightInvRadiusSq", "vec4" ); - inLightInvRadiusSq->uniform = true; - inLightInvRadiusSq->constSortPos = cspPotentialPrimitive; + Var * inLightConfigData = new Var( "inLightConfigData", "vec4" ); + inLightConfigData->uniform = true; + inLightConfigData->arraySize = 4; + inLightConfigData->constSortPos = cspPotentialPrimitive; Var *inLightColor = new Var( "inLightColor", "vec4" ); inLightColor->uniform = true; @@ -2120,56 +2168,54 @@ void RTLightingFeatGLSL::processPix( Vector &componentList, Var *inLightSpotDir = new Var( "inLightSpotDir", "vec4" ); inLightSpotDir->uniform = true; - inLightSpotDir->arraySize = 3; + inLightSpotDir->arraySize = 4; inLightSpotDir->constSortPos = cspPotentialPrimitive; - Var *inLightSpotAngle = new Var( "inLightSpotAngle", "vec4" ); - inLightSpotAngle->uniform = true; - inLightSpotAngle->constSortPos = cspPotentialPrimitive; + Var * lightSpotParams = new Var( "lightSpotParams", "vec4" ); + lightSpotParams->uniform = true; + lightSpotParams->arraySize = 4; + lightSpotParams->constSortPos = cspPotentialPrimitive; - Var *lightSpotFalloff = new Var( "inLightSpotFalloff", "vec4" ); - lightSpotFalloff->uniform = true; - lightSpotFalloff->constSortPos = cspPotentialPrimitive; + Var* hasVectorLight = new Var("hasVectorLight", "int"); + hasVectorLight->uniform = true; + hasVectorLight->constSortPos = cspPotentialPrimitive; - Var *smoothness = (Var*)LangElement::find("smoothness"); - if (!fd.features[MFT_SpecularMap]) + Var* vectorLightDirection = new Var("vectorLightDirection", "vec4"); + vectorLightDirection->uniform = true; + vectorLightDirection->constSortPos = cspPotentialPrimitive; + + Var* vectorLightColor = new Var("vectorLightColor", "vec4"); + vectorLightColor->uniform = true; + vectorLightColor->constSortPos = cspPotentialPrimitive; + + Var* vectorLightBrightness = new Var("vectorLightBrightness", "float"); + vectorLightBrightness->uniform = true; + vectorLightBrightness->constSortPos = cspPotentialPrimitive; + + Var* surface = getSurface(componentList, meta, fd); + if (!surface) { - if (!smoothness) - { - smoothness = new Var("smoothness", "float"); - smoothness->uniform = true; - smoothness->constSortPos = cspPotentialPrimitive; - } - } + Con::errorf("ShaderGen::RTLightingFeatGLSL() - failed to generate surface!"); + return; + } + Var *smoothness = (Var*)LangElement::find("smoothness"); Var *metalness = (Var*)LangElement::find("metalness"); - if (!fd.features[MFT_SpecularMap]) - { - if (!metalness) - { - metalness = new Var("metalness", "float"); - metalness->uniform = true; - metalness->constSortPos = cspPotentialPrimitive; - } - } - Var *albedo = (Var*)LangElement::find(getOutputTargetVarName(ShaderFeature::DefaultTarget)); + Var *curColor = (Var*)LangElement::find(getOutputTargetVarName(ShaderFeature::DefaultTarget)); Var *ambient = new Var( "ambient", "vec4" ); ambient->uniform = true; ambient->constSortPos = cspPass; + + Var* lighting = new Var("lighting", "vec4"); + meta->addStatement(new GenOp(" @ = compute4Lights( @, @, @, @,\r\n" + " @, @, @, @, @, @, @);\r\n", + new DecOp(lighting), surface, lightMask, inLightPos, inLightConfigData, inLightColor, inLightSpotDir, lightSpotParams, + hasVectorLight, vectorLightDirection, vectorLightColor, vectorLightBrightness)); - // Calculate the diffuse shading and specular powers. - meta->addStatement( new GenOp( " compute4Lights( @, @, @, @,\r\n" - " @, @, @, @, @, @, @, @, @,\r\n" - " @, @ );\r\n", - wsView, wsPosition, wsNormal, lightMask, - inLightPos, inLightInvRadiusSq, inLightColor, inLightSpotDir, inLightSpotAngle, lightSpotFalloff, smoothness, metalness, albedo, - rtShading, specular ) ); + meta->addStatement(new GenOp(" @.rgb += @.rgb;\r\n", curColor, lighting)); - // Apply the lighting to the diffuse color. - LangElement *lighting = new GenOp( "vec4( @.rgb + @.rgb, 1 )", rtShading, ambient ); - meta->addStatement( new GenOp( " @;\r\n", assignColor( lighting, Material::Mul ) ) ); output = meta; } @@ -2872,7 +2918,7 @@ void HardwareSkinningFeatureGLSL::processVert(Vector &componen } //**************************************************************************** -// ReflectionProbeFeatHLSL +// ReflectionProbeFeatGLSL //**************************************************************************** ReflectionProbeFeatGLSL::ReflectionProbeFeatGLSL() @@ -2880,6 +2926,17 @@ ReflectionProbeFeatGLSL::ReflectionProbeFeatGLSL() { addDependency(&mDep); } + +void ReflectionProbeFeatGLSL::processVert(Vector& componentList, + const MaterialFeatureData& fd) +{ + //MultiLine* meta = new MultiLine; + //output = meta; + // Also output the worldToTanget transform which + // we use to create the world space normal. + //getOutWorldToTangent(componentList, meta, fd); +} + void ReflectionProbeFeatGLSL::processPix(Vector& componentList, const MaterialFeatureData& fd) { @@ -2889,7 +2946,7 @@ void ReflectionProbeFeatGLSL::processPix(Vector& componentList // TODO: We can totally detect for this in the material // feature setup... we should move it out of here! // - if (fd.features[MFT_LightMap] || fd.features[MFT_ToneMap] || fd.features[MFT_VertLit]) + //if (fd.features[MFT_LightMap] || fd.features[MFT_ToneMap] || fd.features[MFT_VertLit]) return; ShaderConnector * connectComp = dynamic_cast(componentList[C_CONNECTOR]); @@ -2897,15 +2954,13 @@ void ReflectionProbeFeatGLSL::processPix(Vector& componentList MultiLine * meta = new MultiLine; // Now the wsPosition and wsView. - Var * wsPosition = getInWsPosition(componentList); - Var * wsView = getWsView(wsPosition, meta); - - Var * albedo = (Var*)LangElement::find(getOutputTargetVarName(ShaderFeature::DefaultTarget)); - + Var *wsPosition = getInWsPosition(componentList); + Var *wsView = getWsView(wsPosition, meta); + //Reflection Probe WIP U32 MAX_FORWARD_PROBES = 4; - Var * numProbes = new Var("numProbes", "float"); + Var * numProbes = new Var("numProbes", "int"); numProbes->uniform = true; numProbes->constSortPos = cspPotentialPrimitive; @@ -2913,9 +2968,9 @@ void ReflectionProbeFeatGLSL::processPix(Vector& componentList cubeMips->uniform = true; cubeMips->constSortPos = cspPotentialPrimitive; - Var * hasSkylight = new Var("hasSkylight", "float"); - hasSkylight->uniform = true; - hasSkylight->constSortPos = cspPotentialPrimitive; + Var * skylightCubemapIdx = new Var("skylightCubemapIdx", "float"); + skylightCubemapIdx->uniform = true; + skylightCubemapIdx->constSortPos = cspPotentialPrimitive; Var * inProbePosArray = new Var("inProbePosArray", "vec4"); inProbePosArray->arraySize = MAX_FORWARD_PROBES; @@ -2942,7 +2997,7 @@ void ReflectionProbeFeatGLSL::processPix(Vector& componentList probeConfigData->uniform = true; probeConfigData->constSortPos = cspPotentialPrimitive; - Var * worldToObjArray = new Var("worldToObjArray", "mat4x4"); + Var * worldToObjArray = new Var("worldToObjArray", "mat4"); worldToObjArray->arraySize = MAX_FORWARD_PROBES; worldToObjArray->uniform = true; worldToObjArray->constSortPos = cspPotentialPrimitive; @@ -2965,87 +3020,29 @@ void ReflectionProbeFeatGLSL::processPix(Vector& componentList irradianceCubemapAR->sampler = true; irradianceCubemapAR->constNum = Var::getTexUnitNum(); - Var * skylightSpecularMap = new Var("skylightSpecularMap", "samplerCube"); - skylightSpecularMap->uniform = true; - skylightSpecularMap->sampler = true; - skylightSpecularMap->constNum = Var::getTexUnitNum(); + Var* surface = getSurface(componentList, meta, fd); - Var * skylightIrradMap = new Var("skylightIrradMap", "samplerCube"); - skylightIrradMap->uniform = true; - skylightIrradMap->sampler = true; - skylightIrradMap->constNum = Var::getTexUnitNum(); - - - Var * inTex = getInTexCoord("texCoord", "vec2", componentList); - if (!inTex) + if (!surface) + { + Con::errorf("ShaderGen::ReflectionProbeFeatGLSL() - failed to generate surface!"); return; - - Var * diffuseColor = (Var*)LangElement::find("diffuseColor"); - if (!diffuseColor) - { - diffuseColor = new Var; - diffuseColor->setType("vec4"); - diffuseColor->setName("diffuseColor"); - LangElement* colorDecl = new DecOp(diffuseColor); - meta->addStatement(new GenOp(" @ = vec4(1.0,1.0,1.0,1.0);\r\n", colorDecl)); //default to flat white } - Var* matinfo = (Var*)LangElement::find("PBRConfig"); - if (!matinfo) - { - Var* metalness = (Var*)LangElement::find("metalness"); - if (!metalness) - { - metalness = new Var("metalness", "float"); - metalness->uniform = true; - metalness->constSortPos = cspPotentialPrimitive; - } - - Var* smoothness = (Var*)LangElement::find("smoothness"); - if (!smoothness) - { - smoothness = new Var("smoothness", "float"); - smoothness->uniform = true; - smoothness->constSortPos = cspPotentialPrimitive; - } - - matinfo = new Var("PBRConfig", "vec4"); - LangElement* colorDecl = new DecOp(matinfo); - meta->addStatement(new GenOp(" @ = vec4(0.0,1.0,@,@);\r\n", colorDecl, smoothness, metalness)); //reconstruct matinfo, no ao darkening - } - - Var* bumpNormal = (Var*)LangElement::find("bumpNormal"); - if (!bumpNormal) - { - bumpNormal = new Var("bumpNormal", "vec4"); - LangElement* colorDecl = new DecOp(bumpNormal); - meta->addStatement(new GenOp(" @ = vec4(1.0,0.0,0.0,0.0);\r\n", colorDecl)); //default to identity normal - } + Var *curColor = (Var*)LangElement::find(getOutputTargetVarName(ShaderFeature::DefaultTarget)); + Var *matinfo = (Var*)LangElement::find("PBRConfig"); + Var* metalness = (Var*)LangElement::find("metalness"); + Var* smoothness = (Var*)LangElement::find("smoothness"); + Var* wsEyePos = (Var*)LangElement::find("eyePosWorld"); - Var* worldToCamera = (Var*)LangElement::find("worldToCamera"); - if (!worldToCamera) - { - worldToCamera = new Var; - worldToCamera->setType("mat4x4"); - worldToCamera->setName("worldToCamera"); - worldToCamera->uniform = true; - worldToCamera->constSortPos = cspPass; - } - //Reflection vec - Var* surface = new Var("surface", "Surface"); - meta->addStatement(new GenOp(" @ = createForwardSurface(@,@,@,@,@,@,@,@);\r\n\n", new DecOp(surface), diffuseColor, bumpNormal, matinfo, - inTex, wsPosition, wsEyePos, wsView, worldToCamera)); - String computeForwardProbes = String(" @.rgb += computeForwardProbes(@,@,@,@,@,@,@,@,@,\r\n\t\t"); + String computeForwardProbes = String(" @.rgb = computeForwardProbes(@,@,@,@,@,@,@,@,@,\r\n\t\t"); computeForwardProbes += String("@,@,\r\n\t\t"); - computeForwardProbes += String("@, @, \r\n\t\t"); computeForwardProbes += String("@,@).rgb; \r\n"); - meta->addStatement(new GenOp(computeForwardProbes.c_str(), albedo, surface, cubeMips, numProbes, worldToObjArray, probeConfigData, inProbePosArray, refBoxMinArray, refBoxMaxArray, inRefPosArray, - hasSkylight, BRDFTexture, - skylightIrradMap, skylightSpecularMap, + meta->addStatement(new GenOp(computeForwardProbes.c_str(), curColor, surface, cubeMips, numProbes, worldToObjArray, probeConfigData, inProbePosArray, refBoxMinArray, refBoxMaxArray, inRefPosArray, + skylightCubemapIdx, BRDFTexture, irradianceCubemapAR, specularCubemapAR)); output = meta; @@ -3055,8 +3052,8 @@ ShaderFeature::Resources ReflectionProbeFeatGLSL::getResources(const MaterialFea { Resources res; - res.numTex = 5; - res.numTexReg = 5; + res.numTex = 3; + res.numTexReg = 3; return res; } @@ -3075,9 +3072,5 @@ void ReflectionProbeFeatGLSL::setTexData(Material::StageData& stageDat, passData.mTexType[texIndex++] = Material::SGCube; passData.mSamplerNames[texIndex] = "irradianceCubemapAR"; passData.mTexType[texIndex++] = Material::SGCube; - passData.mSamplerNames[texIndex] = "skylightSpecularMap"; - passData.mTexType[texIndex++] = Material::SGCube; - passData.mSamplerNames[texIndex] = "skylightIrradMap"; - passData.mTexType[texIndex++] = Material::SGCube; } } diff --git a/Engine/source/shaderGen/GLSL/shaderFeatureGLSL.h b/Engine/source/shaderGen/GLSL/shaderFeatureGLSL.h index 264e3682b..96b7be731 100644 --- a/Engine/source/shaderGen/GLSL/shaderFeatureGLSL.h +++ b/Engine/source/shaderGen/GLSL/shaderFeatureGLSL.h @@ -134,6 +134,8 @@ public: Var* getInvWorldView( Vector &componentList, bool useInstancing, MultiLine *meta ); + + Var* getSurface(Vector& componentList, MultiLine* meta, const MaterialFeatureData& fd); // ShaderFeature Var* getVertTexCoord( const String &name ); @@ -678,6 +680,9 @@ protected: public: ReflectionProbeFeatGLSL(); + + virtual void processVert(Vector& componentList, + const MaterialFeatureData& fd); virtual void processPix(Vector& componentList, const MaterialFeatureData& fd); diff --git a/Engine/source/ts/tsMesh.cpp b/Engine/source/ts/tsMesh.cpp index ddf81bfbd..9053a1184 100644 --- a/Engine/source/ts/tsMesh.cpp +++ b/Engine/source/ts/tsMesh.cpp @@ -86,7 +86,7 @@ bool TSMesh::smUseEncodedNormals = false; const F32 TSMesh::VISIBILITY_EPSILON = 0.0001f; -S32 TSMesh::smMaxInstancingVerts = 200; +S32 TSMesh::smMaxInstancingVerts = 2000; MatrixF TSMesh::smDummyNodeTransform(1); // quick function to force object to face camera -- currently throws out roll :( @@ -3473,4 +3473,4 @@ void TSSkinMesh::printVerts() bw._indexes.x, bw._indexes.y, bw._indexes.z, bw._indexes.w, bw._weights.x, bw._weights.y, bw._weights.z, bw._weights.w); } -} \ No newline at end of file +} diff --git a/Engine/source/ts/tsShapeInstance.cpp b/Engine/source/ts/tsShapeInstance.cpp index 7be0cd151..d6889c2fe 100644 --- a/Engine/source/ts/tsShapeInstance.cpp +++ b/Engine/source/ts/tsShapeInstance.cpp @@ -73,7 +73,7 @@ MODULE_BEGIN( TSShapeInstance ) Con::addVariable("$pref::TS::maxInstancingVerts", TypeS32, &TSMesh::smMaxInstancingVerts, "@brief Enables mesh instancing on non-skin meshes that have less that this count of verts.\n" - "The default value is 200. Higher values can degrade performance.\n" + "The default value is 2000. Higher values can degrade performance.\n" "@ingroup Rendering\n" ); } diff --git a/Templates/BaseGame/game/core/Core.cs b/Templates/BaseGame/game/core/Core.cs index f55128a46..57389f9b4 100644 --- a/Templates/BaseGame/game/core/Core.cs +++ b/Templates/BaseGame/game/core/Core.cs @@ -16,6 +16,9 @@ function CoreModule::onCreate(%this) // to find exactly which subsystems should be readied before kicking things off. // ---------------------------------------------------------------------------- + new Settings(ProjectSettings) { file = "core/settings.xml"; }; + ProjectSettings.read(); + ModuleDatabase.LoadExplicit( "Core_Rendering" ); ModuleDatabase.LoadExplicit( "Core_Utility" ); ModuleDatabase.LoadExplicit( "Core_GUI" ); @@ -25,9 +28,6 @@ function CoreModule::onCreate(%this) ModuleDatabase.LoadExplicit( "Core_Components" ); ModuleDatabase.LoadExplicit( "Core_GameObjects" ); - new Settings(ProjectSettings) { file = "core/settings.xml"; }; - ProjectSettings.read(); - %prefPath = getPrefpath(); if ( isFile( %prefPath @ "/clientPrefs.cs" ) ) exec( %prefPath @ "/clientPrefs.cs" ); diff --git a/Templates/BaseGame/game/core/clientServer/scripts/client/levelDownload.cs b/Templates/BaseGame/game/core/clientServer/scripts/client/levelDownload.cs index e3229b93e..58f02c92f 100644 --- a/Templates/BaseGame/game/core/clientServer/scripts/client/levelDownload.cs +++ b/Templates/BaseGame/game/core/clientServer/scripts/client/levelDownload.cs @@ -54,6 +54,7 @@ function clientCmdMissionStartPhase1(%seq, %missionName) if ( isScriptFile( %path ) ) { postFXManager::loadPresetHandler( %path ); + $PostFXManager::currentPreset = %path; } else { @@ -138,6 +139,18 @@ function sceneLightingComplete() echo("Mission lighting done"); $lightingMission = false; + //Bake probes + %boxProbeIds = parseMissionGroupForIds("BoxEnvironmentProbe", ""); + %sphereProbeIds = parseMissionGroupForIds("SphereEnvironmentProbe", ""); + %skylightIds = parseMissionGroupForIds("Skylight", ""); + + %probeIds = rtrim(ltrim(%boxProbeIds SPC %sphereProbeIds)); + %probeIds = rtrim(ltrim(%probeIds SPC %skylightIds)); + %probeCount = getWordCount(%probeIds); + + $pref::ReflectionProbes::CurrentLevelPath = filePath($Client::MissionFile) @ "/" @ fileBase($Client::MissionFile) @ "/probes/"; + ProbeBin.processProbes(); + onPhaseComplete("STARTING MISSION"); // The is also the end of the mission load cycle. diff --git a/Templates/BaseGame/game/core/gui/scripts/canvas.cs b/Templates/BaseGame/game/core/gui/scripts/canvas.cs index b38cdccca..50263f53d 100644 --- a/Templates/BaseGame/game/core/gui/scripts/canvas.cs +++ b/Templates/BaseGame/game/core/gui/scripts/canvas.cs @@ -147,7 +147,7 @@ function configureCanvas() "--Refresh Rate : " @ %rate NL "--AA TypeXLevel : " @ %aa NL "--------------"); - + // Actually set the new video mode Canvas.setVideoMode(%resX, %resY, %fs, %bpp, %rate, %aa); diff --git a/Templates/BaseGame/game/core/postFX/Core_PostFX.cs b/Templates/BaseGame/game/core/postFX/Core_PostFX.cs index d36d912ab..232b16e4b 100644 --- a/Templates/BaseGame/game/core/postFX/Core_PostFX.cs +++ b/Templates/BaseGame/game/core/postFX/Core_PostFX.cs @@ -2,9 +2,10 @@ function Core_PostFX::onCreate(%this) { // + exec("./scripts/postFxManager.cs"); exec("./scripts/postFx.cs"); - /*exec("./scripts/postFxManager.gui.cs"); - exec("./scripts/postFxManager.gui.settings.cs"); + + /*exec("./scripts/postFxManager.gui.settings.cs"); exec("./scripts/postFxManager.persistance.cs"); exec("./scripts/default.postfxpreset.cs"); diff --git a/Templates/BaseGame/game/core/postFX/guis/postFxManager.gui b/Templates/BaseGame/game/core/postFX/guis/postFxManager.gui deleted file mode 100644 index 6a704eb65..000000000 --- a/Templates/BaseGame/game/core/postFX/guis/postFxManager.gui +++ /dev/null @@ -1,2755 +0,0 @@ -//--- OBJECT WRITE BEGIN --- -%guiContent = new GuiControl(PostFXManager) { - position = "0 0"; - extent = "1024 768"; - minExtent = "8 8"; - horizSizing = "width"; - vertSizing = "height"; - profile = "GuiModelessDialogProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "1"; - canSave = "1"; - canSaveDynamicFields = "1"; - - new DbgFileView() { - position = "0 0"; - extent = "8 2"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiDefaultProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "1"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiWindowCtrl(ppOptionsWindow) { - text = "PostFX Manager"; - resizeWidth = "0"; - resizeHeight = "0"; - canMove = "1"; - canClose = "1"; - canMinimize = "0"; - canMaximize = "0"; - canCollapse = "0"; - closeCommand = "Canvas.popDialog(PostFXManager);"; - edgeSnap = "0"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "306 216"; - extent = "411 336"; - minExtent = "8 8"; - horizSizing = "center"; - vertSizing = "center"; - profile = "GuiWindowProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "1"; - canSave = "1"; - canSaveDynamicFields = "0"; - - new GuiBitmapBorderCtrl() { - position = "11 77"; - extent = "390 216"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTabBorderProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTabBookCtrl(ppOptionsTabBook) { - tabPosition = "Top"; - tabMargin = "7"; - minTabWidth = "32"; - tabHeight = "20"; - allowReorder = "0"; - defaultPage = "-1"; - selectedPage = "1"; - frontTabPadding = "0"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "11 58"; - extent = "394 233"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTabBookProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "1"; - canSave = "1"; - canSaveDynamicFields = "0"; - - new GuiTabPageCtrl(ppOptionsSSAOTab) { - fitBook = "0"; - text = "SSAO"; - maxLength = "1024"; - docking = "Client"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "1"; - anchorLeft = "1"; - anchorRight = "1"; - position = "0 20"; - extent = "394 213"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTabPageProfile"; - visible = "0"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Options for the Screen Space Ambient Occlusion postFX"; - hovertime = "1000"; - isContainer = "1"; - canSave = "1"; - canSaveDynamicFields = "0"; - - new GuiBitmapBorderCtrl() { - position = "12 30"; - extent = "365 170"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTabBorderProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "1"; - }; - new GuiTabBookCtrl(ppOptionsSSAOOptions) { - tabPosition = "Top"; - tabMargin = "7"; - minTabWidth = "64"; - tabHeight = "20"; - allowReorder = "0"; - defaultPage = "-1"; - selectedPage = "2"; - frontTabPadding = "0"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "12 11"; - extent = "362 185"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTabBookProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "1"; - canSave = "1"; - canSaveDynamicFields = "0"; - - new GuiTabPageCtrl(ppOptionsSSAOGeneralTab) { - fitBook = "0"; - text = "General"; - maxLength = "1024"; - docking = "Client"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "1"; - anchorLeft = "1"; - anchorRight = "1"; - position = "0 20"; - extent = "362 165"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTabPageProfile"; - visible = "0"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Contains general overall settings for the SSAO postFX"; - hovertime = "1000"; - isContainer = "1"; - canSave = "1"; - canSaveDynamicFields = "0"; - - new GuiTextCtrl(ppOptionsSSAOOverallStrengthLabel) { - text = "Overall Strength"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "31 57"; - extent = "77 18"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Controls the overall strength of the Ambient Occlusion effect."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsSSAOBlurDepthLabel) { - text = "Blur (Softness)"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "38 85"; - extent = "73 18"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Controls the amount of softness in the SSAO, overall."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsSSAOBlurNormalLabel) { - text = "Blur (Normal Maps)"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "19 112"; - extent = "92 18"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Controls the amount of softness in the SSAO, in the normal maps."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiPopUpMenuCtrl(ppOptionsSSAOQuality) { - maxPopupHeight = "200"; - sbUsesNAColor = "0"; - reverseTextList = "0"; - bitmapBounds = "16 16"; - text = "Low"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "120 28"; - extent = "211 20"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiPopUpMenuProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsSSAOQualityLabel) { - text = "Quality"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "76 29"; - extent = "32 18"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsSSAOOverallStrength) { - range = "0 50"; - ticks = "1000"; - snap = "0"; - value = "2"; - position = "120 56"; - extent = "211 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsSSAOBlurDepth) { - range = "0 0.3"; - ticks = "1000"; - snap = "0"; - value = "0.001"; - position = "120 86"; - extent = "211 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsSSAOBlurNormal) { - range = "0 1"; - ticks = "1000"; - snap = "0"; - value = "0.95"; - position = "119 113"; - extent = "212 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - }; - new GuiTabPageCtrl(ppOptionsSSAONearTab) { - fitBook = "0"; - text = "Near"; - maxLength = "1024"; - docking = "Client"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "1"; - anchorLeft = "1"; - anchorRight = "1"; - position = "0 20"; - extent = "362 165"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTabPageProfile"; - visible = "0"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Contains settings for the near range ambient occlusion aspect of the SSAO postFX"; - hovertime = "1000"; - isContainer = "1"; - canSave = "1"; - canSaveDynamicFields = "0"; - - new GuiSliderCtrl(ppOptionsSSAONearRadius) { - range = "0.001 5"; - ticks = "1000"; - snap = "0"; - value = "0.1"; - position = "122 17"; - extent = "221 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsSSAONearDepthMin) { - range = "0 5"; - ticks = "1000"; - snap = "0"; - value = "0.1"; - position = "122 62"; - extent = "221 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsSSAONearStrength) { - range = "0 20"; - ticks = "1000"; - snap = "0"; - value = "6"; - position = "122 39"; - extent = "221 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsSSAONearRadiusLabel) { - text = "Radius"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "80 16"; - extent = "34 18"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Controls the near/small radius SSAO reach."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsSSAONearStrengthLabel) { - text = "Strength"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "73 38"; - extent = "41 18"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Controls the near/small radius SSAO strength."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsSSAONearDepthMinLabel) { - text = "Depth Min"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "66 61"; - extent = "48 18"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Controls the near/small radius SSAO minimum depth value."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsSSAONearDepthMaxLabel) { - text = "Depth Max"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "62 85"; - extent = "52 18"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Controls the near/small radius SSAO maximum depth value."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsSSAONearDepthMax) { - range = "0 50"; - ticks = "1000"; - snap = "0"; - value = "1"; - position = "122 86"; - extent = "221 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsSSAONearToleranceNormal) { - range = "0 2"; - ticks = "1000"; - snap = "0"; - value = "0"; - position = "122 133"; - extent = "103 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsSSAONearTolerancePower) { - range = "0 2"; - ticks = "1000"; - snap = "0"; - value = "1"; - position = "246 133"; - extent = "97 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsSSAONearToleranceLabel2) { - text = "Tolerance / Power"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "24 132"; - extent = "92 18"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsSSAONearToleranceLabel1) { - text = "Normal Maps : "; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "19 113"; - extent = "71 18"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - }; - new GuiTabPageCtrl(ppOptionsSSAOFarTab) { - fitBook = "0"; - text = "Far"; - maxLength = "1024"; - docking = "Client"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "1"; - anchorLeft = "1"; - anchorRight = "1"; - position = "0 20"; - extent = "362 165"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTabPageProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Contains settings for the far range ambient occlusion aspect of the SSAO postFX"; - hovertime = "1000"; - isContainer = "1"; - canSave = "1"; - canSaveDynamicFields = "0"; - - new GuiTextCtrl(ppOptionsSSAOFarRadiusLabel) { - text = "Radius"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "80 16"; - extent = "34 18"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Controls the far/large radius SSAO reach."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsSSAOFarRadius) { - range = "0.001 5"; - ticks = "1000"; - snap = "0"; - value = "1"; - position = "122 17"; - extent = "221 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsSSAOFarStrengthLabel) { - text = "Strength"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "73 38"; - extent = "41 18"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Controls the far/large radius SSAO strength."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsSSAOFarStrength) { - range = "0 20"; - ticks = "1000"; - snap = "0"; - value = "10"; - position = "122 39"; - extent = "221 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsSSAOFarDepthMinLabel) { - text = "Depth Min"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "66 61"; - extent = "48 18"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Controls the far/large radius SSAO minimum depth."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsSSAOFarDepthMin) { - range = "0 5"; - ticks = "1000"; - snap = "0"; - value = "0.2"; - position = "122 62"; - extent = "221 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsSSAOFarDepthMaxLabel) { - text = "Depth Max"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "62 85"; - extent = "52 18"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Controls the far/large radius SSAO maximum."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsSSAOFarDepthMax) { - range = "0 5"; - ticks = "1000"; - snap = "0"; - value = "2"; - position = "122 86"; - extent = "221 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsSSAOFarToleranceLabel1) { - text = "Normal Maps :"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "6 113"; - extent = "72 18"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl() { - text = "Tolerance / Power"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "24 132"; - extent = "90 18"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsSSAOFarToleranceNormal) { - range = "0 2"; - ticks = "1000"; - snap = "0"; - value = "0"; - position = "122 133"; - extent = "100 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsSSAOFarTolerancePower) { - range = "0 2"; - ticks = "1000"; - snap = "0"; - value = "2"; - position = "239 133"; - extent = "104 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - }; - }; - new GuiCheckBoxCtrl(ppOptionsEnableSSAO) { - useInactiveState = "0"; - text = "Enable"; - groupNum = "-1"; - buttonType = "ToggleButton"; - useMouseEvents = "0"; - position = "329 7"; - extent = "53 20"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Enable/Disable the SSAO postFX"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - }; - new GuiTabPageCtrl(ppOptionsHDRTab) { - fitBook = "0"; - text = "HDR"; - maxLength = "1024"; - docking = "Client"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "1"; - anchorLeft = "1"; - anchorRight = "1"; - position = "0 20"; - extent = "394 213"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTabPageProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Options for the High Definition Range Lighting postFX"; - hovertime = "1000"; - isContainer = "1"; - canSave = "1"; - canSaveDynamicFields = "0"; - - new GuiBitmapBorderCtrl() { - position = "12 30"; - extent = "363 172"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTabBorderProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "1"; - }; - new GuiTabBookCtrl(ppOptionsHDROptions) { - tabPosition = "Top"; - tabMargin = "7"; - minTabWidth = "64"; - tabHeight = "20"; - allowReorder = "0"; - defaultPage = "-1"; - selectedPage = "0"; - frontTabPadding = "0"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "12 11"; - extent = "365 195"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTabBookProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "1"; - canSave = "1"; - canSaveDynamicFields = "0"; - - new GuiTabPageCtrl(ppOptionsHDRBrightnessTab) { - fitBook = "0"; - text = "Brightness"; - maxLength = "1024"; - docking = "Client"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "1"; - anchorLeft = "1"; - anchorRight = "1"; - position = "0 20"; - extent = "365 175"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTabPageProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Contains settings related to the brightness of the HDR postFX"; - hovertime = "1000"; - isContainer = "1"; - canSave = "1"; - canSaveDynamicFields = "0"; - - new GuiSliderCtrl(ppOptionsHDRMinLuminance) { - range = "0 1"; - ticks = "1000"; - snap = "0"; - value = "0"; - position = "132 77"; - extent = "206 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Value : 0"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsHDRKeyValue) { - range = "0 1"; - ticks = "1000"; - snap = "0"; - value = "0.0459184"; - position = "132 50"; - extent = "206 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Value : 0.0459184"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsHDRKeyValueLabel) { - text = "Key Value"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "69 50"; - extent = "52 16"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "The tone mapping middle grey or exposure value used to adjust the overall \"balance\" of the image."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsHDRMinLuminanceLabel) { - text = "Minimum Luminance"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "25 77"; - extent = "96 16"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "The minimum luminance value to allow when tone mapping the scene. This is particularly useful if your scene is very dark or has a black ambient color in places."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsHDRWhiteCutoffLabel) { - text = "White Cutoff"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "56 104"; - extent = "65 16"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "The cutoff level for the white levels in the brightness."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsHDRWhiteCutoff) { - range = "0 1"; - ticks = "1000"; - snap = "0"; - value = "0.52551"; - position = "132 104"; - extent = "206 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Value : 0.52551"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsHDRBrightnessAdaptRate) { - range = "0.1 10"; - ticks = "1000"; - snap = "0"; - value = "2"; - position = "132 132"; - extent = "205 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsHDRBrightnessAdaptRateLabel) { - text = "Brightness Adapt Rate"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "12 132"; - extent = "109 16"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "The speed at which the view adjusts to the new lighting in the environment."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsHDRKeyValueLabel1) { - text = "Tone Mapping Contrast"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "10 24"; - extent = "111 16"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Tone mapping contrast is the amount of scene to blend, with the tone mapped HDR scene. Lower values are recommended but higher values give a strong contrasted darker shadowed look."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsHDRToneMappingAmount) { - range = "0 1"; - ticks = "1000"; - snap = "0"; - value = "0.265306"; - position = "132 24"; - extent = "206 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "value : 0.265306"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - }; - new GuiTabPageCtrl(ppOptionsHDRBloomTab) { - fitBook = "0"; - text = "Bloom"; - maxLength = "1024"; - docking = "Client"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "1"; - anchorLeft = "1"; - anchorRight = "1"; - position = "0 20"; - extent = "365 175"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTabPageProfile"; - visible = "0"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Contains settings related to the blooming aspect of the HDR postFX"; - hovertime = "1000"; - isContainer = "1"; - canSave = "1"; - canSaveDynamicFields = "0"; - - new GuiSliderCtrl(ppOptionsHDRBloomBlurMultiplier) { - range = "0 5"; - ticks = "1000"; - snap = "0"; - value = "0.502645"; - position = "132 70"; - extent = "199 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Value : 0.502645"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsHDRBloomBlurMean) { - range = "0 1"; - ticks = "1000"; - snap = "0"; - value = "0.510526"; - position = "132 97"; - extent = "200 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Value : 0.510526"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsHDRBloomBlurStdDev) { - range = "0 3"; - ticks = "1000"; - snap = "0"; - value = "1.4127"; - position = "132 123"; - extent = "199 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Value : 1.4127"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsHDRBlurMultiplierLabel) { - text = "Blur Multiplier"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "59 70"; - extent = "63 16"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "The amount of blur to apply to the bloomed areas in the HDR."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsHDRBlurMeanLabel) { - text = "Blur \"mean\" value"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "38 97"; - extent = "84 16"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsHDRBlurStandardDevianceLabel) { - text = "Blur \"Std Dev\" value"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "23 123"; - extent = "99 16"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsHDRBloomBrightPassThresholdLabel) { - text = "Bright pass threshold"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "19 43"; - extent = "103 16"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "The bright pass threshold controls how bright the brightest areas of the scene are in the HDR."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsHDRBloomBlurBrightPassThreshold) { - range = "0 5"; - ticks = "1000"; - snap = "0"; - value = "1.60526"; - position = "132 43"; - extent = "200 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Value : 1.60526"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiCheckBoxCtrl(ppOptionsHDRBloom) { - useInactiveState = "0"; - text = " Enable Bloom"; - groupNum = "-1"; - buttonType = "ToggleButton"; - useMouseEvents = "0"; - position = "250 9"; - extent = "85 24"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Enables or disables the bloom (glowing effect) of the HDR PostFX."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - }; - new GuiTabPageCtrl(ppOptionsHDRBloomEffectsTab) { - fitBook = "0"; - text = "Effects"; - maxLength = "1024"; - docking = "Client"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "1"; - anchorLeft = "1"; - anchorRight = "1"; - position = "0 20"; - extent = "365 175"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTabPageProfile"; - visible = "0"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Contains settings related to the effects the HDR postFX can offer"; - hovertime = "1000"; - isContainer = "1"; - canSave = "1"; - canSaveDynamicFields = "0"; - - new GuiCheckBoxCtrl(ppOptionsHDREffectsBlueShift) { - useInactiveState = "0"; - text = " Enable Color Shift"; - groupNum = "-1"; - buttonType = "ToggleButton"; - useMouseEvents = "0"; - position = "11 4"; - extent = "117 24"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Enables a scene tinting/Blue shift based on the color selected below."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiColorPickerCtrl(ppOptionsHDREffectsBlueShiftColorBlend) { - baseColor = "1 0 0.0235294 1"; - pickColor = "0 0 0 1"; - selectorGap = "1"; - displayMode = "BlendColor"; - actionOnMove = "1"; - showReticle = "1"; - position = "10 29"; - extent = "344 110"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiDefaultProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Select a color"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiColorPickerCtrl(ppOptionsHDREffectsBlueShiftColorBaseColor) { - baseColor = "1 0 0.0235294 1"; - pickColor = "0 0 0 1"; - selectorGap = "1"; - displayMode = "HorizColor"; - actionOnMove = "1"; - showReticle = "1"; - position = "10 142"; - extent = "343 21"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiDefaultProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Select a color"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - }; - }; - new GuiCheckBoxCtrl(ppOptionsHDRToneMapping) { - useInactiveState = "0"; - text = " Enable Tone Mapping"; - groupNum = "-1"; - buttonType = "ToggleButton"; - useMouseEvents = "0"; - position = "18 8"; - extent = "120 24"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; - visible = "0"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Enables or disabled tone mapping on the HDR. The tone mapping balanced the brightness levels during the HDR process. Recommended"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiCheckBoxCtrl(ppOptionsEnableHDR) { - useInactiveState = "0"; - text = "Enable"; - groupNum = "-1"; - buttonType = "ToggleButton"; - useMouseEvents = "0"; - position = "329 7"; - extent = "53 20"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Enable/Disable the HDR postFX (takes some time to initialise, be patient)"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiCheckBoxCtrl(ppOptionsEnableHDRDebug) { - useInactiveState = "0"; - text = "Debug"; - groupNum = "-1"; - buttonType = "ToggleButton"; - useMouseEvents = "0"; - position = "262 7"; - extent = "53 20"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - }; - new GuiTabPageCtrl(ppOptionsLightRaysTab) { - fitBook = "0"; - text = "Light Rays"; - maxLength = "1024"; - docking = "Client"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "1"; - anchorLeft = "1"; - anchorRight = "1"; - position = "0 20"; - extent = "394 213"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTabPageProfile"; - visible = "0"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Options for the Light Rays postFX"; - hovertime = "1000"; - isContainer = "1"; - canSave = "1"; - canSaveDynamicFields = "0"; - - new GuiSliderCtrl(ppOptionsLightRaysBrightScalar) { - range = "0 5"; - ticks = "1000"; - snap = "0"; - value = "0.75"; - position = "96 46"; - extent = "264 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsLightRaysBrightnessScalarLabel) { - text = "Brightness"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "26 48"; - extent = "87 15"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Controls how bright the rays and the object casting them are in the scene."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - - new GuiSliderCtrl(ppOptionsLightRaysSampleScalar) { - range = "20 512"; - ticks = "512"; - snap = "0"; - value = "40"; - position = "96 75"; - extent = "264 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - - new GuiTextCtrl(ppOptionsLightRaysSampleScalarLabel) { - text = "Samples"; - maxLength = "512"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "26 76"; - extent = "87 15"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Controls the number of samples for the shader."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - - new GuiSliderCtrl(ppOptionsLightRaysDensityScalar) { - range = "0.01 1"; - ticks = "1000"; - snap = "0"; - value = "0.94"; - position = "96 105"; - extent = "264 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - - new GuiTextCtrl(ppOptionsLightRaysDensityScalarLabel) { - text = "Density"; - maxLength = "1000"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "26 106"; - extent = "87 15"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Controls the density of the rays."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - - new GuiSliderCtrl(ppOptionsLightRaysWeightScalar) { - range = "0.1 10"; - ticks = "1000"; - snap = "0"; - value = "5.65"; - position = "96 135"; - extent = "264 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - - new GuiTextCtrl(ppOptionsLightRaysWeightScalarLabel) { - text = "Weight"; - maxLength = "1000"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "26 136"; - extent = "87 15"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Controls the weight of the rays."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - - - new GuiSliderCtrl(ppOptionsLightRaysDecayScalar) { - range = "0.01 1"; - ticks = "1000"; - snap = "0"; - value = "1.0"; - position = "96 165"; - extent = "264 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - - new GuiTextCtrl(ppOptionsLightRaysDecayScalarLabel) { - text = "Decay"; - maxLength = "1000"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "26 166"; - extent = "87 15"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Controls the decay of the rays."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiCheckBoxCtrl(ppOptionsEnableLightRays) { - useInactiveState = "0"; - text = "Enable"; - groupNum = "-1"; - buttonType = "ToggleButton"; - useMouseEvents = "0"; - position = "329 7"; - extent = "53 20"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Enable/Disable the light rays postFX"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - }; - new GuiTabPageCtrl(ppOptionsDOFTab) { - fitBook = "0"; - text = "DOF"; - maxLength = "1024"; - docking = "Client"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "1"; - anchorLeft = "1"; - anchorRight = "1"; - position = "0 20"; - extent = "394 213"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTabPageProfile"; - visible = "0"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Options for the Depth Of Field postFX"; - hovertime = "1000"; - isContainer = "1"; - canSave = "1"; - canSaveDynamicFields = "0"; - - new GuiBitmapBorderCtrl() { - position = "14 28"; - extent = "362 170"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTabBorderProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "1"; - }; - new GuiTabBookCtrl() { - tabPosition = "Top"; - tabMargin = "7"; - minTabWidth = "64"; - tabHeight = "20"; - allowReorder = "0"; - defaultPage = "-1"; - selectedPage = "1"; - frontTabPadding = "0"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "14 9"; - extent = "360 189"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTabBookProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "1"; - canSave = "1"; - canSaveDynamicFields = "0"; - - new GuiTabPageCtrl(ppOptionsDOFGeneralTab) { - fitBook = "0"; - text = "General"; - maxLength = "1024"; - docking = "Client"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "1"; - anchorLeft = "1"; - anchorRight = "1"; - position = "0 20"; - extent = "360 169"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTabPageProfile"; - visible = "0"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Contains general settings related to the DOF system"; - hovertime = "1000"; - isContainer = "1"; - canSave = "1"; - canSaveDynamicFields = "0"; - - //new GuiCheckBoxCtrl(ppOptionsDOFEnableDOF) { - //useInactiveState = "0"; - //text = "Enable DOF"; - //groupNum = "-1"; - //buttonType = "ToggleButton"; - //useMouseEvents = "0"; - //position = "31 43"; - //extent = "140 30"; - //minExtent = "8 2"; - //horizSizing = "right"; - //vertSizing = "bottom"; - //profile = "GuiCheckBoxProfile"; - //visible = "1"; - //active = "1"; - //tooltipProfile = "GuiToolTipProfile"; - //hovertime = "1000"; - //isContainer = "0"; - //canSave = "1"; - //canSaveDynamicFields = "0"; - //}; - new GuiCheckBoxCtrl(ppOptionsDOFEnableAutoFocus) { - useInactiveState = "0"; - text = "Enable Auto Focus"; - groupNum = "-1"; - buttonType = "ToggleButton"; - useMouseEvents = "0"; - position = "31 8"; - extent = "140 30"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - }; - new GuiTabPageCtrl(ppOptionsDOFAutoFocusTab) { - fitBook = "0"; - text = "Auto Focus"; - maxLength = "1024"; - docking = "Client"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "1"; - anchorLeft = "1"; - anchorRight = "1"; - position = "0 20"; - extent = "360 169"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTabPageProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Contains settings related to the fine control of the auto focus system"; - hovertime = "1000"; - isContainer = "1"; - canSave = "1"; - canSaveDynamicFields = "0"; - - new GuiTextCtrl(ppOptionsDOFNearBlurMaxLabel) { - text = "Near Blur Max"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "36 8"; - extent = "67 16"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "The max allowed value of near blur"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsDOFFarBlurMinSlider) { - range = "0 1"; - ticks = "1000"; - snap = "0"; - value = "0"; - position = "120 8"; - extent = "224 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsDOFFarBlurMaxLabel) { - text = "Far Blur Max"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "43 34"; - extent = "60 16"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "The max allowed value of far blur"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsDOFFarBlurMaxSlider) { - range = "0 1"; - ticks = "1000"; - snap = "0"; - value = "0"; - position = "120 34"; - extent = "224 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsDOFFocusRangeMinLabel) { - text = "Focus Range (Min)"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "13 61"; - extent = "90 16"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "The distance range around the focal distance that remains in focus (in meters, minimum distance in focus) focal distance it is\r\ndependant on the visible distance set in your level"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsDOFFocusRangeMinSlider) { - range = "0.01 1e+003"; - ticks = "1000"; - snap = "0"; - value = "0.01"; - position = "120 61"; - extent = "224 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsDOFFocusRangeMaxLabel) { - text = "Focus Range (Max)"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "9 88"; - extent = "95 16"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "The distance range around the focal distance that remains in focus (in meters, maximum distance in focus) focal distance it is\r\ndependant on the visible distance set in your level"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsDOFFocusRangeMaxSlider) { - range = "0.01 1e+003"; - ticks = "1000"; - snap = "0"; - value = "0.01"; - position = "119 87"; - extent = "224 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsDOFBurCurveNearLabel) { - text = "Blur Curve Near"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "27 114"; - extent = "77 16"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "A small number causes bluriness to increase gradually\r\nat distances closer than the focal distance. A large number causes bluriness to \r\nincrease quickly"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsDOFBlurCurveNearSlider) { - range = "0 50"; - ticks = "1000"; - snap = "0"; - value = "0"; - position = "119 114"; - extent = "225 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsDOFBlurCurveFarLabel) { - text = "Blur Curve Far"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "33 139"; - extent = "70 16"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "A small number causes bluriness to increase gradually\r\nat distances closer than the focal distance. A large number causes bluriness to \r\nincrease quickly"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsDOFBlurCurveFarSlider) { - range = "0 50"; - ticks = "1000"; - snap = "0"; - value = "0"; - position = "119 141"; - extent = "224 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - }; - }; - new GuiCheckBoxCtrl(ppOptionsEnableDOF) { - useInactiveState = "0"; - text = "Enable"; - groupNum = "-1"; - buttonType = "ToggleButton"; - useMouseEvents = "0"; - position = "329 7"; - extent = "53 20"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Enable/Disable the Depth of field postFX"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - }; - new GuiTabPageCtrl(ppOptionsVignetteTab) { - fitBook = "0"; - text = "Vignette"; - maxLength = "1024"; - docking = "Client"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "1"; - anchorLeft = "1"; - anchorRight = "1"; - position = "0 40"; - extent = "394 193"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTabPageProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Options for the Vignette postFX"; - hovertime = "1000"; - isContainer = "1"; - canSave = "1"; - canSaveDynamicFields = "0"; - Enabled = "1"; - - new GuiCheckBoxCtrl(ppOptionsEnableVignette) { - text = "Enable"; - groupNum = "-1"; - buttonType = "ToggleButton"; - useMouseEvents = "0"; - position = "329 7"; - extent = "53 20"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Enable/Disable the vignette postFX"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiSliderCtrl(ppOptionsVignetteVMax) { - range = "0.001 5"; - ticks = "1000"; - snap = "0"; - value = "0.6"; - position = "96 46"; - extent = "221 17"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiSliderBoxProfile"; - visible = "1"; - active = "1"; - variable = "$VignettePostEffect::VMax"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsVignetteVMaxLabel) { - text = "Radius"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "26 48"; - extent = "41 18"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Controls the maximum exposure of vignetting."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - }; - new GuiTabPageCtrl() { - fitBook = "0"; - text = "Color Correction"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "8 27"; - extent = "376 200"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTabPageProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "1"; - internalName = "ColorCorrectionTab"; - canSave = "1"; - canSaveDynamicFields = "0"; - - new GuiTextCtrl() { - text = "Color Correction Ramp"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "6 7"; - extent = "118 13"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "1"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextEditCtrl() { - historySize = "0"; - tabComplete = "0"; - sinkAllKeyEvents = "0"; - password = "0"; - passwordMask = "*"; - text = "core/postFX/images/null_color_ramp.png"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "6 29"; - extent = "365 18"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextEditProfile"; - visible = "1"; - active = "1"; - altCommand = "ppColorCorrection_selectFileHandler( $thisControl.getText() );"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "1"; - internalName = "ColorCorrectionFileName"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiButtonCtrl() { - text = "Select..."; - groupNum = "-1"; - buttonType = "PushButton"; - useMouseEvents = "0"; - position = "252 54"; - extent = "56 22"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiButtonProfile"; - visible = "1"; - active = "1"; - command = "ppColorCorrection_selectFile();"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - internalName = "ColorCorrectionButton"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiButtonCtrl() { - text = "Reset"; - groupNum = "-1"; - buttonType = "PushButton"; - useMouseEvents = "0"; - position = "315 54"; - extent = "56 22"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiButtonProfile"; - visible = "1"; - active = "1"; - command = "ppColorCorrection_selectFileHandler( \"\" );"; - tooltipProfile = "GuiToolTipProfile"; - hovertime = "1000"; - isContainer = "0"; - internalName = "ColorCorrectionReset"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - }; - }; - new GuiButtonCtrl(ppOptionsApply) { - text = "Apply"; - groupNum = "-1"; - buttonType = "PushButton"; - useMouseEvents = "0"; - position = "309 302"; - extent = "93 23"; - minExtent = "8 8"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiButtonProfile"; - visible = "1"; - active = "1"; - command = "PostFXManager.settingsApplyAll(); Canvas.popDialog(PostFXManager);"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Apply the settings and close this dialog"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiButtonCtrl(ppOptionsSavePreset) { - text = "Save Preset..."; - groupNum = "-1"; - buttonType = "PushButton"; - useMouseEvents = "0"; - position = "111 302"; - extent = "93 23"; - minExtent = "8 8"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiButtonProfile"; - visible = "1"; - active = "1"; - command = "PostFXManager.savePresetFile();"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Save the preset to a file to disk for later use (use postfx::applyPreset)"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiButtonCtrl(ppOptionsLoadPreset) { - text = "Load Preset..."; - groupNum = "-1"; - buttonType = "PushButton"; - useMouseEvents = "0"; - position = "12 302"; - extent = "93 23"; - minExtent = "8 8"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiButtonProfile"; - visible = "1"; - active = "1"; - command = "PostFXManager.loadPresetFile();"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Load a post FX preset file from disk"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiCheckBoxCtrl(ppOptionsEnable) { - useInactiveState = "0"; - text = "Enable PostFX System"; - groupNum = "-1"; - buttonType = "ToggleButton"; - useMouseEvents = "0"; - position = "13 24"; - extent = "127 30"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Enable or Disable the postFX system"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiPopUpMenuCtrl(ppOptionsQuality) { - maxPopupHeight = "200"; - sbUsesNAColor = "0"; - reverseTextList = "0"; - bitmapBounds = "16 16"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "278 30"; - extent = "122 21"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiPopUpMenuProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Used to adjust the quality/performance settings of the PostFX system. Some PostFX may not adhere to the settings in this dialog."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiTextCtrl(ppOptionsQualityLabel) { - text = "Quality"; - maxLength = "1024"; - margin = "0 0 0 0"; - padding = "0 0 0 0"; - anchorTop = "1"; - anchorBottom = "0"; - anchorLeft = "1"; - anchorRight = "0"; - position = "238 32"; - extent = "39 12"; - minExtent = "8 2"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiTextProfile"; - visible = "1"; - active = "1"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Used to adjust the quality/performance settings of the PostFX system. Some PostFX may not adhere to the settings in this dialog."; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - new GuiButtonCtrl(ppOptionsOk1) { - text = "Revert"; - groupNum = "-1"; - buttonType = "PushButton"; - useMouseEvents = "0"; - position = "210 302"; - extent = "93 23"; - minExtent = "8 8"; - horizSizing = "right"; - vertSizing = "bottom"; - profile = "GuiButtonProfile"; - visible = "1"; - active = "1"; - command = "postProcessOptionsDlg.applySettings(); Canvas.popDialog(postProcessOptionsDlg);"; - tooltipProfile = "GuiToolTipProfile"; - tooltip = "Revert any changes made since opening the dialog"; - hovertime = "1000"; - isContainer = "0"; - canSave = "1"; - canSaveDynamicFields = "0"; - }; - }; -}; -//--- OBJECT WRITE END --- diff --git a/Templates/BaseGame/game/core/postFX/scripts/hdr.cs b/Templates/BaseGame/game/core/postFX/scripts/hdr.cs index b5ee40f03..99afc2256 100644 --- a/Templates/BaseGame/game/core/postFX/scripts/hdr.cs +++ b/Templates/BaseGame/game/core/postFX/scripts/hdr.cs @@ -323,6 +323,80 @@ function HDRPostFX::onDisabled( %this ) resetLightManager(); } +function HDRPostFX::onAdd( %this ) +{ + PostFXManager.registerPostEffect(%this); + + //HDR should really be on at all times + %this.enable(); + + $HDRPostFX::enableToneMapping = 1; +} + +//This is used to populate the PostFXEditor's settings so the post FX can be edited +//This is automatically polled for any postFX that has been registered(in our onAdd) and the settings +//are thus exposed for editing +function HDRPostFX::populatePostFXSettings(%this) +{ + PostEffectEditorInspector.startGroup("HDR - General"); + PostEffectEditorInspector.addField("$PostFXManager::Settings::HDR::keyValue", "Key Value", "float", "", $HDRPostFX::keyValue, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::HDR::minLuminace", "Minimum Luminance", "float", "", $HDRPostFX::minLuminace, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::HDR::whiteCutoff", "White Cutoff", "float", "", $HDRPostFX::whiteCutoff, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::HDR::adaptRate", "Brightness Adapt Rate", "float", "", $HDRPostFX::adaptRate, ""); + PostEffectEditorInspector.endGroup(); + + PostEffectEditorInspector.startGroup("HDR - Bloom"); + PostEffectEditorInspector.addField("$PostFXManager::Settings::HDR::enableBloom", "Enable Bloom", "bool", "", $HDRPostFX::enableBloom, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::HDR::brightPassThreshold", "Bright Pass Threshold", "float", "", $HDRPostFX::brightPassThreshold, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::HDR::gaussMultiplier", "Blur Multiplier", "float", "", $HDRPostFX::gaussMultiplier, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::HDR::gaussMean", "Blur \"Mean\" Value", "float", "", $HDRPostFX::gaussMean, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::HDR::gaussStdDev", "Blur \"Std. Dev\" Value", "float", "", $HDRPostFX::gaussStdDev, ""); + PostEffectEditorInspector.endGroup(); + + PostEffectEditorInspector.startGroup("HDR - Effects"); + PostEffectEditorInspector.addField("$PostFXManager::Settings::HDR::enableBlueShift", "Enable Blue Shift", "bool", "", $HDRPostFX::enableBlueShift, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::HDR::blueShiftColor", "Blue Shift Color", "colorF", "", $HDRPostFX::blueShiftColor, ""); + PostEffectEditorInspector.endGroup(); +} + +//This function pair(applyFromPreset and settingsApply) are done the way they are, with the separated variables +//so that we can effectively store the 'settings' away from the live variables that the postFX's actually utilize +//when rendering. This allows us to modify things but still leave room for reverting or temporarily applying them +function HDRPostFX::applyFromPreset(%this) +{ + //HDRPostFX Settings + $HDRPostFX::adaptRate = $PostFXManager::Settings::HDR::adaptRate; + $HDRPostFX::blueShiftColor = $PostFXManager::Settings::HDR::blueShiftColor; + $HDRPostFX::brightPassThreshold = $PostFXManager::Settings::HDR::brightPassThreshold; + $HDRPostFX::enableBloom = $PostFXManager::Settings::HDR::enableBloom; + $HDRPostFX::enableBlueShift = $PostFXManager::Settings::HDR::enableBlueShift; + $HDRPostFX::enableToneMapping = $PostFXManager::Settings::HDR::enableToneMapping; + $HDRPostFX::gaussMean = $PostFXManager::Settings::HDR::gaussMean; + $HDRPostFX::gaussMultiplier = $PostFXManager::Settings::HDR::gaussMultiplier; + $HDRPostFX::gaussStdDev = $PostFXManager::Settings::HDR::gaussStdDev; + $HDRPostFX::keyValue = $PostFXManager::Settings::HDR::keyValue; + $HDRPostFX::minLuminace = $PostFXManager::Settings::HDR::minLuminace; + $HDRPostFX::whiteCutoff = $PostFXManager::Settings::HDR::whiteCutoff; + $HDRPostFX::colorCorrectionRamp = $PostFXManager::Settings::ColorCorrectionRamp; +} + +function HDRPostFX::settingsApply(%this) +{ + $PostFXManager::Settings::HDR::adaptRate = $HDRPostFX::adaptRate; + $PostFXManager::Settings::HDR::blueShiftColor = $HDRPostFX::blueShiftColor; + $PostFXManager::Settings::HDR::brightPassThreshold = $HDRPostFX::brightPassThreshold; + $PostFXManager::Settings::HDR::enableBloom = $HDRPostFX::enableBloom; + $PostFXManager::Settings::HDR::enableBlueShift = $HDRPostFX::enableBlueShift; + $PostFXManager::Settings::HDR::enableToneMapping = $HDRPostFX::enableToneMapping; + $PostFXManager::Settings::HDR::gaussMean = $HDRPostFX::gaussMean; + $PostFXManager::Settings::HDR::gaussMultiplier = $HDRPostFX::gaussMultiplier; + $PostFXManager::Settings::HDR::gaussStdDev = $HDRPostFX::gaussStdDev; + $PostFXManager::Settings::HDR::keyValue = $HDRPostFX::keyValue; + $PostFXManager::Settings::HDR::minLuminace = $HDRPostFX::minLuminace; + $PostFXManager::Settings::HDR::whiteCutoff = $HDRPostFX::whiteCutoff; + $PostFXManager::Settings::ColorCorrectionRamp = $HDRPostFX::colorCorrectionRamp; +} + singleton PostEffect( HDRPostFX ) { isEnabled = false; diff --git a/Templates/BaseGame/game/core/postFX/scripts/lightRay.cs b/Templates/BaseGame/game/core/postFX/scripts/lightRay.cs index 523b9bdea..8f414bfd0 100644 --- a/Templates/BaseGame/game/core/postFX/scripts/lightRay.cs +++ b/Templates/BaseGame/game/core/postFX/scripts/lightRay.cs @@ -29,6 +29,10 @@ $LightRayPostFX::decay = 1.0; $LightRayPostFX::exposure = 0.0005; $LightRayPostFX::resolutionScale = 1.0; +function LightRayPostFX::onAdd( %this ) +{ + PostFXManager.registerPostEffect(%this); +} singleton ShaderData( LightRayOccludeShader ) { @@ -67,7 +71,7 @@ singleton GFXStateBlockData( LightRayStateBlock : PFX_DefaultStateBlock ) singleton PostEffect( LightRayPostFX ) { - isEnabled = false; + //isEnabled = false; allowReflectPass = false; renderTime = "PFXBeforeBin"; @@ -108,3 +112,43 @@ function LightRayPostFX::setShaderConsts( %this ) %pfx.setShaderConst( "$decay", $LightRayPostFX::decay ); %pfx.setShaderConst( "$exposure", $LightRayPostFX::exposure ); } + +function LightRayPostFX::populatePostFXSettings(%this) +{ + PostEffectEditorInspector.startGroup("Light Ray"); + PostEffectEditorInspector.addField("$PostFXManager::Settings::EnableLightRays", "Enabled", "bool", "", $PostFXManager::PostFX::EnableLightRays, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::LightRays::brightScalar", "Brightness", "float", "", $LightRayPostFX::brightScalar, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::LightRays::numSamples", "Samples", "float", "", $LightRayPostFX::numSamples, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::LightRays::density", "Density", "float", "", $LightRayPostFX::density, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::LightRays::weight", "Weight", "float", "", $LightRayPostFX::weight, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::LightRays::decay", "Decay", "float", "", $LightRayPostFX::decay, ""); + PostEffectEditorInspector.endGroup(); +} + +function LightRayPostFX::applyFromPreset(%this) +{ + //Light rays settings + $PostFXManager::PostFX::EnableLightRays = $PostFXManager::Settings::EnableLightRays; + $LightRayPostFX::brightScalar = $PostFXManager::Settings::LightRays::brightScalar; + + $LightRayPostFX::numSamples = $PostFXManager::Settings::LightRays::numSamples; + $LightRayPostFX::density = $PostFXManager::Settings::LightRays::density; + $LightRayPostFX::weight = $PostFXManager::Settings::LightRays::weight; + $LightRayPostFX::decay = $PostFXManager::Settings::LightRays::decay; + + if($PostFXManager::PostFX::EnableLightRays) + %this.enable(); + else + %this.disable(); +} + +function LightRayPostFX::settingsApply(%this) +{ + $PostFXManager::Settings::EnableLightRays = $PostFXManager::PostFX::EnableLightRays; + $PostFXManager::Settings::LightRays::brightScalar = $LightRayPostFX::brightScalar; + + $PostFXManager::Settings::LightRays::numSamples = $LightRayPostFX::numSamples; + $PostFXManager::Settings::LightRays::density = $LightRayPostFX::density; + $PostFXManager::Settings::LightRays::weight = $LightRayPostFX::weight; + $PostFXManager::Settings::LightRays::decay = $LightRayPostFX::decay; +} \ No newline at end of file diff --git a/Templates/BaseGame/game/core/postFX/scripts/postFxManager.persistance.cs b/Templates/BaseGame/game/core/postFX/scripts/postFxManager.cs similarity index 65% rename from Templates/BaseGame/game/core/postFX/scripts/postFxManager.persistance.cs rename to Templates/BaseGame/game/core/postFX/scripts/postFxManager.cs index 31fec95f1..dadfafaaa 100644 --- a/Templates/BaseGame/game/core/postFX/scripts/postFxManager.persistance.cs +++ b/Templates/BaseGame/game/core/postFX/scripts/postFxManager.cs @@ -20,6 +20,24 @@ // IN THE SOFTWARE. //----------------------------------------------------------------------------- +$PostFXManager::vebose = true; +function postVerbose(%string) +{ + if($PostFXManager::vebose == true) + { + echo(%string); + } +} + +if(!isObject(PostFXManager)) +{ + new ArrayObject(PostFXManager){}; +} + +function PostFXManager::registerPostEffect(%this, %postEffect) +{ + PostFXManager.add(%postEffect); +} // Used to name the saved files. $PostFXManager::fileExtension = ".postfxpreset.cs"; @@ -30,6 +48,10 @@ $PostFXManager::fileFilter = "Post Effect Presets|*.postfxpreset.cs"; // Enable / disable PostFX when loading presets or just apply the settings? $PostFXManager::forceEnableFromPresets = true; +$PostFXManager::defaultPreset = "./default.postfxpreset.cs"; + +$PostFXManager::currentPreset = ""; + //Load a preset file from the disk, and apply the settings to the //controls. If bApplySettings is true - the actual values in the engine //will be changed to reflect the settings from the file. @@ -37,6 +59,7 @@ function PostFXManager::loadPresetFile() { //Show the dialog and set the flag getLoadFilename($PostFXManager::fileFilter, "PostFXManager::loadPresetHandler"); + $PostFXManager::currentPreset = $Tools::FileDialogs::LastFilePath(); } function PostFXManager::loadPresetHandler( %filename ) @@ -48,7 +71,16 @@ function PostFXManager::loadPresetHandler( %filename ) postVerbose("% - PostFX Manager - Executing " @ %filename); exec(%filename); - PostFXManager.settingsApplyFromPreset(); + %count = PostFXManager.Count(); + for(%i=0; %i < %count; %i++) + { + %postEffect = PostFXManager.getKey(%i); + + if(isObject(%postEffect) && %postEffect.isMethod("applyFromPreset")) + { + %postEffect.applyFromPreset(); + } + } } } @@ -69,11 +101,39 @@ function PostFXManager::savePresetHandler( %filename ) if(strStr(%filename, ".") == -1) %filename = %filename @ $PostFXManager::fileExtension; - //Apply the current settings to the preset - PostFXManager.settingsApplyAll(); + %count = PostFXManager.Count(); + for(%i=0; %i < %count; %i++) + { + %postEffect = PostFXManager.getKey(%i); + + if(isObject(%postEffect) && %postEffect.isMethod("settingsApply")) + { + %postEffect.settingsApply(); + } + } export("$PostFXManager::Settings::*", %filename, false); postVerbose("% - PostFX Manager - Save complete. Preset saved at : " @ %filename); } +function PostFXManager::settingsApplyDefaultPreset(%this) +{ + PostFXManager::loadPresetHandler($PostFXManager::defaultPreset); + $PostFXManager::currentPreset = $PostFXManager::defaultPreset; +} + +function PostFXManager::settingsEffectSetEnabled(%this, %postEffect, %bEnable) +{ + // Apply the change + if ( %bEnable == true ) + { + %postEffect.enable(); + postVerbose("% - PostFX Manager - " @ %postEffect.getName() @ " enabled"); + } + else + { + %postEffect.disable(); + postVerbose("% - PostFX Manager - " @ %postEffect.getName() @ " disabled"); + } +} \ No newline at end of file diff --git a/Templates/BaseGame/game/core/postFX/scripts/postFxManager.gui.cs b/Templates/BaseGame/game/core/postFX/scripts/postFxManager.gui.cs deleted file mode 100644 index a6b0f0f01..000000000 --- a/Templates/BaseGame/game/core/postFX/scripts/postFxManager.gui.cs +++ /dev/null @@ -1,446 +0,0 @@ -//----------------------------------------------------------------------------- -// Copyright (c) 2012 GarageGames, LLC -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to -// deal in the Software without restriction, including without limitation the -// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -// sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -// IN THE SOFTWARE. -//----------------------------------------------------------------------------- - -$PostFXManager::vebose = true; -function postVerbose(%string) -{ - if($PostFXManager::vebose == true) - { - echo(%string); - } -} - -function PostFXManager::onDialogPush( %this ) -{ - //Apply the settings to the controls - postVerbose("% - PostFX Manager - Loading GUI."); - - %this.settingsRefreshAll(); -} - -// :: Controls for the overall postFX manager dialog -function ppOptionsEnable::onAction(%this) -{ - //Disable / Enable all PostFX - - if(ppOptionsEnable.getValue()) - { - %toEnable = true; - } - else - { - %toEnable = false; - } - - PostFXManager.settingsSetEnabled(%toEnable); - -} - -function PostFXManager::getEnableResultFromControl(%this, %control) -{ - %toEnable = -1; - %bTest = %control.getValue(); - if(%bTest == 1) - { - %toEnable = true; - } - else - { - %toEnable = false; - } - - return %toEnable; -} - -function ppOptionsEnableSSAO::onAction(%this) -{ - %toEnable = PostFXManager.getEnableResultFromControl(%this); - PostFXManager.settingsEffectSetEnabled("SSAO", %toEnable); -} - -function ppOptionsEnableHDR::onAction(%this) -{ - %toEnable = PostFXManager.getEnableResultFromControl(%this); - PostFXManager.settingsEffectSetEnabled("HDR", %toEnable); -} - -function ppOptionsEnableLightRays::onAction(%this) -{ - %toEnable = PostFXManager.getEnableResultFromControl(%this); - PostFXManager.settingsEffectSetEnabled("LightRays", %toEnable); -} - -function ppOptionsEnableDOF::onAction(%this) -{ - %toEnable = PostFXManager.getEnableResultFromControl(%this); - PostFXManager.settingsEffectSetEnabled("DOF", %toEnable); -} - -function ppOptionsEnableVignette::onAction(%this) -{ - %toEnable = PostFXManager.getEnableResultFromControl(%this); - PostFXManager.settingsEffectSetEnabled("Vignette", %toEnable); -} - -function ppOptionsSavePreset::onClick(%this) -{ - //Stores the current settings into a preset file for loading and use later on -} - -function ppOptionsLoadPreset::onClick(%this) -{ - //Loads and applies the settings from a postfxpreset file -} - - -//Other controls, Quality dropdown -function ppOptionsSSAOQuality::onSelect( %this, %id, %text ) -{ - if(%id > -1 && %id < 3) - { - $SSAOPostFx::quality = %id; - } -} - -//SSAO Slider controls -//General Tab -function ppOptionsSSAOOverallStrength::onMouseDragged(%this) -{ - $SSAOPostFx::overallStrength = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} - -function ppOptionsSSAOBlurDepth::onMouseDragged(%this) -{ - $SSAOPostFx::blurDepthTol = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} - -function ppOptionsSSAOBlurNormal::onMouseDragged(%this) -{ - $SSAOPostFx::blurNormalTol = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} - -//Near Tab -function ppOptionsSSAONearRadius::onMouseDragged(%this) -{ - $SSAOPostFx::sRadius = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} - -function ppOptionsSSAONearStrength::onMouseDragged(%this) -{ - $SSAOPostFx::sStrength = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} - -function ppOptionsSSAONearDepthMin::onMouseDragged(%this) -{ - $SSAOPostFx::sDepthMin = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} - -function ppOptionsSSAONearDepthMax::onMouseDragged(%this) -{ - $SSAOPostFx::sDepthMax = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} - -function ppOptionsSSAONearToleranceNormal::onMouseDragged(%this) -{ - $SSAOPostFx::sNormalTol = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} - -function ppOptionsSSAONearTolerancePower::onMouseDragged(%this) -{ - $SSAOPostFx::sNormalPow = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} - -//Far Tab -function ppOptionsSSAOFarRadius::onMouseDragged(%this) -{ - $SSAOPostFx::lRadius = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} -function ppOptionsSSAOFarStrength::onMouseDragged(%this) -{ - $SSAOPostFx::lStrength = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} -function ppOptionsSSAOFarDepthMin::onMouseDragged(%this) -{ - $SSAOPostFx::lDepthMin = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} -function ppOptionsSSAOFarDepthMax::onMouseDragged(%this) -{ - $SSAOPostFx::lDepthMax = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} -function ppOptionsSSAOFarToleranceNormal::onMouseDragged(%this) -{ - $SSAOPostFx::lNormalTol = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} -function ppOptionsSSAOFarTolerancePower::onMouseDragged(%this) -{ - $SSAOPostFx::lNormalPow = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} - -//HDR Slider Controls -//Brighness tab - -function ppOptionsHDRToneMappingAmount::onMouseDragged(%this) -{ - - $HDRPostFX::enableToneMapping = %this.value; - %this.ToolTip = "value : " @ %this.value; -} - -function ppOptionsHDRKeyValue::onMouseDragged(%this) -{ - $HDRPostFX::keyValue = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} - -function ppOptionsHDRMinLuminance::onMouseDragged(%this) -{ - $HDRPostFX::minLuminace = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} - -function ppOptionsHDRWhiteCutoff::onMouseDragged(%this) -{ - $HDRPostFX::whiteCutoff = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} - -function ppOptionsHDRBrightnessAdaptRate::onMouseDragged(%this) -{ - $HDRPostFX::adaptRate = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} - -//Blur tab -function ppOptionsHDRBloomBlurBrightPassThreshold::onMouseDragged(%this) -{ - $HDRPostFX::brightPassThreshold = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} - -function ppOptionsHDRBloomBlurMultiplier::onMouseDragged(%this) -{ - $HDRPostFX::gaussMultiplier = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} - -function ppOptionsHDRBloomBlurMean::onMouseDragged(%this) -{ - $HDRPostFX::gaussMean = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} - -function ppOptionsHDRBloomBlurStdDev::onMouseDragged(%this) -{ - $HDRPostFX::gaussStdDev = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} - -function ppOptionsHDRBloom::onAction(%this) -{ - $HDRPostFX::enableBloom = %this.getValue(); -} - -function ppOptionsHDRToneMapping::onAction(%this) -{ - //$HDRPostFX::enableToneMapping = %this.getValue(); -} - -function ppOptionsHDREffectsBlueShift::onAction(%this) -{ - $HDRPostFX::enableBlueShift = %this.getValue(); -} - - -//Controls for color range in blue Shift dialog - -function ppOptionsHDREffectsBlueShiftColorBlend::onAction(%this) -{ - $HDRPostFX::blueShiftColor = %this.PickColor; - %this.ToolTip = "Color Values : " @ %this.PickColor; -} - -function ppOptionsHDREffectsBlueShiftColorBaseColor::onAction(%this) -{ - //This one feeds the one above - ppOptionsHDREffectsBlueShiftColorBlend.baseColor = %this.PickColor; - %this.ToolTip = "Color Values : " @ %this.PickColor; -} - - -//Light rays Brightness Slider Controls -function ppOptionsLightRaysBrightScalar::onMouseDragged(%this) -{ - $LightRayPostFX::brightScalar = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} -//Light rays Number of Samples Slider Control -function ppOptionsLightRaysSampleScalar::onMouseDragged(%this) -{ - $LightRayPostFX::numSamples = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} -//Light rays Density Slider Control -function ppOptionsLightRaysDensityScalar::onMouseDragged(%this) -{ - $LightRayPostFX::density = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} -//Light rays Weight Slider Control -function ppOptionsLightRaysWeightScalar::onMouseDragged(%this) -{ - $LightRayPostFX::weight = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} -//Light rays Decay Slider Control -function ppOptionsLightRaysDecayScalar::onMouseDragged(%this) -{ - $LightRayPostFX::decay = %this.value; - %this.ToolTip = "Value : " @ %this.value; -} - - -function ppOptionsUpdateDOFSettings() -{ - DOFPostEffect.setFocusParams( $DOFPostFx::BlurMin, $DOFPostFx::BlurMax, $DOFPostFx::FocusRangeMin, $DOFPostFx::FocusRangeMax, -($DOFPostFx::BlurCurveNear), $DOFPostFx::BlurCurveFar ); - - DOFPostEffect.setAutoFocus( $DOFPostFx::EnableAutoFocus ); - DOFPostEffect.setFocalDist(0); - - if($PostFXManager::PostFX::EnableDOF) - { - DOFPostEffect.enable(); - } - else - { - DOFPostEffect.disable(); - } -} - -//DOF General Tab -//DOF Toggles -function ppOptionsDOFEnableDOF::onAction(%this) -{ - $PostFXManager::PostFX::EnableDOF = %this.getValue(); - ppOptionsUpdateDOFSettings(); -} - - -function ppOptionsDOFEnableAutoFocus::onAction(%this) -{ - $DOFPostFx::EnableAutoFocus = %this.getValue(); - DOFPostEffect.setAutoFocus( %this.getValue() ); -} - -//DOF AutoFocus Slider controls -function ppOptionsDOFFarBlurMinSlider::onMouseDragged(%this) -{ - $DOFPostFx::BlurMin = %this.value; - ppOptionsUpdateDOFSettings(); -} - -function ppOptionsDOFFarBlurMaxSlider::onMouseDragged(%this) -{ - $DOFPostFx::BlurMax = %this.value; - ppOptionsUpdateDOFSettings(); -} - -function ppOptionsDOFFocusRangeMinSlider::onMouseDragged(%this) -{ - $DOFPostFx::FocusRangeMin = %this.value; - ppOptionsUpdateDOFSettings(); -} - -function ppOptionsDOFFocusRangeMaxSlider::onMouseDragged(%this) -{ - $DOFPostFx::FocusRangeMax = %this.value; - ppOptionsUpdateDOFSettings(); -} - -function ppOptionsDOFBlurCurveNearSlider::onMouseDragged(%this) -{ - $DOFPostFx::BlurCurveNear = %this.value; - ppOptionsUpdateDOFSettings(); -} - -function ppOptionsDOFBlurCurveFarSlider::onMouseDragged(%this) -{ - $DOFPostFx::BlurCurveFar = %this.value; - ppOptionsUpdateDOFSettings(); -} - -function ppOptionsEnableHDRDebug::onAction(%this) -{ - if ( %this.getValue() ) - LuminanceVisPostFX.enable(); - else - LuminanceVisPostFX.disable(); -} - -function ppOptionsUpdateVignetteSettings() -{ - if($PostFXManager::PostFX::EnableVignette) - { - VignettePostEffect.enable(); - } - else - { - VignettePostEffect.disable(); - } -} - -function ppOptionsVignetteEnableVignette::onAction(%this) -{ - $PostFXManager::PostFX::EnableVignette = %this.getValue(); - ppOptionsUpdateVignetteSettings(); -} - -function ppColorCorrection_selectFile() -{ - %filter = "Image Files (*.png, *.jpg, *.dds, *.bmp, *.gif, *.jng. *.tga)|*.png;*.jpg;*.dds;*.bmp;*.gif;*.jng;*.tga|All Files (*.*)|*.*|"; - getLoadFilename( %filter, "ppColorCorrection_selectFileHandler"); -} - -function ppColorCorrection_selectFileHandler( %filename ) -{ - if ( %filename $= "" || !isFile( %filename ) ) - %filename = "core/postFX/images/null_color_ramp.png"; - else - %filename = makeRelativePath( %filename, getMainDotCsDir() ); - - $HDRPostFX::colorCorrectionRamp = %filename; - PostFXManager-->ColorCorrectionFileName.Text = %filename; -} \ No newline at end of file diff --git a/Templates/BaseGame/game/core/postFX/scripts/postFxManager.gui.settings.cs b/Templates/BaseGame/game/core/postFX/scripts/postFxManager.gui.settings.cs deleted file mode 100644 index eefcd9b7e..000000000 --- a/Templates/BaseGame/game/core/postFX/scripts/postFxManager.gui.settings.cs +++ /dev/null @@ -1,439 +0,0 @@ -//----------------------------------------------------------------------------- -// Copyright (c) 2012 GarageGames, LLC -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to -// deal in the Software without restriction, including without limitation the -// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -// sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -// IN THE SOFTWARE. -//----------------------------------------------------------------------------- - -$PostFXManager::defaultPreset = "./default.postfxpreset.cs"; - -function PostFXManager::settingsSetEnabled(%this, %bEnablePostFX) -{ - $PostFXManager::PostFX::Enabled = %bEnablePostFX; - - //if to enable the postFX, apply the ones that are enabled - if ( %bEnablePostFX ) - { - //SSAO, HDR, LightRays, DOF - - if ( $PostFXManager::PostFX::EnableSSAO ) - SSAOPostFx.enable(); - else - SSAOPostFx.disable(); - - if ( $PostFXManager::PostFX::EnableHDR ) - HDRPostFX.enable(); - else - HDRPostFX.disable(); - - if ( $PostFXManager::PostFX::EnableLightRays ) - LightRayPostFX.enable(); - else - LightRayPostFX.disable(); - - if ( $PostFXManager::PostFX::EnableDOF ) - DOFPostEffect.enable(); - else - DOFPostEffect.disable(); - - if ( $PostFXManager::PostFX::EnableVignette ) - VignettePostEffect.enable(); - else - VignettePostEffect.disable(); - - postVerbose("% - PostFX Manager - PostFX enabled"); - } - else - { - //Disable all postFX - - SSAOPostFx.disable(); - HDRPostFX.disable(); - LightRayPostFX.disable(); - DOFPostEffect.disable(); - VignettePostEffect.disable(); - - postVerbose("% - PostFX Manager - PostFX disabled"); - } - - VolFogGlowPostFx.disable(); -} - -function PostFXManager::settingsEffectSetEnabled(%this, %sName, %bEnable) -{ - %postEffect = 0; - - //Determine the postFX to enable, and apply the boolean - if(%sName $= "SSAO") - { - %postEffect = SSAOPostFx; - $PostFXManager::PostFX::EnableSSAO = %bEnable; - //$pref::PostFX::SSAO::Enabled = %bEnable; - } - else if(%sName $= "HDR") - { - %postEffect = HDRPostFX; - $PostFXManager::PostFX::EnableHDR = %bEnable; - //$pref::PostFX::HDR::Enabled = %bEnable; - } - else if(%sName $= "LightRays") - { - %postEffect = LightRayPostFX; - $PostFXManager::PostFX::EnableLightRays = %bEnable; - //$pref::PostFX::LightRays::Enabled = %bEnable; - } - else if(%sName $= "DOF") - { - %postEffect = DOFPostEffect; - $PostFXManager::PostFX::EnableDOF = %bEnable; - //$pref::PostFX::DOF::Enabled = %bEnable; - } - else if(%sName $= "Vignette") - { - %postEffect = VignettePostEffect; - $PostFXManager::PostFX::EnableVignette = %bEnable; - //$pref::PostFX::Vignette::Enabled = %bEnable; - } - - // Apply the change - if ( %bEnable == true ) - { - %postEffect.enable(); - postVerbose("% - PostFX Manager - " @ %sName @ " enabled"); - } - else - { - %postEffect.disable(); - postVerbose("% - PostFX Manager - " @ %sName @ " disabled"); - } -} - -function PostFXManager::settingsRefreshSSAO(%this) -{ - //Apply the enabled flag - ppOptionsEnableSSAO.setValue($PostFXManager::PostFX::EnableSSAO); - - //Add the items we need to display - ppOptionsSSAOQuality.clear(); - ppOptionsSSAOQuality.add("Low", 0); - ppOptionsSSAOQuality.add("Medium", 1); - ppOptionsSSAOQuality.add("High", 2); - - //Set the selected, after adding the items! - ppOptionsSSAOQuality.setSelected($SSAOPostFx::quality); - - //SSAO - Set the values of the sliders, General Tab - ppOptionsSSAOOverallStrength.setValue($SSAOPostFx::overallStrength); - ppOptionsSSAOBlurDepth.setValue($SSAOPostFx::blurDepthTol); - ppOptionsSSAOBlurNormal.setValue($SSAOPostFx::blurNormalTol); - - //SSAO - Set the values for the near tab - ppOptionsSSAONearDepthMax.setValue($SSAOPostFx::sDepthMax); - ppOptionsSSAONearDepthMin.setValue($SSAOPostFx::sDepthMin); - ppOptionsSSAONearRadius.setValue($SSAOPostFx::sRadius); - ppOptionsSSAONearStrength.setValue($SSAOPostFx::sStrength); - ppOptionsSSAONearToleranceNormal.setValue($SSAOPostFx::sNormalTol); - ppOptionsSSAONearTolerancePower.setValue($SSAOPostFx::sNormalPow); - - //SSAO - Set the values for the far tab - ppOptionsSSAOFarDepthMax.setValue($SSAOPostFx::lDepthMax); - ppOptionsSSAOFarDepthMin.setValue($SSAOPostFx::lDepthMin); - ppOptionsSSAOFarRadius.setValue($SSAOPostFx::lRadius); - ppOptionsSSAOFarStrength.setValue($SSAOPostFx::lStrength); - ppOptionsSSAOFarToleranceNormal.setValue($SSAOPostFx::lNormalTol); - ppOptionsSSAOFarTolerancePower.setValue($SSAOPostFx::lNormalPow); -} - -function PostFXManager::settingsRefreshHDR(%this) -{ - //Apply the enabled flag - ppOptionsEnableHDR.setValue($PostFXManager::PostFX::EnableHDR); - - ppOptionsHDRBloom.setValue($HDRPostFX::enableBloom); - ppOptionsHDRBloomBlurBrightPassThreshold.setValue($HDRPostFX::brightPassThreshold); - ppOptionsHDRBloomBlurMean.setValue($HDRPostFX::gaussMean); - ppOptionsHDRBloomBlurMultiplier.setValue($HDRPostFX::gaussMultiplier); - ppOptionsHDRBloomBlurStdDev.setValue($HDRPostFX::gaussStdDev); - ppOptionsHDRBrightnessAdaptRate.setValue($HDRPostFX::adaptRate); - ppOptionsHDREffectsBlueShift.setValue($HDRPostFX::enableBlueShift); - ppOptionsHDREffectsBlueShiftColor.BaseColor = $HDRPostFX::blueShiftColor; - ppOptionsHDREffectsBlueShiftColor.PickColor = $HDRPostFX::blueShiftColor; - ppOptionsHDRKeyValue.setValue($HDRPostFX::keyValue); - ppOptionsHDRMinLuminance.setValue($HDRPostFX::minLuminace); - ppOptionsHDRToneMapping.setValue($HDRPostFX::enableToneMapping); - ppOptionsHDRToneMappingAmount.setValue($HDRPostFX::enableToneMapping); - ppOptionsHDRWhiteCutoff.setValue($HDRPostFX::whiteCutoff); - - %this-->ColorCorrectionFileName.Text = $HDRPostFX::colorCorrectionRamp; -} - -function PostFXManager::settingsRefreshLightrays(%this) -{ - //Apply the enabled flag - ppOptionsEnableLightRays.setValue($PostFXManager::PostFX::EnableLightRays); - - ppOptionsLightRaysBrightScalar.setValue($LightRayPostFX::brightScalar); - - ppOptionsLightRaysSampleScalar.setValue($LightRayPostFX::numSamples); - ppOptionsLightRaysDensityScalar.setValue($LightRayPostFX::density); - ppOptionsLightRaysWeightScalar.setValue($LightRayPostFX::weight); - ppOptionsLightRaysDecayScalar.setValue($LightRayPostFX::decay); -} - -function PostFXManager::settingsRefreshDOF(%this) -{ - //Apply the enabled flag - ppOptionsEnableDOF.setValue($PostFXManager::PostFX::EnableDOF); - - - //ppOptionsDOFEnableDOF.setValue($PostFXManager::PostFX::EnableDOF); - ppOptionsDOFEnableAutoFocus.setValue($DOFPostFx::EnableAutoFocus); - - ppOptionsDOFFarBlurMinSlider.setValue($DOFPostFx::BlurMin); - ppOptionsDOFFarBlurMaxSlider.setValue($DOFPostFx::BlurMax); - - ppOptionsDOFFocusRangeMinSlider.setValue($DOFPostFx::FocusRangeMin); - ppOptionsDOFFocusRangeMaxSlider.setValue($DOFPostFx::FocusRangeMax); - - ppOptionsDOFBlurCurveNearSlider.setValue($DOFPostFx::BlurCurveNear); - ppOptionsDOFBlurCurveFarSlider.setValue($DOFPostFx::BlurCurveFar); - -} - -function PostFXManager::settingsRefreshVignette(%this) -{ - //Apply the enabled flag - ppOptionsEnableVignette.setValue($PostFXManager::PostFX::EnableVignette); - -} - -function PostFXManager::settingsRefreshAll(%this) -{ - $PostFXManager::PostFX::Enabled = $pref::enablePostEffects; - $PostFXManager::PostFX::EnableSSAO = SSAOPostFx.isEnabled(); - $PostFXManager::PostFX::EnableHDR = HDRPostFX.isEnabled(); - $PostFXManager::PostFX::EnableLightRays = LightRayPostFX.isEnabled(); - $PostFXManager::PostFX::EnableDOF = DOFPostEffect.isEnabled(); - $PostFXManager::PostFX::EnableVignette = VignettePostEffect.isEnabled(); - - //For all the postFX here, apply the active settings in the system - //to the gui controls. - - %this.settingsRefreshSSAO(); - %this.settingsRefreshHDR(); - %this.settingsRefreshLightrays(); - %this.settingsRefreshDOF(); - %this.settingsRefreshVignette(); - - ppOptionsEnable.setValue($PostFXManager::PostFX::Enabled); - - postVerbose("% - PostFX Manager - GUI values updated."); -} - -function PostFXManager::settingsApplyFromPreset(%this) -{ - postVerbose("% - PostFX Manager - Applying from preset"); - - //SSAO Settings - $SSAOPostFx::blurDepthTol = $PostFXManager::Settings::SSAO::blurDepthTol; - $SSAOPostFx::blurNormalTol = $PostFXManager::Settings::SSAO::blurNormalTol; - $SSAOPostFx::lDepthMax = $PostFXManager::Settings::SSAO::lDepthMax; - $SSAOPostFx::lDepthMin = $PostFXManager::Settings::SSAO::lDepthMin; - $SSAOPostFx::lDepthPow = $PostFXManager::Settings::SSAO::lDepthPow; - $SSAOPostFx::lNormalPow = $PostFXManager::Settings::SSAO::lNormalPow; - $SSAOPostFx::lNormalTol = $PostFXManager::Settings::SSAO::lNormalTol; - $SSAOPostFx::lRadius = $PostFXManager::Settings::SSAO::lRadius; - $SSAOPostFx::lStrength = $PostFXManager::Settings::SSAO::lStrength; - $SSAOPostFx::overallStrength = $PostFXManager::Settings::SSAO::overallStrength; - $SSAOPostFx::quality = $PostFXManager::Settings::SSAO::quality; - $SSAOPostFx::sDepthMax = $PostFXManager::Settings::SSAO::sDepthMax; - $SSAOPostFx::sDepthMin = $PostFXManager::Settings::SSAO::sDepthMin; - $SSAOPostFx::sDepthPow = $PostFXManager::Settings::SSAO::sDepthPow; - $SSAOPostFx::sNormalPow = $PostFXManager::Settings::SSAO::sNormalPow; - $SSAOPostFx::sNormalTol = $PostFXManager::Settings::SSAO::sNormalTol; - $SSAOPostFx::sRadius = $PostFXManager::Settings::SSAO::sRadius; - $SSAOPostFx::sStrength = $PostFXManager::Settings::SSAO::sStrength; - - //HDR settings - $HDRPostFX::adaptRate = $PostFXManager::Settings::HDR::adaptRate; - $HDRPostFX::blueShiftColor = $PostFXManager::Settings::HDR::blueShiftColor; - $HDRPostFX::brightPassThreshold = $PostFXManager::Settings::HDR::brightPassThreshold; - $HDRPostFX::enableBloom = $PostFXManager::Settings::HDR::enableBloom; - $HDRPostFX::enableBlueShift = $PostFXManager::Settings::HDR::enableBlueShift; - $HDRPostFX::enableToneMapping = $PostFXManager::Settings::HDR::enableToneMapping; - $HDRPostFX::gaussMean = $PostFXManager::Settings::HDR::gaussMean; - $HDRPostFX::gaussMultiplier = $PostFXManager::Settings::HDR::gaussMultiplier; - $HDRPostFX::gaussStdDev = $PostFXManager::Settings::HDR::gaussStdDev; - $HDRPostFX::keyValue = $PostFXManager::Settings::HDR::keyValue; - $HDRPostFX::minLuminace = $PostFXManager::Settings::HDR::minLuminace; - $HDRPostFX::whiteCutoff = $PostFXManager::Settings::HDR::whiteCutoff; - $HDRPostFX::colorCorrectionRamp = $PostFXManager::Settings::ColorCorrectionRamp; - - //Light rays settings - $LightRayPostFX::brightScalar = $PostFXManager::Settings::LightRays::brightScalar; - - $LightRayPostFX::numSamples = $PostFXManager::Settings::LightRays::numSamples; - $LightRayPostFX::density = $PostFXManager::Settings::LightRays::density; - $LightRayPostFX::weight = $PostFXManager::Settings::LightRays::weight; - $LightRayPostFX::decay = $PostFXManager::Settings::LightRays::decay; - - //DOF settings - $DOFPostFx::EnableAutoFocus = $PostFXManager::Settings::DOF::EnableAutoFocus; - $DOFPostFx::BlurMin = $PostFXManager::Settings::DOF::BlurMin; - $DOFPostFx::BlurMax = $PostFXManager::Settings::DOF::BlurMax; - $DOFPostFx::FocusRangeMin = $PostFXManager::Settings::DOF::FocusRangeMin; - $DOFPostFx::FocusRangeMax = $PostFXManager::Settings::DOF::FocusRangeMax; - $DOFPostFx::BlurCurveNear = $PostFXManager::Settings::DOF::BlurCurveNear; - $DOFPostFx::BlurCurveFar = $PostFXManager::Settings::DOF::BlurCurveFar; - - //Vignette settings - $VignettePostEffect::VMax = $PostFXManager::Settings::Vignette::VMax; - $VignettePostEffect::VMin = $PostFXManager::Settings::Vignette::VMin; - - if ( $PostFXManager::forceEnableFromPresets ) - { - $PostFXManager::PostFX::Enabled = $PostFXManager::Settings::EnablePostFX; - $PostFXManager::PostFX::EnableDOF = $pref::PostFX::EnableDOF ? $PostFXManager::Settings::EnableDOF : false; - $PostFXManager::PostFX::EnableVignette = $pref::PostFX::EnableVignette ? $PostFXManager::Settings::EnableVignette : false; - $PostFXManager::PostFX::EnableLightRays = $pref::PostFX::EnableLightRays ? $PostFXManager::Settings::EnableLightRays : false; - $PostFXManager::PostFX::EnableHDR = $pref::PostFX::EnableHDR ? $PostFXManager::Settings::EnableHDR : false; - $PostFXManager::PostFX::EnableSSAO = $pref::PostFX::EnabledSSAO ? $PostFXManager::Settings::EnableSSAO : false; - - %this.settingsSetEnabled( true ); - } - - //make sure we apply the correct settings to the DOF - ppOptionsUpdateDOFSettings(); - - // Update the actual GUI controls if its awake ( otherwise it will when opened ). - if ( PostFXManager.isAwake() ) - %this.settingsRefreshAll(); -} - -function PostFXManager::settingsApplySSAO(%this) -{ - $PostFXManager::Settings::SSAO::blurDepthTol = $SSAOPostFx::blurDepthTol; - $PostFXManager::Settings::SSAO::blurNormalTol = $SSAOPostFx::blurNormalTol; - $PostFXManager::Settings::SSAO::lDepthMax = $SSAOPostFx::lDepthMax; - $PostFXManager::Settings::SSAO::lDepthMin = $SSAOPostFx::lDepthMin; - $PostFXManager::Settings::SSAO::lDepthPow = $SSAOPostFx::lDepthPow; - $PostFXManager::Settings::SSAO::lNormalPow = $SSAOPostFx::lNormalPow; - $PostFXManager::Settings::SSAO::lNormalTol = $SSAOPostFx::lNormalTol; - $PostFXManager::Settings::SSAO::lRadius = $SSAOPostFx::lRadius; - $PostFXManager::Settings::SSAO::lStrength = $SSAOPostFx::lStrength; - $PostFXManager::Settings::SSAO::overallStrength = $SSAOPostFx::overallStrength; - $PostFXManager::Settings::SSAO::quality = $SSAOPostFx::quality; - $PostFXManager::Settings::SSAO::sDepthMax = $SSAOPostFx::sDepthMax; - $PostFXManager::Settings::SSAO::sDepthMin = $SSAOPostFx::sDepthMin; - $PostFXManager::Settings::SSAO::sDepthPow = $SSAOPostFx::sDepthPow; - $PostFXManager::Settings::SSAO::sNormalPow = $SSAOPostFx::sNormalPow; - $PostFXManager::Settings::SSAO::sNormalTol = $SSAOPostFx::sNormalTol; - $PostFXManager::Settings::SSAO::sRadius = $SSAOPostFx::sRadius; - $PostFXManager::Settings::SSAO::sStrength = $SSAOPostFx::sStrength; - - postVerbose("% - PostFX Manager - Settings Saved - SSAO"); - -} - -function PostFXManager::settingsApplyHDR(%this) -{ - $PostFXManager::Settings::HDR::adaptRate = $HDRPostFX::adaptRate; - $PostFXManager::Settings::HDR::blueShiftColor = $HDRPostFX::blueShiftColor; - $PostFXManager::Settings::HDR::brightPassThreshold = $HDRPostFX::brightPassThreshold; - $PostFXManager::Settings::HDR::enableBloom = $HDRPostFX::enableBloom; - $PostFXManager::Settings::HDR::enableBlueShift = $HDRPostFX::enableBlueShift; - $PostFXManager::Settings::HDR::enableToneMapping = $HDRPostFX::enableToneMapping; - $PostFXManager::Settings::HDR::gaussMean = $HDRPostFX::gaussMean; - $PostFXManager::Settings::HDR::gaussMultiplier = $HDRPostFX::gaussMultiplier; - $PostFXManager::Settings::HDR::gaussStdDev = $HDRPostFX::gaussStdDev; - $PostFXManager::Settings::HDR::keyValue = $HDRPostFX::keyValue; - $PostFXManager::Settings::HDR::minLuminace = $HDRPostFX::minLuminace; - $PostFXManager::Settings::HDR::whiteCutoff = $HDRPostFX::whiteCutoff; - $PostFXManager::Settings::ColorCorrectionRamp = $HDRPostFX::colorCorrectionRamp; - - postVerbose("% - PostFX Manager - Settings Saved - HDR"); -} - -function PostFXManager::settingsApplyLightRays(%this) -{ - $PostFXManager::Settings::LightRays::brightScalar = $LightRayPostFX::brightScalar; - - $PostFXManager::Settings::LightRays::numSamples = $LightRayPostFX::numSamples; - $PostFXManager::Settings::LightRays::density = $LightRayPostFX::density; - $PostFXManager::Settings::LightRays::weight = $LightRayPostFX::weight; - $PostFXManager::Settings::LightRays::decay = $LightRayPostFX::decay; - - postVerbose("% - PostFX Manager - Settings Saved - Light Rays"); - -} - -function PostFXManager::settingsApplyDOF(%this) -{ - $PostFXManager::Settings::DOF::EnableAutoFocus = $DOFPostFx::EnableAutoFocus; - $PostFXManager::Settings::DOF::BlurMin = $DOFPostFx::BlurMin; - $PostFXManager::Settings::DOF::BlurMax = $DOFPostFx::BlurMax; - $PostFXManager::Settings::DOF::FocusRangeMin = $DOFPostFx::FocusRangeMin; - $PostFXManager::Settings::DOF::FocusRangeMax = $DOFPostFx::FocusRangeMax; - $PostFXManager::Settings::DOF::BlurCurveNear = $DOFPostFx::BlurCurveNear; - $PostFXManager::Settings::DOF::BlurCurveFar = $DOFPostFx::BlurCurveFar; - - postVerbose("% - PostFX Manager - Settings Saved - DOF"); - -} - -function PostFXManager::settingsApplyVignette(%this) -{ - $PostFXManager::Settings::Vignette::VMax = $VignettePostEffect::VMax; - $PostFXManager::Settings::Vignette::VMin = $VignettePostEffect::VMin; - - postVerbose("% - PostFX Manager - Settings Saved - Vignette"); - -} - -function PostFXManager::settingsApplyAll(%this, %sFrom) -{ - // Apply settings which control if effects are on/off altogether. - $PostFXManager::Settings::EnablePostFX = $PostFXManager::PostFX::Enabled; - $PostFXManager::Settings::EnableDOF = $PostFXManager::PostFX::EnableDOF; - $PostFXManager::Settings::EnableVignette = $PostFXManager::PostFX::EnableVignette; - $PostFXManager::Settings::EnableLightRays = $PostFXManager::PostFX::EnableLightRays; - $PostFXManager::Settings::EnableHDR = $PostFXManager::PostFX::EnableHDR; - $PostFXManager::Settings::EnableSSAO = $PostFXManager::PostFX::EnableSSAO; - - // Apply settings should save the values in the system to the - // the preset structure ($PostFXManager::Settings::*) - - // SSAO Settings - %this.settingsApplySSAO(); - // HDR settings - %this.settingsApplyHDR(); - // Light rays settings - %this.settingsApplyLightRays(); - // DOF - %this.settingsApplyDOF(); - // Vignette - %this.settingsApplyVignette(); - - postVerbose("% - PostFX Manager - All Settings applied to $PostFXManager::Settings"); -} - -function PostFXManager::settingsApplyDefaultPreset(%this) -{ - PostFXManager::loadPresetHandler($PostFXManager::defaultPreset); -} - diff --git a/Templates/BaseGame/game/core/postFX/scripts/ssao.cs b/Templates/BaseGame/game/core/postFX/scripts/ssao.cs index 5fe405a82..e902dd017 100644 --- a/Templates/BaseGame/game/core/postFX/scripts/ssao.cs +++ b/Templates/BaseGame/game/core/postFX/scripts/ssao.cs @@ -61,6 +61,8 @@ function SSAOPostFx::onAdd( %this ) { %this.wasVis = "Uninitialized"; %this.quality = "Uninitialized"; + + PostFXManager.registerPostEffect(%this); } function SSAOPostFx::preProcess( %this ) @@ -128,7 +130,87 @@ function SSAOPostFx::onDisabled( %this ) $AL::UseSSAOMask = false; } +function SSAOPostFx::populatePostFXSettings(%this) +{ + PostEffectEditorInspector.startGroup("SSAO - General"); + PostEffectEditorInspector.addField("$PostFXManager::Settings::EnabledSSAO", "Enabled", "bool", "Low,Medium,High", $PostFXManager::PostFX::EnableSSAO, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::SSAO::quality", "Quality", "list", "Low,Medium,High", $SSAOPostFx::quality, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::SSAO::overallStrength", "Overall Strength", "float", "", $SSAOPostFx::overallStrength, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::SSAO::blurDepthTol", "Blur (Softness)", "float", "", $SSAOPostFx::blurDepthTol, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::SSAO::blurNormalTol", "Blur (Normal Maps)", "float", "", $SSAOPostFx::blurNormalTol, ""); + PostEffectEditorInspector.endGroup(); + + PostEffectEditorInspector.startGroup("SSAO - Near"); + PostEffectEditorInspector.addField("$PostFXManager::Settings::SSAO::sRadius", "Radius", "list", "Low,Medium,High", $SSAOPostFx::sRadius, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::SSAO::sStrength", "Strength", "float", "", $SSAOPostFx::sStrength, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::SSAO::sDepthMin", "Depth Min", "float", "", $SSAOPostFx::sDepthMin, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::SSAO::sDepthMax", "Depth Max", "float", "", $SSAOPostFx::sDepthMax, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::SSAO::sNormalTol", "Normal Map Tolerance", "float", "", $SSAOPostFx::sNormalTol, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::SSAO::sNormalPow", "Normal Map Power", "float", "", $SSAOPostFx::sNormalPow, ""); + PostEffectEditorInspector.endGroup(); + + PostEffectEditorInspector.startGroup("SSAO - Far"); + PostEffectEditorInspector.addField("$PostFXManager::Settings::SSAO::lRadius", "Radius", "list", "Low,Medium,High", $SSAOPostFx::lRadius, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::SSAO::lStrength", "Strength", "float", "", $SSAOPostFx::lStrength, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::SSAO::lDepthMin", "Depth Min", "float", "", $SSAOPostFx::lDepthMin, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::SSAO::lDepthMax", "Depth Max", "float", "", $SSAOPostFx::lDepthMax, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::SSAO::lNormalTol", "Normal Map Tolerance", "float", "", $SSAOPostFx::lNormalTol, ""); + PostEffectEditorInspector.addField("$PostFXManager::Settings::SSAO::lNormalPow", "Normal Map Power", "float", "", $SSAOPostFx::lNormalPow, ""); + PostEffectEditorInspector.endGroup(); +} +function SSAOPostFx::applyFromPreset(%this) +{ + //SSAO Settings + $PostFXManager::PostFX::EnableSSAO = $PostFXManager::Settings::EnabledSSAO; + $SSAOPostFx::blurDepthTol = $PostFXManager::Settings::SSAO::blurDepthTol; + $SSAOPostFx::blurNormalTol = $PostFXManager::Settings::SSAO::blurNormalTol; + $SSAOPostFx::lDepthMax = $PostFXManager::Settings::SSAO::lDepthMax; + $SSAOPostFx::lDepthMin = $PostFXManager::Settings::SSAO::lDepthMin; + $SSAOPostFx::lDepthPow = $PostFXManager::Settings::SSAO::lDepthPow; + $SSAOPostFx::lNormalPow = $PostFXManager::Settings::SSAO::lNormalPow; + $SSAOPostFx::lNormalTol = $PostFXManager::Settings::SSAO::lNormalTol; + $SSAOPostFx::lRadius = $PostFXManager::Settings::SSAO::lRadius; + $SSAOPostFx::lStrength = $PostFXManager::Settings::SSAO::lStrength; + $SSAOPostFx::overallStrength = $PostFXManager::Settings::SSAO::overallStrength; + $SSAOPostFx::quality = $PostFXManager::Settings::SSAO::quality; + $SSAOPostFx::sDepthMax = $PostFXManager::Settings::SSAO::sDepthMax; + $SSAOPostFx::sDepthMin = $PostFXManager::Settings::SSAO::sDepthMin; + $SSAOPostFx::sDepthPow = $PostFXManager::Settings::SSAO::sDepthPow; + $SSAOPostFx::sNormalPow = $PostFXManager::Settings::SSAO::sNormalPow; + $SSAOPostFx::sNormalTol = $PostFXManager::Settings::SSAO::sNormalTol; + $SSAOPostFx::sRadius = $PostFXManager::Settings::SSAO::sRadius; + $SSAOPostFx::sStrength = $PostFXManager::Settings::SSAO::sStrength; + + if($PostFXManager::PostFX::EnableSSAO) + %this.enable(); + else + %this.disable(); +} + +function SSAOPostFx::settingsApply(%this) +{ + $PostFXManager::Settings::EnabledSSAO = $PostFXManager::PostFX::EnableSSAO ; + + $PostFXManager::Settings::SSAO::blurDepthTol = $SSAOPostFx::blurDepthTol; + $PostFXManager::Settings::SSAO::blurNormalTol = $SSAOPostFx::blurNormalTol; + $PostFXManager::Settings::SSAO::lDepthMax = $SSAOPostFx::lDepthMax; + $PostFXManager::Settings::SSAO::lDepthMin = $SSAOPostFx::lDepthMin; + $PostFXManager::Settings::SSAO::lDepthPow = $SSAOPostFx::lDepthPow; + $PostFXManager::Settings::SSAO::lNormalPow = $SSAOPostFx::lNormalPow; + $PostFXManager::Settings::SSAO::lNormalTol = $SSAOPostFx::lNormalTol; + $PostFXManager::Settings::SSAO::lRadius = $SSAOPostFx::lRadius; + $PostFXManager::Settings::SSAO::lStrength = $SSAOPostFx::lStrength; + $PostFXManager::Settings::SSAO::overallStrength = $SSAOPostFx::overallStrength; + $PostFXManager::Settings::SSAO::quality = $SSAOPostFx::quality; + $PostFXManager::Settings::SSAO::sDepthMax = $SSAOPostFx::sDepthMax; + $PostFXManager::Settings::SSAO::sDepthMin = $SSAOPostFx::sDepthMin; + $PostFXManager::Settings::SSAO::sDepthPow = $SSAOPostFx::sDepthPow; + $PostFXManager::Settings::SSAO::sNormalPow = $SSAOPostFx::sNormalPow; + $PostFXManager::Settings::SSAO::sNormalTol = $SSAOPostFx::sNormalTol; + $PostFXManager::Settings::SSAO::sRadius = $SSAOPostFx::sRadius; + $PostFXManager::Settings::SSAO::sStrength = $SSAOPostFx::sStrength; +} //----------------------------------------------------------------------------- // GFXStateBlockData / ShaderData //----------------------------------------------------------------------------- diff --git a/Templates/BaseGame/game/core/rendering/Core_Rendering.cs b/Templates/BaseGame/game/core/rendering/Core_Rendering.cs index 21624a3f1..06271eb0c 100644 --- a/Templates/BaseGame/game/core/rendering/Core_Rendering.cs +++ b/Templates/BaseGame/game/core/rendering/Core_Rendering.cs @@ -9,6 +9,8 @@ function Core_Rendering::onCreate(%this) $Core::DefaultPrefilterCubemap = "core/rendering/images/default_prefilter.dds"; $Core::BRDFTexture = "core/rendering/images/brdfTexture.dds"; + $pref::ReflectionProbes::BakeResolution = ProjectSettings.value("Rendering/ProbeCaptureResolution", "64"); + exec("./scripts/renderManager.cs"); exec("./scripts/gfxData/clouds.cs"); exec("./scripts/gfxData/commonMaterialData.cs"); diff --git a/Templates/BaseGame/game/core/rendering/shaders/gl/lighting.glsl b/Templates/BaseGame/game/core/rendering/shaders/gl/lighting.glsl index cc15a3a90..3bf586218 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/gl/lighting.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/gl/lighting.glsl @@ -47,6 +47,8 @@ uniform vec4 albedo; #define MAX_PROBES 50 #define MAX_FORWARD_PROBES 4 +#define MAX_FORWARD_LIGHT 4 + vec3 getDistanceVectorToPlane( vec3 origin, vec3 direction, vec4 plane ) { float denum = dot( plane.xyz, direction.xyz ); @@ -64,32 +66,6 @@ vec3 getDistanceVectorToPlane( float negFarPlaneDotEye, vec3 direction, vec4 pla return direction.xyz * t; } -void compute4Lights( vec3 wsView, - vec3 wsPosition, - vec3 wsNormal, - vec4 shadowMask, - - #ifdef TORQUE_SHADERGEN - - vec4 inLightPos[3], - vec4 inLightInvRadiusSq, - vec4 inLightColor[4], - vec4 inLightSpotDir[3], - vec4 inLightSpotAngle, - vec4 inLightSpotFalloff, - float smoothness, - float metalness, - vec4 albedo, - - #endif // TORQUE_SHADERGEN - - out vec4 outDiffuse, - out vec4 outSpecular ) -{ - outDiffuse = vec4(0,0,0,0); - outSpecular = vec4(0,0,0,0); -} - struct Surface { vec3 P; // world space position @@ -123,43 +99,43 @@ void updateSurface(inout Surface surface) Surface createSurface(vec4 normDepth, sampler2D colorBuffer, sampler2D matInfoBuffer, in vec2 uv, in vec3 wsEyePos, in vec3 wsEyeRay, in mat4 invView) { - Surface surface;// = Surface(); + Surface surface;// = Surface(); - vec4 gbuffer1 = texture(colorBuffer, uv); - vec4 gbuffer2 = texture(matInfoBuffer, uv); - surface.depth = normDepth.a; - surface.P = wsEyePos + wsEyeRay * surface.depth; - surface.N = tMul(invView, vec4(normDepth.xyz,0)).xyz; - surface.V = normalize(wsEyePos - surface.P); - surface.baseColor = gbuffer1; - const float minRoughness=1e-4; - surface.roughness = clamp(1.0 - gbuffer2.b, minRoughness, 1.0); //t3d uses smoothness, so we convert to roughness. - surface.roughness_brdf = surface.roughness * surface.roughness; - surface.metalness = gbuffer2.a; - surface.ao = gbuffer2.g; - surface.matFlag = gbuffer2.r; - updateSurface(surface); - return surface; + vec4 gbuffer1 = texture(colorBuffer, uv); + vec4 gbuffer2 = texture(matInfoBuffer, uv); + surface.depth = normDepth.a; + surface.P = wsEyePos + wsEyeRay * surface.depth; + surface.N = tMul(invView, vec4(normDepth.xyz,0)).xyz; + surface.V = normalize(wsEyePos - surface.P); + surface.baseColor = gbuffer1; + const float minRoughness=1e-4; + surface.roughness = clamp(1.0 - gbuffer2.b, minRoughness, 1.0); //t3d uses smoothness, so we convert to roughness. + surface.roughness_brdf = surface.roughness * surface.roughness; + surface.metalness = gbuffer2.a; + surface.ao = gbuffer2.g; + surface.matFlag = gbuffer2.r; + updateSurface(surface); + return surface; } -Surface createForwardSurface(vec4 baseColor, vec4 normal, vec4 pbrProperties, in vec2 uv, in vec3 wsPosition, in vec3 wsEyePos, in vec3 wsEyeRay, in mat4x4 invView) +Surface createForwardSurface(vec4 baseColor, vec3 normal, vec4 pbrProperties, in vec3 wsPosition, in vec3 wsEyePos, in vec3 wsEyeRay) { - Surface surface;// = Surface(); + Surface surface;// = Surface(); - surface.depth = 0; - surface.P = wsPosition; - surface.N = tMul(invView, vec4(normal.xyz,0)).xyz; - surface.V = normalize(wsEyePos - surface.P); - surface.baseColor = baseColor; - const float minRoughness=1e-4; - surface.roughness = clamp(1.0 - pbrProperties.b, minRoughness, 1.0); //t3d uses smoothness, so we convert to roughness. - surface.roughness_brdf = surface.roughness * surface.roughness; - surface.metalness = pbrProperties.a; - surface.ao = pbrProperties.g; - surface.matFlag = pbrProperties.r; + surface.depth = 0; + surface.P = wsPosition; + surface.N = normal; + surface.V = normalize(wsEyePos - surface.P); + surface.baseColor = baseColor; + const float minRoughness=1e-4; + surface.roughness = clamp(1.0 - pbrProperties.b, minRoughness, 1.0); //t3d uses smoothness, so we convert to roughness. + surface.roughness_brdf = surface.roughness * surface.roughness; + surface.metalness = pbrProperties.a; + surface.ao = pbrProperties.g; + surface.matFlag = pbrProperties.r; - updateSurface(surface); - return surface; + updateSurface(surface); + return surface; } struct SurfaceToLight @@ -237,7 +213,7 @@ vec3 getDirectionalLight(in Surface surface, in SurfaceToLight surfaceToLight, v vec3 diffuse = BRDF_GetDiffuse(surface,surfaceToLight) * factor; vec3 spec = BRDF_GetSpecular(surface,surfaceToLight) * factor; - vec3 final = max(vec3(0.0f), diffuse + spec * surface.ao); + vec3 final = max(vec3(0.0f), diffuse + spec); return final; } @@ -249,45 +225,71 @@ vec3 getPunctualLight(in Surface surface, in SurfaceToLight surfaceToLight, vec3 vec3 diffuse = BRDF_GetDiffuse(surface,surfaceToLight) * factor; vec3 spec = BRDF_GetSpecular(surface,surfaceToLight) * factor; - vec3 final = max(vec3(0.0f), diffuse + spec * surface.ao * surface.F); + vec3 final = max(vec3(0.0f), diffuse + spec * surface.F); return final; } -float G1V(float dotNV, float k) +vec4 compute4Lights( Surface surface, + vec4 shadowMask, + vec4 inLightPos[4], + vec4 inLightConfigData[4], + vec4 inLightColor[4], + vec4 inLightSpotDir[4], + vec4 lightSpotParams[4], + int hasVectorLight, + vec4 vectorLightDirection, + vec4 vectorLightingColor, + float vectorLightBrightness ) { - return 1.0f/(dotNV*(1.0f-k)+k); -} + vec3 finalLighting = vec3(0.0f); -vec3 directSpecular(vec3 N, vec3 V, vec3 L, float roughness, float F0) -{ - float alpha = roughness*roughness; + int i; + for(i = 0; i < MAX_FORWARD_LIGHT; i++) + { + vec3 L = inLightPos[i].xyz - surface.P; + float dist = length(L); + float lightRange = inLightConfigData[i].z; + SurfaceToLight surfaceToLight = createSurfaceToLight(surface, L); + float shadowed = 1.0; - //TODO don't need to calculate all this again timmy!!!!!! - vec3 H = normalize(V + L); - float dotNL = clamp(dot(N,L), 0.0, 1.0); - float dotNV = clamp(dot(N,V), 0.0, 1.0); - float dotNH = clamp(dot(N,H), 0.0, 1.0); - float dotHV = clamp(dot(H,V), 0.0, 1.0); - float dotLH = clamp(dot(L,H), 0.0, 1.0); + vec3 lightCol = inLightColor[i].rgb; - float F, D, vis; + float lightBrightness = inLightConfigData[i].y; + float lightInvSqrRange= inLightConfigData[i].a; - // D - float alphaSqr = alpha*alpha; - float pi = 3.14159f; - float denom = dotNH * dotNH *(alphaSqr-1.0) + 1.0f; - D = alphaSqr/(pi * denom * denom); + vec3 lighting = vec3(0.0f); - // F - float dotLH5 = pow(1.0f-dotLH,5); - F = F0 + (1.0-F0)*(dotLH5); + if(dist < lightRange) + { + if(inLightConfigData[i].x == 0) //point + { + //get punctual light contribution + lighting = getPunctualLight(surface, surfaceToLight, lightCol, lightBrightness, lightInvSqrRange, shadowed); + } + else //spot + { + + //get Punctual light contribution + lighting = getPunctualLight(surface, surfaceToLight, lightCol, lightBrightness, lightInvSqrRange, shadowed); + //get spot angle attenuation + lighting *= getSpotAngleAtt(-surfaceToLight.L, inLightSpotDir[i].xyz, lightSpotParams[i].xy ); + } + } + finalLighting += lighting; + } - // V - float k = alpha/2.0f; - vis = G1V(dotNL,k)*G1V(dotNV,k); + //Vector light + if(hasVectorLight == 1) + { + SurfaceToLight surfaceToVecLight = createSurfaceToLight(surface, -vectorLightDirection.xyz); - float specular = dotNL * D * F * vis; - return vec3(specular,specular,specular); + vec3 vecLighting = getDirectionalLight(surface, surfaceToVecLight, vectorLightingColor.rgb, vectorLightBrightness, 1); + finalLighting += vecLighting; + } + + finalLighting *= shadowMask.rgb; + + return vec4(finalLighting,1); } //Probe IBL stuff @@ -316,12 +318,12 @@ float defineBoxSpaceInfluence(vec3 wsPosition, mat4 worldToObj, float attenuatio // Box Projected IBL Lighting // Based on: http://www.gamedev.net/topic/568829-box-projected-cubemap-environment-mapping/ // and https://seblagarde.wordpress.com/2012/09/29/image-based-lighting-approaches-and-parallax-corrected-cubemap/ -vec3 boxProject(vec3 wsPosition, vec3 wsReflectVec, mat4 worldToObj, vec3 bbMin, vec3 bbMax, vec3 refPosition) +vec3 boxProject(vec3 wsPosition, vec3 wsReflectVec, mat4 worldToObj, vec3 refBoxMin, vec3 refBoxMax, vec3 refPosition) { vec3 RayLS = tMul(worldToObj, vec4(wsReflectVec, 0.0)).xyz; vec3 PositionLS = tMul(worldToObj, vec4(wsPosition, 1.0)).xyz; - vec3 unit = bbMax.xyz - bbMin.xyz; + vec3 unit = refBoxMax.xyz - refBoxMin.xyz; vec3 plane1vec = (unit / 2 - PositionLS) / RayLS; vec3 plane2vec = (-unit / 2 - PositionLS) / RayLS; vec3 furthestPlane = max(plane1vec, plane2vec); @@ -333,12 +335,12 @@ vec3 boxProject(vec3 wsPosition, vec3 wsReflectVec, mat4 worldToObj, vec3 bbMin, vec4 computeForwardProbes(Surface surface, float cubeMips, float numProbes, mat4x4 worldToObjArray[MAX_FORWARD_PROBES], vec4 probeConfigData[MAX_FORWARD_PROBES], - vec4 inProbePosArray[MAX_FORWARD_PROBES], vec4 bbMinArray[MAX_FORWARD_PROBES], vec4 bbMaxArray[MAX_FORWARD_PROBES], vec4 inRefPosArray[MAX_FORWARD_PROBES], - float hasSkylight, sampler2D BRDFTexture, - samplerCube skylightIrradMap, samplerCube skylightSpecularMap, + vec4 inProbePosArray[MAX_FORWARD_PROBES], vec4 refBoxMinArray[MAX_FORWARD_PROBES], vec4 refBoxMaxArray[MAX_FORWARD_PROBES], vec4 inRefPosArray[MAX_FORWARD_PROBES], + float skylightCubemapIdx, sampler2D BRDFTexture, samplerCubeArray irradianceCubemapAR, samplerCubeArray specularCubemapAR) { - int i = 0; + int i = 0; + float alpha = 1; float blendFactor[MAX_FORWARD_PROBES]; float blendSum = 0; float blendFacSum = 0; @@ -399,15 +401,13 @@ vec4 computeForwardProbes(Surface surface, // Radiance (Specular) float lod = surface.roughness*cubeMips; -//1 - float alpha = 1.0f; for (i = 0; i < numProbes; ++i) { float contrib = contribution[i]; - if (contrib != 0) + if (contrib > 0.0f) { int cubemapIdx = int(probeConfigData[i].a); - vec3 dir = boxProject(surface.P, surface.R, worldToObjArray[i], bbMinArray[i].xyz, bbMaxArray[i].xyz, inRefPosArray[i].xyz); + vec3 dir = boxProject(surface.P, surface.R, worldToObjArray[i], refBoxMinArray[i].xyz, refBoxMaxArray[i].xyz, inRefPosArray[i].xyz); irradiance += textureLod(irradianceCubemapAR, vec4(dir, cubemapIdx), 0).xyz * contrib; specular += textureLod(specularCubemapAR, vec4(dir, cubemapIdx), lod).xyz * contrib; @@ -415,10 +415,10 @@ vec4 computeForwardProbes(Surface surface, } } - if (hasSkylight == 1 && alpha > 0.001) + if(skylightCubemapIdx != -1 && alpha >= 0.001) { - irradiance += textureLod(skylightIrradMap, surface.R, 0).xyz * alpha; - specular += textureLod(skylightSpecularMap, surface.R, lod).xyz * alpha; + irradiance = mix(irradiance,textureLod(irradianceCubemapAR, vec4(surface.R, skylightCubemapIdx), 0).xyz, alpha); + specular = mix(specular,textureLod(specularCubemapAR, vec4(surface.R, skylightCubemapIdx), lod).xyz, alpha); } vec3 F = FresnelSchlickRoughness(surface.NdotV, surface.f0, surface.roughness); @@ -429,13 +429,12 @@ vec4 computeForwardProbes(Surface surface, //apply brdf //Do it once to save on texture samples - vec2 brdf = textureLod(BRDFTexture, vec2(surface.roughness, surface.NdotV),0).xy; + vec2 brdf = textureLod(BRDFTexture, vec2(surface.roughness, 1.0-surface.NdotV),0).xy; specular *= brdf.x * F + brdf.y; //final diffuse color vec3 diffuse = kD * irradiance * surface.baseColor.rgb; vec4 finalColor = vec4(diffuse + specular * surface.ao, 1.0); - finalColor = vec4(irradiance.rgb,1); return finalColor; } diff --git a/Templates/BaseGame/game/core/rendering/shaders/lighting.hlsl b/Templates/BaseGame/game/core/rendering/shaders/lighting.hlsl index 71f10fb09..fdf6f45b9 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/lighting.hlsl +++ b/Templates/BaseGame/game/core/rendering/shaders/lighting.hlsl @@ -99,6 +99,8 @@ struct Surface } }; + + inline Surface createSurface(float4 gbuffer0, TORQUE_SAMPLER2D(gbufferTex1), TORQUE_SAMPLER2D(gbufferTex2), in float2 uv, in float3 wsEyePos, in float3 wsEyeRay, in float4x4 invView) { Surface surface = (Surface)0; @@ -124,28 +126,28 @@ inline Surface createSurface(float4 gbuffer0, TORQUE_SAMPLER2D(gbufferTex1), TOR inline Surface createForwardSurface(float4 baseColor, float3 normal, float4 pbrProperties, in float3 wsPosition, in float3 wsEyePos, in float3 wsEyeRay) { - Surface surface = (Surface)0; + Surface surface = (Surface)0; - surface.depth = 0; - surface.P = wsPosition; - surface.N = normal; - surface.V = normalize(wsEyePos - surface.P); - surface.baseColor = baseColor; - const float minRoughness=1e-4; - surface.roughness = clamp(1.0 - pbrProperties.b, minRoughness, 1.0); //t3d uses smoothness, so we convert to roughness. - surface.roughness_brdf = surface.roughness * surface.roughness; - surface.metalness = pbrProperties.a; - surface.ao = pbrProperties.g; - surface.matFlag = pbrProperties.r; + surface.depth = 0; + surface.P = wsPosition; + surface.N = normal; + surface.V = normalize(wsEyePos - surface.P); + surface.baseColor = baseColor; + const float minRoughness=1e-4; + surface.roughness = clamp(1.0 - pbrProperties.b, minRoughness, 1.0); //t3d uses smoothness, so we convert to roughness. + surface.roughness_brdf = surface.roughness * surface.roughness; + surface.metalness = pbrProperties.a; + surface.ao = pbrProperties.g; + surface.matFlag = pbrProperties.r; - surface.Update(); - return surface; + surface.Update(); + return surface; } struct SurfaceToLight { float3 L; // surface to light vector - float3 Lu; // un-normalized surface to light vector + float3 Lu; // un-normalized surface to light vector float3 H; // half-vector between view vector and light vector float NdotL; // cos(angle between N and L) float HdotV; // cos(angle between H and V) = HdotL = cos(angle between H and L) @@ -155,7 +157,7 @@ struct SurfaceToLight inline SurfaceToLight createSurfaceToLight(in Surface surface, in float3 L) { SurfaceToLight surfaceToLight = (SurfaceToLight)0; - surfaceToLight.Lu = L; + surfaceToLight.Lu = L; surfaceToLight.L = normalize(L); surfaceToLight.H = normalize(surface.V + surfaceToLight.L); surfaceToLight.NdotL = saturate(dot(surfaceToLight.L, surface.N)); diff --git a/Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/gl/deferredShadingP.glsl b/Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/gl/deferredShadingP.glsl index aefdfedd9..949aec129 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/gl/deferredShadingP.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/gl/deferredShadingP.glsl @@ -22,7 +22,7 @@ #include "../../../gl/hlslCompat.glsl" #include "shadergen:/autogenConditioners.h" -#include "../../../postFx/gl/postFX.glsl" +#include "../../../postFx/gl/postFx.glsl" #include "../../../gl/torque.glsl" uniform sampler2D colorBufferTex; diff --git a/Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/gl/pointLightP.glsl b/Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/gl/pointLightP.glsl index 03353c7fc..a58cbe4f0 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/gl/pointLightP.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/gl/pointLightP.glsl @@ -175,7 +175,7 @@ void main() #ifdef SHADOW_CUBE // TODO: We need to fix shadow cube to handle soft shadows! - float occ = texture( shadowMap, ttMul( worldToLightProj, -surfaceToLight.L ) ).r; + float occ = texture( shadowMap, tMul( worldToLightProj, -surfaceToLight.L ) ).r; float shadowed = saturate( exp( lightParams.y * ( occ - distToLight ) ) ); #else @@ -192,7 +192,7 @@ void main() #ifdef USE_COOKIE_TEX // Lookup the cookie sample. - vec4 cookie = texture(cookieMap, ttMul(worldToLightProj, -surfaceToLight.L)); + vec4 cookie = texture(cookieMap, tMul(worldToLightProj, -surfaceToLight.L)); // Multiply the light with the cookie tex. lightCol *= cookie.rgb; // Use a maximum channel luminance to attenuate diff --git a/Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/gl/probeShadingP.glsl b/Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/gl/probeShadingP.glsl deleted file mode 100644 index 437340d29..000000000 --- a/Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/gl/probeShadingP.glsl +++ /dev/null @@ -1,68 +0,0 @@ -//----------------------------------------------------------------------------- -// Copyright (c) 2012 GarageGames, LLC -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to -// deal in the Software without restriction, including without limitation the -// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -// sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -// IN THE SOFTWARE. -//----------------------------------------------------------------------------- - -#include "../../../gl/hlslCompat.glsl" -#include "shadergen:/autogenConditioners.h" -#include "../../../postFx/gl/postFX.glsl" -#include "../../../gl/torque.glsl" - -uniform sampler2D colorBufferTex; -uniform sampler2D diffuseLightingBuffer; -uniform sampler2D matInfoTex; -uniform sampler2D specularLightingBuffer; -uniform sampler2D deferredTex; - -uniform float radius; -uniform vec2 targetSize; -uniform int captureRez; - -out vec4 OUT_col; - -void main() -{ - float depth = deferredUncondition( deferredTex, uv0 ).w; - if (depth>0.9999) - { - discard; - return; - } - vec3 colorBuffer = texture( colorBufferTex, uv0 ).rgb; //albedo - vec4 matInfo = texture(matInfoTex, uv0); //flags|smoothness|ao|metallic - - bool emissive = getFlag(matInfo.r, 0); - if (emissive) - { - OUT_col = vec4(colorBuffer, 1.0); - return; - } - - vec4 diffuseLighting = texture( diffuseLightingBuffer, uv0 ); //shadowmap*specular - colorBuffer *= diffuseLighting.rgb; - vec2 relUV = uv0*targetSize/captureRez; - - //we use a 1k depth range in the capture frustum. - //reduce that a bit to get something resembling depth fidelity out of 8 bits - depth*=2000/radius; - - float rLen = length(vec3(relUV,depth)-vec3(0.5,0.5,0)); - OUT_col = hdrEncode( vec4(colorBuffer,rLen)); -} diff --git a/Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/gl/reflectionProbeArrayP.glsl b/Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/gl/reflectionProbeArrayP.glsl index 90781a799..77a17c3a6 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/gl/reflectionProbeArrayP.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/gl/reflectionProbeArrayP.glsl @@ -27,15 +27,15 @@ uniform samplerCubeArray irradianceCubemapAR; uniform vec4 inProbePosArray[MAX_PROBES]; uniform vec4 inRefPosArray[MAX_PROBES]; uniform mat4 worldToObjArray[MAX_PROBES]; -uniform vec4 bbMinArray[MAX_PROBES]; -uniform vec4 bbMaxArray[MAX_PROBES]; +uniform vec4 refBoxMinArray[MAX_PROBES]; +uniform vec4 refBoxMaxArray[MAX_PROBES]; uniform vec4 probeConfigData[MAX_PROBES]; //r,g,b/mode,radius,atten #if DEBUGVIZ_CONTRIB uniform vec4 probeContribColors[MAX_PROBES]; #endif -uniform float skylightCubemapIdx; +uniform int skylightCubemapIdx; out vec4 OUT_col; @@ -55,7 +55,6 @@ void main() float alpha = 1; -#ifdef SKYLIGHT_ONLY #if SKYLIGHT_ONLY == 0 int i = 0; float blendFactor[MAX_PROBES]; @@ -66,8 +65,8 @@ void main() //Set up our struct data float contribution[MAX_PROBES]; - //if (alpha > 0) - //{ + if (alpha > 0) + { //Process prooooobes for (i = 0; i < numProbes; ++i) { @@ -85,8 +84,6 @@ void main() if (contribution[i]>0.0) probehits++; } - else - continue; contribution[i] = max(contribution[i],0); @@ -99,32 +96,29 @@ void main() // Weight1 = normalized inverted NDF, so we have 1 at center, 0 at boundary // and respect constraint A. - if (probehits>1.0) - { - for (i = 0; i < numProbes; i++) - { - blendFactor[i] = ((contribution[i] / blendSum)) / probehits; - blendFactor[i] *= ((contribution[i]) / invBlendSum); - blendFactor[i] = saturate(blendFactor[i]); - blendFacSum += blendFactor[i]; - } + if (probehits > 1.0) + { + for (i = 0; i < numProbes; i++) + { + blendFactor[i] = ((contribution[i] / blendSum)) / probehits; + blendFactor[i] *= ((contribution[i]) / invBlendSum); + blendFactor[i] = saturate(blendFactor[i]); + blendFacSum += blendFactor[i]; + } - // Normalize blendVal - if (blendFacSum == 0.0f) // Possible with custom weight - { - blendFacSum = 1.0f; - } + // Normalize blendVal + if (blendFacSum == 0.0f) // Possible with custom weight + { + blendFacSum = 1.0f; + } - float invBlendSumWeighted = 1.0f / blendFacSum; - for (i = 0; i < numProbes; ++i) - { - blendFactor[i] *= invBlendSumWeighted; - contribution[i] *= blendFactor[i]; - alpha -= contribution[i]; - } + float invBlendSumWeighted = 1.0f / blendFacSum; + for (i = 0; i < numProbes; ++i) + { + blendFactor[i] *= invBlendSumWeighted; + contribution[i] *= blendFactor[i]; + } } - else - alpha -= blendSum; #if DEBUGVIZ_ATTENUATION == 1 float contribAlpha = 1; @@ -148,14 +142,13 @@ void main() //Skylight coloration for anything not covered by probes above if(skylightCubemapIdx != -1) - finalContribColor += vec3(0.3, 0.3, 0.3) * contribAlpha; + finalContribColor += vec3(0, 1, 0) * contribAlpha; OUT_col = vec4(finalContribColor, 1); return; #endif - //} + } #endif -#endif //SKYLIGHT_ONLY vec3 irradiance = vec3(0, 0, 0); vec3 specular = vec3(0, 0, 0); @@ -167,16 +160,14 @@ void main() float lod = 0; #endif -#ifdef SKYLIGHT_ONLY #if SKYLIGHT_ONLY == 0 - alpha = 1; for (i = 0; i < numProbes; ++i) { float contrib = contribution[i]; - if (contrib != 0) + if (contrib > 0.0f) { float cubemapIdx = probeConfigData[i].a; - vec3 dir = boxProject(surface.P, surface.R, worldToObjArray[i], bbMinArray[i].xyz, bbMaxArray[i].xyz, inRefPosArray[i].xyz); + vec3 dir = boxProject(surface.P, surface.R, worldToObjArray[i], refBoxMinArray[i].xyz, refBoxMaxArray[i].xyz, inRefPosArray[i].xyz); irradiance += textureLod(irradianceCubemapAR, vec4(dir, cubemapIdx), 0).xyz * contrib; specular += textureLod(specularCubemapAR, vec4(dir, cubemapIdx), lod).xyz * contrib; @@ -184,7 +175,6 @@ void main() } } #endif -#endif //SKYLIGHT_ONLY if (skylightCubemapIdx != -1 && alpha > 0.001) { diff --git a/Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/gl/reflectionProbeP.glsl b/Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/gl/reflectionProbeP.glsl deleted file mode 100644 index fee0b8783..000000000 --- a/Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/gl/reflectionProbeP.glsl +++ /dev/null @@ -1,162 +0,0 @@ -//----------------------------------------------------------------------------- -// Copyright (c) 2012 GarageGames, LLC -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to -// deal in the Software without restriction, including without limitation the -// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -// sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -// IN THE SOFTWARE. -//----------------------------------------------------------------------------- -#include "../../../gl/hlslCompat.glsl" -#include "shadergen:/autogenConditioners.h" -#include "farFrustumQuad.glsl" -#include "../../../gl/torque.glsl" -#include "../../../gl/lighting.glsl" -#line 27 - -in vec4 pos; -in vec4 wsEyeDir; -in vec4 ssPos; -in vec4 vsEyeDir; - -uniform sampler2D deferredBuffer; -uniform sampler2D colorBuffer; -uniform sampler2D matInfoBuffer; -uniform samplerCube cubeMap; -uniform samplerCube irradianceCubemap; -uniform sampler2D BRDFTexture; -uniform float cubeMips; - -uniform vec4 rtParams0; - -uniform vec3 probeWSPos; -uniform vec3 probeLSPos; -uniform vec4 vsFarPlane; - -uniform float radius; -uniform vec2 attenuation; - -uniform mat4 worldToObj; -uniform mat4 cameraToWorld; - -uniform vec3 eyePosWorld; -uniform vec3 bbMin; -uniform vec3 bbMax; - -uniform float useSphereMode; - -// Box Projected IBL Lighting -// Based on: http://www.gamedev.net/topic/568829-box-projected-cubemap-environment-mapping/ -// and https://seblagarde.wordpress.com/2012/09/29/image-based-lighting-approaches-and-parallax-corrected-cubemap/ -vec3 boxProject(vec3 wsPosition, vec3 reflectDir, vec3 boxWSPos, vec3 boxMin, vec3 boxMax) -{ - vec3 nrdir = reflectDir; - vec3 offset = wsPosition; - vec3 plane1vec = (boxMax - offset) / nrdir; - vec3 plane2vec = (boxMin - offset) / nrdir; - - vec3 furthestPlane = max(plane1vec, plane2vec); - float dist = min(min(furthestPlane.x, furthestPlane.y), furthestPlane.z); - vec3 posonbox = offset + nrdir * dist; - - return posonbox - boxWSPos; -} - -vec3 iblBoxSpecular(vec3 normal, vec3 wsPos, float roughness, vec3 surfToEye, - sampler2D brdfTexture, - samplerCube radianceCube, - vec3 boxPos, - vec3 boxMin, - vec3 boxMax) -{ - float ndotv = clamp(dot(normal, surfToEye), 0.0, 1.0); - - // BRDF - vec2 brdf = textureLod(brdfTexture, vec2(roughness, ndotv),0).xy; - - // Radiance (Specular) - float maxmip = pow(cubeMips+1,2); - float lod = roughness*maxmip; - vec3 r = reflect(surfToEye, normal); - vec3 cubeR = normalize(r); - cubeR = boxProject(wsPos, cubeR, boxPos, boxMin, boxMax); - - vec3 radiance = textureLod(radianceCube, cubeR, lod).xyz * (brdf.x + brdf.y); - - return radiance; -} - -float defineBoxSpaceInfluence(vec3 surfPosWS, vec3 probePos, float radius, float atten) -{ - vec3 surfPosLS = tMul( worldToObj, vec4(surfPosWS,1.0)).xyz; - - vec3 boxMinLS = probePos-(vec3(1,1,1)*radius); - vec3 boxMaxLS = probePos+(vec3(1,1,1)*radius); - - float boxOuterRange = length(boxMaxLS - boxMinLS); - float boxInnerRange = boxOuterRange / atten; - - vec3 localDir = vec3(abs(surfPosLS.x), abs(surfPosLS.y), abs(surfPosLS.z)); - localDir = (localDir - boxInnerRange) / (boxOuterRange - boxInnerRange); - - return max(localDir.x, max(localDir.y, localDir.z)) * -1; -} -out vec4 OUT_col; - -void main() -{ - - // Compute scene UV - vec2 uvScene = getUVFromSSPos( ssPos.xyz/ssPos.w, rtParams0 ); - - //eye ray WS/LS - vec3 vsEyeRay = getDistanceVectorToPlane( -vsFarPlane.w, vsEyeDir.xyz, vsFarPlane ); - vec3 wsEyeRay = tMul(cameraToWorld, vec4(vsEyeRay, 0)).xyz; - - //unpack normal and linear depth - vec4 normDepth = deferredUncondition(deferredBuffer, uvScene); - - //create surface - Surface surface = createSurface( normDepth, colorBuffer, matInfoBuffer, - uvScene, eyePosWorld, wsEyeRay, cameraToWorld); - float blendVal = 1.0; - if(useSphereMode>0) - { - vec3 L = probeWSPos - surface.P; - blendVal = 1.0-length(L)/radius; - clip(blendVal); - } - else - { - float tempAttenVal = 3.5; - blendVal = defineBoxSpaceInfluence(surface.P, probeWSPos, radius, tempAttenVal); - clip(blendVal); - float compression = 0.05; - blendVal=(1.0-compression)+blendVal*compression; - } - //render into the bound space defined above - vec3 surfToEye = normalize(surface.P - eyePosWorld); - vec3 irradiance = textureLod(irradianceCubemap, surface.N,0).xyz; - vec3 specular = iblBoxSpecular(surface.N, surface.P, surface.roughness, surfToEye, BRDFTexture, cubeMap, probeWSPos, bbMin, bbMax); - vec3 F = FresnelSchlickRoughness(surface.NdotV, surface.f0, surface.roughness); - specular *= F; - //energy conservation - vec3 kD = vec3(1.0) - F; - kD *= 1.0 - surface.metalness; - //final diffuse color - vec3 diffuse = kD * irradiance * surface.baseColor.rgb; - - OUT_col = vec4(diffuse + specular * surface.ao, blendVal); -} diff --git a/Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/gl/reflectionProbeV.glsl b/Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/gl/reflectionProbeV.glsl deleted file mode 100644 index 5d48e6613..000000000 --- a/Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/gl/reflectionProbeV.glsl +++ /dev/null @@ -1,32 +0,0 @@ -#include "shadergen:/autogenConditioners.h" -#include "../../torque.hlsl" - -// This is the shader input -struct Vert -{ - float4 position : POSITION; - float2 uv0 : TEXCOORD0; - float3 wsEyeRay : TEXCOORD1; -}; - -// This is the shader output data. -struct Conn -{ - float4 position : POSITION; - float2 uv0 : TEXCOORD0; - float3 wsEyeRay : TEXCOORD1; -}; - -// Render Target Paramaters -float4 rtParams0; - -Conn main(Vert IN, - uniform float4x4 modelView : register(C0)) -{ - Conn OUT; - OUT.position = IN.position; - OUT.uv0 = viewportCoordToRenderTarget( IN.uv0, rtParams0 ); - OUT.wsEyeRay = IN.wsEyeRay; - return OUT; -} - diff --git a/Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/reflectionProbeArrayP.hlsl b/Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/reflectionProbeArrayP.hlsl index 589b99624..283eb8fae 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/reflectionProbeArrayP.hlsl +++ b/Templates/BaseGame/game/core/rendering/shaders/lighting/advanced/reflectionProbeArrayP.hlsl @@ -93,7 +93,7 @@ float4 main(PFXVertToPix IN) : SV_TARGET // and respect constraint A. if (probehits > 1.0) - { + { for (i = 0; i < numProbes; i++) { blendFactor[i] = ((contribution[i] / blendSum)) / probehits; diff --git a/Templates/BaseGame/game/core/rendering/shaders/postFX/caustics/gl/causticsP.glsl b/Templates/BaseGame/game/core/rendering/shaders/postFX/caustics/gl/causticsP.glsl index d002fd7e1..7bcf39173 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/postFX/caustics/gl/causticsP.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/postFX/caustics/gl/causticsP.glsl @@ -21,7 +21,7 @@ //----------------------------------------------------------------------------- #include "../../../gl/hlslCompat.glsl" -#include "../../gl/postFX.glsl" +#include "../../gl/postFx.glsl" #include "shadergen:/autogenConditioners.h" uniform vec3 eyePosWorld; diff --git a/Templates/BaseGame/game/core/rendering/shaders/postFX/dof/gl/DOF_CalcCoC_P.glsl b/Templates/BaseGame/game/core/rendering/shaders/postFX/dof/gl/DOF_CalcCoC_P.glsl index 38cb099c4..33754006b 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/postFX/dof/gl/DOF_CalcCoC_P.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/postFX/dof/gl/DOF_CalcCoC_P.glsl @@ -21,7 +21,7 @@ //----------------------------------------------------------------------------- #include "../../../gl/hlslCompat.glsl" -#include "../../gl/postFX.glsl" +#include "../../gl/postFx.glsl" // These are set by the game engine. uniform sampler2D shrunkSampler; // Output of DofDownsample() diff --git a/Templates/BaseGame/game/core/rendering/shaders/postFX/dof/gl/DOF_CalcCoC_V.glsl b/Templates/BaseGame/game/core/rendering/shaders/postFX/dof/gl/DOF_CalcCoC_V.glsl index d02ce6551..ab2d7ef62 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/postFX/dof/gl/DOF_CalcCoC_V.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/postFX/dof/gl/DOF_CalcCoC_V.glsl @@ -22,7 +22,7 @@ #include "../../../gl/hlslCompat.glsl" #include "../../../gl/torque.glsl" -#include "../../gl/postFX.glsl" +#include "../../gl/postFx.glsl" uniform vec4 rtParams0; uniform vec4 rtParams1; diff --git a/Templates/BaseGame/game/core/rendering/shaders/postFX/dof/gl/DOF_Final_P.glsl b/Templates/BaseGame/game/core/rendering/shaders/postFX/dof/gl/DOF_Final_P.glsl index 9b976ba1e..96f775cfd 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/postFX/dof/gl/DOF_Final_P.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/postFX/dof/gl/DOF_Final_P.glsl @@ -22,7 +22,7 @@ #include "../../../gl/hlslCompat.glsl" #include "shadergen:/autogenConditioners.h" -#include "../../gl/postFX.glsl" +#include "../../gl/postFx.glsl" uniform sampler2D colorSampler; // Original source image uniform sampler2D smallBlurSampler; // Output of SmallBlurPS() @@ -73,7 +73,7 @@ half4 InterpolateDof( half3 small, half3 med, half3 large, half t ) // d0, the small to medium blur over distance d1, and the medium to // large blur over distance d2, where d0 + d1 + d2 = 1. //vec4 dofLerpScale = vec4( -1 / d0, -1 / d1, -1 / d2, 1 / d2 ); - //vec4 dofLerpBias = vec4( 1, (1 – d2) / d1, 1 / d2, (d2 – 1) / d2 ); + //vec4 dofLerpBias = vec4( 1, (1 � d2) / d1, 1 / d2, (d2 � 1) / d2 ); weights = saturate( t * dofLerpScale + dofLerpBias ); weights.yz = min( weights.yz, 1 - weights.xy ); diff --git a/Templates/BaseGame/game/core/rendering/shaders/postFX/dof/gl/DOF_Final_V.glsl b/Templates/BaseGame/game/core/rendering/shaders/postFX/dof/gl/DOF_Final_V.glsl index abc91246e..f8d5f62a6 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/postFX/dof/gl/DOF_Final_V.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/postFX/dof/gl/DOF_Final_V.glsl @@ -22,7 +22,7 @@ #include "../../../gl/hlslCompat.glsl" #include "../../../gl/torque.glsl" -#include "../../gl/postFX.glsl" +#include "../../gl/postFx.glsl" uniform vec4 rtParams0; uniform vec4 rtParams1; diff --git a/Templates/BaseGame/game/core/rendering/shaders/postFX/dof/gl/DOF_Passthrough_V.glsl b/Templates/BaseGame/game/core/rendering/shaders/postFX/dof/gl/DOF_Passthrough_V.glsl index bd02fb7d4..cce9df691 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/postFX/dof/gl/DOF_Passthrough_V.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/postFX/dof/gl/DOF_Passthrough_V.glsl @@ -22,7 +22,7 @@ #include "../../../gl/hlslCompat.glsl" #include "../../../gl/torque.glsl" -#include "../../gl/postFX.glsl" +#include "../../gl/postFx.glsl" uniform vec4 rtParams0; uniform vec4 rtParams1; diff --git a/Templates/BaseGame/game/core/rendering/shaders/postFX/edgeaa/gl/edgeAAP.glsl b/Templates/BaseGame/game/core/rendering/shaders/postFX/edgeaa/gl/edgeAAP.glsl index 216dc8725..5f2701b12 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/postFX/edgeaa/gl/edgeAAP.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/postFX/edgeaa/gl/edgeAAP.glsl @@ -22,7 +22,7 @@ #include "../../../gl/hlslCompat.glsl" #include "shadergen:/autogenConditioners.h" -#include "../../gl/postFX.glsl" +#include "../../gl/postFx.glsl" uniform sampler2D edgeBuffer; uniform sampler2D backBuffer; diff --git a/Templates/BaseGame/game/core/rendering/shaders/postFX/edgeaa/gl/edgeAAV.glsl b/Templates/BaseGame/game/core/rendering/shaders/postFX/edgeaa/gl/edgeAAV.glsl index 975532272..f886d9313 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/postFX/edgeaa/gl/edgeAAV.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/postFX/edgeaa/gl/edgeAAV.glsl @@ -22,7 +22,7 @@ #include "../../../gl/hlslCompat.glsl" #include "../../../gl/torque.glsl" -#include "../../gl/postFX.glsl" +#include "../../gl/postFx.glsl" uniform vec4 rtParams0; uniform vec4 rtParams1; diff --git a/Templates/BaseGame/game/core/rendering/shaders/postFX/gl/chromaticLens.glsl b/Templates/BaseGame/game/core/rendering/shaders/postFX/gl/chromaticLens.glsl index fdb85ba00..e0aac53c7 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/postFX/gl/chromaticLens.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/postFX/gl/chromaticLens.glsl @@ -20,10 +20,10 @@ // IN THE SOFTWARE. //----------------------------------------------------------------------------- -// Based on 'Cubic Lens Distortion HLSL Shader' by François Tarlier +// Based on 'Cubic Lens Distortion HLSL Shader' by Fran�ois Tarlier // www.francois-tarlier.com/blog/index.php/2009/11/cubic-lens-distortion-shader -#include "./postFX.glsl" +#include "./postFx.glsl" #include "../../gl/torque.glsl" #include "../../gl/hlslCompat.glsl" diff --git a/Templates/BaseGame/game/core/rendering/shaders/postFX/gl/flashP.glsl b/Templates/BaseGame/game/core/rendering/shaders/postFX/gl/flashP.glsl index fc5072e6d..a287a135f 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/postFX/gl/flashP.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/postFX/gl/flashP.glsl @@ -20,7 +20,7 @@ // IN THE SOFTWARE. //----------------------------------------------------------------------------- -#include "./postFX.glsl" +#include "./postFx.glsl" #include "../../gl/torque.glsl" #include "../../gl/hlslCompat.glsl" diff --git a/Templates/BaseGame/game/core/rendering/shaders/postFX/gl/motionBlurP.glsl b/Templates/BaseGame/game/core/rendering/shaders/postFX/gl/motionBlurP.glsl index 8077d4124..9eff3382c 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/postFX/gl/motionBlurP.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/postFX/gl/motionBlurP.glsl @@ -23,7 +23,7 @@ #include "../../gl/hlslCompat.glsl" #include "../../gl/torque.glsl" #include "shadergen:/autogenConditioners.h" -#include "postFX.glsl" +#include "postFx.glsl" #undef IN_uv0 #define _IN_uv0 uv0 diff --git a/Templates/BaseGame/game/core/rendering/shaders/postFX/gl/underwaterFogP.glsl b/Templates/BaseGame/game/core/rendering/shaders/postFX/gl/underwaterFogP.glsl index 8b1b80bc0..ea9126566 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/postFX/gl/underwaterFogP.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/postFX/gl/underwaterFogP.glsl @@ -22,7 +22,7 @@ #include "../../gl/hlslCompat.glsl" #include "../../gl/torque.glsl" -#include "postFX.glsl" +#include "postFx.glsl" #include "shadergen:/autogenConditioners.h" //----------------------------------------------------------------------------- diff --git a/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/bloomGaussBlurHP.glsl b/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/bloomGaussBlurHP.glsl index 1d9a2df3e..f3486dce2 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/bloomGaussBlurHP.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/bloomGaussBlurHP.glsl @@ -22,7 +22,7 @@ #include "../../../gl/hlslCompat.glsl" #include "shadergen:/autogenConditioners.h" -#include "../../gl/postFX.glsl" +#include "../../gl/postFx.glsl" uniform sampler2D inputTex ; uniform vec2 oneOverTargetSize; diff --git a/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/bloomGaussBlurVP.glsl b/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/bloomGaussBlurVP.glsl index 68f34b164..5a456bea5 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/bloomGaussBlurVP.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/bloomGaussBlurVP.glsl @@ -22,7 +22,7 @@ #include "../../../gl/hlslCompat.glsl" #include "shadergen:/autogenConditioners.h" -#include "../../gl/postFX.glsl" +#include "../../gl/postFx.glsl" uniform sampler2D inputTex ; uniform vec2 oneOverTargetSize; diff --git a/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/brightPassFilterP.glsl b/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/brightPassFilterP.glsl index f220ca1e7..222185a4c 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/brightPassFilterP.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/brightPassFilterP.glsl @@ -23,7 +23,7 @@ #include "../../../gl/torque.glsl" #include "../../../gl/hlslCompat.glsl" #include "shadergen:/autogenConditioners.h" -#include "../../gl/postFX.glsl" +#include "../../gl/postFx.glsl" uniform sampler2D inputTex ; uniform sampler2D luminanceTex ; diff --git a/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/calculateAdaptedLumP.glsl b/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/calculateAdaptedLumP.glsl index 96ee9d6df..ea23a489d 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/calculateAdaptedLumP.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/calculateAdaptedLumP.glsl @@ -22,7 +22,7 @@ #include "../../../gl/hlslCompat.glsl" #include "shadergen:/autogenConditioners.h" -#include "../../gl/postFX.glsl" +#include "../../gl/postFx.glsl" uniform sampler2D currLum; uniform sampler2D lastAdaptedLum; diff --git a/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/finalPassCombineP.glsl b/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/finalPassCombineP.glsl index 224e51c5b..4a532345f 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/finalPassCombineP.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/finalPassCombineP.glsl @@ -22,7 +22,7 @@ #include "../../../gl/torque.glsl" #include "../../../gl/hlslCompat.glsl" -#include "../../gl/postFX.glsl" +#include "../../gl/postFx.glsl" #include "shadergen:/autogenConditioners.h" uniform sampler2D sceneTex; diff --git a/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/luminanceVisP.glsl b/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/luminanceVisP.glsl index ee9c28c87..3ced367c3 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/luminanceVisP.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/luminanceVisP.glsl @@ -23,7 +23,7 @@ #include "../../../gl/torque.glsl" #include "../../../gl/hlslCompat.glsl" #include "shadergen:/autogenConditioners.h" -#include "../../gl/postFX.glsl" +#include "../../gl/postFx.glsl" uniform sampler2D inputTex; uniform float brightPassThreshold; diff --git a/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/sampleLumInitialP.glsl b/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/sampleLumInitialP.glsl index 8a2b9b318..18455d646 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/sampleLumInitialP.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/sampleLumInitialP.glsl @@ -22,7 +22,7 @@ #include "../../../gl/torque.glsl" #include "../../../gl/hlslCompat.glsl" -#include "../../gl/postFX.glsl" +#include "../../gl/postFx.glsl" uniform sampler2D inputTex; uniform vec2 texSize0; diff --git a/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/sampleLumIterativeP.glsl b/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/sampleLumIterativeP.glsl index 2e800d612..162141225 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/sampleLumIterativeP.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/postFX/hdr/gl/sampleLumIterativeP.glsl @@ -21,7 +21,7 @@ //----------------------------------------------------------------------------- #include "../../../gl/hlslCompat.glsl" -#include "../../gl/postFX.glsl" +#include "../../gl/postFx.glsl" uniform sampler2D inputTex; uniform vec2 oneOverTargetSize; diff --git a/Templates/BaseGame/game/core/rendering/shaders/postFX/lightRay/gl/lightRayOccludeP.glsl b/Templates/BaseGame/game/core/rendering/shaders/postFX/lightRay/gl/lightRayOccludeP.glsl index 59f5f4bbf..1f5fdf102 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/postFX/lightRay/gl/lightRayOccludeP.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/postFX/lightRay/gl/lightRayOccludeP.glsl @@ -22,7 +22,7 @@ #include "../../../gl/hlslCompat.glsl" #include "shadergen:/autogenConditioners.h" -#include "../../gl/postFX.glsl" +#include "../../gl/postFx.glsl" uniform sampler2D backBuffer; // The original backbuffer. uniform sampler2D deferredTex; // The pre-pass depth and normals. diff --git a/Templates/BaseGame/game/core/rendering/shaders/postFX/lightRay/gl/lightRayP.glsl b/Templates/BaseGame/game/core/rendering/shaders/postFX/lightRay/gl/lightRayP.glsl index 6d78f4eae..4e06edb4b 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/postFX/lightRay/gl/lightRayP.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/postFX/lightRay/gl/lightRayP.glsl @@ -21,7 +21,7 @@ //----------------------------------------------------------------------------- #include "../../../gl/hlslCompat.glsl" -#include "../../gl/postFX.glsl" +#include "../../gl/postFx.glsl" uniform sampler2D frameSampler; uniform sampler2D backBuffer; diff --git a/Templates/BaseGame/game/core/rendering/shaders/postFX/ssao/gl/SSAO_P.glsl b/Templates/BaseGame/game/core/rendering/shaders/postFX/ssao/gl/SSAO_P.glsl index cfff88381..e4b17098a 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/postFX/ssao/gl/SSAO_P.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/postFX/ssao/gl/SSAO_P.glsl @@ -22,7 +22,7 @@ #include "../../../gl/hlslCompat.glsl" #include "shadergen:/autogenConditioners.h" -#include "../../gl/postFX.glsl" +#include "../../gl/postFx.glsl" #define DOSMALL #define DOLARGE diff --git a/Templates/BaseGame/game/core/rendering/shaders/postFX/ssao/gl/SSAO_PowerTable_V.glsl b/Templates/BaseGame/game/core/rendering/shaders/postFX/ssao/gl/SSAO_PowerTable_V.glsl index a193f63ce..2b1d983d0 100644 --- a/Templates/BaseGame/game/core/rendering/shaders/postFX/ssao/gl/SSAO_PowerTable_V.glsl +++ b/Templates/BaseGame/game/core/rendering/shaders/postFX/ssao/gl/SSAO_PowerTable_V.glsl @@ -22,7 +22,7 @@ #include "../../../gl/torque.glsl" #include "../../../gl/hlslCompat.glsl" -#include "../../gl/postFX.glsl" +#include "../../gl/postFx.glsl" void main() { diff --git a/Templates/BaseGame/game/data/ExampleModule/ExampleModule.cs b/Templates/BaseGame/game/data/ExampleModule/ExampleModule.cs index 02e316f13..1004dd8cd 100644 --- a/Templates/BaseGame/game/data/ExampleModule/ExampleModule.cs +++ b/Templates/BaseGame/game/data/ExampleModule/ExampleModule.cs @@ -6,7 +6,6 @@ //else. function ExampleModule::onCreate(%this) { - %bool = true; } //Similar to the create function, this is defined in thye module file, and called @@ -70,6 +69,8 @@ function ExampleModule::onDestroyGameServer(%this) function ExampleModule::initClient(%this) { AssetDatabase.acquireAsset("ExampleModule:exampleDatablock"); + AssetDatabase.acquireAsset("ExampleModule:examplePostEffect"); + AssetDatabase.acquireAsset("ExampleModule:exampleGUI"); //client scripts //Here, we exec out keybind scripts so the player is able to move when they get into a game @@ -91,7 +92,7 @@ function ExampleModule::initClient(%this) function ExampleModule::onCreateClientConnection(%this) { //This will push our keybind movemap onto the input stack, so we can control our camera in our ExampleGameMode - ExampleMoveMap.push(); + //ExampleMoveMap.push(); } //This is called when a client game session disconnects from a game server @@ -103,5 +104,5 @@ function ExampleModule::onCreateClientConnection(%this) function ExampleModule::onDestroyClientConnection(%this) { //This will pop the keybind, cleaning it up from the input stack, as it no longer applies - ExampleMoveMap.pop(); + //ExampleMoveMap.pop(); } \ No newline at end of file diff --git a/Templates/BaseGame/game/data/ExampleModule/ExampleModule.module b/Templates/BaseGame/game/data/ExampleModule/ExampleModule.module index d66580ddb..8680e0483 100644 --- a/Templates/BaseGame/game/data/ExampleModule/ExampleModule.module +++ b/Templates/BaseGame/game/data/ExampleModule/ExampleModule.module @@ -12,14 +12,4 @@ canSaveDynamicFields="true" Extension="asset.taml" Recurse="true" /> - - diff --git a/Templates/BaseGame/game/data/ExampleModule/levels/ExampleLevel.mis b/Templates/BaseGame/game/data/ExampleModule/levels/ExampleLevel.mis index b77aab33b..9ef5dce70 100644 --- a/Templates/BaseGame/game/data/ExampleModule/levels/ExampleLevel.mis +++ b/Templates/BaseGame/game/data/ExampleModule/levels/ExampleLevel.mis @@ -2,13 +2,16 @@ new Scene(EditorTemplateLevel) { canSave = "1"; canSaveDynamicFields = "1"; + isSubScene = "0"; + isEditing = "0"; + isDirty = "0"; + gameModeName = "ExampleGameMode"; cdTrack = "2"; CTF_scoreLimit = "5"; - enabled = "1"; + Enabled = "1"; musicTrack = "lush"; - gameModeName="ExampleGameMode"; - new LevelInfo(TheLevelInfo) { + new LevelInfo(theLevelInfo) { nearClip = "0.1"; visibleDistance = "1000"; visibleGhostDistance = "0"; @@ -20,67 +23,14 @@ new Scene(EditorTemplateLevel) { canvasClearColor = "0 0 0 255"; ambientLightBlendPhase = "1"; ambientLightBlendCurve = "0 0 -1 -1"; - advancedLightmapSupport = "0"; soundAmbience = "AudioAmbienceDefault"; soundDistanceModel = "Linear"; canSave = "1"; canSaveDynamicFields = "1"; + advancedLightmapSupport = "0"; desc0 = "A blank room template that acts as a starting point."; - enabled = "1"; - levelName = "Blank Room Template"; - }; - new SkyBox(theSky) { - Material = "BlankSkyMat"; - drawBottom = "0"; - fogBandHeight = "0"; - position = "0 0 0"; - rotation = "1 0 0 0"; - scale = "1 1 1"; - canSave = "1"; - canSaveDynamicFields = "1"; - }; - new Sun(theSun) { - azimuth = "230.396"; - elevation = "45"; - color = "0.968628 0.901961 0.901961 1"; - ambient = "0.337255 0.533333 0.619608 1"; - brightness = "1"; - castShadows = "1"; - staticRefreshFreq = "250"; - dynamicRefreshFreq = "8"; - coronaEnabled = "1"; - coronaScale = "0.5"; - coronaTint = "1 1 1 1"; - coronaUseLightColor = "1"; - flareScale = "1"; - attenuationRatio = "0 1 1"; - shadowType = "PSSM"; - texSize = "1024"; - overDarkFactor = "3000 1500 750 250"; - shadowDistance = "200"; - shadowSoftness = "0.25"; - numSplits = "4"; - logWeight = "0.9"; - fadeStartDistance = "0"; - lastSplitTerrainOnly = "0"; - representedInLightmap = "0"; - shadowDarkenColor = "0 0 0 -1"; - includeLightmappedGeometryInShadow = "0"; - position = "0 0 0"; - rotation = "1 0 0 0"; - scale = "1 1 1"; - canSave = "1"; - canSaveDynamicFields = "1"; - bias = "0.1"; - Blur = "1"; - enabled = "1"; - height = "1024"; - lightBleedFactor = "0.8"; - minVariance = "0"; - pointShadowType = "PointShadowType_Paraboloid"; - shadowBox = "-100 -100 -100 100 100 100"; - splitFadeDistances = "1 1 1 1"; - width = "3072"; + Enabled = "1"; + LevelName = "Blank Room Template"; }; new GroundPlane() { squareSize = "128"; @@ -89,11 +39,69 @@ new Scene(EditorTemplateLevel) { Material = "Grid_512_Grey"; canSave = "1"; canSaveDynamicFields = "1"; - enabled = "1"; + Enabled = "1"; position = "0 0 0"; rotation = "1 0 0 0"; scale = "1 1 1"; }; + new ScatterSky() { + skyBrightness = "25"; + sunSize = "1"; + colorizeAmount = "0"; + colorize = "0 0 0 1"; + rayleighScattering = "0.0035"; + sunScale = "1 1 1 1"; + ambientScale = "1 1 1 1"; + fogScale = "1 1 1 1"; + exposure = "1"; + zOffset = "0"; + azimuth = "0"; + elevation = "35"; + moonAzimuth = "0"; + moonElevation = "45"; + castShadows = "1"; + staticRefreshFreq = "8"; + dynamicRefreshFreq = "8"; + brightness = "1"; + flareScale = "1"; + nightColor = "0.0196078 0.0117647 0.109804 1"; + nightFogColor = "0.0196078 0.0117647 0.109804 1"; + moonEnabled = "1"; + moonMat = "Moon_Glow_Mat"; + moonScale = "0.2"; + moonLightColor = "0.192157 0.192157 0.192157 1"; + useNightCubemap = "1"; + nightCubemap = "NightCubemap"; + attenuationRatio = "0 1 1"; + shadowType = "PSSM"; + texSize = "1024"; + overDarkFactor = "2000 1000 500 100"; + shadowDistance = "400"; + shadowSoftness = "0.15"; + numSplits = "4"; + logWeight = "0.91"; + fadeStartDistance = "0"; + lastSplitTerrainOnly = "0"; + representedInLightmap = "0"; + shadowDarkenColor = "0 0 0 -1"; + includeLightmappedGeometryInShadow = "0"; + position = "-19.4839 100.725 -19.5889"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + canSave = "1"; + canSaveDynamicFields = "1"; + mieScattering = "0.0045"; + }; + new Skylight() { + Enabled = "1"; + ReflectionMode = "Baked Cubemap"; + position = "-2.09752 10.8435 53.7998"; + rotation = "1 0 0 0"; + canSave = "1"; + canSaveDynamicFields = "1"; + persistentId = "fff282f5-dced-11e9-a423-bb0e346e3870"; + reflectionPath = "D:/Gamedev/T3DMIT/T3DPreview4_0/Bugfixaroo/My Projects/Bugfixaroo/game/data/ExampleModule/levels/ExampleLevel/probes/"; + }; }; //--- OBJECT WRITE END --- diff --git a/Templates/BaseGame/game/data/ExampleModule/postFXs/ExamplePostEffect.cs b/Templates/BaseGame/game/data/ExampleModule/postFXs/ExamplePostEffect.cs index 9afb33843..93d44262e 100644 --- a/Templates/BaseGame/game/data/ExampleModule/postFXs/ExamplePostEffect.cs +++ b/Templates/BaseGame/game/data/ExampleModule/postFXs/ExamplePostEffect.cs @@ -61,6 +61,12 @@ function ExamplePostEffect::preProcess( %this ) { } +function ExamplePostEffect::onAdd(%this) +{ + //Register the postFX with the manager + PostFXManager.registerPostEffect(%this); +} + function ExamplePostEffect::onEnabled( %this ) { return true; @@ -70,6 +76,35 @@ function ExamplePostEffect::onDisabled( %this ) { } +//This is used to populate the PostFXEditor's settings so the post FX can be edited +//This is automatically polled for any postFX that has been registered(in our onAdd) and the settings +//are thus exposed for editing +function ExamplePostEffect::populatePostFXSettings(%this) +{ + PostEffectEditorInspector.startGroup("ExamplePostEffect - General"); + PostEffectEditorInspector.addField("$PostFXManager::Settings::EnabledExamplePostEffect", "Enabled", "bool", "", $PostFXManager::PostFX::EnableExamplePostEffect, ""); + PostEffectEditorInspector.endGroup(); +} + +//This function pair(applyFromPreset and settingsApply) are done the way they are, with the separated variables +//so that we can effectively store the 'settings' away from the live variables that the postFX's actually utilize +//when rendering. This allows us to modify things but still leave room for reverting or temporarily applying them +function ExamplePostEffect::applyFromPreset(%this) +{ + //ExamplePostEffect Settings + $PostFXManager::PostFX::EnableExamplePostEffect = $PostFXManager::Settings::EnabledExamplePostEffect; + + if($PostFXManager::PostFX::EnableExamplePostEffect) + %this.enable(); + else + %this.disable(); +} + +function ExamplePostEffect::settingsApply(%this) +{ + $PostFXManager::Settings::EnabledExamplePostEffect = $PostFXManager::PostFX::EnableExamplePostEffect; +} + singleton PostEffect( ExamplePostEffect ) { isEnabled = false; diff --git a/Templates/BaseGame/game/data/pbr/levels/PbrMatTest.mis b/Templates/BaseGame/game/data/pbr/levels/PbrMatTest.mis index b19fcb899..91ca6f881 100644 --- a/Templates/BaseGame/game/data/pbr/levels/PbrMatTest.mis +++ b/Templates/BaseGame/game/data/pbr/levels/PbrMatTest.mis @@ -276,7 +276,7 @@ new Scene(PbrMatTestLevel) { refOffset = "0 0 0"; refScale = "5 5 5"; ReflectionMode = "Baked Cubemap"; - position = "1.38772 -1.0083 2.23039"; + position = "0 0 1"; rotation = "1 0 0 0"; scale = "5 5 5"; canSave = "1"; diff --git a/Templates/BaseGame/game/data/pbr/levels/PbrMatTest/probes/1703285932_Irradiance.dds b/Templates/BaseGame/game/data/pbr/levels/PbrMatTest/probes/1703285932_Irradiance.dds index 91a718504296d2db99da5fb5c8df9048df0502f2..05aecd9f31640ff72c0ac3948121a870df8a2001 100644 GIT binary patch literal 262276 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�B=-Ma;(%k|RkMPQ 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 literal 262276 zcmeIuy$!-J5C+iWM*`815i$a7kRltTVHj3q1g}E4NY^0IAh~>>bha$pU-9O78J`hx z9riKhzRfF>Tb#D#kBs^Dm@_}_w_o4R!xZuUzPaS_khA^U)m5vkLVy4P0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAkbByRl1fcBS3%v0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5LjCU1pxvC2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfIwe?R_WWS zjQ{}x1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK%iAf5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72=oMEl~gf diff --git a/Templates/BaseGame/game/data/pbr/levels/PbrMatTest/probes/1703285932_Prefilter.dds b/Templates/BaseGame/game/data/pbr/levels/PbrMatTest/probes/1703285932_Prefilter.dds index 91a718504296d2db99da5fb5c8df9048df0502f2..589408e56c1d32372379b58a39a78f8968060e22 100644 GIT binary patch literal 262276 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 literal 262276 zcmeIuy$!-J5C+iWM*`815i$a7kRltTVHj3q1g}E4NY^0IAh~>>bha$pU-9O78J`hx z9riKhzRfF>Tb#D#kBs^Dm@_}_w_o4R!xZuUzPaS_khA^U)m5vkLVy4P0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAkbByRl1fcBS3%v0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5LjCU1pxvC2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfIwe?R_WWS zjQ{}x1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK%iAf5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72=oMEl~gf diff --git a/Templates/BaseGame/game/data/pbr/levels/PbrMatTest/probes/693653254_Irradiance.dds b/Templates/BaseGame/game/data/pbr/levels/PbrMatTest/probes/693653254_Irradiance.dds index 7d29af056717153f205567ab916c7f7182d916c4..c66e714537eb2f80cbdbbe7a33c9e805ed49d9c1 100644 GIT binary patch literal 262276 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 O5HbQGBk=!W1pXgZ9_*w5 literal 262276 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%0D0RCfAF`^qAR+>xz`wVmx@MzFgFi4O)(;t z+%m3N&uzl{XWSKf>w$Ngmx#QK?n;U{J%aCee1!Ks)$YNUJdjWIcGMBjd&+}?_aF8A zst!CtebEV=$uq>C=W%{8@qbV`1MyFs7Gp-1ul(io@%V<6ulxyZtyn*P9&9fD9p~HA zQ;*{K-I@ygG5;qOO>_KzE7Sz*zj|*T$SAr;6(auQsS4mffcW2y<1+rK|L)>(ZLM}M z=KZ4gqb$Vu&$ObVVhy;jo_X=i=cDigjQ^4U*Ma}t{*PPtv+u`xkMlkl-(2TKT&3O~ z%LA?skn!K(#huK@?91$n|Gs%Yu~)CV`9j9Cyk7bP_q#an>lfr7@<`*jIz;#%_A~w) zyyI6vzpUNWM7;#TOpzb68ccA~n`tMrpda-VlYP1*U z4T3co{||zF821ZNo$}xDxHcOR&3V6BG5?p|v;g?FVElJL#DA~AKY?sP9vHycwB26* zuS5NJCGfA&Q8|MDH_n_}szUdF5dW%(_`g?nO6g&k|Fr@6pYuQ01$zYkKCJV1=l!|( zvu=0mF&F1VWX?W*AoBtFfPNz5pLn@E;Lg{Ob-CD&c$7HH`CU@aN!`$}SLeBYA@|b? zT)pGcKQj0|*AHCWW!~WThxqSUsaA-(eq!QW%mdCky80pNI_MwZK>UB6Tm}!wIydV4 zvX8I)C)!5i64)8Z8nHf{{Uho}tk*QC^B-5w5cn^{^{fj~#aXqm==S2vADqV*H$`4Y z-=F=TXR&^m+m^k@W_)A(-m1rThuM^*A1sF-%)#$hnXTfxLTjP>SL3`kqdU0``~C2y zdf?xN>R}l87vL*IjQ?CKF7p0Vs6*C+jQ{1ZRhajGI*vDJevR|~G3UF~hxuQ>2LFE! z{M*zC3C;tbWG>N9$NcX@Lx1)7f2{9E+*$v-@h^3NH{Rm)Rp<{qF6(>pF!3S2wCu|e zmpOaKW!-U^Mh`FP2kX7>Hn4stUr;yjy7ivre%_D!iD&lz9G7*$n7@!Ocz@bIm$|q< zoOoQs{UX%yU5HECR@m(#FJOMOGE?Y)4fy^8*K-dd?yGN(?Y+1eS%7X|68d0lh~hQuCmAj)%e~F=ZDDre*%6r4!pNu zRWkkK5dA(evzwz_o&`U6 zsN~qP(@HV_cxG40a?JO=yI7m~1@iwkZCL3*ALu&7|5U{Plu!@8^Tzt${muv1d6ECQ z-pB3BxqUjx`?CKhZz0NBvD)yU@>@3LF≤UCD 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%0Ap+c{Pqos{4elfQfvBi9xM!eV-if+Gp&m6K#r*Md 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�ktYV2wdr3&H2o#@MZFk3qY*{ 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�<>+DhH1)r+ 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¨89HiC2>qW1%Dcfhdv@v zIAR`&VPWK9EL&LaH00A9lh#|R$#^U5yYv;Xhiq`NK}0?VYi=T$qFx9}SkDgcQ;S-F z$Z)q*Lqj+06S8qx(2Ome=0Dh=dv^G_!C0)tc;(|*$4152{wjez=v7N|p(SA=vkel0kyjh3)9SD2@C;Bo63MK13?jVg3lP=} z#A!UK;aM+lBk+&QUb1^OJArvKcU(5s-z_6Eo7OrOqf)C_Fib&5h<|Ny6)XUiE!fxi ze}7@eWP?3M{bucYb#v+o8>WI!DVMFAS+{Kz+HayG^)-iG(Lb-~Lmzwmc~Sdx(to6E z`VJ=)VchHCGnNYk$lRuI6#z7E22y;NWOr<@P599W>|w0iF~J+gUvrWkb%;3-cj9 zbdU#glFKa6SHM5ilw!kg;ouqwUNmxCOY*B$Z0Uh&e~28WSP*~mf@^IMNT2qIr_;>< zi#i(({<>L=-?OOpH;0&Ar(eZ=ReYoU5rPK89s^~*}7_X*2lOsyW9$ur!_YWxJU=?@35Dz-Yf_)u{NcKf<05Q;^4=9dx z$;1m*s1xUlxPLNST3jXY{cTDah3#*nbAo;B*#y#quEOVPv}b)vjuoABF8BlOK&r<1b-# z@UaE40+v!-ZMmdY``cqqqoam#r#|dS?B#Ym*P%~I^M83DoW-7a-on88-fNn7;~J-h zV(KXNY|I`KW>|}ut4+sl5j}feg0NDnv=cNnEcreKKUigLM9uMe9cv=!r#FrsQry8F z^>2BXPkaw=jMXlN(+55{Bo`m`WM=@G7a*`~%(Nk3N+`Y@=u0A$nL1Ux?e7VBa$>PJ z3`?T9q))u(<$3V#)Si`-=uAs{#Qx;BrIIVUZYUoiY`*(|B^zBSPzc- z@$TN^?j0c1N=!97CID5lj6^gdrZcOe?-kt$Vi05Kmzb%?l8Y&{9bfnG@bxatv)Z5g zbMz`%lK~!)cz=%RhDE$VJhN%(ocD$1ylobwI~JTqXV67$3X zVlm&satpJ9p%PCMhZI$#d?D?!!g-6cTB@+dJ^2g$S#2fBb(%p$v4j}n5Fw+2B1*6j zrd1=wM1uAsZT!QIKTa;0TtzT)ET9Y(lH&*egWuhnxqqoiH_0CXI$v!2V+8Q+0`;nG ze;?a+{RHqn16NwpU#jOHnOz0JG3T6_EVOryUav0`$-zmDFd00006VoOIv z0RI6000sY`y{D6tDGDEd2^|6}5_Kwe@Bjb;G)Y83R9M69mCtG#Q5431PDCnNVj5`G z&@^aEVzTrPCHev-`T~Xa;Tp&bIFc7o2|8J-i&htDBW>DbW?B$+bGtAj*BP5e#)Zgy zFmU)d=bL-(%sHP=fWQTOR>;l{wX5v|7vu96~dEGFR00M-6-zq*lN+kfOT`-Mh zNPN51=~^PnOz|Uec$7+5CsuF?pX*Dsw@|HJP{_Y^B-;6QtJAwP%!KO}JONK&O$63q z8g;`=wp*RvB1P?1r)TX%*IU`QI=+xE98bQ4dd@VKA@Q|pebyJ|7CeA_;ds@2L2jX} zo>MBmb0pgNTD9(f`GP0l39Q*P>V}!DRqG4+Laka~OJ69KP9|UC^o(gNL*mtPW!4ww z7CeAr>15S>L2lvG=@}nCymutpd9_^ee8Cg&1lDXCb;C@m<;p_7pq4AE<_lW0u?@t5 zKsuY#E}M;vJyGJvKtGes-3kzXt=ZUCHa7NRu^8d-QvmjV4^ngAwttXfFc<``ufOeS z%?4z1C_sECzC$P!Mu&u^3Qc>E}V(Qt@q8UTF& weaB^>EX>4U6ba`-PAZ2)IW&i+q+O3#rvgEi8 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 diff --git a/Templates/BaseGame/game/tools/gui/messageBoxes/IODropdownDlg.ed.gui b/Templates/BaseGame/game/tools/gui/messageBoxes/IODropdownDlg.ed.gui index 5fa0093da..a65acf0b0 100644 --- a/Templates/BaseGame/game/tools/gui/messageBoxes/IODropdownDlg.ed.gui +++ b/Templates/BaseGame/game/tools/gui/messageBoxes/IODropdownDlg.ed.gui @@ -40,7 +40,7 @@ anchorLeft = "1"; anchorRight = "0"; isContainer = "0"; - profile = "GuiMLTextProfile"; + profile = "ToolsGuiMLTextProfile"; horizSizing = "center"; vertSizing = "bottom"; position = "9 26"; @@ -76,7 +76,7 @@ anchorLeft = "1"; anchorRight = "0"; isContainer = "0"; - profile = "GuiTextRightProfile"; + profile = "ToolsGuiTextRightProfile"; horizSizing = "right"; vertSizing = "bottom"; position = "5 5"; @@ -101,7 +101,7 @@ anchorLeft = "1"; anchorRight = "0"; isContainer = "0"; - profile = "GuiPopUpMenuProfile"; + profile = "ToolsGuiPopUpMenuProfile"; horizSizing = "width"; vertSizing = "bottom"; position = "115 5"; @@ -120,7 +120,7 @@ buttonType = "PushButton"; useMouseEvents = "0"; isContainer = "0"; - profile = "GuiButtonProfile"; + profile = "ToolsGuiButtonProfile"; horizSizing = "width"; vertSizing = "top"; position = "7 85"; @@ -140,7 +140,7 @@ buttonType = "PushButton"; useMouseEvents = "0"; isContainer = "0"; - profile = "GuiButtonProfile"; + profile = "ToolsGuiButtonProfile"; horizSizing = "left"; vertSizing = "top"; position = "170 85"; diff --git a/Templates/BaseGame/game/tools/gui/messageBoxes/messageBoxOK.ed.gui b/Templates/BaseGame/game/tools/gui/messageBoxes/messageBoxOK.ed.gui index 52e119ea6..34342467a 100644 --- a/Templates/BaseGame/game/tools/gui/messageBoxes/messageBoxOK.ed.gui +++ b/Templates/BaseGame/game/tools/gui/messageBoxes/messageBoxOK.ed.gui @@ -10,7 +10,7 @@ helpTag = "0"; new GuiWindowCtrl(MBOKFrame) { - profile = "GuiWindowProfile"; + profile = "ToolsGuiWindowProfile"; horizSizing = "center"; vertSizing = "center"; position = "170 175"; @@ -29,7 +29,7 @@ text = ""; new GuiMLTextCtrl(MBOKText) { - profile = "GuiMLTextProfile"; + profile = "ToolsGuiMLTextProfile"; horizSizing = "center"; vertSizing = "bottom"; position = "9 35"; @@ -42,7 +42,7 @@ maxChars = "-1"; }; new GuiButtonCtrl() { - profile = "GuiButtonProfile"; + profile = "ToolsGuiButtonProfile"; horizSizing = "right"; vertSizing = "top"; position = "111 75"; diff --git a/Templates/BaseGame/game/tools/gui/messageBoxes/messageBoxOKCancel.ed.gui b/Templates/BaseGame/game/tools/gui/messageBoxes/messageBoxOKCancel.ed.gui index 5f9c8f5dc..fb993062d 100644 --- a/Templates/BaseGame/game/tools/gui/messageBoxes/messageBoxOKCancel.ed.gui +++ b/Templates/BaseGame/game/tools/gui/messageBoxes/messageBoxOKCancel.ed.gui @@ -10,7 +10,7 @@ helpTag = "0"; new GuiWindowCtrl(MBOKCancelFrame) { - profile = "GuiWindowProfile"; + profile = "ToolsGuiWindowProfile"; horizSizing = "center"; vertSizing = "center"; position = "170 175"; @@ -29,7 +29,7 @@ text = ""; new GuiMLTextCtrl(MBOKCancelText) { - profile = "GuiMLTextProfile"; + profile = "ToolsGuiMLTextProfile"; horizSizing = "center"; vertSizing = "bottom"; position = "8 34"; @@ -43,7 +43,7 @@ }; new GuiButtonCtrl() { - profile = "GuiButtonProfile"; + profile = "ToolsGuiButtonProfile"; horizSizing = "right"; vertSizing = "top"; position = "66 68"; @@ -57,7 +57,7 @@ simpleStyle = "0"; }; new GuiButtonCtrl() { - profile = "GuiButtonProfile"; + profile = "ToolsGuiButtonProfile"; horizSizing = "right"; vertSizing = "top"; position = "156 68"; diff --git a/Templates/BaseGame/game/tools/gui/messageBoxes/messageBoxOKCancelDetailsDlg.ed.gui b/Templates/BaseGame/game/tools/gui/messageBoxes/messageBoxOKCancelDetailsDlg.ed.gui index c6c95a821..6370f1eee 100644 --- a/Templates/BaseGame/game/tools/gui/messageBoxes/messageBoxOKCancelDetailsDlg.ed.gui +++ b/Templates/BaseGame/game/tools/gui/messageBoxes/messageBoxOKCancelDetailsDlg.ed.gui @@ -13,7 +13,7 @@ new GuiWindowCtrl(MBOKCancelDetailsFrame) { canSaveDynamicFields = "0"; - Profile = "GuiWindowProfile"; + Profile = "ToolsGuiWindowProfile"; HorizSizing = "center"; VertSizing = "center"; position = "362 219"; @@ -34,7 +34,7 @@ new GuiMLTextCtrl(MBOKCancelDetailsText) { canSaveDynamicFields = "0"; - Profile = "GuiMLTextProfile"; + Profile = "ToolsGuiMLTextProfile"; HorizSizing = "center"; VertSizing = "bottom"; position = "32 39"; @@ -49,7 +49,7 @@ }; new GuiButtonCtrl() { canSaveDynamicFields = "0"; - Profile = "GuiButtonProfile"; + Profile = "ToolsGuiButtonProfile"; HorizSizing = "right"; VertSizing = "top"; position = "158 273"; @@ -66,7 +66,7 @@ }; new GuiButtonCtrl() { canSaveDynamicFields = "0"; - Profile = "GuiButtonProfile"; + Profile = "ToolsGuiButtonProfile"; HorizSizing = "right"; VertSizing = "top"; position = "30 273"; @@ -83,7 +83,7 @@ }; new GuiButtonCtrl(MBOKCancelDetailsButton) { canSaveDynamicFields = "0"; - Profile = "GuiButtonProfile"; + Profile = "ToolsGuiButtonProfile"; HorizSizing = "right"; VertSizing = "top"; position = "9 302"; @@ -118,7 +118,7 @@ new GuiMLTextCtrl(MBOKCancelDetailsInfoText) { canSaveDynamicFields = "0"; - Profile = "GuiMLTextProfile"; + Profile = "ToolsGuiMLTextProfile"; HorizSizing = "right"; VertSizing = "bottom"; position = "2 2"; diff --git a/Templates/BaseGame/game/tools/gui/messageBoxes/messageBoxYesNo.ed.gui b/Templates/BaseGame/game/tools/gui/messageBoxes/messageBoxYesNo.ed.gui index 3cd7d18ef..0c83e2039 100644 --- a/Templates/BaseGame/game/tools/gui/messageBoxes/messageBoxYesNo.ed.gui +++ b/Templates/BaseGame/game/tools/gui/messageBoxes/messageBoxYesNo.ed.gui @@ -10,7 +10,7 @@ helpTag = "0"; new GuiWindowCtrl(MBYesNoFrame) { - profile = "GuiWindowProfile"; + profile = "ToolsGuiWindowProfile"; horizSizing = "center"; vertSizing = "center"; position = "170 175"; @@ -30,7 +30,7 @@ closeCommand = "MessageCallback(MessageBoxYesNoDlg,MessageBoxYesNoDlg.noCallback);"; new GuiMLTextCtrl(MBYesNoText) { - profile = "GuiMLTextProfile"; + profile = "ToolsGuiMLTextProfile"; horizSizing = "center"; vertSizing = "bottom"; position = "11 38"; @@ -43,7 +43,7 @@ maxChars = "-1"; }; new GuiButtonCtrl() { - profile = "GuiButtonProfile"; + profile = "ToolsGuiButtonProfile"; horizSizing = "right"; vertSizing = "top"; position = "70 68"; @@ -57,7 +57,7 @@ simpleStyle = "0"; }; new GuiButtonCtrl() { - profile = "GuiButtonProfile"; + profile = "ToolsGuiButtonProfile"; horizSizing = "right"; vertSizing = "top"; position = "167 68"; diff --git a/Templates/BaseGame/game/tools/gui/messageBoxes/messageBoxYesNoCancel.ed.gui b/Templates/BaseGame/game/tools/gui/messageBoxes/messageBoxYesNoCancel.ed.gui index 03257494d..b14d11990 100644 --- a/Templates/BaseGame/game/tools/gui/messageBoxes/messageBoxYesNoCancel.ed.gui +++ b/Templates/BaseGame/game/tools/gui/messageBoxes/messageBoxYesNoCancel.ed.gui @@ -13,7 +13,7 @@ new GuiWindowCtrl(MBYesNoCancelFrame) { canSaveDynamicFields = "0"; - Profile = "GuiWindowProfile"; + Profile = "ToolsGuiWindowProfile"; HorizSizing = "center"; VertSizing = "center"; position = "250 235"; @@ -35,7 +35,7 @@ new GuiMLTextCtrl(MBYesNoCancelText) { canSaveDynamicFields = "0"; - Profile = "GuiMLTextProfile"; + Profile = "ToolsGuiMLTextProfile"; HorizSizing = "center"; VertSizing = "bottom"; position = "7 38"; @@ -50,7 +50,7 @@ }; new GuiButtonCtrl() { canSaveDynamicFields = "0"; - Profile = "GuiButtonProfile"; + Profile = "ToolsGuiButtonProfile"; HorizSizing = "right"; VertSizing = "top"; position = "7 71"; @@ -67,7 +67,7 @@ }; new GuiButtonCtrl() { canSaveDynamicFields = "0"; - Profile = "GuiButtonProfile"; + Profile = "ToolsGuiButtonProfile"; HorizSizing = "right"; VertSizing = "top"; position = "92 71"; @@ -83,7 +83,7 @@ }; new GuiButtonCtrl() { canSaveDynamicFields = "0"; - Profile = "GuiButtonProfile"; + Profile = "ToolsGuiButtonProfile"; HorizSizing = "right"; VertSizing = "top"; position = "213 71"; diff --git a/Templates/BaseGame/game/tools/gui/messageBoxes/messagePopup.ed.gui b/Templates/BaseGame/game/tools/gui/messageBoxes/messagePopup.ed.gui index 806f12204..317bbc7d1 100644 --- a/Templates/BaseGame/game/tools/gui/messageBoxes/messagePopup.ed.gui +++ b/Templates/BaseGame/game/tools/gui/messageBoxes/messagePopup.ed.gui @@ -10,7 +10,7 @@ helpTag = "0"; new GuiWindowCtrl(MessagePopFrame) { - profile = "GuiWindowProfile"; + profile = "ToolsGuiWindowProfile"; horizSizing = "center"; vertSizing = "center"; position = "170 175"; @@ -29,7 +29,7 @@ minSize = "50 50"; new GuiMLTextCtrl(MessagePopText) { - profile = "GuiMLTextProfile"; + profile = "ToolsGuiMLTextProfile"; horizSizing = "center"; vertSizing = "bottom"; position = "32 39"; diff --git a/Templates/BaseGame/game/tools/gui/postFxEditor.cs b/Templates/BaseGame/game/tools/gui/postFxEditor.cs new file mode 100644 index 000000000..f2e3f603b --- /dev/null +++ b/Templates/BaseGame/game/tools/gui/postFxEditor.cs @@ -0,0 +1,50 @@ +function PostFXEditor::onDialogPush( %this ) +{ + //Apply the settings to the controls + postVerbose("% - PostFX Editor - Loading GUI."); + + %this.initialOpen = true; + %this.refresh(); +} + +function PostFXEditor::refresh(%this) +{ + PostEffectEditorInspector.clearFields(); + + %count = PostFXManager.Count(); + for(%i=0; %i < %count; %i++) + { + %postEffect = PostFXManager.getKey(%i); + + if(isObject(%postEffect) && %postEffect.isMethod("populatePostFXSettings")) + { + %postEffect.populatePostFXSettings(); + } + } + + //First time we open it this 'session', we'll go ahead and collapse the groups + //so it's not too visually busy + if(%this.initialOpen) + PostEffectEditorInspector.setGroupsExpanded(false); + + %this.initialOpen = false; +} + +function PostFXEditor::apply(%this) +{ + %count = PostFXManager.Count(); + for(%i=0; %i < %count; %i++) + { + %postEffect = PostFXManager.getKey(%i); + + if(isObject(%postEffect) && %postEffect.isMethod("applyFromPreset")) + { + %postEffect.applyFromPreset(); + } + } +} + +function PostFXEditor::revert(%this) +{ + PostFXManager::loadPresetHandler($PostFXManager::currentPreset); +} \ No newline at end of file diff --git a/Templates/BaseGame/game/tools/gui/postFxEditor.gui b/Templates/BaseGame/game/tools/gui/postFxEditor.gui new file mode 100644 index 000000000..5ee336536 --- /dev/null +++ b/Templates/BaseGame/game/tools/gui/postFxEditor.gui @@ -0,0 +1,205 @@ +//--- OBJECT WRITE BEGIN --- +%guiContent = new GuiControl(postFXEditor) { + position = "0 0"; + extent = "1024 768"; + minExtent = "8 8"; + horizSizing = "width"; + vertSizing = "height"; + profile = "GuiDefaultProfile"; + visible = "1"; + active = "1"; + tooltipProfile = "GuiToolTipProfile"; + hovertime = "1000"; + isContainer = "1"; + canSave = "1"; + canSaveDynamicFields = "1"; + + new DbgFileView() { + position = "0 0"; + extent = "8 2"; + minExtent = "8 2"; + horizSizing = "right"; + vertSizing = "bottom"; + profile = "GuiDefaultProfile"; + visible = "1"; + active = "1"; + tooltipProfile = "GuiToolTipProfile"; + hovertime = "1000"; + isContainer = "1"; + canSave = "1"; + canSaveDynamicFields = "0"; + }; + new GuiWindowCtrl(ppOptionsWindow) { + text = "PostFX Editor"; + resizeWidth = "1"; + resizeHeight = "1"; + canMove = "1"; + canClose = "1"; + canMinimize = "0"; + canMaximize = "0"; + canCollapse = "0"; + closeCommand = "Canvas.popDialog(PostFXEditor);"; + edgeSnap = "0"; + margin = "0 0 0 0"; + padding = "0 0 0 0"; + anchorTop = "1"; + anchorBottom = "0"; + anchorLeft = "1"; + anchorRight = "0"; + position = "306 54"; + extent = "411 615"; + minExtent = "8 8"; + horizSizing = "center"; + vertSizing = "center"; + profile = "ToolsGuiWindowProfile"; + visible = "1"; + active = "1"; + tooltipProfile = "GuiToolTipProfile"; + hovertime = "1000"; + isContainer = "1"; + canSave = "1"; + canSaveDynamicFields = "0"; + + new GuiScrollCtrl() { + willFirstRespond = "1"; + hScrollBar = "dynamic"; + vScrollBar = "dynamic"; + lockHorizScroll = "0"; + lockVertScroll = "0"; + constantThumbHeight = "0"; + childMargin = "0 0"; + mouseWheelScrollSpeed = "-1"; + margin = "0 0 0 0"; + padding = "0 0 0 0"; + anchorTop = "1"; + anchorBottom = "0"; + anchorLeft = "1"; + anchorRight = "0"; + position = "3 23"; + extent = "405 558"; + minExtent = "8 2"; + horizSizing = "width"; + vertSizing = "height"; + profile = "ToolsGuiScrollProfile"; + visible = "1"; + active = "1"; + tooltipProfile = "GuiToolTipProfile"; + hovertime = "1000"; + isContainer = "1"; + canSave = "1"; + canSaveDynamicFields = "0"; + + new GuiVariableInspector(PostEffectEditorInspector) { + dividerMargin = "5"; + showCustomFields = "1"; + stackingType = "Vertical"; + horizStacking = "Left to Right"; + vertStacking = "Top to Bottom"; + padding = "1"; + dynamicSize = "1"; + dynamicNonStackExtent = "0"; + dynamicPos = "0"; + changeChildSizeToFit = "1"; + changeChildPosition = "1"; + position = "1 1"; + extent = "388 416"; + minExtent = "16 16"; + horizSizing = "width"; + vertSizing = "height"; + profile = "GuiDefaultProfile"; + visible = "1"; + active = "1"; + tooltipProfile = "GuiToolTipProfile"; + hovertime = "1000"; + isContainer = "1"; + canSave = "1"; + canSaveDynamicFields = "0"; + }; + }; + new GuiButtonCtrl(ppOptionsApply) { + text = "Apply"; + groupNum = "-1"; + buttonType = "PushButton"; + useMouseEvents = "0"; + position = "309 587"; + extent = "93 23"; + minExtent = "8 8"; + horizSizing = "right"; + vertSizing = "top"; + profile = "ToolsGuiButtonProfile"; + visible = "1"; + active = "1"; + command = "PostFXEditor.apply(); Canvas.popDialog(PostFXEditor);"; + tooltipProfile = "GuiToolTipProfile"; + tooltip = "Apply the settings and close this dialog"; + hovertime = "1000"; + isContainer = "0"; + canSave = "1"; + canSaveDynamicFields = "0"; + }; + new GuiButtonCtrl(ppOptionsSavePreset) { + text = "Save Preset..."; + groupNum = "-1"; + buttonType = "PushButton"; + useMouseEvents = "0"; + position = "111 587"; + extent = "93 23"; + minExtent = "8 8"; + horizSizing = "right"; + vertSizing = "top"; + profile = "ToolsGuiButtonProfile"; + visible = "1"; + active = "1"; + command = "PostFXManager.savePresetFile();"; + tooltipProfile = "GuiToolTipProfile"; + tooltip = "Save the preset to a file to disk for later use (use postfx::applyPreset)"; + hovertime = "1000"; + isContainer = "0"; + canSave = "1"; + canSaveDynamicFields = "0"; + }; + new GuiButtonCtrl(ppOptionsLoadPreset) { + text = "Load Preset..."; + groupNum = "-1"; + buttonType = "PushButton"; + useMouseEvents = "0"; + position = "12 587"; + extent = "93 23"; + minExtent = "8 8"; + horizSizing = "right"; + vertSizing = "top"; + profile = "ToolsGuiButtonProfile"; + visible = "1"; + active = "1"; + command = "PostFXManager.loadPresetFile();"; + tooltipProfile = "GuiToolTipProfile"; + tooltip = "Load a post FX preset file from disk"; + hovertime = "1000"; + isContainer = "0"; + canSave = "1"; + canSaveDynamicFields = "0"; + }; + new GuiButtonCtrl(ppOptionsOk1) { + text = "Revert"; + groupNum = "-1"; + buttonType = "PushButton"; + useMouseEvents = "0"; + position = "210 587"; + extent = "93 23"; + minExtent = "8 8"; + horizSizing = "right"; + vertSizing = "top"; + profile = "ToolsGuiButtonProfile"; + visible = "1"; + active = "1"; + command = "PostFXEditor.revert(); PostFXEditor.refresh();"; + tooltipProfile = "GuiToolTipProfile"; + tooltip = "Revert any changes made since opening the dialog"; + hovertime = "1000"; + isContainer = "0"; + canSave = "1"; + canSaveDynamicFields = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/Templates/BaseGame/game/tools/gui/profilerGraph.gui b/Templates/BaseGame/game/tools/gui/profilerGraph.gui index a008c227a..8e2e2b68f 100644 --- a/Templates/BaseGame/game/tools/gui/profilerGraph.gui +++ b/Templates/BaseGame/game/tools/gui/profilerGraph.gui @@ -36,7 +36,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiWindowProfile"; + profile = "ToolsGuiWindowProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -65,7 +65,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiTabBookProfile"; + profile = "ToolsGuiTabBookProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -89,7 +89,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiTabPageProfile"; + profile = "ToolsGuiTabPageProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -128,7 +128,7 @@ minExtent = "8 2"; horizSizing = "left"; vertSizing = "bottom"; - profile = "GuiTextProfile"; + profile = "ToolsGuiTextProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -151,7 +151,7 @@ minExtent = "8 2"; horizSizing = "left"; vertSizing = "bottom"; - profile = "GuiTextProfile"; + profile = "ToolsGuiTextProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -174,7 +174,7 @@ minExtent = "8 2"; horizSizing = "left"; vertSizing = "bottom"; - profile = "GuiTextProfile"; + profile = "ToolsGuiTextProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -197,7 +197,7 @@ minExtent = "8 2"; horizSizing = "left"; vertSizing = "bottom"; - profile = "GuiTextProfile"; + profile = "ToolsGuiTextProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -297,7 +297,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -316,7 +316,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -335,7 +335,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -354,7 +354,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; diff --git a/Templates/BaseGame/game/tools/gui/profiles.ed.cs b/Templates/BaseGame/game/tools/gui/profiles.ed.cs index 18bbabf42..20425548c 100644 --- a/Templates/BaseGame/game/tools/gui/profiles.ed.cs +++ b/Templates/BaseGame/game/tools/gui/profiles.ed.cs @@ -275,6 +275,8 @@ new GuiControlProfile( ToolsGuiTextEditProfile ) //borderColor = "100 100 100"; fillColor = EditorSettings.value("Theme/fieldBGColor"); fillColorHL = EditorSettings.value("Theme/fieldBGHLColor"); + fillColorSEL = EditorSettings.value("Theme/fieldBGSELColor"); + fontColor = EditorSettings.value("Theme/fieldTextColor"); fontColorHL = EditorSettings.value("Theme/fieldTextHLColor"); fontColorSEL = EditorSettings.value("Theme/fieldTextSELColor"); @@ -332,7 +334,7 @@ new GuiControlProfile( ToolsGuiButtonProfile ) fixedExtent = false; justify = "center"; canKeyFocus = false; - bitmap = "./images/button"; + bitmap = "tools/gui/images/button"; hasBitmapArray = false; category = "Tools"; }; @@ -503,10 +505,13 @@ new GuiControlProfile( ToolsGuiPopUpMenuDefault : ToolsGuiDefaultProfile ) fillColor = EditorSettings.value("Theme/fieldBGColor");//"255 255 255";//100 fillColorHL = EditorSettings.value("Theme/fieldBGHLColor");//"91 101 116"; fillColorSEL = EditorSettings.value("Theme/fieldBGSELColor");//"91 101 116"; + // font color is black fontColor = EditorSettings.value("Theme/fieldTextColor");//"215 215 215"; fontColorHL = EditorSettings.value("Theme/fieldTextHLColor");//"215 215 215"; fontColorSEL = EditorSettings.value("Theme/fieldTextSELColor");//"215 215 215"; + fontColorNA = EditorSettings.value("Theme/fieldTextColor");//"215 215 215"; + borderColor = EditorSettings.value("Theme/dividerDarkColor"); category = "Tools"; }; @@ -551,7 +556,7 @@ new GuiControlProfile( ToolsGuiListBoxProfile ) { fillColorHL = EditorSettings.value("Theme/windowBackgroundColor"); fillColorNA = EditorSettings.value("Theme/windowBackgroundColor"); - fontColor = EditorSettings.value("Theme/headerTextColor"); + fontColor = EditorSettings.value("Theme/fieldTextColor"); fontColorHL = EditorSettings.value("Theme/fieldTextHLColor"); fontColorNA = EditorSettings.value("Theme/fieldTextSELColor"); diff --git a/Templates/BaseGame/game/tools/levels/BlankRoom.mis b/Templates/BaseGame/game/tools/levels/BlankRoom.mis index 7e1243a8d..95f017dfd 100644 --- a/Templates/BaseGame/game/tools/levels/BlankRoom.mis +++ b/Templates/BaseGame/game/tools/levels/BlankRoom.mis @@ -2,12 +2,15 @@ new Scene(EditorTemplateLevel) { canSave = "1"; canSaveDynamicFields = "1"; + isSubScene = "0"; + isEditing = "0"; + isDirty = "0"; cdTrack = "2"; CTF_scoreLimit = "5"; - enabled = "1"; + Enabled = "1"; musicTrack = "lush"; - new LevelInfo(TheLevelInfo) { + new LevelInfo(theLevelInfo) { nearClip = "0.1"; visibleDistance = "1000"; visibleGhostDistance = "0"; @@ -19,14 +22,14 @@ new Scene(EditorTemplateLevel) { canvasClearColor = "0 0 0 255"; ambientLightBlendPhase = "1"; ambientLightBlendCurve = "0 0 -1 -1"; - advancedLightmapSupport = "0"; soundAmbience = "AudioAmbienceDefault"; soundDistanceModel = "Linear"; canSave = "1"; canSaveDynamicFields = "1"; + advancedLightmapSupport = "0"; desc0 = "A blank room template that acts as a starting point."; - enabled = "1"; - levelName = "Blank Room Template"; + Enabled = "1"; + LevelName = "Blank Room Template"; }; new SkyBox(theSky) { Material = "BlankSkyMat"; @@ -54,7 +57,7 @@ new Scene(EditorTemplateLevel) { flareScale = "1"; attenuationRatio = "0 1 1"; shadowType = "PSSM"; - texSize = "1024"; + texSize = "2048"; overDarkFactor = "3000 1500 750 250"; shadowDistance = "200"; shadowSoftness = "0.25"; @@ -72,7 +75,7 @@ new Scene(EditorTemplateLevel) { canSaveDynamicFields = "1"; bias = "0.1"; Blur = "1"; - enabled = "1"; + Enabled = "1"; height = "1024"; lightBleedFactor = "0.8"; minVariance = "0"; @@ -88,11 +91,21 @@ new Scene(EditorTemplateLevel) { Material = "Grid_512_Grey"; canSave = "1"; canSaveDynamicFields = "1"; - enabled = "1"; + Enabled = "1"; position = "0 0 0"; rotation = "1 0 0 0"; scale = "1 1 1"; }; + new Skylight() { + Enabled = "1"; + ReflectionMode = "Baked Cubemap"; + position = "1.37009 -5.23561 46.5817"; + rotation = "1 0 0 0"; + canSave = "1"; + canSaveDynamicFields = "1"; + persistentId = "d5eb3afb-dced-11e9-a423-bb0e346e3870"; + reflectionPath = "tools/levels/BlankRoom/probes/"; + }; }; //--- OBJECT WRITE END --- diff --git a/Templates/BaseGame/game/tools/levels/BlankRoom/probes/820461101_Irradiance.dds b/Templates/BaseGame/game/tools/levels/BlankRoom/probes/820461101_Irradiance.dds new file mode 100644 index 0000000000000000000000000000000000000000..7d3caf071cba105474b0bf9c8e992fb892d4a3e4 GIT binary patch literal 262276 zcmeIuyA8rH6a~=BM*`815i$a7kRltU8yanb@?M>y*<{<&-?AyxAQP1pY6@1j)$7{-)?)AMF^Uap=n*ne**Fr`@lYU*C??67l}NIpuMe)BkPi>Qz~V009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZV5mS;hL$QLK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&USfhf1009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZV5~q?#w&U+p3KK0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF I5FkL{17!UQ$p8QV literal 0 HcmV?d00001 diff --git a/Templates/BaseGame/game/tools/materialEditor/gui/guiMaterialPropertiesWindow.ed.gui b/Templates/BaseGame/game/tools/materialEditor/gui/guiMaterialPropertiesWindow.ed.gui index 8ea587cd6..ee92ab0c0 100644 --- a/Templates/BaseGame/game/tools/materialEditor/gui/guiMaterialPropertiesWindow.ed.gui +++ b/Templates/BaseGame/game/tools/materialEditor/gui/guiMaterialPropertiesWindow.ed.gui @@ -765,7 +765,7 @@ minExtent = "8 2"; horizSizing = "width"; vertSizing = "bottom"; - profile = "GuiDefaultProfile"; + profile = "ToolsGuiButtonProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -816,7 +816,7 @@ minExtent = "8 2"; horizSizing = "left"; vertSizing = "bottom"; - profile = "GuiDefaultProfile"; + profile = "ToolsGuiButtonProfile"; visible = "1"; active = "1"; command = "MaterialEditorGui.saveCompositeMap();"; @@ -835,7 +835,7 @@ minExtent = "8 2"; horizSizing = "width"; vertSizing = "bottom"; - profile = "GuiDefaultProfile"; + profile = "ToolsGuiButtonProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -873,7 +873,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiDefaultProfile"; + profile = "ToolsGuiButtonProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -897,7 +897,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiTextProfile"; + profile = "ToolsGuiTextProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -920,7 +920,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiDefaultProfile"; + profile = "ToolsGuiButtonProfile"; visible = "1"; active = "1"; command = "MaterialEditorGui.updateroughMap(1);"; @@ -945,7 +945,7 @@ minExtent = "8 2"; horizSizing = "width"; vertSizing = "bottom"; - profile = "GuiTextProfile"; + profile = "ToolsGuiTextProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -965,7 +965,7 @@ minExtent = "8 2"; horizSizing = "left"; vertSizing = "bottom"; - profile = "GuiButtonProfile"; + profile = "ToolsGuiButtonProfile"; visible = "1"; active = "1"; command = "MaterialEditorGui.updateroughMap(1);"; @@ -989,7 +989,7 @@ minExtent = "8 2"; horizSizing = "left"; vertSizing = "bottom"; - profile = "GuiDefaultProfile"; + profile = "ToolsGuiButtonProfile"; visible = "1"; active = "1"; command = "MaterialEditorGui.updateroughMap(0);"; @@ -1009,7 +1009,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiRadioProfile"; + profile = "ToolsGuiRadioProfile"; visible = "1"; active = "1"; command = "MaterialEditorGui.setRoughChan(0);"; @@ -1029,7 +1029,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiRadioProfile"; + profile = "ToolsGuiRadioProfile"; visible = "1"; active = "1"; command = "MaterialEditorGui.setRoughChan(1);"; @@ -1049,7 +1049,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiRadioProfile"; + profile = "ToolsGuiRadioProfile"; visible = "1"; active = "1"; command = "MaterialEditorGui.setRoughChan(2);"; @@ -1069,7 +1069,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiRadioProfile"; + profile = "ToolsGuiRadioProfile"; visible = "1"; active = "1"; command = "MaterialEditorGui.setRoughChan(3);"; @@ -1109,7 +1109,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiDefaultProfile"; + profile = "ToolsGuiButtonProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -1133,7 +1133,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiTextProfile"; + profile = "ToolsGuiTextProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -1156,7 +1156,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiDefaultProfile"; + profile = "ToolsGuiButtonProfile"; visible = "1"; active = "1"; command = "MaterialEditorGui.updateaoMap(1);"; @@ -1181,7 +1181,7 @@ minExtent = "8 2"; horizSizing = "width"; vertSizing = "bottom"; - profile = "GuiTextProfile"; + profile = "ToolsGuiTextProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -1201,7 +1201,7 @@ minExtent = "8 2"; horizSizing = "left"; vertSizing = "bottom"; - profile = "GuiButtonProfile"; + profile = "ToolsGuiButtonProfile"; visible = "1"; active = "1"; command = "MaterialEditorGui.updateaoMap(1);"; @@ -1225,7 +1225,7 @@ minExtent = "8 2"; horizSizing = "left"; vertSizing = "bottom"; - profile = "GuiDefaultProfile"; + profile = "ToolsGuiButtonProfile"; visible = "1"; active = "1"; command = "MaterialEditorGui.updateaoMap(0);"; @@ -1245,7 +1245,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiRadioProfile"; + profile = "ToolsGuiRadioProfile"; visible = "1"; active = "1"; command = "MaterialEditorGui.setAOChan(0);"; @@ -1265,7 +1265,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiRadioProfile"; + profile = "ToolsGuiRadioProfile"; visible = "1"; active = "1"; command = "MaterialEditorGui.setAOChan(1);"; @@ -1285,7 +1285,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiRadioProfile"; + profile = "ToolsGuiRadioProfile"; visible = "1"; active = "1"; command = "MaterialEditorGui.setAOChan(2);"; @@ -1305,7 +1305,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiRadioProfile"; + profile = "ToolsGuiRadioProfile"; visible = "1"; active = "1"; command = "MaterialEditorGui.setAOChan(3);"; @@ -1345,7 +1345,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiDefaultProfile"; + profile = "ToolsGuiButtonProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -1369,7 +1369,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiTextProfile"; + profile = "ToolsGuiTextProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -1392,7 +1392,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiDefaultProfile"; + profile = "ToolsGuiButtonProfile"; visible = "1"; active = "1"; command = "MaterialEditorGui.updatemetalMap(1);"; @@ -1417,7 +1417,7 @@ minExtent = "8 2"; horizSizing = "width"; vertSizing = "bottom"; - profile = "GuiTextProfile"; + profile = "ToolsGuiTextProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -1437,7 +1437,7 @@ minExtent = "8 2"; horizSizing = "left"; vertSizing = "bottom"; - profile = "GuiButtonProfile"; + profile = "ToolsGuiButtonProfile"; visible = "1"; active = "1"; command = "MaterialEditorGui.updatemetalMap(1);"; @@ -1461,7 +1461,7 @@ minExtent = "8 2"; horizSizing = "left"; vertSizing = "bottom"; - profile = "GuiDefaultProfile"; + profile = "ToolsGuiButtonProfile"; visible = "1"; active = "1"; command = "MaterialEditorGui.updatemetalMap(0);"; @@ -1481,7 +1481,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiRadioProfile"; + profile = "ToolsGuiRadioProfile"; visible = "1"; active = "1"; command = "MaterialEditorGui.setMetalChan(0);"; @@ -1501,7 +1501,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiRadioProfile"; + profile = "ToolsGuiRadioProfile"; visible = "1"; active = "1"; command = "MaterialEditorGui.setMetalChan(1);"; @@ -1521,7 +1521,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiRadioProfile"; + profile = "ToolsGuiRadioProfile"; visible = "1"; active = "1"; command = "MaterialEditorGui.setMetalChan(2);"; @@ -1541,7 +1541,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiRadioProfile"; + profile = "ToolsGuiRadioProfile"; visible = "1"; active = "1"; command = "MaterialEditorGui.setMetalChan(3);"; @@ -2333,7 +2333,7 @@ canSaveDynamicFields = "0"; Enabled = "1"; isContainer = "0"; - Profile = "GuiTextRightProfile"; + Profile = "ToolsGuiTextRightProfile"; HorizSizing = "right"; VertSizing = "bottom"; position = "8 3"; @@ -2384,7 +2384,7 @@ internalName = "accuScaleTextEdit"; Enabled = "1"; isContainer = "0"; - Profile = "GuiTextEditProfile"; + Profile = "ToolsGuiTextEditProfile"; HorizSizing = "right"; VertSizing = "bottom"; position = "64 0"; @@ -2415,7 +2415,7 @@ canSaveDynamicFields = "0"; Enabled = "1"; isContainer = "0"; - Profile = "GuiTextRightProfile"; + Profile = "ToolsGuiTextRightProfile"; HorizSizing = "right"; VertSizing = "bottom"; position = "8 3"; @@ -2466,7 +2466,7 @@ internalName = "accuDirectionTextEdit"; Enabled = "1"; isContainer = "0"; - Profile = "GuiTextEditProfile"; + Profile = "ToolsGuiTextEditProfile"; HorizSizing = "right"; VertSizing = "bottom"; position = "64 0"; @@ -2496,7 +2496,7 @@ canSaveDynamicFields = "0"; Enabled = "1"; isContainer = "0"; - Profile = "GuiTextRightProfile"; + Profile = "ToolsGuiTextRightProfile"; HorizSizing = "right"; VertSizing = "bottom"; position = "8 3"; @@ -2547,7 +2547,7 @@ internalName = "accuStrengthTextEdit"; Enabled = "1"; isContainer = "0"; - Profile = "GuiTextEditProfile"; + Profile = "ToolsGuiTextEditProfile"; HorizSizing = "right"; VertSizing = "bottom"; position = "64 0"; @@ -2577,7 +2577,7 @@ canSaveDynamicFields = "0"; Enabled = "1"; isContainer = "0"; - Profile = "GuiTextRightProfile"; + Profile = "ToolsGuiTextRightProfile"; HorizSizing = "right"; VertSizing = "bottom"; position = "8 3"; @@ -2628,7 +2628,7 @@ internalName = "accuCoverageTextEdit"; Enabled = "1"; isContainer = "0"; - Profile = "GuiTextEditProfile"; + Profile = "ToolsGuiTextEditProfile"; HorizSizing = "right"; VertSizing = "bottom"; position = "64 0"; @@ -2658,7 +2658,7 @@ canSaveDynamicFields = "0"; Enabled = "1"; isContainer = "0"; - Profile = "GuiTextRightProfile"; + Profile = "ToolsGuiTextRightProfile"; HorizSizing = "right"; VertSizing = "bottom"; position = "8 3"; @@ -2709,7 +2709,7 @@ internalName = "accuSpecularTextEdit"; Enabled = "1"; isContainer = "0"; - Profile = "GuiTextEditProfile"; + Profile = "ToolsGuiTextEditProfile"; HorizSizing = "right"; VertSizing = "bottom"; position = "64 0"; diff --git a/Templates/BaseGame/game/tools/meshRoadEditor/meshRoadEditorToolbar.gui b/Templates/BaseGame/game/tools/meshRoadEditor/meshRoadEditorToolbar.gui index e0bf56309..be5877706 100644 --- a/Templates/BaseGame/game/tools/meshRoadEditor/meshRoadEditorToolbar.gui +++ b/Templates/BaseGame/game/tools/meshRoadEditor/meshRoadEditorToolbar.gui @@ -85,7 +85,7 @@ canSaveDynamicFields = "0"; Enabled = "1"; isContainer = "0"; - Profile = "GuiDefalutProfile"; + Profile = "ToolsGuiButtonProfile"; HorizSizing = "right"; VertSizing = "bottom"; Position = "89 3"; diff --git a/Templates/BaseGame/game/tools/navEditor/CreateNewNavMeshDlg.gui b/Templates/BaseGame/game/tools/navEditor/CreateNewNavMeshDlg.gui index 0ea3f0d02..d409a2e97 100644 --- a/Templates/BaseGame/game/tools/navEditor/CreateNewNavMeshDlg.gui +++ b/Templates/BaseGame/game/tools/navEditor/CreateNewNavMeshDlg.gui @@ -36,7 +36,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiWindowProfile"; + profile = "ToolsGuiWindowProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -59,7 +59,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiTextRightProfile"; + profile = "ToolsGuiTextRightProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -87,7 +87,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiTextEditProfile"; + profile = "ToolsGuiTextEditProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -111,7 +111,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiTextRightProfile"; + profile = "ToolsGuiTextRightProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -139,7 +139,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiTextEditProfile"; + profile = "ToolsGuiTextEditProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -163,7 +163,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiTextRightProfile"; + profile = "ToolsGuiTextRightProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -191,7 +191,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiTextEditProfile"; + profile = "ToolsGuiTextEditProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -211,7 +211,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -231,7 +231,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "0"; tooltipProfile = "GuiToolTipProfile"; @@ -251,7 +251,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiButtonProfile"; + profile = "ToolsGuiButtonProfile"; visible = "1"; active = "1"; command = "CreateNewNavMeshDlg.create();"; @@ -271,7 +271,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiButtonProfile"; + profile = "ToolsGuiButtonProfile"; visible = "1"; active = "1"; command = "Canvas.popDialog(CreateNewNavMeshDlg);"; diff --git a/Templates/BaseGame/game/tools/navEditor/NavEditorConsoleDlg.gui b/Templates/BaseGame/game/tools/navEditor/NavEditorConsoleDlg.gui index 3f59069a3..19c063d7a 100644 --- a/Templates/BaseGame/game/tools/navEditor/NavEditorConsoleDlg.gui +++ b/Templates/BaseGame/game/tools/navEditor/NavEditorConsoleDlg.gui @@ -21,7 +21,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiWindowProfile"; + profile = "ToolsGuiWindowProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -43,7 +43,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "top"; - profile = "GuiTextProfile"; + profile = "ToolsGuiTextProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -92,7 +92,7 @@ minExtent = "8 2"; horizSizing = "relative"; vertSizing = "relative"; - profile = "GuiListBoxProfile"; + profile = "ToolsGuiListBoxProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; diff --git a/Templates/BaseGame/game/tools/navEditor/NavEditorGui.gui b/Templates/BaseGame/game/tools/navEditor/NavEditorGui.gui index de78d5ee7..2b96ce8af 100644 --- a/Templates/BaseGame/game/tools/navEditor/NavEditorGui.gui +++ b/Templates/BaseGame/game/tools/navEditor/NavEditorGui.gui @@ -40,7 +40,7 @@ canSaveDynamicFields = "0"; Enabled = "1"; isContainer = "1"; - Profile = "GuiWindowProfile"; + Profile = "ToolsGuiWindowProfile"; HorizSizing = "windowRelative"; VertSizing = "windowRelative"; Position = getWord($pref::Video::mode, 0) - 209 @@ -69,7 +69,7 @@ text = "Navigation"; new GuiButtonCtrl() { - Profile = "GuiButtonProfile"; + Profile = "ToolsGuiButtonProfile"; buttonType = "PushButton"; HorizSizing = "right"; VertSizing = "bottom"; @@ -153,7 +153,7 @@ canSaveDynamicFields = "0"; Enabled = "1"; isContainer = "1"; - Profile = "GuiWindowProfile"; + Profile = "ToolsGuiWindowProfile"; HorizSizing = "windowRelative"; VertSizing = "windowRelative"; Position = getWord($pref::Video::mode, 0) - 209 @@ -192,7 +192,7 @@ internalName = "ActionsBox"; new GuiTextCtrl(){ - Profile = "GuiDefaultProfile"; + Profile = "ToolsGuiTextProfile"; HorizSizing = "right"; VertSizing = "bottom"; Position = "5 0"; @@ -206,7 +206,7 @@ extent = "190 64"; new GuiButtonCtrl() { - Profile = "GuiButtonProfile"; + Profile = "ToolsGuiButtonProfile"; buttonType = "PushButton"; HorizSizing = "right"; VertSizing = "bottom"; @@ -227,7 +227,7 @@ useMouseEvents = "0"; extent = "75 20"; minExtent = "8 2"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "1"; variable = "NavEditorGui.backgroundBuild"; @@ -245,7 +245,7 @@ buttonType = "ToggleButton"; useMouseEvents = "0"; extent = "105 20"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "1"; variable = "NavEditorGui.saveIntermediates"; @@ -264,7 +264,7 @@ useMouseEvents = "0"; extent = "150 20"; minExtent = "8 2"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "1"; variable = "NavEditorGui.playSoundWhenDone"; @@ -282,7 +282,7 @@ extent = "190 64"; new GuiButtonCtrl() { - Profile = "GuiButtonProfile"; + Profile = "ToolsGuiButtonProfile"; buttonType = "PushButton"; HorizSizing = "right"; VertSizing = "bottom"; @@ -298,7 +298,7 @@ extent = "190 64"; new GuiButtonCtrl() { - Profile = "GuiButtonProfile"; + Profile = "ToolsGuiButtonProfile"; buttonType = "PushButton"; HorizSizing = "right"; VertSizing = "bottom"; @@ -307,7 +307,7 @@ command = "NavEditorGui.createCoverPoints();"; }; new GuiButtonCtrl() { - Profile = "GuiButtonProfile"; + Profile = "ToolsGuiButtonProfile"; buttonType = "PushButton"; HorizSizing = "right"; VertSizing = "bottom"; @@ -323,7 +323,7 @@ extent = "190 64"; new GuiButtonCtrl() { - Profile = "GuiButtonProfile"; + Profile = "ToolsGuiButtonProfile"; buttonType = "PushButton"; HorizSizing = "right"; VertSizing = "bottom"; @@ -339,7 +339,7 @@ extent = "190 64"; new GuiButtonCtrl() { - Profile = "GuiButtonProfile"; + Profile = "ToolsGuiButtonProfile"; buttonType = "PushButton"; HorizSizing = "right"; VertSizing = "bottom"; @@ -352,7 +352,7 @@ Extent = "190 18"; new GuiButtonCtrl() { - Profile = "GuiButtonProfile"; + Profile = "ToolsGuiButtonProfile"; buttonType = "PushButton"; HorizSizing = "right"; VertSizing = "bottom"; @@ -362,7 +362,7 @@ }; new GuiButtonCtrl() { position = "100 0"; - Profile = "GuiButtonProfile"; + Profile = "ToolsGuiButtonProfile"; buttonType = "PushButton"; HorizSizing = "right"; VertSizing = "bottom"; @@ -376,7 +376,7 @@ Extent = "190 18"; new GuiButtonCtrl() { - Profile = "GuiButtonProfile"; + Profile = "ToolsGuiButtonProfile"; buttonType = "PushButton"; HorizSizing = "right"; VertSizing = "bottom"; @@ -386,7 +386,7 @@ }; new GuiButtonCtrl() { position = "100 0"; - Profile = "GuiButtonProfile"; + Profile = "ToolsGuiButtonProfile"; buttonType = "PushButton"; HorizSizing = "right"; VertSizing = "bottom"; @@ -485,7 +485,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "0"; tooltipProfile = "GuiToolTipProfile"; @@ -505,7 +505,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "0"; tooltipProfile = "GuiToolTipProfile"; @@ -525,7 +525,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "0"; tooltipProfile = "GuiToolTipProfile"; @@ -545,7 +545,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "0"; tooltipProfile = "GuiToolTipProfile"; @@ -565,7 +565,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "0"; tooltipProfile = "GuiToolTipProfile"; @@ -585,7 +585,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "0"; tooltipProfile = "GuiToolTipProfile"; @@ -610,7 +610,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -628,7 +628,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -647,7 +647,7 @@ new GuiTextCtrl() { text = "Cover"; - profile = "GuiTextProfile"; + profile = "ToolsGuiTextProfile"; extent = "180 20"; minExtent = "8 2"; visible = "1"; @@ -655,7 +655,7 @@ new GuiTextEditCtrl() { internalName = "CoverRadius"; text = "10"; - profile = "GuiTextEditProfile"; + profile = "ToolsGuiTextEditProfile"; extent = "40 20"; minExtent = "8 2"; visible = "1"; @@ -665,7 +665,7 @@ new GuiTextEditCtrl() { internalName = "CoverPosition"; text = "LocalClientConnection.getControlObject().getPosition();"; - profile = "GuiTextEditProfile"; + profile = "ToolsGuiTextEditProfile"; extent = "140 20"; minExtent = "8 2"; visible = "1"; @@ -674,7 +674,7 @@ }; new GuiTextCtrl() { text = "Follow"; - profile = "GuiTextProfile"; + profile = "ToolsuiTextProfile"; extent = "180 20"; minExtent = "8 2"; visible = "1"; @@ -682,7 +682,7 @@ new GuiTextEditCtrl() { internalName = "FollowRadius"; text = "1"; - profile = "GuiTextEditProfile"; + profile = "ToolsGuiTextEditProfile"; extent = "40 20"; minExtent = "8 2"; visible = "1"; @@ -692,7 +692,7 @@ new GuiTextEditCtrl() { internalName = "FollowObject"; text = "LocalClientConnection.player"; - profile = "GuiTextEditProfile"; + profile = "ToolsGuiTextEditProfile"; extent = "140 20"; minExtent = "8 2"; visible = "1"; @@ -701,7 +701,7 @@ }; new GuiTextCtrl() { text = "Movement"; - profile = "GuiTextProfile"; + profile = "ToolsGuiTextProfile"; extent = "180 20"; minExtent = "8 2"; visible = "1"; @@ -716,7 +716,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "0"; tooltipProfile = "GuiToolTipProfile"; @@ -736,7 +736,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "0"; tooltipProfile = "GuiToolTipProfile"; @@ -756,7 +756,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "0"; tooltipProfile = "GuiToolTipProfile"; @@ -776,7 +776,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "0"; tooltipProfile = "GuiToolTipProfile"; @@ -796,7 +796,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "0"; tooltipProfile = "GuiToolTipProfile"; @@ -816,7 +816,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "0"; tooltipProfile = "GuiToolTipProfile"; diff --git a/Templates/BaseGame/game/tools/navEditor/NavEditorSettingsTab.gui b/Templates/BaseGame/game/tools/navEditor/NavEditorSettingsTab.gui index 2c3f6d22b..1cbe2a81e 100644 --- a/Templates/BaseGame/game/tools/navEditor/NavEditorSettingsTab.gui +++ b/Templates/BaseGame/game/tools/navEditor/NavEditorSettingsTab.gui @@ -151,7 +151,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiTextRightProfile"; + profile = "ToolsGuiTextRightProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -178,7 +178,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiPopUpMenuProfile"; + profile = "ToolsGuiPopUpMenuProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -222,7 +222,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiTextRightProfile"; + profile = "ToolsGuiTextRightProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -250,7 +250,7 @@ minExtent = "8 2"; horizSizing = "width"; vertSizing = "bottom"; - profile = "GuiTextEditProfile"; + profile = "ToolsGuiTextEditProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -345,7 +345,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiTextRightProfile"; + profile = "ToolsGuiTextRightProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -372,7 +372,7 @@ minExtent = "8 2"; horizSizing = "width"; vertSizing = "bottom"; - profile = "GuiTextEditProfile"; + profile = "ToolsGuiTextEditProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -438,7 +438,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiTextRightProfile"; + profile = "ToolsGuiTextRightProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -465,7 +465,7 @@ minExtent = "8 2"; horizSizing = "width"; vertSizing = "bottom"; - profile = "GuiTextEditProfile"; + profile = "ToolsGuiTextEditProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; diff --git a/Templates/BaseGame/game/tools/navEditor/NavEditorToolbar.gui b/Templates/BaseGame/game/tools/navEditor/NavEditorToolbar.gui index 832324475..68e74d32e 100644 --- a/Templates/BaseGame/game/tools/navEditor/NavEditorToolbar.gui +++ b/Templates/BaseGame/game/tools/navEditor/NavEditorToolbar.gui @@ -30,7 +30,7 @@ minExtent = "8 8"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiTextProfile"; + profile = "ToolsGuiTextProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -66,7 +66,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiButtonProfile"; + profile = "ToolsGuiButtonProfile"; visible = "1"; active = "1"; command = "NavEditorConsoleDlg.setVisible(!NavEditorConsoleDlg.isVisible());"; @@ -87,7 +87,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "1"; variable = "$Nav::Editor::renderMesh"; @@ -108,7 +108,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "1"; variable = "$Nav::Editor::renderPortals"; @@ -129,7 +129,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "1"; variable = "$Nav::Editor::renderBVTree"; diff --git a/Templates/BaseGame/game/tools/riverEditor/RiverEditorToolbar.gui b/Templates/BaseGame/game/tools/riverEditor/RiverEditorToolbar.gui index f6e34b7c1..141e577d1 100644 --- a/Templates/BaseGame/game/tools/riverEditor/RiverEditorToolbar.gui +++ b/Templates/BaseGame/game/tools/riverEditor/RiverEditorToolbar.gui @@ -86,7 +86,7 @@ canSaveDynamicFields = "0"; Enabled = "1"; isContainer = "0"; - Profile = "GuiDefalutProfile"; + Profile = "ToolsGuiButtonProfile"; HorizSizing = "right"; VertSizing = "bottom"; Position = "89 3"; diff --git a/Templates/BaseGame/game/tools/roadEditor/RoadEditorToolbar.gui b/Templates/BaseGame/game/tools/roadEditor/RoadEditorToolbar.gui index 01171bf0b..bfa2e0513 100644 --- a/Templates/BaseGame/game/tools/roadEditor/RoadEditorToolbar.gui +++ b/Templates/BaseGame/game/tools/roadEditor/RoadEditorToolbar.gui @@ -85,7 +85,7 @@ canSaveDynamicFields = "0"; Enabled = "1"; isContainer = "0"; - Profile = "GuiDefalutProfile"; + Profile = "ToolsGuiButtonProfile"; HorizSizing = "right"; VertSizing = "bottom"; Position = "89 3"; diff --git a/Templates/BaseGame/game/tools/settings.xml b/Templates/BaseGame/game/tools/settings.xml index 69b1e8ba6..9ce74e4ef 100644 --- a/Templates/BaseGame/game/tools/settings.xml +++ b/Templates/BaseGame/game/tools/settings.xml @@ -1,128 +1,105 @@ - - lowerHeight - - 1.000000 0.833333 0.666667 0.500000 0.333333 0.166667 0.000000 - 90 - 1 - 1.000000 0.833333 0.666667 0.500000 0.333333 0.166667 0.000000 - 0.1 - 1 - 50 - 10 - 100 - 0 + + 1 + 0.8 + 0 + 0 + 100 + 0.8 + 15 + + 0 + 255 255 255 20 + 500 + 10 10 10 + 0 + 0 - - 1 - 1 - 40 40 - ellipse - 40 40 - - - - 255 255 255 255 - 255 0 0 255 - 0 0 1 - 5 - 10 - 0 255 0 255 - - - 72 70 68 255 - 59 58 57 255 - 43 43 43 255 - 240 240 240 255 - 236 234 232 255 - 32 31 30 255 - 72 70 68 255 - 37 36 35 255 - 17 16 15 255 - 96 94 92 255 - 50 49 48 255 - 255 255 255 255 - 178 175 172 255 - 59 58 57 255 - 234 232 230 255 - 50 49 48 255 - 50 49 48 255 - 100 98 96 255 - AssetWork_Debug.exe screenCenter - 50 - 0 + WorldEditorInspectorPlugin 6 40 - WorldEditorInspectorPlugin + 0 + AssetWork_Debug.exe 1 - - 1 - 51 51 51 100 - 255 255 255 100 - 102 102 102 100 - 0 - - - 1 - 1 - 1 - 1 - 1 - - - tools/worldEditor/images/DefaultHandle - tools/worldEditor/images/LockedHandle - tools/worldEditor/images/SelectHandle - - - 100 100 100 255 - 255 255 0 255 - 0 0 255 255 - 255 255 0 255 - 255 255 255 255 - 0 255 0 255 - 255 0 0 255 - + 50 - 255 0 1 8 20 + 255 + + + 100 + 1 + 0 + 2 + 0 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 50 50 50 255 - 180 180 180 255 255 255 255 255 - 215 215 215 255 + 180 180 180 255 48 48 48 255 + 215 215 215 255 + + + 0 255 0 255 + 255 255 0 255 + 255 255 255 255 + 100 100 100 255 + 0 0 255 255 + 255 0 0 255 + 255 255 0 255 + + + tools/worldEditor/images/LockedHandle + tools/worldEditor/images/DefaultHandle + tools/worldEditor/images/SelectHandle + + + 0 + 102 102 102 100 + 255 255 255 100 + 51 51 51 100 + 1 - http://www.garagegames.com/products/torque-3d/documentation/user - ../../../Documentation/Torque 3D - Script Manual.chm ../../../Documentation/Official Documentation.html + ../../../Documentation/Torque 3D - Script Manual.chm + http://www.garagegames.com/products/torque-3d/documentation/user http://www.garagegames.com/products/torque-3d/forums - - 1 - 2 - 0 - 100 - 0 - 0 - 1 - 1024 768 tools/gui + + 0 + 0 + 0 + + + ../../../Documentation/Official Documentation.html + ../../../Documentation/Torque 3D - Script Manual.chm + http://www.garagegames.com/products/torque-3d/documentation/user + - 1 0 + 1 1 8 1 @@ -130,59 +107,118 @@ 1 2 - - 0 - 0 - 0 + + 0 1 1 - - ../../../Documentation/Official Documentation.html - ../../../Documentation/Torque 3D - Script Manual.chm - http://www.garagegames.com/products/torque-3d/documentation/user - Categorized - - 0 - - - - 100 - 15 - 0.8 - 0 - 0 - 0.8 - 1 - - 500 - 10 10 10 - 0 - 255 255 255 20 - 0 - 0 - - - - data/FPSGameplay/levels - - - 25 - - - 5 - - Grid_512_Orange + + lowerHeight + + 1 + 100 + 0.1 + 0 + 10 + 50 + 1 + 1.000000 0.833333 0.666667 0.500000 0.333333 0.166667 0.000000 + 90 + 1.000000 0.833333 0.666667 0.500000 0.333333 0.166667 0.000000 + + + 1 + 1 + 40 40 + ellipse + 40 40 + + + + 0 255 0 255 + 255 255 255 255 + DefaultDecalRoadMaterial + 10 + + + 0 + 0 0 0 100 + 135 + 45 + 40 40 + 0 + 1 + 1 + 1 + 0.1 + 255 255 255 255 + 1 + 1 + 1 + 180 180 180 255 + + + 255 0 0 255 + DefaultRoadMaterialOther + DefaultRoadMaterialTop + 10 + 0 0 1 + 0 255 0 255 + + + 255 0 0 255 + 0 255 0 255 + 255 255 255 255 + 10 + 5 + 0 0 1 + + + 72 70 68 255 + 96 94 92 255 + 100 98 96 255 + 50 49 48 255 + 32 31 30 255 + 72 70 68 255 + 50 49 48 255 + 37 36 35 255 + 59 58 57 255 + 236 234 232 255 + 50 49 48 255 + 255 255 255 255 + 255 255 255 255 + 43 43 43 255 + 17 16 15 255 + 234 232 230 255 + 59 58 57 255 + 178 175 172 255 + + + data/FPSGameplay/levels + + + 5 + + + 25 + + + + DefaultPlayerData AIPlayer + 1 + + + 1 diff --git a/Templates/BaseGame/game/tools/shapeEditor/gui/shapeEdPropWindow.ed.gui b/Templates/BaseGame/game/tools/shapeEditor/gui/shapeEdPropWindow.ed.gui index ec1bf852e..804706089 100644 --- a/Templates/BaseGame/game/tools/shapeEditor/gui/shapeEdPropWindow.ed.gui +++ b/Templates/BaseGame/game/tools/shapeEditor/gui/shapeEdPropWindow.ed.gui @@ -607,7 +607,7 @@ new GuiTextEditCtrl(NodeTreeFilter) { position = "2 4"; extent = "175 18"; - profile = "GuiTextEditProfile"; + profile = "ToolsGuiTextEditProfile"; horizSizing = "width"; vertSizing = "bottom"; class = "GuiTreeViewFilterText"; @@ -619,7 +619,7 @@ buttonType = "PushButton"; useMouseEvents = "0"; isContainer = "0"; - Profile = "GuiDefaultProfile"; + Profile = "ToolsGuiButtonProfile"; HorizSizing = "left"; VertSizing = "bottom"; position = "180 5"; diff --git a/Templates/BaseGame/game/tools/worldEditor/gui/ProceduralTerrainPainterGui.gui b/Templates/BaseGame/game/tools/worldEditor/gui/ProceduralTerrainPainterGui.gui index c00e31e4f..452c23bf6 100644 --- a/Templates/BaseGame/game/tools/worldEditor/gui/ProceduralTerrainPainterGui.gui +++ b/Templates/BaseGame/game/tools/worldEditor/gui/ProceduralTerrainPainterGui.gui @@ -68,7 +68,7 @@ new GuiTextCtrl() { canSaveDynamicFields = "0"; isContainer = "0"; - Profile = "GuiTextProfile"; + Profile = "ToolsGuiTextProfile"; HorizSizing = "right"; VertSizing = "bottom"; Position = "15 37"; @@ -90,7 +90,7 @@ new GuiTextCtrl() { canSaveDynamicFields = "0"; isContainer = "0"; - Profile = "GuiTextProfile"; + Profile = "ToolsGuiTextProfile"; HorizSizing = "right"; VertSizing = "bottom"; Position = "59 37"; @@ -112,7 +112,7 @@ new GuiTextCtrl() { canSaveDynamicFields = "0"; isContainer = "0"; - Profile = "GuiTextProfile"; + Profile = "ToolsGuiTextProfile"; HorizSizing = "right"; VertSizing = "bottom"; Position = "59 62"; @@ -134,7 +134,7 @@ new GuiTextEditCtrl() { canSaveDynamicFields = "0"; isContainer = "0"; - Profile = "GuiTextEditProfile"; + Profile = "ToolsGuiTextEditProfile"; HorizSizing = "right"; VertSizing = "bottom"; Position = "97 35"; @@ -161,7 +161,7 @@ new GuiTextEditCtrl() { canSaveDynamicFields = "0"; isContainer = "0"; - Profile = "GuiTextEditProfile"; + Profile = "ToolsGuiTextEditProfile"; HorizSizing = "right"; VertSizing = "bottom"; Position = "97 60"; @@ -188,7 +188,7 @@ new GuiTextCtrl() { canSaveDynamicFields = "0"; isContainer = "0"; - Profile = "GuiTextProfile"; + Profile = "ToolsGuiTextProfile"; HorizSizing = "right"; VertSizing = "bottom"; Position = "15 101"; @@ -210,7 +210,7 @@ new GuiTextCtrl() { canSaveDynamicFields = "0"; isContainer = "0"; - Profile = "GuiTextProfile"; + Profile = "ToolsGuiTextProfile"; HorizSizing = "right"; VertSizing = "bottom"; Position = "59 101"; @@ -321,7 +321,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiTextProfile"; + profile = "ToolsGuiTextProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -349,7 +349,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiTextEditProfile"; + profile = "ToolsGuiTextEditProfile"; visible = "1"; active = "1"; variable = "$TPPCoverage"; diff --git a/Templates/BaseGame/game/tools/worldEditor/gui/ToolsPaletteGroups/NavEditorPalette.ed.gui b/Templates/BaseGame/game/tools/worldEditor/gui/ToolsPaletteGroups/NavEditorPalette.ed.gui index 506c525b2..a18e3f4ba 100644 --- a/Templates/BaseGame/game/tools/worldEditor/gui/ToolsPaletteGroups/NavEditorPalette.ed.gui +++ b/Templates/BaseGame/game/tools/worldEditor/gui/ToolsPaletteGroups/NavEditorPalette.ed.gui @@ -18,7 +18,7 @@ internalName = "NavEditorSelectMode"; Enabled = "1"; isContainer = "0"; - Profile = "GuiButtonProfile"; + Profile = "ToolsGuiButtonProfile"; HorizSizing = "right"; VertSizing = "bottom"; Position = "0 0"; @@ -41,7 +41,7 @@ internalName = "NavEditorLinkMode"; Enabled = "1"; isContainer = "0"; - Profile = "GuiButtonProfile"; + Profile = "ToolsGuiButtonProfile"; HorizSizing = "right"; VertSizing = "bottom"; Position = "0 0"; @@ -64,7 +64,7 @@ internalName = "NavEditorCoverMode"; Enabled = "1"; isContainer = "0"; - Profile = "GuiButtonProfile"; + Profile = "ToolsGuiButtonProfile"; HorizSizing = "right"; VertSizing = "bottom"; Position = "0 0"; @@ -87,7 +87,7 @@ internalName = "NavEditorTileMode"; Enabled = "1"; isContainer = "0"; - Profile = "GuiButtonProfile"; + Profile = "ToolsGuiButtonProfile"; HorizSizing = "right"; VertSizing = "bottom"; Position = "0 0"; @@ -110,7 +110,7 @@ internalName = "NavEditorTestMode"; Enabled = "1"; isContainer = "0"; - Profile = "GuiButtonProfile"; + Profile = "ToolsGuiButtonProfile"; HorizSizing = "right"; VertSizing = "bottom"; Position = "0 0"; diff --git a/Templates/BaseGame/game/tools/worldEditor/gui/ToolsPaletteGroups/TerrainEditPalette.ed.gui b/Templates/BaseGame/game/tools/worldEditor/gui/ToolsPaletteGroups/TerrainEditPalette.ed.gui index 8f776c932..0ab8f2b1e 100644 --- a/Templates/BaseGame/game/tools/worldEditor/gui/ToolsPaletteGroups/TerrainEditPalette.ed.gui +++ b/Templates/BaseGame/game/tools/worldEditor/gui/ToolsPaletteGroups/TerrainEditPalette.ed.gui @@ -105,7 +105,7 @@ internalName = "smoothSlope"; Enabled = "1"; isContainer = "0"; - Profile = "GuiButtonProfile"; + Profile = "ToolsGuiButtonProfile"; HorizSizing = "right"; VertSizing = "bottom"; position = "144 0"; diff --git a/Templates/BaseGame/game/tools/worldEditor/gui/guiTerrainImportGui.gui b/Templates/BaseGame/game/tools/worldEditor/gui/guiTerrainImportGui.gui index c82e82450..405c13df5 100644 --- a/Templates/BaseGame/game/tools/worldEditor/gui/guiTerrainImportGui.gui +++ b/Templates/BaseGame/game/tools/worldEditor/gui/guiTerrainImportGui.gui @@ -520,7 +520,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiCheckBoxProfile"; + profile = "ToolsGuiCheckBoxProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; diff --git a/Templates/BaseGame/game/tools/worldEditor/gui/probeBakeDlg.gui b/Templates/BaseGame/game/tools/worldEditor/gui/probeBakeDlg.gui index 6f4c10d77..ae952c9b8 100644 --- a/Templates/BaseGame/game/tools/worldEditor/gui/probeBakeDlg.gui +++ b/Templates/BaseGame/game/tools/worldEditor/gui/probeBakeDlg.gui @@ -36,7 +36,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiWindowProfile"; + profile = "ToolsGuiWindowProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -59,7 +59,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiTextProfile"; + profile = "ToolsGuiTextProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -86,7 +86,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiPopUpMenuProfile"; + profile = "ToolsGuiPopUpMenuProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -109,7 +109,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiTextProfile"; + profile = "ToolsGuiTextProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -137,7 +137,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiTextEditProfile"; + profile = "ToolsGuiTextEditProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; @@ -156,7 +156,7 @@ minExtent = "8 2"; horizSizing = "right"; vertSizing = "bottom"; - profile = "GuiButtonProfile"; + profile = "ToolsGuiButtonProfile"; visible = "1"; active = "1"; tooltipProfile = "GuiToolTipProfile"; diff --git a/Templates/BaseGame/game/tools/worldEditor/gui/shadowViz.gui b/Templates/BaseGame/game/tools/worldEditor/gui/shadowViz.gui index 05c1a8926..e130850bd 100644 --- a/Templates/BaseGame/game/tools/worldEditor/gui/shadowViz.gui +++ b/Templates/BaseGame/game/tools/worldEditor/gui/shadowViz.gui @@ -23,7 +23,7 @@ internalName = "WindowCtrl"; canSaveDynamicFields = "0"; isContainer = "1"; - Profile = "GuiWindowProfile"; + Profile = "ToolsGuiWindowProfile"; HorizSizing = "right"; VertSizing = "bottom"; Position = "50 50"; diff --git a/Templates/BaseGame/game/tools/worldEditor/main.cs b/Templates/BaseGame/game/tools/worldEditor/main.cs index 6c87dfefe..1719bcccb 100644 --- a/Templates/BaseGame/game/tools/worldEditor/main.cs +++ b/Templates/BaseGame/game/tools/worldEditor/main.cs @@ -47,6 +47,7 @@ function initializeWorldEditor() exec("./gui/probeBakeDlg.gui" ); exec("tools/gui/cubemapEditor.gui" ); + exec("tools/gui/postFxEditor.gui" ); // Load Scripts. exec("./scripts/menus.ed.cs"); @@ -72,6 +73,8 @@ function initializeWorldEditor() exec("./scripts/visibility/shadowViz.cs"); exec("./scripts/visibility/probeViz.cs"); exec("./scripts/visibility/miscViz.cs"); + + exec("tools/gui/postFxEditor.cs" ); // Load Custom Editors loadDirectory(expandFilename("./scripts/editors")); diff --git a/Templates/BaseGame/game/tools/worldEditor/scripts/menus.ed.cs b/Templates/BaseGame/game/tools/worldEditor/scripts/menus.ed.cs index e48eb8683..5850fa46c 100644 --- a/Templates/BaseGame/game/tools/worldEditor/scripts/menus.ed.cs +++ b/Templates/BaseGame/game/tools/worldEditor/scripts/menus.ed.cs @@ -190,7 +190,7 @@ function EditorGui::buildMenus(%this) item[14] = "Snap Options..." TAB "" TAB "ESnapOptions.ToggleVisibility();"; item[15] = "-"; item[16] = "Game Options..." TAB "" TAB "Canvas.pushDialog(optionsDlg);"; - item[17] = "PostEffect Manager" TAB "" TAB "Canvas.pushDialog(PostFXManager);"; + item[17] = "PostEffect Manager" TAB "" TAB "Canvas.pushDialog(PostFXEditor);"; }; %this.menuBar.insert(%editMenu); diff --git a/Templates/BaseGame/game/data/Kork/Images/player_Albedo.asset.taml b/Templates/Modules/Kork/Images/player_Albedo.asset.taml similarity index 100% rename from Templates/BaseGame/game/data/Kork/Images/player_Albedo.asset.taml rename to Templates/Modules/Kork/Images/player_Albedo.asset.taml diff --git a/Templates/BaseGame/game/data/Kork/Images/player_Albedo.png b/Templates/Modules/Kork/Images/player_Albedo.png similarity index 100% rename from Templates/BaseGame/game/data/Kork/Images/player_Albedo.png rename to Templates/Modules/Kork/Images/player_Albedo.png diff --git a/Templates/BaseGame/game/data/Kork/Kork.cs b/Templates/Modules/Kork/Kork.cs similarity index 100% rename from Templates/BaseGame/game/data/Kork/Kork.cs rename to Templates/Modules/Kork/Kork.cs diff --git a/Templates/BaseGame/game/data/Kork/Kork.module b/Templates/Modules/Kork/Kork.module similarity index 100% rename from Templates/BaseGame/game/data/Kork/Kork.module rename to Templates/Modules/Kork/Kork.module diff --git a/Templates/BaseGame/game/data/Kork/Shapes/OrcMage.asset.taml b/Templates/Modules/Kork/Shapes/OrcMage.asset.taml similarity index 66% rename from Templates/BaseGame/game/data/Kork/Shapes/OrcMage.asset.taml rename to Templates/Modules/Kork/Shapes/OrcMage.asset.taml index 2d388c636..56236ccfd 100644 --- a/Templates/BaseGame/game/data/Kork/Shapes/OrcMage.asset.taml +++ b/Templates/Modules/Kork/Shapes/OrcMage.asset.taml @@ -2,7 +2,7 @@ canSave="true" canSaveDynamicFields="true" AssetName="OrcMage" - fileName="@assetFile=OrcMage.dts" + fileName="@assetFile=D:/Gamedev/T3DMIT/T3DPreview4_0/Bugfixaroo/My Projects/Bugfixaroo/game/data/Kork/Shapes/OrcMage.dts" isNewShape="1" materialSlot0="@Asset=Kork:player_mat" originalFilePath="E:/Gamedev/Art/TorqueCharacters/OrcMage/OrcMage.dts" diff --git a/Templates/BaseGame/game/data/Kork/Shapes/OrcMage.cs b/Templates/Modules/Kork/Shapes/OrcMage.cs similarity index 100% rename from Templates/BaseGame/game/data/Kork/Shapes/OrcMage.cs rename to Templates/Modules/Kork/Shapes/OrcMage.cs diff --git a/Templates/BaseGame/game/data/Kork/Shapes/OrcMage.dts b/Templates/Modules/Kork/Shapes/OrcMage.dts similarity index 100% rename from Templates/BaseGame/game/data/Kork/Shapes/OrcMage.dts rename to Templates/Modules/Kork/Shapes/OrcMage.dts diff --git a/Templates/BaseGame/game/data/Kork/materials/player_mat.asset.taml b/Templates/Modules/Kork/materials/player_mat.asset.taml similarity index 100% rename from Templates/BaseGame/game/data/Kork/materials/player_mat.asset.taml rename to Templates/Modules/Kork/materials/player_mat.asset.taml diff --git a/Templates/BaseGame/game/data/Kork/materials/player_mat.cs b/Templates/Modules/Kork/materials/player_mat.cs similarity index 100% rename from Templates/BaseGame/game/data/Kork/materials/player_mat.cs rename to Templates/Modules/Kork/materials/player_mat.cs diff --git a/Templates/BaseGame/game/data/SpaceOrc/Images/Orc_Material_BaseColor.asset.taml b/Templates/Modules/SpaceOrc/Images/Orc_Material_BaseColor.asset.taml similarity index 100% rename from Templates/BaseGame/game/data/SpaceOrc/Images/Orc_Material_BaseColor.asset.taml rename to Templates/Modules/SpaceOrc/Images/Orc_Material_BaseColor.asset.taml diff --git a/Templates/BaseGame/game/data/SpaceOrc/Images/Orc_Material_BaseColor.png b/Templates/Modules/SpaceOrc/Images/Orc_Material_BaseColor.png similarity index 100% rename from Templates/BaseGame/game/data/SpaceOrc/Images/Orc_Material_BaseColor.png rename to Templates/Modules/SpaceOrc/Images/Orc_Material_BaseColor.png diff --git a/Templates/BaseGame/game/data/SpaceOrc/Images/Orc_Material_Metallic.png b/Templates/Modules/SpaceOrc/Images/Orc_Material_Metallic.png similarity index 100% rename from Templates/BaseGame/game/data/SpaceOrc/Images/Orc_Material_Metallic.png rename to Templates/Modules/SpaceOrc/Images/Orc_Material_Metallic.png diff --git a/Templates/BaseGame/game/data/SpaceOrc/Images/Orc_Material_Metallic.taml b/Templates/Modules/SpaceOrc/Images/Orc_Material_Metallic.taml similarity index 100% rename from Templates/BaseGame/game/data/SpaceOrc/Images/Orc_Material_Metallic.taml rename to Templates/Modules/SpaceOrc/Images/Orc_Material_Metallic.taml diff --git a/Templates/BaseGame/game/data/SpaceOrc/Images/Orc_Material_Roughness.png b/Templates/Modules/SpaceOrc/Images/Orc_Material_Roughness.png similarity index 100% rename from Templates/BaseGame/game/data/SpaceOrc/Images/Orc_Material_Roughness.png rename to Templates/Modules/SpaceOrc/Images/Orc_Material_Roughness.png diff --git a/Templates/BaseGame/game/data/SpaceOrc/Images/Orc_Material_Roughness.taml b/Templates/Modules/SpaceOrc/Images/Orc_Material_Roughness.taml similarity index 100% rename from Templates/BaseGame/game/data/SpaceOrc/Images/Orc_Material_Roughness.taml rename to Templates/Modules/SpaceOrc/Images/Orc_Material_Roughness.taml diff --git a/Templates/BaseGame/game/data/SpaceOrc/Images/Orc_Material_normal.png b/Templates/Modules/SpaceOrc/Images/Orc_Material_normal.png similarity index 100% rename from Templates/BaseGame/game/data/SpaceOrc/Images/Orc_Material_normal.png rename to Templates/Modules/SpaceOrc/Images/Orc_Material_normal.png diff --git a/Templates/BaseGame/game/data/SpaceOrc/Images/Orc_Material_normal.taml b/Templates/Modules/SpaceOrc/Images/Orc_Material_normal.taml similarity index 100% rename from Templates/BaseGame/game/data/SpaceOrc/Images/Orc_Material_normal.taml rename to Templates/Modules/SpaceOrc/Images/Orc_Material_normal.taml diff --git a/Templates/BaseGame/game/data/SpaceOrc/Shapes/SpaceOrcMage.asset.taml b/Templates/Modules/SpaceOrc/Shapes/SpaceOrcMage.asset.taml similarity index 100% rename from Templates/BaseGame/game/data/SpaceOrc/Shapes/SpaceOrcMage.asset.taml rename to Templates/Modules/SpaceOrc/Shapes/SpaceOrcMage.asset.taml diff --git a/Templates/BaseGame/game/data/SpaceOrc/Shapes/SpaceOrcMage.cs b/Templates/Modules/SpaceOrc/Shapes/SpaceOrcMage.cs similarity index 100% rename from Templates/BaseGame/game/data/SpaceOrc/Shapes/SpaceOrcMage.cs rename to Templates/Modules/SpaceOrc/Shapes/SpaceOrcMage.cs diff --git a/Templates/BaseGame/game/data/SpaceOrc/Shapes/SpaceOrcMage.dts b/Templates/Modules/SpaceOrc/Shapes/SpaceOrcMage.dts similarity index 100% rename from Templates/BaseGame/game/data/SpaceOrc/Shapes/SpaceOrcMage.dts rename to Templates/Modules/SpaceOrc/Shapes/SpaceOrcMage.dts diff --git a/Templates/BaseGame/game/data/SpaceOrc/SpaceOrc.cs b/Templates/Modules/SpaceOrc/SpaceOrc.cs similarity index 100% rename from Templates/BaseGame/game/data/SpaceOrc/SpaceOrc.cs rename to Templates/Modules/SpaceOrc/SpaceOrc.cs diff --git a/Templates/BaseGame/game/data/SpaceOrc/SpaceOrc.module b/Templates/Modules/SpaceOrc/SpaceOrc.module similarity index 100% rename from Templates/BaseGame/game/data/SpaceOrc/SpaceOrc.module rename to Templates/Modules/SpaceOrc/SpaceOrc.module diff --git a/Templates/BaseGame/game/data/SpaceOrc/materials/Orc_Material.asset.taml b/Templates/Modules/SpaceOrc/materials/Orc_Material.asset.taml similarity index 100% rename from Templates/BaseGame/game/data/SpaceOrc/materials/Orc_Material.asset.taml rename to Templates/Modules/SpaceOrc/materials/Orc_Material.asset.taml diff --git a/Templates/BaseGame/game/data/SpaceOrc/materials/Orc_Material.cs b/Templates/Modules/SpaceOrc/materials/Orc_Material.cs similarity index 100% rename from Templates/BaseGame/game/data/SpaceOrc/materials/Orc_Material.cs rename to Templates/Modules/SpaceOrc/materials/Orc_Material.cs diff --git a/Templates/BaseGame/game/data/StaticShapeTest/Images/Grid_512_orange.png b/Templates/Modules/StaticShapeTest/Images/Grid_512_orange.png similarity index 100% rename from Templates/BaseGame/game/data/StaticShapeTest/Images/Grid_512_orange.png rename to Templates/Modules/StaticShapeTest/Images/Grid_512_orange.png diff --git a/Templates/BaseGame/game/data/StaticShapeTest/Images/Grid_512_orange_ALBEDO.asset.taml b/Templates/Modules/StaticShapeTest/Images/Grid_512_orange_ALBEDO.asset.taml similarity index 100% rename from Templates/BaseGame/game/data/StaticShapeTest/Images/Grid_512_orange_ALBEDO.asset.taml rename to Templates/Modules/StaticShapeTest/Images/Grid_512_orange_ALBEDO.asset.taml diff --git a/Templates/BaseGame/game/data/StaticShapeTest/Shapes/Cube.asset.taml b/Templates/Modules/StaticShapeTest/Shapes/Cube.asset.taml similarity index 100% rename from Templates/BaseGame/game/data/StaticShapeTest/Shapes/Cube.asset.taml rename to Templates/Modules/StaticShapeTest/Shapes/Cube.asset.taml diff --git a/Templates/BaseGame/game/data/StaticShapeTest/Shapes/Cube.cs b/Templates/Modules/StaticShapeTest/Shapes/Cube.cs similarity index 100% rename from Templates/BaseGame/game/data/StaticShapeTest/Shapes/Cube.cs rename to Templates/Modules/StaticShapeTest/Shapes/Cube.cs diff --git a/Templates/BaseGame/game/data/StaticShapeTest/Shapes/Cube.fbx b/Templates/Modules/StaticShapeTest/Shapes/Cube.fbx similarity index 100% rename from Templates/BaseGame/game/data/StaticShapeTest/Shapes/Cube.fbx rename to Templates/Modules/StaticShapeTest/Shapes/Cube.fbx diff --git a/Templates/BaseGame/game/data/StaticShapeTest/Shapes/Cylinder.asset.taml b/Templates/Modules/StaticShapeTest/Shapes/Cylinder.asset.taml similarity index 100% rename from Templates/BaseGame/game/data/StaticShapeTest/Shapes/Cylinder.asset.taml rename to Templates/Modules/StaticShapeTest/Shapes/Cylinder.asset.taml diff --git a/Templates/BaseGame/game/data/StaticShapeTest/Shapes/Cylinder.cs b/Templates/Modules/StaticShapeTest/Shapes/Cylinder.cs similarity index 100% rename from Templates/BaseGame/game/data/StaticShapeTest/Shapes/Cylinder.cs rename to Templates/Modules/StaticShapeTest/Shapes/Cylinder.cs diff --git a/Templates/BaseGame/game/data/StaticShapeTest/Shapes/Cylinder.fbx b/Templates/Modules/StaticShapeTest/Shapes/Cylinder.fbx similarity index 100% rename from Templates/BaseGame/game/data/StaticShapeTest/Shapes/Cylinder.fbx rename to Templates/Modules/StaticShapeTest/Shapes/Cylinder.fbx diff --git a/Templates/BaseGame/game/data/StaticShapeTest/Shapes/materials.cs b/Templates/Modules/StaticShapeTest/Shapes/materials.cs similarity index 100% rename from Templates/BaseGame/game/data/StaticShapeTest/Shapes/materials.cs rename to Templates/Modules/StaticShapeTest/Shapes/materials.cs diff --git a/Templates/BaseGame/game/data/StaticShapeTest/StaticShapeTest.cs b/Templates/Modules/StaticShapeTest/StaticShapeTest.cs similarity index 100% rename from Templates/BaseGame/game/data/StaticShapeTest/StaticShapeTest.cs rename to Templates/Modules/StaticShapeTest/StaticShapeTest.cs diff --git a/Templates/BaseGame/game/data/StaticShapeTest/StaticShapeTest.module b/Templates/Modules/StaticShapeTest/StaticShapeTest.module similarity index 100% rename from Templates/BaseGame/game/data/StaticShapeTest/StaticShapeTest.module rename to Templates/Modules/StaticShapeTest/StaticShapeTest.module diff --git a/Templates/BaseGame/game/data/StaticShapeTest/materials/Grid_512_orange.asset.taml b/Templates/Modules/StaticShapeTest/materials/Grid_512_orange.asset.taml similarity index 100% rename from Templates/BaseGame/game/data/StaticShapeTest/materials/Grid_512_orange.asset.taml rename to Templates/Modules/StaticShapeTest/materials/Grid_512_orange.asset.taml diff --git a/Templates/BaseGame/game/data/StaticShapeTest/materials/Grid_512_orange.cs b/Templates/Modules/StaticShapeTest/materials/Grid_512_orange.cs similarity index 100% rename from Templates/BaseGame/game/data/StaticShapeTest/materials/Grid_512_orange.cs rename to Templates/Modules/StaticShapeTest/materials/Grid_512_orange.cs diff --git a/Tools/CMake/torque3d.cmake b/Tools/CMake/torque3d.cmake index f46febb1c..b6a8d5cef 100644 --- a/Tools/CMake/torque3d.cmake +++ b/Tools/CMake/torque3d.cmake @@ -135,11 +135,7 @@ mark_as_advanced(TORQUE_HIFI) option(TORQUE_EXTENDED_MOVE "Extended move support" OFF) mark_as_advanced(TORQUE_EXTENDED_MOVE) -if(WIN32) - option(TORQUE_SDL "Use SDL for window and input" ON) -else() - set(TORQUE_SDL ON) # we need sdl to work on Linux/Mac -endif() +set(TORQUE_SDL ON) # we need sdl to do our platform interop if(WIN32) option(TORQUE_OPENGL "Allow OpenGL render" ON) @@ -797,15 +793,32 @@ if(TORQUE_SDL) mark_as_advanced(CLOCK_GETTIME) mark_as_advanced(GCC_ATOMICS) mark_as_advanced(VIDEO_WAYLAND) + set(VIDEO_WAYLAND OFF) mark_as_advanced(VIDEO_COCOA) mark_as_advanced(VIDEO_DIRECTFB) mark_as_advanced(VIDEO_DUMMY) mark_as_advanced(VIDEO_MIR) mark_as_advanced(VIDEO_OPENGL) mark_as_advanced(VIDEO_OPENGLES) + set(VIDEO_OPENGLES OFF) mark_as_advanced(VIDEO_RPI) + set(VIDEO_RPI OFF) mark_as_advanced(VIDEO_VIVANTE) + set(VIDEO_VIVANTE OFF) mark_as_advanced(VIDEO_X11) + set(VIDEO_X11 OFF) + mark_as_advanced(VIDEO_VULKAN) + set(VIDEO_VULKAN OFF) + mark_as_advanced(VIDEO_KMSDRM) + set(VIDEO_KMSDRM OFF) + mark_as_advanced(WASAPI) + mark_as_advanced(SS3) + mark_as_advanced(SDL_TEST) + set(SDL_TEST OFF) + mark_as_advanced(SDL_SENSOR) + set(SDL_SENSOR OFF) + mark_as_advanced(BACKGROUNDING_SIGNAL) + mark_as_advanced(FOREGROUNDING_SIGNAL) endif() if(TORQUE_STATIC_CODE_ANALYSIS)