1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-25 22:42:04 +02:00

save mapzoom

This commit is contained in:
Laserlicht
2025-02-21 23:01:47 +01:00
parent 3627731041
commit 7beabc44ea
3 changed files with 16 additions and 5 deletions

View File

@@ -210,6 +210,11 @@ void MapView::onMapZoomLevelChanged(int stepsChange, bool useDeadZone)
void MapView::onViewMapActivated() void MapView::onViewMapActivated()
{ {
controller->activateAdventureContext(); controller->activateAdventureContext();
int zoom = persistentStorage["tileZoom"].Integer();
if(zoom)
controller->setTileSize(Point(zoom, zoom));
else
controller->setTileSize(Point(32, 32)); controller->setTileSize(Point(32, 32));
} }

View File

@@ -72,7 +72,7 @@ void MapViewController::setViewCenter(const Point & position, int level)
adventureInt->onMapViewMoved(model->getTilesTotalRect(), model->getLevel()); adventureInt->onMapViewMoved(model->getTilesTotalRect(), model->getLevel());
} }
void MapViewController::setTileSize(const Point & tileSize) void MapViewController::setTileSize(const Point & tileSize, bool setTarget)
{ {
Point oldSize = model->getSingleTileSize(); Point oldSize = model->getSingleTileSize();
model->setTileSize(tileSize); model->setTileSize(tileSize);
@@ -87,6 +87,9 @@ void MapViewController::setTileSize(const Point & tileSize)
// force update of view center since changing tile size may invalidated it // force update of view center since changing tile size may invalidated it
setViewCenter(newViewCenter, model->getLevel()); setViewCenter(newViewCenter, model->getLevel());
if(setTarget)
targetTileSize = tileSize;
} }
void MapViewController::modifyTileSize(int stepsChange, bool useDeadZone) void MapViewController::modifyTileSize(int stepsChange, bool useDeadZone)
@@ -133,7 +136,10 @@ void MapViewController::modifyTileSize(int stepsChange, bool useDeadZone)
wasInDeadZone = isInDeadZone; wasInDeadZone = isInDeadZone;
setTileSize(actualZoom); setTileSize(actualZoom, false);
Settings tileZoom = persistentStorage.write["tileZoom"];
tileZoom->Integer() = actualZoom.x;
} }
} }

View File

@@ -96,7 +96,7 @@ public:
void setViewCenter(const int3 & position); void setViewCenter(const int3 & position);
void setViewCenter(const Point & position, int level); void setViewCenter(const Point & position, int level);
void setTileSize(const Point & tileSize); void setTileSize(const Point & tileSize, bool setTarget = true);
void modifyTileSize(int stepsChange, bool useDeadZone); void modifyTileSize(int stepsChange, bool useDeadZone);
void tick(uint32_t timePassed); void tick(uint32_t timePassed);
void afterRender(); void afterRender();