diff --git a/desktop_version/src/Input.cpp b/desktop_version/src/Input.cpp index 2f417651..f78ad935 100644 --- a/desktop_version/src/Input.cpp +++ b/desktop_version/src/Input.cpp @@ -380,6 +380,7 @@ void menuactionpress() { game.ingame_titlemode = false; game.gamestate = MAPMODE; + map.kludge_to_bg(); } else { @@ -594,6 +595,7 @@ void menuactionpress() { game.ingame_titlemode = false; game.gamestate = MAPMODE; + map.kludge_to_bg(); } else { @@ -2119,6 +2121,8 @@ void mapmenuactionpress() { game.createmenu(Menu::options); } + map.bg_to_kludge(); + map.nexttowercolour(); map.scrolldir = 0; diff --git a/desktop_version/src/Map.h b/desktop_version/src/Map.h index 5ef7e64d..79536310 100644 --- a/desktop_version/src/Map.h +++ b/desktop_version/src/Map.h @@ -168,6 +168,22 @@ public: //Map cursor int cursorstate, cursordelay; + + int kludge_bypos; + int kludge_colstate; + int kludge_scrolldir; + void inline bg_to_kludge() + { + kludge_bypos = bypos; + kludge_colstate = colstate; + kludge_scrolldir = scrolldir; + } + void inline kludge_to_bg() + { + bypos = kludge_bypos; + colstate = kludge_colstate; + scrolldir = kludge_scrolldir; + } }; extern mapclass map;