--- a/vehicle.c Thu Jan 06 17:40:57 2005 +0000
+++ b/vehicle.c Thu Jan 06 18:45:28 2005 +0000
@@ -1409,17 +1409,17 @@
This is a nice way to send 32 bit and only use 16 bit
the last 8 bit is the engine. The 8 bits in front of the engine is free so it have room for 16 bit engine entries */
uint16 new_engine_type = (uint16)(p2 & 0xFFFF);
- uint32 autorefit_money = (p2 >> 16) * 100000;
+ uint32 autorefit_money = (p2 >> 16) * 100000;
Vehicle *v = DEREF_VEHICLE(p1);
int cost, build_cost;
SET_EXPENSES_TYPE(EXPENSES_NEW_VEHICLES);
-
-
+
+
// first we make sure that it's a valid type the user requested
// check that it's an engine that is in the engine array
if (new_engine_type >= TOTAL_NUM_ENGINES ) return CMD_ERROR;
-
+
// check that the new vehicle type is the same as the original one
if (v->type != DEREF_ENGINE(new_engine_type)->type) return CMD_ERROR;
@@ -1466,7 +1466,7 @@
if (flags & DC_EXEC) {
Engine *e;
e = DEREF_ENGINE(new_engine_type);
-
+
// TODO make it check if refit is possible before actually doing it
/* We do not really buy a new vehicle, we upgrade the old one */
@@ -1474,7 +1474,7 @@
byte cargo_type = v->cargo_type;
v->engine_type = new_engine_type;
v->max_age = e->lifelength * 366;
-
+
/* Update limits of the vehicle (for when upgraded) */
switch (v->type) {
case VEH_Train:
@@ -1489,7 +1489,7 @@
v->max_speed = rvi->max_speed;
v->u.rail.railtype = e->railtype;
-
+
// 0x0100 means that we skip the check for being stopped inside the depot
// since we do not stop it for autorefitting
if (v->cargo_type != cargo_type && capacity) {
@@ -1521,7 +1521,7 @@
v->cargo_type = svi->cargo_type;
v->cargo_cap = svi->capacity;
v->max_speed = svi->max_speed;
-
+
// 0x0100 means that we skip the check for being stopped inside the depot
// since we do not stop it for autorefitting
if (v->cargo_type != cargo_type)
@@ -1559,7 +1559,7 @@
v->cargo_count = v->cargo_cap;
}
}
-
+
v->reliability = e->reliability;
v->reliability_spd_dec = e->reliability_spd_dec;
v->age = 0;
@@ -1580,7 +1580,7 @@
void MaybeReplaceVehicle(Vehicle *v)
{
uint32 new_engine_and_autoreplace_money;
-
+
if (v->owner != _local_player)
return;
// uncomment next line if you want to see what engine type just entered a depot
@@ -1597,7 +1597,7 @@
}
/* Now replace the vehicle */
_current_player = v->owner;
-
+
/* makes the variable to inform about how much money the player wants to have left after replacing
and which engine to replace with
the first 16 bit is the money. Since we know the last 5 digits is 0, they are thrown away.
@@ -1605,9 +1605,9 @@
This is a nice way to send 32 bit and only use 16 bit
the last 8 bit is the engine. The 8 bits in front of the engine is free so it have room for 16 bit engine entries */
new_engine_and_autoreplace_money = ((_patches.autorenew_money / 100000) << 16) + _autoreplace_array[v->engine_type];
-
+
assert(v->type == DEREF_ENGINE(_autoreplace_array[v->engine_type])->type);
-
+
if ( v->type != VEH_Train ) {
DoCommandP(v->tile, v->index, new_engine_and_autoreplace_money, NULL, CMD_REPLACE_VEHICLE | CMD_SHOW_NO_ERROR);
} else {