* Fixes handling for Image, Material and Shape Assets' inspector fields so they properly work with non-object targeted inspectors, such as the PostFXEditor

* Updated PostFXEditor scripts to handle refreshing properly when certainl field types(assetId fields) are changed
* Adjusted display handling of slider values on guiGameSettingsCtrl to show 0.x decimal format instead of 0.xxxxx
* Fixed pad length of item names in guiTreeView for items that are marked to avoid console spam
* Fixed local offseting for popupMenus so scaled/offset window position doesn't cause the popup menu to offset from mouse click position(courtesy OTHG_Mars)
* Fix issue with terrain where, due to default value save validation, the global scope for the terrain collision list would be whiped when saving, causing players to fall through terrain. Moved to per-terrain convexLists
* Fixed issue with the core camera model mesh and updated references so camera bookmarks display properly
* Fixed console spam during asset browser initialization where it would try and expand the directory tree even though the dir tree isn't populated yet
* Fixed handling of Open File Location RMB menu action to properly deal with script and datablock types
* Removed unusuable "Create ___" asset type prompts from the RMB menus for the AB to avoid confusion
* Improved slider offset positioning for various popup sliders on editor toolbars
* Anchored the visibility popup menu to the button for more consistent formatting and better feel
* Shifted various visibility toggles from 'in place' on the menu buttons to functions, allowing it to also properly mark the menu entries as checked or not, improving usability
This commit is contained in:
Areloch 2022-08-26 15:25:17 -05:00
parent 6a0cd22e7a
commit ded99cd8cb
29 changed files with 276 additions and 127 deletions

View file

