Fixes de-selection logic in editor that caused special cases to permanently be selected such as mounted Lights

Shifted every-frame RT allocation to be stored in advancedLightBinManager
Remove deprecated references to dynamicShadowMap in light materials
Updated spotLight shaders to remove deprecated dynamic shadowmap reference which was causing a crash when spotlights had shadows turned on
Added GLSL version of Viz_SurfaceProperties so it works on both APIs
This commit is contained in:
Areloch 2020-08-28 01:57:06 -05:00
parent 31039de2cf
commit ae70cccfde
8 changed files with 125 additions and 44 deletions

View file

@ -2167,9 +2167,14 @@ void WorldEditor::on3DMouseUp( const Gui3DMouseEvent &event )
// this may actually cause things to disappear from mSelected so do the loop
// in reverse. This will make the loop work even if items are removed as
// we go along.
for( S32 i = mSelected->size() - 1; i >= 0; -- i )
Con::executef( this, "onUnSelect", ( *mSelected )[ i ]->getIdString() );
for (S32 i = mSelected->size() - 1; i >= 0; --i)
{
//We'll explicitly inform the object of being unmarked as selected in the editor as well for outlier cases potentially not being told, such as mounted objects
WorldEditor::markAsSelected((*mSelected)[i], false);
Con::executef(this, "onUnSelect", (*mSelected)[i]->getIdString());
}
mSelected->clear();
mSelected->addObject( mPossibleHitObject );
mSelected->storeCurrentCentroid();
@ -2894,8 +2899,13 @@ void WorldEditor::clearSelection()
// this may actually cause things to disappear from mSelected so do the loop
// in reverse. This will make the loop work even if items are removed as
// we go along.
for( S32 i = mSelected->size() - 1; i >= 0; -- i )
Con::executef( this, "onUnSelect", ( *mSelected )[ i ]->getIdString() );
for (S32 i = mSelected->size() - 1; i >= 0; --i)
{
//We'll explicitly inform the object of being unmarked as selected in the editor as well for outlier cases potentially not being told, such as mounted objects
WorldEditor::markAsSelected((*mSelected)[i], false);
Con::executef(this, "onUnSelect", (*mSelected)[i]->getIdString());
}
Con::executef(this, "onClearSelection");
mSelected->clear();