(svn r72) -Add: build_date of station (viewable with Query tool)
authortruelight
Tue, 17 Aug 2004 08:40:09 +0000
changeset 71 1b8e15a10515
parent 70 60216d94f7c1
child 72 24bdf837198c
(svn r72) -Add: build_date of station (viewable with Query tool)
lang/english.txt
misc_gui.c
station_cmd.c
ttd.h
--- a/lang/english.txt	Mon Aug 16 22:35:17 2004 +0000
+++ b/lang/english.txt	Tue Aug 17 08:40:09 2004 +0000
@@ -2499,3 +2499,4 @@
 
 STR_BRIBE_FAILED					:{WHITE}Your attempted bribery has been
 STR_BRIBE_FAILED_2				:{WHITE}discovered by a regional investigator
+STR_BUILD_DATE						:{BLACK}Built in: {LTBLUE}{DATE_LONG}
--- a/misc_gui.c	Mon Aug 16 22:35:17 2004 +0000
+++ b/misc_gui.c	Tue Aug 17 08:40:09 2004 +0000
@@ -102,6 +102,11 @@
 
 		if (str != (STR_01CE_CARGO_ACCEPTED - 1))
 			DrawStringMultiCenter(140, 76, str, 276);
+			
+		if (lid->td.build_date != 0) {
+			SET_DPARAM16(0,lid->td.build_date);
+			DrawStringCentered(140,71, STR_BUILD_DATE, 0);
+		}
 	}
 }
 
@@ -145,7 +150,10 @@
 	lid.costclear = DoCommandByTile(tile, 0, 0, 0, CMD_LANDSCAPE_CLEAR);
 	p->money64 = old_money;
 	UpdatePlayerMoney32(p);
-
+	
+	// Becuase build_date is not set yet in every TileDesc, we make sure it is empty
+	lid.td.build_date = 0;
+	
 	GetAcceptedCargo(tile, &lid.ac);
 	GetTileDesc(tile, &lid.td);
 	
--- a/station_cmd.c	Mon Aug 16 22:35:17 2004 +0000
+++ b/station_cmd.c	Tue Aug 17 08:40:09 2004 +0000
@@ -820,6 +820,8 @@
 		st->trainst_w = finalvalues[1];
 		st->trainst_h = finalvalues[2];
 		
+		st->build_date = _date;
+		
 		tile_delta = direction ? TILE_XY(0,1) : TILE_XY(1,0);
 		
 		layout_ptr = alloca(numtracks * plat_len);
@@ -1086,6 +1088,8 @@
 		st->facilities |= FACIL_BUS_STOP;
 		st->bus_stop_status = 3;
 		st->owner = _current_player;
+		
+		st->build_date = _date;
 
 		ModifyTile(tile, 
 			MP_SETTYPE(MP_STATION) | MP_MAPOWNER_CURRENT |
@@ -1197,6 +1201,8 @@
 		st->truck_stop_status = 3;
 		st->owner = _current_player;
 
+		st->build_date = _date;
+
 		ModifyTile(tile, 
 			MP_SETTYPE(MP_STATION) | MP_MAPOWNER_CURRENT | 
 			MP_MAP2 | MP_MAP3LO_CLEAR | MP_MAP3HI_CLEAR | MP_MAP5,
@@ -1388,6 +1394,8 @@
 		st->facilities |= FACIL_AIRPORT;
 		st->airport_type = (byte)p1;
 		st->airport_flags = 0;
+		
+		st->build_date = _date;
 
 		/*	if airport was demolished while planes were en-route to it, the positions can no longer
 				be the same (v->u.air.pos), since different airports have different indexes. So update
@@ -1488,6 +1496,8 @@
 		st->facilities |= FACIL_DOCK;
 		st->had_vehicle_of_type |= HVOT_BUOY;
 		st->owner = OWNER_NONE;
+		
+		st->build_date = _date;
 
 		ModifyTile(ti.tile,
 			MP_SETTYPE(MP_STATION) |
@@ -1637,6 +1647,8 @@
 		if (!st->facilities) st->xy = tile;
 		st->facilities |= FACIL_DOCK;
 		st->owner = _current_player;
+		
+		st->build_date = _date;
 
 		ModifyTile(tile, 
 			MP_SETTYPE(MP_STATION) | MP_MAPOWNER_CURRENT | 
@@ -1806,6 +1818,7 @@
 	StringID str;
 
 	td->owner = _map_owner[tile];
+	td->build_date = DEREF_STATION(_map2[tile])->build_date;
 
 	m5 = _map5[tile];
 	(str=STR_305E_RAILROAD_STATION, m5 < 8) ||
@@ -2364,6 +2377,7 @@
 			st->delete_ctr = 0;
 			st->last_vehicle = INVALID_VEHICLE;
 			st->facilities = FACIL_AIRPORT | FACIL_DOCK;
+			st->build_date = _date;
 			for(j=0; j!=NUM_CARGO; j++) {
 				st->goods[j].waiting_acceptance = 0;
 				st->goods[j].days_since_pickup = 0;
--- a/ttd.h	Mon Aug 16 22:35:17 2004 +0000
+++ b/ttd.h	Tue Aug 17 08:40:09 2004 +0000
@@ -207,6 +207,7 @@
 typedef struct TileDesc {
 	StringID str;
 	byte owner;
+	uint16 build_date;
 	uint32 dparam[2];
 } TileDesc;