(svn r16498) -Codechange: Remove hardly used HASBITS.

pull/155/head
frosch 15 years ago
parent 61e668929f
commit c9eac207ea

@ -448,7 +448,7 @@ CommandCost CmdSellAircraft(TileIndex tile, DoCommandFlag flags, uint32 p1, uint
if (v == NULL || !CheckOwnership(v->owner)) return CMD_ERROR;
if (!v->IsStoppedInDepot()) return_cmd_error(STR_ERROR_AIRCRAFT_MUST_BE_STOPPED);
if (HASBITS(v->vehstatus, VS_CRASHED)) return_cmd_error(STR_CAN_T_SELL_DESTROYED_VEHICLE);
if (v->vehstatus & VS_CRASHED) return_cmd_error(STR_CAN_T_SELL_DESTROYED_VEHICLE);
CommandCost ret(EXPENSES_NEW_VEHICLES, -v->value);
@ -1816,7 +1816,7 @@ static bool AirportHasBlock(Aircraft *v, const AirportFTA *current_pos, const Ai
airport_flags |= current_pos->block;
}
if (HASBITS(st->airport_flags, airport_flags)) {
if (st->airport_flags & airport_flags) {
v->cur_speed = 0;
v->subspeed = 0;
return true;
@ -1857,7 +1857,7 @@ static bool AirportSetBlocks(Aircraft *v, const AirportFTA *current_pos, const A
if (current_pos->block == next->block) airport_flags ^= next->block;
Station *st = Station::Get(v->targetairport);
if (HASBITS(st->airport_flags, airport_flags)) {
if (st->airport_flags & airport_flags) {
v->cur_speed = 0;
v->subspeed = 0;
return false;
@ -1911,7 +1911,7 @@ static bool AirportFindFreeTerminal(Aircraft *v, const AirportFTAClass *apc)
while (temp != NULL) {
if (temp->heading == 255) {
if (!HASBITS(st->airport_flags, temp->block)) {
if (!(st->airport_flags & temp->block)) {
/* read which group do we want to go to?
* (the first free group) */
uint target_group = temp->next_position + 1;
@ -1962,7 +1962,7 @@ static bool AirportFindFreeHelipad(Aircraft *v, const AirportFTAClass *apc)
while (temp != NULL) {
if (temp->heading == 255) {
if (!HASBITS(st->airport_flags, temp->block)) {
if (!(st->airport_flags & temp->block)) {
/* read which group do we want to go to?
* (the first free group) */

@ -613,7 +613,7 @@ CommandCost CmdAutoreplaceVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1
if (!CheckOwnership(v->owner)) return CMD_ERROR;
if (!v->IsInDepot()) return CMD_ERROR;
if (HASBITS(v->vehstatus, VS_CRASHED)) return CMD_ERROR;
if (v->vehstatus & VS_CRASHED) return CMD_ERROR;
bool free_wagon = false;
if (v->type == VEH_TRAIN) {

@ -91,18 +91,6 @@ static FORCEINLINE bool HasBit(const T x, const uint8 y)
return (x & ((T)1U << y)) != 0;
}
/**
* Check several bits in a value.
*
* This macro checks if a value contains at least one bit of an other
* value.
*
* @param x The first value
* @param y The second value
* @return True if at least one bit is set in both values, false else.
*/
#define HASBITS(x, y) (((x) & (y)) != 0)
/**
* Set a bit in a variable.
*

@ -259,7 +259,7 @@ StringID AddGRFString(uint32 grfid, uint16 stringid, byte langid_to_add, bool ne
* actually translated.
*/
if (!new_scheme) {
if (HASBITS(langid_to_add, GRFLB_AMERICAN | GRFLB_ENGLISH)) {
if (langid_to_add & (GRFLB_AMERICAN | GRFLB_ENGLISH)) {
langid_to_add = GRFLX_ENGLISH;
} else {
StringID ret = STR_EMPTY;

@ -320,7 +320,7 @@ CommandCost CmdSellRoadVeh(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
RoadVehicle *v = RoadVehicle::GetIfValid(p1);
if (v == NULL || !CheckOwnership(v->owner)) return CMD_ERROR;
if (HASBITS(v->vehstatus, VS_CRASHED)) return_cmd_error(STR_CAN_T_SELL_DESTROYED_VEHICLE);
if (v->vehstatus & VS_CRASHED) return_cmd_error(STR_CAN_T_SELL_DESTROYED_VEHICLE);
if (!v->IsStoppedInDepot()) {
return_cmd_error(STR_ERROR_ROAD_MUST_BE_STOPPED_INSIDE_DEPOT);

@ -845,7 +845,7 @@ CommandCost CmdSellShip(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p
Ship *v = Ship::GetIfValid(p1);
if (v == NULL || !CheckOwnership(v->owner)) return CMD_ERROR;
if (HASBITS(v->vehstatus, VS_CRASHED)) return_cmd_error(STR_CAN_T_SELL_DESTROYED_VEHICLE);
if (v->vehstatus & VS_CRASHED) return_cmd_error(STR_CAN_T_SELL_DESTROYED_VEHICLE);
if (!v->IsStoppedInDepot()) {
return_cmd_error(STR_ERROR_SHIP_MUST_BE_STOPPED_IN_DEPOT);

@ -106,7 +106,7 @@ public:
Listing GetListing() const
{
Listing l;
l.order = HASBITS(this->flags, VL_DESC);
l.order = (this->flags & VL_DESC) != 0;
l.criteria = this->sort_type;
return l;
@ -159,7 +159,7 @@ public:
Filtering GetFiltering() const
{
Filtering f;
f.state = HASBITS(this->flags, VL_FILTER);
f.state = (this->flags & VL_FILTER) != 0;
f.criteria = this->filter_type;
return f;
@ -214,7 +214,7 @@ public:
*/
bool IsDescSortOrder() const
{
return HASBITS(this->flags, VL_DESC);
return (this->flags & VL_DESC) != 0;
}
/**
@ -241,7 +241,7 @@ public:
bool Sort(SortFunction *compare)
{
/* Do not sort if the resort bit is not set */
if (!HASBITS(this->flags, VL_RESORT)) return false;
if (!(this->flags & VL_RESORT)) return false;
CLRBITS(this->flags, VL_RESORT);
@ -250,9 +250,9 @@ public:
/* Do not sort when the list is not sortable */
if (!this->IsSortable()) return false;
const bool desc = HASBITS(this->flags, VL_DESC);
const bool desc = (this->flags & VL_DESC) != 0;
if (HASBITS(this->flags, VL_FIRST_SORT)) {
if (this->flags & VL_FIRST_SORT) {
CLRBITS(this->flags, VL_FIRST_SORT);
QSortT(this->data, this->items, compare, desc);
@ -292,7 +292,7 @@ public:
*/
bool IsFilterEnabled() const
{
return HASBITS(this->flags, VL_FILTER);
return (this->flags & VL_FILTER) != 0;
}
/**
@ -319,7 +319,7 @@ public:
bool Filter(FilterFunction *decide, F filter_data)
{
/* Do not filter if the filter bit is not set */
if (!HASBITS(this->flags, VL_FILTER)) return false;
if (!(this->flags & VL_FILTER)) return false;
bool changed = false;
for (uint iter = 0; iter < this->items;) {
@ -363,7 +363,7 @@ public:
*/
bool NeedRebuild() const
{
return HASBITS(this->flags, VL_REBUILD);
return (this->flags & VL_REBUILD) != 0;
}
/**

@ -959,7 +959,7 @@ static bool GrowTownWithBridge(const Town *t, const TileIndex tile, const DiagDi
/* Make sure the direction is compatible with the slope.
* Well we check if the slope has an up bit set in the
* reverse direction. */
if (HASBITS(slope, InclinedSlope(bridge_dir))) return false;
if (slope & InclinedSlope(bridge_dir)) return false;
/* Assure that the bridge is connectable to the start side */
if (!(GetTownRoadBits(TileAddByDiagDir(tile, ReverseDiagDir(bridge_dir))) & DiagDirToRoadBits(bridge_dir))) return false;
@ -2121,7 +2121,7 @@ static bool BuildTownHouse(Town *t, TileIndex tile)
SetBit(oneof, TOWN_HAS_STADIUM);
}
if (HASBITS(t->flags12, oneof)) continue;
if (t->flags12 & oneof) continue;
/* Make sure there is no slope? */
bool noslope = (hs->building_flags & TILE_NOT_SLOPED) != 0;

@ -678,7 +678,7 @@ static CommandCost CmdBuildRailWagon(EngineID engine, TileIndex tile, DoCommandF
/* do not connect new wagon with crashed/flooded consists */
if (w->tile == tile && IsFreeWagon(w) &&
w->engine_type == engine &&
!HASBITS(w->vehstatus, VS_CRASHED)) {
!(w->vehstatus & VS_CRASHED)) {
u = GetLastVehicleInChain(w);
break;
}
@ -995,7 +995,7 @@ static Train *FindGoodVehiclePos(const Train *src)
Train *dst;
FOR_ALL_TRAINS(dst) {
if (IsFreeWagon(dst) && dst->tile == tile && !HASBITS(dst->vehstatus, VS_CRASHED)) {
if (IsFreeWagon(dst) && dst->tile == tile && !(dst->vehstatus & VS_CRASHED)) {
/* check so all vehicles in the line have the same engine. */
Train *t = dst;
while (t->engine_type == eng) {
@ -1065,7 +1065,7 @@ CommandCost CmdMoveRailVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1, u
if (src == NULL || !CheckOwnership(src->owner)) return CMD_ERROR;
/* Do not allow moving crashed vehicles inside the depot, it is likely to cause asserts later */
if (HASBITS(src->vehstatus, VS_CRASHED)) return CMD_ERROR;
if (src->vehstatus & VS_CRASHED) return CMD_ERROR;
/* if nothing is selected as destination, try and find a matching vehicle to drag to. */
Train *dst;
@ -1076,7 +1076,7 @@ CommandCost CmdMoveRailVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1, u
if (dst == NULL || !CheckOwnership(dst->owner)) return CMD_ERROR;
/* Do not allow appending to crashed vehicles, too */
if (HASBITS(dst->vehstatus, VS_CRASHED)) return CMD_ERROR;
if (dst->vehstatus & VS_CRASHED) return CMD_ERROR;
}
/* if an articulated part is being handled, deal with its parent vehicle */
@ -1416,7 +1416,7 @@ CommandCost CmdSellRailWagon(TileIndex tile, DoCommandFlag flags, uint32 p1, uin
if (v == NULL || !CheckOwnership(v->owner)) return CMD_ERROR;
if (p2 > 1) return CMD_ERROR;
if (HASBITS(v->vehstatus, VS_CRASHED)) return_cmd_error(STR_CAN_T_SELL_DESTROYED_VEHICLE);
if (v->vehstatus & VS_CRASHED) return_cmd_error(STR_CAN_T_SELL_DESTROYED_VEHICLE);
while (IsArticulatedPart(v)) v = v->Previous();
Train *first = v->First();
@ -3574,7 +3574,7 @@ static Vehicle *FindTrainCollideEnum(Vehicle *v, void *data)
* As there might be more than two trains involved, we have to do that for all vehicles */
const Train *u;
FOR_ALL_TRAINS(u) {
if (HASBITS(u->vehstatus, VS_CRASHED) && (u->track & TRACK_BIT_DEPOT) == TRACK_BIT_NONE) {
if ((u->vehstatus & VS_CRASHED) && (u->track & TRACK_BIT_DEPOT) == TRACK_BIT_NONE) {
TrackBits trackbits = u->track;
if ((trackbits & TRACK_BIT_WORMHOLE) == TRACK_BIT_WORMHOLE) {
/* Vehicle is inside a wormhole, v->track contains no useful value then. */
@ -4457,7 +4457,7 @@ bool Train::Tick()
assert(IsFrontEngine(this));
return TrainLocoHandler(this, true);
} else if (IsFreeWagon(this) && HASBITS(this->vehstatus, VS_CRASHED)) {
} else if (IsFreeWagon(this) && (this->vehstatus & VS_CRASHED)) {
/* Delete flooded standalone wagon chain */
if (++this->crash_anim_pos >= 4400) {
delete this;

Loading…
Cancel
Save