Added initial implement of Image Types for GFX resource management

Added logic to intercept TSStatic setting shape to try and utilize a shapeAsset if it can find a matching loose file
Added lookup logic for getting any textures inside collada files to streamline asset importing logic
Fixed modal behavior for Import config and import window
Initial implementation of loose file/legacy file importing
Adjusted Asset Browser and Asset Import refreshing behavior to queue to improve performance by avoiding multiple refreshes as well as potential infinite loops
Fixed volume visibility behavior
Fixed physics world viz toggle
This commit is contained in:
Areloch 2020-02-17 00:32:50 -06:00
parent e885722093
commit 9c381caea2
21 changed files with 753 additions and 145 deletions

View file

@ -389,4 +389,50 @@ function toggleMatComplexityViz()
MatComplexityVizBin.material = Viz_MaterialComplexityMat;
MatComplexityVizBin.maxComplexity = 10;
}
//
//
function toggleVolumeViz(%vizName)
{
if(%vizName $= "Zones")
{
$Zone::isRenderable = !$Zone::isRenderable;
EVisibilityVolumeOptions.checkItem(0, $Zone::isRenderable);
}
else if(%vizName $= "Portals")
{
$Portal::isRenderable = !$Portal::isRenderable;
EVisibilityVolumeOptions.checkItem(1, $Portal::isRenderable);
}
else if(%vizName $= "Occlusion")
{
$OcclusionVolume::isRenderable = !$OcclusionVolume::isRenderable;
EVisibilityVolumeOptions.checkItem(2, $OcclusionVolume::isRenderable);
}
else if(%vizName $= "Triggers")
{
$Trigger::renderTriggers = !$Trigger::renderTriggers;
EVisibilityVolumeOptions.checkItem(3, $Trigger::renderTriggers);
}
else if(%vizName $= "PhysicalZone")
{
$PhysicalZone::renderZones = !$PhysicalZone::renderZones;
EVisibilityVolumeOptions.checkItem(4, $PhysicalZone::renderZones);
}
else if(%vizName $= "SoundEmitters")
{
$SFXEmitter::renderEmitters = !$SFXEmitter::renderEmitters;
EVisibilityVolumeOptions.checkItem(5, $SFXEmitter::renderEmitters);
}
else if(%vizName $= "MissionArea")
{
EWorldEditor.renderMissionArea = !EWorldEditor.renderMissionArea;
EVisibilityVolumeOptions.checkItem(6, EWorldEditor.renderMissionArea);
}
else if(%vizName $= "SoundSpaces")
{
$SFXSpace::isRenderable = !$SFXSpace::isRenderable;
EVisibilityVolumeOptions.checkItem(7, $SFXSpace::isRenderable);
}
}

View file

@ -81,14 +81,16 @@ function setupEditorVisibilityMenu()
superClass = "MenuBuilder";
class = "EditorWorldMenu";
item[ 0 ] = "Show Zones" TAB "" TAB "$Zone::isRenderable = !$Zone::isRenderable;";
item[ 1 ] = "Show Portals" TAB "" TAB "$Portal::isRenderable = !$Portal::isRenderable;";
item[ 2 ] = "Show Occlusion Volumes" TAB "" TAB "$OcclusionVolume::isRenderable = !$OcclusionVolume::isRenderable;";
item[ 3 ] = "Show Triggers" TAB "" TAB "$Trigger::renderTriggers = !$Trigger::renderTriggers;";
item[ 4 ] = "Show Physical Zones" TAB "" TAB "$PhysicalZone::renderZones = !$PhysicalZone::renderZones;";
item[ 5 ] = "Show Sound Emitters" TAB "" TAB "$SFXEmitter::renderEmitters = !$SFXEmitter::renderEmitters;";
item[ 6 ] = "Show Mission Area" TAB "" TAB "EWorldEditor.renderMissionArea = !EWorldEditor.renderMissionArea;";
item[ 7 ] = "Show Sound Spaces" TAB "" TAB "$SFXSpace::isRenderable = !$SFXSpace::isRenderable;";
radioSelection = false;
item[ 0 ] = "Show Zones" TAB "" TAB "toggleVolumeViz(\"Zones\");";
item[ 1 ] = "Show Portals" TAB "" TAB "toggleVolumeViz(\"Portals\");";
item[ 2 ] = "Show Occlusion Volumes" TAB "" TAB "toggleVolumeViz(\"Occlusion\");";
item[ 3 ] = "Show Triggers" TAB "" TAB "toggleVolumeViz(\"Triggers\");";
item[ 4 ] = "Show Physical Zones" TAB "" TAB "toggleVolumeViz(\"PhysicalZone\");";
item[ 5 ] = "Show Sound Emitters" TAB "" TAB "toggleVolumeViz(\"SoundEmitters\");";
item[ 6 ] = "Show Mission Area" TAB "" TAB "toggleVolumeViz(\"MissionArea\");";
item[ 7 ] = "Show Sound Spaces" TAB "" TAB "toggleVolumeViz(\"SoundSpaces\");";
};
%debugRenderpopup = new PopupMenu(EVisibilityDebugRenderOptions)
@ -96,17 +98,16 @@ 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[ 4 ] = "Show Physics World" TAB "" TAB "$PhysicsWorld::render != $PhysicsWorld::render;";
item[ 5 ] = "Show Player Collision" TAB "" TAB "";
item[ 6 ] = "Show Texel Density" TAB "" TAB "toggleTexelDensityViz();";
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[ 4 ] = "Show Physics World" TAB "" TAB "togglePhysicsDebugViz();";
item[ 5 ] = "Show Texel Density" TAB "" TAB "toggleTexelDensityViz();";
};
%debugRenderpopup.enableItem(4, false);
%debugRenderpopup.enableItem(5, false);
%debugRenderpopup.enableItem(6, false);
//
//Lighting stuff
@ -435,6 +436,8 @@ function EVisibility::addClassOptions( %this )
function togglePhysicsDebugViz( %enable )
{
$PhysicsWorld::render = %enable;
if(physicsPluginPresent())
{
physicsDebugDraw(%enable);