File diff r2497:4f8fde59a2e8 → r2498:8dfa040ed505
station_gui.c
Show inline comments
 
@@ -112,7 +112,7 @@ static void GlobalSortStationList(void)
 
	DEBUG(misc, 1) ("Resorting global station list...");
 
}
 

	
 
static void MakeSortedStationList(byte owner)
 
static void MakeSortedStationList(PlayerID owner)
 
{
 
	SortStruct *firstelement;
 
	uint32 n = 0;
 
@@ -137,25 +137,25 @@ static void PlayerStationsWndProc(Window
 
{
 
	switch(e->event) {
 
	case WE_PAINT: {
 
		const PlayerID owner = w->window_number;
 
		uint32 i;
 
		const byte window_number = (byte)w->window_number;
 

	
 
		// resort station window if stations have been added/removed
 
		if (_global_station_sort_dirty)
 
			GlobalSortStationList();
 

	
 
		if (_station_sort_dirty[window_number]) { // resort in case of a station rename.
 
			MakeSortedStationList(window_number);
 
		if (_station_sort_dirty[owner]) { // resort in case of a station rename.
 
			MakeSortedStationList(owner);
 
		}
 

	
 
		// stations are stored as a cummulative index, eg 25, 41, 43. This means
 
		// Player0: 25; Player1: (41-25) 16; Player2: (43-41) 2 stations
 
		i = (window_number == 0) ? 0 : _num_station_sort[window_number-1];
 
		SetVScrollCount(w, _num_station_sort[window_number] - i);
 
		i = (owner == 0) ? 0 : _num_station_sort[owner - 1];
 
		SetVScrollCount(w, _num_station_sort[owner] - i);
 

	
 
		/* draw widgets, with player's name in the caption */
 
		{
 
			Player *p = GetPlayer(window_number);
 
			const Player* p = GetPlayer(owner);
 
			SetDParam(0, p->name_1);
 
			SetDParam(1, p->name_2);
 
			SetDParam(2, w->vscroll.count);
 
@@ -175,12 +175,12 @@ static void PlayerStationsWndProc(Window
 
			}
 

	
 
			i += w->vscroll.pos; // offset from sorted station list of current player
 
			assert(i < _num_station_sort[window_number]); // at least one station must exist
 
			assert(i < _num_station_sort[owner]); // at least one station must exist
 

	
 
			while (i < _num_station_sort[window_number]) { // do until max number of stations of owner
 
			while (i < _num_station_sort[owner]) { // do until max number of stations of owner
 
				st = GetStation(_station_sort[i].index);
 

	
 
				assert(st->xy && st->owner == window_number);
 
				assert(st->xy && st->owner == owner);
 

	
 
				SetDParam(0, st->index);
 
				SetDParam(1, st->facilities);
 
@@ -210,7 +210,7 @@ static void PlayerStationsWndProc(Window
 
			id_v += w->vscroll.pos;
 

	
 
			{
 
				const byte owner = (byte)w->window_number;
 
				const PlayerID owner = w->window_number;
 
				Station *st;
 
				id_v += (owner == 0) ? 0 : _num_station_sort[owner - 1]; // first element in list
 

	
 
@@ -316,11 +316,11 @@ static void DrawStationViewWindow(Window
 
	int x,y;
 
	int pos;
 
	StringID str;
 
	uint16 station_id;
 
	StationID station_id;
 

	
 
	station_id = w->window_number;
 

	
 
	st = GetStation(w->window_number);
 
	st = GetStation(station_id);
 

	
 
	num = 1;
 
	for(i=0; i!=NUM_CARGO; i++) {
 
@@ -533,7 +533,7 @@ static const WindowDesc _station_view_de
 
	StationViewWndProc
 
};
 

	
 
void ShowStationViewWindow(int station)
 
void ShowStationViewWindow(StationID station)
 
{
 
	Window *w;
 
	byte color;