mirror of https://github.com/OpenTTD/OpenTTD.git
(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)
This commit is contained in:
parent
5b0e6f90a9
commit
40fd4377b0
2
macros.h
2
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)))
|
||||
|
|
|
@ -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;
|
||||
|
|
2
rail.h
2
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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -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)) {
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue