From e5121e70d0bc12ec82dba3ba6f114d5137b69fec Mon Sep 17 00:00:00 2001 From: tron Date: Wed, 9 Mar 2005 21:54:52 +0000 Subject: [PATCH] (svn r1979) Const correctness --- engine.c | 14 ++++++-------- engine.h | 2 +- train_cmd.c | 2 +- vehicle.c | 15 +++++++-------- vehicle.h | 6 +++--- 5 files changed, 18 insertions(+), 21 deletions(-) diff --git a/engine.c b/engine.c index 9329176246..ecd92addc7 100644 --- a/engine.c +++ b/engine.c @@ -275,13 +275,11 @@ void SetCustomEngineSprites(byte engine, byte cargo, struct SpriteGroup *group) _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 @@ ResolveVehicleSpriteGroup(struct SpriteGroup *spritegroup, struct Vehicle *veh, } } -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 @@ static struct SpriteGroup *GetVehicleSpriteGroup(byte engine, Vehicle *v) 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; diff --git a/engine.h b/engine.h index c7ab673dc5..9632e42723 100644 --- a/engine.h +++ b/engine.h @@ -99,7 +99,7 @@ extern byte _engine_original_sprites[256]; 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) diff --git a/train_cmd.c b/train_cmd.c index b7da037f83..409c9525bc 100644 --- a/train_cmd.c +++ b/train_cmd.c @@ -281,7 +281,7 @@ void UpdateTrainAcceleration(Vehicle *v) 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; diff --git a/vehicle.c b/vehicle.c index 1fdbd670c8..9faf679e64 100644 --- a/vehicle.c +++ b/vehicle.c @@ -365,29 +365,28 @@ Vehicle *GetLastVehicleInChain(Vehicle *v) 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) { - u = v; + const Vehicle* 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; } } diff --git a/vehicle.h b/vehicle.h index 94c9bcc8f8..f0a8abf6c0 100644 --- a/vehicle.h +++ b/vehicle.h @@ -262,8 +262,8 @@ void UpdateVehiclePosHash(Vehicle *v, int x, int y); 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 TrainEnterDepot(Vehicle *v, uint tile); 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);