mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r18351) -Fix [FS#3333]: endianness issue with saving the zoom level
This commit is contained in:
parent
9ecfcdff78
commit
5a41a646c2
|
@ -29,6 +29,7 @@ extern TileIndex _cur_tileloop_tile;
|
||||||
/* Keep track of current game position */
|
/* Keep track of current game position */
|
||||||
int _saved_scrollpos_x;
|
int _saved_scrollpos_x;
|
||||||
int _saved_scrollpos_y;
|
int _saved_scrollpos_y;
|
||||||
|
ZoomLevelByte _saved_scrollpos_zoom;
|
||||||
|
|
||||||
void SaveViewportBeforeSaveGame()
|
void SaveViewportBeforeSaveGame()
|
||||||
{
|
{
|
||||||
|
@ -51,7 +52,7 @@ void ResetViewportAfterLoadGame()
|
||||||
w->viewport->dest_scrollpos_y = _saved_scrollpos_y;
|
w->viewport->dest_scrollpos_y = _saved_scrollpos_y;
|
||||||
|
|
||||||
ViewPort *vp = w->viewport;
|
ViewPort *vp = w->viewport;
|
||||||
vp->zoom = min(_saved_scrollpos_zoom, ZOOM_LVL_MAX);
|
vp->zoom = min<ZoomLevel>(_saved_scrollpos_zoom, ZOOM_LVL_MAX);
|
||||||
vp->virtual_width = ScaleByZoom(vp->width, vp->zoom);
|
vp->virtual_width = ScaleByZoom(vp->width, vp->zoom);
|
||||||
vp->virtual_height = ScaleByZoom(vp->height, vp->zoom);
|
vp->virtual_height = ScaleByZoom(vp->height, vp->zoom);
|
||||||
|
|
||||||
|
|
|
@ -45,6 +45,7 @@ void CopyTempEngineData();
|
||||||
|
|
||||||
extern int32 _saved_scrollpos_x;
|
extern int32 _saved_scrollpos_x;
|
||||||
extern int32 _saved_scrollpos_y;
|
extern int32 _saved_scrollpos_y;
|
||||||
|
extern ZoomLevelByte _saved_scrollpos_zoom;
|
||||||
|
|
||||||
extern SavegameType _savegame_type;
|
extern SavegameType _savegame_type;
|
||||||
extern uint32 _ttdp_version;
|
extern uint32 _ttdp_version;
|
||||||
|
|
|
@ -53,7 +53,6 @@
|
||||||
|
|
||||||
PlaceProc *_place_proc;
|
PlaceProc *_place_proc;
|
||||||
Point _tile_fract_coords;
|
Point _tile_fract_coords;
|
||||||
ZoomLevel _saved_scrollpos_zoom;
|
|
||||||
|
|
||||||
struct StringSpriteToDraw {
|
struct StringSpriteToDraw {
|
||||||
StringID string;
|
StringID string;
|
||||||
|
|
|
@ -14,8 +14,6 @@
|
||||||
|
|
||||||
#include "zoom_type.h"
|
#include "zoom_type.h"
|
||||||
|
|
||||||
extern ZoomLevel _saved_scrollpos_zoom;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Scale by zoom level, usually shift left (when zoom > ZOOM_LVL_NORMAL)
|
* Scale by zoom level, usually shift left (when zoom > ZOOM_LVL_NORMAL)
|
||||||
* When shifting right, value is rounded up
|
* When shifting right, value is rounded up
|
||||||
|
|
|
@ -44,4 +44,6 @@ enum ZoomLevel {
|
||||||
};
|
};
|
||||||
DECLARE_POSTFIX_INCREMENT(ZoomLevel)
|
DECLARE_POSTFIX_INCREMENT(ZoomLevel)
|
||||||
|
|
||||||
|
typedef SimpleTinyEnumT<ZoomLevel, byte> ZoomLevelByte;
|
||||||
|
|
||||||
#endif /* ZOOM_TYPE_H */
|
#endif /* ZOOM_TYPE_H */
|
||||||
|
|
Loading…
Reference in New Issue