summaryrefslogtreecommitdiff
path: root/roadveh_cmd.c
diff options
context:
space:
mode:
authorbjarni <bjarni@openttd.org>2006-05-11 13:31:14 +0000
committerbjarni <bjarni@openttd.org>2006-05-11 13:31:14 +0000
commitf17a23e06a5756771ad2d7977038e29bfffe7db4 (patch)
treefc7719c3c53e3f59a9936181309d7e95d37f5698 /roadveh_cmd.c
parent37ec349dece0bbe06f366c0c39131ebe7b1a915d (diff)
downloadopenttd-f17a23e06a5756771ad2d7977038e29bfffe7db4.tar.xz
(svn r4826) -Fix: [autoreplace] fixed possible problem when autoreplacing and was number of vehicles (of a type, not total) was reached
now the new vehicle gets the same number as the old one, completely removing the problem where we could run out of numbers since we don't have to find free numbers for the new vehicles, autoreplace should be somewhat faster, specially in late games NOTE: in CmdBuildRailVehicle(), bit 0 and 1 in p2 have been switched to make the meaning of bit 0 consistent with the other build commands. CmdCloneVehicle() is modified to follow this as well
Diffstat (limited to 'roadveh_cmd.c')
-rw-r--r--roadveh_cmd.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/roadveh_cmd.c b/roadveh_cmd.c
index c9d1176f8..963f635ec 100644
--- a/roadveh_cmd.c
+++ b/roadveh_cmd.c
@@ -103,7 +103,7 @@ static int32 EstimateRoadVehCost(EngineID engine_type)
/** Build a road vehicle.
* @param tile tile of depot where road vehicle is built
* @param p1 bus/truck type being built (engine)
- * @param p2 unused
+ * @param p2 bit 0 when set, the unitnumber will be 0, otherwise it will be a free number
*/
int32 CmdBuildRoadVeh(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
{
@@ -129,7 +129,7 @@ int32 CmdBuildRoadVeh(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
return_cmd_error(STR_00E1_TOO_MANY_VEHICLES_IN_GAME);
/* find the first free roadveh id */
- unit_num = GetFreeUnitNumber(VEH_Road);
+ unit_num = (HASBIT(p2, 0) == true) ? 0 : GetFreeUnitNumber(VEH_Road);
if (unit_num > _patches.max_roadveh)
return_cmd_error(STR_00E1_TOO_MANY_VEHICLES_IN_GAME);