summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortron <tron@openttd.org>2006-03-03 19:42:09 +0000
committertron <tron@openttd.org>2006-03-03 19:42:09 +0000
commit40fd4377b0d2dbd7b6d3d0d3aa792fa7b1ec3984 (patch)
tree33b8df8ca1efa38a8227dd2ec34da277aed9c554
parent5b0e6f90a9a18ed549ebb70a1e1af35ef76361ef (diff)
downloadopenttd-40fd4377b0d2dbd7b6d3d0d3aa792fa7b1ec3984.tar.xz
(svn r3747) Change HASBIT() to return 0/1 instead of 0/value of tested bit, because the name suggests it does the former and current behavior broke in some places in very subtle ways (for example HASBIT(x, 0) != HASBIT(y, 1) doesn't work, returning a bool after HASBIT(x, 9) neither)
-rw-r--r--macros.h2
-rw-r--r--pathfind.c4
-rw-r--r--rail.h2
-rw-r--r--rail_gui.c4
-rw-r--r--road_gui.c2
-rw-r--r--vehicle.c2
6 files changed, 8 insertions, 8 deletions
diff --git a/macros.h b/macros.h
index 75a365d63..7371d13fa 100644
--- a/macros.h
+++ b/macros.h
@@ -57,7 +57,7 @@ static inline int64 BIGMULS(int32 a, int32 b) {
#define IS_INSIDE_1D(x, base, size) ( (uint)((x) - (base)) < ((uint)(size)) )
-#define HASBIT(x,y) ((x) & (1 << (y)))
+#define HASBIT(x,y) (((x) & (1 << (y))) != 0)
#define SETBIT(x,y) ((x) |= (1 << (y)))
#define CLRBIT(x,y) ((x) &= ~(1 << (y)))
#define TOGGLEBIT(x,y) ((x) ^= (1 << (y)))
diff --git a/pathfind.c b/pathfind.c
index 9ece86052..15b8efef5 100644
--- a/pathfind.c
+++ b/pathfind.c
@@ -388,8 +388,8 @@ void FollowTrack(TileIndex tile, uint16 flags, byte direction, TPFEnumProc *enum
tpf.var2 = HASBIT(flags, 15) ? 0x43 : 0xFF; /* 0x8000 */
- tpf.disable_tile_hash = HASBIT(flags, 12) != 0; /* 0x1000 */
- tpf.hasbit_13 = HASBIT(flags, 13) != 0; /* 0x2000 */
+ tpf.disable_tile_hash = HASBIT(flags, 12); /* 0x1000 */
+ tpf.hasbit_13 = HASBIT(flags, 13); /* 0x2000 */
tpf.tracktype = (byte)flags;
diff --git a/rail.h b/rail.h
index 794a9fe9a..cf75f6842 100644
--- a/rail.h
+++ b/rail.h
@@ -557,7 +557,7 @@ static inline SignalType GetSignalType(TileIndex tile, Track track)
static inline bool HasSemaphores(TileIndex tile, Track track)
{
assert(IsValidTrack(track));
- return _m[tile].m4 & SIG_SEMAPHORE_MASK;
+ return (_m[tile].m4 & SIG_SEMAPHORE_MASK) != 0;
}
/**
diff --git a/rail_gui.c b/rail_gui.c
index 16b764f9a..61d2375e9 100644
--- a/rail_gui.c
+++ b/rail_gui.c
@@ -291,8 +291,8 @@ static void BuildRailClick_Remove(Window *w)
SndPlayFx(SND_15_BEEP);
TOGGLEBIT(w->click_state, 16);
- _remove_button_clicked = HASBIT(w->click_state, 16) != 0;
- SetSelectionRed(HASBIT(w->click_state, 16) != 0);
+ _remove_button_clicked = HASBIT(w->click_state, 16);
+ SetSelectionRed(HASBIT(w->click_state, 16));
// handle station builder
if (HASBIT(w->click_state, 16)) {
diff --git a/road_gui.c b/road_gui.c
index 83bb81688..40096a474 100644
--- a/road_gui.c
+++ b/road_gui.c
@@ -158,7 +158,7 @@ static void BuildRoadClick_Remove(Window *w)
SetWindowDirty(w);
SndPlayFx(SND_15_BEEP);
TOGGLEBIT(w->click_state, 11);
- SetSelectionRed(HASBIT(w->click_state, 11) != 0);
+ SetSelectionRed(HASBIT(w->click_state, 11));
}
static void BuildRoadClick_Landscaping(Window *w)
diff --git a/vehicle.c b/vehicle.c
index 0074a0355..f6543c84a 100644
--- a/vehicle.c
+++ b/vehicle.c
@@ -688,7 +688,7 @@ bool CanFillVehicle(Vehicle *v)
bool CanRefitTo(EngineID engine_type, CargoID cid_to)
{
CargoID cid = _global_cargo_id[_opt_ptr->landscape][cid_to];
- return HASBIT(_engine_info[engine_type].refit_mask, cid) != 0;
+ return HASBIT(_engine_info[engine_type].refit_mask, cid);
}
static void DoDrawVehicle(const Vehicle *v)