From 5a41a646c2f62bbd3480f5714232f9e2e48ae75c Mon Sep 17 00:00:00 2001 From: rubidium Date: Mon, 30 Nov 2009 11:29:52 +0000 Subject: (svn r18351) -Fix [FS#3333]: endianness issue with saving the zoom level --- src/saveload/misc_sl.cpp | 3 ++- src/saveload/saveload_internal.h | 1 + src/viewport.cpp | 1 - src/zoom_func.h | 2 -- src/zoom_type.h | 2 ++ 5 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/saveload/misc_sl.cpp b/src/saveload/misc_sl.cpp index 052c63360..b6a4c5b9b 100644 --- a/src/saveload/misc_sl.cpp +++ b/src/saveload/misc_sl.cpp @@ -29,6 +29,7 @@ extern TileIndex _cur_tileloop_tile; /* Keep track of current game position */ int _saved_scrollpos_x; int _saved_scrollpos_y; +ZoomLevelByte _saved_scrollpos_zoom; void SaveViewportBeforeSaveGame() { @@ -51,7 +52,7 @@ void ResetViewportAfterLoadGame() w->viewport->dest_scrollpos_y = _saved_scrollpos_y; ViewPort *vp = w->viewport; - vp->zoom = min(_saved_scrollpos_zoom, ZOOM_LVL_MAX); + vp->zoom = min(_saved_scrollpos_zoom, ZOOM_LVL_MAX); vp->virtual_width = ScaleByZoom(vp->width, vp->zoom); vp->virtual_height = ScaleByZoom(vp->height, vp->zoom); diff --git a/src/saveload/saveload_internal.h b/src/saveload/saveload_internal.h index 6e7a6e1d7..03912c673 100644 --- a/src/saveload/saveload_internal.h +++ b/src/saveload/saveload_internal.h @@ -45,6 +45,7 @@ void CopyTempEngineData(); extern int32 _saved_scrollpos_x; extern int32 _saved_scrollpos_y; +extern ZoomLevelByte _saved_scrollpos_zoom; extern SavegameType _savegame_type; extern uint32 _ttdp_version; diff --git a/src/viewport.cpp b/src/viewport.cpp index 4f8c1c1e8..1ad38c837 100644 --- a/src/viewport.cpp +++ b/src/viewport.cpp @@ -53,7 +53,6 @@ PlaceProc *_place_proc; Point _tile_fract_coords; -ZoomLevel _saved_scrollpos_zoom; struct StringSpriteToDraw { StringID string; diff --git a/src/zoom_func.h b/src/zoom_func.h index 180e15f6c..aa4bf3d69 100644 --- a/src/zoom_func.h +++ b/src/zoom_func.h @@ -14,8 +14,6 @@ #include "zoom_type.h" -extern ZoomLevel _saved_scrollpos_zoom; - /** * Scale by zoom level, usually shift left (when zoom > ZOOM_LVL_NORMAL) * When shifting right, value is rounded up diff --git a/src/zoom_type.h b/src/zoom_type.h index a474a913b..e2698ae48 100644 --- a/src/zoom_type.h +++ b/src/zoom_type.h @@ -44,4 +44,6 @@ enum ZoomLevel { }; DECLARE_POSTFIX_INCREMENT(ZoomLevel) +typedef SimpleTinyEnumT ZoomLevelByte; + #endif /* ZOOM_TYPE_H */ -- cgit v1.2.3-70-g09d2