diff src/autoreplace_cmd.cpp @ 12302:fc8e41f34b8c draft

(svn r16719) -Codechange: make IsArticulatedPart(), IsTrainEngine(), IsTrainWagon(), IsMultiheaded(), EngineHasArticPart() and IsRearDualheaded() members of Train
author smatz <smatz@openttd.org>
date Wed, 01 Jul 2009 23:57:20 +0000
parents 7ec79afe8c18
children d0ff55a976ad
line wrap: on
line diff
--- a/src/autoreplace_cmd.cpp
+++ b/src/autoreplace_cmd.cpp
@@ -92,7 +92,7 @@
 	assert(!part_of_chain || new_head->IsPrimaryVehicle());
 	/* Loop through source parts */
 	for (Vehicle *src = old_veh; src != NULL; src = src->Next()) {
-		if (!part_of_chain && src->type == VEH_TRAIN && src != old_veh && src != Train::From(old_veh)->other_multiheaded_part && !IsArticulatedPart(src)) {
+		if (!part_of_chain && src->type == VEH_TRAIN && src != old_veh && src != Train::From(old_veh)->other_multiheaded_part && !Train::From(src)->IsArticulatedPart()) {
 			/* Skip vehicles, which do not belong to old_veh */
 			src = GetLastEnginePart(Train::From(src));
 			continue;
@@ -101,7 +101,7 @@
 
 		/* Find free space in the new chain */
 		for (Vehicle *dest = new_head; dest != NULL && src->cargo.Count() > 0; dest = dest->Next()) {
-			if (!part_of_chain && dest->type == VEH_TRAIN && dest != new_head && dest != Train::From(new_head)->other_multiheaded_part && !IsArticulatedPart(dest)) {
+			if (!part_of_chain && dest->type == VEH_TRAIN && dest != new_head && dest != Train::From(new_head)->other_multiheaded_part && !Train::From(dest)->IsArticulatedPart()) {
 				/* Skip vehicles, which do not belong to new_head */
 				dest = GetLastEnginePart(Train::From(dest));
 				continue;
@@ -214,9 +214,9 @@
  */
 static EngineID GetNewEngineType(const Vehicle *v, const Company *c)
 {
-	assert(v->type != VEH_TRAIN || !IsArticulatedPart(v));
+	assert(v->type != VEH_TRAIN || !Train::From(v)->IsArticulatedPart());
 
-	if (v->type == VEH_TRAIN && IsRearDualheaded(v)) {
+	if (v->type == VEH_TRAIN && Train::From(v)->IsRearDualheaded()) {
 		/* we build the rear ends of multiheaded trains with the front ones */
 		return INVALID_ENGINE;
 	}
@@ -347,8 +347,8 @@
  */
 static CommandCost ReplaceFreeUnit(Vehicle **single_unit, DoCommandFlag flags, bool *nothing_to_do)
 {
-	Vehicle *old_v = *single_unit;
-	assert(old_v->type == VEH_TRAIN && !IsArticulatedPart(old_v) && !IsRearDualheaded(old_v));
+	Train *old_v = Train::From(*single_unit);
+	assert(!old_v->IsArticulatedPart() && !old_v->IsRearDualheaded());
 
 	CommandCost cost = CommandCost(EXPENSES_NEW_VEHICLES, 0);
 
@@ -618,7 +618,7 @@
 	bool free_wagon = false;
 	if (v->type == VEH_TRAIN) {
 		Train *t = Train::From(v);
-		if (IsArticulatedPart(t) || IsRearDualheaded(t)) return CMD_ERROR;
+		if (t->IsArticulatedPart() || t->IsRearDualheaded()) return CMD_ERROR;
 		free_wagon = !t->IsFrontEngine();
 		if (free_wagon && t->First()->IsFrontEngine()) return CMD_ERROR;
 	} else {