(svn r3024) -Codechange: Another batch of replacements of int/uint/int16/byte/-1 with proper types and constants
authortron
Fri, 07 Oct 2005 07:35:15 +0000
changeset 2498 befad2fe53d2
parent 2497 1c8460570c0d
child 2499 bf819c473e13
(svn r3024) -Codechange: Another batch of replacements of int/uint/int16/byte/-1 with proper types and constants
aircraft_gui.c
economy.c
industry_cmd.c
landscape.c
misc_gui.c
network_data.h
news_gui.c
oldloader.c
openttd.c
player_gui.c
players.c
roadveh_gui.c
ship_gui.c
signs.h
station.h
station_cmd.c
station_gui.c
town.h
town_cmd.c
train_gui.c
vehicle.c
window.h
--- a/aircraft_gui.c	Thu Oct 06 18:28:27 2005 +0000
+++ b/aircraft_gui.c	Fri Oct 07 07:35:15 2005 +0000
@@ -129,7 +129,7 @@
 			int sel = WP(w,buildtrain_d).sel_index;
 			int pos = w->vscroll.pos;
 			EngineID engine_id = AIRCRAFT_ENGINES_INDEX;
-			int selected_id = -1;
+			EngineID selected_id = INVALID_ENGINE;
 
 			do {
 				if (HASBIT(e->player_avail, _local_player)) {
@@ -145,7 +145,7 @@
 
 			WP(w,buildtrain_d).sel_engine = selected_id;
 
-			if (selected_id != -1) {
+			if (selected_id != INVALID_ENGINE) {
 				DrawAircraftPurchaseInfo(2, w->widget[4].top + 1, selected_id);
 			}
 		}
@@ -162,14 +162,14 @@
 		} break;
 
 		case 5: { /* build */
-			int sel_eng = WP(w,buildtrain_d).sel_engine;
-			if (sel_eng != -1)
+			EngineID sel_eng = WP(w,buildtrain_d).sel_engine;
+			if (sel_eng != INVALID_ENGINE)
 				DoCommandP(w->window_number, sel_eng, 0, CcBuildAircraft, CMD_BUILD_AIRCRAFT | CMD_MSG(STR_A008_CAN_T_BUILD_AIRCRAFT));
 		} break;
 
 		case 6:	{ /* rename */
-			int sel_eng = WP(w,buildtrain_d).sel_engine;
-			if (sel_eng != -1) {
+			EngineID sel_eng = WP(w,buildtrain_d).sel_engine;
+			if (sel_eng != INVALID_ENGINE) {
 				WP(w,buildtrain_d).rename_engine = sel_eng;
 				ShowQueryString(GetCustomEngineName(sel_eng),
 					STR_A039_RENAME_AIRCRAFT_TYPE, 31, 160, w->window_class, w->window_number);
--- a/economy.c	Thu Oct 06 18:28:27 2005 +0000
+++ b/economy.c	Fri Oct 07 07:35:15 2005 +0000
@@ -1323,7 +1323,7 @@
 	GoodsEntry *ge;
 	int t;
 	uint count, cap;
-	byte old_player;
+	PlayerID old_player;
 	bool completely_empty = true;
 
 	assert(v->current_order.type == OT_LOADING);
@@ -1560,8 +1560,8 @@
 
 	cost = CalculateCompanyValue(p) >> 2;
 	if (flags & DC_EXEC) {
+		PlayerID* b = p->share_owners;
 		int i;
-		byte *b = p->share_owners;
 
 		while (*b != OWNER_SPECTATOR) b++; /* share owners is guaranteed to contain at least one OWNER_SPECTATOR */
 		*b = _current_player;
@@ -1602,7 +1602,7 @@
 	cost = -(cost - (cost >> 7));
 
 	if (flags & DC_EXEC) {
-		byte *b = p->share_owners;
+		PlayerID* b = p->share_owners;
 		while (*b != _current_player) b++; /* share owners is guaranteed to contain player */
 		*b = OWNER_SPECTATOR;
 		InvalidateWindow(WC_COMPANY, (int)p1);
--- a/industry_cmd.c	Thu Oct 06 18:28:27 2005 +0000
+++ b/industry_cmd.c	Fri Oct 07 07:35:15 2005 +0000
@@ -1042,7 +1042,7 @@
 			do {
 				tile = TILE_MASK(tile);
 				if (IsTileType(tile, MP_TREES)) {
-					uint old_player = _current_player;
+					PlayerID old_player = _current_player;
 					/* found a tree */
 
 					_current_player = OWNER_NONE;
@@ -1662,7 +1662,7 @@
 
 	if (_opt.diff.number_industries != 0)
 	{
-		byte old_player = _current_player;
+		PlayerID old_player = _current_player;
 		_current_player = OWNER_NONE;
 		assert(num > 0);
 
@@ -1902,7 +1902,7 @@
 void IndustryMonthlyLoop(void)
 {
 	Industry *i;
-	byte old_player = _current_player;
+	PlayerID old_player = _current_player;
 	_current_player = OWNER_NONE;
 
 	FOR_ALL_INDUSTRIES(i) {
--- a/landscape.c	Thu Oct 06 18:28:27 2005 +0000
+++ b/landscape.c	Fri Oct 07 07:35:15 2005 +0000
@@ -380,7 +380,7 @@
 	}
 
 	if (flags & (MP_MAPOWNER|MP_MAPOWNER_CURRENT)) {
-		byte x = _current_player;
+		PlayerID x = _current_player;
 		if (flags & MP_MAPOWNER) x = va_arg(va, int);
 		_m[tile].m1 = x;
 	}
--- a/misc_gui.c	Thu Oct 06 18:28:27 2005 +0000
+++ b/misc_gui.c	Fri Oct 07 07:35:15 2005 +0000
@@ -583,19 +583,19 @@
 
 void ShowEstimatedCostOrIncome(int32 cost, int x, int y)
 {
-	int msg = STR_0805_ESTIMATED_COST;
+	StringID msg = STR_0805_ESTIMATED_COST;
 
 	if (cost < 0) {
 		cost = -cost;
 		msg = STR_0807_ESTIMATED_INCOME;
 	}
 	SetDParam(0, cost);
-	ShowErrorMessage(-1, msg, x, y);
+	ShowErrorMessage(INVALID_STRING_ID, msg, x, y);
 }
 
 void ShowCostOrIncomeAnimation(int x, int y, int z, int32 cost)
 {
-	int msg;
+	StringID msg;
 	Point pt = RemapCoords(x,y,z);
 
 	msg = STR_0801_COST;
@@ -712,7 +712,7 @@
 void DrawStationCoverageAreaText(int sx, int sy, uint mask, int rad) {
 	int x = _thd.pos.x;
 	int y = _thd.pos.y;
-	uint accepts[NUM_CARGO];
+	AcceptedCargo accepts;
 	if (x != -1) {
 		GetAcceptanceAroundTiles(accepts, TileVirtXY(x, y), _thd.size.x / 16, _thd.size.y / 16 , rad);
 		DrawStationCoverageText(accepts, sx, sy, mask);
--- a/network_data.h	Thu Oct 06 18:28:27 2005 +0000
+++ b/network_data.h	Fri Oct 07 07:35:15 2005 +0000
@@ -35,7 +35,7 @@
 
 typedef struct CommandPacket {
 	struct CommandPacket *next;
-	byte player;   /// player that is executing the command (PlayerID)
+	PlayerID player; /// player that is executing the command
 	uint32 cmd;    /// command being executed
 	uint32 p1;     /// parameter p1
 	uint32 p2;     /// parameter p2
--- a/news_gui.c	Thu Oct 06 18:28:27 2005 +0000
+++ b/news_gui.c	Fri Oct 07 07:35:15 2005 +0000
@@ -373,7 +373,7 @@
 static void ShowNewspaper(NewsItem *ni)
 {
 	Window *w;
-	int sound;
+	SoundFx sound;
 	int top;
 	ni->flags &= ~(NF_NOEXPIRE | NF_FORCE_BIG);
 	ni->duration = 555;
--- a/oldloader.c	Thu Oct 06 18:28:27 2005 +0000
+++ b/oldloader.c	Fri Oct 07 07:35:15 2005 +0000
@@ -789,7 +789,7 @@
 	return true;
 }
 
-static uint _current_player_id;
+static PlayerID _current_player_id;
 static uint16 _old_inaugurated_year;
 static int32 _old_yearly;
 
--- a/openttd.c	Thu Oct 06 18:28:27 2005 +0000
+++ b/openttd.c	Fri Oct 07 07:35:15 2005 +0000
@@ -867,7 +867,7 @@
 	} else {
 		// All these actions has to be done from OWNER_NONE
 		//  for multiplayer compatibility
-		uint p = _current_player;
+		PlayerID p = _current_player;
 		_current_player = OWNER_NONE;
 
 		AnimateAnimatedTiles();
--- a/player_gui.c	Thu Oct 06 18:28:27 2005 +0000
+++ b/player_gui.c	Fri Oct 07 07:35:15 2005 +0000
@@ -691,7 +691,7 @@
 void ShowPlayerCompany(PlayerID player)
 {
 	Window *w;
-	w = AllocateWindowDescFront((byte)player == _local_player ? &_my_player_company_desc : &_other_player_company_desc,  player);
+	w = AllocateWindowDescFront(player == _local_player ? &_my_player_company_desc : &_other_player_company_desc,  player);
 	if (w)
 		w->caption_color = w->window_number;
 }
--- a/players.c	Thu Oct 06 18:28:27 2005 +0000
+++ b/players.c	Fri Oct 07 07:35:15 2005 +0000
@@ -196,7 +196,7 @@
 bool CheckPlayerHasMoney(int32 cost)
 {
 	if (cost > 0) {
-		uint pid = _current_player;
+		PlayerID pid = _current_player;
 		if (pid < MAX_PLAYERS && cost > GetPlayer(pid)->player_money) {
 			SetDParam(0, cost);
 			_error_message = STR_0003_NOT_ENOUGH_CASH_REQUIRES;
@@ -284,7 +284,7 @@
 
 bool CheckTileOwnership(TileIndex tile)
 {
-	byte owner = GetTileOwner(tile);
+	PlayerID owner = GetTileOwner(tile);
 
 	assert(owner <= OWNER_WATER);
 
--- a/roadveh_gui.c	Thu Oct 06 18:28:27 2005 +0000
+++ b/roadveh_gui.c	Fri Oct 07 07:35:15 2005 +0000
@@ -412,7 +412,7 @@
 		int sel = WP(w,buildtrain_d).sel_index;
 		int pos = w->vscroll.pos;
 		EngineID engine_id = ROAD_ENGINES_INDEX;
-		int selected_id = -1;
+		EngineID selected_id = INVALID_ENGINE;
 
 		do {
 			if (HASBIT(e->player_avail, _local_player)) {
@@ -427,7 +427,7 @@
 		} while (++engine_id, ++e,--num);
 
 		WP(w,buildtrain_d).sel_engine = selected_id;
-		if (selected_id != -1) {
+		if (selected_id != INVALID_ENGINE) {
 			DrawRoadVehPurchaseInfo(2, w->widget[4].top + 1, selected_id);
 		}
 	}
@@ -465,14 +465,14 @@
 		} break;
 
 		case 5: { /* build */
-			int sel_eng = WP(w,buildtrain_d).sel_engine;
-			if (sel_eng != -1)
+			EngineID sel_eng = WP(w,buildtrain_d).sel_engine;
+			if (sel_eng != INVALID_ENGINE)
 				DoCommandP(w->window_number, sel_eng, 0, CcBuildRoadVeh, CMD_BUILD_ROAD_VEH | CMD_MSG(STR_9009_CAN_T_BUILD_ROAD_VEHICLE));
 		} break;
 
 		case 6: { /* rename */
-			int sel_eng = WP(w,buildtrain_d).sel_engine;
-			if (sel_eng != -1) {
+			EngineID sel_eng = WP(w,buildtrain_d).sel_engine;
+			if (sel_eng != INVALID_ENGINE) {
 				WP(w,buildtrain_d).rename_engine = sel_eng;
 				ShowQueryString(GetCustomEngineName(sel_eng),
 					STR_9036_RENAME_ROAD_VEHICLE_TYPE, 31, 160, w->window_class, w->window_number);
--- a/ship_gui.c	Thu Oct 06 18:28:27 2005 +0000
+++ b/ship_gui.c	Fri Oct 07 07:35:15 2005 +0000
@@ -352,7 +352,7 @@
 			int sel = WP(w,buildtrain_d).sel_index;
 			int pos = w->vscroll.pos;
 			EngineID engine_id = SHIP_ENGINES_INDEX;
-			int selected_id = -1;
+			EngineID selected_id = INVALID_ENGINE;
 
 			do {
 				if (HASBIT(e->player_avail, _local_player)) {
@@ -368,7 +368,7 @@
 
 			WP(w,buildtrain_d).sel_engine = selected_id;
 
-			if (selected_id != -1) {
+			if (selected_id != INVALID_ENGINE) {
 				DrawShipPurchaseInfo(2, w->widget[4].top + 1, selected_id);
 			}
 		}
@@ -384,14 +384,14 @@
 			}
 		} break;
 		case 5: { /* build */
-			int sel_eng = WP(w,buildtrain_d).sel_engine;
-			if (sel_eng != -1)
+			EngineID sel_eng = WP(w,buildtrain_d).sel_engine;
+			if (sel_eng != INVALID_ENGINE)
 				DoCommandP(w->window_number, sel_eng, 0, CcBuildShip, CMD_BUILD_SHIP | CMD_MSG(STR_980D_CAN_T_BUILD_SHIP));
 		} break;
 
 		case 6:	{ /* rename */
-			int sel_eng = WP(w,buildtrain_d).sel_engine;
-			if (sel_eng != -1) {
+			EngineID sel_eng = WP(w,buildtrain_d).sel_engine;
+			if (sel_eng != INVALID_ENGINE) {
 				WP(w,buildtrain_d).rename_engine = sel_eng;
 				ShowQueryString(GetCustomEngineName(sel_eng),
 					STR_9838_RENAME_SHIP_TYPE, 31, 160, w->window_class, w->window_number);
--- a/signs.h	Thu Oct 06 18:28:27 2005 +0000
+++ b/signs.h	Fri Oct 07 07:35:15 2005 +0000
@@ -11,7 +11,7 @@
 	int32        x;
 	int32        y;
 	byte         z;
-	byte owner; // placed by this player. Anyone can delete them though.
+	PlayerID owner; // placed by this player. Anyone can delete them though.
 							// OWNER_NONE for gray signs from old games.
 
 	uint16       index;
--- a/station.h	Thu Oct 06 18:28:27 2005 +0000
+++ b/station.h	Fri Oct 07 07:35:15 2005 +0000
@@ -123,11 +123,11 @@
 	CA_AIR_INTER = 8,
 };
 
-void ModifyStationRatingAround(TileIndex tile, byte owner, int amount, uint radius);
+void ModifyStationRatingAround(TileIndex tile, PlayerID owner, int amount, uint radius);
 
 TileIndex GetStationTileForVehicle(const Vehicle *v, const Station *st);
 
-void ShowStationViewWindow(int station);
+void ShowStationViewWindow(StationID station);
 void UpdateAllStationVirtCoord(void);
 
 VARDEF SortStruct *_station_sort;
--- a/station_cmd.c	Thu Oct 06 18:28:27 2005 +0000
+++ b/station_cmd.c	Fri Oct 07 07:35:15 2005 +0000
@@ -179,13 +179,12 @@
 
 #define CHECK_STATIONS_ERR ((Station*)-1)
 
-static Station *GetStationAround(TileIndex tile, int w, int h, int closest_station)
+static Station* GetStationAround(TileIndex tile, int w, int h, StationID closest_station)
 {
 	// check around to see if there's any stations there
 	BEGIN_TILE_LOOP(tile_cur, w + 2, h + 2, tile - TileDiffXY(1, 1))
 		if (IsTileType(tile_cur, MP_STATION)) {
-			int t;
-			t = _m[tile_cur].m2;
+			StationID t = _m[tile_cur].m2;
 			{
 				Station *st = GetStation(t);
 				// you cannot take control of an oilrig!!
@@ -193,7 +192,7 @@
 					continue;
 			}
 
-			if (closest_station == -1) {
+			if (closest_station == INVALID_STATION) {
 				closest_station = t;
 			} else if (closest_station != t) {
 				_error_message = STR_3006_ADJOINS_MORE_THAN_ONE_EXISTING;
@@ -201,7 +200,7 @@
 			}
 		}
 	END_TILE_LOOP(tile_cur, w + 2, h + 2, tile - TileDiffXY(1, 1))
-	return (closest_station == -1) ? NULL : GetStation(closest_station);
+	return (closest_station == INVALID_STATION) ? NULL : GetStation(closest_station);
 }
 
 TileIndex GetStationTileForVehicle(const Vehicle *v, const Station *st)
@@ -424,7 +423,7 @@
 }
 #undef M
 
-static Station *GetClosestStationFromTile(TileIndex tile, uint threshold, byte owner)
+static Station* GetClosestStationFromTile(TileIndex tile, uint threshold, PlayerID owner)
 {
 	Station* best_station = NULL;
 	Station* st;
@@ -755,7 +754,7 @@
 
 // Tries to clear the given area. Returns the cost in case of success.
 // Or an error code if it failed.
-int32 CheckFlatLandBelow(TileIndex tile, uint w, uint h, uint flags, uint invalid_dirs, int *station)
+int32 CheckFlatLandBelow(TileIndex tile, uint w, uint h, uint flags, uint invalid_dirs, StationID* station)
 {
 	int32 cost = 0, ret;
 
@@ -810,17 +809,17 @@
 		}
 
 		// if station is set, then we have special handling to allow building on top of already existing stations.
-		// so station points to -1 if we can build on any station. or it points to a station if we're only allowed to build
+		// so station points to INVALID_STATION if we can build on any station. or it points to a station if we're only allowed to build
 		// on exactly that station.
 		if (station != NULL && IsTileType(tile_cur, MP_STATION)) {
 			if (_m[tile_cur].m5 >= 8) {
 				_error_message = ClearTile_Station(tile_cur, DC_AUTO); // get error message
 				return CMD_ERROR;
 			} else {
-				int st = _m[tile_cur].m2;
-				if (*station == -1)
+				StationID st = _m[tile_cur].m2;
+				if (*station == INVALID_STATION) {
 					*station = st;
-				else if (*station != st) {
+				} else if (*station != st) {
 					_error_message = STR_3006_ADJOINS_MORE_THAN_ONE_EXISTING;
 					return CMD_ERROR;
 				}
@@ -952,7 +951,7 @@
 	TileIndex tile_org;
 	int w_org, h_org;
 	int32 cost, ret;
-	int est;
+	StationID est;
 	int plat_len, numtracks;
 	int direction;
 	uint finalvalues[3];
@@ -986,7 +985,7 @@
 	finalvalues[2] = h_org;
 
 	// Make sure the area below consists of clear tiles. (OR tiles belonging to a certain rail station)
-	est = -1;
+	est = INVALID_STATION;
 	// If DC_EXEC is in flag, do not want to pass it to CheckFlatLandBelow, because of a nice bug
 	//  for detail info, see: https://sourceforge.net/tracker/index.php?func=detail&aid=1029064&group_id=103924&atid=636365
 	if (CmdFailed(ret = CheckFlatLandBelow(tile_org, w_org, h_org, flags&~DC_EXEC, 5 << direction, _patches.nonuniform_stations ? &est : NULL))) return CMD_ERROR;
@@ -1190,8 +1189,9 @@
 // determine the number of platforms for the station
 uint GetStationPlatforms(const Station *st, TileIndex tile)
 {
-	uint t;
-	int dir,delta;
+	TileIndex t;
+	TileIndexDiff delta;
+	int dir;
 	int len;
 	assert(TileBelongsToRailStation(st, tile));
 
@@ -2137,7 +2137,7 @@
 	uint32 relocation = 0;
 
 	{
-		uint owner = GetTileOwner(ti->tile);
+		PlayerID owner = GetTileOwner(ti->tile);
 		image_or_modificator = PALETTE_TO_GREY; /* NOTE: possible bug in ttd here? */
 		if (owner < MAX_PLAYERS)
 			image_or_modificator = PLAYER_SPRITE_COLOR(owner);
@@ -2680,7 +2680,7 @@
 }
 
 
-void ModifyStationRatingAround(TileIndex tile, byte owner, int amount, uint radius)
+void ModifyStationRatingAround(TileIndex tile, PlayerID owner, int amount, uint radius)
 {
 	Station *st;
 	GoodsEntry *ge;
--- a/station_gui.c	Thu Oct 06 18:28:27 2005 +0000
+++ b/station_gui.c	Fri Oct 07 07:35:15 2005 +0000
@@ -112,7 +112,7 @@
 	DEBUG(misc, 1) ("Resorting global station list...");
 }
 
-static void MakeSortedStationList(byte owner)
+static void MakeSortedStationList(PlayerID owner)
 {
 	SortStruct *firstelement;
 	uint32 n = 0;
@@ -137,25 +137,25 @@
 {
 	switch(e->event) {
 	case WE_PAINT: {
+		const PlayerID owner = w->window_number;
 		uint32 i;
-		const byte window_number = (byte)w->window_number;
 
 		// resort station window if stations have been added/removed
 		if (_global_station_sort_dirty)
 			GlobalSortStationList();
 
-		if (_station_sort_dirty[window_number]) { // resort in case of a station rename.
-			MakeSortedStationList(window_number);
+		if (_station_sort_dirty[owner]) { // resort in case of a station rename.
+			MakeSortedStationList(owner);
 		}
 
 		// stations are stored as a cummulative index, eg 25, 41, 43. This means
 		// Player0: 25; Player1: (41-25) 16; Player2: (43-41) 2 stations
-		i = (window_number == 0) ? 0 : _num_station_sort[window_number-1];
-		SetVScrollCount(w, _num_station_sort[window_number] - i);
+		i = (owner == 0) ? 0 : _num_station_sort[owner - 1];
+		SetVScrollCount(w, _num_station_sort[owner] - i);
 
 		/* draw widgets, with player's name in the caption */
 		{
-			Player *p = GetPlayer(window_number);
+			const Player* p = GetPlayer(owner);
 			SetDParam(0, p->name_1);
 			SetDParam(1, p->name_2);
 			SetDParam(2, w->vscroll.count);
@@ -175,12 +175,12 @@
 			}
 
 			i += w->vscroll.pos; // offset from sorted station list of current player
-			assert(i < _num_station_sort[window_number]); // at least one station must exist
+			assert(i < _num_station_sort[owner]); // at least one station must exist
 
-			while (i < _num_station_sort[window_number]) { // do until max number of stations of owner
+			while (i < _num_station_sort[owner]) { // do until max number of stations of owner
 				st = GetStation(_station_sort[i].index);
 
-				assert(st->xy && st->owner == window_number);
+				assert(st->xy && st->owner == owner);
 
 				SetDParam(0, st->index);
 				SetDParam(1, st->facilities);
@@ -210,7 +210,7 @@
 			id_v += w->vscroll.pos;
 
 			{
-				const byte owner = (byte)w->window_number;
+				const PlayerID owner = w->window_number;
 				Station *st;
 				id_v += (owner == 0) ? 0 : _num_station_sort[owner - 1]; // first element in list
 
@@ -316,11 +316,11 @@
 	int x,y;
 	int pos;
 	StringID str;
-	uint16 station_id;
+	StationID station_id;
 
 	station_id = w->window_number;
 
-	st = GetStation(w->window_number);
+	st = GetStation(station_id);
 
 	num = 1;
 	for(i=0; i!=NUM_CARGO; i++) {
@@ -533,7 +533,7 @@
 	StationViewWndProc
 };
 
-void ShowStationViewWindow(int station)
+void ShowStationViewWindow(StationID station)
 {
 	Window *w;
 	byte color;
--- a/town.h	Thu Oct 06 18:28:27 2005 +0000
+++ b/town.h	Fri Oct 07 07:35:15 2005 +0000
@@ -32,7 +32,7 @@
 	// Player ratings as well as a mask that determines which players have a rating.
 	byte have_ratings;
 	uint8 unwanted[MAX_PLAYERS]; // how many months companies aren't wanted by towns (bribe)
-	uint8 exclusivity;	     // which player has exslusivity
+	PlayerID exclusivity;        // which player has exslusivity
 	uint8 exclusive_counter;     // months till the exclusivity expires
 	int16 ratings[MAX_PLAYERS];
 
--- a/town_cmd.c	Thu Oct 06 18:28:27 2005 +0000
+++ b/town_cmd.c	Fri Oct 07 07:35:15 2005 +0000
@@ -782,7 +782,7 @@
 	TileIndex tile;
 	const TileIndexDiffC *ptr;
 	TileInfo ti;
-	byte old_player;
+	PlayerID old_player;
 
 	static const TileIndexDiffC _town_coord_mod[] = {
 		{-1,  0},
@@ -1578,7 +1578,7 @@
 static bool DoBuildStatueOfCompany(TileIndex tile)
 {
 	TileInfo ti;
-	byte old;
+	PlayerID old;
 	int32 r;
 
 	FindLandscapeHeightByTile(&ti, tile);
--- a/train_gui.c	Thu Oct 06 18:28:27 2005 +0000
+++ b/train_gui.c	Fri Oct 07 07:35:15 2005 +0000
@@ -173,7 +173,7 @@
 }
 
 static void engine_drawing_loop(int *x, int *y, int *pos, int *sel,
-	int *selected_id, byte railtype, byte show_max, bool is_engine)
+	EngineID* selected_id, byte railtype, byte show_max, bool is_engine)
 {
 	EngineID i;
 
@@ -229,7 +229,7 @@
 			int pos = w->vscroll.pos;
 			int x = 1;
 			int y = 15;
-			int selected_id = -1;
+			EngineID selected_id = INVALID_ENGINE;
 
 			/* Ensure that custom engines which substituted wagons
 			 * are sorted correctly.
@@ -241,7 +241,7 @@
 
 			WP(w,buildtrain_d).sel_engine = selected_id;
 
-			if (selected_id != -1) {
+			if (selected_id != INVALID_ENGINE) {
 				const RailVehicleInfo *rvi = RailVehInfo(selected_id);
 
 				if (!(rvi->flags & RVI_WAGON)) {
@@ -265,14 +265,13 @@
 			}
 		} break;
 		case 5: {
-			int sel_eng;
-			sel_eng = WP(w,buildtrain_d).sel_engine;
-			if (sel_eng != -1)
+			EngineID sel_eng = WP(w,buildtrain_d).sel_engine;
+			if (sel_eng != INVALID_ENGINE)
 				DoCommandP(w->window_number, sel_eng, 0, (RailVehInfo(sel_eng)->flags & RVI_WAGON) ? CcBuildWagon : CcBuildLoco, CMD_BUILD_RAIL_VEHICLE | CMD_MSG(STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE));
 		}	break;
 		case 6: { /* rename */
-			int sel_eng = WP(w,buildtrain_d).sel_engine;
-			if (sel_eng != -1) {
+			EngineID sel_eng = WP(w,buildtrain_d).sel_engine;
+			if (sel_eng != INVALID_ENGINE) {
 				WP(w,buildtrain_d).rename_engine = sel_eng;
 				ShowQueryString(GetCustomEngineName(sel_eng),
 					STR_886A_RENAME_TRAIN_VEHICLE_TYPE, 31, 160, w->window_class, w->window_number);
--- a/vehicle.c	Thu Oct 06 18:28:27 2005 +0000
+++ b/vehicle.c	Fri Oct 07 07:35:15 2005 +0000
@@ -334,7 +334,7 @@
 	/* remove from hash table? */
 	if (old_hash != NULL) {
 		Vehicle *last = NULL;
-		int idx = *old_hash;
+		VehicleID idx = *old_hash;
 		while ((u = GetVehicle(idx)) != v) {
 			idx = u->next_hash;
 			assert(idx != INVALID_VEHICLE);
@@ -1458,7 +1458,7 @@
 	    (that is needed, because this CMD is called automaticly) */
 	if ( p->money64 < (int32)(p->engine_renew_money + build_cost + rear_engine_cost - v->value)) {
 		if (( _local_player == v->owner ) && ( v->unitnumber != 0 )) {  //v->unitnumber = 0 for train cars
-			int message;
+			StringID message;
 			SetDParam(0, v->unitnumber);
 			switch (v->type) {
 				case VEH_Train:    message = STR_TRAIN_AUTORENEW_FAILED;       break;
--- a/window.h	Thu Oct 06 18:28:27 2005 +0000
+++ b/window.h	Fri Oct 07 07:35:15 2005 +0000
@@ -352,8 +352,8 @@
 typedef struct {
 	byte railtype;
 	byte sel_index;
-	int16 sel_engine;
-	int16 rename_engine;
+	EngineID sel_engine;
+	EngineID rename_engine;
 } buildtrain_d;
 assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(buildtrain_d));