Changeset - r7824:e4e35ff9ee2c
[Not reviewed]
master
0 37 0
belugas - 17 years ago 2007-11-04 00:08:57
belugas@openttd.org
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
Patch heavily based on BiBB's work (FS#1383)
37 files changed with 408 insertions and 383 deletions:
0 comments (0 inline, 0 general)
src/aircraft_gui.cpp
Show inline comments
 
@@ -39,13 +39,13 @@ void DrawAircraftDetails(const Vehicle *
 
			SetDParam(0, u->engine_type);
 
			SetDParam(1, u->build_year);
 
			SetDParam(2, u->value);
 
			DrawString(x, y, STR_A011_BUILT_VALUE, 0);
 
			DrawString(x, y, STR_A011_BUILT_VALUE, TC_FROMSTRING);
 

	
 
			SetDParam(0, u->cargo_type);
 
			SetDParam(1, u->cargo_cap);
 
			SetDParam(2, u->Next()->cargo_type);
 
			SetDParam(3, u->Next()->cargo_cap);
 
			DrawString(x, y + 10, (u->Next()->cargo_cap != 0) ? STR_A019_CAPACITY : STR_A01A_CAPACITY, 0);
 
			DrawString(x, y + 10, (u->Next()->cargo_cap != 0) ? STR_A019_CAPACITY : STR_A01A_CAPACITY, TC_FROMSTRING);
 
		}
 

	
 
		if (u->cargo_cap != 0) {
 
@@ -57,13 +57,13 @@ void DrawAircraftDetails(const Vehicle *
 
				SetDParam(0, u->cargo_type);
 
				SetDParam(1, cargo_count);
 
				SetDParam(2, u->cargo.Source());
 
				DrawString(x, y + 21 + y_offset, STR_8813_FROM, 0);
 
				DrawString(x, y + 21 + y_offset, STR_8813_FROM, TC_FROMSTRING);
 
			}
 
		}
 
	}
 

	
 
	SetDParam(0, v->cargo.FeederShare());
 
	DrawString(x, y + 33 + y_offset, STR_FEEDER_CARGO_VALUE, 0);
 
	DrawString(x, y + 33 + y_offset, STR_FEEDER_CARGO_VALUE, TC_FROMSTRING);
 
}
 

	
 

	
src/autoreplace_gui.cpp
Show inline comments
 
