1
0
Fork 0

(svn r17594) -Fix: Vehicle image was not always updated when needed.

release/1.0
frosch 2009-09-20 19:36:27 +00:00
parent bbce4fba25
commit 7fa4d576ca
6 changed files with 9 additions and 0 deletions

View File

@ -1320,6 +1320,7 @@ static void CrashAirplane(Aircraft *v)
CreateEffectVehicleRel(v, 4, 4, 8, EV_EXPLOSION_LARGE);
v->MarkDirty();
SetWindowDirty(WC_VEHICLE_VIEW, v->index);
uint amt = 2;

View File

@ -671,6 +671,7 @@ static void HandleBrokenRoadVeh(RoadVehicle *v)
if (v->breakdowns_since_last_service != 255)
v->breakdowns_since_last_service++;
v->MarkDirty();
SetWindowDirty(WC_VEHICLE_VIEW, v->index);
SetWindowDirty(WC_VEHICLE_DETAILS, v->index);
@ -688,6 +689,7 @@ static void HandleBrokenRoadVeh(RoadVehicle *v)
if ((v->tick_counter & 1) == 0) {
if (--v->breakdown_delay == 0) {
v->breakdown_ctr = 0;
v->MarkDirty();
SetWindowDirty(WC_VEHICLE_VIEW, v->index);
}
}

View File

@ -212,6 +212,7 @@ static void HandleBrokenShip(Vehicle *v)
if (v->breakdowns_since_last_service != 255)
v->breakdowns_since_last_service++;
v->MarkDirty();
SetWindowDirty(WC_VEHICLE_VIEW, v->index);
SetWindowDirty(WC_VEHICLE_DETAILS, v->index);
@ -229,6 +230,7 @@ static void HandleBrokenShip(Vehicle *v)
if (!(v->tick_counter & 1)) {
if (!--v->breakdown_delay) {
v->breakdown_ctr = 0;
v->MarkDirty();
SetWindowDirty(WC_VEHICLE_VIEW, v->index);
}
}

View File

@ -4159,6 +4159,7 @@ static void HandleBrokenTrain(Train *v)
if (v->breakdowns_since_last_service != 255)
v->breakdowns_since_last_service++;
v->MarkDirty();
SetWindowDirty(WC_VEHICLE_VIEW, v->index);
SetWindowDirty(WC_VEHICLE_DETAILS, v->index);
@ -4176,6 +4177,7 @@ static void HandleBrokenTrain(Train *v)
if (!(v->tick_counter & 3)) {
if (!--v->breakdown_delay) {
v->breakdown_ctr = 0;
v->MarkDirty();
SetWindowDirty(WC_VEHICLE_VIEW, v->index);
}
}

View File

@ -1645,6 +1645,7 @@ void StopAllVehicles()
/* Code ripped from CmdStartStopTrain. Can't call it, because of
* ownership problems, so we'll duplicate some code, for now */
v->vehstatus |= VS_STOPPED;
v->MarkDirty();
SetWindowWidgetDirty(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
SetWindowDirty(WC_VEHICLE_DEPOT, v->tile);
}

View File

@ -107,6 +107,7 @@ CommandCost CmdStartStopVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1,
v->vehstatus ^= VS_STOPPED;
if (v->type != VEH_TRAIN) v->cur_speed = 0; // trains can stop 'slowly'
v->MarkDirty();
SetWindowWidgetDirty(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
SetWindowDirty(WC_VEHICLE_DEPOT, v->tile);
SetWindowClassesDirty(GetWindowClassForVehicleType(v->type));