(svn r21238) -Feature: [NewGRF] Support callback 0x10 for RVs and ships (Hirundo)

This commit is contained in:
rubidium 2010-11-18 14:17:55 +00:00
parent 9af570eab4
commit 61ff042460
3 changed files with 10 additions and 1 deletions

View File

@ -279,7 +279,7 @@ enum CallbackID {
* Some callbacks are always used and don't have a mask. * Some callbacks are always used and don't have a mask.
*/ */
enum VehicleCallbackMask { enum VehicleCallbackMask {
CBM_VEHICLE_VISUAL_EFFECT = 0, ///< Visual effects and wagon power (trains only) CBM_VEHICLE_VISUAL_EFFECT = 0, ///< Visual effects and wagon power (trains, road vehicles and ships)
CBM_VEHICLE_LENGTH = 1, ///< Vehicle length (trains and road vehicles) CBM_VEHICLE_LENGTH = 1, ///< Vehicle length (trains and road vehicles)
CBM_VEHICLE_LOAD_AMOUNT = 2, ///< Load amount CBM_VEHICLE_LOAD_AMOUNT = 2, ///< Load amount
CBM_VEHICLE_REFIT_CAPACITY = 3, ///< Cargo capacity after refit CBM_VEHICLE_REFIT_CAPACITY = 3, ///< Cargo capacity after refit

View File

@ -188,6 +188,9 @@ void RoadVehUpdateCache(RoadVehicle *v)
u->rcache.cached_veh_length = GetRoadVehLength(u); u->rcache.cached_veh_length = GetRoadVehLength(u);
v->rcache.cached_total_length += u->rcache.cached_veh_length; v->rcache.cached_total_length += u->rcache.cached_veh_length;
/* Update visual effect */
v->UpdateVisualEffect();
/* Invalidate the vehicle colour map */ /* Invalidate the vehicle colour map */
u->colourmap = PAL_NONE; u->colourmap = PAL_NONE;
} }
@ -1477,6 +1480,8 @@ static bool RoadVehController(RoadVehicle *v)
if (v->IsInDepot() && RoadVehLeaveDepot(v, true)) return true; if (v->IsInDepot() && RoadVehLeaveDepot(v, true)) return true;
v->ShowVisualEffect();
/* Check how far the vehicle needs to proceed */ /* Check how far the vehicle needs to proceed */
int j = RoadVehAccelerate(v); int j = RoadVehAccelerate(v);

View File

@ -156,6 +156,8 @@ static void CheckIfShipNeedsService(Vehicle *v)
void Ship::UpdateCache() void Ship::UpdateCache()
{ {
this->vcache.cached_max_speed = GetVehicleProperty(this, PROP_SHIP_SPEED, ShipVehInfo(this->engine_type)->max_speed); this->vcache.cached_max_speed = GetVehicleProperty(this, PROP_SHIP_SPEED, ShipVehInfo(this->engine_type)->max_speed);
this->UpdateVisualEffect();
} }
Money Ship::GetRunningCost() const Money Ship::GetRunningCost() const
@ -446,6 +448,8 @@ static void ShipController(Ship *v)
CheckShipLeaveDepot(v); CheckShipLeaveDepot(v);
v->ShowVisualEffect();
if (!ShipAccelerate(v)) return; if (!ShipAccelerate(v)) return;
GetNewVehiclePosResult gp = GetNewVehiclePos(v); GetNewVehiclePosResult gp = GetNewVehiclePos(v);