(svn r9770) -Codechange: perform the payment of cargo when loading/unloading, but when arriving at the station.
This commit is contained in:
@@ -40,6 +40,7 @@
|
||||
#include "newgrf_engine.h"
|
||||
#include "newgrf_sound.h"
|
||||
#include "helpers.hpp"
|
||||
#include "economy.h"
|
||||
|
||||
#define INVALID_COORD (-0x8000)
|
||||
#define GEN_HASH(x, y) ((GB((y), 6, 6) << 6) + GB((x), 7, 6))
|
||||
@@ -741,6 +742,7 @@ static bool CanFillVehicle_FullLoadAny(Vehicle *v)
|
||||
return keep_loading || (not_full && (full & ~not_full) == 0);
|
||||
}
|
||||
|
||||
|
||||
bool CanFillVehicle(Vehicle *v)
|
||||
{
|
||||
TileIndex tile = v->tile;
|
||||
@@ -2971,11 +2973,15 @@ void Vehicle::BeginLoading()
|
||||
GetStation(this->last_station_visited)->loading_vehicles.push_back(this);
|
||||
|
||||
SET_EXPENSES_TYPE(this->GetExpenseType(true));
|
||||
if (LoadUnloadVehicle(this, true) != 0) {
|
||||
InvalidateWindow(this->GetVehicleListWindowClass(), this->owner);
|
||||
this->MarkDirty();
|
||||
}
|
||||
VehiclePayment(this);
|
||||
|
||||
InvalidateWindow(this->GetVehicleListWindowClass(), this->owner);
|
||||
InvalidateWindowWidget(WC_VEHICLE_VIEW, this->index, STATUS_BAR);
|
||||
InvalidateWindow(WC_VEHICLE_DETAILS, this->index);
|
||||
InvalidateWindow(WC_STATION_VIEW, this->last_station_visited);
|
||||
|
||||
GetStation(this->last_station_visited)->MarkTilesDirty();
|
||||
this->MarkDirty();
|
||||
}
|
||||
|
||||
void Vehicle::LeaveStation()
|
||||
|
Reference in New Issue
Block a user