Changeset - r7886:d1aa6534d262
[Not reviewed]
master
0 1 0
rubidium - 17 years ago 2007-11-15 17:54:46
rubidium@openttd.org
(svn r11437) -Change: when sorting stations by cargo sum, only sum the cargos that are selected in the filter. Patch by divide.
1 file changed with 4 insertions and 3 deletions:
0 comments (0 inline, 0 general)
src/station_gui.cpp
Show inline comments
 
@@ -127,6 +127,9 @@ static int CDECL StationTypeSorter(const
 
	return (_internal_sort_order & 1) ? st2->facilities - st1->facilities : st1->facilities - st2->facilities;
 
}
 

	
 
static const uint32 _cargo_filter_max = ~0;
 
static uint32 _cargo_filter = _cargo_filter_max;
 

	
 
static int CDECL StationWaitingSorter(const void *a, const void *b)
 
{
 
	const Station* st1 = *(const Station**)a;
 
@@ -134,6 +137,7 @@ static int CDECL StationWaitingSorter(co
 
	Money sum1 = 0, sum2 = 0;
 

	
 
	for (CargoID j = 0; j < NUM_CARGO; j++) {
 
		if (!HASBIT(_cargo_filter, j)) continue;
 
		if (!st1->goods[j].cargo.Empty()) sum1 += GetTransportedGoodsIncome(st1->goods[j].cargo.Count(), 20, 50, j);
 
		if (!st2->goods[j].cargo.Empty()) sum2 += GetTransportedGoodsIncome(st2->goods[j].cargo.Count(), 20, 50, j);
 
	}
 
@@ -272,9 +276,6 @@ static void SortStationsList(plstations_
 
	sl->flags &= ~SL_RESORT;
 
}
 

	
 
static const uint32 _cargo_filter_max = ~0;
 
static uint32 _cargo_filter = _cargo_filter_max;
 

	
 
static void PlayerStationsWndProc(Window *w, WindowEvent *e)
 
{
 
	const PlayerID owner = (PlayerID)w->window_number;
0 comments (0 inline, 0 general)