From 283c6c22727cf7c3b67cf3c133bafae2fcba59e1 Mon Sep 17 00:00:00 2001 From: MaxED Date: Fri, 2 Oct 2015 14:47:34 +0000 Subject: [PATCH] Visual mode: noticeable performance boost (rendering now works ~40% faster). Visual mode: fog distance calculation is now much closer to GZDoom one. Visual mode: thing brightness calculation when a thing is affected by floor glow is now much closer to GZDoom one. Linedef edit window, UDMF: added "Reset front/back brightness" buttons. Sector edit window, UDMF: added "Reset ceiling/floor brightness" buttons. Internal, Visual mode, Things mode: persistent event lines are now updated only when map objects are changed instead of doing it on every display redraw. Internal: improved Dictionary lookup times when using map objects and textures as keys. Internal: added "Release + Profiler" solution configuration. Updated ZDoom_ACS.cfg (Warp). --- Build/Scripting/ZDoom_ACS.cfg | 2 +- Builder.sln | 23 + Source/Core/Builder.csproj | 15 +- Source/Core/Data/ImageData.cs | 15 + Source/Core/GZBuilder/Data/GlowingFlatData.cs | 1 + Source/Core/GZBuilder/Data/LinksCollector.cs | 8 +- Source/Core/GZBuilder/Data/ModelData.cs | 11 + .../Rendering/SizelessVisualThingCage.cs | 4 +- .../GZBuilder/Rendering/ThingBoundingBox.cs | 4 +- Source/Core/Geometry/Vector3D.cs | 23 + Source/Core/Map/MapElement.cs | 11 + Source/Core/Rendering/D3DShader.cs | 9 +- Source/Core/Rendering/Display2DShader.cs | 2 +- Source/Core/Rendering/IRenderer3D.cs | 5 +- Source/Core/Rendering/Renderer2D.cs | 4 +- Source/Core/Rendering/Renderer3D.cs | 419 ++++++++---------- Source/Core/Rendering/Things2DShader.cs | 7 +- Source/Core/Rendering/World3DShader.cs | 106 ++++- Source/Core/Resources/world3d.fx | 13 +- Source/Core/VisualModes/VisualGeometry.cs | 40 ++ Source/Core/VisualModes/VisualMode.cs | 34 +- Source/Core/VisualModes/VisualSector.cs | 6 - Source/Core/VisualModes/VisualThing.cs | 104 ++++- Source/Core/VisualModes/VisualVertex.cs | 6 - .../Windows/LinedefEditFormUDMF.Designer.cs | 48 +- Source/Core/Windows/LinedefEditFormUDMF.cs | 58 ++- .../Windows/SectorEditFormUDMF.Designer.cs | 56 ++- Source/Core/Windows/SectorEditFormUDMF.cs | 54 +++ .../BuilderEffects/BuilderEffects.csproj | 8 + .../Plugins/BuilderModes/BuilderModes.csproj | 9 + .../BuilderModes/ClassicModes/ThingsMode.cs | 50 ++- .../VisualModes/BaseVisualMode.cs | 41 +- .../VisualModes/BaseVisualSector.cs | 48 +- .../VisualModes/BaseVisualThing.cs | 86 +++- .../BuilderModes/VisualModes/VisualCeiling.cs | 6 + .../BuilderModes/VisualModes/VisualFloor.cs | 14 +- .../BuilderModes/VisualModes/VisualLower.cs | 4 +- .../VisualModes/VisualMiddle3D.cs | 2 + .../VisualModes/VisualMiddleBack.cs | 17 +- .../VisualModes/VisualMiddleDouble.cs | 4 +- .../VisualModes/VisualMiddleSingle.cs | 4 +- .../BuilderModes/VisualModes/VisualUpper.cs | 4 +- Source/Plugins/ColorPicker/ColorPicker.csproj | 8 + .../CommentsPanel/CommentsPanel.csproj | 8 + Source/Plugins/NodesViewer/NodesViewer.csproj | 10 + .../SoundPropagation.csproj | 8 + .../StairSectorBuilder.csproj | 8 + Source/Plugins/TagExplorer/TagExplorer.csproj | 8 + Source/Plugins/TagRange/TagRange.csproj | 7 + .../VisplaneExplorer/VisplaneExplorer.csproj | 10 + 50 files changed, 1011 insertions(+), 441 deletions(-) diff --git a/Build/Scripting/ZDoom_ACS.cfg b/Build/Scripting/ZDoom_ACS.cfg index 141bfc09..9296bc29 100644 --- a/Build/Scripting/ZDoom_ACS.cfg +++ b/Build/Scripting/ZDoom_ACS.cfg @@ -487,7 +487,7 @@ keywords VectorAngle = "fixed VectorAngle(int x, int y)"; VectorLength = "int VectorLength(int x, int y)"; Void = "void"; - Warp = "bool Warp(int destinationtid, fixed x, fixed y, fixed z, int angle, int flags[, str state[, bool exactstate]])"; + Warp = "bool Warp(int destinationtid, fixed xofs, fixed yofs, fixed zofs, int angle, int flags[, str success_state[, bool exactstate[, fixed heightoffset]]])"; While = "while(expression)"; WhiteReturn = "Script expression WhiteReturn"; World = "World Int expression:identifier"; diff --git a/Builder.sln b/Builder.sln index 50d7921a..92c4b1f3 100644 --- a/Builder.sln +++ b/Builder.sln @@ -27,6 +27,7 @@ Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug + Profiler|x86 = Debug + Profiler|x86 Debug|x86 = Debug|x86 + Release + Profiler|x86 = Release + Profiler|x86 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution @@ -34,66 +35,88 @@ Global {818B3D10-F791-4C3F-9AF5-BB2D0079B63C}.Debug + Profiler|x86.Build.0 = Debug + Profiler|x86 {818B3D10-F791-4C3F-9AF5-BB2D0079B63C}.Debug|x86.ActiveCfg = Debug|x86 {818B3D10-F791-4C3F-9AF5-BB2D0079B63C}.Debug|x86.Build.0 = Debug|x86 + {818B3D10-F791-4C3F-9AF5-BB2D0079B63C}.Release + Profiler|x86.ActiveCfg = Release + Profiler|x86 + {818B3D10-F791-4C3F-9AF5-BB2D0079B63C}.Release + Profiler|x86.Build.0 = Release + Profiler|x86 {818B3D10-F791-4C3F-9AF5-BB2D0079B63C}.Release|x86.ActiveCfg = Release|x86 {818B3D10-F791-4C3F-9AF5-BB2D0079B63C}.Release|x86.Build.0 = Release|x86 {B42D5AA0-F9A6-4234-9C4B-A05B11A64851}.Debug + Profiler|x86.ActiveCfg = Debug + Profiler|x86 {B42D5AA0-F9A6-4234-9C4B-A05B11A64851}.Debug + Profiler|x86.Build.0 = Debug + Profiler|x86 {B42D5AA0-F9A6-4234-9C4B-A05B11A64851}.Debug|x86.ActiveCfg = Debug|x86 {B42D5AA0-F9A6-4234-9C4B-A05B11A64851}.Debug|x86.Build.0 = Debug|x86 + {B42D5AA0-F9A6-4234-9C4B-A05B11A64851}.Release + Profiler|x86.ActiveCfg = Release + Profiler|x86 + {B42D5AA0-F9A6-4234-9C4B-A05B11A64851}.Release + Profiler|x86.Build.0 = Release + Profiler|x86 {B42D5AA0-F9A6-4234-9C4B-A05B11A64851}.Release|x86.ActiveCfg = Release|x86 {B42D5AA0-F9A6-4234-9C4B-A05B11A64851}.Release|x86.Build.0 = Release|x86 {B859BE0F-A992-476D-A642-FA8EFE94AAA5}.Debug + Profiler|x86.ActiveCfg = Debug + Profiler|x86 {B859BE0F-A992-476D-A642-FA8EFE94AAA5}.Debug + Profiler|x86.Build.0 = Debug + Profiler|x86 {B859BE0F-A992-476D-A642-FA8EFE94AAA5}.Debug|x86.ActiveCfg = Debug|x86 {B859BE0F-A992-476D-A642-FA8EFE94AAA5}.Debug|x86.Build.0 = Debug|x86 + {B859BE0F-A992-476D-A642-FA8EFE94AAA5}.Release + Profiler|x86.ActiveCfg = Release + Profiler|x86 + {B859BE0F-A992-476D-A642-FA8EFE94AAA5}.Release + Profiler|x86.Build.0 = Release + Profiler|x86 {B859BE0F-A992-476D-A642-FA8EFE94AAA5}.Release|x86.ActiveCfg = Release|x86 {B859BE0F-A992-476D-A642-FA8EFE94AAA5}.Release|x86.Build.0 = Release|x86 {A4761900-0EA3-4FE4-A919-847FD5080EFC}.Debug + Profiler|x86.ActiveCfg = Debug + Profiler|x86 {A4761900-0EA3-4FE4-A919-847FD5080EFC}.Debug + Profiler|x86.Build.0 = Debug + Profiler|x86 {A4761900-0EA3-4FE4-A919-847FD5080EFC}.Debug|x86.ActiveCfg = Debug|x86 {A4761900-0EA3-4FE4-A919-847FD5080EFC}.Debug|x86.Build.0 = Debug|x86 + {A4761900-0EA3-4FE4-A919-847FD5080EFC}.Release + Profiler|x86.ActiveCfg = Release + Profiler|x86 + {A4761900-0EA3-4FE4-A919-847FD5080EFC}.Release + Profiler|x86.Build.0 = Release + Profiler|x86 {A4761900-0EA3-4FE4-A919-847FD5080EFC}.Release|x86.ActiveCfg = Release|x86 {A4761900-0EA3-4FE4-A919-847FD5080EFC}.Release|x86.Build.0 = Release|x86 {BE7917F3-E6FE-4D5B-8FA9-B8E7668AC731}.Debug + Profiler|x86.ActiveCfg = Debug + Profiler|x86 {BE7917F3-E6FE-4D5B-8FA9-B8E7668AC731}.Debug + Profiler|x86.Build.0 = Debug + Profiler|x86 {BE7917F3-E6FE-4D5B-8FA9-B8E7668AC731}.Debug|x86.ActiveCfg = Debug|x86 {BE7917F3-E6FE-4D5B-8FA9-B8E7668AC731}.Debug|x86.Build.0 = Debug|x86 + {BE7917F3-E6FE-4D5B-8FA9-B8E7668AC731}.Release + Profiler|x86.ActiveCfg = Release + Profiler|x86 + {BE7917F3-E6FE-4D5B-8FA9-B8E7668AC731}.Release + Profiler|x86.Build.0 = Release + Profiler|x86 {BE7917F3-E6FE-4D5B-8FA9-B8E7668AC731}.Release|x86.ActiveCfg = Release|x86 {BE7917F3-E6FE-4D5B-8FA9-B8E7668AC731}.Release|x86.Build.0 = Release|x86 {58BD8A5B-1B48-435D-8473-A92F27D06C49}.Debug + Profiler|x86.ActiveCfg = Debug + Profiler|x86 {58BD8A5B-1B48-435D-8473-A92F27D06C49}.Debug + Profiler|x86.Build.0 = Debug + Profiler|x86 {58BD8A5B-1B48-435D-8473-A92F27D06C49}.Debug|x86.ActiveCfg = Debug|x86 {58BD8A5B-1B48-435D-8473-A92F27D06C49}.Debug|x86.Build.0 = Debug|x86 + {58BD8A5B-1B48-435D-8473-A92F27D06C49}.Release + Profiler|x86.ActiveCfg = Release + Profiler|x86 + {58BD8A5B-1B48-435D-8473-A92F27D06C49}.Release + Profiler|x86.Build.0 = Release + Profiler|x86 {58BD8A5B-1B48-435D-8473-A92F27D06C49}.Release|x86.ActiveCfg = Release|x86 {58BD8A5B-1B48-435D-8473-A92F27D06C49}.Release|x86.Build.0 = Release|x86 {9F244231-6A0C-42A6-87C5-ED9620DEE096}.Debug + Profiler|x86.ActiveCfg = Debug + Profiler|x86 {9F244231-6A0C-42A6-87C5-ED9620DEE096}.Debug + Profiler|x86.Build.0 = Debug + Profiler|x86 {9F244231-6A0C-42A6-87C5-ED9620DEE096}.Debug|x86.ActiveCfg = Debug|x86 {9F244231-6A0C-42A6-87C5-ED9620DEE096}.Debug|x86.Build.0 = Debug|x86 + {9F244231-6A0C-42A6-87C5-ED9620DEE096}.Release + Profiler|x86.ActiveCfg = Release + Profiler|x86 + {9F244231-6A0C-42A6-87C5-ED9620DEE096}.Release + Profiler|x86.Build.0 = Release + Profiler|x86 {9F244231-6A0C-42A6-87C5-ED9620DEE096}.Release|x86.ActiveCfg = Release|x86 {9F244231-6A0C-42A6-87C5-ED9620DEE096}.Release|x86.Build.0 = Release|x86 {F49EFF6D-51CB-4E49-8223-AAE653C5B62F}.Debug + Profiler|x86.ActiveCfg = Debug + Profiler|x86 {F49EFF6D-51CB-4E49-8223-AAE653C5B62F}.Debug + Profiler|x86.Build.0 = Debug + Profiler|x86 {F49EFF6D-51CB-4E49-8223-AAE653C5B62F}.Debug|x86.ActiveCfg = Debug|x86 {F49EFF6D-51CB-4E49-8223-AAE653C5B62F}.Debug|x86.Build.0 = Debug|x86 + {F49EFF6D-51CB-4E49-8223-AAE653C5B62F}.Release + Profiler|x86.ActiveCfg = Release + Profiler|x86 + {F49EFF6D-51CB-4E49-8223-AAE653C5B62F}.Release + Profiler|x86.Build.0 = Release + Profiler|x86 {F49EFF6D-51CB-4E49-8223-AAE653C5B62F}.Release|x86.ActiveCfg = Release|x86 {F49EFF6D-51CB-4E49-8223-AAE653C5B62F}.Release|x86.Build.0 = Release|x86 {CF670175-7099-4090-A330-EE25C7230139}.Debug + Profiler|x86.ActiveCfg = Debug + Profiler|x86 {CF670175-7099-4090-A330-EE25C7230139}.Debug + Profiler|x86.Build.0 = Debug + Profiler|x86 {CF670175-7099-4090-A330-EE25C7230139}.Debug|x86.ActiveCfg = Debug|x86 {CF670175-7099-4090-A330-EE25C7230139}.Debug|x86.Build.0 = Debug|x86 + {CF670175-7099-4090-A330-EE25C7230139}.Release + Profiler|x86.ActiveCfg = Release + Profiler|x86 + {CF670175-7099-4090-A330-EE25C7230139}.Release + Profiler|x86.Build.0 = Release + Profiler|x86 {CF670175-7099-4090-A330-EE25C7230139}.Release|x86.ActiveCfg = Release|x86 {CF670175-7099-4090-A330-EE25C7230139}.Release|x86.Build.0 = Release|x86 {F59B344C-DD50-4DB7-ADDD-56AAD66450AF}.Debug + Profiler|x86.ActiveCfg = Debug + Profiler|x86 {F59B344C-DD50-4DB7-ADDD-56AAD66450AF}.Debug + Profiler|x86.Build.0 = Debug + Profiler|x86 {F59B344C-DD50-4DB7-ADDD-56AAD66450AF}.Debug|x86.ActiveCfg = Debug|x86 {F59B344C-DD50-4DB7-ADDD-56AAD66450AF}.Debug|x86.Build.0 = Debug|x86 + {F59B344C-DD50-4DB7-ADDD-56AAD66450AF}.Release + Profiler|x86.ActiveCfg = Release + Profiler|x86 + {F59B344C-DD50-4DB7-ADDD-56AAD66450AF}.Release + Profiler|x86.Build.0 = Release + Profiler|x86 {F59B344C-DD50-4DB7-ADDD-56AAD66450AF}.Release|x86.ActiveCfg = Release|x86 {F59B344C-DD50-4DB7-ADDD-56AAD66450AF}.Release|x86.Build.0 = Release|x86 {3F365121-906B-409D-BB1E-37E0A78056C2}.Debug + Profiler|x86.ActiveCfg = Debug + Profiler|x86 {3F365121-906B-409D-BB1E-37E0A78056C2}.Debug + Profiler|x86.Build.0 = Debug + Profiler|x86 {3F365121-906B-409D-BB1E-37E0A78056C2}.Debug|x86.ActiveCfg = Debug|x86 {3F365121-906B-409D-BB1E-37E0A78056C2}.Debug|x86.Build.0 = Debug|x86 + {3F365121-906B-409D-BB1E-37E0A78056C2}.Release + Profiler|x86.ActiveCfg = Release + Profiler|x86 + {3F365121-906B-409D-BB1E-37E0A78056C2}.Release + Profiler|x86.Build.0 = Release + Profiler|x86 {3F365121-906B-409D-BB1E-37E0A78056C2}.Release|x86.ActiveCfg = Release|x86 {3F365121-906B-409D-BB1E-37E0A78056C2}.Release|x86.Build.0 = Release|x86 EndGlobalSection diff --git a/Source/Core/Builder.csproj b/Source/Core/Builder.csproj index f6d9bd81..c1d6abc6 100644 --- a/Source/Core/Builder.csproj +++ b/Source/Core/Builder.csproj @@ -61,6 +61,19 @@ false prompt + + true + ..\..\Build\ + true + ..\..\Build\Builder.xml + true + 3 + pdbonly + x86 + false + prompt + TRACE +