mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r26202) -Cleanup: since ZOOM_LEVEL_NORMAL 0 and there aren't any negative zoom levels, there is no reason to account for negative zoom levels in the zoom functions (based on patch by MJP)
This commit is contained in:
parent
fb4db0b022
commit
9bf21279f8
|
@ -23,9 +23,8 @@
|
|||
*/
|
||||
static inline int ScaleByZoom(int value, ZoomLevel zoom)
|
||||
{
|
||||
if (zoom == ZOOM_LVL_NORMAL) return value;
|
||||
int izoom = zoom - ZOOM_LVL_NORMAL;
|
||||
return (zoom > ZOOM_LVL_NORMAL) ? value << izoom : (value + (1 << -izoom) - 1) >> -izoom;
|
||||
assert(zoom >= 0);
|
||||
return value << zoom;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -37,9 +36,8 @@ static inline int ScaleByZoom(int value, ZoomLevel zoom)
|
|||
*/
|
||||
static inline int UnScaleByZoom(int value, ZoomLevel zoom)
|
||||
{
|
||||
if (zoom == ZOOM_LVL_NORMAL) return value;
|
||||
int izoom = zoom - ZOOM_LVL_NORMAL;
|
||||
return (zoom > ZOOM_LVL_NORMAL) ? (value + (1 << izoom) - 1) >> izoom : value << -izoom;
|
||||
assert(zoom >= 0);
|
||||
return (value + (1 << zoom) - 1) >> zoom;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -50,9 +48,8 @@ static inline int UnScaleByZoom(int value, ZoomLevel zoom)
|
|||
*/
|
||||
static inline int ScaleByZoomLower(int value, ZoomLevel zoom)
|
||||
{
|
||||
if (zoom == ZOOM_LVL_NORMAL) return value;
|
||||
int izoom = zoom - ZOOM_LVL_NORMAL;
|
||||
return (zoom > ZOOM_LVL_NORMAL) ? value << izoom : value >> -izoom;
|
||||
assert(zoom >= 0);
|
||||
return value << zoom;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -63,9 +60,8 @@ static inline int ScaleByZoomLower(int value, ZoomLevel zoom)
|
|||
*/
|
||||
static inline int UnScaleByZoomLower(int value, ZoomLevel zoom)
|
||||
{
|
||||
if (zoom == ZOOM_LVL_NORMAL) return value;
|
||||
int izoom = zoom - ZOOM_LVL_NORMAL;
|
||||
return (zoom > ZOOM_LVL_NORMAL) ? value >> izoom : value << -izoom;
|
||||
assert(zoom >= 0);
|
||||
return value >> zoom;
|
||||
}
|
||||
|
||||
#endif /* ZOOM_FUNC_H */
|
||||
|
|
Loading…
Reference in New Issue