This is because AfterLoadVehicles may indirectly check airport
properties via the NewGRF code.
Defer missing GRF error message output until the end of AfterLoadGame
to avoid obscuring any earlier errors.
Check if the job is still running one date fract tick before it
is due to join and if so pause the game until its done.
This avoids the main thread being blocked on a thread join.
Show if pause is due to link graph job in status bar, update network
messages.
This does not apply for network clients.
The validator now checks that the type of conditional instructions
is known.
On a validation failure, the load code now outputs a corrupt savegame
message, with the validation error message and a program dump,
instead of using an assertion.
Only run in pathfinder case if deny or penalty are present.
Only run in is safe waiting tile case is reserve through is present.
Presence is determined at program validation time and cached in the
program structure.
Validator now checks for unknown non-conditional instructions.
This only changes the behaviour of PBS reservations which
would otherwise terminate at a PBS signal.
If the signal restriction sets the reserve through state,
the reservation continues through the signal, and the signal
is set to green.
Add a script to write a .ottdrev style file: .ottdrev-vc, which also
includes a SHA-256 hash of the source tree.
Modify findversion.sh to use this file if no VCS info can be found,
and use the source tree hash to set the modified status.
Include leading digits of hash in version string if different,
this is to make it easier to distinguish between modified or
non-release versions.
Add function to create release tag and create/commit .ottdrev-vc
in one go.
Time in minutes now based on the existing date ticks * the day length,
plus the tick skip counter, instead of just the date ticks.
Change the format of the {DATE_WALLCLOCK_*} string params
to use date ticks scaled by the day length, as above.
Update status bar clock.