Changeset - r6122:508316e17f8e
[Not reviewed]
master
0 5 0
peter1138 - 17 years ago 2007-02-23 09:56:20
peter1138@openttd.org
(svn r8858) -Codechange: Replace magic number test with class method for determining if a cargo is valid/active.
5 files changed with 15 insertions and 5 deletions:
0 comments (0 inline, 0 general)
src/cargotype.cpp
Show inline comments
 
@@ -67,3 +67,9 @@ CargoID GetCargoIDByBitnum(byte bitnum)
 
	assert(_cargo_bitnum_map[bitnum] != CT_INVALID);
 
	return _cargo_bitnum_map[bitnum];
 
}
 

	
 

	
 
bool CargoSpec::IsValid() const
 
{
 
	return bitnum != INVALID_CARGO;
 
}
src/cargotype.h
Show inline comments
 
@@ -31,6 +31,8 @@ typedef struct CargoSpec {
 
	SpriteID sprite;
 

	
 
	uint16 classes;
 

	
 
	bool IsValid() const;
 
} CargoSpec;
 

	
 

	
src/newgrf_engine.cpp
Show inline comments
 
@@ -820,8 +820,10 @@ static const SpriteGroup *GetVehicleSpri
 
	if (v == NULL) {
 
		cargo = GC_PURCHASE;
 
	} else {
 
		cargo = GetCargo(v->cargo_type)->bitnum;
 
		assert(cargo != GC_INVALID);
 
		const CargoSpec *cs = GetCargo(v->cargo_type);
 
		assert(cs->IsValid());
 

	
 
		cargo = cs->bitnum;
 

	
 
		if (v->type == VEH_Train) {
 
			group = GetWagonOverrideSpriteSet(engine, cargo, v->u.rail.first_engine);
src/newgrf_station.cpp
Show inline comments
 
@@ -515,7 +515,7 @@ static const SpriteGroup *ResolveStation
 
		/* Pick the first cargo that we have waiting */
 
		for (CargoID cargo = 0; cargo < NUM_CARGO; cargo++) {
 
			const CargoSpec *cs = GetCargo(cargo);
 
			if (cs->bitnum != 0xFF && object->u.station.statspec->spritegroup[cs->bitnum] != NULL &&
 
			if (cs->IsValid() && object->u.station.statspec->spritegroup[cs->bitnum] != NULL &&
 
					GB(object->u.station.st->goods[cargo].waiting_acceptance, 0, 12) != 0) {
 
				ctype = cs->bitnum;
 
				break;
src/station_gui.cpp
Show inline comments
 
@@ -59,7 +59,7 @@ static StationSortListingTypeFunction St
 
static void StationsWndShowStationRating(int x, int y, CargoID type, uint amount, byte rating)
 
{
 
	const CargoSpec *cs = GetCargo(type);
 
	if (cs->bitnum == 0xFF) return;
 
	if (!cs->IsValid()) return;
 

	
 
	int colour = cs->rating_colour;
 
	uint w = (minu(amount, 576) + 5) / 36;
 
@@ -328,7 +328,7 @@ static void PlayerStationsWndProc(Window
 
				cg_ofst = IsWindowWidgetLowered(w, i + STATIONLIST_WIDGET_CARGOSTART) ? 2 : 1;
 

	
 
				const CargoSpec *cs = GetCargo(i);
 
				if (cs->bitnum != 0xFF) {
 
				if (cs->IsValid()) {
 
					GfxFillRect(x + cg_ofst, y + cg_ofst, x + cg_ofst + 10 , y + cg_ofst + 7, cs->rating_colour);
 
					DrawStringCentered(x + 6 + cg_ofst, y + cg_ofst, cs->abbrev, 0x10);
 
				}
0 comments (0 inline, 0 general)