38 static uint16 capacity[NUM_CARGO]; |
38 static uint16 capacity[NUM_CARGO]; |
39 memset(capacity, 0, sizeof(capacity)); |
39 memset(capacity, 0, sizeof(capacity)); |
40 |
40 |
41 if (type == VEH_TRAIN) { |
41 if (type == VEH_TRAIN) { |
42 const RailVehicleInfo *rvi = RailVehInfo(engine); |
42 const RailVehicleInfo *rvi = RailVehInfo(engine); |
43 capacity[rvi->cargo_type] = rvi->capacity; |
43 capacity[rvi->cargo_type] = GetEngineProperty(engine, 0x14, rvi->capacity); |
44 if (rvi->railveh_type == RAILVEH_MULTIHEAD) capacity[rvi->cargo_type] += rvi->capacity; |
44 if (rvi->railveh_type == RAILVEH_MULTIHEAD) capacity[rvi->cargo_type] += rvi->capacity; |
45 } else if (type == VEH_ROAD) { |
45 } else if (type == VEH_ROAD) { |
46 const RoadVehicleInfo *rvi = RoadVehInfo(engine); |
46 const RoadVehicleInfo *rvi = RoadVehInfo(engine); |
47 capacity[rvi->cargo_type] = rvi->capacity; |
47 capacity[rvi->cargo_type] = GetEngineProperty(engine, 0x0F, rvi->capacity); |
48 } |
48 } |
49 |
49 |
50 if (!HasBit(EngInfo(engine)->callbackmask, CBM_VEHICLE_ARTIC_ENGINE)) return capacity; |
50 if (!HasBit(EngInfo(engine)->callbackmask, CBM_VEHICLE_ARTIC_ENGINE)) return capacity; |
51 |
51 |
52 for (uint i = 1; i < MAX_UVALUE(EngineID); i++) { |
52 for (uint i = 1; i < MAX_UVALUE(EngineID); i++) { |