Removed legacy Editor config spec
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
This commit is contained in:
@@ -62,7 +62,7 @@ protected:
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
//! Undo object for CBaseObject that only stores its transform, color, area and minSpec
|
||||
//! Undo object for CBaseObject that only stores its transform, color, area
|
||||
class CUndoBaseObjectMinimal
|
||||
: public IUndoObject
|
||||
{
|
||||
@@ -84,7 +84,6 @@ private:
|
||||
Vec3 scale;
|
||||
QColor color;
|
||||
float area;
|
||||
int minSpec;
|
||||
};
|
||||
|
||||
void SetTransformsFromState(CBaseObject* pObject, const StateStruct& state, bool bUndo);
|
||||
@@ -253,7 +252,6 @@ CUndoBaseObjectMinimal::CUndoBaseObjectMinimal(CBaseObject* pObj, [[maybe_unused
|
||||
m_undoState.scale = pObj->GetScale();
|
||||
m_undoState.color = pObj->GetColor();
|
||||
m_undoState.area = pObj->GetArea();
|
||||
m_undoState.minSpec = pObj->GetMinSpec();
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
@@ -284,14 +282,12 @@ void CUndoBaseObjectMinimal::Undo(bool bUndo)
|
||||
m_redoState.rotate = pObject->GetRotation();
|
||||
m_redoState.color = pObject->GetColor();
|
||||
m_redoState.area = pObject->GetArea();
|
||||
m_redoState.minSpec = pObject->GetMinSpec();
|
||||
}
|
||||
|
||||
SetTransformsFromState(pObject, m_undoState, bUndo);
|
||||
|
||||
pObject->ChangeColor(m_undoState.color);
|
||||
pObject->SetArea(m_undoState.area);
|
||||
pObject->SetMinSpec(m_undoState.minSpec, false);
|
||||
|
||||
using namespace AzToolsFramework;
|
||||
ComponentEntityObjectRequestBus::Event(pObject, &ComponentEntityObjectRequestBus::Events::UpdatePreemptiveUndoCache);
|
||||
@@ -310,7 +306,6 @@ void CUndoBaseObjectMinimal::Redo()
|
||||
|
||||
pObject->ChangeColor(m_redoState.color);
|
||||
pObject->SetArea(m_redoState.area);
|
||||
pObject->SetMinSpec(m_redoState.minSpec, false);
|
||||
|
||||
using namespace AzToolsFramework;
|
||||
ComponentEntityObjectRequestBus::Event(pObject, &ComponentEntityObjectRequestBus::Events::UpdatePreemptiveUndoCache);
|
||||
@@ -382,7 +377,6 @@ CBaseObject::CBaseObject()
|
||||
, m_bMatrixInWorldSpace(false)
|
||||
, m_bMatrixValid(false)
|
||||
, m_bWorldBoxValid(false)
|
||||
, m_nMinSpec(0)
|
||||
, m_vDrawIconPos(0, 0, 0)
|
||||
, m_nIconFlags(0)
|
||||
{
|
||||
@@ -413,7 +407,6 @@ bool CBaseObject::Init([[maybe_unused]] IEditor* ie, CBaseObject* prev, [[maybe_
|
||||
SetLocalTM(prev->GetPos(), prev->GetRotation(), prev->GetScale());
|
||||
SetArea(prev->GetArea());
|
||||
SetColor(prev->GetColor());
|
||||
SetMinSpec(prev->GetMinSpec(), false);
|
||||
|
||||
// Copy all basic variables.
|
||||
EnableUpdateCallbacks(false);
|
||||
@@ -1053,17 +1046,6 @@ void CBaseObject::SetSelected(bool bSelect)
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
bool CBaseObject::IsHiddenBySpec() const
|
||||
{
|
||||
if (!gSettings.bApplyConfigSpecInEditor)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return (m_nMinSpec != 0 && gSettings.editorConfigSpec != 0 && m_nMinSpec > static_cast<uint32>(gSettings.editorConfigSpec));
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
//! Returns true if object hidden.
|
||||
bool CBaseObject::IsHidden() const
|
||||
@@ -1107,7 +1089,6 @@ void CBaseObject::Serialize(CObjectArchive& ar)
|
||||
Vec3 scale = m_scale;
|
||||
Quat quat = m_rotate;
|
||||
Ang3 angles(0, 0, 0);
|
||||
uint32 nMinSpec = m_nMinSpec;
|
||||
|
||||
QColor color = m_color;
|
||||
float flattenArea = m_flattenArea;
|
||||
@@ -1135,12 +1116,6 @@ void CBaseObject::Serialize(CObjectArchive& ar)
|
||||
xmlNode->getAttr("Parent", parentId);
|
||||
xmlNode->getAttr("LookAt", lookatId);
|
||||
xmlNode->getAttr("Material", mtlName);
|
||||
xmlNode->getAttr("MinSpec", nMinSpec);
|
||||
|
||||
if (nMinSpec <= CONFIG_VERYHIGH_SPEC) // Ignore invalid values.
|
||||
{
|
||||
m_nMinSpec = nMinSpec;
|
||||
}
|
||||
|
||||
bool bHidden = flags & OBJFLAG_HIDDEN;
|
||||
bool bFrozen = flags & OBJFLAG_FROZEN;
|
||||
@@ -1245,11 +1220,6 @@ void CBaseObject::Serialize(CObjectArchive& ar)
|
||||
{
|
||||
xmlNode->setAttr("Flags", flags);
|
||||
}
|
||||
|
||||
if (m_nMinSpec != 0)
|
||||
{
|
||||
xmlNode->setAttr("MinSpec", (uint32)m_nMinSpec);
|
||||
}
|
||||
}
|
||||
|
||||
// Serialize variables after default entity parameters.
|
||||
@@ -1300,11 +1270,6 @@ XmlNodeRef CBaseObject::Export([[maybe_unused]] const QString& levelPath, XmlNod
|
||||
objNode->setAttr("Scale", scale);
|
||||
}
|
||||
|
||||
if (m_nMinSpec != 0)
|
||||
{
|
||||
objNode->setAttr("MinSpec", (uint32)m_nMinSpec);
|
||||
}
|
||||
|
||||
// Save variables.
|
||||
CVarObject::Serialize(objNode, false);
|
||||
|
||||
@@ -2134,22 +2099,6 @@ bool CBaseObject::IsSimilarObject(CBaseObject* pObject)
|
||||
return false;
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CBaseObject::SetMinSpec(uint32 nSpec, bool bSetChildren)
|
||||
{
|
||||
m_nMinSpec = nSpec;
|
||||
UpdateVisibility(!IsHidden());
|
||||
|
||||
// Set min spec for all childs.
|
||||
if (bSetChildren)
|
||||
{
|
||||
for (int i = static_cast<int>(m_childs.size()) - 1; i >= 0; --i)
|
||||
{
|
||||
m_childs[i]->SetMinSpec(nSpec, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
EScaleWarningLevel CBaseObject::GetScaleWarningLevel() const
|
||||
{
|
||||
|
||||
@@ -256,8 +256,6 @@ public:
|
||||
|
||||
//! Returns true if object hidden.
|
||||
bool IsHidden() const;
|
||||
//! Check against min spec.
|
||||
bool IsHiddenBySpec() const;
|
||||
//! Returns true if object frozen.
|
||||
virtual bool IsFrozen() const;
|
||||
//! Returns true if object is shared between missions.
|
||||
@@ -465,12 +463,6 @@ public:
|
||||
//! Check if specified object is very similar to this one.
|
||||
virtual bool IsSimilarObject(CBaseObject* pObject);
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Object minimal usage spec (All/Low/Medium/High)
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
uint32 GetMinSpec() const { return m_nMinSpec; }
|
||||
virtual void SetMinSpec(uint32 nSpec, bool bSetChildren = true);
|
||||
|
||||
//! In This function variables of the object must be initialized.
|
||||
virtual void InitVariables() {};
|
||||
|
||||
@@ -668,7 +660,6 @@ private:
|
||||
mutable uint32 m_bMatrixValid : 1;
|
||||
mutable uint32 m_bWorldBoxValid : 1;
|
||||
uint32 m_bInSelectionBox : 1;
|
||||
uint32 m_nMinSpec : 8;
|
||||
|
||||
Vec3 m_vDrawIconPos;
|
||||
AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||
|
||||
@@ -200,7 +200,6 @@ CEntityObject::CEntityObject()
|
||||
|
||||
// Init Variables.
|
||||
mv_castShadow = true;
|
||||
mv_castShadowMinSpec = CONFIG_LOW_SPEC;
|
||||
mv_outdoor = false;
|
||||
mv_recvWind = false;
|
||||
mv_renderNearest = false;
|
||||
@@ -249,18 +248,10 @@ CEntityObject::~CEntityObject()
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CEntityObject::InitVariables()
|
||||
{
|
||||
mv_castShadowMinSpec.AddEnumItem("Never", END_CONFIG_SPEC_ENUM);
|
||||
mv_castShadowMinSpec.AddEnumItem("Low", CONFIG_LOW_SPEC);
|
||||
mv_castShadowMinSpec.AddEnumItem("Medium", CONFIG_MEDIUM_SPEC);
|
||||
mv_castShadowMinSpec.AddEnumItem("High", CONFIG_HIGH_SPEC);
|
||||
mv_castShadowMinSpec.AddEnumItem("VeryHigh", CONFIG_VERYHIGH_SPEC);
|
||||
|
||||
mv_castShadow.SetFlags(mv_castShadow.GetFlags() | IVariable::UI_INVISIBLE);
|
||||
mv_castShadowMinSpec->SetFlags(mv_castShadowMinSpec->GetFlags() | IVariable::UI_UNSORTED);
|
||||
|
||||
AddVariable(mv_outdoor, "OutdoorOnly", tr("Outdoor Only"));
|
||||
AddVariable(mv_castShadow, "CastShadow", tr("Cast Shadow"));
|
||||
AddVariable(mv_castShadowMinSpec, "CastShadowMinspec", tr("Cast Shadow MinSpec"));
|
||||
|
||||
AddVariable(mv_ratioLOD, "LodRatio");
|
||||
AddVariable(mv_viewDistanceMultiplier, "ViewDistanceMultiplier");
|
||||
@@ -361,7 +352,6 @@ bool CEntityObject::ConvertFromObject(CBaseObject* object)
|
||||
CEntityObject* pObject = ( CEntityObject* )object;
|
||||
|
||||
mv_outdoor = pObject->mv_outdoor;
|
||||
mv_castShadowMinSpec = pObject->mv_castShadowMinSpec;
|
||||
mv_ratioLOD = pObject->mv_ratioLOD;
|
||||
mv_viewDistanceMultiplier = pObject->mv_viewDistanceMultiplier;
|
||||
mv_hiddenInGame = pObject->mv_hiddenInGame;
|
||||
@@ -521,22 +511,6 @@ void CEntityObject::AdjustLightProperties(CVarBlockPtr& properties, const char*
|
||||
}
|
||||
}
|
||||
|
||||
if (IVariable* pCastShadowVar = FindVariableInSubBlock(properties, pSubBlockVar, "nCastShadows"))
|
||||
{
|
||||
if (bCastShadowLegacy)
|
||||
{
|
||||
pCastShadowVar->SetDisplayValue("1");
|
||||
}
|
||||
pCastShadowVar->SetDataType(IVariable::DT_UIENUM);
|
||||
pCastShadowVar->SetFlags(pCastShadowVar->GetFlags() | IVariable::UI_UNSORTED);
|
||||
}
|
||||
|
||||
if (IVariable* pShadowMinRes = FindVariableInSubBlock(properties, pSubBlockVar, "nShadowMinResPercent"))
|
||||
{
|
||||
pShadowMinRes->SetDataType(IVariable::DT_UIENUM);
|
||||
pShadowMinRes->SetFlags(pShadowMinRes->GetFlags() | IVariable::UI_UNSORTED);
|
||||
}
|
||||
|
||||
if (IVariable* pFade = FindVariableInSubBlock(properties, pSubBlockVar, "vFadeDimensionsLeft"))
|
||||
{
|
||||
pFade->SetFlags(pFade->GetFlags() | IVariable::UI_INVISIBLE);
|
||||
@@ -873,12 +847,6 @@ void CEntityObject::Serialize(CObjectArchive& ar)
|
||||
RemoveAllEntityLinks();
|
||||
PostLoad(ar);
|
||||
}
|
||||
|
||||
if ((mv_castShadowMinSpec == CONFIG_LOW_SPEC) && !mv_castShadow) // backwards compatibility check
|
||||
{
|
||||
mv_castShadowMinSpec = END_CONFIG_SPEC_ENUM;
|
||||
mv_castShadow = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1033,8 +1001,6 @@ XmlNodeRef CEntityObject::Export([[maybe_unused]] const QString& levelPath, XmlN
|
||||
objNode->setAttr("ViewDistanceMultiplier", mv_viewDistanceMultiplier);
|
||||
}
|
||||
|
||||
objNode->setAttr("CastShadowMinSpec", mv_castShadowMinSpec);
|
||||
|
||||
if (mv_recvWind)
|
||||
{
|
||||
objNode->setAttr("RecvWind", true);
|
||||
@@ -1050,11 +1016,6 @@ XmlNodeRef CEntityObject::Export([[maybe_unused]] const QString& levelPath, XmlN
|
||||
objNode->setAttr("OutdoorOnly", true);
|
||||
}
|
||||
|
||||
if (GetMinSpec() != 0)
|
||||
{
|
||||
objNode->setAttr("MinSpec", ( uint32 )GetMinSpec());
|
||||
}
|
||||
|
||||
if (mv_hiddenInGame)
|
||||
{
|
||||
objNode->setAttr("HiddenInGame", true);
|
||||
@@ -1163,7 +1124,7 @@ void CEntityObject::UpdateVisibility(bool bVisible)
|
||||
{
|
||||
CBaseObject::UpdateVisibility(bVisible);
|
||||
|
||||
bool bVisibleWithSpec = bVisible && !IsHiddenBySpec();
|
||||
bool bVisibleWithSpec = bVisible;
|
||||
if (bVisibleWithSpec != static_cast<bool>(m_bVisible))
|
||||
{
|
||||
m_bVisible = bVisibleWithSpec;
|
||||
|
||||
@@ -174,8 +174,6 @@ public:
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
int GetCastShadowMinSpec() const { return mv_castShadowMinSpec; }
|
||||
|
||||
float GetRatioLod() const { return static_cast<float>(mv_ratioLOD); };
|
||||
float GetViewDistanceMultiplier() const { return mv_viewDistanceMultiplier; }
|
||||
|
||||
@@ -306,7 +304,6 @@ protected:
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
CVariable<bool> mv_outdoor;
|
||||
CVariable<bool> mv_castShadow; // Legacy, required for backwards compatibility
|
||||
CSmartVariableEnum<int> mv_castShadowMinSpec;
|
||||
CVariable<int> mv_ratioLOD;
|
||||
CVariable<float> mv_viewDistanceMultiplier;
|
||||
CVariable<bool> mv_hiddenInGame; // Entity is hidden in game (on start).
|
||||
|
||||
Reference in New Issue
Block a user