[patch] Realistic Train Shunting

Forum for technical discussions regarding development. If you have a general suggestion, problem or comment, please use one of the other forums.

Moderator: OpenTTD Developers

Post Reply
Karn
Traffic Manager
Traffic Manager
Posts: 128
Joined: 02 Oct 2011 18:56

Re: [patch] Realistic Train Shunting

Post by Karn »

TrainLover wrote:Could this be implemented in a huge patch pack like JGR's without breaking the patch pack?
I can't talk for patch pack developers, but there are few aspects to consider.
1) How will it go with other features in patchpack?
Personally I have no idea, I see potential problem with order features, but I have no idea how it's coded and if it's just my feeling. Also I made changes in pathfinder, which may or may not interact with features in the patch pack. Anyway, this is question for patch pack author and he should be able to deal with this.

2) Bugs in this patch.
I can say, there are some present that I'm investigating. There should be none if it's going to large patch pack.

3) Future features in this patch.
I have intention to expand this patch further. Which is main reason to not include it in patchpack at the moment. Because every change I make is going to be painful for JGR if he wants to keep up with interesting new features.

So I wouldn't recommend adding this into patch pack, until this patch is stable.

What it needs to be stable? There is easy answer for that. Just many programming hours. Either from me or someone else. But seems I'm the only one being able and interested in to develop this, so you have to trust that one day I finish it. Then the 2) and 3) will be friendly for any patch pack.
User avatar
TrainLover
Engineer
Engineer
Posts: 107
Joined: 01 Jul 2015 15:03

Re: [patch] Realistic Train Shunting

Post by TrainLover »

Which part of the OpenTTD code did you edit to make it so that trains could connect and disconnect? Maybe I could go and look at the code to see if I could help fix some bugs. Or even if I couldn't, I like to look at C++ code.
Developer of North American Passenger Liveries: viewtopic.php?f=26&t=87228
Karn
Traffic Manager
Traffic Manager
Posts: 128
Joined: 02 Oct 2011 18:56

Re: [patch] Realistic Train Shunting

Post by Karn »

To disconnect train:
In the file train_cmd.cpp changed method

Code: Select all

static void TrainEnterStation(Train *v, StationID station)
and added method

Code: Select all

u = DecoupleTrain(v);
To connect train:
In the file train_cmd.cpp inside method

Code: Select all

static bool TrainLocoHandler(Train *v, bool mode)
added method

Code: Select all

