Fix #12497: Add workaround for motion_counter being implemented correctly.

#12229 stopped updating motion_counter for non-engine parts of trains, and in doing so accidentally followed the spec for NewGRF var 46, which breaks NewGRFs that used to... accidentally work.

Make var 46 return motion_counter of the first engine, regardless of self or parent scope. This means var 46 is always in sync with the head engine, and avoids further changes to when motion_counter is updated.

(cherry picked from commit 9539b02455f672e11f3ac32302a00cffa5507770)
pull/688/head
Peter Nelson 1 month ago committed by Jonathan G Rennison
parent 6056a00222
commit ae16df2d61

@ -680,7 +680,7 @@ static uint32_t VehicleGetVariable(Vehicle *v, const VehicleScopeResolver *objec
}
case 0x46: // Motion counter
return v->motion_counter;
return v->First()->motion_counter;
case 0x47: { // Vehicle cargo info
/* Format: ccccwwtt

Loading…
Cancel
Save