Merge branch 'PostFXReorgAndUpdate' of https://github.com/Areloch/Torque3D into Preview4_0

This commit is contained in:
Areloch 2020-09-11 03:21:56 -05:00
commit b05d5fd3bd
181 changed files with 2487 additions and 1458 deletions

View file

@ -33,6 +33,7 @@ function ESettingsWindow::startup( %this )
%this.addEditorSettingsPage("NavEditor", "Navigation Editor");
%this.addEditorSettingsPage("Theme", "Theme");
%this.addEditorSettingsPage("AssetEditing", "Asset Editing");
%this.addEditorSettingsPage("PostFX", "Post Effects");
%this.addGameSettingsPage("GameGeneral", "General");
%this.addGameSettingsPage("Gameplay", "Gameplay");
@ -429,6 +430,14 @@ function ESettingsWindow::getThemeSettings(%this)
SettingsInspector.addSettingsField("Theme/tooltipDivColor", "Tooltip Divider Color", "ColorI", "");
SettingsInspector.endGroup();
}
function ESettingsWindow::getPostFXSettings(%this)
{
SettingsInspector.startGroup("Post Effects");
SettingsInspector.addField("Edit Default PostFX", "Edit Default PostFX Config", "button", "Edit Default PostFX Config", "", "PostFXEditor.editDefaultPostFXSettings();");
SettingsInspector.endGroup();
}
//
// COMMON GAME SETTINGS
//

View file

@ -5,9 +5,44 @@ function PostFXEditor::onDialogPush( %this )
%this.refresh();
ESettingsWindowList.setSelectedById( 1 );
PostEffectEditorList.setSelectedById( 1 );
}
function PostFXEditor::onDialogPop( %this )
{
//Always change the manager target back to the scene's just to be save when done editing
$PostFXManager::currentPreset = $Client::LevelAsset.getPostFXPresetPath();
PostFXManager.loadPresetHandler($PostFXManager::currentPreset);
PostFXEditorWindow.text = "PostFX Editor";
}
function PostFXEditor::editScenePostFXSettings( %this )
{
$PostFXManager::currentPreset = $Client::LevelAsset.getPostFXPresetPath();
Canvas.pushDialog(%this);
PostFXEditorWindow.text = "PostFX Editor - " @ getScene(0).getName();
PostFXEditorActionButton.text = "Revert";
PostFXEditorActionButton.command = "PostFXEditor.revert();";
}
function PostFXEditor::editDefaultPostFXSettings( %this )
{
$PostFXManager::currentPreset = $PostFXManager::defaultPreset;
PostFXManager.loadPresetHandler($PostFXManager::currentPreset);
Canvas.pushDialog(%this);
PostFXEditorWindow.text = "PostFX Editor - Default Config";
PostFXEditorActionButton.text = "Save";
PostFXEditorActionButton.command = "PostFXManager::savePresetHandler($PostFXManager::defaultPreset);";
}
function PostFXEditor::refresh(%this)
{
PostEffectEditorList.clear();
@ -17,7 +52,8 @@ function PostFXEditor::refresh(%this)
{
%postEffect = PostFXManager.getKey(%i);
PostEffectEditorList.addRow( %i, %postEffect.getName() );
if(%postEffect.isEnabled)
PostEffectEditorList.addRow( %i, %postEffect.getName() );
}
}
@ -37,7 +73,16 @@ function PostFXEditor::apply(%this)
function PostFXEditor::revert(%this)
{
PostFXManager::loadPresetHandler($PostFXManager::currentPreset);
%targetPreset = $PostFXManager::currentPreset;
if(%targetPreset $= "")
%targetPreset = $PostFXManager::defaultPreset;
PostFXManager::loadPresetHandler(%targetPreset);
%this.refresh();
PostEffectEditorInspector.clearFields();
PostEffectEditorList.setSelectedRow(1);
}
function PostEffectEditorList::onSelect( %this, %id, %text )
@ -50,4 +95,54 @@ function PostEffectEditorList::onSelect( %this, %id, %text )
{
%postEffect.populatePostFXSettings();
}
}
function PostFXEditor::addNewPostFXs(%this)
{
%rowIndex = PostFXEditorNewPFXList.getSelectedRow();
%postFXName = PostFXEditorNewPFXList.getRowText(%rowIndex);
%postFXName.enable();
%this.refresh();
%rowIndex = PostEffectEditorList.findTextIndex(%postFXName);
PostEffectEditorList.setSelectedRow(%rowIndex);
PostFXEditorNewPFXWindow.setHidden(true);
}
function PostFXEditor::removePostFX(%this)
{
%rowIndex = PostEffectEditorList.getSelectedRow();
%postFXName = PostEffectEditorList.getRowText(%rowIndex);
%postFXName.disable();
%this.refresh();
PostEffectEditorInspector.clearFields();
PostEffectEditorList.setSelectedRow(1);
}
function editScenePostEffects(%scene)
{
if(EditorIsActive())
PostFXEditor.editScenePostFXSettings();
}
function PostFXEditorNewPFXWindow::showDialog(%this)
{
%this.setHidden(false);
PostFXEditorNewPFXList.clear();
%count = PostFXManager.Count();
for(%i=0; %i < %count; %i++)
{
%postEffect = PostFXManager.getKey(%i);
if(!%postEffect.isEnabled)
PostFXEditorNewPFXList.addRow( %i, %postEffect.getName() );
}
}

View file

