changeset 18242:2eacf17b9ebc draft

(svn r23078) -Fix (r23077): default ships carrying passengers and oil were suddenly only able to carry coal
author yexo <yexo@openttd.org>
date Tue, 01 Nov 2011 12:15:33 +0000
parents b9d050ddad0f
children 0f4af8be53f9
files src/newgrf.cpp
diffstat 1 files changed, 6 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/newgrf.cpp
+++ b/src/newgrf.cpp
@@ -8015,6 +8015,12 @@
 			only_defaultcargo = (ei->refit_mask == 0);
 		}
 
+		/* Clear refit_mask for not refittable ships */
+		if (e->type == VEH_SHIP && !e->u.ship.old_refittable) {
+			ei->refit_mask = 0;
+			only_defaultcargo = true;
+		}
+
 		/* Ensure that the vehicle is either not refittable, or that the default cargo is one of the refittable cargos.
 		 * Note: Vehicles refittable to no cargo are handle differently to vehicle refittable to a single cargo. The latter might have subtypes. */
 		if (!only_defaultcargo && ei->cargo_type != CT_INVALID && !HasBit(ei->refit_mask, ei->cargo_type)) {
@@ -8025,9 +8031,6 @@
 		 * cargo type. Finally disable the vehicle, if there is still no cargo. */
 		if (ei->cargo_type == CT_INVALID && ei->refit_mask != 0) ei->cargo_type = (CargoID)FindFirstBit(ei->refit_mask);
 		if (ei->cargo_type == CT_INVALID) ei->climates = 0;
-
-		/* Clear refit_mask for not refittable ships */
-		if (e->type == VEH_SHIP && !e->u.ship.old_refittable) ei->refit_mask = 0;
 	}
 }