summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--train_cmd.c4
-rw-r--r--variables.h1
-rw-r--r--vehicle.h10
3 files changed, 8 insertions, 7 deletions
diff --git a/train_cmd.c b/train_cmd.c
index 94008418b..80400faf9 100644
--- a/train_cmd.c
+++ b/train_cmd.c
@@ -955,7 +955,7 @@ int32 CmdSellRailWagon(int x, int y, uint32 flags, uint32 p1, uint32 p2)
/* 2. We are selling the first engine, some special action might be required
* here, so take attention */
- if (flags & DC_EXEC && v == first) {
+ if ((flags & DC_EXEC) && v == first) {
Vehicle *new_f = first->next;
/* 2.1 If the first wagon is sold, update the first-> pointers to NULL */
@@ -1043,7 +1043,7 @@ int32 CmdSellRailWagon(int x, int y, uint32 flags, uint32 p1, uint32 p2)
}
/* 3. If it is still a valid train after selling, update its acceleration */
- if (flags & DC_EXEC && first != NULL && first->subtype == TS_Front_Engine) UpdateTrainAcceleration(first);
+ if ((flags & DC_EXEC) && first != NULL && first->subtype == TS_Front_Engine) UpdateTrainAcceleration(first);
} break;
}
return cost;
diff --git a/variables.h b/variables.h
index afd37d4f9..71939cfd8 100644
--- a/variables.h
+++ b/variables.h
@@ -9,6 +9,7 @@
#endif
typedef uint16 UnitID; //! All unitnumber stuff is of this type (or anyway, should be)
+typedef uint16 EngineID; //! All enginenumbers should be of this type
// Prices and also the fractional part.
VARDEF Prices _price;
diff --git a/vehicle.h b/vehicle.h
index e8f45cb05..d0e99e969 100644
--- a/vehicle.h
+++ b/vehicle.h
@@ -26,9 +26,9 @@ enum VehStatus {
// 1 and 3 do not appear to be used
typedef enum TrainSubtypes {
- TS_Front_Engine = 0,
- TS_Not_First = 2,
- TS_Free_Car = 4,
+ TS_Front_Engine = 0, // Leading engine of a train
+ TS_Not_First = 2, // Wagon or additional engine
+ TS_Free_Car = 4, // First in a wagon chain (in depot)
} TrainSubtype;
/* Effect vehicle types */
@@ -161,7 +161,7 @@ struct Vehicle {
byte z_height; // z-height of vehicle sprite
int8 x_offs; // x offset for vehicle sprite
int8 y_offs; // y offset for vehicle sprite
- uint16 engine_type;
+ EngineID engine_type;
// for randomized variational spritegroups
// bitmask used to resolve them; parts of it get reseeded when triggers
@@ -366,7 +366,7 @@ static inline uint16 GetVehiclePoolSize(void)
/**
* Check if a Vehicle really exists.
*/
-static inline bool IsValidVehicle(Vehicle* v)
+static inline bool IsValidVehicle(const Vehicle *v)
{
return v->type != 0;
}