Started by freddyhayward, October 19, 2020, 10:36:37 PM
0 Members and 1 Guest are viewing this topic.
Quote from: wlindley on October 19, 2020, 11:16:34 PMThe only use case I have for "Reverse Schedule" is in creating loop lines (with mirroring turned off) and having some convoys operate "clockwise" while others operate "anti-clockwise." That minor convenience is probably not worth all the weirdnesses and complexities. Support.
Quote from: Freahk on October 20, 2020, 02:27:02 AMThe "unexpected behavior" points are solved by the above suggestion, except from the convoy replacement feature, which should indeed retain the "reverse route" state.
Current representation:[A, B, C, D, E, F], mirrored, (+ per-convoy reversal status)New representation:[A, B, C, D, E, F], mirrored(editing stops A-F will modify e-b and vice-versa.)modified schedule: [A, B, C, D, E, F, e, d, c, b]
Current representation:[A, B, C, D, E, F] (+ per-convoy reversal status)New representation:(editing line 1 will edit line 2 and vice versa. if line 1 is deleted, line 2's modified schedule becomes its base schedule)Line 1: [A, B, C, D, E, F]Line 2: [inverts other line: Line 1line 2 modified schedule: [f, e, d, c, b, a]
Quote from: freddyhayward on October 19, 2020, 10:36:37 PMIn summary, the 'mirror schedule' feature offers a small amount of convenience at the cost of reduced control and increased complexity. Replacing it with 'copy backward' from standard and potentially adding utilities for copying and reversing lines would bring many improvements. This change would:
Quote- Eliminate the following: - the 'Reverse schedule' button for all convoys. - the 'Alternate directions' option in the schedule window
Quote - the distinction between normal and reversed unidirectional journey time records.
Quote- Greatly simplify all code relating to schedule traversal making it less bug-prone and easier to contribute to.- Bring schedule-related code closer to standard making it easier to port over any fixes or improvements.
Quote- Prevent unexpected behaviour when: - replacing convoys where the 'reverse schedule' setting is reset. - setting convoys to a different line where the 'reverse schedule' setting is retained, even when the new line does not have 'mirror schedule' enabled. - disabling 'mirror schedule' on a line where half the convoys will now travel in the wrong direction until the player notices.
Quote - sending new vehicles from the depot to wait for schedule, where departure slots are duplicated because of differing 'reverse schedule' settings.
Quote from: Vladki on October 20, 2020, 11:19:49 AMYes I read you suggestion, but that looks also quite complicated - having one schedule for the player to manage, and another one, generated from the first, for the convoys to follow...
Quote from: freddyhayward on October 20, 2020, 03:54:03 AMIt wouldn't solve the problem where sending vehicles from the depot to the first timetabled stop on a mirrored line will lead to duplicate departures.
Quoteyour symbol idea would need to have a separate symbol for the non-return or non-reverse directions
QuoteWhereas in standard back then having a clockwise and counter clockwise line caused a large portion of pax being routed the long way around the circle.
Quote from: knotwork on November 29, 2020, 06:39:18 AMSo I am guessing you mean Simutrans doesn't have an orders jump, or doesn't have conditional orders, or something along those lines...
Quote from: knotwork on November 29, 2020, 06:39:18 AMActually now that I think about it I might be able to use that if factories are in similar direction from consumer use it in collecting things to "if full, go directly to dropoff (consumer)" and have supply trucks circle producers until full before taking full load to consumer...
Quote from: Freahk on October 20, 2020, 02:59:05 PMAt this moment, at 198 locations in the code the schedule_t::entries is used directly. Only 88 of these come from the schedule_t class by itself.If we really want to improve reliability, we should clean this up.
Quote from: Freahk on November 30, 2020, 05:47:09 PMIf someone is interessted in this and I got some more free time for simutrans (which might be in late January or February), we can review the code together, draft an object oriented design of schedules, based on that review and finally implemend that design.
Quote from: Ranran on December 14, 2020, 11:40:12 PMAs I said before, I'm trying to distinguish between reverse route and return path. (I don't know if the return path is correct English.)