summaryrefslogtreecommitdiff
path: root/src/vehicle_base.h
diff options
context:
space:
mode:
authorsmatz <smatz@openttd.org>2009-05-30 20:13:12 +0000
committersmatz <smatz@openttd.org>2009-05-30 20:13:12 +0000
commit8c11d612e44c30e124881ca47e15eda9ef0c5491 (patch)
tree3fdeab30fd2afc97d9b36c09471e7ce31b56d8c2 /src/vehicle_base.h
parent7633362912384ba7759724a2bbc057d97e5f27f0 (diff)
downloadopenttd-8c11d612e44c30e124881ca47e15eda9ef0c5491.tar.xz
(svn r16472) -Codechange: set vehicle type in SpecializedVehicle constructor instead of constructor of each vehicle type
Diffstat (limited to 'src/vehicle_base.h')
-rw-r--r--src/vehicle_base.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/vehicle_base.h b/src/vehicle_base.h
index e3659a009..581a55135 100644
--- a/src/vehicle_base.h
+++ b/src/vehicle_base.h
@@ -182,7 +182,7 @@ public:
VehicleCache vcache; ///< Cache of often used calculated values
/** Create a new vehicle */
- Vehicle();
+ Vehicle(VehicleType type = VEH_INVALID);
/** Destroy all stuff that (still) needs the virtual functions to work properly */
void PreDestructor();
@@ -503,6 +503,11 @@ struct SpecializedVehicle : public Vehicle {
static const VehicleType EXPECTED_TYPE = Type; ///< Specialized type
/**
+ * Set vehicle type correctly
+ */
+ FORCEINLINE SpecializedVehicle<T, Type>() : Vehicle(Type) { }
+
+ /**
* Get the first vehicle in the chain
* @return first vehicle in the chain
*/
@@ -559,9 +564,6 @@ struct DisasterVehicle : public SpecializedVehicle<DisasterVehicle, VEH_DISASTER
uint16 image_override;
VehicleID big_ufo_destroyer_target;
- /** Initializes the Vehicle to a disaster vehicle */
- DisasterVehicle() { this->type = VEH_DISASTER; }
-
/** We want to 'destruct' the right class. */
virtual ~DisasterVehicle() {}