1
0
Fork 0

(svn r13847) -Codechange: Add MAX_ARTICULATED_PARTS and set it to 100.

release/0.7
frosch 2008-07-27 12:35:14 +00:00
parent 2cec059248
commit 80725edc3d
1 changed files with 5 additions and 3 deletions

View File

@ -11,6 +11,8 @@
#include "newgrf_engine.h" #include "newgrf_engine.h"
#include "vehicle_func.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) uint CountArticulatedParts(EngineID engine_type, bool purchase_window)
{ {
if (!HasBit(EngInfo(engine_type)->callbackmask, CBM_VEHICLE_ARTIC_ENGINE)) return 0; if (!HasBit(EngInfo(engine_type)->callbackmask, CBM_VEHICLE_ARTIC_ENGINE)) return 0;
@ -22,7 +24,7 @@ uint CountArticulatedParts(EngineID engine_type, bool purchase_window)
} }
uint i; 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); uint16 callback = GetVehicleCallback(CBID_VEHICLE_ARTIC_ENGINE, i, 0, engine_type, v);
if (callback == CALLBACK_FAILED || GB(callback, 0, 8) == 0xFF) break; if (callback == CALLBACK_FAILED || GB(callback, 0, 8) == 0xFF) break;
} }
@ -49,7 +51,7 @@ uint16 *GetCapacityOfArticulatedParts(EngineID engine, VehicleType type)
if (!HasBit(EngInfo(engine)->callbackmask, CBM_VEHICLE_ARTIC_ENGINE)) return capacity; 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); uint16 callback = GetVehicleCallback(CBID_VEHICLE_ARTIC_ENGINE, i, 0, engine, NULL);
if (callback == CALLBACK_FAILED || GB(callback, 0, 8) == 0xFF) break; if (callback == CALLBACK_FAILED || GB(callback, 0, 8) == 0xFF) break;
@ -75,7 +77,7 @@ void AddArticulatedParts(Vehicle **vl, VehicleType type)
if (!HasBit(EngInfo(v->engine_type)->callbackmask, CBM_VEHICLE_ARTIC_ENGINE)) return; 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); uint16 callback = GetVehicleCallback(CBID_VEHICLE_ARTIC_ENGINE, i, 0, v->engine_type, v);
if (callback == CALLBACK_FAILED || GB(callback, 0, 8) == 0xFF) return; if (callback == CALLBACK_FAILED || GB(callback, 0, 8) == 0xFF) return;