Changeset - r6005:4e2beebaf215
[Not reviewed]
master
0 2 0
rubidium - 17 years ago 2007-02-14 09:34:12
rubidium@openttd.org
(svn r8726) -Codechange: bools are 1 or 0 according to the C++ standard and refactor RoadStop::AllocateBay to remove a loop condition. Suggestions by Tron.
2 files changed with 9 insertions and 12 deletions:
0 comments (0 inline, 0 general)
src/roadveh_cmd.cpp
Show inline comments
 
@@ -519,7 +519,7 @@ static void ClearCrashedStation(Vehicle 
 
	rs->SetEntranceBusy(false);
 

	
 
	/* Free the parking bay */
 
	rs->FreeBay(HASBIT(v->u.road.state, RVS_USING_SECOND_BAY) ? 1 : 0);
 
	rs->FreeBay(HASBIT(v->u.road.state, RVS_USING_SECOND_BAY));
 
}
 

	
 
static void RoadVehDelete(Vehicle *v)
 
@@ -1437,7 +1437,7 @@ again:
 
				RoadStop *rs = GetRoadStopByTile(v->tile, GetRoadStopType(v->tile));
 

	
 
				/* Vehicle is leaving a road stop tile, mark bay as free and clear the usage bit */
 
				rs->FreeBay(HASBIT(v->u.road.state, RVS_USING_SECOND_BAY) ? 1 : 0);
 
				rs->FreeBay(HASBIT(v->u.road.state, RVS_USING_SECOND_BAY));
 
				rs->SetEntranceBusy(false);
 
			}
 
		}
src/station.cpp
Show inline comments
 
@@ -509,17 +509,14 @@ bool RoadStop::HasFreeBay() const
 
 */
 
uint RoadStop::AllocateBay()
 
{
 
	assert(HasFreeBay());
 

	
 
	/* Find the first free bay. If the bit is set, the bay is free. */
 
	for (uint bay_nr = 0; bay_nr < MAX_BAY_COUNT; bay_nr++) {
 
		if (HASBIT(status, bay_nr)) {
 
			CLRBIT(status, bay_nr);
 
			return bay_nr;
 
		}
 
	}
 
	uint bay_nr = 0;
 
	while (!HASBIT(status, bay_nr)) bay_nr++;
 

	
 
	/* There has to be a free bay (precondition) */
 
	NOT_REACHED();
 
	return 0;
 
	CLRBIT(status, bay_nr);
 
	return bay_nr;
 
}
 

	
 
/**
 
@@ -542,5 +539,5 @@ bool RoadStop::IsEntranceBusy() const
 
/** Makes an entrance occupied or free */
 
void RoadStop::SetEntranceBusy(bool busy)
 
{
 
	SB(status, 7, 1, !!busy);
 
	SB(status, 7, 1, busy);
 
}
0 comments (0 inline, 0 general)