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
This commit is contained in:
Areloch 2019-09-29 06:44:43 -05:00
parent ff4c2d59fc
commit e7bf49e801
165 changed files with 2328 additions and 5095 deletions

View file

@ -214,7 +214,7 @@
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
profile = "GuiTextProfile";
profile = "ToolsGuiTextProfile";
visible = "1";
active = "1";
Clickable = "1";
@ -252,7 +252,7 @@
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
profile = "GuiTextProfile";
profile = "ToolsGuiTextProfile";
visible = "1";
active = "1";
Clickable = "1";
@ -572,7 +572,7 @@
extent = "116 18";
horizSizing = "right";
vertSizing = "bottom";
profile = "GuiTextEditProfile";
profile = "ToolsGuiTextEditProfile";
tooltipProfile = "GuiToolTipProfile";
tooltip = "Hex representation of Red, Green, Blue Color value.";
command = "$thisControl.onKeyDown();";

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

Before After
Before After

View file

@ -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";

View file

@ -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";

View file

@ -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";

View file

@ -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";

View file

@ -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";

View file

@ -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";

View file

@ -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";

View file

@ -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);
}

View file

@ -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 ---

View file

@ -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";

View file

@ -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");