if (TrainCoupleHandler(v)) {
Btw I have work in progress that is not meant to be used yet in this branch https://github.com/Palo123/OpenTTD-YPS/ ... couple-wip
User avatar
TrainLover
Engineer
Engineer
Posts: 107
Joined: 01 Jul 2015 15:03

Re: [patch] Realistic Train Shunting

Post by TrainLover »

Is mode a variable that is in regular OpenTTD source code, or have you added in that boolean variable?
Developer of North American Passenger Liveries: viewtopic.php?f=26&t=87228
Karn
Traffic Manager
Traffic Manager
Posts: 128
Joined: 02 Oct 2011 18:56

Re: [patch] Realistic Train Shunting

Post by Karn »

mode is in regular OpenTTD. It's not related to patch. Train is moved twice during tick, but some values should be updated only once. move is there to tell it's one of 2 updates.
User avatar
supermop
Tycoon
Tycoon
Posts: 1104
Joined: 21 Feb 2010 00:15
Location: Fitzroy North - 96

Re: [patch] Realistic Train Shunting

Post by supermop »

Crash with 0.8.2:

[+] Spoiler
*** OpenTTD Crash Report ***

Crash at: Sun Jul 29 13:42:32 2018
In game date: 1966-05-12 (39)

Crash reason:
Exception: E1212012
Location: 7786DB52
Message: Assertion failed at line 1597 of c:/github/OpenTTD-YPS/src/economy.cpp: front->current_order.IsType(OT_LOADING)

OpenTTD version:
Version: 20180718-Decouple-g44580d25 (0)
NewGRF ver: 19000000
Bits: 32
Endian: little
Dedicated: no
Build date: Jul 18 2018 09:18:21

Registers:
EAX: 01B5D0D8 EBX: 00000000 ECX: 00000000 EDX: 00000000
ESI: 00000016 EDI: 00546D20 EBP: 01B5D134 ESP: 01B5D0D8
EIP: 7786DB52 EFLAGS: 00200246

Bytes at instruction pointer:
8B 4C 24 54 33 CC E8 F3 43 00 00 8B E5 5D C2 10 00 83 64 24 10 00 EB DE

Stack trace:
E1212012 00000000 00000000 7786DB52 00000000 01CB0348 00000001 06B62770
0000002D 00000000 0042001B 06B62BD8 00000000 01D499E0 00000000 1D588222
01B5D198 77B4C66D 0101A23C 00000003 77B4A396 B3C522B1 00000000 01B5D1A8
00546D47 E1212012 00000000 00000000 00000000 772041CC 01B5D1A8 771A6F56
771A6F61 00000016 4E2A76BC 065AEED0 2836E904 01B5D4F0 8AEA2473 FFFFFFFE
00000000 00000000 00000001 00546D20 77205C48 4E2A76BC 01B5D160 01B5CA6C
01B5FFCC 771ACA20 38802B8C FFFFFFFE 01B5D4D8 771AB40B 00000016 763E89BD
00000001 50022080 01D499E0 76370000 01B5D29C 01B5D29C 763E8A49 01CB0000
00000000 01D499E0 01B5D418 00000001 763E8A90 63657269 00000251 001A0BA6
00000010 00000032 0000009C 00000000 00000000 01D499E0 01D49A44 50022080
00000139 00000027 00000324 00000000 00000020 016F08A2 00000000 00007F01
00000016 000000D7 00000000 00000000 00000000 00000000 00000000 000005DC
000003C0 0000000D 000004A3 00000000 0000001C 0000000F 00000000 00000000
000005DC 000003C0 003FC800 01B5D25C 00000000 01B5FFCC 763ADBD0 1D5882D6
76113AEC 01B5D400 763E78A0 01B5D418 016F08A0 00000000 763E78EC 00000000
00000069 00000000 00000000 00000000 76377034 00000001 00000001 00000001
00000001 771D6EB7 0244197F 00A6335F 001413E4 02442558 01B5D328 000001FF
02442558 024412E8 00000000 02441200 01B5D338 771D6FCC 0244197F 00A6335F
00000016 01B5D328 024412E8 7FFFFFFF 02442558 024412E8 0000000A 00000000
00000001 00000001 0244197F 00A6335F 00000016 00000001 00000000 01B5D373
01B5D370 006F257D 00000001 00000000 0000000A 00000000 00000000 01B5D4F0
00000070 01B5D560 00000000 00000000 016F0CA0 01B5D4A8 7785279F 016F08A0
00000400 01B5D3C8 01B5D4F0 00000070 065AEED0 2836E904 778526B6 00000000
01B5D440 006F1F3F 01B5D3A0 FFFFFFFF 000000E0 016F08A0 00000200 FFFFFFFE

Operating system:
Name: Windows
Release: 6.2.9200 ()
Compiler: GCC 5.3.0 "5.3.0"

Configuration:
Blitter: 32bpp-optimized
Graphics set: OpenGFX (5580)
Language: C:\Users\Daniel Erikson\Downloads\openttd_decouple_0.8.2_win32\lang\english_US.lng
Music driver: win32
Music set: NoMusic (0)
Network: no
Sound driver: win32
Sound set: NoSound (2)
Video driver: win32

Fonts:
Small: sprite
Medium: sprite
Large: sprite
Mono: sprite

AI Configuration (local: 0):
0: Human
GS: Act locally, think globally (v4)

Libraries:
FreeType: 2.4.10
LZMA: 5.0.4
LZO: 2.06
PNG: 1.5.16
Zlib: 1.2.11

Module information:
C:\Users\Daniel Erikson\Downloads\openttd_decouple_0.8.2_win32\openttd.exe handle: 00400000 size: 13244871 crc: 40DF3E8C date: 2018-07-18 07:19:07
C:\WINDOWS\SYSTEM32\ntdll.dll handle: 77ae0000 size: 1620880 crc: 35D33857 date: 2018-06-08 09:09:34
C:\WINDOWS\System32\KERNEL32.DLL handle: 77350000 size: 607840 crc: 925D9B04 date: 2018-04-11 23:35:01
C:\WINDOWS\System32\KERNELBASE.dll handle: 77760000 size: 1980872 crc: 385335DF date: 2018-06-08 09:09:45
C:\WINDOWS\SYSTEM32\apphelp.dll handle: 723b0000 size: 627712 crc: 3986838C date: 2018-04-11 23:34:50
C:\WINDOWS\System32\ADVAPI32.DLL handle: 744c0000 size: 481976 crc: E19EBFD9 date: 2018-04-11 23:35:01
C:\WINDOWS\System32\msvcrt.dll handle: 77150000 size: 774288 crc: 5D313FA1 date: 2018-04-11 23:35:01
C:\WINDOWS\System32\sechost.dll handle: 775e0000 size: 269200 crc: F63FB8BB date: 2018-04-11 23:35:02
C:\WINDOWS\System32\RPCRT4.dll handle: 74710000 size: 786176 crc: 05EED7D3 date: 2018-06-08 09:12:12
C:\WINDOWS\System32\SspiCli.dll handle: 743a0000 size: 123520 crc: F6A5A838 date: 2018-04-11 23:35:01
C:\WINDOWS\System32\CRYPTBASE.dll handle: 74390000 size: 31592 crc: 23CC4CE4 date: 2018-04-11 23:35:01
C:\WINDOWS\System32\bcryptPrimitives.dll handle: 77630000 size: 356960 crc: DFB03489 date: 2018-06-08 09:09:55
C:\WINDOWS\System32\GDI32.dll handle: 761a0000 size: 134856 crc: BCA9C868 date: 2018-04-11 23:34:46
C:\WINDOWS\System32\gdi32full.dll handle: 75fa0000 size: 1454024 crc: F4025B2E date: 2018-06-08 17:04:16
C:\WINDOWS\System32\msvcp_win.dll handle: 77220000 size: 504168 crc: 32672ADB date: 2018-04-11 23:34:51
C:\WINDOWS\System32\ucrtbase.dll handle: 74540000 size: 1175568 crc: E66FB30B date: 2018-04-11 23:34:51
C:\WINDOWS\System32\USER32.dll handle: 76370000 size: 1626536 crc: 0F0BDF19 date: 2018-04-11 23:34:48
C:\WINDOWS\System32\win32u.dll handle: 76110000 size: 86840 crc: 78157AC3 date: 2018-04-11 23:34:48
C:\WINDOWS\System32\IMM32.DLL handle: 77950000 size: 147288 crc: E7BD90AE date: 2018-04-11 23:34:50
C:\WINDOWS\System32\SHELL32.DLL handle: 74b50000 size: 20383712 crc: B74F691E date: 2018-05-20 18:14:03
C:\WINDOWS\System32\cfgmgr32.dll handle: 77430000 size: 228864 crc: 87E76360 date: 2018-04-11 23:34:51
C:\WINDOWS\System32\shcore.dll handle: 772a0000 size: 553248 crc: 4ECF2EE5 date: 2018-06-08 09:09:54
C:\WINDOWS\System32\combase.dll handle: 76ef0000 size: 2479272 crc: 6BB194BC date: 2018-06-08 09:10:35
C:\WINDOWS\System32\windows.storage.dll handle: 76930000 size: 6044104 crc: D9853CAE date: 2018-05-20 11:32:50
C:\WINDOWS\System32\shlwapi.dll handle: 77980000 size: 278960 crc: FD5C05E3 date: 2018-04-11 23:34:59
C:\WINDOWS\System32\kernel.appcore.dll handle: 77750000 size: 50208 crc: B2B13399 date: 2018-06-08 09:09:40
C:\WINDOWS\System32\profapi.dll handle: 77330000 size: 89440 crc: 552BEB89 date: 2018-04-11 23:35:03
C:\WINDOWS\System32\powrprof.dll handle: 748d0000 size: 274352 crc: 0238FF3F date: 2018-04-11 23:34:50
C:\WINDOWS\System32\FLTLIB.DLL handle: 779e0000 size: 27936 crc: F67D7293 date: 2018-04-11 23:34:51
C:\WINDOWS\System32\WS2_32.dll handle: 77690000 size: 412792 crc: D65A595A date: 2018-04-11 23:35:02
C:\WINDOWS\SYSTEM32\WINMM.DLL handle: 733f0000 size: 134920 crc: 9CC40B44 date: 2018-04-11 23:34:45
C:\WINDOWS\SYSTEM32\WINMMBASE.dll handle: 72c70000 size: 131776 crc: BD097D44 date: 2018-04-11 23:34:45
C:\WINDOWS\system32\uxtheme.dll handle: 720d0000 size: 485888 crc: 7F418F65 date: 2018-04-11 23:35:00
C:\WINDOWS\System32\MSCTF.dll handle: 74a00000 size: 1326400 crc: C7B9322C date: 2018-04-11 23:34:50
C:\WINDOWS\System32\OLEAUT32.dll handle: 743c0000 size: 606448 crc: CFC02B48 date: 2018-05-29 05:19:31
C:\WINDOWS\system32\dwmapi.dll handle: 72060000 size: 124824 crc: 41EAA3AB date: 2018-04-11 23:34:51
C:\WINDOWS\SYSTEM32\TextInputFramework.dll handle: 70b20000 size: 509328 crc: E13C8724 date: 2018-04-11 23:34:46
C:\WINDOWS\SYSTEM32\CoreUIComponents.dll handle: 6fd00000 size: 2486992 crc: 52A39B22 date: 2018-06-08 09:09:41
C:\WINDOWS\SYSTEM32\ntmarta.dll handle: 714c0000 size: 154016 crc: 0B67B6A0 date: 2018-04-11 23:34:50
C:\WINDOWS\SYSTEM32\CoreMessaging.dll handle: 70680000 size: 567144 crc: 449B7E0F date: 2018-06-08 09:09:40
C:\WINDOWS\SYSTEM32\wintypes.dll handle: 6ae50000 size: 880152 crc: 8E4ADE24 date: 2018-06-08 09:10:32
C:\WINDOWS\system32\mswsock.dll handle: 712c0000 size: 341920 crc: 2544915A date: 2018-04-11 23:34:51
C:\WINDOWS\SYSTEM32\MMDevAPI.DLL handle: 64290000 size: 360104 crc: A98F638F date: 2018-04-11 23:34:45
C:\WINDOWS\SYSTEM32\DEVOBJ.dll handle: 71190000 size: 133824 crc: BEC65282 date: 2018-04-11 23:34:51
C:\WINDOWS\SYSTEM32\PROPSYS.dll handle: 71a80000 size: 1584128 crc: 57C5E14A date: 2018-06-08 09:09:56
C:\WINDOWS\SYSTEM32\wdmaud.drv handle: 70ae0000 size: 219648 crc: 95EE3927 date: 2018-04-11 23:34:45
C:\WINDOWS\SYSTEM32\ksuser.dll handle: 70ad0000 size: 20728 crc: 62A28D70 date: 2018-04-11 23:34:45
C:\WINDOWS\SYSTEM32\AVRT.dll handle: 642f0000 size: 27416 crc: F3D6798B date: 2018-04-11 23:34:45
C:\WINDOWS\SYSTEM32\AUDIOSES.DLL handle: 64300000 size: 1011992 crc: F6B6134A date: 2018-06-08 09:10:03
C:\WINDOWS\SYSTEM32\msacm32.drv handle: 70ac0000 size: 24576 crc: B858B404 date: 2018-04-11 23:34:45
C:\WINDOWS\SYSTEM32\MSACM32.dll handle: 72090000 size: 94080 crc: 8FE45C38 date: 2018-04-11 23:34:45
C:\WINDOWS\SYSTEM32\midimap.dll handle: 70ab0000 size: 18944 crc: A7771BB1 date: 2018-04-11 23:34:45
C:\WINDOWS\System32\clbcatq.dll handle: 74680000 size: 526848 crc: CEC4CD73 date: 2018-04-11 23:34:50
C:\Windows\System32\Windows.UI.dll handle: 701a0000 size: 886400 crc: 32D3C35E date: 2018-04-11 23:34:55
C:\Windows\System32\InputHost.dll handle: 70110000 size: 364200 crc: A98D6F6A date: 2018-04-11 23:34:47
C:\WINDOWS\System32\ole32.dll handle: 75ea0000 size: 1025864 crc: 5A9C0B95 date: 2018-04-11 23:34:49
C:\WINDOWS\SYSTEM32\DNSAPI.dll handle: 71230000 size: 573392 crc: D6473715 date: 2018-04-11 23:34:51
C:\WINDOWS\System32\NSI.dll handle: 76190000 size: 20216 crc: 69BC5339 date: 2018-04-11 23:34:22
C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL handle: 71a50000 size: 190136 crc: 3DB00590 date: 2018-04-11 23:34:50
C:\Windows\System32\rasadhlp.dll handle: 71220000 size: 12800 crc: 06B970C0 date: 2018-04-11 23:34:58
C:\WINDOWS\System32\fwpuclnt.dll handle: 71510000 size: 303616 crc: C0C80690 date: 2018-04-11 23:34:47
C:\WINDOWS\SYSTEM32\bcrypt.dll handle: 72c50000 size: 97176 crc: 9F45010A date: 2018-06-08 09:10:39
C:\WINDOWS\System32\psapi.dll handle: 747d0000 size: 17104 crc: 7D2EF3AC date: 2018-04-11 23:34:50

---- gamelog start ----
Tick 0: new game started
Revision text changed to 20180718-Decou, savegame version 199, not modified, _openttd_newgrf_version = 0x19000000
New game mode: 1 landscape: 0
Added NewGRF: GRF ID 4F472B34, checksum 136D889FDAEAA3491F8320248A04425C, filename: opengfx_landscape-1.1.2\ogfx-landscape.grf (md5sum matches)
Added NewGRF: GRF ID 4A430002, checksum 93EAC5F5396584B92D4C5F0AAAF3F6C5, filename: industrial_stations_renewal-1.0.2\indstatr.grf (md5sum matches)
Added NewGRF: GRF ID 43485053, checksum 107210078AB4C22C7D83BA65ED9AF16F, filename: chips_station_set-1.8.0\chips.grf (md5sum matches)
Added NewGRF: GRF ID 52564E54, checksum D6FF7E9FC2CB28C8376CB54FF0EDED3B, filename: vietnamese_town_names-0.0.1\vietnamese_town_names.grf (md5sum matches)
Added NewGRF: GRF ID 504A0103, checksum F4056FECA93218E2B1FC015B0C7844A2, filename: isrstyle_dock-1.3\isrdock_v1_3.grf (md5sum matches)
Added NewGRF: GRF ID 504A0013, checksum E2FB4F9E66207F8016B7303323FDD00C, filename: isrdwestyle_objects-1.0\isrdwe_objects_v1_0.grf (md5sum matches)
Added NewGRF: GRF ID 414E0201, checksum 0DA3A80B986BC3C17C20CA4CE9CA26AA, filename: fish_2-2.0.3\fish.grf (md5sum matches)
Added NewGRF: GRF ID 5A554B10, checksum C689CA23CC0DCFF6601350024D30C41B, filename: UK_Towns_NML.grf (md5sum matches)
Added NewGRF: GRF ID 9787EAFE, checksum 04ACD20A006E345283D6464678AFFA8B, filename: road_hog-1.4.1\road-hog.grf (md5sum matches)
Added NewGRF: GRF ID 444410C1, checksum 8196125601AFC0328257C1A8C6012EC0, filename: uk_revival_set_ukrs3-200\sunshine.grf (md5sum matches)
Added NewGRF: GRF ID F1250007, checksum E3933F6F3FF709CA300D41308B0BE8BD, filename: firs_industry_replacement_set_3-3.0.10\firs.grf (md5sum matches)
---- gamelog end ----

Recent news messages:
(1965-01-05) StringID: 628, Type: 0, Ref1: 2, 1, Ref2: 3, 0
(1965-01-26) StringID: 628, Type: 0, Ref1: 2, 1, Ref2: 3, 3
(1965-01-28) StringID: 628, Type: 0, Ref1: 2, 2, Ref2: 3, 1
(1965-02-03) StringID: 628, Type: 0, Ref1: 2, 1, Ref2: 3, 4
(1965-02-07) StringID: 628, Type: 0, Ref1: 2, 2, Ref2: 3, 2
(1965-02-12) StringID: 628, Type: 0, Ref1: 2, 1, Ref2: 3, 5
(1965-02-13) StringID: 633, Type: 0, Ref1: 2, 14, Ref2: 3, 7
(1965-02-15) StringID: 628, Type: 0, Ref1: 2, 2, Ref2: 3, 6
(1965-05-03) StringID: 633, Type: 0, Ref1: 2, 14, Ref2: 3, 8
(1966-01-01) StringID: 685, Type: 10, Ref1: 2, 2, Ref2: 0, 4294967295
(1966-01-01) StringID: 685, Type: 10, Ref1: 2, 6, Ref2: 0, 4294967295
(1966-01-06) StringID: 633, Type: 0, Ref1: 2, 35, Ref2: 3, 21
(1966-05-07) StringID: 628, Type: 0, Ref1: 2, 34, Ref2: 3, 14
(1966-05-09) StringID: 633, Type: 0, Ref1: 2, 35, Ref2: 3, 17

*** End of OpenTTD Crash Report ***
crash.sav
(61.45 KiB) Downloaded 128 times
crash.dmp
(6.8 MiB) Downloaded 143 times
crash.png
(345.42 KiB) Not downloaded yet
Got a crash while reversing a train into a station.

One thing that I find a bit tricky about 'pushing' wagons into a siding to leave wagons there: If the locomotive is at the rear, and I give the order to decouple (x) wagons in the station, those wagons detach as the head of the train and sit there without power but the whole order list. The part containing the locomotive is left in the same siding but unresponsive with a waiting for couple order. Not sure if there is a good solution to this..
User avatar
wallyweb
Tycoon
Tycoon
Posts: 6102
Joined: 27 Nov 2004 15:05
Location: Canada

Re: [patch] Realistic Train Shunting

Post by wallyweb »

supermop wrote:One thing that I find a bit tricky about 'pushing' wagons into a siding to leave wagons there: If the locomotive is at the rear, and I give the order to decouple (x) wagons in the station, those wagons detach as the head of the train and sit there without power but the whole order list. The part containing the locomotive is left in the same siding but unresponsive with a waiting for couple order. Not sure if there is a good solution to this..
Not knowing your order list, here is what I use and it works rather nicely.
1. Send train to a siding.
2. Send train in reverse to station with no loading/no unloading options. This will cause the power unit to flip to the junction end.
3. Send train to same station now with decouple order
.
4. Send decoupled engine to next order (the siding?).
5. Set the couple order. The engine will wait and return to the station to recouple when the decoupled wagons are ready (100% full or 100% empty) (Actually the engine will go to the first consist that meets the couple parameter, not necessarily the consist it just dropped)
6. Send train to next destination.

EDIT: Sorry. I missed a step highlighted in bold.
User avatar
jimbob
Engineer
Engineer
Posts: 87
Joined: 24 Nov 2014 21:13
Location: At a desk
Contact:

Re: [patch] Realistic Train Shunting

Post by jimbob »

wallyweb wrote: 2. Send train in reverse to station with no loading/no unloading options. This will cause the power unit to flip to the junction end.
3. Send train to same station now with decouple order[/b].
Neat I did not realise you could do that :D Thanks, I was getting annoyed with creating accidental wagon engines with no power.
Image
Real life transport planner
My projects:Link to my UK Scenario|Scenario Builder GS
Do check out my 3D unity transport game: transporter
Karn
Traffic Manager
Traffic Manager
Posts: 128
Joined: 02 Oct 2011 18:56

Re: [patch] Realistic Train Shunting

Post by Karn »

supermop wrote:Crash with 0.8.2:
Thank you for bug report. It should be fixed now in 0.8.3.
Karn
Traffic Manager
Traffic Manager
Posts: 128
Joined: 02 Oct 2011 18:56

Re: [patch] Realistic Train Shunting

Post by Karn »

Version 0.9 released. Order for decoupling is reworked, now there are more options for orders. Changes:
- it's now possible to specify what kind of order should get 1st and 2nd part of train
- when coupling, train reverse if destination is in opposite direction
- speed limit for coupling and wagon in front

This should allow full support of pushing and pulling.
jimbob wrote:
wallyweb wrote: 2. Send train in reverse to station with no loading/no unloading options. This will cause the power unit to flip to the junction end.
3. Send train to same station now with decouple order[/b].
Neat I did not realise you could do that :D Thanks, I was getting annoyed with creating accidental wagon engines with no power.
This update should fix this so you don't have to use this trick anymore.
User avatar
wallyweb
Tycoon
Tycoon
Posts: 6102
Joined: 27 Nov 2004 15:05
Location: Canada

Re: [patch] Realistic Train Shunting

Post by wallyweb »

Karn wrote:
jimbob wrote:
wallyweb wrote: 2. Send train in reverse to station with no loading/no unloading options. This will cause the power unit to flip to the junction end.
3. Send train to same station now with decouple order[/b].
Neat I did not realise you could do that :D Thanks, I was getting annoyed with creating accidental wagon engines with no power.
This update should fix this so you don't have to use this trick anymore.
I still have to use the "trick". Without it the power unit remains at the far end of the station.
Attachments
Black & Co., Jun 9th, 1927.png
Black & Co., Jun 9th, 1927.png (7.97 KiB) Viewed 5551 times
Karn
Traffic Manager
Traffic Manager
Posts: 128
Joined: 02 Oct 2011 18:56

Re: [patch] Realistic Train Shunting

Post by Karn »

wallyweb wrote:
Karn wrote:
jimbob wrote:
Neat I did not realise you could do that :D Thanks, I was getting annoyed with creating accidental wagon engines with no power.
This update should fix this so you don't have to use this trick anymore.
I still have to use the "trick". Without it the power unit remains at the far end of the station.
What you can do now is to tell first part to inherit orders, second part to keep orders without loading. And then set number of units to decouple to number of wagons or just big number like 50 so only loco stays.
Of course it's up to you what you prefer.

Maybe it would be useful if I added negative numbers for counting from back, so you don't have to bother with number of wagons too much? And other idea is to support number "0" (auto), which would try to guess what you want to decouple. For example if you have 1 or 2 locos in front or back, it's pretty easy guess.
User avatar
wallyweb
Tycoon
Tycoon
Posts: 6102
Joined: 27 Nov 2004 15:05
Location: Canada

Re: [patch] Realistic Train Shunting

Post by wallyweb »

Karn wrote: ... so only loco stays.
I suspect there may be a misunderstanding.
We do not want the loco to stay.
We want the consist to stay.
The train goes to a siding where the power shifts from the loco to the last wagon in the consist
The train now "reverses" into the terminal station platform.
The power should now shift back from the last wagon to the loco so that the loco can decouple and move to a siding to wait for an available couple.
Without the "trick" the loco has no power and the power remains with the last wagon which decouples and "waits for a clear path" which is not available because it is a terminal station.
Karn
Traffic Manager
Traffic Manager
Posts: 128
Joined: 02 Oct 2011 18:56

Re: [patch] Realistic Train Shunting

Post by Karn »

wallyweb wrote:
Karn wrote: ... so only loco stays.
I suspect there may be a misunderstanding.
We do not want the loco to stay.
We want the consist to stay.
The train goes to a siding where the power shifts from the loco to the last wagon in the consist
The train now "reverses" into the terminal station platform.
The power should now shift back from the last wagon to the loco so that the loco can decouple and move to a siding to wait for an available couple.
Without the "trick" the loco has no power and the power remains with the last wagon which decouples and "waits for a clear path" which is not available because it is a terminal station.
Is this what you are trying to achieve or is there a misunderstanding as you said? The loco keeps original orders in the example and becomes train 2.
Attachments
decouple.gif
decouple.gif (1.81 MiB) Viewed 5525 times
User avatar
Snail
Tycoon
Tycoon
Posts: 1283
Joined: 28 Apr 2003 18:52
Contact:

Re: [patch] Realistic Train Shunting

Post by Snail »

The issue with engine-specific liveries and properties when reversing persists. I guess this update didn't address those?
The French Narrow Gauge Train Set is now released! Get it here
Karn
Traffic Manager
Traffic Manager
Posts: 128
Joined: 02 Oct 2011 18:56

Re: [patch] Realistic Train Shunting

Post by Karn »

Snail wrote:The issue with engine-specific liveries and properties when reversing persists. I guess this update didn't address those?
It's planned to be solved in next "bigger" update, which will be named v0.10. First post implies this for a while. Aim of last update was to improve orders for more flexibility.
User avatar
Snail
Tycoon
Tycoon
Posts: 1283
Joined: 28 Apr 2003 18:52
Contact:

Re: [patch] Realistic Train Shunting

Post by Snail »

Karn wrote:
Snail wrote:The issue with engine-specific liveries and properties when reversing persists. I guess this update didn't address those?
It's planned to be solved in next "bigger" update, which will be named v0.10. First post implies this for a while. Aim of last update was to improve orders for more flexibility.
Great, no rush. Just wanted to make sure I hadn't missed something ;)
The French Narrow Gauge Train Set is now released! Get it here
User avatar
wallyweb
Tycoon
Tycoon
Posts: 6102
Joined: 27 Nov 2004 15:05
Location: Canada

Re: [patch] Realistic Train Shunting

Post by wallyweb »

Karn wrote:Is this what you are trying to achieve or is there a misunderstanding as you said? The loco keeps original orders in the example and becomes train 2.
The order list in your image worked. :bow:
Here is a little save game to see it in action. :D
Attachments
Shunt Test C, Mar 2nd, 1940.sav
(7.14 KiB) Downloaded 135 times
Karn
Traffic Manager
Traffic Manager
Posts: 128
Joined: 02 Oct 2011 18:56

Re: [patch] Realistic Train Shunting

Post by Karn »

Version 0.10 released. This one is about fixing NewGRF glitches.
Technical explanation: parent VarAction2 properties 0xC6, 0xF2, 0x42 and first_engine are stored in vehicle and updated only during depot arranging and refitting. I tested it on several NewGRFs and it looked alright.
NewGRF property for checking if vehicle is reversed is disabled, because there are NewGRFs doing own magic during reversing, which is obviously not compatible with this patch.
- and few other minor bugfixes.
User avatar
wallyweb
Tycoon
Tycoon
Posts: 6102
Joined: 27 Nov 2004 15:05
Location: Canada

Re: [patch] Realistic Train Shunting

Post by wallyweb »

Good news day!
1. Decoupled wagons turn gray when left in station.
seems to have been fixed in version 0.10 :D
:bow:
Post Reply

Return to “OpenTTD Development”

Who is online

Users browsing this forum: No registered users and 13 guests