@ -510,8 +510,8 @@ new GuiMouseEventCtrl(TerrainBrushSizeSliderCtrlContainer,EditorGuiGroup) {
Profile = "ToolsGuiSliderBoxProfile";
HorizSizing = "right";
VertSizing = "bottom";
position = firstWord(TerrainBrushSizeTextEditContainer.position) + firstWord(EWTerrainEditToolbar.position)+11 SPC
(getWord(TerrainBrushSizeTextEditContainer, 1)) + 25;
position = TerrainBrushSizeTextEditContainer.position.x + EWTerrainEditToolbar.position.x + 50 SPC
TerrainBrushSizeTextEditContainer.position.y + 50;
Extent = "112 20";
MinExtent = "8 2";
canSave = "1";
@ -540,8 +540,8 @@ new GuiMouseEventCtrl(TerrainBrushPressureSliderCtrlContainer,EditorGuiGroup) {
Profile = "ToolsGuiSliderBoxProfile";
HorizSizing = "right";
VertSizing = "bottom";
position = firstWord(TerrainBrushPressureTextEditContainer.position) + firstWord(EWTerrainEditToolbar.position) SPC
(getWord(TerrainBrushPressureTextEditContainer, 1)) + 25;
position = TerrainBrushPressureTextEditContainer.position.x + EWTerrainEditToolbar.position.x + 50 SPC
TerrainBrushPressureTextEditContainer.position.y + 50;
Extent = "112 20";
MinExtent = "8 2";
canSave = "1";
@ -570,8 +570,8 @@ new GuiMouseEventCtrl(TerrainBrushSoftnessSliderCtrlContainer,EditorGuiGroup) {
Profile = "ToolsGuiSliderBoxProfile";
HorizSizing = "right";
VertSizing = "bottom";
position = firstWord(TerrainBrushSoftnessTextEditContainer.position) + firstWord(EWTerrainEditToolbar.position) SPC
(getWord(TerrainBrushSoftnessTextEditContainer, 1)) + 25;
position = TerrainBrushSoftnessTextEditContainer.position.x + EWTerrainEditToolbar.position.x + 50 SPC
TerrainBrushSoftnessTextEditContainer.position.y + 50;
Extent = "112 20";
MinExtent = "8 2";
canSave = "1";
@ -600,8 +600,8 @@ new GuiMouseEventCtrl(TerrainSetHeightSliderCtrlContainer,EditorGuiGroup) {
Profile = "ToolsGuiSliderBoxProfile";
HorizSizing = "right";
VertSizing = "bottom";
position = firstWord(TerrainSetHeightTextEditContainer.position) + firstWord(EWTerrainEditToolbar.position) SPC
(getWord(TerrainSetHeightTextEditContainer, 1)) + 25;
position = TerrainSetHeightTextEditContainer.position.x + EWTerrainEditToolbar.position.x SPC
TerrainSetHeightTextEditContainer.position.y + 50;
Extent = "112 20";
MinExtent = "8 2";
canSave = "1";

View file

@ -222,7 +222,7 @@ $guiContent = new GuiControl(EWTerrainPainterToolbar,EditorGuiGroup) {
Profile = "ToolsGuiDefaultProfile";
HorizSizing = "right";
VertSizing = "bottom";
Position = "222 5";
Position = "245 5";
Extent = "256 50";
MinExtent = "8 2";
canSave = "1";
@ -382,7 +382,7 @@ $guiContent = new GuiControl(EWTerrainPainterToolbar,EditorGuiGroup) {
Profile = "ToolsGuiTransparentProfile";
HorizSizing = "right";
VertSizing = "bottom";
position = "480 5";
position = "490 5";
Extent = "120 50";
MinExtent = "8 2";
canSave = "1";
@ -524,8 +524,8 @@ new GuiMouseEventCtrl(PaintBrushSizeSliderCtrlContainer,EditorGuiGroup) {
Profile = "ToolsGuiSliderBoxProfile";
HorizSizing = "right";
VertSizing = "bottom";
position = firstWord(PaintBrushSizeTextEditContainer.position) + firstWord(EWTerrainPainterToolbar.position)+11 SPC
(getWord(PaintBrushSizeTextEditContainer, 1)) + 25;
position = PaintBrushSizeTextEditContainer.position.x + EWTerrainPainterToolbar.position.x + 50 SPC
PaintBrushSizeTextEditContainer.position.y + 50;
Extent = "112 20";
MinExtent = "8 2";
canSave = "1";
@ -554,8 +554,8 @@ new GuiMouseEventCtrl(PaintBrushSlopeMinContainer,EditorGuiGroup) {
Profile = "ToolsGuiSliderBoxProfile";
HorizSizing = "right";
VertSizing = "bottom";
position = firstWord(PaintBrushSlopeControl.position) + firstWord(EWTerrainPainterToolbar.position)+firstWord(PaintBrushSlopeControl->SlopeMinAngle.position) - 40 SPC
(getWord(PaintBrushSlopeControl, 1)) + 25;
position = PaintBrushSlopeControl.position.x + EWTerrainPainterToolbar.position.x + PaintBrushSlopeControl->SlopeMinAngle.position.x - 40 SPC
PaintBrushSlopeControl.position.y + 50;
Extent = "112 20";
MinExtent = "8 2";
canSave = "1";
@ -589,8 +589,8 @@ new GuiMouseEventCtrl(PaintBrushSlopeMaxContainer,EditorGuiGroup) {
Profile = "ToolsGuiSliderBoxProfile";
HorizSizing = "right";
VertSizing = "bottom";
position = firstWord(PaintBrushSlopeControl.position) + firstWord(EWTerrainPainterToolbar.position)+firstWord(PaintBrushSlopeControl->SlopeMaxAngle.position) - 40 SPC
(getWord(PaintBrushSlopeControl, 1)) + 25;
position = PaintBrushSlopeControl.position.x + EWTerrainPainterToolbar.position.x + PaintBrushSlopeControl->SlopeMaxAngle.position.x - 40 SPC
PaintBrushSlopeControl.position.y + 50;
Extent = "112 20";
MinExtent = "8 2";
canSave = "1";
@ -629,8 +629,8 @@ new GuiMouseEventCtrl(PaintBrushPressureSliderCtrlContainer,EditorGuiGroup) {
Profile = "ToolsGuiSliderBoxProfile";
HorizSizing = "right";
VertSizing = "bottom";
position = firstWord(PaintBrushPressureTextEditContainer.position) + firstWord(EWTerrainPainterToolbar.position) SPC
(getWord(PaintBrushPressureTextEditContainer, 1)) + 25;
position = PaintBrushPressureTextEditContainer.position.x + EWTerrainPainterToolbar.position.x + 50 SPC
PaintBrushPressureTextEditContainer.position.y + 50;
Extent = "112 20";
MinExtent = "8 2";
canSave = "1";
@ -659,8 +659,8 @@ new GuiMouseEventCtrl(PaintBrushSoftnessSliderCtrlContainer,EditorGuiGroup) {
Profile = "ToolsGuiSliderBoxProfile";
HorizSizing = "right";
VertSizing = "bottom";
position = firstWord(PaintBrushSoftnessTextEditContainer.position) + firstWord(EWTerrainPainterToolbar.position) SPC
(getWord(PaintBrushSoftnessTextEditContainer, 1)) + 25;
position = PaintBrushSoftnessTextEditContainer.position.x + EWTerrainPainterToolbar.position.x + 50 SPC
PaintBrushSoftnessTextEditContainer.position.y + 50;
Extent = "112 20";
MinExtent = "8 2";
canSave = "1";

View file

@ -684,8 +684,8 @@ new GuiMouseEventCtrl(softSnapSizeSliderCtrlContainer, EditorGuiGroup) {
Profile = "ToolsGuiSliderBoxProfile";
HorizSizing = "right";
VertSizing = "bottom";
position = firstWord(EWorldEditorToolbar-->softSnapSizeTextEdit.getGlobalPosition()) - 12 SPC
(getWord(EWorldEditorToolbar-->softSnapSizeTextEdit.getGlobalPosition(), 1)) + 18;
position = EWorldEditorToolbar.position.x + EWorldEditorToolbar-->softSnapSizeTextEditContainer.position.x + 50 SPC
EWorldEditorToolbar-->softSnapSizeTextEdit.position.y + 50;
Extent = "112 20";
MinExtent = "8 2";
canSave = "1";

View file

@ -734,7 +734,7 @@ function EditorGui::addCameraBookmarkByGui( %this )
// look for a NewCamera name to grab
for(%i = 0; ; %i++){
%name = "NewCamera_" @ %i;
if( !CameraBookmarks.findObjectByInternalName(%name) ){
if( !isObject(CameraBookmarks) || !CameraBookmarks.findObjectByInternalName(%name) ){
break;
}
}
@ -1340,7 +1340,9 @@ function CameraTypesDropdownToggle()
function VisibilityDropdownToggle()
{
EditorVisibilityOptions.showPopup(Canvas);
%pos = visibilityToggleBtn.getGlobalPosition();
%pos.y += visibilityToggleBtn.extent.y;
EditorVisibilityOptions.showPopup(Canvas, %pos.x, %pos.y);
}
function CameraTypesDropdownDecoy::onMouseLeave()

View file

@ -436,3 +436,55 @@ function toggleVolumeViz(%vizName)
EVisibilityVolumeOptions.checkItem(7, $SFXSpace::isRenderable);
}
}
//
//
function togglePlayerCollisionViz()
{
$Player::renderCollision = !$Player::renderCollision;
EVisibilityDebugRenderOptions.checkItem(0, $Player::renderCollision);
}
function toggleTerrainDebugViz()
{
$TerrainBlock::debugRender = !$TerrainBlock::debugRender;
EVisibilityDebugRenderOptions.checkItem(1, $TerrainBlock::debugRender);
}
function toggleDecalsDebugViz()
{
$Decals::debugRender = !$Decals::debugRender;
EVisibilityDebugRenderOptions.checkItem(2, $Decals::debugRender);
}
function toggleBoundingBoxesViz()
{
$Scene::renderBoundingBoxes = !$Scene::renderBoundingBoxes;
EVisibilityDebugRenderOptions.checkItem(3, $Scene::renderBoundingBoxes);
}
//
//
function toggleWireframeViz()
{
$gfx::wireframe = !$gfx::wireframe;
EditorVisibilityOptions.checkItem(3, $gfx::wireframe);
}
function toggleFrustumLockViz()
{
$Scene::lockCull = !$Scene::lockCull;
EditorVisibilityOptions.checkItem(4, $Scene::lockCull);
}
function toggleZoneCulling()
{
$Scene::disableZoneCulling = !$Scene::disableZoneCulling;
EditorVisibilityOptions.checkItem(7, $Scene::disableZoneCulling);
}
function toggleTerrainCulling()
{
$Scene::disableTerrainOcclusion = !$Scene::disableTerrainOcclusion;
EditorVisibilityOptions.checkItem(8, $Scene::disableTerrainOcclusion);
}

View file

@ -98,15 +98,17 @@ function setupEditorVisibilityMenu()
superClass = "MenuBuilder";
class = "EditorWorldMenu";
item[ 0 ] = "Show Player Collision" TAB "" TAB "$Player::renderCollision = !$Player::renderCollision;";
item[ 1 ] = "Show Terrain Debug" TAB "" TAB "$TerrainBlock::debugRender = !$TerrainBlock::debugRender;";
item[ 2 ] = "Show Decals Debug" TAB "" TAB "$Decals::debugRender = !$Decals::debugRender;";
item[ 3 ] = "Show Bounding Boxes" TAB "" TAB "$Scene::renderBoundingBoxes = !$Scene::renderBoundingBoxes;";
item[ 0 ] = "Show Player Collision" TAB "" TAB "togglePlayerCollisionViz();";
item[ 1 ] = "Show Terrain Debug" TAB "" TAB "toggleTerrainDebugViz();";
item[ 2 ] = "Show Decals Debug" TAB "" TAB "toggleDecalsDebugViz();";
item[ 3 ] = "Show Bounding Boxes" TAB "" TAB "toggleBoundingBoxesViz();";
item[ 4 ] = "Show Physics World" TAB "" TAB "togglePhysicsDebugViz();";
item[ 5 ] = "Show Texel Density" TAB "" TAB "toggleTexelDensityViz();";
};
%debugRenderpopup.enableItem(4, false);
if(!physicsPluginPresent())
%debugRenderpopup.enableItem(4, false);
%debugRenderpopup.enableItem(5, false);
//
@ -231,12 +233,12 @@ function setupEditorVisibilityMenu()
item[ 0 ] = "Volumes Visibility" TAB EVisibilityVolumeOptions;
item[ 1 ] = "Debug Rendering" TAB EVisibilityDebugRenderOptions;
item[ 2 ] = "-" TAB "" TAB "";
item[ 3 ] = "Wireframe" TAB "" TAB "$gfx::wireframe = !$gfx::wireframe;";
item[ 4 ] = "Frustum Lock" TAB "" TAB "$Scene::lockCull = !$Scene::lockCull;";
item[ 3 ] = "Wireframe" TAB "" TAB "toggleWireframeViz();";
item[ 4 ] = "Frustum Lock" TAB "" TAB "toggleFrustumLockViz();";
item[ 5 ] = "Colorblindness" TAB EVisibilityColorblindnessOptions;
item[ 6 ] = "-" TAB "" TAB "";
item[ 7 ] = "Disable Zone Culling" TAB "" TAB "$Scene::disableZoneCulling = !$Scene::disableZoneCulling;";
item[ 8 ] = "Disable Terrain Culling" TAB "" TAB "$Scene::disableTerrainOcclusion = !$Scene::disableTerrainOcclusion;";
item[ 7 ] = "Disable Zone Culling" TAB "" TAB "toggleZoneCulling();";
item[ 8 ] = "Disable Terrain Culling" TAB "" TAB "toggleTerrainCulling();";
item[ 9 ] = "-" TAB "" TAB "";
item[ 10 ] = "Lighting Modes" TAB EVisibilityLightingModesOptions;
item[ 11 ] = "Lights" TAB EVisibilityLightsOptions;
@ -383,14 +385,17 @@ function EVisibility::addClassOptions( %this )
}
}
function togglePhysicsDebugViz( %enable )
function togglePhysicsDebugViz( )
{
$PhysicsWorld::render = %enable;
$PhysicsWorld::render = !$PhysicsWorld::render;
if(physicsPluginPresent())
{
physicsDebugDraw(%enable);
physicsDebugDraw($PhysicsWorld::render);
}
EVisibilityDebugRenderOptions.checkItem(4, $PhysicsWorld::render);
}
function disableVisualizers()