@@ -282,7 +282,7 @@ static void ReplaceVehicleWndProc(Window
 
			if (w->window_number == VEH_TRAIN) {
 
				/* Draw the selected railtype in the pulldown menu */
 
				RailType railtype = _railtype_selected_in_replace_gui;
 
				DrawString(157, w->widget[14].top + 1, _rail_types_list[railtype], 0x10);
 
				DrawString(157, w->widget[14].top + 1, _rail_types_list[railtype], TC_BLACK);
 
			}
 

	
 
			/* sets up the string for the vehicle that is being replaced to */
 
@@ -297,7 +297,7 @@ static void ReplaceVehicleWndProc(Window
 
				SetDParam(0, STR_NOT_REPLACING_VEHICLE_SELECTED);
 
			}
 

	
 
			DrawString(145, w->widget[5].top + 1, STR_02BD, 0x10);
 
			DrawString(145, w->widget[5].top + 1, STR_02BD, TC_BLACK);
 

	
 
			/* Draw the lists */
 
			for(byte i = 0; i < 2; i++) {
src/bridge_gui.cpp
Show inline comments
 
@@ -53,7 +53,7 @@ static void BuildBridgeWndProc(Window *w
 
				SetDParam(0, b->material);
 
				DrawSprite(b->sprite, b->pal, 3, 15 + i * 22);
 

	
 
				DrawString(44, 15 + i * 22 , STR_500D, 0);
 
				DrawString(44, 15 + i * 22 , STR_500D, TC_FROMSTRING);
 
			}
 
			break;
 

	
src/build_vehicle_gui.cpp
Show inline comments
 
@@ -437,14 +437,14 @@ static int DrawRailWagonPurchaseInfo(int
 
{
 
	/* Purchase cost */
 
	SetDParam(0, (GetEngineProperty(engine_number, 0x17, rvi->base_cost) * _price.build_railwagon) >> 8);
 
	DrawString(x, y, STR_PURCHASE_INFO_COST, 0);
 
	DrawString(x, y, STR_PURCHASE_INFO_COST, TC_FROMSTRING);
 
	y += 10;
 

	
 
	/* Wagon weight - (including cargo) */
 
	uint weight = GetEngineProperty(engine_number, 0x16, rvi->weight);
 
	SetDParam(0, weight);
 
	SetDParam(1, (GetCargo(rvi->cargo_type)->weight * GetEngineProperty(engine_number, 0x14, rvi->capacity) >> 4) + weight);
 
	DrawString(x, y, STR_PURCHASE_INFO_WEIGHT_CWEIGHT, 0);
 
	DrawString(x, y, STR_PURCHASE_INFO_WEIGHT_CWEIGHT, TC_FROMSTRING);
 
	y += 10;
 

	
 
	/* Wagon speed limit, displayed if above zero */
 
@@ -452,7 +452,7 @@ static int DrawRailWagonPurchaseInfo(int
 
		uint max_speed = GetEngineProperty(engine_number, 0x09, rvi->max_speed);
 
		if (max_speed > 0) {
 
			SetDParam(0, max_speed * 10 / 16);
 
			DrawString(x, y, STR_PURCHASE_INFO_SPEED, 0);
 
			DrawString(x, y, STR_PURCHASE_INFO_SPEED, TC_FROMSTRING);
 
			y += 10;
 
		}
 
	}
 
@@ -468,32 +468,32 @@ static int DrawRailEnginePurchaseInfo(in
 
	/* Purchase Cost - Engine weight */
 
	SetDParam(0, GetEngineProperty(engine_number, 0x17, rvi->base_cost) * (_price.build_railvehicle >> 3) >> 5);
 
	SetDParam(1, weight << multihead);
 
	DrawString(x, y, STR_PURCHASE_INFO_COST_WEIGHT, 0);
 
	DrawString(x, y, STR_PURCHASE_INFO_COST_WEIGHT, TC_FROMSTRING);
 
	y += 10;
 

	
 
	/* Max speed - Engine power */
 
	SetDParam(0, GetEngineProperty(engine_number, 0x09, rvi->max_speed) * 10 / 16);
 
	SetDParam(1, GetEngineProperty(engine_number, 0x0B, rvi->power) << multihead);
 
	DrawString(x, y, STR_PURCHASE_INFO_SPEED_POWER, 0);
 
	DrawString(x, y, STR_PURCHASE_INFO_SPEED_POWER, TC_FROMSTRING);
 
	y += 10;
 

	
 
	/* Max tractive effort - not applicable if old acceleration or maglev */
 
	if (_patches.realistic_acceleration && rvi->railtype != RAILTYPE_MAGLEV) {
 
		SetDParam(0, ((weight << multihead) * 10 * GetEngineProperty(engine_number, 0x1F, rvi->tractive_effort)) / 256);
 
		DrawString(x, y, STR_PURCHASE_INFO_MAX_TE, 0);
 
		DrawString(x, y, STR_PURCHASE_INFO_MAX_TE, TC_FROMSTRING);
 
		y += 10;
 
	}
 

	
 
	/* Running cost */
 
	SetDParam(0, (GetEngineProperty(engine_number, 0x0D, rvi->running_cost_base) * _price.running_rail[rvi->running_cost_class] >> 8) << multihead);
 
	DrawString(x, y, STR_PURCHASE_INFO_RUNNINGCOST, 0);
 
	DrawString(x, y, STR_PURCHASE_INFO_RUNNINGCOST, TC_FROMSTRING);
 
	y += 10;
 

	
 
	/* Powered wagons power - Powered wagons extra weight */
 
	if (rvi->pow_wag_power != 0) {
 
		SetDParam(0, rvi->pow_wag_power);
 
		SetDParam(1, rvi->pow_wag_weight);
 
		DrawString(x, y, STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT, 0);
 
		DrawString(x, y, STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT, TC_FROMSTRING);
 
		y += 10;
 
	};
 

	
 
@@ -508,19 +508,19 @@ static int DrawRoadVehPurchaseInfo(int x
 
	/* Purchase cost - Max speed */
 
	SetDParam(0, GetEngineProperty(engine_number, 0x11, rvi->base_cost) * (_price.roadveh_base >> 3) >> 5);
 
	SetDParam(1, rvi->max_speed * 10 / 32);
 
	DrawString(x, y, STR_PURCHASE_INFO_COST_SPEED, 0);
 
	DrawString(x, y, STR_PURCHASE_INFO_COST_SPEED, TC_FROMSTRING);
 
	y += 10;
 

	
 
	/* Running cost */
 
	SetDParam(0, rvi->running_cost * _price.roadveh_running >> 8);
 
	DrawString(x, y, STR_PURCHASE_INFO_RUNNINGCOST, 0);
 
	DrawString(x, y, STR_PURCHASE_INFO_RUNNINGCOST, TC_FROMSTRING);
 
	y += 10;
 

	
 
	/* Cargo type + capacity */
 
	SetDParam(0, rvi->cargo_type);
 
	SetDParam(1, GetEngineProperty(engine_number, 0x0F, rvi->capacity));
 
	SetDParam(2, refittable ? STR_9842_REFITTABLE : STR_EMPTY);
 
	DrawString(x, y, STR_PURCHASE_INFO_CAPACITY, 0);
 
	DrawString(x, y, STR_PURCHASE_INFO_CAPACITY, TC_FROMSTRING);
 
	y += 10;
 

	
 
	return y;
 
@@ -532,19 +532,19 @@ static int DrawShipPurchaseInfo(int x, i
 
	/* Purchase cost - Max speed */
 
	SetDParam(0, GetEngineProperty(engine_number, 0x0A, svi->base_cost) * (_price.ship_base >> 3) >> 5);
 
	SetDParam(1, GetEngineProperty(engine_number, 0x0B, svi->max_speed) * 10 / 32);
 
	DrawString(x, y, STR_PURCHASE_INFO_COST_SPEED, 0);
 
	DrawString(x, y, STR_PURCHASE_INFO_COST_SPEED, TC_FROMSTRING);
 
	y += 10;
 

	
 
	/* Cargo type + capacity */
 
	SetDParam(0, svi->cargo_type);
 
	SetDParam(1, GetEngineProperty(engine_number, 0x0D, svi->capacity));
 
	SetDParam(2, svi->refittable ? STR_9842_REFITTABLE : STR_EMPTY);
 
	DrawString(x, y, STR_PURCHASE_INFO_CAPACITY, 0);
 
	DrawString(x, y, STR_PURCHASE_INFO_CAPACITY, TC_FROMSTRING);
 
	y += 10;
 

	
 
	/* Running cost */
 
	SetDParam(0, GetEngineProperty(engine_number, 0x0F, svi->running_cost) * _price.ship_running >> 8);
 
	DrawString(x, y, STR_PURCHASE_INFO_RUNNINGCOST, 0);
 
	DrawString(x, y, STR_PURCHASE_INFO_RUNNINGCOST, TC_FROMSTRING);
 
	y += 10;
 

	
 
	return y;
 
@@ -558,7 +558,7 @@ static int DrawAircraftPurchaseInfo(int 
 
	/* Purchase cost - Max speed */
 
	SetDParam(0, GetEngineProperty(engine_number, 0x0B, avi->base_cost) * (_price.aircraft_base >> 3) >> 5);
 
	SetDParam(1, avi->max_speed * 10 / 16);
 
	DrawString(x, y, STR_PURCHASE_INFO_COST_SPEED, 0);
 
	DrawString(x, y, STR_PURCHASE_INFO_COST_SPEED, TC_FROMSTRING);
 
	y += 10;
 

	
 
	/* Cargo capacity */
 
@@ -566,20 +566,20 @@ static int DrawAircraftPurchaseInfo(int 
 
	if (cargo == CT_INVALID || cargo == CT_PASSENGERS) {
 
		SetDParam(0, avi->passenger_capacity);
 
		SetDParam(1, avi->mail_capacity);
 
		DrawString(x, y, STR_PURCHASE_INFO_AIRCRAFT_CAPACITY, 0);
 
		DrawString(x, y, STR_PURCHASE_INFO_AIRCRAFT_CAPACITY, TC_FROMSTRING);
 
	} else {
 
		/* Note, if the default capacity is selected by the refit capacity
 
		* callback, then the capacity shown is likely to be incorrect. */
 
		SetDParam(0, cargo);
 
		SetDParam(1, AircraftDefaultCargoCapacity(cargo, avi));
 
		SetDParam(2, STR_9842_REFITTABLE);
 
		DrawString(x, y, STR_PURCHASE_INFO_CAPACITY, 0);
 
		DrawString(x, y, STR_PURCHASE_INFO_CAPACITY, TC_FROMSTRING);
 
	}
 
	y += 10;
 

	
 
	/* Running cost */
 
	SetDParam(0, GetEngineProperty(engine_number, 0x0E, avi->running_cost) * _price.aircraft_running >> 8);
 
	DrawString(x, y, STR_PURCHASE_INFO_RUNNINGCOST, 0);
 
	DrawString(x, y, STR_PURCHASE_INFO_RUNNINGCOST, TC_FROMSTRING);
 
	y += 10;
 

	
 
	return y;
 
@@ -624,7 +624,7 @@ int DrawVehiclePurchaseInfo(int x, int y
 
				SetDParam(1, (capacity * (CountArticulatedParts(engine_number, true) + 1)) << multihead);
 
				SetDParam(2, refitable ? STR_9842_REFITTABLE : STR_EMPTY);
 
			}
 
			DrawString(x, y, STR_PURCHASE_INFO_CAPACITY, 0);
 
			DrawString(x, y, STR_PURCHASE_INFO_CAPACITY, TC_FROMSTRING);
 
			y += 10;
 
		}
 
			break;
 
@@ -648,12 +648,12 @@ int DrawVehiclePurchaseInfo(int x, int y
 
		/* Design date - Life length */
 
		SetDParam(0, ymd.year);
 
		SetDParam(1, e->lifelength);
 
		DrawString(x, y, STR_PURCHASE_INFO_DESIGNED_LIFE, 0);
 
		DrawString(x, y, STR_PURCHASE_INFO_DESIGNED_LIFE, TC_FROMSTRING);
 
		y += 10;
 

	
 
		/* Reliability */
 
		SetDParam(0, e->reliability * 100 >> 16);
 
		DrawString(x, y, STR_PURCHASE_INFO_RELIABILITY, 0);
 
		DrawString(x, y, STR_PURCHASE_INFO_RELIABILITY, TC_FROMSTRING);
 
		y += 10;
 
	}
 

	
 
@@ -857,11 +857,11 @@ void DrawEngineList(VehicleType type, in
 
		const uint num_engines = GetGroupNumEngines(_local_player, selected_group, engine);
 

	
 
		SetDParam(0, engine);
 
		DrawString(x + x_offset, y, STR_ENGINE_NAME, engine == selected_id ? 0xC : 0x10);
 
		DrawString(x + x_offset, y, STR_ENGINE_NAME, engine == selected_id ? TC_WHITE : TC_BLACK);
 
		DrawVehicleEngine(type, x, y + y_offset, engine, (show_count && num_engines == 0) ? PALETTE_CRASH : GetEnginePalette(engine, _local_player));
 
		if (show_count) {
 
			SetDParam(0, num_engines);
 
			DrawStringRightAligned(213, y + (GetVehicleListHeight(type) == 14 ? 3 : 8), STR_TINY_BLACK, 0);
 
			DrawStringRightAligned(213, y + (GetVehicleListHeight(type) == 14 ? 3 : 8), STR_TINY_BLACK, TC_FROMSTRING);
 
		}
 
	}
 
}
 
@@ -903,8 +903,8 @@ static void DrawBuildVehicleWindow(Windo
 
		if (text_end > wi->bottom) ExpandPurchaseInfoWidget(w, text_end - wi->bottom);
 
	}
 

	
 
	DrawString(85, 15, _sort_listing[bv->vehicle_type][bv->sort_criteria], 0x10);
 
	DoDrawString(bv->descending_sort_order ? DOWNARROW : UPARROW, 69, 15, 0x10);
 
	DrawString(85, 15, _sort_listing[bv->vehicle_type][bv->sort_criteria], TC_BLACK);
 
	DoDrawString(bv->descending_sort_order ? DOWNARROW : UPARROW, 69, 15, TC_BLACK);
 
}
 

	
 
static void BuildVehicleClickEvent(Window *w, WindowEvent *e)
src/console.cpp
Show inline comments
 
@@ -88,7 +88,7 @@ static void IConsoleWndProc(Window *w, W
 
			DoDrawString(_iconsole_cmdline.buf, 10 + delta, w->height - ICON_LINE_HEIGHT, _icolour_cmd);
 

	
 
			if (_iconsole_cmdline.caret)
 
				DoDrawString("_", 10 + delta + _iconsole_cmdline.caretxoffs, w->height - ICON_LINE_HEIGHT, 12);
 
				DoDrawString("_", 10 + delta + _iconsole_cmdline.caretxoffs, w->height - ICON_LINE_HEIGHT, TC_WHITE);
 
			break;
 
		}
 
		case WE_MOUSELOOP:
 
@@ -215,7 +215,7 @@ void IConsoleInit()
 
	_icolour_err  =  3;
 
	_icolour_warn = 13;
 
	_icolour_dbg  =  5;
 
	_icolour_cmd  =  2;
 
	_icolour_cmd  = TC_GOLD;
 
	_iconsole_historypos = ICON_HISTORY_SIZE - 1;
 
	_iconsole_mode = ICONSOLE_CLOSED;
 

	
src/depot_gui.cpp
Show inline comments
 
@@ -175,7 +175,7 @@ static void DrawVehicleInDepot(Window *w
 

	
 
			/* Number of wagons relative to a standard length wagon (rounded up) */
 
			SetDParam(0, (v->u.rail.cached_total_length + 7) / 8);
 
			DrawStringRightAligned(w->widget[DEPOT_WIDGET_MATRIX].right - 1, y + 4, STR_TINY_BLACK, 0); // Draw the counter
 
			DrawStringRightAligned(w->widget[DEPOT_WIDGET_MATRIX].right - 1, y + 4, STR_TINY_BLACK, TC_FROMSTRING); // Draw the counter
 
			break;
 

	
 
		case VEH_ROAD:     DrawRoadVehImage( v, x + 24, sprite_y, 1, WP(w, depot_d).sel); break;
 
@@ -200,7 +200,7 @@ static void DrawVehicleInDepot(Window *w
 
	DrawSprite((v->vehstatus & VS_STOPPED) ? SPR_FLAG_VEH_STOPPED : SPR_FLAG_VEH_RUNNING, PAL_NONE, x + diff_x, y + diff_y);
 

	
 
	SetDParam(0, v->unitnumber);
 
	DrawString(x, y + 2, (uint16)(v->max_age-366) >= v->age ? STR_00E2 : STR_00E3, 0);
 
	DrawString(x, y + 2, (uint16)(v->max_age-366) >= v->age ? STR_00E2 : STR_00E3, TC_FROMSTRING);
 
}
 

	
 
static void DrawDepotWindow(Window *w)
 
@@ -274,14 +274,14 @@ static void DrawDepotWindow(Window *w)
 
		const Vehicle *u;
 

	
 
		DrawTrainImage(v, x + 50, y, w->hscroll.cap - 29, 0, WP(w,depot_d).sel);
 
		DrawString(x, y + 2, STR_8816, 0);
 
		DrawString(x, y + 2, STR_8816, TC_FROMSTRING);
 

	
 
		/*Draw the train counter */
 
		i = 0;
 
		u = v;
 
		do i++; while ((u = u->Next()) != NULL); // Determine length of train
 
		SetDParam(0, i);                      // Set the counter
 
		DrawStringRightAligned(w->widget[DEPOT_WIDGET_MATRIX].right - 1, y + 4, STR_TINY_BLACK, 0); // Draw the counter
 
		DrawStringRightAligned(w->widget[DEPOT_WIDGET_MATRIX].right - 1, y + 4, STR_TINY_BLACK, TC_FROMSTRING); // Draw the counter
 
	}
 
}
 

	
src/economy.cpp
Show inline comments
 
@@ -514,7 +514,7 @@ void DrawNewsBankrupcy(Window *w)
 

	
 
	switch (ni->string_id & 0xF0) {
 
	case NB_BTROUBLE:
 
		DrawStringCentered(w->width >> 1, 1, STR_7056_TRANSPORT_COMPANY_IN_TROUBLE, 0);
 
		DrawStringCentered(w->width >> 1, 1, STR_7056_TRANSPORT_COMPANY_IN_TROUBLE, TC_FROMSTRING);
 

	
 
		SetDParam(0, p->index);
 

	
 
@@ -526,7 +526,7 @@ void DrawNewsBankrupcy(Window *w)
 
		break;
 

	
 
	case NB_BMERGER:
 
		DrawStringCentered(w->width >> 1, 1, STR_7059_TRANSPORT_COMPANY_MERGER, 0);
 
		DrawStringCentered(w->width >> 1, 1, STR_7059_TRANSPORT_COMPANY_MERGER, TC_FROMSTRING);
 
		SetDParam(0, ni->params[0]);
 
		SetDParam(1, p->index);
 
		SetDParam(2, ni->params[1]);
 
@@ -538,7 +538,7 @@ void DrawNewsBankrupcy(Window *w)
 
		break;
 

	
 
	case NB_BBANKRUPT:
 
		DrawStringCentered(w->width >> 1, 1, STR_705C_BANKRUPT, 0);
 
		DrawStringCentered(w->width >> 1, 1, STR_705C_BANKRUPT, TC_FROMSTRING);
 
		SetDParam(0, ni->params[0]);
 
		DrawStringMultiCenter(
 
			((w->width - 101) >> 1) + 98,
 
@@ -548,7 +548,7 @@ void DrawNewsBankrupcy(Window *w)
 
		break;
 

	
 
	case NB_BNEWCOMPANY:
 
		DrawStringCentered(w->width >> 1, 1, STR_705E_NEW_TRANSPORT_COMPANY_LAUNCHED, 0);
 
		DrawStringCentered(w->width >> 1, 1, STR_705E_NEW_TRANSPORT_COMPANY_LAUNCHED, TC_FROMSTRING);
 
		SetDParam(0, p->index);
 
		SetDParam(1, ni->params[0]);
 
		DrawStringMultiCenter(
src/engine_gui.cpp
Show inline comments
 
@@ -80,7 +80,7 @@ static void EnginePreviewWndProc(Window 
 
		DrawStringMultiCenter(150, 44, STR_8101_WE_HAVE_JUST_DESIGNED_A, 296);
 

	
 
		SetDParam(0, engine);
 
		DrawStringCentered(w->width >> 1, 80, STR_ENGINE_NAME, 0x10);
 
		DrawStringCentered(w->width >> 1, 80, STR_ENGINE_NAME, TC_BLACK);
 

	
 
		dei = &_draw_engine_list[GetEngine(engine)->type];
 

	
src/genworld_gui.cpp
Show inline comments
 
@@ -265,47 +265,47 @@ static void GenerateLandscapeWndProc(Win
 

	
 
		y = (mode == GLWP_HEIGHTMAP) ? 22 : 0;
 

	
 
		DrawString( 12,  91 + y, STR_MAPSIZE, 0);
 
		DrawString(119,  91 + y, mapsizes[_patches_newgame.map_x - 6], 0x10);
 
		DrawString(168,  91 + y, STR_BY, 0);
 
		DrawString(182,  91 + y, mapsizes[_patches_newgame.map_y - 6], 0x10);
 
		DrawString( 12,  91 + y, STR_MAPSIZE, TC_FROMSTRING);
 
		DrawString(119,  91 + y, mapsizes[_patches_newgame.map_x - 6], TC_BLACK);
 
		DrawString(168,  91 + y, STR_BY, TC_FROMSTRING);
 
		DrawString(182,  91 + y, mapsizes[_patches_newgame.map_y - 6], TC_BLACK);
 

	
 
		DrawString( 12, 113 + y, STR_NUMBER_OF_TOWNS, 0);
 
		DrawString( 12, 131 + y, STR_NUMBER_OF_INDUSTRIES, 0);
 
		DrawString( 12, 113 + y, STR_NUMBER_OF_TOWNS, TC_FROMSTRING);
 
		DrawString( 12, 131 + y, STR_NUMBER_OF_INDUSTRIES, TC_FROMSTRING);
 
		if (_game_mode == GM_EDITOR) {
 
			DrawString(118, 113 + y, STR_6836_OFF, 0x10);
 
			DrawString(118, 131 + y, STR_6836_OFF, 0x10);
 
			DrawString(118, 113 + y, STR_6836_OFF, TC_BLACK);
 
			DrawString(118, 131 + y, STR_6836_OFF, TC_BLACK);
 
		} else {
 
			DrawString(118, 113 + y, num_towns[_opt_newgame.diff.number_towns], 0x10);
 
			DrawString(118, 131 + y, num_inds[_opt_newgame.diff.number_industries], 0x10);
 
			DrawString(118, 113 + y, num_towns[_opt_newgame.diff.number_towns], TC_BLACK);
 
			DrawString(118, 131 + y, num_inds[_opt_newgame.diff.number_industries], TC_BLACK);
 
		}
 

	
 
		DrawString( 12, 153 + y, STR_RANDOM_SEED, 0);
 
		DrawString( 12, 153 + y, STR_RANDOM_SEED, TC_FROMSTRING);
 
		DrawEditBox(w, &_genseed_query, GLAND_RANDOM_EDITBOX);
 

	
 
		DrawString(182, 113 + y, STR_DATE, 0);
 
		DrawString(182, 113 + y, STR_DATE, TC_FROMSTRING);
 
		SetDParam(0, ConvertYMDToDate(_patches_newgame.starting_year, 0, 1));
 
		DrawStringCentered(271, 113 + y, STR_GENERATE_DATE, 0);
 
		DrawStringCentered(271, 113 + y, STR_GENERATE_DATE, TC_FROMSTRING);
 

	
 
		DrawString(182, 131 + y, STR_SNOW_LINE_HEIGHT, 0);
 
		DrawString(182, 131 + y, STR_SNOW_LINE_HEIGHT, TC_FROMSTRING);
 
		SetDParam(0, _patches_newgame.snow_line_height);
 
		DrawStringCentered(303, 131 + y, STR_SNOW_LINE_HEIGHT_NUM, 0x10);
 
		DrawStringCentered(303, 131 + y, STR_SNOW_LINE_HEIGHT_NUM, TC_BLACK);
 

	
 
		if (mode == GLWP_GENERATE) {
 
			DrawString( 12, 175, STR_LAND_GENERATOR, 0);
 
			DrawString(118, 175, landscape[_patches_newgame.land_generator], 0x10);
 
			DrawString( 12, 175, STR_LAND_GENERATOR, TC_FROMSTRING);
 
			DrawString(118, 175, landscape[_patches_newgame.land_generator], TC_BLACK);
 

	
 
			DrawString( 12, 193, STR_TREE_PLACER, 0);
 
			DrawString(118, 193, tree_placer[_patches_newgame.tree_placer], 0x10);
 
			DrawString( 12, 193, STR_TREE_PLACER, TC_FROMSTRING);
 
			DrawString(118, 193, tree_placer[_patches_newgame.tree_placer], TC_BLACK);
 

	
 
			DrawString( 12, 211, STR_TERRAIN_TYPE, 0);
 
			DrawString(118, 211, elevations[_opt_newgame.diff.terrain_type], 0x10);
 
			DrawString( 12, 211, STR_TERRAIN_TYPE, TC_FROMSTRING);
 
			DrawString(118, 211, elevations[_opt_newgame.diff.terrain_type], TC_BLACK);
 

	
 
			DrawString( 12, 229, STR_QUANTITY_OF_SEA_LAKES, 0);
 
			DrawString(118, 229, sea_lakes[_opt_newgame.diff.quantity_sea_lakes], 0x10);
 
			DrawString( 12, 229, STR_QUANTITY_OF_SEA_LAKES, TC_FROMSTRING);
 
			DrawString(118, 229, sea_lakes[_opt_newgame.diff.quantity_sea_lakes], TC_BLACK);
 

	
 
			DrawString( 12, 247, STR_SMOOTHNESS, 0);
 
			DrawString(118, 247, smoothness[_patches_newgame.tgen_smoothness], 0x10);
 
			DrawString( 12, 247, STR_SMOOTHNESS, TC_FROMSTRING);
 
			DrawString(118, 247, smoothness[_patches_newgame.tgen_smoothness], TC_BLACK);
 
		} else {
 
			char buffer[512];
 

	
 
@@ -317,17 +317,17 @@ static void GenerateLandscapeWndProc(Win
 
				SetDParam(1, WP(w, generate_d).y);
 
			}
 
			GetString(buffer, STR_HEIGHTMAP_SIZE, lastof(buffer));
 
			DrawStringRightAligned(326, 91, STR_HEIGHTMAP_SIZE, 0x10);
 
			DrawStringRightAligned(326, 91, STR_HEIGHTMAP_SIZE, TC_BLACK);
 

	
 
			DrawString( 12,  91, STR_HEIGHTMAP_NAME, 0x10);
 
			DrawString( 12,  91, STR_HEIGHTMAP_NAME, TC_BLACK);
 
			SetDParamStr(0, WP(w, generate_d).name);
 
			DrawStringTruncated(114,  91, STR_ORANGE, 0x10, 326 - 114 - GetStringBoundingBox(buffer).width - 5);
 
			DrawStringTruncated(114,  91, STR_ORANGE, TC_BLACK, 326 - 114 - GetStringBoundingBox(buffer).width - 5);
 

	
 
			DrawString( 12, 197, STR_TREE_PLACER, 0);
 
			DrawString(118, 197, tree_placer[_patches_newgame.tree_placer], 0x10);
 
			DrawString( 12, 197, STR_TREE_PLACER, TC_FROMSTRING);
 
			DrawString(118, 197, tree_placer[_patches_newgame.tree_placer], TC_BLACK);
 

	
 
			DrawString( 12, 215, STR_HEIGHTMAP_ROTATION, 0);
 
			DrawString(118, 215, rotation[_patches_newgame.heightmap_rotation], 0x10);
 
			DrawString( 12, 215, STR_HEIGHTMAP_ROTATION, TC_FROMSTRING);
 
			DrawString(118, 215, rotation[_patches_newgame.heightmap_rotation], TC_BLACK);
 
		}
 

	
 
		break;
 
@@ -619,18 +619,18 @@ static void CreateScenarioWndProc(Window
 
		SetWindowWidgetLoweredState(w, CSCEN_TOYLAND,   _opt_newgame.landscape == LT_TOYLAND);
 
		DrawWindowWidgets(w);
 

	
 
		DrawStringRightAligned(211, 97, STR_MAPSIZE, 0);
 
		DrawString(            221, 97, mapsizes[_patches_newgame.map_x - 6], 0x10);
 
		DrawStringCentered(    272, 97, STR_BY, 0);
 
		DrawString(            284, 97, mapsizes[_patches_newgame.map_y - 6], 0x10);
 
		DrawStringRightAligned(211, 97, STR_MAPSIZE, TC_FROMSTRING);
 
		DrawString(            221, 97, mapsizes[_patches_newgame.map_x - 6], TC_BLACK);
 
		DrawStringCentered(    272, 97, STR_BY, TC_FROMSTRING);
 
		DrawString(            284, 97, mapsizes[_patches_newgame.map_y - 6], TC_BLACK);
 

	
 
		DrawStringRightAligned(211, 115, STR_DATE, 0);
 
		DrawStringRightAligned(211, 115, STR_DATE, TC_FROMSTRING);
 
		SetDParam(0, ConvertYMDToDate(_patches_newgame.starting_year, 0, 1));
 
		DrawStringCentered(271, 115, STR_GENERATE_DATE, 0);
 
		DrawStringCentered(271, 115, STR_GENERATE_DATE, TC_FROMSTRING);
 

	
 
		DrawStringRightAligned(278, 133, STR_FLAT_WORLD_HEIGHT, 0);
 
		DrawStringRightAligned(278, 133, STR_FLAT_WORLD_HEIGHT, TC_FROMSTRING);
 
		SetDParam(0, _patches_newgame.se_flat_world_height);
 
		DrawStringCentered(303, 133, STR_FLAT_WORLD_HEIGHT_NUM, 0x10);
 
		DrawStringCentered(303, 133, STR_FLAT_WORLD_HEIGHT_NUM, TC_BLACK);
 

	
 
		break;
 
	case WE_CLICK:
 
@@ -807,15 +807,15 @@ static void ShowTerrainProgressProc(Wind
 
		DrawFrameRect(19, 20, (w->width - 18), 37, 14, FR_BORDERONLY);
 
		DrawFrameRect(20, 21, (int)((w->width - 40) * _tp.percent / 100) + 20, 36, 10, FR_NONE);
 
		SetDParam(0, _tp.percent);
 
		DrawStringCentered(90, 25, STR_PROGRESS, 0);
 
		DrawStringCentered(90, 25, STR_PROGRESS, TC_FROMSTRING);
 

	
 
		/* Tell which class we are generating */
 
		DrawStringCentered(90, 46, _tp.cls, 0);
 
		DrawStringCentered(90, 46, _tp.cls, TC_FROMSTRING);
 

	
 
		/* And say where we are in that class */
 
		SetDParam(0, _tp.current);
 
		SetDParam(1, _tp.total);
 
		DrawStringCentered(90, 58, STR_GENERATION_PROGRESS, 0);
 
		DrawStringCentered(90, 58, STR_GENERATION_PROGRESS, TC_FROMSTRING);
 

	
 
		SetWindowDirty(w);
 
		break;
src/gfx.cpp
Show inline comments
 
@@ -562,7 +562,7 @@ BoundingRect GetStringBoundingBox(const 
 
 * @param x offset from left side of the screen, if negative offset from the right side
 
 * @param y offset from top side of the screen, if negative offset from the bottom
 
 * @param real_color colour of the string, see _string_colormap in
 
 * table/palettes.h or docs/ottd-colourtext-palette.png
 
 * table/palettes.h or docs/ottd-colourtext-palette.png or the enum TextColour in gfx.h
 
 * @return the x-coordinates where the drawing has finished. If nothing is drawn
 
 * the originally passed x-coordinate is returned */
 
int DoDrawString(const char *string, int x, int y, uint16 real_color)
src/gfx.h
Show inline comments
 
@@ -361,6 +361,28 @@ enum {
 
	COLOUR_WHITE
 
};
 

	
 
/** Colour of the strings, see _string_colormap in table/palettes.h or docs/ottd-colourtext-palette.png */
 
enum TextColour {
 
	TC_FROMSTRING  = 0x00,
 
	TC_BLUE        = 0x00,
 
	TC_SILVER      = 0x01,
 
	TC_GOLD        = 0x02,
 
	TC_RED         = 0x03,
 
	TC_PURPLE      = 0x04,
 
	TC_LIGHT_BROWN = 0x05,
 
	TC_ORANGE      = 0x06,
 
	TC_GREEN       = 0x07,
 
	TC_YELLOW      = 0x08,
 
	TC_DARK_GREEN  = 0x09,
 
	TC_CREAM       = 0x0A,
 
	TC_BROWN       = 0x0B,
 
	TC_WHITE       = 0x0C,
 
	TC_LIGHT_BLUE  = 0x0D,
 
	TC_GREY        = 0x0E,
 
	TC_DARK_BLUE   = 0x0F,
 
	TC_BLACK       = 0x10,
 
};
 

	
 
/**
 
 * All 16 colour gradients
 
 * 8 colours per gradient from darkest (0) to lightest (7)
src/graph_gui.cpp
Show inline comments
 
@@ -28,7 +28,7 @@ static uint _legend_excluded_cargo;
 

	
 
enum {
 
	GRAPH_MAX_DATASETS = 32,
 
	GRAPH_AXIS_LABEL_COLOUR = 16,
 
	GRAPH_AXIS_LABEL_COLOUR = TC_BLACK,
 
	GRAPH_AXIS_LINE_COLOUR  = 215,
 

	
 
	GRAPH_X_POSITION_BEGINNING  = 44,  ///< Start the graph 44 pixels from gw->left
 
@@ -273,7 +273,7 @@ static void GraphLegendWndProc(Window *w
 

	
 
				SetDParam(0, p->index);
 
				SetDParam(1, p->index);
 
				DrawString(21, 17 + p->index * 12, STR_7021, HASBIT(_legend_excluded_players, p->index) ? 0x10 : 0xC);
 
				DrawString(21, 17 + p->index * 12, STR_7021, HASBIT(_legend_excluded_players, p->index) ? TC_BLACK : TC_WHITE);
 
			}
 
			break;
 
		}
 
@@ -738,7 +738,7 @@ static void CargoPaymentRatesWndProc(Win
 
					GfxFillRect(x + clk_dif, y + clk_dif, x + 8 + clk_dif, y + 5 + clk_dif, 0);
 
					GfxFillRect(x + 1 + clk_dif, y + 1 + clk_dif, x + 7 + clk_dif, y + 4 + clk_dif, cs->legend_colour);
 
					SetDParam(0, cs->name);
 
					DrawString(x + 14 + clk_dif, y + clk_dif, STR_7065, 0);
 
					DrawString(x + 14 + clk_dif, y + clk_dif, STR_7065, TC_FROMSTRING);
 
					y += 8;
 
				}
 

	
 
@@ -753,8 +753,8 @@ static void CargoPaymentRatesWndProc(Win
 

	
 
			DrawGraph(&gd);
 

	
 
			DrawString(2 + 46, 24 + gd.height + 7, STR_7062_DAYS_IN_TRANSIT, 0);
 
			DrawString(2 + 84, 24 - 9, STR_7063_PAYMENT_FOR_DELIVERING, 0);
 
			DrawString(2 + 46, 24 + gd.height + 7, STR_7062_DAYS_IN_TRANSIT, TC_FROMSTRING);
 
			DrawString(2 + 84, 24 - 9, STR_7063_PAYMENT_FOR_DELIVERING, TC_FROMSTRING);
 
			break;
 
		}
 

	
 
@@ -879,7 +879,7 @@ static void CompanyLeagueWndProc(Window 
 
				SetDParam(2, p->index);
 
				SetDParam(3, GetPerformanceTitleFromValue(p->old_economy[1].performance_history));
 

	
 
				DrawString(2, 15 + i * 10, i == 0 ? STR_7054 : STR_7055, 0);
 
				DrawString(2, 15 + i * 10, i == 0 ? STR_7054 : STR_7055, TC_FROMSTRING);
 
				DrawPlayerIcon(p->index, 27, 16 + i * 10);
 
			}
 

	
 
@@ -999,11 +999,11 @@ static void PerformanceRatingDetailWndPr
 
					total_score += score;
 
				}
 

	
 
				DrawString(7, y, STR_PERFORMANCE_DETAIL_VEHICLES + i, 0);
 
				DrawString(7, y, STR_PERFORMANCE_DETAIL_VEHICLES + i, TC_FROMSTRING);
 

	
 
				/* Draw the score */
 
				SetDParam(0, score);
 
				DrawStringRightAligned(107, y, SET_PERFORMANCE_DETAIL_INT, 0);
 
				DrawStringRightAligned(107, y, SET_PERFORMANCE_DETAIL_INT, TC_FROMSTRING);
 

	
 
				/* Calculate the %-bar */
 
				x = clamp(val, 0, needed) * 50 / needed;
 
@@ -1023,7 +1023,7 @@ static void PerformanceRatingDetailWndPr
 

	
 
				/* Draw it */
 
				SetDParam(0, x);
 
				DrawStringCentered(137, y, STR_PERFORMANCE_DETAIL_PERCENT, 0);
 
				DrawStringCentered(137, y, STR_PERFORMANCE_DETAIL_PERCENT, TC_FROMSTRING);
 

	
 
				/* SCORE_LOAN is inversed */
 
				if (i == SCORE_LOAN) val = needed - val;
 
@@ -1038,10 +1038,10 @@ static void PerformanceRatingDetailWndPr
 
					case SCORE_MAX_INCOME:
 
					case SCORE_MONEY:
 
					case SCORE_LOAN:
 
						DrawString(167, y, STR_PERFORMANCE_DETAIL_AMOUNT_CURRENCY, 0);
 
						DrawString(167, y, STR_PERFORMANCE_DETAIL_AMOUNT_CURRENCY, TC_FROMSTRING);
 
						break;
 
					default:
 
						DrawString(167, y, STR_PERFORMANCE_DETAIL_AMOUNT_INT, 0);
 
						DrawString(167, y, STR_PERFORMANCE_DETAIL_AMOUNT_INT, TC_FROMSTRING);
 
				}
 
			}
 

	
src/group_gui.cpp
Show inline comments
 
@@ -433,11 +433,11 @@ static void GroupWndProc(Window *w, Wind
 
					break;
 
				default: NOT_REACHED(); break;
 
			}
 
			DrawString(10, y1, str_all_veh, IsAllGroupID(gv->group_sel) ? 12 : 16);
 
			DrawString(10, y1, str_all_veh, IsAllGroupID(gv->group_sel) ? TC_WHITE : TC_BLACK);
 

	
 
			y1 += 13;
 

	
 
			DrawString(10, y1, str_no_group_veh, IsDefaultGroupID(gv->group_sel) ? 12 : 16);
 
			DrawString(10, y1, str_no_group_veh, IsDefaultGroupID(gv->group_sel) ? TC_WHITE : TC_BLACK);
 

	
 
			max = min(w->vscroll.pos + w->vscroll.cap, gl->l.list_length);
 
			for (i = w->vscroll.pos ; i < max ; ++i) {
 
@@ -449,16 +449,16 @@ static void GroupWndProc(Window *w, Wind
 

	
 
				/* draw the selected group in white, else we draw it in black */
 
				SetDParam(0, g->index);
 
				DrawString(10, y1, STR_GROUP_NAME, (gv->group_sel == g->index) ? 12 : 16);
 
				DrawString(10, y1, STR_GROUP_NAME, (gv->group_sel == g->index) ? TC_WHITE : TC_BLACK);
 

	
 
				/* draw the number of vehicles of the group */
 
				SetDParam(0, g->num_vehicle);
 
				DrawStringRightAligned(187, y1 + 1, STR_GROUP_TINY_NUM, (gv->group_sel == g->index) ? 12 : 16);
 
				DrawStringRightAligned(187, y1 + 1, STR_GROUP_TINY_NUM, (gv->group_sel == g->index) ? TC_WHITE : TC_BLACK);
 
			}
 

	
 
			/* Draw Matrix Vehicle according to the vehicle list built before */
 
			DrawString(285, 15, _vehicle_sort_listing[gv->l.sort_type], 0x10);
 
			DoDrawString(gv->l.flags & VL_DESC ? DOWNARROW : UPARROW, 269, 15, 0x10);
 
			DrawString(285, 15, _vehicle_sort_listing[gv->l.sort_type], TC_BLACK);
 
			DoDrawString(gv->l.flags & VL_DESC ? DOWNARROW : UPARROW, 269, 15, TC_BLACK);
 

	
 
			max = min(w->vscroll2.pos + w->vscroll2.cap, gv->l.list_length);
 
			for (i = w->vscroll2.pos ; i < max ; ++i) {
 
@@ -470,17 +470,17 @@ static void GroupWndProc(Window *w, Wind
 
				DrawVehicleProfitButton(v, x, y2 + 13);
 

	
 
				SetDParam(0, v->unitnumber);
 
				DrawString(x, y2 + 2, v->IsInDepot() ? STR_021F : (v->age > v->max_age - 366 ? STR_00E3 : STR_00E2), 0);
 
				DrawString(x, y2 + 2, v->IsInDepot() ? STR_021F : (v->age > v->max_age - 366 ? STR_00E3 : STR_00E2), TC_FROMSTRING);
 

	
 
				if (w->resize.step_height == PLY_WND_PRC__SIZE_OF_ROW_BIG2) DrawSmallOrderList(v, x + 138, y2);
 

	
 
				SetDParam(0, v->profit_this_year);
 
				SetDParam(1, v->profit_last_year);
 
				DrawString(x + 19, y2 + w->resize.step_height - 8, STR_0198_PROFIT_THIS_YEAR_LAST_YEAR, 0);
 
				DrawString(x + 19, y2 + w->resize.step_height - 8, STR_0198_PROFIT_THIS_YEAR_LAST_YEAR, TC_FROMSTRING);
 

	
 
				if (IsValidGroupID(v->group_id)) {
 
					SetDParam(0, v->group_id);
 
					DrawString(x + 19, y2, STR_GROUP_TINY_NAME, 16);
 
					DrawString(x + 19, y2, STR_GROUP_TINY_NAME, TC_BLACK);
 
				}
 

	
 
				y2 += w->resize.step_height;
src/gui.h
Show inline comments
 
@@ -140,7 +140,7 @@ void BuildFileList();
 
void SetFiosType(const byte fiostype);
 

	
 
/* FIOS_TYPE_FILE, FIOS_TYPE_OLDFILE etc. different colours */
 
extern const byte _fios_colors[];
 
extern const TextColour _fios_colors[];
 

	
 
/* bridge_gui.cpp */
 
void ShowBuildBridgeWindow(uint start, uint end, byte type);
src/industry_gui.cpp
Show inline comments
 
@@ -166,13 +166,13 @@ static void BuildDynamicIndustryWndProc(
 
				bool selected = WP(w, fnd_d).index == i + w->vscroll.pos;
 

	
 
				if (_fund_gui.index[i + w->vscroll.pos] == INVALID_INDUSTRYTYPE) {
 
					DrawString(21, y + offset, STR_MANY_RANDOM_INDUSTRIES, selected ? 12 : 6);
 
					DrawString(21, y + offset, STR_MANY_RANDOM_INDUSTRIES, selected ? TC_WHITE : TC_ORANGE);
 
					continue;
 
				}
 
				const IndustrySpec *indsp = GetIndustrySpec(_fund_gui.index[i + w->vscroll.pos]);
 

	
 
				/* Draw the name of the industry in white is selected, otherwise, in orange */
 
				DrawStringTruncated(20, y + offset, indsp->name, selected ? 12 : 6, max_width - 25);
 
				DrawStringTruncated(20, y + offset, indsp->name, selected ? TC_WHITE : TC_ORANGE, max_width - 25);
 
				GfxFillRect(x,     y + 1 + offset,  x + 10, y + 7 + offset, selected ? 15 : 0);
 
				GfxFillRect(x + 1, y + 2 + offset,  x +  9, y + 6 + offset, indsp->map_colour);
 
			}
 
@@ -184,7 +184,7 @@ static void BuildDynamicIndustryWndProc(
 

	
 
			if (_game_mode != GM_EDITOR) {
 
				SetDParam(0, indsp->GetConstructionCost());
 
				DrawStringTruncated(x_str, y_str, STR_482F_COST, 0, max_width);
 
				DrawStringTruncated(x_str, y_str, STR_482F_COST, TC_FROMSTRING, max_width);
 
				y_str += 11;
 
			}
 

	
 
@@ -197,7 +197,7 @@ static void BuildDynamicIndustryWndProc(
 
				if (p > 0) str++;
 
				SetDParam(p++, GetCargo(indsp->accepts_cargo[j])->name);
 
			}
 
			DrawStringTruncated(x_str, y_str, str, 0, max_width);
 
			DrawStringTruncated(x_str, y_str, str, TC_FROMSTRING, max_width);
 
			y_str += 11;
 

	
 
			/* Draw the produced cargos, if any. Otherwhise, will print "Nothing" */
 
@@ -209,7 +209,7 @@ static void BuildDynamicIndustryWndProc(
 
				if (p > 0) str++;
 
				SetDParam(p++, GetCargo(indsp->produced_cargo[j])->name);
 
			}
 
			DrawStringTruncated(x_str, y_str, str, 0, max_width);
 
			DrawStringTruncated(x_str, y_str, str, TC_FROMSTRING, max_width);
 
			y_str += 11;
 

	
 
			/* Get the additional purchase info text, if it has not already been */
 
@@ -460,13 +460,13 @@ static void IndustryViewWndProc(Window *
 
				if (i->accepts_cargo[j] == CT_INVALID) continue;
 
				has_accept = true;
 
				if (first) {
 
					DrawString(2, y, STR_INDUSTRY_WINDOW_WAITING_FOR_PROCESSING, 0);
 
					DrawString(2, y, STR_INDUSTRY_WINDOW_WAITING_FOR_PROCESSING, TC_FROMSTRING);
 
					y += 10;
 
					first = false;
 
				}
 
				SetDParam(0, i->accepts_cargo[j]);
 
				SetDParam(1, i->incoming_cargo_waiting[j]);
 
				DrawString(4, y, STR_INDUSTRY_WINDOW_WAITING_STOCKPILE_CARGO, 0);
 
				DrawString(4, y, STR_INDUSTRY_WINDOW_WAITING_STOCKPILE_CARGO, TC_FROMSTRING);
 
				y += 10;
 
			}
 
		} else {
 
@@ -479,7 +479,7 @@ static void IndustryViewWndProc(Window *
 
				SetDParam(p++, GetCargo(i->accepts_cargo[j])->name);
 
			}
 
			if (has_accept) {
 
				DrawString(2, y, str, 0);
 
				DrawString(2, y, str, TC_FROMSTRING);
 
				y += 10;
 
			}
 
		}
 
@@ -489,7 +489,7 @@ static void IndustryViewWndProc(Window *
 
			if (i->produced_cargo[j] == CT_INVALID) continue;
 
			if (first) {
 
				if (has_accept) y += 10;
 
				DrawString(2, y, STR_482A_PRODUCTION_LAST_MONTH, 0);
 
				DrawString(2, y, STR_482A_PRODUCTION_LAST_MONTH, TC_FROMSTRING);
 
				y += 10;
 
				WP(w, indview_d).production_offset_y = y;
 
				first = false;
 
@@ -499,7 +499,7 @@ static void IndustryViewWndProc(Window *
 
			SetDParam(1, i->last_month_production[j]);
 

	
 
			SetDParam(2, i->last_month_pct_transported[j] * 100 >> 8);
 
			DrawString(4 + (IsProductionAlterable(i) ? 30 : 0), y, STR_482B_TRANSPORTED, 0);
 
			DrawString(4 + (IsProductionAlterable(i) ? 30 : 0), y, STR_482B_TRANSPORTED, TC_FROMSTRING);
 
			/* Let's put out those buttons.. */
 
			if (IsProductionAlterable(i)) {
 
				DrawArrowButtons(5, y, 3, (WP(w, indview_d).clicked_line == j + 1) ? WP(w, indview_d).clicked_button : 0,
 
@@ -517,7 +517,7 @@ static void IndustryViewWndProc(Window *
 
					y += 10;
 

	
 
					PrepareTextRefStackUsage(6);
 
					DrawString(2, y, message, 0);
 
					DrawString(2, y, message, TC_FROMSTRING);
 
					StopTextRefStackUsage();
 
				}
 
			}
 
@@ -783,7 +783,7 @@ static void IndustryDirectoryWndProc(Win
 
		SetVScrollCount(w, _num_industry_sort);
 

	
 
		DrawWindowWidgets(w);
 
		DoDrawString(_industry_sort_order & 1 ? DOWNARROW : UPARROW, _indicator_positions[_industry_sort_order >> 1], 15, 0x10);
 
		DoDrawString(_industry_sort_order & 1 ? DOWNARROW : UPARROW, _indicator_positions[_industry_sort_order >> 1], 15, TC_BLACK);
 

	
 
		p = w->vscroll.pos;
 
		n = 0;
 
@@ -801,13 +801,13 @@ static void IndustryDirectoryWndProc(Win
 
					SetDParam(4, i->last_month_production[1]);
 
					SetDParam(5, i->last_month_pct_transported[0] * 100 >> 8);
 
					SetDParam(6, i->last_month_pct_transported[1] * 100 >> 8);
 
					DrawString(4, 28 + n * 10, STR_INDUSTRYDIR_ITEM_TWO, 0);
 
					DrawString(4, 28 + n * 10, STR_INDUSTRYDIR_ITEM_TWO, TC_FROMSTRING);
 
				} else {
 
					SetDParam(3, i->last_month_pct_transported[0] * 100 >> 8);
 
					DrawString(4, 28 + n * 10, STR_INDUSTRYDIR_ITEM, 0);
 
					DrawString(4, 28 + n * 10, STR_INDUSTRYDIR_ITEM, TC_FROMSTRING);
 
				}
 
			} else {
 
				DrawString(4, 28 + n * 10, STR_INDUSTRYDIR_ITEM_NOPROD, 0);
 
				DrawString(4, 28 + n * 10, STR_INDUSTRYDIR_ITEM_NOPROD, TC_FROMSTRING);
 
			}
 
			p++;
 
			if (++n == w->vscroll.cap) break;
src/main_gui.cpp
Show inline comments
 
@@ -465,7 +465,7 @@ static void MenuWndProc(Window *w, Windo
 
		y = 1;
 

	
 
		for (; count != 0; count--, string++, sel--) {
 
			byte color = HASBIT(dis, 0) ? 14 : (sel == 0) ? 12 : 16;
 
			TextColour color = HASBIT(dis, 0) ? TC_GREY : (sel == 0) ? TC_WHITE : TC_BLACK;
 
			if (sel == 0) GfxFillRect(x, y, x + w->width - 3, y + 9, 0);
 

	
 
			if (HASBIT(chk, 0)) DrawString(x + 2, y, STR_CHECKMARK, color);
 
@@ -566,7 +566,8 @@ static void PlayerMenuWndProc(Window *w,
 
	switch (e->event) {
 
	case WE_PAINT: {
 
		int x,y;
 
		byte sel, color;
 
		byte sel;
 
		TextColour color;
 
		Player *p;
 
		uint16 chk;
 

	
 
@@ -583,7 +584,7 @@ static void PlayerMenuWndProc(Window *w,
 
			if (sel == 0) {
 
				GfxFillRect(x, y, x + 238, y + 9, 0);
 
			}
 
			DrawString(x + 19, y, STR_NETWORK_CLIENT_LIST, 0x0);
 
			DrawString(x + 19, y, STR_NETWORK_CLIENT_LIST, TC_FROMSTRING);
 
			y += 10;
 
			sel--;
 
		}
 
@@ -599,8 +600,8 @@ static void PlayerMenuWndProc(Window *w,
 
				SetDParam(0, p->index);
 
				SetDParam(1, p->index);
 

	
 
				color = (p->index == sel) ? 0xC : 0x10;
 
				if (chk&1) color = 14;
 
				color = (p->index == sel) ? TC_WHITE : TC_BLACK;
 
				if (chk&1) color = TC_GREY;
 
				DrawString(x + 19, y, STR_7021, color);
 

	
 
				y += 10;
 
@@ -1869,12 +1870,12 @@ static void ScenEditToolbarWndProc(Windo
 
		DrawWindowWidgets(w);
 

	
 
		SetDParam(0, ConvertYMDToDate(_patches_newgame.starting_year, 0, 1));
 
		DrawStringCenteredTruncated(w->widget[6].right, w->widget[7].left, 6, STR_00AF, 0);
 
		DrawStringCenteredTruncated(w->widget[6].right, w->widget[7].left, 6, STR_00AF, TC_FROMSTRING);
 

	
 
		/* We hide this panel when the toolbar space gets too small */
 
		if (w->widget[4].left != w->widget[4].right) {
 
			DrawStringCenteredTruncated(w->widget[4].left + 1, w->widget[4].right - 1,  1, STR_0221_OPENTTD, 0);
 
			DrawStringCenteredTruncated(w->widget[4].left + 1, w->widget[4].right - 1, 11, STR_0222_SCENARIO_EDITOR, 0);
 
			DrawStringCenteredTruncated(w->widget[4].left + 1, w->widget[4].right - 1,  1, STR_0221_OPENTTD, TC_FROMSTRING);
 
			DrawStringCenteredTruncated(w->widget[4].left + 1, w->widget[4].right - 1, 11, STR_0222_SCENARIO_EDITOR, TC_FROMSTRING);
 
		}
 

	
 
		break;
 
@@ -2049,7 +2050,7 @@ static bool DrawScrollingStatusText(cons
 
	old_dpi = _cur_dpi;
 
	_cur_dpi = &tmp_dpi;
 

	
 
	x = DoDrawString(buffer, pos, 0, 13);
 
	x = DoDrawString(buffer, pos, 0, TC_LIGHT_BLUE);
 
	_cur_dpi = old_dpi;
 

	
 
	return x > 0;
 
@@ -2064,22 +2065,22 @@ static void StatusBarWndProc(Window *w, 
 
		DrawWindowWidgets(w);
 
		SetDParam(0, _date);
 
		DrawStringCentered(
 
			70, 1, (_pause_game || _patches.status_long_date) ? STR_00AF : STR_00AE, 0
 
			70, 1, (_pause_game || _patches.status_long_date) ? STR_00AF : STR_00AE, TC_FROMSTRING
 
		);
 

	
 
		if (p != NULL) {
 
			/* Draw player money */
 
			SetDParam(0, p->player_money);
 
			DrawStringCentered(w->widget[2].left + 70, 1, STR_0004, 0);
 
			DrawStringCentered(w->widget[2].left + 70, 1, STR_0004, TC_FROMSTRING);
 
		}
 

	
 
		/* Draw status bar */
 
		if (w->message.msg) { // true when saving is active
 
			DrawStringCenteredTruncated(w->widget[1].left + 1, w->widget[1].right - 1, 1, STR_SAVING_GAME, 0);
 
			DrawStringCenteredTruncated(w->widget[1].left + 1, w->widget[1].right - 1, 1, STR_SAVING_GAME, TC_FROMSTRING);
 
		} else if (_do_autosave) {
 
			DrawStringCenteredTruncated(w->widget[1].left + 1, w->widget[1].right - 1, 1, STR_032F_AUTOSAVE, 0);
 
			DrawStringCenteredTruncated(w->widget[1].left + 1, w->widget[1].right - 1, 1, STR_032F_AUTOSAVE, TC_FROMSTRING);
 
		} else if (_pause_game) {
 
			DrawStringCenteredTruncated(w->widget[1].left + 1, w->widget[1].right - 1, 1, STR_0319_PAUSED, 0);
 
			DrawStringCenteredTruncated(w->widget[1].left + 1, w->widget[1].right - 1, 1, STR_0319_PAUSED, TC_FROMSTRING);
 
		} else if (WP(w,def_d).data_1 > -1280 && FindWindowById(WC_NEWS_WINDOW,0) == NULL && _statusbar_news_item.string_id != 0) {
 
			/* Draw the scrolling news text */
 
			if (!DrawScrollingStatusText(&_statusbar_news_item, WP(w,def_d).data_1, w->widget[1].right - w->widget[1].left - 2)) {
 
@@ -2087,14 +2088,14 @@ static void StatusBarWndProc(Window *w, 
 
				if (p != NULL) {
 
					/* This is the default text */
 
					SetDParam(0, p->index);
 
					DrawStringCenteredTruncated(w->widget[1].left + 1, w->widget[1].right - 1, 1, STR_02BA, 0);
 
					DrawStringCenteredTruncated(w->widget[1].left + 1, w->widget[1].right - 1, 1, STR_02BA, TC_FROMSTRING);
 
				}
 
			}
 
		} else {
 
			if (p != NULL) {
 
				/* This is the default text */
 
				SetDParam(0, p->index);
 
				DrawStringCenteredTruncated(w->widget[1].left + 1, w->widget[1].right - 1, 1, STR_02BA, 0);
 
				DrawStringCenteredTruncated(w->widget[1].left + 1, w->widget[1].right - 1, 1, STR_02BA, TC_FROMSTRING);
 
			}
 
		}
 

	
 
@@ -2417,3 +2418,4 @@ void InitializeMainGui()
 

	
 

	
 

	
 

	
src/misc_gui.cpp
Show inline comments
 
@@ -60,13 +60,13 @@ static void LandInfoWndProc(Window *w, W
 
	if (e->event == WE_PAINT) {
 
		DrawWindowWidgets(w);
 

	
 
		DoDrawStringCentered(140, 16, _landinfo_data[0], 13);
 
		DoDrawStringCentered(140, 27, _landinfo_data[1], 0);
 
		DoDrawStringCentered(140, 38, _landinfo_data[2], 0);
 
		DoDrawStringCentered(140, 49, _landinfo_data[3], 0);
 
		DoDrawStringCentered(140, 60, _landinfo_data[4], 0);
 
		DoDrawStringCentered(140, 16, _landinfo_data[0], TC_LIGHT_BLUE);
 
		DoDrawStringCentered(140, 27, _landinfo_data[1], TC_FROMSTRING);
 
		DoDrawStringCentered(140, 38, _landinfo_data[2], TC_FROMSTRING);
 
		DoDrawStringCentered(140, 49, _landinfo_data[3], TC_FROMSTRING);
 
		DoDrawStringCentered(140, 60, _landinfo_data[4], TC_FROMSTRING);
 
		if (_landinfo_data[5][0] != '\0') DrawStringMultiCenter(140, 76, BindCString(_landinfo_data[5]), w->width - 4);
 
		if (_landinfo_data[6][0] != '\0') DoDrawStringCentered(140, 71, _landinfo_data[6], 0);
 
		if (_landinfo_data[6][0] != '\0') DoDrawStringCentered(140, 71, _landinfo_data[6], TC_FROMSTRING);
 
	}
 
}
 

	
 
@@ -265,13 +265,13 @@ static void AboutWindowProc(Window *w, W
 
		DrawWindowWidgets(w);
 

	
 
		/* Show original copyright and revision version */
 
		DrawStringCentered(210, 17, STR_00B6_ORIGINAL_COPYRIGHT, 0);
 
		DrawStringCentered(210, 17 + 10, STR_00B7_VERSION, 0);
 
		DrawStringCentered(210, 17, STR_00B6_ORIGINAL_COPYRIGHT, TC_FROMSTRING);
 
		DrawStringCentered(210, 17 + 10, STR_00B7_VERSION, TC_FROMSTRING);
 

	
 
		/* Show all scrolling credits */
 
		for (i = 0; i < lengthof(credits); i++) {
 
			if (y >= 50 && y < (w->height - 40)) {
 
				DoDrawString(credits[i], 10, y, 0x10);
 
				DoDrawString(credits[i], 10, y, TC_BLACK);
 
			}
 
			y += 10;
 
		}
 
@@ -279,8 +279,8 @@ static void AboutWindowProc(Window *w, W
 
		/* If the last text has scrolled start anew from the start */
 
		if (y < 50) WP(w, scroller_d).height = w->height - 40;
 

	
 
		DoDrawStringCentered(210, w->height - 25, "Website: http://www.openttd.org", 16);
 
		DrawStringCentered(210, w->height - 15, STR_00BA_COPYRIGHT_OPENTTD, 0);
 
		DoDrawStringCentered(210, w->height - 25, "Website: http://www.openttd.org", TC_BLACK);
 
		DrawStringCentered(210, w->height - 15, STR_00BA_COPYRIGHT_OPENTTD, TC_FROMSTRING);
 
	} break;
 
	case WE_MOUSELOOP: // Timer to scroll the text and adjust the new top
 
		if (WP(w, scroller_d).counter++ % 3 == 0) {
 
@@ -1087,8 +1087,8 @@ void DrawEditBox(Window *w, querystr_d *
 

	
 
	if (tb->caretxoffs + delta < 0) delta = -tb->caretxoffs;
 

	
 
	DoDrawString(tb->buf, delta, 0, 8);
 
	if (tb->caret) DoDrawString("_", tb->caretxoffs + delta, 0, 12);
 
	DoDrawString(tb->buf, delta, 0, TC_YELLOW);
 
	if (tb->caret) DoDrawString("_", tb->caretxoffs + delta, 0, TC_WHITE);
 

	
 
	_cur_dpi = old_dpi;
 
}
 
@@ -1370,7 +1370,10 @@ static const Widget _save_dialog_widgets
 
};
 

	
 
/* Colors for fios types */
 
const byte _fios_colors[] = {13, 9, 9, 6, 5, 6, 5, 6, 6, 8};
 
const TextColour _fios_colors[] = {
 
	TC_LIGHT_BLUE, TC_DARK_GREEN,  TC_DARK_GREEN, TC_ORANGE, TC_LIGHT_BROWN,
 
	TC_ORANGE,     TC_LIGHT_BROWN, TC_ORANGE,     TC_ORANGE, TC_YELLOW
 
};
 

	
 
void BuildFileList()
 
{
 
@@ -1401,8 +1404,8 @@ static void DrawFiosTexts(uint maxw)
 
	}
 

	
 
	if (str != STR_4006_UNABLE_TO_READ_DRIVE) SetDParam(0, tot);
 
	DrawString(2, 37, str, 0);
 
	DoDrawStringTruncated(path, 2, 27, 16, maxw);
 
	DrawString(2, 37, str, TC_FROMSTRING);
 
	DoDrawStringTruncated(path, 2, 27, TC_BLACK, maxw);
 
}
 

	
 
static void MakeSortedSaveGameList()
 
@@ -1491,7 +1494,7 @@ static void SaveLoadDlgWndProc(Window *w
 
		DoDrawString(
 
			_savegame_sort_order & SORT_DESCENDING ? DOWNARROW : UPARROW,
 
			_savegame_sort_order & SORT_BY_NAME ? w->widget[2].right - 9 : w->widget[3].right - 9,
 
			15, 16
 
			15, TC_BLACK
 
		);
 

	
 
		y = w->widget[7].top + 1;
 
@@ -1900,7 +1903,7 @@ static void CheatsWndProc(Window *w, Win
 
			} break;
 
			}
 

	
 
			DrawString(50, y + 1, ce->str, 0);
 
			DrawString(50, y + 1, ce->str, TC_FROMSTRING);
 

	
 
			y += 12;
 
		}
src/music_gui.cpp
Show inline comments
 
@@ -207,25 +207,25 @@ static void MusicTrackSelectionWndProc(W
 
		GfxFillRect(3, 23, 3 + 177, 23 + 191, 0);
 
		GfxFillRect(251, 23, 251 + 177, 23 + 191, 0);
 

	
 
		DrawStringCentered(92, 15, STR_01EE_TRACK_INDEX, 0);
 
		DrawStringCentered(92, 15, STR_01EE_TRACK_INDEX, TC_FROMSTRING);
 

	
 
		SetDParam(0, STR_01D5_ALL + msf.playlist);
 
		DrawStringCentered(340, 15, STR_01EF_PROGRAM, 0);
 
		DrawStringCentered(340, 15, STR_01EF_PROGRAM, TC_FROMSTRING);
 

	
 
		for (i = 1; i <= NUM_SONGS_AVAILABLE; i++) {
 
			SetDParam(0, i);
 
			SetDParam(2, i);
 
			SetDParam(1, SPECSTR_SONGNAME);
 
			DrawString(4, 23 + (i - 1) * 6, (i < 10) ? STR_01EC_0 : STR_01ED, 0);
 
			DrawString(4, 23 + (i - 1) * 6, (i < 10) ? STR_01EC_0 : STR_01ED, TC_FROMSTRING);
 
		}
 

	
 
		for (i = 0; i != 6; i++) {
 
			DrawStringCentered(216, 45 + i * 8, STR_01D5_ALL + i, (i == msf.playlist) ? 0xC : 0x10);
 
			DrawStringCentered(216, 45 + i * 8, STR_01D5_ALL + i, (i == msf.playlist) ? TC_WHITE : TC_BLACK);
 
		}
 

	
 
		DrawStringCentered(216, 45 + 8 * 6 + 16, STR_01F0_CLEAR, 0);
 
		DrawStringCentered(216, 45 + 8 * 6 + 16, STR_01F0_CLEAR, TC_FROMSTRING);
 
#if 0
 
		DrawStringCentered(216, 45 + 8 * 6 + 16 * 2, STR_01F1_SAVE, 0);
 
		DrawStringCentered(216, 45 + 8 * 6 + 16 * 2, STR_01F1_SAVE, TC_FROMSTRING);
 
#endif
 

	
 
		y = 23;
 
@@ -233,7 +233,7 @@ static void MusicTrackSelectionWndProc(W
 
			SetDParam(0, i);
 
			SetDParam(1, SPECSTR_SONGNAME);
 
			SetDParam(2, i);
 
			DrawString(252, y, (i < 10) ? STR_01EC_0 : STR_01ED, 0);
 
			DrawString(252, y, (i < 10) ? STR_01EC_0 : STR_01ED, TC_FROMSTRING);
 
			y += 6;
 
		}
 
		break;
 
@@ -367,7 +367,7 @@ static void MusicWindowWndProc(Window *w
 
			SetDParam(0, _music_wnd_cursong);
 
			str = (_music_wnd_cursong < 10) ? STR_01E4_0 : STR_01E5;
 
		}
 
		DrawString(62, 46, str, 0);
 
		DrawString(62, 46, str, TC_FROMSTRING);
 

	
 
		str = STR_01E6;
 
		if (_song_is_active != 0 && _music_wnd_cursong != 0) {
 
@@ -375,21 +375,21 @@ static void MusicWindowWndProc(Window *w
 
			SetDParam(0, SPECSTR_SONGNAME);
 
			SetDParam(1, _music_wnd_cursong);
 
		}
 
		DrawStringCentered(155, 46, str, 0);
 
		DrawStringCentered(155, 46, str, TC_FROMSTRING);
 

	
 

	
 
		DrawString(60, 38, STR_01E8_TRACK_XTITLE, 0);
 
		DrawString(60, 38, STR_01E8_TRACK_XTITLE, TC_FROMSTRING);
 

	
 
		for (i = 0; i != 6; i++) {
 
			DrawStringCentered(25 + i * 50, 59, STR_01D5_ALL + i, msf.playlist == i ? 0xC : 0x10);
 
			DrawStringCentered(25 + i * 50, 59, STR_01D5_ALL + i, msf.playlist == i ? TC_WHITE : TC_BLACK);
 
		}
 

	
 
		DrawStringCentered(31, 43, STR_01E9_SHUFFLE, (msf.shuffle ? 0xC : 0x10));
 
		DrawStringCentered(269, 43, STR_01EA_PROGRAM, 0);
 
		DrawStringCentered(141, 15, STR_01DB_MUSIC_VOLUME, 0);
 
		DrawStringCentered(141, 29, STR_01DD_MIN_MAX, 0);
 
		DrawStringCentered(247, 15, STR_01DC_EFFECTS_VOLUME, 0);
 
		DrawStringCentered(247, 29, STR_01DD_MIN_MAX, 0);
 
		DrawStringCentered(31, 43, STR_01E9_SHUFFLE, (msf.shuffle ? TC_WHITE : TC_BLACK));
 
		DrawStringCentered(269, 43, STR_01EA_PROGRAM, TC_FROMSTRING);
 
		DrawStringCentered(141, 15, STR_01DB_MUSIC_VOLUME, TC_FROMSTRING);
 
		DrawStringCentered(141, 29, STR_01DD_MIN_MAX, TC_FROMSTRING);
 
		DrawStringCentered(247, 15, STR_01DC_EFFECTS_VOLUME, TC_FROMSTRING);
 
		DrawStringCentered(247, 29, STR_01DD_MIN_MAX, TC_FROMSTRING);
 

	
 
		DrawFrameRect(108, 23, 174, 26, 14, FR_LOWERED);
 
		DrawFrameRect(214, 23, 280, 26, 14, FR_LOWERED);
src/network/network_gui.cpp
Show inline comments
 
@@ -255,14 +255,14 @@ static void NetworkGameWindowWndProc(Win
 

	
 
		DrawEditBox(w, &WP(w, network_ql_d).q, 3);
 

	
 
		DrawString(9, 23, STR_NETWORK_CONNECTION, 2);
 
		DrawString(w->widget[3].left - 100, 23, STR_NETWORK_PLAYER_NAME, 2);
 
		DrawString(9, 23, STR_NETWORK_CONNECTION, TC_GOLD);
 
		DrawString(w->widget[3].left - 100, 23, STR_NETWORK_PLAYER_NAME, TC_GOLD);
 

	
 
		/* Sort based on widgets: name, clients, compatibility */
 
		switch (ld->sort_type) {
 
			case 6 - 6: DoDrawString(arrow, w->widget[6].right - 10, 42, 0x10); break;
 
			case 7 - 6: DoDrawString(arrow, w->widget[7].right - 10, 42, 0x10); break;
 
			case 8 - 6: DoDrawString(arrow, w->widget[8].right - 10, 42, 0x10); break;
 
			case 6 - 6: DoDrawString(arrow, w->widget[6].right - 10, 42, TC_BLACK); break;
 
			case 7 - 6: DoDrawString(arrow, w->widget[7].right - 10, 42, TC_BLACK); break;
 
			case 8 - 6: DoDrawString(arrow, w->widget[8].right - 10, 42, TC_BLACK); break;
 
		}
 

	
 
		{ // draw list of games
 
@@ -282,13 +282,13 @@ static void NetworkGameWindowWndProc(Win
 
				if (cur_item == sel) GfxFillRect(w->widget[6].left + 1, y - 2, w->widget[8].right - 1, y + 9, 10);
 

	
 
				SetDParamStr(0, cur_item->info.server_name);
 
				DrawStringTruncated(w->widget[6].left + 5, y, STR_02BD, 16, max_name_width);
 
				DrawStringTruncated(w->widget[6].left + 5, y, STR_02BD, TC_BLACK, max_name_width);
 

	
 
				SetDParam(0, cur_item->info.clients_on);
 
				SetDParam(1, cur_item->info.clients_max);
 
				SetDParam(2, cur_item->info.companies_on);
 
				SetDParam(3, cur_item->info.companies_max);
 
				DrawStringCentered(w->widget[7].left + 39, y, STR_NETWORK_GENERAL_ONLINE, 2);
 
				DrawStringCentered(w->widget[7].left + 39, y, STR_NETWORK_GENERAL_ONLINE, TC_GOLD);
 

	
 
				// only draw icons if the server is online
 
				if (cur_item->online) {
 
@@ -311,71 +311,71 @@ static void NetworkGameWindowWndProc(Win
 
		/* Draw the right menu */
 
		GfxFillRect(w->widget[15].left + 1, 43, w->widget[15].right - 1, 92, 157);
 
		if (sel == NULL) {
 
			DrawStringCentered(w->widget[15].left + 115, 58, STR_NETWORK_GAME_INFO, 0);
 
			DrawStringCentered(w->widget[15].left + 115, 58, STR_NETWORK_GAME_INFO, TC_FROMSTRING);
 
		} else if (!sel->online) {
 
			SetDParamStr(0, sel->info.server_name);
 
			DrawStringCentered(w->widget[15].left + 115, 68, STR_ORANGE, 0); // game name
 
			DrawStringCentered(w->widget[15].left + 115, 68, STR_ORANGE, TC_FROMSTRING); // game name
 

	
 
			DrawStringCentered(w->widget[15].left + 115, 132, STR_NETWORK_SERVER_OFFLINE, 0); // server offline
 
			DrawStringCentered(w->widget[15].left + 115, 132, STR_NETWORK_SERVER_OFFLINE, TC_FROMSTRING); // server offline
 
		} else { // show game info
 
			uint16 y = 100;
 
			const uint16 x = w->widget[15].left + 5;
 

	
 
			DrawStringCentered(w->widget[15].left + 115, 48, STR_NETWORK_GAME_INFO, 0);
 
			DrawStringCentered(w->widget[15].left + 115, 48, STR_NETWORK_GAME_INFO, TC_FROMSTRING);
 

	
 

	
 
			SetDParamStr(0, sel->info.server_name);
 
			DrawStringCenteredTruncated(w->widget[15].left, w->widget[15].right, 62, STR_ORANGE, 16); // game name
 
			DrawStringCenteredTruncated(w->widget[15].left, w->widget[15].right, 62, STR_ORANGE, TC_BLACK); // game name
 

	
 
			SetDParamStr(0, sel->info.map_name);
 
			DrawStringCenteredTruncated(w->widget[15].left, w->widget[15].right, 74, STR_02BD, 16); // map name
 
			DrawStringCenteredTruncated(w->widget[15].left, w->widget[15].right, 74, STR_02BD, TC_BLACK); // map name
 

	
 
			SetDParam(0, sel->info.clients_on);
 
			SetDParam(1, sel->info.clients_max);
 
			SetDParam(2, sel->info.companies_on);
 
			SetDParam(3, sel->info.companies_max);
 
			DrawString(x, y, STR_NETWORK_CLIENTS, 2);
 
			DrawString(x, y, STR_NETWORK_CLIENTS, TC_GOLD);
 
			y += 10;
 

	
 
			SetDParam(0, STR_NETWORK_LANG_ANY + sel->info.server_lang);
 
			DrawString(x, y, STR_NETWORK_LANGUAGE, 2); // server language
 
			DrawString(x, y, STR_NETWORK_LANGUAGE, TC_GOLD); // server language
 
			y += 10;
 

	
 
			SetDParam(0, STR_TEMPERATE_LANDSCAPE + sel->info.map_set);
 
			DrawString(x, y, STR_NETWORK_TILESET, 2); // tileset
 
			DrawString(x, y, STR_NETWORK_TILESET, TC_GOLD); // tileset
 
			y += 10;
 

	
 
			SetDParam(0, sel->info.map_width);
 
			SetDParam(1, sel->info.map_height);
 
			DrawString(x, y, STR_NETWORK_MAP_SIZE, 2); // map size
 
			DrawString(x, y, STR_NETWORK_MAP_SIZE, TC_GOLD); // map size
 
			y += 10;
 

	
 
			SetDParamStr(0, sel->info.server_revision);
 
			DrawString(x, y, STR_NETWORK_SERVER_VERSION, 2); // server version
 
			DrawString(x, y, STR_NETWORK_SERVER_VERSION, TC_GOLD); // server version
 
			y += 10;
 

	
 
			SetDParamStr(0, sel->info.hostname);
 
			SetDParam(1, sel->port);
 
			DrawString(x, y, STR_NETWORK_SERVER_ADDRESS, 2); // server address
 
			DrawString(x, y, STR_NETWORK_SERVER_ADDRESS, TC_GOLD); // server address
 
			y += 10;
 

	
 
			SetDParam(0, sel->info.start_date);
 
			DrawString(x, y, STR_NETWORK_START_DATE, 2); // start date
 
			DrawString(x, y, STR_NETWORK_START_DATE, TC_GOLD); // start date
 
			y += 10;
 

	
 
			SetDParam(0, sel->info.game_date);
 
			DrawString(x, y, STR_NETWORK_CURRENT_DATE, 2); // current date
 
			DrawString(x, y, STR_NETWORK_CURRENT_DATE, TC_GOLD); // current date
 
			y += 10;
 

	
 
			y += 2;
 

	
 
			if (!sel->info.compatible) {
 
				DrawStringCentered(w->widget[15].left + 115, y, sel->info.version_compatible ? STR_NETWORK_GRF_MISMATCH : STR_NETWORK_VERSION_MISMATCH, 0); // server mismatch
 
				DrawStringCentered(w->widget[15].left + 115, y, sel->info.version_compatible ? STR_NETWORK_GRF_MISMATCH : STR_NETWORK_VERSION_MISMATCH, TC_FROMSTRING); // server mismatch
 
			} else if (sel->info.clients_on == sel->info.clients_max) {
 
				// Show: server full, when clients_on == clients_max
 
				DrawStringCentered(w->widget[15].left + 115, y, STR_NETWORK_SERVER_FULL, 0); // server full
 
				DrawStringCentered(w->widget[15].left + 115, y, STR_NETWORK_SERVER_FULL, TC_FROMSTRING); // server full
 
			} else if (sel->info.use_password) {
 
				DrawStringCentered(w->widget[15].left + 115, y, STR_NETWORK_PASSWORD, 0); // password warning
 
				DrawStringCentered(w->widget[15].left + 115, y, STR_NETWORK_PASSWORD, TC_FROMSTRING); // password warning
 
			}
 

	
 
			y += 10;
 
@@ -627,17 +627,17 @@ static void NetworkStartServerWindowWndP
 
		GfxFillRect(11, 63, 258, 215, 0xD7);
 
		DrawEditBox(w, &WP(w, network_ql_d).q, 3);
 

	
 
		DrawString(10, 22, STR_NETWORK_NEW_GAME_NAME, 2);
 
		DrawString(10, 22, STR_NETWORK_NEW_GAME_NAME, TC_GOLD);
 

	
 
		DrawString(10, 43, STR_NETWORK_SELECT_MAP, 2);
 
		DrawString(10, 43, STR_NETWORK_SELECT_MAP, TC_GOLD);
 

	
 
		DrawString(280,  63, STR_NETWORK_CONNECTION, 2);
 
		DrawString(280,  95, STR_NETWORK_NUMBER_OF_CLIENTS, 2);
 
		DrawString(280, 127, STR_NETWORK_NUMBER_OF_COMPANIES, 2);
 
		DrawString(280, 159, STR_NETWORK_NUMBER_OF_SPECTATORS, 2);
 
		DrawString(280, 191, STR_NETWORK_LANGUAGE_SPOKEN, 2);
 
		DrawString(280,  63, STR_NETWORK_CONNECTION, TC_GOLD);
 
		DrawString(280,  95, STR_NETWORK_NUMBER_OF_CLIENTS, TC_GOLD);
 
		DrawString(280, 127, STR_NETWORK_NUMBER_OF_COMPANIES, TC_GOLD);
 
		DrawString(280, 159, STR_NETWORK_NUMBER_OF_SPECTATORS, TC_GOLD);
 
		DrawString(280, 191, STR_NETWORK_LANGUAGE_SPOKEN, TC_GOLD);
 

	
 
		if (_network_game_info.use_password) DoDrawString("*", 408, 23, 3);
 
		if (_network_game_info.use_password) DoDrawString("*", 408, 23, TC_RED);
 

	
 
		// draw list of maps
 
		pos = w->vscroll.pos;
 
@@ -647,7 +647,7 @@ static void NetworkStartServerWindowWndP
 
				GfxFillRect(11, y - 1, 258, y + 10, 155); // show highlighted item with a different colour
 

	
 
			if (pos == 0) {
 
				DrawString(14, y, STR_4010_GENERATE_RANDOM_NEW_GAME, 9);
 
				DrawString(14, y, STR_4010_GENERATE_RANDOM_NEW_GAME, TC_DARK_GREEN);
 
			} else {
 
				DoDrawString(item->title, 14, y, _fios_colors[item->type] );
 
			}
 
@@ -896,7 +896,7 @@ static void NetworkLobbyWindowWndProc(Wi
 
		DrawWindowWidgets(w);
 

	
 
		SetDParamStr(0, gi->server_name);
 
		DrawString(10, 22, STR_NETWORK_PREPARE_TO_JOIN, 2);
 
		DrawString(10, 22, STR_NETWORK_PREPARE_TO_JOIN, TC_GOLD);
 

	
 
		/* Draw company list */
 
		pos = w->vscroll.pos;
 
@@ -906,7 +906,7 @@ static void NetworkLobbyWindowWndProc(Wi
 
			if (nd->company == company)
 
				GfxFillRect(11, y - 1, 154, y + 10, 10); // show highlighted item with a different colour
 

	
 
			DoDrawStringTruncated(_network_player_info[company].company_name, 13, y, 16, 135 - 13);
 
			DoDrawStringTruncated(_network_player_info[company].company_name, 13, y, TC_BLACK, 135 - 13);
 
			if (_network_player_info[company].use_password != 0) DrawSprite(SPR_LOCK, PAL_NONE, 135, y);
 

	
 
			/* If the company's income was positive puts a green dot else a red dot */
 
@@ -920,7 +920,7 @@ static void NetworkLobbyWindowWndProc(Wi
 

	
 
		/* Draw info about selected company when it is selected in the left window */
 
		GfxFillRect(174, 39, 403, 75, 157);
 
		DrawStringCentered(290, 50, STR_NETWORK_COMPANY_INFO, 0);
 
		DrawStringCentered(290, 50, STR_NETWORK_COMPANY_INFO, TC_FROMSTRING);
 
		if (nd->company != (byte)-1) {
 
			const uint x = 183;
 
			const uint trunc_width = w->widget[6].right - x;
 
@@ -930,31 +930,31 @@ static void NetworkLobbyWindowWndProc(Wi
 
			SetDParam(1, nd->server->info.clients_max);
 
			SetDParam(2, nd->server->info.companies_on);
 
			SetDParam(3, nd->server->info.companies_max);
 
			DrawString(x, y, STR_NETWORK_CLIENTS, 2);
 
			DrawString(x, y, STR_NETWORK_CLIENTS, TC_GOLD);
 
			y += 10;
 

	
 
			SetDParamStr(0, _network_player_info[nd->company].company_name);
 
			DrawStringTruncated(x, y, STR_NETWORK_COMPANY_NAME, 2, trunc_width);
 
			DrawStringTruncated(x, y, STR_NETWORK_COMPANY_NAME, TC_GOLD, trunc_width);
 
			y += 10;
 

	
 
			SetDParam(0, _network_player_info[nd->company].inaugurated_year);
 
			DrawString(x, y, STR_NETWORK_INAUGURATION_YEAR, 2); // inauguration year
 
			DrawString(x, y, STR_NETWORK_INAUGURATION_YEAR, TC_GOLD); // inauguration year
 
			y += 10;
 

	
 
			SetDParam(0, _network_player_info[nd->company].company_value);
 
			DrawString(x, y, STR_NETWORK_VALUE, 2); // company value
 
			DrawString(x, y, STR_NETWORK_VALUE, TC_GOLD); // company value
 
			y += 10;
 

	
 
			SetDParam(0, _network_player_info[nd->company].money);
 
			DrawString(x, y, STR_NETWORK_CURRENT_BALANCE, 2); // current balance
 
			DrawString(x, y, STR_NETWORK_CURRENT_BALANCE, TC_GOLD); // current balance
 
			y += 10;
 

	
 
			SetDParam(0, _network_player_info[nd->company].income);
 
			DrawString(x, y, STR_NETWORK_LAST_YEARS_INCOME, 2); // last year's income
 
			DrawString(x, y, STR_NETWORK_LAST_YEARS_INCOME, TC_GOLD); // last year's income
 
			y += 10;
 

	
 
			SetDParam(0, _network_player_info[nd->company].performance);
 
			DrawString(x, y, STR_NETWORK_PERFORMANCE, 2); // performance
 
			DrawString(x, y, STR_NETWORK_PERFORMANCE, TC_GOLD); // performance
 
			y += 10;
 

	
 
			SetDParam(0, _network_player_info[nd->company].num_vehicle[0]);
 
@@ -962,7 +962,7 @@ static void NetworkLobbyWindowWndProc(Wi
 
			SetDParam(2, _network_player_info[nd->company].num_vehicle[2]);
 
			SetDParam(3, _network_player_info[nd->company].num_vehicle[3]);
 
			SetDParam(4, _network_player_info[nd->company].num_vehicle[4]);
 
			DrawString(x, y, STR_NETWORK_VEHICLES, 2); // vehicles
 
			DrawString(x, y, STR_NETWORK_VEHICLES, TC_GOLD); // vehicles
 
			y += 10;
 

	
 
			SetDParam(0, _network_player_info[nd->company].num_station[0]);
 
@@ -970,11 +970,11 @@ static void NetworkLobbyWindowWndProc(Wi
 
			SetDParam(2, _network_player_info[nd->company].num_station[2]);
 
			SetDParam(3, _network_player_info[nd->company].num_station[3]);
 
			SetDParam(4, _network_player_info[nd->company].num_station[4]);
 
			DrawString(x, y, STR_NETWORK_STATIONS, 2); // stations
 
			DrawString(x, y, STR_NETWORK_STATIONS, TC_GOLD); // stations
 
			y += 10;
 

	
 
			SetDParamStr(0, _network_player_info[nd->company].players);
 
			DrawStringTruncated(x, y, STR_NETWORK_PLAYERS, 2, trunc_width); // players
 
			DrawStringTruncated(x, y, STR_NETWORK_PLAYERS, TC_GOLD, trunc_width); // players
 
		}
 
	} break;
 

	
 
@@ -1311,7 +1311,7 @@ static void ClientListPopupWndProc(Windo
 
	switch (e->event) {
 
	case WE_PAINT: {
 
		int i, y, sel;
 
		byte colour;
 
		TextColour colour;
 
		DrawWindowWidgets(w);
 

	
 
		// Draw the actions
 
@@ -1323,9 +1323,9 @@ static void ClientListPopupWndProc(Windo
 

	
 
			if (sel-- == 0) { // Selected item, highlight it
 
				GfxFillRect(1, y, 150 - 2, y + CLNWND_ROWSIZE - 1, 0);
 
				colour = 0xC;
 
				colour = TC_WHITE;
 
			} else {
 
				colour = 0x10;
 
				colour = TC_BLACK;
 
			}
 

	
 
			DoDrawString(_clientlist_action[i], 4, y, colour);
 
@@ -1362,7 +1362,7 @@ static void ClientListWndProc(Window *w,
 
	case WE_PAINT: {
 
		NetworkClientInfo *ci;
 
		int y, i = 0;
 
		byte colour;
 
		TextColour colour;
 

	
 
		// Check if we need to reset the height
 
		if (!CheckClientListHeight(w)) break;
 
@@ -1374,9 +1374,9 @@ static void ClientListWndProc(Window *w,
 
		FOR_ALL_ACTIVE_CLIENT_INFOS(ci) {
 
			if (_selected_clientlist_item == i++) { // Selected item, highlight it
 
				GfxFillRect(1, y, 248, y + CLNWND_ROWSIZE - 1, 0);
 
				colour = 0xC;
 
				colour = TC_WHITE;
 
			} else {
 
				colour = 0x10;
 
				colour = TC_BLACK;
 
			}
 

	
 
			if (ci->client_index == NETWORK_SERVER_INDEX) {
 
@@ -1463,7 +1463,7 @@ static void NetworkJoinStatusWindowWndPr
 
		uint8 progress; // used for progress bar
 
		DrawWindowWidgets(w);
 

	
 
		DrawStringCentered(125, 35, STR_NETWORK_CONNECTING_1 + _network_join_status, 14);
 
		DrawStringCentered(125, 35, STR_NETWORK_CONNECTING_1 + _network_join_status, TC_GREY);
 
		switch (_network_join_status) {
 
			case NETWORK_JOIN_STATUS_CONNECTING: case NETWORK_JOIN_STATUS_AUTHORIZING:
 
			case NETWORK_JOIN_STATUS_GETTING_COMPANY_INFO:
 
@@ -1471,13 +1471,13 @@ static void NetworkJoinStatusWindowWndPr
 
				break;
 
			case NETWORK_JOIN_STATUS_WAITING:
 
				SetDParam(0, _network_join_waiting);
 
				DrawStringCentered(125, 46, STR_NETWORK_CONNECTING_WAITING, 14);
 
				DrawStringCentered(125, 46, STR_NETWORK_CONNECTING_WAITING, TC_GREY);
 
				progress = 15; // third stage is 15%
 
				break;
 
			case NETWORK_JOIN_STATUS_DOWNLOADING:
 
				SetDParam(0, _network_join_kbytes);
 
				SetDParam(1, _network_join_kbytes_total);
 
				DrawStringCentered(125, 46, STR_NETWORK_CONNECTING_DOWNLOADING, 14);
 
				DrawStringCentered(125, 46, STR_NETWORK_CONNECTING_DOWNLOADING, TC_GREY);
 
				/* Fallthrough */
 
			default: /* Waiting is 15%, so the resting receivement of map is maximum 70% */
 
				progress = 15 + _network_join_kbytes * (100 - 15) / _network_join_kbytes_total;
 
@@ -1701,7 +1701,7 @@ static void ChatWindowWndProc(Window *w,
 

	
 
		assert(WP(w, chatquerystr_d).caption < lengthof(chat_captions));
 
		msg = chat_captions[WP(w, chatquerystr_d).caption];
 
		DrawStringRightAligned(w->widget[2].left - 2, w->widget[2].top + 1, msg, 16);
 
		DrawStringRightAligned(w->widget[2].left - 2, w->widget[2].top + 1, msg, TC_BLACK);
 
		DrawEditBox(w, &WP(w, chatquerystr_d), 2);
 
	} break;
 

	
src/newgrf_gui.cpp
Show inline comments
 
@@ -143,7 +143,7 @@ static void NewGRFAddDlgWndProc(Window *
 

	
 
					/* Draw selection background */
 
					if (h) GfxFillRect(3, y, w->width - 15, y + 9, 156);
 
					DoDrawStringTruncated(text, 4, y, h ? 0xC : 0x6, w->width - 18);
 
					DoDrawStringTruncated(text, 4, y, h ? TC_WHITE : TC_ORANGE, w->width - 18);
 
					y += 10;
 
				}
 
				n++;
 
@@ -370,7 +370,7 @@ static void NewGRFWndProc(Window *w, Win
 
					DrawSprite(SPR_SQUARE, pal, 5, y + 2);
 
					if (c->error != NULL) DrawSprite(SPR_WARNING_SIGN, 0, 20, y + 2);
 
					txtoffset = c->error != NULL ? 35 : 25;
 
					DoDrawStringTruncated(text, txtoffset, y + 3, WP(w, newgrf_d).sel == c ? 0xC : 0x10, w->width - txtoffset - 10);
 
					DoDrawStringTruncated(text, txtoffset, y + 3, WP(w, newgrf_d).sel == c ? TC_WHITE : TC_BLACK, w->width - txtoffset - 10);
 
					y += 14;
 
				}
 
			}
src/news_gui.cpp
Show inline comments
 
@@ -106,7 +106,7 @@ void DrawNewsBorder(const Window *w)
 
	GfxFillRect(left, top, right, top, 0xD7);
 
	GfxFillRect(left, bottom, right, bottom, 0xD7);
 

	
 
	DrawString(left + 2, top + 1, STR_00C6, 0);
 
	DrawString(left + 2, top + 1, STR_00C6, TC_FROMSTRING);
 
}
 

	
 
static void NewsWindowProc(Window *w, WindowEvent *e)
 
@@ -126,10 +126,10 @@ static void NewsWindowProc(Window *w, Wi
 
			case NM_THIN: {
 
				DrawNewsBorder(w);
 

	
 
				DrawString(2, 1, STR_00C6, 0);
 
				DrawString(2, 1, STR_00C6, TC_FROMSTRING);
 

	
 
				SetDParam(0, ni->date);
 
				DrawStringRightAligned(428, 1, STR_01FF, 0);
 
				DrawStringRightAligned(428, 1, STR_01FF, TC_FROMSTRING);
 

	
 
				if (!(ni->flags & NF_VIEWPORT)) {
 
					CopyInDParam(0, ni->params, lengthof(ni->params));
 
@@ -704,9 +704,9 @@ static void MessageHistoryWndProc(Window
 
			const NewsItem *ni = &_news_items[getNews(p)];
 

	
 
			SetDParam(0, ni->date);
 
			DrawString(4, y, STR_SHORT_DATE, 12);
 
			DrawString(4, y, STR_SHORT_DATE, TC_WHITE);
 

	
 
			DrawNewsString(82, y, 12, ni, w->width - 95);
 
			DrawNewsString(82, y, TC_WHITE, ni, w->width - 95);
 
			y += 12;
 
		}
 
		break;
 
@@ -832,11 +832,11 @@ static void MessageOptionsWndProc(Window
 
			for (i = 0, y = 26; i < NT_END; i++, y += 12, val >>= 2) {
 
				/* 51 comes from 13 + 89 (left and right of the button)+1, shiefted by one as to get division,
 
				 * which will give centered position */
 
				DrawStringCentered(51, y + 1, message_opt[val & 0x3], 0x10);
 
				DrawStringCentered(51, y + 1, message_opt[val & 0x3], TC_BLACK);
 
			}
 

	
 
			/* Draw the general bottom button string as well */
 
			DrawStringCentered(51, y + 10, message_opt[WP(w, def_d).data_1], 0x10);
 
			DrawStringCentered(51, y + 10, message_opt[WP(w, def_d).data_1], TC_BLACK);
 
		} break;
 

	
 
		case WE_CLICK:
src/order_gui.cpp
Show inline comments
 
@@ -238,9 +238,8 @@ static void DrawOrdersWindow(Window *w)
 
				default: break;
 
			}
 

	
 
			const byte colour = (i == WP(w,order_d).sel) ? 0xC : 0x10;
 
			SetDParam(0, i + 1);
 
			DrawString(2, y, str, colour);
 
			DrawString(2, y, str, (i == WP(w,order_d).sel) ? TC_WHITE : TC_BLACK);
 

	
 
			y += 10;
 
		}
 
@@ -251,8 +250,7 @@ static void DrawOrdersWindow(Window *w)
 

	
 
	if (i - w->vscroll.pos < w->vscroll.cap) {
 
		str = shared_orders ? STR_END_OF_SHARED_ORDERS : STR_882A_END_OF_ORDERS;
 
		const byte colour = (i == WP(w,order_d).sel) ? 0xC : 0x10;
 
		DrawString(2, y, str, colour);
 
		DrawString(2, y, str, (i == WP(w,order_d).sel) ? TC_WHITE : TC_BLACK);
 
	}
 
}
 

	
src/player_gui.cpp
Show inline comments
 
@@ -39,10 +39,10 @@ static void DrawPlayerEconomyStats(const
 

	
 
	if (!(mode & 1)) { // normal sized economics window (mode&1) is minimized status
 
		/* draw categories */
 
		DrawStringCenterUnderline(61, 15, STR_700F_EXPENDITURE_INCOME, 0);
 
		DrawStringCenterUnderline(61, 15, STR_700F_EXPENDITURE_INCOME, TC_FROMSTRING);
 
		for (i = 0; i != 13; i++)
 
			DrawString(2, 27 + i * 10, STR_7011_CONSTRUCTION + i, 0);
 
		DrawStringRightAligned(111, 27 + 10 * 13 + 2, STR_7020_TOTAL, 0);
 
			DrawString(2, 27 + i * 10, STR_7011_CONSTRUCTION + i, TC_FROMSTRING);
 
		DrawStringRightAligned(111, 27 + 10 * 13 + 2, STR_7020_TOTAL, TC_FROMSTRING);
 

	
 
		/* draw the price columns */
 
		year = _cur_year - 2;
 
@@ -52,7 +52,7 @@ static void DrawPlayerEconomyStats(const
 
		do {
 
			if (year >= p->inaugurated_year) {
 
				SetDParam(0, year);
 
				DrawStringRightAlignedUnderline(x, 15, STR_7010, 0);
 
				DrawStringRightAlignedUnderline(x, 15, STR_7010, TC_FROMSTRING);
 
				sum = 0;
 
				for (i = 0; i != 13; i++) {
 
					/* draw one row in the price column */
 
@@ -63,14 +63,14 @@ static void DrawPlayerEconomyStats(const
 
						str = STR_701E;
 
						if (cost < 0) { cost = -cost; str++; }
 
						SetDParam(0, cost);
 
						DrawStringRightAligned(x, 27 + i * 10, str, 0);
 
						DrawStringRightAligned(x, 27 + i * 10, str, TC_FROMSTRING);
 
					}
 
				}
 

	
 
				str = STR_701E;
 
				if (sum < 0) { sum = -sum; str++; }
 
				SetDParam(0, sum);
 
				DrawStringRightAligned(x, 27 + 13 * 10 + 2, str, 0);
 
				DrawStringRightAligned(x, 27 + 13 * 10 + 2, str, TC_FROMSTRING);
 

	
 
				GfxFillRect(x - 75, 27 + 10 * 13, x, 27 + 10 * 13, 215);
 
				x += 95;
 
@@ -83,27 +83,27 @@ static void DrawPlayerEconomyStats(const
 

	
 
		/* draw max loan aligned to loan below (y += 10) */
 
		SetDParam(0, _economy.max_loan);
 
		DrawString(202, y + 10, STR_MAX_LOAN, 0);
 
		DrawString(202, y + 10, STR_MAX_LOAN, TC_FROMSTRING);
 
	} else {
 
		y = 15;
 
	}
 

	
 
	DrawString(2, y, STR_7026_BANK_BALANCE, 0);
 
	DrawString(2, y, STR_7026_BANK_BALANCE, TC_FROMSTRING);
 
	SetDParam(0, p->player_money);
 
	DrawStringRightAligned(182, y, STR_7028, 0);
 
	DrawStringRightAligned(182, y, STR_7028, TC_FROMSTRING);
 

	
 
	y += 10;
 

	
 
	DrawString(2, y, STR_7027_LOAN, 0);
 
	DrawString(2, y, STR_7027_LOAN, TC_FROMSTRING);
 
	SetDParam(0, p->current_loan);
 
	DrawStringRightAligned(182, y, STR_7028, 0);
 
	DrawStringRightAligned(182, y, STR_7028, TC_FROMSTRING);
 

	
 
	y += 12;
 

	
 
	GfxFillRect(182 - 75, y - 2, 182, y - 2, 215);
 

	
 
	SetDParam(0, p->player_money - p->current_loan);
 
	DrawStringRightAligned(182, y, STR_7028, 0);
 
	DrawStringRightAligned(182, y, STR_7028, TC_FROMSTRING);
 
}
 

	
 
static const Widget _player_finances_widgets[] = {
 
@@ -331,14 +331,14 @@ static void SelectPlayerLiveryWndProc(Wi
 
						DrawSprite(p->livery[scheme].in_use ? SPR_BOX_CHECKED : SPR_BOX_EMPTY, PAL_NONE, 2, y);
 
					}
 

	
 
					DrawString(15, y, STR_LIVERY_DEFAULT + scheme, sel ? 0xC : 0x10);
 
					DrawString(15, y, STR_LIVERY_DEFAULT + scheme, sel ? TC_WHITE : TC_BLACK);
 

	
 
					DrawSprite(SPR_SQUARE, GENERAL_SPRITE_COLOR(p->livery[scheme].colour1), 152, y);
 
					DrawString(165, y, STR_00D1_DARK_BLUE + p->livery[scheme].colour1, sel ? 0xC : 2);
 
					DrawString(165, y, STR_00D1_DARK_BLUE + p->livery[scheme].colour1, sel ? TC_WHITE : TC_GOLD);
 

	
 
					if (_loaded_newgrf_features.has_2CC) {
 
						DrawSprite(SPR_SQUARE, GENERAL_SPRITE_COLOR(p->livery[scheme].colour2), 277, y);
 
						DrawString(290, y, STR_00D1_DARK_BLUE + p->livery[scheme].colour2, sel ? 0xC : 2);
 
						DrawString(290, y, STR_00D1_DARK_BLUE + p->livery[scheme].colour2, sel ? TC_WHITE : TC_GOLD);
 
					}
 

	
 
					y += 14;
 
@@ -658,7 +658,7 @@ static const Widget _select_player_face_
 
void DrawFaceStringLabel(const Window *w, byte widget_index, StringID str, uint8 val, bool is_bool_widget)
 
{
 
	/* Write the label in gold (0x2) to the left of the button. */
 
	DrawStringRightAligned(w->widget[widget_index].left - (is_bool_widget ? 5 : 14), w->widget[widget_index].top + 1, str, 0x2);
 
	DrawStringRightAligned(w->widget[widget_index].left - (is_bool_widget ? 5 : 14), w->widget[widget_index].top + 1, str, TC_GOLD);
 

	
 
	if (!IsWindowWidgetDisabled(w, widget_index)) {
 
		if (is_bool_widget) {
 
@@ -672,7 +672,7 @@ void DrawFaceStringLabel(const Window *w
 

	
 
		/* Draw the value/bool in white (0xC). If the button clicked adds 1px to x and y text coordinates (IsWindowWidgetLowered()). */
 
		DrawStringCentered(w->widget[widget_index].left + (w->widget[widget_index].right - w->widget[widget_index].left) / 2 +
 
			IsWindowWidgetLowered(w, widget_index), w->widget[widget_index].top + 1 + IsWindowWidgetLowered(w, widget_index), str, 0xC);
 
			IsWindowWidgetLowered(w, widget_index), w->widget[widget_index].top + 1 + IsWindowWidgetLowered(w, widget_index), str, TC_WHITE);
 
	}
 
}
 

	
 
@@ -985,7 +985,7 @@ static void DrawPlayerVehiclesAmount(Pla
 
	uint air   = 0;
 
	uint ship  = 0;
 

	
 
	DrawString(x, y, STR_7039_VEHICLES, 0);
 
	DrawString(x, y, STR_7039_VEHICLES, TC_FROMSTRING);
 

	
 
	FOR_ALL_VEHICLES(v) {
 
		if (v->owner == player) {
 
@@ -1000,29 +1000,29 @@ static void DrawPlayerVehiclesAmount(Pla
 
	}
 

	
 
	if (train + road + air + ship == 0) {
 
		DrawString(x + 70, y, STR_7042_NONE, 0);
 
		DrawString(x + 70, y, STR_7042_NONE, TC_FROMSTRING);
 
	} else {
 
		if (train != 0) {
 
			SetDParam(0, train);
 
			DrawString(x + 70, y, STR_TRAINS, 0);
 
			DrawString(x + 70, y, STR_TRAINS, TC_FROMSTRING);
 
			y += 10;
 
		}
 

	
 
		if (road != 0) {
 
			SetDParam(0, road);
 
			DrawString(x + 70, y, STR_ROAD_VEHICLES, 0);
 
			DrawString(x + 70, y, STR_ROAD_VEHICLES, TC_FROMSTRING);
 
			y += 10;
 
		}
 

	
 
		if (air != 0) {
 
			SetDParam(0, air);
 
			DrawString(x + 70, y, STR_AIRCRAFT, 0);
 
			DrawString(x + 70, y, STR_AIRCRAFT, TC_FROMSTRING);
 
			y += 10;
 
		}
 

	
 
		if (ship != 0) {
 
			SetDParam(0, ship);
 
			DrawString(x + 70, y, STR_SHIPS, 0);
 
			DrawString(x + 70, y, STR_SHIPS, TC_FROMSTRING);
 
		}
 
	}
 
}
 
@@ -1052,7 +1052,7 @@ static void DrawCompanyOwnerText(const P
 
		}
 
	}
 

	
 
	if (num >= 0) DrawString(120, 124, STR_707D_OWNED_BY + num, 0);
 
	if (num >= 0) DrawString(120, 124, STR_707D_OWNED_BY + num, TC_FROMSTRING);
 
}
 

	
 
/**
 
@@ -1105,11 +1105,11 @@ static void PlayerCompanyWndProc(Window 
 
			DrawWindowWidgets(w);
 

	
 
			SetDParam(0, p->inaugurated_year);
 
			DrawString(110, 25, STR_7038_INAUGURATED, 0);
 
			DrawString(110, 25, STR_7038_INAUGURATED, TC_FROMSTRING);
 

	
 
			DrawPlayerVehiclesAmount((PlayerID)w->window_number);
 

	
 
			DrawString(110, 48, STR_7006_COLOR_SCHEME, 0);
 
			DrawString(110, 48, STR_7006_COLOR_SCHEME, TC_FROMSTRING);
 
			/* Draw company-colour bus */
 
			DrawSprite(SPR_VEH_BUS_SW_VIEW, PLAYER_SPRITE_COLOR(p->index), 215, 49);
 

	
 
@@ -1119,7 +1119,7 @@ static void PlayerCompanyWndProc(Window 
 
			DrawStringMultiCenter(48, 141, STR_7037_PRESIDENT, 94);
 

	
 
			SetDParam(0, CalculateCompanyValue(p));
 
			DrawString(110, 114, STR_7076_COMPANY_VALUE, 0);
 
			DrawString(110, 114, STR_7076_COMPANY_VALUE, TC_FROMSTRING);
 

	
 
			DrawCompanyOwnerText(p);
 

	
 
@@ -1396,10 +1396,10 @@ static void HighScoreWndProc(Window *w, 
 
		/* Draw Highscore peepz */
 
		for (i = 0; i < lengthof(_highscore_table[0]); i++) {
 
			SetDParam(0, i + 1);
 
			DrawString(x + 40, y + 140 + (i * 55), STR_0212, 0x10);
 
			DrawString(x + 40, y + 140 + (i * 55), STR_0212, TC_BLACK);
 

	
 
			if (hs[i].company[0] != '\0') {
 
				uint16 colour = (WP(w, highscore_d).rank == (int8)i) ? 0x3 : 0x10; // draw new highscore in red
 
				TextColour colour = (WP(w, highscore_d).rank == (int8)i) ? TC_RED : TC_BLACK; // draw new highscore in red
 

	
 
				DoDrawString(hs[i].company, x + 71, y + 140 + (i * 55), colour);
 
				SetDParam(0, hs[i].title);
src/rail_gui.cpp
Show inline comments
 
@@ -809,10 +809,10 @@ static void StationBuildWndProc(Window *
 
			_cur_dpi = old_dpi;
 
		}
 

	
 
		DrawStringCentered(74, 15 + y_offset, STR_3002_ORIENTATION, 0);
 
		DrawStringCentered(74, 76 + y_offset, STR_3003_NUMBER_OF_TRACKS, 0);
 
		DrawStringCentered(74, 101 + y_offset, STR_3004_PLATFORM_LENGTH, 0);
 
		DrawStringCentered(74, 141 + y_offset, STR_3066_COVERAGE_AREA_HIGHLIGHT, 0);
 
		DrawStringCentered(74, 15 + y_offset, STR_3002_ORIENTATION, TC_FROMSTRING);
 
		DrawStringCentered(74, 76 + y_offset, STR_3003_NUMBER_OF_TRACKS, TC_FROMSTRING);
 
		DrawStringCentered(74, 101 + y_offset, STR_3004_PLATFORM_LENGTH, TC_FROMSTRING);
 
		DrawStringCentered(74, 141 + y_offset, STR_3066_COVERAGE_AREA_HIGHLIGHT, TC_FROMSTRING);
 

	
 
		DrawStationCoverageAreaText(2, 166 + y_offset, SCT_ALL, rad);
 

	
 
@@ -827,9 +827,9 @@ static void StationBuildWndProc(Window *
 
						GfxFillRect(8, y - 2, 127, y + 10, (1 << PALETTE_MODIFIER_GREYOUT));
 
					}
 

	
 
					DrawStringTruncated(9, y, statspec->name, i == _railstation.station_type ? 12 : 16, 118);
 
					DrawStringTruncated(9, y, statspec->name, i == _railstation.station_type ? TC_WHITE : TC_BLACK, 118);
 
				} else {
 
					DrawStringTruncated(9, y, STR_STAT_CLASS_DFLT, i == _railstation.station_type ? 12 : 16, 118);
 
					DrawStringTruncated(9, y, STR_STAT_CLASS_DFLT, i == _railstation.station_type ? TC_WHITE : TC_BLACK, 118);
 
				}
 

	
 
				y += 14;
 
@@ -1369,3 +1369,4 @@ void SetDefaultRailGui()
 
	}
 
}
 

	
 

	
src/roadveh_gui.cpp
Show inline comments
 
@@ -28,7 +28,7 @@ void DrawRoadVehDetails(const Vehicle *v
 
	SetDParam(0, v->engine_type);
 
	SetDParam(1, v->build_year);
 
	SetDParam(2, v->value);
 
	DrawString(x, y + y_offset, STR_9011_BUILT_VALUE, 0);
 
	DrawString(x, y + y_offset, STR_9011_BUILT_VALUE, TC_FROMSTRING);
 

	
 
	if (RoadVehHasArticPart(v)) {
 
		AcceptedCargo max_cargo;
 
@@ -58,7 +58,7 @@ void DrawRoadVehDetails(const Vehicle *v
 
		}
 

	
 
		SetDParamStr(0, capacity);
 
		DrawStringTruncated(x, y + 10 + y_offset, STR_JUST_STRING, 0, 380 - x);
 
		DrawStringTruncated(x, y + 10 + y_offset, STR_JUST_STRING, TC_BLUE, 380 - x);
 

	
 
		for (const Vehicle *u = v; u != NULL; u = u->Next()) {
 
			str = STR_8812_EMPTY;
 
@@ -68,7 +68,7 @@ void DrawRoadVehDetails(const Vehicle *v
 
				SetDParam(2, u->cargo.Source());
 
				str = STR_8813_FROM;
 
			}
 
			DrawString(x, y + 21 + y_offset, str, 0);
 
			DrawString(x, y + 21 + y_offset, str, TC_FROMSTRING);
 

	
 
			y_offset += 11;
 
		}
 
@@ -77,7 +77,7 @@ void DrawRoadVehDetails(const Vehicle *v
 
	} else {
 
		SetDParam(0, v->cargo_type);
 
		SetDParam(1, v->cargo_cap);
 
		DrawString(x, y + 10 + y_offset, STR_9012_CAPACITY, 0);
 
		DrawString(x, y + 10 + y_offset, STR_9012_CAPACITY, TC_FROMSTRING);
 

	
 
		str = STR_8812_EMPTY;
 
		if (!v->cargo.Empty()) {
 
@@ -86,12 +86,12 @@ void DrawRoadVehDetails(const Vehicle *v
 
			SetDParam(2, v->cargo.Source());
 
			str = STR_8813_FROM;
 
		}
 
		DrawString(x, y + 21 + y_offset, str, 0);
 
		DrawString(x, y + 21 + y_offset, str, TC_FROMSTRING);
 
	}
 

	
 
	/* Draw Transfer credits text */
 
	SetDParam(0, v->cargo.FeederShare());
 
	DrawString(x, y + 33 + y_offset, STR_FEEDER_CARGO_VALUE, 0);
 
	DrawString(x, y + 33 + y_offset, STR_FEEDER_CARGO_VALUE, TC_FROMSTRING);
 
}
 

	
 

	
src/settings_gui.cpp
Show inline comments
 
@@ -155,7 +155,7 @@ static void GameOptionsWndProc(Window *w
 
		SetWindowWidgetLoweredState(w, 28, _fullscreen);
 

	
 
		DrawWindowWidgets(w);
 
		DrawString(20, 175, STR_OPTIONS_FULLSCREEN, 0); // fullscreen
 
		DrawString(20, 175, STR_OPTIONS_FULLSCREEN, TC_FROMSTRING); // fullscreen
 
	} break;
 

	
 
	case WE_CLICK:
 
@@ -485,14 +485,14 @@ static void GameDifficultyWndProc(Window
 
				GfxFillRect(16, y + 1, 16 + 8, y + 8, color);
 
			}
 

	
 
			DrawStringCentered(10, y, STR_6819, 0);
 
			DrawStringCentered(20, y, STR_681A, 0);
 
			DrawStringCentered(10, y, STR_6819, TC_FROMSTRING);
 
			DrawStringCentered(20, y, STR_681A, TC_FROMSTRING);
 

	
 

	
 
			value = _game_setting_info[i].str + ((GDType*)&_opt_mod_temp.diff)[i];
 
			if (i == 4) value *= 1000; // XXX - handle currency option
 
			SetDParam(0, value);
 
			DrawString(30, y, STR_6805_MAXIMUM_NO_COMPETITORS + i, 0);
 
			DrawString(30, y, STR_6805_MAXIMUM_NO_COMPETITORS + i, TC_FROMSTRING);
 

	
 
			y += GAMEDIFF_WND_ROWSIZE + 2; // space items apart a bit
 
		}
 
@@ -857,7 +857,7 @@ static void PatchesSelectionWndProc(Wind
 
					SetDParam(1, value);
 
				}
 
			}
 
			DrawString(30, y, (sdb->str) + disabled, 0);
 
			DrawString(30, y, (sdb->str) + disabled, TC_FROMSTRING);
 
			y += 11;
 
		}
 
		break;
 
@@ -1031,8 +1031,8 @@ void DrawArrowButtons(int x, int y, int 
 

	
 
	DrawFrameRect(x,      y + 1, x +  9, y + 9, ctab, (state == 1) ? FR_LOWERED : FR_NONE);
 
	DrawFrameRect(x + 10, y + 1, x + 19, y + 9, ctab, (state == 2) ? FR_LOWERED : FR_NONE);
 
	DrawStringCentered(x +  5, y + 1, STR_6819, 0); // [<]
 
	DrawStringCentered(x + 15, y + 1, STR_681A, 0); // [>]
 
	DrawStringCentered(x +  5, y + 1, STR_6819, TC_FROMSTRING); // [<]
 
	DrawStringCentered(x + 15, y + 1, STR_681A, TC_FROMSTRING); // [>]
 

	
 
	/* Grey out the buttons that aren't clickable */
 
	if (!clickable_left)
 
@@ -1056,37 +1056,37 @@ static void CustCurrencyWndProc(Window *
 
			DrawArrowButtons(10, y, 3, GB(clk, 0, 2), true, true);
 
			SetDParam(0, 1);
 
			SetDParam(1, 1);
 
			DrawString(35, y + 1, STR_CURRENCY_EXCHANGE_RATE, 0);
 
			DrawString(35, y + 1, STR_CURRENCY_EXCHANGE_RATE, TC_FROMSTRING);
 
			y += 12;
 

	
 
			// separator
 
			DrawFrameRect(10, y + 1, 29, y + 9, 0, GB(clk, 2, 2) ? FR_LOWERED : FR_NONE);
 
			x = DrawString(35, y + 1, STR_CURRENCY_SEPARATOR, 0);
 
			DoDrawString(_str_separator, x + 4, y + 1, 6);
 
			x = DrawString(35, y + 1, STR_CURRENCY_SEPARATOR, TC_FROMSTRING);
 
			DoDrawString(_str_separator, x + 4, y + 1, TC_ORANGE);
 
			y += 12;
 

	
 
			// prefix
 
			DrawFrameRect(10, y + 1, 29, y + 9, 0, GB(clk, 4, 2) ? FR_LOWERED : FR_NONE);
 
			x = DrawString(35, y + 1, STR_CURRENCY_PREFIX, 0);
 
			DoDrawString(_custom_currency.prefix, x + 4, y + 1, 6);
 
			x = DrawString(35, y + 1, STR_CURRENCY_PREFIX, TC_FROMSTRING);
 
			DoDrawString(_custom_currency.prefix, x + 4, y + 1, TC_ORANGE);
 
			y += 12;
 

	
 
			// suffix
 
			DrawFrameRect(10, y + 1, 29, y + 9, 0, GB(clk, 6, 2) ? FR_LOWERED : FR_NONE);
 
			x = DrawString(35, y + 1, STR_CURRENCY_SUFFIX, 0);
 
			DoDrawString(_custom_currency.suffix, x + 4, y + 1, 6);
 
			x = DrawString(35, y + 1, STR_CURRENCY_SUFFIX, TC_FROMSTRING);
 
			DoDrawString(_custom_currency.suffix, x + 4, y + 1, TC_ORANGE);
 
			y += 12;
 

	
 
			// switch to euro
 
			DrawArrowButtons(10, y, 3, GB(clk, 8, 2), true, true);
 
			SetDParam(0, _custom_currency.to_euro);
 
			DrawString(35, y + 1, (_custom_currency.to_euro != CF_NOEURO) ? STR_CURRENCY_SWITCH_TO_EURO : STR_CURRENCY_SWITCH_TO_EURO_NEVER, 0);
 
			DrawString(35, y + 1, (_custom_currency.to_euro != CF_NOEURO) ? STR_CURRENCY_SWITCH_TO_EURO : STR_CURRENCY_SWITCH_TO_EURO_NEVER, TC_FROMSTRING);
 
			y += 12;
 

	
 
			// Preview
 
			y += 12;
 
			SetDParam(0, 10000);
 
			DrawString(35, y + 1, STR_CURRENCY_PREVIEW, 0);
 
			DrawString(35, y + 1, STR_CURRENCY_PREVIEW, TC_FROMSTRING);
 
			break;
 
		}
 

	
src/ship_gui.cpp
Show inline comments
 
@@ -52,11 +52,11 @@ void DrawShipDetails(const Vehicle *v, i
 
	SetDParam(0, v->engine_type);
 
	SetDParam(1, v->build_year);
 
	SetDParam(2, v->value);
 
	DrawString(x, y, STR_9816_BUILT_VALUE, 0);
 
	DrawString(x, y, STR_9816_BUILT_VALUE, TC_FROMSTRING);
 

	
 
	SetDParam(0, v->cargo_type);
 
	SetDParam(1, v->cargo_cap);
 
	DrawString(x, y + 10, STR_9817_CAPACITY, 0);
 
	DrawString(x, y + 10, STR_9817_CAPACITY, TC_FROMSTRING);
 

	
 
	StringID str = STR_8812_EMPTY;
 
	if (!v->cargo.Empty()) {
 
@@ -65,9 +65,9 @@ void DrawShipDetails(const Vehicle *v, i
 
		SetDParam(2, v->cargo.Source());
 
		str = STR_8813_FROM;
 
	}
 
	DrawString(x, y + 21, str, 0);
 
	DrawString(x, y + 21, str, TC_FROMSTRING);
 

	
 
	/* Draw Transfer credits text */
 
	SetDParam(0, v->cargo.FeederShare());
 
	DrawString(x, y + 33, STR_FEEDER_CARGO_VALUE, 0);
 
	DrawString(x, y + 33, STR_FEEDER_CARGO_VALUE, TC_FROMSTRING);
 
}
src/signs_gui.cpp
Show inline comments
 
@@ -75,7 +75,7 @@ static void SignListWndProc(Window *w, W
 

	
 
		/* No signs? */
 
		if (w->vscroll.count == 0) {
 
			DrawString(2, y, STR_304A_NONE, 0);
 
			DrawString(2, y, STR_304A_NONE, TC_FROMSTRING);
 
			return;
 
		}
 

	
 
@@ -90,7 +90,7 @@ static void SignListWndProc(Window *w, W
 
					DrawPlayerIcon(si->owner, 4, y + 1);
 

	
 
				SetDParam(0, si->index);
 
				DrawString(22, y, STR_SIGN_NAME, 8);
 
				DrawString(22, y, STR_SIGN_NAME, TC_YELLOW);
 
				y += 10;
 
			}
 
		}
 
@@ -321,3 +321,4 @@ void ShowRenameSignWindow(const Sign *si
 
}
 

	
 

	
 

	
src/smallmap_gui.cpp
Show inline comments
 
@@ -681,7 +681,7 @@ skip_column:
 
					y < dpi->top + dpi->height) {
 
				/* And draw it. */
 
				SetDParam(0, t->index);
 
				DrawString(x, y, STR_2056, 12);
 
				DrawString(x, y, STR_2056, TC_WHITE);
 
			}
 
		}
 
	}
 
@@ -752,9 +752,9 @@ static void SmallMapWindowProc(Window *w
 
					/* Industry name must be formated, since it's not in tiny font in the specs.
 
					* So, draw with a parameter and use the STR_7065 string, which is tiny, black */
 
					SetDParam(0, tbl->legend);
 
					DrawString(x + 11, y, STR_7065, 0);
 
					DrawString(x + 11, y, STR_7065, TC_FROMSTRING);
 
				} else {
 
					DrawString(x + 11, y, tbl->legend, 0);
 
					DrawString(x + 11, y, tbl->legend, TC_FROMSTRING);
 
				}
 

	
 
				tbl += 1;
src/station_gui.cpp
Show inline comments
 
@@ -79,7 +79,7 @@ static void StationsWndShowStationRating
 
		}
 
	}
 

	
 
	DrawString(x + 1, y, cs->abbrev, 0x10);
 
	DrawString(x + 1, y, cs->abbrev, TC_BLACK);
 

	
 
	/* Draw green/red ratings bar (fits into 14 pixels) */
 
	y += 8;
 
@@ -314,9 +314,9 @@ static void PlayerStationsWndProc(Window
 
			DrawWindowWidgets(w);
 

	
 
			/* draw sorting criteria string */
 
			DrawString(85, 26, _station_sort_listing[sl->sort_type], 0x10);
 
			DrawString(85, 26, _station_sort_listing[sl->sort_type], TC_BLACK);
 
			/* draw arrow pointing up/down for ascending/descending sorting */
 
			DoDrawString(sl->flags & SL_ORDER ? DOWNARROW : UPARROW, 69, 26, 0x10);
 
			DoDrawString(sl->flags & SL_ORDER ? DOWNARROW : UPARROW, 69, 26, TC_BLACK);
 

	
 
			int cg_ofst;
 
			int x = 89;
 
@@ -330,23 +330,23 @@ static void PlayerStationsWndProc(Window
 

	
 
				cg_ofst = HASBIT(_cargo_filter, c) ? 2 : 1;
 
				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);
 
				DrawStringCentered(x + 6 + cg_ofst, y + cg_ofst, cs->abbrev, TC_BLACK);
 
				x += 14;
 
				i++;
 
			}
 

	
 
			x += 6;
 
			cg_ofst = IsWindowWidgetLowered(w, STATIONLIST_WIDGET_NOCARGOWAITING) ? 2 : 1;
 
			DrawStringCentered(x + cg_ofst, y + cg_ofst, STR_ABBREV_NONE, 16);
 
			DrawStringCentered(x + cg_ofst, y + cg_ofst, STR_ABBREV_NONE, TC_BLACK);
 
			x += 14;
 
			cg_ofst = IsWindowWidgetLowered(w, STATIONLIST_WIDGET_CARGOALL) ? 2 : 1;
 
			DrawStringCentered(x + cg_ofst, y + cg_ofst, STR_ABBREV_ALL, 16);
 
			DrawStringCentered(x + cg_ofst, y + cg_ofst, STR_ABBREV_ALL, TC_BLACK);
 

	
 
			cg_ofst = IsWindowWidgetLowered(w, STATIONLIST_WIDGET_FACILALL) ? 2 : 1;
 
			DrawString(71 + cg_ofst, y + cg_ofst, STR_ABBREV_ALL, 16);
 
			DrawString(71 + cg_ofst, y + cg_ofst, STR_ABBREV_ALL, TC_BLACK);
 

	
 
			if (w->vscroll.count == 0) { // player has no stations
 
				DrawString(xb, 40, STR_304A_NONE, 0);
 
				DrawString(xb, 40, STR_304A_NONE, TC_FROMSTRING);
 
				return;
 
			}
 

	
 
@@ -362,7 +362,7 @@ static void PlayerStationsWndProc(Window
 

	
 
				SetDParam(0, st->index);
 
				SetDParam(1, st->facilities);
 
				x = DrawString(xb, y, STR_3049_0, 0) + 5;
 
				x = DrawString(xb, y, STR_3049_0, TC_FROMSTRING) + 5;
 

	
 
				/* show cargo waiting and station ratings */
 
				for (CargoID j = 0; j < NUM_CARGO; j++) {
 
@@ -729,7 +729,7 @@ static void DrawStationViewWindow(Window
 
			if (!st->goods[i].cargo.Empty()) str = STR_EMPTY;
 
		}
 
		SetDParam(0, str);
 
		DrawString(x, y, STR_0008_WAITING, 0);
 
		DrawString(x, y, STR_0008_WAITING, TC_FROMSTRING);
 
		y += 10;
 
	}
 

	
 
@@ -742,7 +742,7 @@ static void DrawStationViewWindow(Window
 
				DrawCargoIcons(i, waiting, x, y);
 
				SetDParam(1, waiting);
 
				SetDParam(0, i);
 
				DrawStringRightAligned(x + 234, y, STR_0009, 0);
 
				DrawStringRightAligned(x + 234, y, STR_0009, TC_FROMSTRING);
 
				y += 10;
 
			}
 
		} else {
 
@@ -751,13 +751,13 @@ static void DrawStationViewWindow(Window
 
				DrawCargoIcons(i, waiting, x, y);
 
				SetDParam(1, waiting);
 
				SetDParam(0, i);
 
				DrawStringRightAligned(x + 234, y, STR_000A_EN_ROUTE_FROM, 0);
 
				DrawStringRightAligned(x + 234, y, STR_000A_EN_ROUTE_FROM, TC_FROMSTRING);
 
				y += 10;
 
			}
 

	
 
			if (pos > -5 && --pos < 0) {
 
				SetDParam(0, st->goods[i].cargo.Source());
 
				DrawStringRightAligned(x + 234, y, STR_000B, 0);
 
				DrawStringRightAligned(x + 234, y, STR_000B, TC_FROMSTRING);
 
				y += 10;
 
			}
 
		}
 
@@ -789,7 +789,7 @@ static void DrawStationViewWindow(Window
 
		*b = '\0';
 
		DrawStringMultiLine(2, 67, STR_SPEC_USERSTRING, 245);
 
	} else {
 
		DrawString(2, 67, STR_3034_LOCAL_RATING_OF_TRANSPORT, 0);
 
		DrawString(2, 67, STR_3034_LOCAL_RATING_OF_TRANSPORT, TC_FROMSTRING);
 

	
 
		y = 77;
 
		for (CargoID i = 0; i < NUM_CARGO; i++) {
 
@@ -802,7 +802,7 @@ static void DrawStationViewWindow(Window
 
			SetDParam(0, cs->name);
 
			SetDParam(2, ge->rating * 101 >> 8);
 
			SetDParam(1, STR_3035_APPALLING + (ge->rating >> 5));
 
			DrawString(8, y, STR_303D, 0);
 
			DrawString(8, y, STR_303D, TC_FROMSTRING);
 
			y += 10;
 
		}
 
	}
src/subsidy_gui.cpp
Show inline comments
 
@@ -94,7 +94,7 @@ static void DrawSubsidiesWindow(const Wi
 

	
 
	y = 15;
 
	x = 1;
 
	DrawString(x, y, STR_2026_SUBSIDIES_ON_OFFER_FOR, 0);
 
	DrawString(x, y, STR_2026_SUBSIDIES_ON_OFFER_FOR, TC_FROMSTRING);
 
	y += 10;
 
	num = 0;
 

	
 
@@ -103,21 +103,21 @@ static void DrawSubsidiesWindow(const Wi
 
			int x2;
 

	
 
			SetupSubsidyDecodeParam(s, 1);
 
			x2 = DrawString(x + 2, y, STR_2027_FROM_TO, 0);
 
			x2 = DrawString(x + 2, y, STR_2027_FROM_TO, TC_FROMSTRING);
 

	
 
			SetDParam(0, _date - ymd.day + 384 - s->age * 32);
 
			DrawString(x2, y, STR_2028_BY, 0);
 
			DrawString(x2, y, STR_2028_BY, TC_FROMSTRING);
 
			y += 10;
 
			num++;
 
		}
 
	}
 

	
 
	if (num == 0) {
 
		DrawString(x + 2, y, STR_202A_NONE, 0);
 
		DrawString(x + 2, y, STR_202A_NONE, TC_FROMSTRING);
 
		y += 10;
 
	}
 

	
 
	DrawString(x, y + 1, STR_202B_SERVICES_ALREADY_SUBSIDISED, 0);
 
	DrawString(x, y + 1, STR_202B_SERVICES_ALREADY_SUBSIDISED, TC_FROMSTRING);
 
	y += 10;
 
	num = 0;
 

	
 
@@ -130,16 +130,16 @@ static void DrawSubsidiesWindow(const Wi
 
			PlayerID player = GetStation(s->to)->owner;
 
			SetDParam(3, player);
 

	
 
			xt = DrawString(x + 2, y, STR_202C_FROM_TO, 0);
 
			xt = DrawString(x + 2, y, STR_202C_FROM_TO, TC_FROMSTRING);
 

	
 
			SetDParam(0, _date - ymd.day + 768 - s->age * 32);
 
			DrawString(xt, y, STR_202D_UNTIL, 0);
 
			DrawString(xt, y, STR_202D_UNTIL, TC_FROMSTRING);
 
			y += 10;
 
			num++;
 
		}
 
	}
 

	
 
	if (num == 0) DrawString(x + 2, y, STR_202A_NONE, 0);
 
	if (num == 0) DrawString(x + 2, y, STR_202A_NONE, TC_FROMSTRING);
 
}
 

	
 
static void SubsidiesListWndProc(Window *w, WindowEvent *e)
src/timetable_gui.cpp
Show inline comments
 
@@ -141,8 +141,7 @@ static void DrawTimetableWindow(Window *
 
				default: break;
 
			}
 

	
 
			const byte colour = (i == selected) ? 0xC : 0x10;
 
			DrawString(2, y, STR_TIMETABLE_GO_TO, colour);
 
			DrawString(2, y, STR_TIMETABLE_GO_TO, (i == selected) ? TC_WHITE : TC_BLACK);
 

	
 
			order_id++;
 

	
 
@@ -162,8 +161,7 @@ static void DrawTimetableWindow(Window *
 
				string = STR_TIMETABLE_TRAVEL_FOR;
 
			}
 

	
 
			const byte colour = (i == selected) ? 0xC : 0x10;
 
			DrawString(12, y, string, colour);
 
			DrawString(12, y, string, (i == selected) ? TC_WHITE : TC_BLACK);
 

	
 
			if (final_order) break;
 
		}
 
@@ -186,16 +184,16 @@ static void DrawTimetableWindow(Window *
 

	
 
		if (total_time != 0) {
 
			SetTimetableParams(0, 1, total_time);
 
			DrawString(2, y, complete ? STR_TIMETABLE_TOTAL_TIME : STR_TIMETABLE_TOTAL_TIME_INCOMPLETE, 0x10);
 
			DrawString(2, y, complete ? STR_TIMETABLE_TOTAL_TIME : STR_TIMETABLE_TOTAL_TIME_INCOMPLETE, TC_BLACK);
 
		}
 
	}
 
	y += 10;
 

	
 
	if (v->lateness_counter == 0 || (!_patches.timetable_in_ticks && v->lateness_counter / DAY_TICKS == 0)) {
 
		DrawString(2, y, STR_TIMETABLE_STATUS_ON_TIME, 0x10);
 
		DrawString(2, y, STR_TIMETABLE_STATUS_ON_TIME, TC_BLACK);
 
	} else {
 
		SetTimetableParams(0, 1, abs(v->lateness_counter));
 
		DrawString(2, y, v->lateness_counter < 0 ? STR_TIMETABLE_STATUS_EARLY : STR_TIMETABLE_STATUS_LATE, 0x10);
 
		DrawString(2, y, v->lateness_counter < 0 ? STR_TIMETABLE_STATUS_EARLY : STR_TIMETABLE_STATUS_LATE, TC_BLACK);
 
	}
 
}
 

	
src/town_gui.cpp
Show inline comments
 
@@ -146,7 +146,7 @@ static void TownAuthorityWndProc(Window 
 
			SetDParam(0, w->window_number);
 
			DrawWindowWidgets(w);
 

	
 
			DrawString(2, 15, STR_2023_TRANSPORT_COMPANY_RATINGS, 0);
 
			DrawString(2, 15, STR_2023_TRANSPORT_COMPANY_RATINGS, TC_FROMSTRING);
 

	
 
			/* Draw list of players */
 
			y = 25;
 
@@ -172,7 +172,7 @@ static void TownAuthorityWndProc(Window 
 
						DrawSprite(SPR_BLOT, PALETTE_TO_RED, 18, y);
 
					}
 

	
 
					DrawString(28, y, STR_2024, 0);
 
					DrawString(28, y, STR_2024, TC_FROMSTRING);
 
					y += 10;
 
				}
 
			}
 
@@ -184,14 +184,14 @@ static void TownAuthorityWndProc(Window 
 
			int pos = w->vscroll.pos;
 

	
 
			if (--pos < 0) {
 
				DrawString(2, y, STR_2045_ACTIONS_AVAILABLE, 0);
 
				DrawString(2, y, STR_2045_ACTIONS_AVAILABLE, TC_FROMSTRING);
 
				y += 10;
 
			}
 
			for (i = 0; buttons; i++, buttons >>= 1) {
 
				if (pos <= -5) break; ///< Draw only the 5 fitting lines
 

	
 
				if ((buttons & 1) && --pos < 0) {
 
					DrawString(3, y, STR_2046_SMALL_ADVERTISING_CAMPAIGN + i, 6);
 
					DrawString(3, y, STR_2046_SMALL_ADVERTISING_CAMPAIGN + i, TC_ORANGE);
 
					y += 10;
 
				}
 
			}
 
@@ -272,15 +272,15 @@ static void TownViewWndProc(Window *w, W
 

	
 
		SetDParam(0, t->population);
 
		SetDParam(1, t->num_houses);
 
		DrawString(2, 107, STR_2006_POPULATION, 0);
 
		DrawString(2, 107, STR_2006_POPULATION, TC_FROMSTRING);
 

	
 
		SetDParam(0, t->act_pass);
 
		SetDParam(1, t->max_pass);
 
		DrawString(2, 117, STR_200D_PASSENGERS_LAST_MONTH_MAX, 0);
 
		DrawString(2, 117, STR_200D_PASSENGERS_LAST_MONTH_MAX, TC_FROMSTRING);
 

	
 
		SetDParam(0, t->act_mail);
 
		SetDParam(1, t->max_mail);
 
		DrawString(2, 127, STR_200E_MAIL_LAST_MONTH_MAX, 0);
 
		DrawString(2, 127, STR_200E_MAIL_LAST_MONTH_MAX, TC_FROMSTRING);
 

	
 
		DrawWindowViewport(w);
 
		break;
 
@@ -466,7 +466,7 @@ static void TownDirectoryWndProc(Window 
 
		SetVScrollCount(w, _num_town_sort);
 

	
 
		DrawWindowWidgets(w);
 
		DoDrawString(_town_sort_order & 1 ? DOWNARROW : UPARROW, (_town_sort_order <= 1) ? 88 : 187, 15, 0x10);
 
		DoDrawString(_town_sort_order & 1 ? DOWNARROW : UPARROW, (_town_sort_order <= 1) ? 88 : 187, 15, TC_BLACK);
 

	
 
		{
 
			int n = 0;
 
@@ -480,14 +480,14 @@ static void TownDirectoryWndProc(Window 
 

	
 
				SetDParam(0, t->index);
 
				SetDParam(1, t->population);
 
				DrawString(2, y, STR_2057, 0);
 
				DrawString(2, y, STR_2057, TC_FROMSTRING);
 

	
 
				y += 10;
 
				i++;
 
				if (++n == w->vscroll.cap) break; // max number of towns in 1 window
 
			}
 
			SetDParam(0, GetWorldPopulation());
 
			DrawString(3, w->height - 12 + 2, STR_TOWN_POPULATION, 0);
 
			DrawString(3, w->height - 12 + 2, STR_TOWN_POPULATION, TC_FROMSTRING);
 
		}
 
	} break;
 

	
src/train_gui.cpp
Show inline comments
 
@@ -124,7 +124,7 @@ static void TrainDetailsCargoTab(const V
 
			SetDParam(3, _patches.freight_trains);
 
			str = FreightWagonMult(v->cargo_type) > 1 ? STR_FROM_MULT : STR_8813_FROM;
 
		}
 
		DrawString(x, y, str, 0);
 
		DrawString(x, y, str, TC_FROMSTRING);
 
	}
 
}
 

	
 
@@ -133,12 +133,12 @@ static void TrainDetailsInfoTab(const Ve
 
	if (RailVehInfo(v->engine_type)->railveh_type == RAILVEH_WAGON) {
 
		SetDParam(0, v->engine_type);
 
		SetDParam(1, v->value);
 
		DrawString(x, y, STR_882D_VALUE, 0x10);
 
		DrawString(x, y, STR_882D_VALUE, TC_BLACK);
 
	} else {
 
		SetDParam(0, v->engine_type);
 
		SetDParam(1, v->build_year);
 
		SetDParam(2, v->value);
 
		DrawString(x, y, STR_882C_BUILT_VALUE, 0x10);
 
		DrawString(x, y, STR_882C_BUILT_VALUE, TC_BLACK);
 
	}
 
}
 

	
 
@@ -148,7 +148,7 @@ static void TrainDetailsCapacityTab(cons
 
		SetDParam(0, v->cargo_type);
 
		SetDParam(1, v->cargo_cap);
 
		SetDParam(2, _patches.freight_trains);
 
		DrawString(x, y, FreightWagonMult(v->cargo_type) > 1 ? STR_CAPACITY_MULT : STR_013F_CAPACITY, 0);
 
		DrawString(x, y, FreightWagonMult(v->cargo_type) > 1 ? STR_CAPACITY_MULT : STR_013F_CAPACITY, TC_FROMSTRING);
 
	}
 
}
 

	
 
@@ -240,7 +240,7 @@ void DrawTrainDetails(const Vehicle *v, 
 
		}
 

	
 
		/* draw total cargo tab */
 
		DrawString(x, y + 2, STR_013F_TOTAL_CAPACITY_TEXT, 0);
 
		DrawString(x, y + 2, STR_013F_TOTAL_CAPACITY_TEXT, TC_FROMSTRING);
 
		for (CargoID i = 0; i < NUM_CARGO; i++) {
 
			if (max_cargo[i] > 0 && --vscroll_pos < 0 && vscroll_pos > -vscroll_cap) {
 
				y += 14;
 
@@ -249,10 +249,10 @@ void DrawTrainDetails(const Vehicle *v, 
 
				SetDParam(2, i);            // {SHORTCARGO} #1
 
				SetDParam(3, max_cargo[i]); // {SHORTCARGO} #2
 
				SetDParam(4, _patches.freight_trains);
 
				DrawString(x, y + 2, FreightWagonMult(i) > 1 ? STR_TOTAL_CAPACITY_MULT : STR_013F_TOTAL_CAPACITY, 0);
 
				DrawString(x, y + 2, FreightWagonMult(i) > 1 ? STR_TOTAL_CAPACITY_MULT : STR_013F_TOTAL_CAPACITY, TC_FROMSTRING);
 
			}
 
		}
 
		SetDParam(0, v->cargo.FeederShare());
 
		DrawString(x, y + 15, STR_FEEDER_CARGO_VALUE, 0);
 
		DrawString(x, y + 15, STR_FEEDER_CARGO_VALUE, TC_FROMSTRING);
 
	}
 
}
src/vehicle_gui.cpp
Show inline comments
 
@@ -288,10 +288,10 @@ static RefitOption *DrawVehicleRefitWind
 

	
 
	/* Draw the list, and find the selected cargo (by its position in list) */
 
	for (i = 0; i < num_lines; i++) {
 
		byte colour = 16;
 
		TextColour colour = TC_BLACK;
 
		if (sel == 0) {
 
			selected = &refit[i];
 
			colour = 12;
 
			colour = TC_WHITE;
 
		}
 

	
 
		if (i >= pos && i < pos + rows) {
 
@@ -346,7 +346,7 @@ static void VehicleRefitWndProc(Window *
 
					SetDParam(0, WP(w, refit_d).cargo->cargo);
 
					SetDParam(1, _returned_refit_capacity);
 
					SetDParam(2, cost.GetCost());
 
					DrawString(2, w->widget[5].top + 1, STR_9840_NEW_CAPACITY_COST_OF_REFIT, 0);
 
					DrawString(2, w->widget[5].top + 1, STR_9840_NEW_CAPACITY_COST_OF_REFIT, TC_FROMSTRING);
 
				}
 
			}
 
		} break;
 
@@ -906,14 +906,14 @@ void DrawSmallOrderList(const Vehicle *v
 
	sel = v->cur_order_index;
 

	
 
	FOR_VEHICLE_ORDERS(v, order) {
 
		if (sel == 0) DrawString(x - 6, y, STR_SMALL_RIGHT_ARROW, 16);
 
		if (sel == 0) DrawString(x - 6, y, STR_SMALL_RIGHT_ARROW, TC_BLACK);
 
		sel--;
 

	
 
		if (order->type == OT_GOTO_STATION) {
 
			if (v->type == VEH_SHIP && GetStation(order->dest)->IsBuoy()) continue;
 

	
 
			SetDParam(0, order->dest);
 
			DrawString(x, y, STR_A036, 0);
 
			DrawString(x, y, STR_A036, TC_FROMSTRING);
 

	
 
			y += 6;
 
			if (++i == 4) break;
 
@@ -986,9 +986,9 @@ static void DrawVehicleListWindow(Window
 
	DrawWindowWidgets(w);
 

	
 
	/* draw sorting criteria string */
 
	DrawString(85, 15, _vehicle_sort_listing[vl->l.sort_type], 0x10);
 
	DrawString(85, 15, _vehicle_sort_listing[vl->l.sort_type], TC_BLACK);
 
	/* draw arrow pointing up/down for ascending/descending sorting */
 
	DoDrawString(vl->l.flags & VL_DESC ? DOWNARROW : UPARROW, 69, 15, 0x10);
 
	DoDrawString(vl->l.flags & VL_DESC ? DOWNARROW : UPARROW, 69, 15, TC_BLACK);
 

	
 
	max = min(w->vscroll.pos + w->vscroll.cap, vl->l.list_length);
 
	for (i = w->vscroll.pos; i < max; ++i) {
 
@@ -999,7 +999,7 @@ static void DrawVehicleListWindow(Window
 
		SetDParam(1, v->profit_last_year);
 

	
 
		DrawVehicleImage(v, x + 19, y + 6, w->widget[VLW_WIDGET_LIST].right - w->widget[VLW_WIDGET_LIST].left - 20, 0, INVALID_VEHICLE);
 
		DrawString(x + 19, y + w->resize.step_height - 8, STR_0198_PROFIT_THIS_YEAR_LAST_YEAR, 0);
 
		DrawString(x + 19, y + w->resize.step_height - 8, STR_0198_PROFIT_THIS_YEAR_LAST_YEAR, TC_FROMSTRING);
 

	
 
		if ((v->type == VEH_TRAIN    && v->string_id != STR_SV_TRAIN_NAME)   ||
 
			(v->type == VEH_ROAD     && v->string_id != STR_SV_ROADVEH_NAME) ||
 
@@ -1008,7 +1008,7 @@ static void DrawVehicleListWindow(Window
 

	
 
			/* The vehicle got a name so we will print it */
 
			SetDParam(0, v->index);
 
			DrawString(x + 19, y, STR_01AB, 0);
 
			DrawString(x + 19, y, STR_01AB, TC_FROMSTRING);
 
		}
 

	
 
		if (w->resize.step_height == PLY_WND_PRC__SIZE_OF_ROW_BIG) DrawSmallOrderList(v, x + 138, y);
 
@@ -1020,7 +1020,7 @@ static void DrawVehicleListWindow(Window
 
		}
 

	
 
		SetDParam(0, v->unitnumber);
 
		DrawString(x, y + 2, str, 0);
 
		DrawString(x, y + 2, str, TC_FROMSTRING);
 

	
 
		DrawVehicleProfitButton(v, x, y + 13);
 

	
 
@@ -1491,7 +1491,7 @@ static void DrawVehicleDetailsWindow(Win
 
	SetDParam(0, (v->age + 365 < v->max_age) ? STR_AGE : STR_AGE_RED);
 
	SetDParam(2, v->max_age / 366);
 
	SetDParam(3, v->GetDisplayRunningCost());
 
	DrawString(2, 15, _vehicle_translation_table[VST_VEHICLE_AGE_RUNNING_COST_YR][v->type], 0);
 
	DrawString(2, 15, _vehicle_translation_table[VST_VEHICLE_AGE_RUNNING_COST_YR][v->type], TC_FROMSTRING);
 

	
 
	/* Draw max speed */
 
	switch (v->type) {
 
@@ -1502,14 +1502,14 @@ static void DrawVehicleDetailsWindow(Win
 
			SetDParam(3, v->u.rail.cached_max_te / 1000);
 
			DrawString(2, 25, (_patches.realistic_acceleration && v->u.rail.railtype != RAILTYPE_MAGLEV) ?
 
				STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :
 
				STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED, 0);
 
				STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED, TC_FROMSTRING);
 
			break;
 

	
 
		case VEH_ROAD:
 
		case VEH_SHIP:
 
		case VEH_AIRCRAFT:
 
			SetDParam(0, v->GetDisplayMaxSpeed());
 
			DrawString(2, 25, _vehicle_translation_table[VST_VEHICLE_MAX_SPEED][v->type], 0);
 
			DrawString(2, 25, _vehicle_translation_table[VST_VEHICLE_MAX_SPEED][v->type], TC_FROMSTRING);
 
			break;
 

	
 
		default: NOT_REACHED();
 
@@ -1518,17 +1518,17 @@ static void DrawVehicleDetailsWindow(Win
 
	/* Draw profit */
 
	SetDParam(0, v->profit_this_year);
 
	SetDParam(1, v->profit_last_year);
 
	DrawString(2, 35, _vehicle_translation_table[VST_VEHICLE_PROFIT_THIS_YEAR_LAST_YEAR][v->type], 0);
 
	DrawString(2, 35, _vehicle_translation_table[VST_VEHICLE_PROFIT_THIS_YEAR_LAST_YEAR][v->type], TC_FROMSTRING);
 

	
 
	/* Draw breakdown & reliability */
 
	SetDParam(0, v->reliability * 100 >> 16);
 
	SetDParam(1, v->breakdowns_since_last_service);
 
	DrawString(2, 45, _vehicle_translation_table[VST_VEHICLE_RELIABILITY_BREAKDOWNS][v->type], 0);
 
	DrawString(2, 45, _vehicle_translation_table[VST_VEHICLE_RELIABILITY_BREAKDOWNS][v->type], TC_FROMSTRING);
 

	
 
	/* Draw service interval text */
 
	SetDParam(0, v->service_interval);
 
	SetDParam(1, v->date_of_last_service);
 
	DrawString(13, w->height - (v->type != VEH_TRAIN ? 11 : 23), _patches.servint_ispercent ? STR_SERVICING_INTERVAL_PERCENT : STR_883C_SERVICING_INTERVAL_DAYS, 0);
 
	DrawString(13, w->height - (v->type != VEH_TRAIN ? 11 : 23), _patches.servint_ispercent ? STR_SERVICING_INTERVAL_PERCENT : STR_883C_SERVICING_INTERVAL_DAYS, TC_FROMSTRING);
 

	
 
	switch (v->type) {
 
		case VEH_TRAIN:
 
@@ -2026,7 +2026,7 @@ static void DrawVehicleViewWindow(Window
 

	
 
	/* draw the flag plus orders */
 
	DrawSprite(v->vehstatus & VS_STOPPED ? SPR_FLAG_VEH_STOPPED : SPR_FLAG_VEH_RUNNING, PAL_NONE, 2, w->widget[VVW_WIDGET_START_STOP_VEH].top + 1);
 
	DrawStringCenteredTruncated(w->widget[VVW_WIDGET_START_STOP_VEH].left + 8, w->widget[VVW_WIDGET_START_STOP_VEH].right, w->widget[VVW_WIDGET_START_STOP_VEH].top + 1, str, 0);
 
	DrawStringCenteredTruncated(w->widget[VVW_WIDGET_START_STOP_VEH].left + 8, w->widget[VVW_WIDGET_START_STOP_VEH].right, w->widget[VVW_WIDGET_START_STOP_VEH].top + 1, str, TC_FROMSTRING);
 
	DrawWindowViewport(w);
 
}
 

	
src/viewport.cpp
Show inline comments
 
@@ -1500,7 +1500,7 @@ static void ViewportDrawStrings(DrawPixe
 
			 * otherwise colors from _string_colormap are assumed. */
 
			colour = _colour_gradient[ss->color][6] | IS_PALETTE_COLOR;
 
		} else {
 
			colour = 16;
 
			colour = TC_BLACK;
 
		}
 
		DrawString(
 
			UnScaleByZoom(ss->x, zoom), UnScaleByZoom(ss->y, zoom) - (ss->width & 0x8000 ? 2 : 0),
src/widget.cpp
Show inline comments
 
@@ -229,7 +229,7 @@ void DrawWindowWidgets(const Window *w)
 

	
 
			if ((wi->type & WWT_MASK) == WWT_TEXTBTN_2 && clicked) str++;
 

	
 
			DrawStringCentered(((r.left + r.right + 1) >> 1) + clicked, ((r.top + r.bottom + 1) >> 1) - 5 + clicked, str, 0);
 
			DrawStringCentered(((r.left + r.right + 1) >> 1) + clicked, ((r.top + r.bottom + 1) >> 1) - 5 + clicked, str, TC_FROMSTRING);
 
			goto draw_default;
 
		}
 

	
 
@@ -244,7 +244,7 @@ void DrawWindowWidgets(const Window *w)
 
			StringID str = wi->data;
 
			DrawFrameRect(r.left, r.top, r.right, r.bottom, wi->color, FR_LOWERED | FR_DARKENED);
 

	
 
			if (str != STR_NULL) DrawStringTruncated(r.left + 2, r.top + 1, str, 0, r.right - r.left - 10);
 
			if (str != STR_NULL) DrawStringTruncated(r.left + 2, r.top + 1, str, TC_FROMSTRING, r.right - r.left - 10);
 
			goto draw_default;
 
		}
 

	
 
@@ -302,11 +302,11 @@ void DrawWindowWidgets(const Window *w)
 
			/* draw up/down buttons */
 
			clicked = ((w->flags4 & (WF_SCROLL_UP | WF_HSCROLL | WF_SCROLL2)) == WF_SCROLL_UP);
 
			DrawFrameRect(r.left, r.top, r.right, r.top + 9, wi->color, (clicked) ? FR_LOWERED : FR_NONE);
 
			DoDrawString(UPARROW, r.left + 2 + clicked, r.top + clicked, 0x10);
 
			DoDrawString(UPARROW, r.left + 2 + clicked, r.top + clicked, TC_BLACK);
 

	
 
			clicked = (((w->flags4 & (WF_SCROLL_DOWN | WF_HSCROLL | WF_SCROLL2)) == WF_SCROLL_DOWN));
 
			DrawFrameRect(r.left, r.bottom - 9, r.right, r.bottom, wi->color, (clicked) ? FR_LOWERED : FR_NONE);
 
			DoDrawString(DOWNARROW, r.left + 2 + clicked, r.bottom - 9 + clicked, 0x10);
 
			DoDrawString(DOWNARROW, r.left + 2 + clicked, r.bottom - 9 + clicked, TC_BLACK);
 

	
 
			c1 = _colour_gradient[wi->color&0xF][3];
 
			c2 = _colour_gradient[wi->color&0xF][7];
 
@@ -334,11 +334,11 @@ void DrawWindowWidgets(const Window *w)
 
			/* draw up/down buttons */
 
			clicked = ((w->flags4 & (WF_SCROLL_UP | WF_HSCROLL | WF_SCROLL2)) == (WF_SCROLL_UP | WF_SCROLL2));
 
			DrawFrameRect(r.left, r.top, r.right, r.top + 9, wi->color,  (clicked) ? FR_LOWERED : FR_NONE);
 
			DoDrawString(UPARROW, r.left + 2 + clicked, r.top + clicked, 0x10);
 
			DoDrawString(UPARROW, r.left + 2 + clicked, r.top + clicked, TC_BLACK);
 

	
 
			clicked = ((w->flags4 & (WF_SCROLL_DOWN | WF_HSCROLL | WF_SCROLL2)) == (WF_SCROLL_DOWN | WF_SCROLL2));
 
			DrawFrameRect(r.left, r.bottom - 9, r.right, r.bottom, wi->color,  (clicked) ? FR_LOWERED : FR_NONE);
 
			DoDrawString(DOWNARROW, r.left + 2 + clicked, r.bottom - 9 + clicked, 0x10);
 
			DoDrawString(DOWNARROW, r.left + 2 + clicked, r.bottom - 9 + clicked, TC_BLACK);
 

	
 
			c1 = _colour_gradient[wi->color&0xF][3];
 
			c2 = _colour_gradient[wi->color&0xF][7];
 
@@ -397,7 +397,7 @@ void DrawWindowWidgets(const Window *w)
 
			int c1,c2;
 
			int x2 = r.left; // by default the left side is the left side of the widget
 

	
 
			if (wi->data != 0) x2 = DrawString(r.left + 6, r.top, wi->data, 0);
 
			if (wi->data != 0) x2 = DrawString(r.left + 6, r.top, wi->data, TC_FROMSTRING);
 

	
 
			c1 = _colour_gradient[wi->color][3];
 
			c2 = _colour_gradient[wi->color][7];
 
@@ -446,7 +446,7 @@ void DrawWindowWidgets(const Window *w)
 
			assert(r.right - r.left == 10); // ensure the same sizes are used everywhere
 

	
 
			DrawFrameRect(r.left, r.top, r.right, r.bottom, wi->color, FR_NONE);
 
			DrawString(r.left + 2, r.top + 2, STR_00C5, 0);
 
			DrawString(r.left + 2, r.top + 2, STR_00C5, TC_FROMSTRING);
 
			break;
 
		}
 

	
 
@@ -530,7 +530,7 @@ static void DropdownMenuWndProc(Window *
 
				if (y >= 0 && y <= height) {
 
					if (WP(w,dropdown_d).items[i] != STR_NULL) {
 
						if (sel == 0) GfxFillRect(x + 1, y, x + width, y + 9, 0);
 
						DrawStringTruncated(x + 2, y, WP(w,dropdown_d).items[i], sel == 0 ? 12 : 16, x + width);
 
						DrawStringTruncated(x + 2, y, WP(w,dropdown_d).items[i], sel == 0 ? TC_WHITE : TC_BLACK, x + width);
 

	
 
						if (HASBIT(WP(w,dropdown_d).disabled_state, i)) {
 
							GfxFillRect(x, y, x + width, y + 9,
0 comments (0 inline, 0 general)