Mercurial > hg > openttd
changeset 927:cd71a8b5bf3a draft
(svn r1415) Move TILE_FROM_XY and TILE_XY to map.h and push TILE_[XY] bits from map.h into map.c.
Now the whole source except map.c is independent of TILE_[XY]_BITS!
author | tron <tron@openttd.org> |
---|---|
date | Fri, 07 Jan 2005 17:40:23 +0000 |
parents | b1ef952b19f8 |
children | c5651758bdc4 |
files | landscape.c macros.h map.c map.h |
diffstat | 4 files changed, 9 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/landscape.c +++ b/landscape.c @@ -454,8 +454,8 @@ #define TILELOOP_BITS 4 #define TILELOOP_SIZE (1 << TILELOOP_BITS) -#define TILELOOP_ASSERTMASK ((TILELOOP_SIZE-1) + ((TILELOOP_SIZE-1) << TILE_X_BITS)) -#define TILELOOP_CHKMASK (((1 << (TILE_X_BITS - TILELOOP_BITS))-1) << TILELOOP_BITS) +#define TILELOOP_ASSERTMASK ((TILELOOP_SIZE-1) + ((TILELOOP_SIZE-1) << MapLogX())) +#define TILELOOP_CHKMASK (((1 << (MapLogX() - TILELOOP_BITS))-1) << TILELOOP_BITS) void RunTileLoop() { @@ -538,7 +538,7 @@ p = GetSpritePtr((((r >> 24) * _genterrain_tbl_1[type]) >> 8) + _genterrain_tbl_2[type] + 4845); x = r & MapMaxX(); - y = (r >> TILE_X_BITS) & MapMaxY(); + y = (r >> MapLogX()) & MapMaxY(); if (x < 2 || y < 2)
--- a/macros.h +++ b/macros.h @@ -70,9 +70,6 @@ #define LANDSCAPE_SIZE_FACTOR 1 -#define TILE_FROM_XY(x,y) (int)((((y) >> 4) << TILE_X_BITS) + ((x) >> 4)) -#define TILE_XY(x,y) (int)(((y) << TILE_X_BITS) + (x)) - #define IS_TILETYPE(_t_, _s_) (_map_type_and_height[(_t_)] >> 4 == (_s_)) #define GET_TILETYPE(_t_) (_map_type_and_height[(_t_)] >> 4) #define GET_TILEHEIGHT(_t_) ((_map_type_and_height[_t_] & 0xF) * 8) @@ -86,7 +83,7 @@ extern uint SafeTileAdd(uint x, int add, const char *exp, const char *file, int line); -#if !defined(_DEBUG) || TILE_X_BITS != 8 +#if !defined(_DEBUG) # define TILE_ADD(x,y) ((x)+(y)) #else # if defined(__GNUC__)
--- a/map.c +++ b/map.c @@ -2,6 +2,9 @@ #include "ttd.h" #include "map.h" +#define TILE_X_BITS 8 +#define TILE_Y_BITS 8 + uint _map_log_x = TILE_X_BITS; uint _map_log_y = TILE_Y_BITS;
--- a/map.h +++ b/map.h @@ -1,8 +1,8 @@ #ifndef MAP_H #define MAP_H -#define TILE_X_BITS 8 -#define TILE_Y_BITS 8 +#define TILE_FROM_XY(x,y) (int)((((y) >> 4) << MapLogX()) + ((x) >> 4)) +#define TILE_XY(x,y) (int)(((y) << MapLogX()) + (x)) #define TILE_MASK(x) (int)((x) & ((1 << (MapLogX() + MapLogY())) - 1))