diff --git a/CentrED/Languages/LangEntry.cs b/CentrED/Languages/LangEntry.cs index 1efef42..f4895f8 100644 --- a/CentrED/Languages/LangEntry.cs +++ b/CentrED/Languages/LangEntry.cs @@ -282,4 +282,12 @@ public enum LangEntry EDGE_FALLOFF, FALLOFF_START, FALLOFF_START_TOOLTIP, + WALL, + SURFACE, + ROOF, + FOLIAGE, + WINDOW, + WATER, + STAIRS, + } \ No newline at end of file diff --git a/CentrED/Map/MapManager.cs b/CentrED/Map/MapManager.cs index ef00c26..1e0ad0c 100644 --- a/CentrED/Map/MapManager.cs +++ b/CentrED/Map/MapManager.cs @@ -72,6 +72,13 @@ public Tool ActiveTool private readonly CentrEDClient Client; + public bool ShowStairs = true; + public bool ShowWater = true; + public bool ShowWindow = true; + public bool ShowFoliage = true; + public bool ShowRoof = true; + public bool ShowWall = true; + public bool ShowSurface = true; public bool ShowLand = true; public bool ShowStatics = true; public bool ShowVirtualLayer = false; @@ -867,7 +874,9 @@ public bool CanDrawStatic(StaticObject so) // Outlands specific // if ((data.Flags & TileFlag.NoDraw) != 0) // return false; - + if((!ShowWall && data.IsWall) || (!ShowSurface && data.IsSurface) || (!ShowFoliage && data.IsFoliage) || (!ShowRoof && data.IsRoof) || (!ShowWindow && data.IsWindow) || (!ShowWater && data.IsWet) || (!ShowStairs && data.IsBridge) ) + return false; + if (!ShowNoDraw) { switch (id) diff --git a/CentrED/UI/Windows/FilterWindow.cs b/CentrED/UI/Windows/FilterWindow.cs index bac1c8c..4c2a88c 100644 --- a/CentrED/UI/Windows/FilterWindow.cs +++ b/CentrED/UI/Windows/FilterWindow.cs @@ -65,6 +65,22 @@ protected override void InternalDraw() ImGui.Checkbox(LangManager.Get(OBJECTS), ref CEDGame.MapManager.ShowStatics); ImGui.SameLine(); ImGui.Checkbox(LangManager.Get(NODRAW), ref CEDGame.MapManager.ShowNoDraw); + + ImGui.Checkbox(LangManager.Get(WALL), ref CEDGame.MapManager.ShowWall); + ImGui.SameLine(); + ImGui.Checkbox(LangManager.Get(WINDOW), ref CEDGame.MapManager.ShowWindow); + ImGui.SameLine(); + ImGui.Checkbox(LangManager.Get(ROOF), ref CEDGame.MapManager.ShowRoof); + + ImGui.Checkbox(LangManager.Get(SURFACE), ref CEDGame.MapManager.ShowSurface); + ImGui.SameLine(); + ImGui.Checkbox(LangManager.Get(WATER), ref CEDGame.MapManager.ShowWater); + ImGui.SameLine(); + ImGui.Checkbox(LangManager.Get(FOLIAGE), ref CEDGame.MapManager.ShowFoliage); + + + ImGui.Checkbox(LangManager.Get(STAIRS), ref CEDGame.MapManager.ShowStairs); + if (ImGui.BeginChild("Filters")) { if (ImGui.BeginTabBar("FiltersTabs"))