1
0
Fork 0

(svn r6529) -Fix r6513: [depot window] added missing switch in CcCloneVehicle()

The result of this missing switch was asserts in some cloning conditions (not all) (spotted by KUDr)
release/0.5
bjarni 2006-09-27 15:40:55 +00:00
parent 9c3e526631
commit fcc39c454a
4 changed files with 12 additions and 1 deletions

View File

@ -20,4 +20,6 @@ static inline bool IsAircraftInHangarStopped(const Vehicle* v)
uint16 AircraftDefaultCargoCapacity(CargoID cid, EngineID engine_type);
void CcCloneAircraft(bool success, TileIndex tile, uint32 p1, uint32 p2);
#endif /* AIRCRAFT_H */

View File

@ -4,6 +4,7 @@
#include "openttd.h"
#include "functions.h"
#include "ship.h"
#include "aircraft.h"
#include "table/strings.h"
#include "table/sprites.h"
#include "gui.h"
@ -150,7 +151,12 @@ extern int WagonLengthToPixels(int len);
void CcCloneVehicle(bool success, TileIndex tile, uint32 p1, uint32 p2)
{
if (!success) return;
CcCloneShip(true, tile, p1, p2);
switch(GetVehicle(p1)->type) {
case VEH_Train: CcCloneTrain( true, tile, p1, p2); break;
case VEH_Road: CcCloneRoadVeh( true, tile, p1, p2); break;
case VEH_Ship: CcCloneShip( true, tile, p1, p2); break;
case VEH_Aircraft: CcCloneAircraft(true, tile, p1, p2); break;
}
}
static inline void ShowVehicleViewWindow(const Vehicle *v)

View File

@ -13,3 +13,5 @@ static inline bool IsRoadVehInDepotStopped(const Vehicle* v)
{
return IsRoadVehInDepot(v) && v->vehstatus & VS_STOPPED;
}
void CcCloneRoadVeh(bool success, TileIndex tile, uint32 p1, uint32 p2);

View File

@ -219,5 +219,6 @@ void ConvertOldMultiheadToNew(void);
void ConnectMultiheadedTrains(void);
int CheckTrainInDepot(const Vehicle *v, bool needs_to_be_stopped);
void CcCloneTrain(bool success, TileIndex tile, uint32 p1, uint32 p2);
#endif /* TRAIN_H */