(svn r1979) Const correctness
authortron
Wed, 09 Mar 2005 21:54:52 +0000
changeset 1475 b5cf1fc28304
parent 1474 d83520edcda6
child 1476 abbcea18a01c
(svn r1979) Const correctness
engine.c
engine.h
train_cmd.c
vehicle.c
vehicle.h
--- a/engine.c	Wed Mar 09 19:48:20 2005 +0000
+++ b/engine.c	Wed Mar 09 21:54:52 2005 +0000
@@ -275,13 +275,11 @@
 	_engine_custom_sprites[engine][cargo] = *group;
 }
 
-typedef struct RealSpriteGroup *(*resolve_callback)(struct SpriteGroup *spritegroup,
-                                                    struct Vehicle *veh,
-                                                    void *callback); /* XXX data pointer used as function pointer */
+typedef struct RealSpriteGroup *(*resolve_callback)(
+	struct SpriteGroup *spritegroup, const Vehicle *veh, void *callback); /* XXX data pointer used as function pointer */
 
-static struct RealSpriteGroup *
-ResolveVehicleSpriteGroup(struct SpriteGroup *spritegroup, struct Vehicle *veh,
-			  resolve_callback callback)
+static struct RealSpriteGroup* ResolveVehicleSpriteGroup(
+	struct SpriteGroup *spritegroup, const Vehicle *veh, resolve_callback callback)
 {
 	//debug("spgt %d", spritegroup->type);
 	switch (spritegroup->type) {
@@ -460,7 +458,7 @@
 	}
 }
 
-static struct SpriteGroup *GetVehicleSpriteGroup(byte engine, Vehicle *v)
+static struct SpriteGroup *GetVehicleSpriteGroup(byte engine, const Vehicle *v)
 {
 	struct SpriteGroup *group;
 	uint16 overriding_engine = -1;
@@ -483,7 +481,7 @@
 	return group;
 }
 
-int GetCustomEngineSprite(byte engine, Vehicle *v, byte direction)
+int GetCustomEngineSprite(byte engine, const Vehicle *v, byte direction)
 {
 	struct SpriteGroup *group;
 	struct RealSpriteGroup *rsg;
--- a/engine.h	Wed Mar 09 19:48:20 2005 +0000
+++ b/engine.h	Wed Mar 09 21:54:52 2005 +0000
@@ -99,7 +99,7 @@
 void SetWagonOverrideSprites(byte engine, struct SpriteGroup *group, byte *train_id, int trains);
 void SetCustomEngineSprites(byte engine, byte cargo, struct SpriteGroup *group);
 // loaded is in percents, overriding_engine 0xffff is none
-int GetCustomEngineSprite(byte engine, Vehicle *v, byte direction);
+int GetCustomEngineSprite(byte engine, const Vehicle *v, byte direction);
 #define GetCustomVehicleSprite(v, direction) GetCustomEngineSprite(v->engine_type, v, direction)
 #define GetCustomVehicleIcon(et, direction) GetCustomEngineSprite(et, NULL, direction)
 
--- a/train_cmd.c	Wed Mar 09 19:48:20 2005 +0000
+++ b/train_cmd.c	Wed Mar 09 21:54:52 2005 +0000
@@ -281,7 +281,7 @@
 	v->acceleration = clamp(power / weight * 4, 1, 255);
 }
 
-int GetTrainImage(Vehicle *v, byte direction)
+int GetTrainImage(const Vehicle *v, byte direction)
 {
 	int img = v->spritenum;
 	int base;
--- a/vehicle.c	Wed Mar 09 19:48:20 2005 +0000
+++ b/vehicle.c	Wed Mar 09 21:54:52 2005 +0000
@@ -365,29 +365,28 @@
 	return v;
 }
 
-Vehicle *GetPrevVehicleInChain(Vehicle *v)
+Vehicle *GetPrevVehicleInChain(const Vehicle *v)
 {
-	Vehicle *org = v;
+	const Vehicle *org = v;
 
 	FOR_ALL_VEHICLES(v) {
 		if (v->type == VEH_Train && org == v->next)
-			return v;
+			return (Vehicle*)v;
 	}
 
 	return NULL;
 }
 
-Vehicle *GetFirstVehicleInChain(Vehicle *v)
+Vehicle *GetFirstVehicleInChain(const Vehicle *v)
 {
-	Vehicle *u;
+	while (true) {
+		const Vehicle* u = v;
 
-	while (true) {
-		u = v;
 		v = GetPrevVehicleInChain(v);
 		/* If there is no such vehicle,
 		    'v' == NULL and so 'u' is the first vehicle in chain */
 		if (v == NULL)
-			return u;
+			return (Vehicle*)u;
 	}
 }
 
--- a/vehicle.h	Wed Mar 09 19:48:20 2005 +0000
+++ b/vehicle.h	Wed Mar 09 21:54:52 2005 +0000
@@ -262,8 +262,8 @@
 void VehiclePositionChanged(Vehicle *v);
 void AfterLoadVehicles(void);
 Vehicle *GetLastVehicleInChain(Vehicle *v);
-Vehicle *GetPrevVehicleInChain(Vehicle *v);
-Vehicle *GetFirstVehicleInChain(Vehicle *v);
+Vehicle *GetPrevVehicleInChain(const Vehicle *v);
+Vehicle *GetFirstVehicleInChain(const Vehicle *v);
 int CountVehiclesInChain(Vehicle *v);
 void DeleteVehicle(Vehicle *v);
 void DeleteVehicleChain(Vehicle *v);
@@ -285,7 +285,7 @@
 void AddRearEngineToMultiheadedTrain(Vehicle *v, Vehicle *u, bool building) ;
 
 /* train_cmd.h */
-int GetTrainImage(Vehicle *v, byte direction);
+int GetTrainImage(const Vehicle *v, byte direction);
 int GetAircraftImage(Vehicle *v, byte direction);
 int GetRoadVehImage(Vehicle *v, byte direction);
 int GetShipImage(Vehicle *v, byte direction);