map.h
changeset 1059 fe97d81a1b4f
parent 1044 63e0601a43cc
child 1174 6a5e747f3ba6
equal deleted inserted replaced
1058:e522c5d6ff69 1059:fe97d81a1b4f
    77 {
    77 {
    78 	assert(tile < MapSize());
    78 	assert(tile < MapSize());
    79 	return _map_type_and_height[tile] & 0xf;
    79 	return _map_type_and_height[tile] & 0xf;
    80 }
    80 }
    81 
    81 
       
    82 static inline void SetTileHeight(TileIndex tile, uint height)
       
    83 {
       
    84 	assert(tile < MapSize());
       
    85 	assert(height < 16);
       
    86 	_map_type_and_height[tile] &= ~0x0F;
       
    87 	_map_type_and_height[tile] |= height;
       
    88 }
       
    89 
    82 static inline uint TilePixelHeight(TileIndex tile)
    90 static inline uint TilePixelHeight(TileIndex tile)
    83 {
    91 {
    84 	return TileHeight(tile) * 8;
    92 	return TileHeight(tile) * 8;
    85 }
    93 }
    86 
    94 
    88 {
    96 {
    89 	assert(tile < MapSize());
    97 	assert(tile < MapSize());
    90 	return _map_type_and_height[tile] >> 4;
    98 	return _map_type_and_height[tile] >> 4;
    91 }
    99 }
    92 
   100 
       
   101 static inline void SetTileType(TileIndex tile, uint type)
       
   102 {
       
   103 	assert(tile < MapSize());
       
   104 	_map_type_and_height[tile] &= ~0xF0;
       
   105 	_map_type_and_height[tile] |= type << 4;
       
   106 }
       
   107 
    93 static inline bool IsTileType(TileIndex tile, int type)
   108 static inline bool IsTileType(TileIndex tile, int type)
    94 {
   109 {
    95 	return TileType(tile) == type;
   110 	return TileType(tile) == type;
    96 }
   111 }
    97 
   112