tile.h
changeset 2049 ad0d49c916d4
parent 1967 c57192f4c121
child 2085 ae9e92ffe168
equal deleted inserted replaced
2048:430522aa954c 2049:ad0d49c916d4
    56 }
    56 }
    57 
    57 
    58 static inline uint TileHeight(TileIndex tile)
    58 static inline uint TileHeight(TileIndex tile)
    59 {
    59 {
    60 	assert(tile < MapSize());
    60 	assert(tile < MapSize());
    61 	return GB(_map_type_and_height[tile], 0, 4);
    61 	return GB(_m[tile].type_height, 0, 4);
    62 }
    62 }
    63 
    63 
    64 static inline void SetTileHeight(TileIndex tile, uint height)
    64 static inline void SetTileHeight(TileIndex tile, uint height)
    65 {
    65 {
    66 	assert(tile < MapSize());
    66 	assert(tile < MapSize());
    67 	assert(height < 16);
    67 	assert(height < 16);
    68 	SB(_map_type_and_height[tile], 0, 4, height);
    68 	SB(_m[tile].type_height, 0, 4, height);
    69 }
    69 }
    70 
    70 
    71 static inline uint TilePixelHeight(TileIndex tile)
    71 static inline uint TilePixelHeight(TileIndex tile)
    72 {
    72 {
    73 	return TileHeight(tile) * 8;
    73 	return TileHeight(tile) * 8;
    74 }
    74 }
    75 
    75 
    76 static inline TileType GetTileType(TileIndex tile)
    76 static inline TileType GetTileType(TileIndex tile)
    77 {
    77 {
    78 	assert(tile < MapSize());
    78 	assert(tile < MapSize());
    79 	return GB(_map_type_and_height[tile], 4, 4);
    79 	return GB(_m[tile].type_height, 4, 4);
    80 }
    80 }
    81 
    81 
    82 static inline void SetTileType(TileIndex tile, TileType type)
    82 static inline void SetTileType(TileIndex tile, TileType type)
    83 {
    83 {
    84 	assert(tile < MapSize());
    84 	assert(tile < MapSize());
    85 	SB(_map_type_and_height[tile], 4, 4, type);
    85 	SB(_m[tile].type_height, 4, 4, type);
    86 }
    86 }
    87 
    87 
    88 static inline bool IsTileType(TileIndex tile, TileType type)
    88 static inline bool IsTileType(TileIndex tile, TileType type)
    89 {
    89 {
    90 	return GetTileType(tile) == type;
    90 	return GetTileType(tile) == type;
    95 	assert(tile < MapSize());
    95 	assert(tile < MapSize());
    96 	assert(!IsTileType(tile, MP_HOUSE));
    96 	assert(!IsTileType(tile, MP_HOUSE));
    97 	assert(!IsTileType(tile, MP_VOID));
    97 	assert(!IsTileType(tile, MP_VOID));
    98 	assert(!IsTileType(tile, MP_INDUSTRY));
    98 	assert(!IsTileType(tile, MP_INDUSTRY));
    99 
    99 
   100 	return _map_owner[tile];
   100 	return _m[tile].owner;
   101 }
   101 }
   102 
   102 
   103 static inline void SetTileOwner(TileIndex tile, Owner owner)
   103 static inline void SetTileOwner(TileIndex tile, Owner owner)
   104 {
   104 {
   105 	assert(tile < MapSize());
   105 	assert(tile < MapSize());
   106 	assert(!IsTileType(tile, MP_HOUSE));
   106 	assert(!IsTileType(tile, MP_HOUSE));
   107 	assert(!IsTileType(tile, MP_VOID));
   107 	assert(!IsTileType(tile, MP_VOID));
   108 	assert(!IsTileType(tile, MP_INDUSTRY));
   108 	assert(!IsTileType(tile, MP_INDUSTRY));
   109 
   109 
   110 	_map_owner[tile] = owner;
   110 	_m[tile].owner = owner;
   111 }
   111 }
   112 
   112 
   113 static inline bool IsTileOwner(TileIndex tile, Owner owner)
   113 static inline bool IsTileOwner(TileIndex tile, Owner owner)
   114 {
   114 {
   115 	return GetTileOwner(tile) == owner;
   115 	return GetTileOwner(tile) == owner;