# HG changeset patch # User frosch # Date 1217162114 0 # Node ID 7f6ad9b49ad1fd57f6e752de8dbe1fd565815551 # Parent be219a19931c93afbbdf845b431e29fb70ef6f08 (svn r13847) -Codechange: Add MAX_ARTICULATED_PARTS and set it to 100. diff --git a/src/articulated_vehicles.cpp b/src/articulated_vehicles.cpp --- a/src/articulated_vehicles.cpp +++ b/src/articulated_vehicles.cpp @@ -11,6 +11,8 @@ #include "newgrf_engine.h" #include "vehicle_func.h" +static const uint MAX_ARTICULATED_PARTS = 100; ///< Maximum of articulated parts per vehicle, i.e. when to abort calling the articulated vehicle callback. + uint CountArticulatedParts(EngineID engine_type, bool purchase_window) { if (!HasBit(EngInfo(engine_type)->callbackmask, CBM_VEHICLE_ARTIC_ENGINE)) return 0; @@ -22,7 +24,7 @@ } uint i; - for (i = 1; i < MAX_UVALUE(EngineID); i++) { + for (i = 1; i < MAX_ARTICULATED_PARTS; i++) { uint16 callback = GetVehicleCallback(CBID_VEHICLE_ARTIC_ENGINE, i, 0, engine_type, v); if (callback == CALLBACK_FAILED || GB(callback, 0, 8) == 0xFF) break; } @@ -49,7 +51,7 @@ if (!HasBit(EngInfo(engine)->callbackmask, CBM_VEHICLE_ARTIC_ENGINE)) return capacity; - for (uint i = 1; i < MAX_UVALUE(EngineID); i++) { + for (uint i = 1; i < MAX_ARTICULATED_PARTS; i++) { uint16 callback = GetVehicleCallback(CBID_VEHICLE_ARTIC_ENGINE, i, 0, engine, NULL); if (callback == CALLBACK_FAILED || GB(callback, 0, 8) == 0xFF) break; @@ -75,7 +77,7 @@ if (!HasBit(EngInfo(v->engine_type)->callbackmask, CBM_VEHICLE_ARTIC_ENGINE)) return; - for (uint i = 1; i < MAX_UVALUE(EngineID); i++) { + for (uint i = 1; i < MAX_ARTICULATED_PARTS; i++) { uint16 callback = GetVehicleCallback(CBID_VEHICLE_ARTIC_ENGINE, i, 0, v->engine_type, v); if (callback == CALLBACK_FAILED || GB(callback, 0, 8) == 0xFF) return;