From 1995e723df5d5aef32b289c0122493ee6fe18b0e Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 22 Jul 2014 17:44:11 +0300 Subject: Move "map draw type" variable into settings. --- src/being/localplayer.cpp | 2 +- src/gamemodifiers.cpp | 2 +- src/gui/viewport.cpp | 20 +++++++++++--------- src/gui/viewport.h | 7 ------- src/settings.h | 4 ++++ 5 files changed, 17 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/src/being/localplayer.cpp b/src/being/localplayer.cpp index 312efacd9..36275dbbe 100644 --- a/src/being/localplayer.cpp +++ b/src/being/localplayer.cpp @@ -3325,7 +3325,7 @@ void LocalPlayer::resetYellowBar() settings.pickUpType = config.resetIntValue("pickUpType"); if (viewport) { - viewport->setMapDrawType(0); + settings.mapDrawType = MapType::NORMAL; if (viewport->getCameraMode()) viewport->toggleCameraMode(); } diff --git a/src/gamemodifiers.cpp b/src/gamemodifiers.cpp index e7182c450..7c94b5c4c 100644 --- a/src/gamemodifiers.cpp +++ b/src/gamemodifiers.cpp @@ -490,5 +490,5 @@ static const char *const mapDrawTypeStrings[] = std::string GameModifiers::getMapDrawTypeString() { return gettext(getVarItem(&mapDrawTypeStrings[0], - viewport->getMapDrawType(), mapDrawTypeSize)); + settings.mapDrawType, mapDrawTypeSize)); } diff --git a/src/gui/viewport.cpp b/src/gui/viewport.cpp index fb52607c7..5a2c9cc91 100644 --- a/src/gui/viewport.cpp +++ b/src/gui/viewport.cpp @@ -25,6 +25,7 @@ #include "actormanager.h" #include "configuration.h" #include "game.h" +#include "settings.h" #include "sdlshared.h" #include "textmanager.h" @@ -79,7 +80,6 @@ Viewport::Viewport() : mMousePressY(0), mPixelViewX(0), mPixelViewY(0), - mMapDrawType(MapType::NORMAL), mCameraMode(0), mLocalWalkTime(-1), mCameraRelativeX(0), @@ -241,14 +241,15 @@ void Viewport::draw(Graphics *graphics) // Draw tiles and sprites mMap->draw(graphics, mPixelViewX, mPixelViewY); - if (mMapDrawType != MapType::NORMAL) + const MapType::MapType drawType = settings.mapDrawType; + if (drawType != MapType::NORMAL) { - if (mMapDrawType != MapType::SPECIAL4) + if (drawType != MapType::SPECIAL4) { mMap->drawCollision(graphics, mPixelViewX, - mPixelViewY, mMapDrawType); + mPixelViewY, drawType); } - if (mMapDrawType == MapType::DEBUG) + if (drawType == MapType::DEBUG) drawDebugPath(graphics); } @@ -1001,11 +1002,12 @@ void Viewport::mouseMoved(MouseEvent &event A_UNUSED) void Viewport::toggleMapDrawType() { - mMapDrawType++; - if (mMapDrawType > MapType::BLACKWHITE) - mMapDrawType = MapType::NORMAL; + settings.mapDrawType = static_cast( + static_cast(settings.mapDrawType) + 1); + if (settings.mapDrawType > MapType::BLACKWHITE) + settings.mapDrawType = MapType::NORMAL; if (mMap) - mMap->setDrawLayersFlags(mMapDrawType); + mMap->setDrawLayersFlags(settings.mapDrawType); } void Viewport::toggleCameraMode() diff --git a/src/gui/viewport.h b/src/gui/viewport.h index 4a7abea93..9ed4b3f7f 100644 --- a/src/gui/viewport.h +++ b/src/gui/viewport.h @@ -242,12 +242,6 @@ class Viewport final : public WindowContainer, void scrollBy(const int x, const int y) { mPixelViewX += x; mPixelViewY += y; } - int getMapDrawType() const A_WARN_UNUSED - { return mMapDrawType; } - - void setMapDrawType(const int n) - { mMapDrawType = n; } - int getCameraMode() const A_WARN_UNUSED { return mCameraMode; } @@ -344,7 +338,6 @@ class Viewport final : public WindowContainer, int mMousePressY; int mPixelViewX; /**< Current viewpoint in pixels. */ int mPixelViewY; /**< Current viewpoint in pixels. */ - int mMapDrawType; /**< Show a path from player to pointer. */ int mCameraMode; /**< Camera mode. */ int mLocalWalkTime; /**< Timestamp before the next walk can be sent. */ diff --git a/src/settings.h b/src/settings.h index e64a4fba3..21b0fdf91 100644 --- a/src/settings.h +++ b/src/settings.h @@ -23,6 +23,8 @@ #include "options.h" +#include "resources/map/maptype.h" + #include #include @@ -63,6 +65,7 @@ class Settings final magicAttackType(0U), pvpAttackType(0U), imitationMode(0U), + mapDrawType(MapType::NORMAL), persistentIp(true), limitFps(false), inputFocused(true), @@ -101,6 +104,7 @@ class Settings final unsigned int magicAttackType; unsigned int pvpAttackType; unsigned int imitationMode; + MapType::MapType mapDrawType; bool persistentIp; bool limitFps; bool inputFocused; -- cgit v1.2.3-60-g2f50