- Fixed an issue where the current editing mode was not re-initialized properly when opening a map from current WAD

This commit is contained in:
biwa 2019-04-19 16:14:30 +02:00 committed by spherallic
parent c6a2288c22
commit 0043160e30
1 changed files with 12 additions and 4 deletions

View File

@ -543,13 +543,17 @@ namespace CodeImp.DoomBuilder
if(General.Editing.Mode != null)
{
if(General.Editing.Mode is ClassicMode)
if (General.Editing.Mode is ClassicMode)
{
ClassicMode mode = (ClassicMode)General.Editing.Mode;
mode.OnRedoEnd();
// biwa. Cancel current mode. This will re-engage non-volatile modes to make sure it's
// properly initialized for the new map. Fixes issues mentioned in #196
General.Editing.CancelMode();
// Center map in screen or on stored coordinates
if(options.ViewPosition.IsFinite() && !float.IsNaN(options.ViewScale))
if (options.ViewPosition.IsFinite() && !float.IsNaN(options.ViewScale))
mode.CenterOnCoordinates(options.ViewPosition, options.ViewScale);
else
mode.CenterInScreen();
@ -558,11 +562,15 @@ namespace CodeImp.DoomBuilder
{
VisualMode mode = (VisualMode)General.Editing.Mode;
// biwa. Cancel current mode. This will re-engage non-volatile modes to make sure it's
// properly initialized for the new map. Fixes issues mentioned in #196
General.Editing.CancelMode();
// This will rebuild blockmap, among the other things
General.Editing.Mode.OnReloadResources();
// Update camera position
if(options.ViewPosition.IsFinite()) mode.CenterOnCoordinates(options.ViewPosition);
if (options.ViewPosition.IsFinite()) mode.CenterOnCoordinates(options.ViewPosition);
}
}