@ -1,7 +1,7 @@
//--- OBJECT WRITE BEGIN ---
%guiContent = new GuiControl(postFXEditor) {
position = "0 0";
extent = "1024 768";
extent = "1920 1200";
minExtent = "8 8";
horizSizing = "width";
vertSizing = "height";
@ -14,8 +14,8 @@
canSave = "1";
canSaveDynamicFields = "1";
new GuiWindowCtrl(ppOptionsWindow) {
text = "PostFX Editor";
new GuiWindowCtrl(PostFXEditorWindow) {
text = "PostFX Editor - EditorTemplateLevel";
resizeWidth = "1";
resizeHeight = "1";
canMove = "1";
@ -31,7 +31,7 @@
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "197 65";
position = "639 292";
extent = "642 615";
minExtent = "8 8";
horizSizing = "center";
@ -95,6 +95,60 @@
canSave = "1";
canSaveDynamicFields = "0";
new GuiBitmapButtonCtrl() {
bitmap = "tools/gui/images/iconAdd.png";
bitmapMode = "Centered";
autoFitExtents = "0";
useModifiers = "0";
useStates = "1";
masked = "0";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "145 4";
extent = "16 16";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
profile = "GuiDefaultProfile";
visible = "1";
active = "1";
command = "PostFXEditorNewPFXWindow.showDialog();";
tooltipProfile = "GuiToolTipProfile";
tooltip = "Add a new Import Config";
hovertime = "1000";
isContainer = "0";
internalName = "newImportConfig";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiBitmapButtonCtrl() {
bitmap = "tools/gui/images/iconDelete.png";
bitmapMode = "Centered";
autoFitExtents = "0";
useModifiers = "0";
useStates = "1";
masked = "0";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "163 4";
extent = "16 16";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
profile = "GuiDefaultProfile";
visible = "1";
active = "1";
command = "PostFXEditor.removePostFX();";
tooltipProfile = "GuiToolTipProfile";
tooltip = "Delets the currently selected import config";
hovertime = "1000";
isContainer = "0";
internalName = "deleteImportConfig";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiScrollCtrl() {
willFirstRespond = "1";
hScrollBar = "alwaysOff";
@ -110,8 +164,8 @@
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "3 3";
extent = "177 643";
position = "3 24";
extent = "177 538";
minExtent = "100 50";
horizSizing = "width";
vertSizing = "height";
@ -226,85 +280,146 @@
};
};
};
new GuiButtonCtrl(ppOptionsApply) {
text = "Apply";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "547 588";
extent = "93 23";
minExtent = "8 8";
horizSizing = "right";
vertSizing = "top";
profile = "ToolsGuiButtonProfile";
visible = "1";
active = "1";
command = "PostFXEditor.apply();";
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 = "349 588";
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 = "250 588";
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) {
new GuiButtonCtrl(PostFXEditorActionButton) {
text = "Revert";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "448 588";
position = "451 588";
extent = "93 23";
minExtent = "8 8";
horizSizing = "right";
horizSizing = "left";
vertSizing = "top";
profile = "ToolsGuiButtonProfile";
visible = "1";
active = "1";
command = "PostFXEditor.revert(); PostFXEditor.refresh();";
tooltipProfile = "GuiToolTipProfile";
tooltip = "Revert any changes made since opening the dialog";
tooltip = "Revert any changes made.";
hovertime = "1000";
isContainer = "0";
internalName="";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiButtonCtrl() {
text = "Close";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "547 588";
extent = "93 23";
minExtent = "8 8";
horizSizing = "left";
vertSizing = "top";
profile = "ToolsGuiButtonProfile";
visible = "1";
active = "1";
command = "Canvas.popDialog(postFXEditor);";
tooltipProfile = "GuiToolTipProfile";
tooltip = "Close the Post Effect Editor";
hovertime = "1000";
isContainer = "0";
canSave = "1";
canSaveDynamicFields = "0";
};
};
new GuiWindowCtrl(PostFXEditorNewPFXWindow) {
text = "Add New PostFX";
resizeWidth = "1";
resizeHeight = "1";
canMove = "1";
canClose = "1";
canMinimize = "0";
canMaximize = "0";
canCollapse = "0";
edgeSnap = "1";
margin = "0 0 0 0";
padding = "0 0 0 0";
anchorTop = "1";
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "884 437";
extent = "182 276";
minExtent = "48 70";
horizSizing = "center";
vertSizing = "center";
profile = "ToolsGuiWindowProfile";
visible = "0";
active = "1";
tooltipProfile = "ToolsGuiToolTipProfile";
closeCommand = "PostFXEditorNewPFXWindow.setHidden(true);";
hovertime = "1000";
isContainer = "1";
hidden = "1";
canSave = "1";
canSaveDynamicFields = "0";
new GuiScrollCtrl() {
willFirstRespond = "1";
hScrollBar = "alwaysOff";
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 24";
extent = "177 224";
minExtent = "100 50";
horizSizing = "width";
vertSizing = "height";
profile = "ToolsGuiScrollProfile";
visible = "1";
active = "1";
tooltipProfile = "ToolsGuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0";
new GuiTextListCtrl(PostFXEditorNewPFXList) {
columns = "0";
fitParentWidth = "0";
clipColumnText = "0";
rowHeightPadding = "2";
position = "1 1";
extent = "174 221";
minExtent = "8 2";
horizSizing = "width";
vertSizing = "height";
profile = "ToolsGuiListBoxProfile";
visible = "1";
active = "1";
tooltipProfile = "ToolsGuiToolTipProfile";
hovertime = "1000";
isContainer = "0";
canSave = "1";
canSaveDynamicFields = "0";
};
};
new GuiButtonCtrl() {
text = "Done";
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "107 251";
extent = "64 22";
minExtent = "8 2";
horizSizing = "left";
vertSizing = "top";
profile = "ToolsGuiButtonProfile";
visible = "1";
active = "1";
command = "PostFXEditor.addNewPostFXs();";
tooltipProfile = "ToolsGuiToolTipProfile";
hovertime = "1000";
isContainer = "0";
canSave = "1";