Here is an excerpt from original topic explaining what this patch is about:
As of now, it doesn't modify savegames in any way, so it is safe to use a trunk save game for testing. However, it introduces two variables that are internally used to to achive proper conversion between virtual time and days/ticks, the actual units used by timetable. Ingame, it is not noticable. But, for the sake of not modifiyng savegame versions for now, they are not saved. As a result, you might notice that your start dates or travel times made with autofill can be a bit off if you save/load when any particular vehicle is in the middle of autofill or had its start date set but didn't yet start running according to timetable.PhilSophus wrote: Have you ever been annoyed that timetables in the game are measured in days or even an artificial unit like ticks? Than this feature is for you. It introduces a second time-scale to the game, the virtual time measured in hours, minutes and seconds. You can configure the relation between virtual time and the traditional scale (which I will call calendar-scale for now) with patch setting between 1 virtual seconds per tick and 4 vsecs/tick yielding the following relationships:
You can enable display of the virtual time in the status bar by patch setting. The patch setting timetable_in_ticks was changed to timetable_unit and allows you to choose between days, ticks, HH:MM and HH:MM:SS. This setting works for both displaying and setting timetables.Code: Select all
vsecs per tick | 24 Virtual hours equal about ---------------+-------------------------------- 1 | 3 years 73 days (38.4 months) 2 | 1 year 219 days (19.2 months) 3 | 1 year 24 days (12.8 months) 4 | 292 days ( 9.6 months) ---------------+--------------------------------
Note: Virtual times are a GUI level concept, i.e. internally ticks or days are used and conversion between virtual time and calendar scale happens when displaying or setting data. This is why the virtual time settings are purely client-side settings. It is safe to use different virtual time settings on different clients in multiplayer.
How it works: since vehicle always starts its timetable on midnight, a special offset value is calculated to adjust vehicle's lateness counter to simulate the starting of timetable at other times of a day than midnight. This offset value is not saved. So, if you want your vehicle to start at that particular time, it is a good idea to let it do so before saving. Ingame, you if you see the string "timetable will start at" instead of vehicle is on time/early/late, that means the timetable didn't start yet. This is the first variable, that is not saved.
Second variable is a rounding factor used in autofill. In trunk, autofill always rounds times to days, irregardless if you timetable in ticks or days.
With this patch, it rounds according with timetable unit selected. To days, to minutes, and no rouding for ticks and seconds. Default is days. If you save with vehicle in the middle of autofill, when you load a game it will round to days, despite whatever rounding factor you had when starting autofill.
I left them unsaved intentionally, to keep save games compatible with trunk.
Caring about them is not critical, since they revert to default behavior. It's here to clarify somethings in case your times a bit off.
Big thanks go to openttd devs and #openttd, who helped me tremendously to make this work!
Here is the screenie and the actual diff: