Changeset - r5577:08af94866c73
[Not reviewed]
master
0 3 0
maedhros - 17 years ago 2007-01-09 21:43:32
maedhros@openttd.org
(svn r8014) -Codechange (r7573): When a tile is cleared, empty the general purpose bits in
extra as well, unless they are (or could be) used for bridges. This means these
bits don't have to be cleared seperately when non-bridgeable tiles are removed.
3 files changed with 6 insertions and 5 deletions:
0 comments (0 inline, 0 general)
src/clear_map.h
Show inline comments
 
@@ -5,6 +5,7 @@
 

	
 
#include "macros.h"
 
#include "tile.h"
 
#include "bridge_map.h"
 

	
 
/* ground type, m5 bits 2...4
 
 * valid densities (bits 0...1) in comments after the enum
 
@@ -123,12 +124,17 @@ static inline void SetFenceSW(TileIndex 
 

	
 
static inline void MakeClear(TileIndex t, ClearGround g, uint density)
 
{
 
	/* If this is a non-bridgeable tile, clear the bridge bits while the rest
 
	 * of the tile information is still here. */
 
	if (!MayHaveBridgeAbove(t)) SB(_m[t].extra, 6, 2, 0);
 

	
 
	SetTileType(t, MP_CLEAR);
 
	SetTileOwner(t, OWNER_NONE);
 
	_m[t].m2 = 0;
 
	_m[t].m3 = 0;
 
	_m[t].m4 = 0 << 5 | 0 << 2;
 
	SetClearGroundDensity(t, g, density);
 
	SB(_m[t].extra, 2, 4, 0);
 
}
 

	
 

	
src/terraform_gui.c
Show inline comments
 
@@ -76,12 +76,8 @@ static void GenerateRockyArea(TileIndex 
 
	BEGIN_TILE_LOOP(tile, size_x, size_y, TileXY(sx, sy)) {
 
		switch (GetTileType(tile)) {
 
			case MP_CLEAR:
 
				MakeClear(tile, CLEAR_ROCKS, 3);
 
				break;
 

	
 
			case MP_TREES:
 
				MakeClear(tile, CLEAR_ROCKS, 3);
 
				ClearBridgeMiddle(tile);
 
				break;
 

	
 
			default: continue;
src/tree_cmd.c
Show inline comments
 
@@ -587,7 +587,6 @@ static void TileLoop_Trees(TileIndex til
 
					case TREE_GROUND_ROUGH: MakeClear(tile, CLEAR_ROUGH, 3); break;
 
					default: MakeClear(tile, CLEAR_SNOW, GetTreeDensity(tile)); break;
 
				}
 
				ClearBridgeMiddle(tile);
 
			}
 
			break;
 

	
0 comments (0 inline, 0 general)