(svn r13240) -Codechange: More const-ness for GUI code.
authorpeter1138
Sun, 25 May 2008 09:40:44 +0000
changeset 10693 2ce681c2f4cc
parent 10692 9532c1cee494
child 10694 9f14c518f784
(svn r13240) -Codechange: More const-ness for GUI code.
src/depot_gui.cpp
src/train_gui.cpp
src/vehicle.cpp
src/vehicle_func.h
--- a/src/depot_gui.cpp	Sat May 24 23:18:21 2008 +0000
+++ b/src/depot_gui.cpp	Sun May 25 09:40:44 2008 +0000
@@ -144,16 +144,14 @@
 {
 	if (!success) return;
 
-	Vehicle *v = GetVehicle(_new_vehicle_id);
+	const Vehicle *v = GetVehicle(_new_vehicle_id);
 
 	ShowVehicleViewWindow(v);
 }
 
-static void TrainDepotMoveVehicle(Vehicle *wagon, VehicleID sel, Vehicle *head)
+static void TrainDepotMoveVehicle(const Vehicle *wagon, VehicleID sel, const Vehicle *head)
 {
-	Vehicle *v;
-
-	v = GetVehicle(sel);
+	const Vehicle *v = GetVehicle(sel);
 
 	if (v == wagon) return;
 
@@ -397,8 +395,8 @@
 	}
 
 	struct GetDepotVehiclePtData {
-		Vehicle *head;
-		Vehicle *wagon;
+		const Vehicle *head;
+		const Vehicle *wagon;
 	};
 
 	enum DepotGUIAction {
@@ -408,7 +406,7 @@
 		MODE_START_STOP,
 	};
 
-	DepotGUIAction GetVehicleFromDepotWndPt(int x, int y, Vehicle **veh, GetDepotVehiclePtData *d) const
+	DepotGUIAction GetVehicleFromDepotWndPt(int x, int y, const Vehicle **veh, GetDepotVehiclePtData *d) const
 	{
 		Vehicle **vl = this->vehicle_list;
 		uint xt, row, xm = 0, ym = 0;
@@ -454,7 +452,7 @@
 
 		switch (this->type) {
 			case VEH_TRAIN: {
-				Vehicle *v = *veh;
+				const Vehicle *v = *veh;
 				d->head = d->wagon = v;
 
 				/* either pressed the flag or the number, but only when it's a loco */
@@ -501,7 +499,7 @@
 	void DepotClick(int x, int y)
 	{
 		GetDepotVehiclePtData gdvp = { NULL, NULL };
-		Vehicle *v = NULL;
+		const Vehicle *v = NULL;
 		DepotGUIAction mode = this->GetVehicleFromDepotWndPt(x, y, &v, &gdvp);
 
 		/* share / copy orders */
@@ -879,7 +877,7 @@
 	{
 		switch (widget) {
 			case DEPOT_WIDGET_MATRIX: {
-				Vehicle *v = NULL;
+				const Vehicle *v = NULL;
 				VehicleID sel = this->sel;
 
 				this->sel = INVALID_VEHICLE;
@@ -908,23 +906,20 @@
 			case DEPOT_WIDGET_SELL: case DEPOT_WIDGET_SELL_CHAIN:
 				if (!this->IsWidgetDisabled(DEPOT_WIDGET_SELL) &&
 					this->sel != INVALID_VEHICLE) {
-					Vehicle *v;
 					uint command;
-					int sell_cmd;
-					bool is_engine;
 
 					if (this->IsWidgetDisabled(widget)) return;
 					if (this->sel == INVALID_VEHICLE) return;
 
 					this->HandleButtonClick(widget);
 
-					v = GetVehicle(this->sel);
+					const Vehicle *v = GetVehicle(this->sel);
 					this->sel = INVALID_VEHICLE;
 					this->SetDirty();
 
-					sell_cmd = (v->type == VEH_TRAIN && (widget == DEPOT_WIDGET_SELL_CHAIN || _ctrl_pressed)) ? 1 : 0;
+					int sell_cmd = (v->type == VEH_TRAIN && (widget == DEPOT_WIDGET_SELL_CHAIN || _ctrl_pressed)) ? 1 : 0;
 
-					is_engine = (!(v->type == VEH_TRAIN && !IsFrontEngine(v)));
+					bool is_engine = (!(v->type == VEH_TRAIN && !IsFrontEngine(v)));
 
 					if (is_engine) {
 						_backup_orders_tile = v->tile;
--- a/src/train_gui.cpp	Sat May 24 23:18:21 2008 +0000
+++ b/src/train_gui.cpp	Sun May 25 09:40:44 2008 +0000
@@ -28,8 +28,8 @@
 	if (!success) return;
 
 	/* find a locomotive in the depot. */
-	Vehicle *found = NULL;
-	Vehicle *v;
+	const Vehicle *found = NULL;
+	const Vehicle *v;
 	FOR_ALL_VEHICLES(v) {
 		if (v->type == VEH_TRAIN && IsFrontEngine(v) &&
 				v->tile == tile &&
--- a/src/vehicle.cpp	Sat May 24 23:18:21 2008 +0000
+++ b/src/vehicle.cpp	Sun May 25 09:40:44 2008 +0000
@@ -58,7 +58,7 @@
 #define GEN_HASH(x, y) ((GB((y), 6, 6) << 6) + GB((x), 7, 6))
 
 VehicleID _vehicle_id_ctr_day;
-Vehicle *_place_clicked_vehicle;
+const Vehicle *_place_clicked_vehicle;
 VehicleID _new_vehicle_id;
 uint16 _returned_refit_capacity;
 
@@ -531,6 +531,12 @@
 	return v;
 }
 
+const Vehicle *GetLastVehicleInChain(const Vehicle *v)
+{
+	while (v->Next() != NULL) v = v->Next();
+	return v;
+}
+
 uint CountVehiclesInChain(const Vehicle* v)
 {
 	uint count = 0;
--- a/src/vehicle_func.h	Sat May 24 23:18:21 2008 +0000
+++ b/src/vehicle_func.h	Sun May 25 09:40:44 2008 +0000
@@ -24,6 +24,7 @@
 void VehicleServiceInDepot(Vehicle *v);
 void VehiclePositionChanged(Vehicle *v);
 Vehicle *GetLastVehicleInChain(Vehicle *v);
+const Vehicle *GetLastVehicleInChain(const Vehicle *v);
 uint CountVehiclesInChain(const Vehicle *v);
 bool IsEngineCountable(const Vehicle *v);
 void DeleteVehicleChain(Vehicle *v);
@@ -173,7 +174,7 @@
 void StopAllVehicles();
 
 extern VehicleID _vehicle_id_ctr_day;
-extern Vehicle *_place_clicked_vehicle;
+extern const Vehicle *_place_clicked_vehicle;
 extern VehicleID _new_vehicle_id;
 extern uint16 _returned_refit_capacity;