summaryrefslogtreecommitdiff
path: root/road_cmd.c
diff options
context:
space:
mode:
authortron <tron@openttd.org>2005-07-20 15:29:28 +0000
committertron <tron@openttd.org>2005-07-20 15:29:28 +0000
commitf09638ad3d3eaf3574086e351a56bf5c14159894 (patch)
treea82679a91beaee405777f0f3c5e3c45814f1ea5d /road_cmd.c
parentf3645d73073e262d9dba2f4d69a9848be435b7df (diff)
downloadopenttd-f09638ad3d3eaf3574086e351a56bf5c14159894.tar.xz
(svn r2650) Convert many explicit shifts+ands to extract bits to invocations of GB - should be a bit nicer to read
Diffstat (limited to 'road_cmd.c')
-rw-r--r--road_cmd.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/road_cmd.c b/road_cmd.c
index cf1d96cbd..470b9f22d 100644
--- a/road_cmd.c
+++ b/road_cmd.c
@@ -789,7 +789,7 @@ static void DrawTile_Road(TileInfo *ti)
image = _road_tile_sprites_1[ti->map5 & 0xF];
}
- m2 = (_m[ti->tile].m4 & 0x70) >> 4;
+ m2 = GB(_m[ti->tile].m4, 4, 3);
if (m2 == 0) image |= 0x3178000;
@@ -835,7 +835,7 @@ static void DrawTile_Road(TileInfo *ti)
if ( _m[ti->tile].m4 & 0x80) {
image += 8;
} else {
- m2 = (_m[ti->tile].m4 & 0x70) >> 4;
+ m2 = GB(_m[ti->tile].m4, 4, 3);
if (m2 == 0) image |= 0x3178000;
if (m2 > 1) image += 4;
}
@@ -1006,7 +1006,7 @@ static void TileLoop_Road(TileIndex tile)
if (_m[tile].m5 & 0xE0)
return;
- if (((_m[tile].m4 & 0x70) >> 4) < 6) {
+ if (GB(_m[tile].m4, 4, 3) < 6) {
t = ClosestTownFromTile(tile, (uint)-1);
grp = 0;
@@ -1018,7 +1018,7 @@ static void TileLoop_Road(TileIndex tile)
!(DistanceManhattan(t->xy, tile) >= 8 && grp == 0) &&
(_m[tile].m5==5 || _m[tile].m5==10)) {
if (GetTileSlope(tile, NULL) == 0 && EnsureNoVehicle(tile) && CHANCE16(1,20)) {
- _m[tile].m4 |= ((((_m[tile].m4 & 0x70) >> 4 ) <= 2) ? 7 : 6) << 4;
+ _m[tile].m4 |= (GB(_m[tile].m4, 4, 3) <= 2 ? 7 : 6) << 4;
SndPlayTileFx(SND_21_JACKHAMMER, tile);
CreateEffectVehicleAbove(
@@ -1034,7 +1034,7 @@ static void TileLoop_Road(TileIndex tile)
{
const byte *p = (_opt.landscape == LT_CANDY) ? _town_road_types_2[grp] : _town_road_types[grp];
- byte b = (_m[tile].m4 & 0x70) >> 4;
+ byte b = GB(_m[tile].m4, 4, 3);
if (b == p[0])
return;
@@ -1062,7 +1062,7 @@ static void TileLoop_Road(TileIndex tile)
return;
}
//roadworks finished
- _m[tile].m4 = ((((b& 0x70) >> 4)== 6) ? 1 : 2) << 4;
+ _m[tile].m4 = (GB(b, 4, 3) == 6 ? 1 : 2) << 4;
MarkTileDirtyByTile(tile);
}
}
@@ -1090,7 +1090,7 @@ static uint32 GetTileTrackStatus_Road(TileIndex tile, TransportType mode)
byte b = _m[tile].m5;
if ((b & 0xF0) == 0) {
/* Ordinary road */
- if (!_road_special_gettrackstatus && ((_m[tile].m4&0x70) >> 4) >= 6)
+ if (!_road_special_gettrackstatus && GB(_m[tile].m4, 4, 3) >= 6)
return 0;
return _road_trackbits[b&0xF] * 0x101;
} else if (IsLevelCrossing(tile)) {
@@ -1125,7 +1125,7 @@ static void GetTileDesc_Road(TileIndex tile, TileDesc *td)
{
int i = (_m[tile].m5 >> 4);
if (i == 0)
- i = ((_m[tile].m4 & 0x70) >> 4) + 3;
+ i = GB(_m[tile].m4, 4, 3) + 3;
td->str = _road_tile_strings[i - 1];
td->owner = GetTileOwner(tile);
}