Chill's patchpack v14_7

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

User avatar
ChillCore
Tycoon
Tycoon
Posts: 2848
Joined: 04 Oct 2008 23:05
Location: Lost in spaces

Re: Chill's patchpack v14_5

Post by ChillCore »

I have fixed Valle's issue I hope ...

In saveload/signal_sl.cpp

Code: Select all

@@ -268,6 +268,8 @@ static void DoFixups(FixupList &l, Instr
 
 static void Load_SPRG()
 {
+	_signal_programs.clear();  // Remove the skeletons of the previous loaded savegame if any.
+
 	uint count = ReadVLI();
 	for(uint i = 0; i < count; i++) {
 		FixupList l;
I have not yet tested if savegames that already have progsigs are affected by this change but I think not as we clear the cache just before everything gets loaded from the next savegame.
I suggest anyone that compiles the patchpack himself to add this change as soon as possible.
Thank you for the bugreport Valle ... now let's see if I remember how to push to the repo without messing things up. ;)

Games involving speedsignals that are being loaded as first game do not affect the next loaded game as the above fix is nicked from there (comment is mine).
I mention them because they are an extention to the progsigs patch; while hthhs, for some reason, did it right the difference in code was not ported to the patchpack because I did not notice at the time of inclusion.


@Devs:
I know little about what exactly happens between loading savegames; is it normal that one has to clean up the "mess", which before was perfectly valid, from the previous savegame?
I mean is this a flaw in the design of this patch or is this just the way it is supposed to be?

Am I right in assuming (I admit, based on very little evidence) that a game is never really deleted, unless one exits OpenTTD, but is simply overwritten with new data?
I previously assumed that before loading a new savegamegame the previous game and all its data is sent to the bin by some automatic mechanism but apparently this is not true.
This issue is even reproducable if one goes to the main menu before loading a third savegame; the title game being the second. Since there is no way to save the title game at any point in time the assert can never be triggered there, eventhough the bad data is also present there (it has to be in order to crash the next loaded game).


Makes me wonder how much more data there is floating around, unnoticed because it does not trigger an assert ...
-- .- -.-- / - .... . / ..-. --- .-. -.-. . / -... . / .-- .. - .... / -.-- --- ..- .-.-.-
--- .... / -.-- . .- .... --..-- / .- -. -.. / .--. .-. .- .. ... . / - .... . / .-.. --- .-. -.. / ..-. --- .-. / .... . / --. .- ...- . / ..- ... / -.-. .... --- --- -.-. .... --- --- ... .-.-.- / ---... .--.

Playing with my patchpack? Ask questions on usage and report bugs in the correct thread first, please.
All included patches have been modified and are no longer 100% original.
Rubidium
OpenTTD Developer
OpenTTD Developer
Posts: 3815
Joined: 09 Feb 2006 19:15

Re: Chill's patchpack v14_5

Post by Rubidium »

All pools are cleared upon InitializeGame which is ran before loading or starting a new game. As far as I see programmable signals do not use the pool, but a custom pool-ish implementation. As such, it is not automatically cleared.
User avatar
ChillCore
Tycoon
Tycoon
Posts: 2848
Joined: 04 Oct 2008 23:05
Location: Lost in spaces

Re: Chill's patchpack v14_5

Post by ChillCore »

Thank you for the quick reply Rubidium,
I am glad to read that it is a patch issue, my fix is valid and that this is not standard trunk behaviour.

I vaguely remember adjusting some patches to the pool ... has been a long time. Not sure why this one never was changed; most likely because Owen dissapeared before that time and I was too busy with other stuff to notice what needed to be noticed.

I would not be suprised if that issue with the copy paste patch I once noticed and forgot about (persistant template in memory across different savegames) is not very related to this issue.
-- .- -.-- / - .... . / ..-. --- .-. -.-. . / -... . / .-- .. - .... / -.-- --- ..- .-.-.-
--- .... / -.-- . .- .... --..-- / .- -. -.. / .--. .-. .- .. ... . / - .... . / .-.. --- .-. -.. / ..-. --- .-. / .... . / --. .- ...- . / ..- ... / -.-. .... --- --- -.-. .... --- --- ... .-.-.- / ---... .--.

Playing with my patchpack? Ask questions on usage and report bugs in the correct thread first, please.
All included patches have been modified and are no longer 100% original.
User avatar
Valle
Transport Coordinator
Transport Coordinator
Posts: 286
Joined: 15 May 2007 11:35
Location: Germany

Re: Chill's patchpack v14_5

Post by Valle »

Wow. Thank you for finding and fixing the bug, ChillCore! As for the time it took? No problem at all, there was a workaround, after all, and whoever uses a heavily patched version of OpenTTD has to be happy as long as it works at all I reckon - even if it's a whole pack of patches. A game restart followed by the creation of a new game from scratch allowed people to connect to my server before successfully loading the limits-ignoring swiss-themed map I usually use online. I'll try to compile this old version with your changes once I have time to play again.
User avatar
ChillCore
Tycoon
Tycoon
Posts: 2848
Joined: 04 Oct 2008 23:05
Location: Lost in spaces

Re: Chill's patchpack v14_5

Post by ChillCore »

I have updated the first post with v14_7.

Note that there are two methods of patching your source; either use the complete patch or use the MQ (more on that below), you do not want to combine both methods!

Please do not try to clone/pull the source for the moment as the provided links are invalid .
There will be some changes to the repo. I will still be using HG and version control for any further development but no longer the MQ extension.
Untill then the first post is where you can get the source. and the MQ is posted there to provide the sources needed to remain legal in regards of previous produced binaries by the CF.
Taking about the compile farm ... no new binaries can and will be produced by the CF untill everything is set up again correctly.
sorry about that but that is just the way it is ATM. I'm sure everything will be fine soon enough. ;)


Oh yeah, before I forget, here are the changes made:

Code: Select all

Fix:
- Programmable signals.
     Pools were not cleared between changing savegames which could cause crashes
     upon saving the next game. (Valle)
- Copypaste patch.
     The arrays holding the template were not cleared inbetween changing
      savegames.
- I think I nailed all remaining compiler warnings, YAY (at least they are gone for me).

Backport from trunk:
- r24808 (frosh) CTRL cloning does not open new guis (FS#4458)
     Fix: While CTRL-cloning if you released CTRL before the vehicle appeared in the depot
     the gui would still open.
-- .- -.-- / - .... . / ..-. --- .-. -.-. . / -... . / .-- .. - .... / -.-- --- ..- .-.-.-
--- .... / -.-- . .- .... --..-- / .- -. -.. / .--. .-. .- .. ... . / - .... . / .-.. --- .-. -.. / ..-. --- .-. / .... . / --. .- ...- . / ..- ... / -.-. .... --- --- -.-. .... --- --- ... .-.-.- / ---... .--.

Playing with my patchpack? Ask questions on usage and report bugs in the correct thread first, please.
All included patches have been modified and are no longer 100% original.
User avatar
ChillCore
Tycoon
Tycoon
Posts: 2848
Joined: 04 Oct 2008 23:05
Location: Lost in spaces

Re: Chill's patchpack v14_7

Post by ChillCore »

Ladies and gentlemen I am pleased to announce that, thanks to Ammler's hard work (and the assistance of a few more people), you can again clone the repo from openttcoop.org.
The clone link (link to the link in the first post) is the same as before but note that instead of getting only the MQ you will be cloning the entire,pre-patched repo (with version control).
Binaries, if all goes well, should be available again soon too.


Please note:
The repo is dead, long live the repo!
It will be remembered forever in the first post.

The new repo being a the same location might implicate that you can not simply pull to the same location as before and will have to start with in new folder. I have not tested what happens myself, expect the expected to happen ... or not.
If you want to avoid having to go through the (only once) rather big clone process, or prefer not using HG, you can use one of both methods mentioned yesterday.

What else changes from v14_7 and onwards:
- Complete patches will no longer be available from the same location as before instead, provided more commits are made later on, I will periodically and if needed update the thread with new patches for SVN and GIT users. (This may or may not change in the future but patches will always be available, no worries)
- For Following the commits you will have to clone a HG checkout or, if you really, really, really want that, I can export all commits made starting with importing v14_7 in seperate patches as you wish.



!!! IMPORTANT NOTICE !!!
To anyone playing with the patchpack still ...
Please update as soon as possible, the bug that is fixed is a nasty and hungry one and will only bite once every so often, but when it does your savegame is lost unless you have a backup.
You may want to read the last few pages if you have not already to understand how and when it happens. (Valle's bug)
You have been warned. ;)


Enjoy your game and may it survive your next gaming session. :P
-- .- -.-- / - .... . / ..-. --- .-. -.-. . / -... . / .-- .. - .... / -.-- --- ..- .-.-.-
--- .... / -.-- . .- .... --..-- / .- -. -.. / .--. .-. .- .. ... . / - .... . / .-.. --- .-. -.. / ..-. --- .-. / .... . / --. .- ...- . / ..- ... / -.-. .... --- --- -.-. .... --- --- ... .-.-.- / ---... .--.

Playing with my patchpack? Ask questions on usage and report bugs in the correct thread first, please.
All included patches have been modified and are no longer 100% original.
ZxBiohazardZx
Tycoon
Tycoon
Posts: 1534
Joined: 14 Mar 2006 12:46
Location: Netherlands

Re: Chill's patchpack v14_7

Post by ZxBiohazardZx »

does this update/change mean that you will try to update the patchpack towards trunk or is this just a small update while not updating revision of trunk?
User avatar
ChillCore
Tycoon
Tycoon
Posts: 2848
Joined: 04 Oct 2008 23:05
Location: Lost in spaces

Re: Chill's patchpack v14_7

Post by ChillCore »

This is a major bugfix without bumping to trunk.

As mentioned before bumping to a newer trunk revision with the current patchpack would be an insane task in regards of adjustments to make and testing to do afterwards. Better and faster result can be achieved by simply restarting.

However it is possible that I make a few more changes to this patchpack in the future ...
I do still have a folder with patches I wanted to add at some point.
Also the remaining bugs are the hardest ones to fix, else they would have been gone by now, and allow me to learn the most while fixing them. ;)
-- .- -.-- / - .... . / ..-. --- .-. -.-. . / -... . / .-- .. - .... / -.-- --- ..- .-.-.-
--- .... / -.-- . .- .... --..-- / .- -. -.. / .--. .-. .- .. ... . / - .... . / .-.. --- .-. -.. / ..-. --- .-. / .... . / --. .- ...- . / ..- ... / -.-. .... --- --- -.-. .... --- --- ... .-.-.- / ---... .--.

Playing with my patchpack? Ask questions on usage and report bugs in the correct thread first, please.
All included patches have been modified and are no longer 100% original.
User avatar
Lord Aro
Tycoon
Tycoon
Posts: 2369
Joined: 25 Jun 2009 16:42
Location: Location, Location
Contact:

Re: Chill's patchpack v14_7

Post by Lord Aro »

ChillCore wrote:... simply restarting....
Out of interest, do you intend to restart? If so, any sort of time frame?
AroAI - A really feeble attempt at an AI

It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration. --Edsger Dijkstra
User avatar
ChillCore
Tycoon
Tycoon
Posts: 2848
Joined: 04 Oct 2008 23:05
Location: Lost in spaces

Re: Chill's patchpack v14_7

Post by ChillCore »

Out of interest, do you intend to restart?
Yes, yes, yes.
If so, any sort of time frame?
I do have already extracted a few minor features from the patchpack that did not have a seperate patch but nothing major or anything.
The will is there but I just can not afford the time it takes to do it properly at this moment.

As for timeframe ... I'd rather not make false promises.
At the moment I would like to to continue a bit on my custom smootness gui patch first, and maybe it is a good idea to give the moreheightlevels patch a bit of "love" now that it is properly tested and pretty much finished.
-- .- -.-- / - .... . / ..-. --- .-. -.-. . / -... . / .-- .. - .... / -.-- --- ..- .-.-.-
--- .... / -.-- . .- .... --..-- / .- -. -.. / .--. .-. .- .. ... . / - .... . / .-.. --- .-. -.. / ..-. --- .-. / .... . / --. .- ...- . / ..- ... / -.-. .... --- --- -.-. .... --- --- ... .-.-.- / ---... .--.

Playing with my patchpack? Ask questions on usage and report bugs in the correct thread first, please.
All included patches have been modified and are no longer 100% original.
User avatar
vtk
Engineer
Engineer
Posts: 46
Joined: 10 Apr 2012 21:27
Location: Columbus
Contact:

Re: Chill's patchpack v14_7

Post by vtk »

Found an interesting bug, which you may have fixed already, since I don't have the newest revision. I was goofing with a crowded map and found a new sabotage method: connect track to an open end of a competitor's train station, then run a train onto competitor's track with a cheap engine (using the skip signal button if necessary) then just park somewhere on competitor's network to cause them a traffic jam.

Anyway, shortly after I caused a competitor to be liquidated due to plummeting income, I hit this bug, something about a signal or its owner not being valid. Relevant files attached. Crash.log quoted because the forum won't let me upload it:
*** OpenTTD Crash Report ***

Crash at: Mon Feb 04 00:36:17 2013
In game date: 1947-10-01 (0)

Crash reason:
Exception: E1212012
Location: 7C812FD3
Message: Assertion failed at line 551 of ..\src\signal.cpp: Company::IsValidID(owner)

OpenTTD version:
Version: h122e7a62 (0)
NewGRF ver: 1200581b
Bits: 32
Endian: little
Dedicated: no
Build date: Jul 20 2012 02:08:25

Registers:
EAX: 0013F388 EBX: 00000016 ECX: 00000000 EDX: 00C0B020
ESI: 00000000 EDI: 00000000 EBP: 0013F3D8 ESP: 0013F384
EIP: 7C812FD3 EFLAGS: 00000246

Bytes at instruction pointer:
5E C9 C2 10 00 85 FF 0F 8E 5E 8E FF FF 8B 55 FC 89 55 0C 0F B7 16 8B 7D

Stack trace:
00C0A8FC E1212012 00000000 00000000 7C812FD3 00000000 00000028 00020254
00000000 00C6D358 00BC7230 00000010 00000000 00000000 00000000 00000000
00000000 7C90D80A 7C9132F0 FFFFFFFF 00000024 0013F438 0059C866 E1212012
00000000 00000000 00000000 00670AAE 00000016 3B011D7A 0013F450 00000200
00000000 0013F424 7E466579 00000000 7C90D80A 0059C856 00000001 0013F3F8
0013EFA0 0013F74C 00675FE0 3BAF5CC2 FFFFFFFE 0013F650 0066FF2A 00000016
0043CED5 00000000 00000000 65737341 6F697472 6166206E 64656C69 20746120
656E696C 31353520 20666F20 735C2E2E 735C6372 616E6769 70632E6C 43203A70
61706D6F 3A3A796E 61567349 4964696C 776F2844 2972656E 00037500 0045FADA
00000C01 00003096 00449A33 00037559 00000003 0000000A 004D869D 00037559
00000002 0013F5D0 00037559 004D80A3 00001560 00037559 00000002 00000000
0000000A 00000000 00000000 00000001 FFFFFFFF 00000000 0001FFFF 0013F578
004E7EBA 00000012 00000016 00000000 004E8481 FFFFFF27 FFFFFFFF 00000000
FFFFFF27 FFFFFFFF 0001FFFF 00000000 0000001E 00000000 0001FFFF 0013F58C
004064FD 00000041 00000000 00000002 00000000 0013F5B8 0013F608 0013F580
004D80A3 00000000 FFFFFF27 FFFFFFFF 0001FFFF 00000000 FFFFFF27 FFFFFFFF
0001FFFF 0013F5D0 0013F5B8 0013F608 00000000 00000000 0013F5E4 004DB69B
0013F5D0 0013F660 00037559 00000000 0001FFFF 00000000 00037559 00000000
FFFFFF27 FFFFFFFF 0001FFFF 0013F660 00037559 00000000 00000000 00000000
0013F628 004289EE 0013F608 0013F698 00037559 004287FE 00036956 00000000
00037559 00000000 FFFFFF27 FFFFFFFF 0001FFFF 00000000 FFFFFF27 FFFFFFFF
0001FFFF 0013F670 004064FD 00000041 00000000 00000000 00000000 00037559
0000000A 00000000 004287FE 0013F68C 00449700 00B5FBDC 00000227 00B9F5EC
00B9F624 00000000 00000000 00000000 00000010 004F3890 004E1E16 00000000

Operating system:
Name: Windows
Release: 5.1.2600 (Service Pack 3)
Compiler: MSVC 1600

Configuration:
Blitter: 8bpp-optimized
Graphics set: OpenGFX (928)
Language: C:\Program Files\OpenTTD-Chill\lang\english_US.lng
Music driver: dmusic
Music set: OpenMSX (96)
Network: no
Sound driver: win32
Sound set: OpenSFX (87)
Video driver: win32

AI Configuration (local: 0):
0: Human
5: Convoy (v11)
7: Denver & Rio Grande (v1)
10: trAIns (v2)

Libraries:
FreeType: 2.4.5
ICU: 4.4.2
LZMA: 5.0.3
LZO: 2.05
PNG: 1.5.4
Zlib: 1.2.5

Module information:
C:\Program Files\OpenTTD-Chill\openttd.exe handle: 00400000 size: 8458752 crc: 13000AEA date: 2012-07-20 06:12:04
C:\WINDOWS\system32\ntdll.dll handle: 7C900000 size: 718336 crc: EA097CED date: 2010-12-09 15:15:09
C:\Program Files\Alwil Software\Avast5\snxhk.dll handle: 64D00000 size: 236888 crc: BE5A457E date: 2012-10-30 23:50:53
C:\WINDOWS\system32\KERNEL32.dll handle: 7C800000 size: 990208 crc: 266D452A date: 2012-10-03 04:58:13
C:\WINDOWS\system32\WINMM.dll handle: 76B40000 size: 176128 crc: 2D7A3E5F date: 2011-10-14 14:47:29
C:\WINDOWS\system32\ADVAPI32.dll handle: 77DD0000 size: 617472 crc: C9027432 date: 2009-02-09 12:10:48
C:\WINDOWS\system32\RPCRT4.dll handle: 77E70000 size: 590848 crc: E9ECB923 date: 2010-08-16 08:45:00
C:\WINDOWS\system32\Secur32.dll handle: 77FE0000 size: 56832 crc: 3D0002B7 date: 2009-06-25 08:25:26
C:\WINDOWS\system32\GDI32.dll handle: 77F10000 size: 286720 crc: B5F6B116 date: 2008-10-23 12:36:14
C:\WINDOWS\system32\USER32.dll handle: 7E410000 size: 578560 crc: F7C72264 date: 2008-04-14 00:12:08
C:\WINDOWS\system32\WS2_32.dll handle: 71AB0000 size: 82432 crc: 7C519ECA date: 2008-04-14 00:12:10
C:\WINDOWS\system32\msvcrt.dll handle: 77C10000 size: 343040 crc: 0B7B1677 date: 2008-04-14 00:12:01
C:\WINDOWS\system32\WS2HELP.dll handle: 71AA0000 size: 19968 crc: 3F24E096 date: 2008-04-14 00:12:10
C:\WINDOWS\system32\SHELL32.dll handle: 7C9C0000 size: 8462848 crc: A0FD6B4F date: 2012-06-08 14:26:20
C:\WINDOWS\system32\SHLWAPI.dll handle: 77F60000 size: 474112 crc: BDFA6F45 date: 2009-12-08 09:23:28
C:\WINDOWS\system32\IMM32.DLL handle: 76390000 size: 110080 crc: C1486DA0 date: 2008-04-14 00:11:54
C:\WINDOWS\system32\LPK.DLL handle: 629C0000 size: 22016 crc: 9689B06F date: 2008-04-14 00:11:56
C:\WINDOWS\system32\USP10.dll handle: 74D90000 size: 406016 crc: 80584A23 date: 2010-04-16 15:36:56
C:\WINDOWS\system32\GWMHOOK.DLL handle: 50500000 size: 86016 crc: 5A5EB409 date: 2008-08-07 14:56:22
C:\WINDOWS\system32\PSAPI.DLL handle: 76BF0000 size: 23040 crc: 75BBDCAD date: 2008-04-14 00:12:03
C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.6028_x-ww_61e65202\comctl32.dll handle: 773D0000 size: 1054208 crc: 350BBD1B date: 2010-08-23 16:12:02
C:\WINDOWS\system32\comctl32.dll handle: 5D090000 size: 617472 crc: B00C920E date: 2010-08-23 16:12:04
C:\WINDOWS\system32\SHFolder.dll handle: 76780000 size: 25088 crc: 8009EA65 date: 2008-04-14 00:12:05
C:\WINDOWS\system32\wdmaud.drv handle: 72D20000 size: 23552 crc: EEB914CA date: 2008-04-14 00:12:45
C:\WINDOWS\system32\WINTRUST.dll handle: 76C30000 size: 177664 crc: 7283B187 date: 2012-08-24 13:53:22
C:\WINDOWS\system32\CRYPT32.dll handle: 77A80000 size: 601088 crc: 55FBDCDF date: 2012-06-01 16:50:06
C:\WINDOWS\system32\MSASN1.dll handle: 77B20000 size: 58880 crc: 63D6A79F date: 2009-09-04 21:03:36
C:\WINDOWS\system32\IMAGEHLP.dll handle: 76C90000 size: 148480 crc: 40305BCA date: 2012-02-29 14:10:16
C:\WINDOWS\system32\msacm32.drv handle: 72D10000 size: 20480 crc: D5406BAE date: 2004-08-04 10:00:00
C:\WINDOWS\system32\MSACM32.dll handle: 77BE0000 size: 71680 crc: EDE4B266 date: 2008-04-14 00:11:58
C:\WINDOWS\system32\midimap.dll handle: 77BD0000 size: 18944 crc: 2E6D5FD1 date: 2008-04-14 00:11:57
C:\WINDOWS\system32\MSCTF.dll handle: 74720000 size: 297984 crc: 392BE0B0 date: 2008-04-14 00:11:58
C:\Program Files\MessengerPlus! 3\MsgPlusLoader.dll handle: 10000000 size: 58952 crc: 872AF036 date: 2008-09-03 07:28:21
C:\WINDOWS\system32\apphelp.dll handle: 77B40000 size: 125952 crc: 30CDC203 date: 2008-04-14 00:11:49
C:\WINDOWS\system32\msctfime.ime handle: 755C0000 size: 177152 crc: 6D3663FE date: 2008-04-14 00:10:06
C:\WINDOWS\system32\ole32.dll handle: 774E0000 size: 1288704 crc: E6DBC40A date: 2011-11-01 16:07:10
C:\WINDOWS\system32\CLBCATQ.DLL handle: 76FD0000 size: 498688 crc: F43789FF date: 2008-04-14 00:11:50
C:\WINDOWS\system32\COMRes.dll handle: 77050000 size: 792064 crc: 868482D5 date: 2008-04-14 00:11:51
C:\WINDOWS\system32\OLEAUT32.dll handle: 77120000 size: 551936 crc: B6E16806 date: 2010-12-20 17:32:15
C:\WINDOWS\system32\VERSION.dll handle: 77C00000 size: 18944 crc: 558B1DAF date: 2008-04-14 00:12:08
C:\WINDOWS\system32\dmime.dll handle: 5C570000 size: 181248 crc: A021AC64 date: 2008-04-14 00:11:52
C:\WINDOWS\system32\DSOUND.dll handle: 73F10000 size: 367616 crc: 33C2A52C date: 2008-04-14 00:11:52
C:\WINDOWS\system32\dmusic.dll handle: 6C980000 size: 104448 crc: E9A2B682 date: 2008-04-14 00:11:52
C:\WINDOWS\system32\KsUser.dll handle: 73EE0000 size: 4096 crc: BD8E6BD9 date: 2008-04-14 00:11:56
C:\WINDOWS\system32\dmsynth.dll handle: 6C9A0000 size: 103424 crc: 3E2BFB05 date: 2008-04-14 00:11:52
C:\WINDOWS\system32\dmloader.dll handle: 6CA10000 size: 35840 crc: 9271DC2B date: 2008-04-14 00:11:52
C:\WINDOWS\system32\mswsock.dll handle: 71A50000 size: 245248 crc: 8244D3EE date: 2008-06-20 16:02:47
C:\WINDOWS\system32\hnetcfg.dll handle: 662B0000 size: 344064 crc: 96358152 date: 2008-04-14 00:11:54
C:\WINDOWS\System32\wshtcpip.dll handle: 71A90000 size: 19456 crc: F5533E87 date: 2008-04-14 00:12:10

---- gamelog start ----
Tick 0: new game started
Revision text changed to h122e7a62, savegame version 233, not modified, _openttd_newgrf_version = 0x1200581b
New game mode: 1 landscape: 0
Added NewGRF: GRF ID 54420210, checksum 2526945EE57F065E0AB27A0F7AB92680, filename: us_town_names-1.0\us_towns.grf (md5sum matches)
Added NewGRF: GRF ID 43415000, checksum C6AE1C574FD881A706AA2B623FB83BC1, filename: climate_dependant_airports-0.3.0\airportsplus.grf (md5sum matches)
Added NewGRF: GRF ID 4D420100, checksum 1A5D28D0719FCDB928F59AEFDBE07B7C, filename: bobs_british_buses-0.2.1\bbbw.grf (md5sum matches)
Added NewGRF: GRF ID 52455400, checksum 1600687C50C5AB1E72EDD487CAD50E2A, filename: coded_by_aegir._artwork_by_aegir-1\ae_cityw.grf (md5sum matches)
Added NewGRF: GRF ID 414E0101, checksum 5D665C64693A438E3046C22666F46E08, filename: fish_ship_set-0.9.2\fish.grf (md5sum matches)
Added NewGRF: GRF ID 504E0002, checksum 6E6944E09CE6C3AC130DF72C542EE4B1, filename: generic_buffers.0.1\buffers.grf (md5sum matches)
Added NewGRF: GRF ID 4946424C, checksum 277B92187F074918F46CE65FD6D440EC, filename: hot_air_balloon-1.0\hotairballoon.grf (md5sum matches)
Added NewGRF: GRF ID FBFB9905, checksum F747797A14AAA646402DC4E16DE5E82C, filename: longer_girder__steel_bridge.1\longergirdersteelbridge.grf (md5sum matches)
Added NewGRF: GRF ID 44440302, checksum 439275017478C2E5E7AA25F5E191903D, filename: north_american_renewal_set.2_03\nars2w.grf (md5sum matches)
Added NewGRF: GRF ID 4F472B33, checksum D5B21A6C2FE39F15E385785DEF1E6A50, filename: opengfx_industries-0.3.4\ogfx-industries.grf (md5sum matches)
Added NewGRF: GRF ID 46727806, checksum 09E95562B1894A4D55D5532C6A889621, filename: opengfx_trees-0.2.2\opengfx+trees.grf (md5sum matches)
Added NewGRF: GRF ID 52455200, checksum 0E5A9C5ACD2BCAF7FA0658C3F905A660, filename: rural_stations-1\ae_ruraw.grf (md5sum matches)
Added NewGRF: GRF ID 4A4D0101, checksum B89CE49DC4A45FA3BF4EB3A7BC853D38, filename: sailing_ships-0.5\sailing_ships.grf (md5sum matches)
Added NewGRF: GRF ID 52455300, checksum 37C0B839B13C4B18051580C81EEDF427, filename: suburban_stations-1\ae_subuw.grf (md5sum matches)
Added NewGRF: GRF ID 4E415256, checksum ABC1F6EB17576182AEC8863E751DF6D5, filename: north_american_road_vehicle_set-0.1.2\narvs.grf (md5sum matches)
Added NewGRF: GRF ID 4F472B31, checksum 283C7E8D8017B8C6C9B3DA9CDAF45A8C, filename: opengfx_trains-0.2.5\ogfx-trains.grf (md5sum matches)
Added NewGRF: GRF ID 4A430002, checksum EFB21CFA6828362FDA9B2D629B5EEEB4, filename: industrial_stations_renewal-0.8.1\indstatr.grf (md5sum matches)
---- gamelog end ----

*** End of OpenTTD Crash Report ***

Decoded stack trace:
[00] ??? 0x7C812FD3 RaiseException + 82
[01] ??? 0x0059C866
[02] ??? 0x0066FF2A
[03] ??? 0x00449700
[04] ??? 0x00449A47

*** End of additional info ***
Attachments
crash.dmp
(1.55 MiB) Downloaded 77 times
crash.png
(419.86 KiB) Downloaded 6 times
crash.sav
(441.21 KiB) Downloaded 97 times
Image
User avatar
ChillCore
Tycoon
Tycoon
Posts: 2848
Joined: 04 Oct 2008 23:05
Location: Lost in spaces

Re: Chill's patchpack v14_7

Post by ChillCore »

Thank you for the bugreport vtk.

It is a problem between the progsigs patch and a company going bankrupt that has exit-signals on rails present at that time (it can happen while not using progsigs too).
So yes, I know what happened but I can not make your crash.sav crash again with my current code.
Do you happen to have a savegame from just before the company, whatever company it was (it is not important neither) went bakrupt?

Most likely, I will be able to fix your savegame too but I could really use a savegame where a company bankrupts with conditions as mentioned above, as has happened in your savegame.
Also it would be better if you could continue from that savegame instead of an already crashed one. Fixed or not an already crashed game will no longer produce the needed files in case of a new crash, even if it is unrelated to the already fixed issue.
Found an interesting bug, which you may have fixed already, since I don't have the newest revision. I was goofing with a crowded map and found a new sabotage method: connect track to an open end of a competitor's train station, then run a train onto competitor's track with a cheap engine (using the skip signal button if necessary) then just park somewhere on competitor's network to cause them a traffic jam.
Yeah that is one of the issues holding IS away from trunk, It is not exactly a bug but rather an undesired option the patch offers.
Do not do that with human controlled companies please; IS is about sharing infrastructure and having fun afterall. ;)

Perhaps forbidding to stop trains while they are on someones elses track completely is a good idea?


ps:
Crash logs can be uploaded if you change the extention to .txt
-- .- -.-- / - .... . / ..-. --- .-. -.-. . / -... . / .-- .. - .... / -.-- --- ..- .-.-.-
--- .... / -.-- . .- .... --..-- / .- -. -.. / .--. .-. .- .. ... . / - .... . / .-.. --- .-. -.. / ..-. --- .-. / .... . / --. .- ...- . / ..- ... / -.-. .... --- --- -.-. .... --- --- ... .-.-.- / ---... .--.

Playing with my patchpack? Ask questions on usage and report bugs in the correct thread first, please.
All included patches have been modified and are no longer 100% original.
User avatar
vtk
Engineer
Engineer
Posts: 46
Joined: 10 Apr 2012 21:27
Location: Columbus
Contact:

Re: Chill's patchpack v14_7

Post by vtk »

Maybe I have an autosave you would find helpful. I was really just goofing around, so I didn't bother trying to save manually and I really don't care about resuming that particular game. Still, I bet the crash should be easy to reproduce by sabotaging the TransAI (however it's spelled; there were two iinstances, so the one that didn't liquidate is mentioned in the crash log.) as I described.

Regarding this IS exploit… it seems to me the option of enabling or disabling sharing is limited to human-controlled companies; from this I infer no sharing with AI companies is intended at all. If that can be prevented in the IS patch, my sabotage method would be moot. Also, I don't intend to ever use it against a human.

As for stopping trains on a human competitor's tracks, I think that should actually be the prerogative of the company on whose tracks the train sits. Real-life dispatchers typically delay foreign trains in favor of their own, so this would be a realistic rule. Besides, it may be a necessary tool for the track owner to resolve traffic jams. To prevent toll abuse, perhaps a stopped train should not incur infrastructure sharing fees.
Image
User avatar
ChillCore
Tycoon
Tycoon
Posts: 2848
Joined: 04 Oct 2008 23:05
Location: Lost in spaces

Re: Chill's patchpack v14_7

Post by ChillCore »

Maybe I have an autosave you would find helpful. I was really just goofing around, so I didn't bother trying to save manually and I really don't care about resuming that particular game. Still, I bet the crash should be easy to reproduce by sabotaging the TransAI (however it's spelled; there were two iinstances, so the one that didn't liquidate is mentioned in the crash log.) as I described.
Never mind ... I was just being lazy and was hoping that you had one from not long before a company went bankrupt.
The crash in itself it easy to reproduce and is in fact not caused by banckrupty at all, it is but not in the way you would expect.

If you check your savegame you will find many 1 tile pieces of rail with owner "someone" scattered around; they all have exit-signals (read exit-, combo- or progsignals).
Those are there because I removed the ability to remove rails that have exit signals on them in one go.
If you bomb a rail with a progsig on it that depends on other signals then everything is fine, but when you do the same to a tile that has a signal where a progsig depends upon on it then the game crashes.

Somehow I have to convince the progsignal that depends on the signal that I am deleting to forget about it and remove all its references from its programming but without destroying the rest of the program.
Once I did that the issue that you are experiencing will be gone too; read: I can remove my previous "fix".

Your crash is caused by the "remove_rail" code that is unable to delete these rails and leaves them behind without owner; afterwards there is something or ?someone? trying to re-use these tracks which triggers the assert.
I'll have another look in a bit, maybe I can understand the code a bit better now since the last time I looked at it, which has been a while.
Regarding this IS exploit… it seems to me the option of enabling or disabling sharing is limited to human-controlled companies; from this I infer no sharing with AI companies is intended at all. If that can be prevented in the IS patch, my sabotage method would be moot. Also, I don't intend to ever use it against a human.
I do like using AI's infrastructure from time to time and honestly it is a shame that they never use mine, let alone try. :(
Lets gouts et let couleurs ... ;)
Also there is this rule (albeit not a written in stone, its more of a filosophy) that an AI should be able to do anything a human can do and vice versa.
As for stopping trains on a human competitor's tracks, I think that should actually be the prerogative of the company on whose tracks the train sits. Real-life dispatchers typically delay foreign trains in favor of their own, so this would be a realistic rule. Besides, it may be a necessary tool for the track owner to resolve traffic jams. To prevent toll abuse, perhaps a stopped train should not incur infrastructure sharing fees.
I'll have a little play with disabling stopping your trains on other players tracks.
It will stop that kind of abuse/trolling but not this one ... see attachment.



/**
* Reminder to self:
* Disable timetable related buttons in others companies gui instead of letting people click ... hope that they can ... and then see the error message anyway.
*/
Attachments
Taking this a step further ... hiding your trains in one of my 500 depots ... *very deep MOEHAHAHAHAHA*
Taking this a step further ... hiding your trains in one of my 500 depots ... *very deep MOEHAHAHAHAHA*
Bermuda-Trainiangle.png (65.73 KiB) Viewed 3574 times
-- .- -.-- / - .... . / ..-. --- .-. -.-. . / -... . / .-- .. - .... / -.-- --- ..- .-.-.-
--- .... / -.-- . .- .... --..-- / .- -. -.. / .--. .-. .- .. ... . / - .... . / .-.. --- .-. -.. / ..-. --- .-. / .... . / --. .- ...- . / ..- ... / -.-. .... --- --- -.-. .... --- --- ... .-.-.- / ---... .--.

Playing with my patchpack? Ask questions on usage and report bugs in the correct thread first, please.
All included patches have been modified and are no longer 100% original.
User avatar
vtk
Engineer
Engineer
Posts: 46
Joined: 10 Apr 2012 21:27
Location: Columbus
Contact:

Re: Chill's patchpack v14_7

Post by vtk »

ChillCore wrote:I do like using AI's infrastructure from time to time and honestly it is a shame that they never use mine, let alone try. :(
The AI used my depots at the end of its stations. But that's probably because I play with trains turning around at end of line only.

By the way, I do have an autosave from about 1 minute before the crash. Not sure how much more sabotaging I may have done in that minute, but the company is probably already doomed in that save.
Attachments
autosave13.sav
(455.08 KiB) Downloaded 111 times
Image
saag
Engineer
Engineer
Posts: 2
Joined: 06 Feb 2013 17:04

Re: Chill's patchpack v14_7

Post by saag »

Hello,
at first thanks everybody (especially ChillCore!) who worked on this pack.
I have returned to play after some time so I wanted to update to latest version. From what I got from this thread, it is 14.7 now, but it is not in repository which is dead. Unfortunatelly, I was not abble to find a windows binaries anywhere. I have tried to compile it in visual studio 2012 but I have ended with error "LNK2026: module unsafe for SAFESEH image." on several liblzma.lib items and I have stucked on that.
If someone was successfull or I have just badly understood previous posts, could someone please post the link to compiled windows binaries? Thanks a lot!
ps: sorry for my english
timofp
Engineer
Engineer
Posts: 50
Joined: 09 Oct 2010 13:04

Re: Chill's patchpack v14_7

Post by timofp »

Where to download the latest release? The only recent map in the http://bundles.openttdcoop.org/chillpp/from the main post is a map called error...
timofp
Engineer
Engineer
Posts: 50
Joined: 09 Oct 2010 13:04

Re: Chill's patchpack v14_7

Post by timofp »

saag wrote:Hello,
at first thanks everybody (especially ChillCore!) who worked on this pack.
I have returned to play after some time so I wanted to update to latest version. From what I got from this thread, it is 14.7 now, but it is not in repository which is dead. Unfortunatelly, I was not abble to find a windows binaries anywhere. I have tried to compile it in visual studio 2012 but I have ended with error "LNK2026: module unsafe for SAFESEH image." on several liblzma.lib items and I have stucked on that.
If someone was successfull or I have just badly understood previous posts, could someone please post the link to compiled windows binaries? Thanks a lot!
ps: sorry for my english
Well, I tried to compile with visual studio before, but never succeeded in it. Anyway I compiled it with MINGW32, looks more difficult because it's completely command line, but It works very well. You can download the latest version 14.7 http://rapidshare.com/files/3639323904/ ... %20WIN.zip. You will need to add the gfx files and the needed grf files yourself.
saag
Engineer
Engineer
Posts: 2
Joined: 06 Feb 2013 17:04

Re: Chill's patchpack v14_7

Post by saag »

Thank you very much timofp, the game is running. I will try mingw next time. :))
timofp
Engineer
Engineer
Posts: 50
Joined: 09 Oct 2010 13:04

Re: Chill's patchpack v14_7

Post by timofp »

No problem, I've not played the game for over a year and now I've the problem that lot's of NewGRFS are not compatible with the older OTTD version this pack is based on. And sadley older version's of NewGRF's are not availbe anymore. So if anyone has a nice collection of NewGRF's compatible with this patchpack..
Post Reply

Return to “OpenTTD Development”

Who is online

Users browsing this forum: No registered users and 6 guests