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)
This commit is contained in:

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
|
case 0x46: // Motion counter
|
||||||
return v->motion_counter;
|
return v->First()->motion_counter;
|
||||||
|
|
||||||
case 0x47: { // Vehicle cargo info
|
case 0x47: { // Vehicle cargo info
|
||||||
/* Format: ccccwwtt
|
/* Format: ccccwwtt
|
||||||
|
Reference in New Issue
Block a user