Hmm how did you do that? I could not even compile without it aborting.
When I tried merging it it conflicts big time with the Signals in tunnels and on bridges patch.
It should not work with v4.2. The next version however will include this patch instead of the Signals in tunnels and on bridges patch. /end advertising.
I have Chipp 4.2 and progsigs running right now. What i had to do was look at the reject files created by patch.exe and manually edit some things.
I also had to change "flags" to info.flags" to make that part of code compatible. I forgot what file that is in and i am going to eat now so if you need to know, ask again or just search for info.flags in the source files.
EDIT: And NO, please don't throw away Signals on bridges and tunnels. I love that one!
I know about info.flags in signal.cpp. I merge patches in my patchpak manually to avoid errors and for knowing what changes where. Maybe I forgot something somewhere.
I will try again in a bit. Would you mind pulling a diff and sending me it by PM. Do not bother with the new files as I have them in a sepperate file already.(I just need to know what version of programmable signals you have in it.)
I have not seen that happen in my build but maybe I have not tested enough yet.
Did that happen in the clean programmable signals build or merged against the patchpak?
It happens on both clean trunk r19541 and trunk 19599 + chipp 4.2
I still have not seen the crash you discribe but I managed to crash it in a few other ways.
I did not touch that line and it compiles just fine.
Are you compiling with Visual Studio 2008?
Do you have that file in some include somewhere and i don't? (I fear my windows SDK might be faulty btw)
I compile on Ubuntu. That would be gcc and g++ according to my config file. Linux comes with most compile tools pre-installed so I am not sure. It works ...
My Windows XP setup crashed a while ago and until now I have not regretted it one minute.
I still have to install DirectX though to be able to play some of my games. I did not get to doing that yet as I am having way to much fun messing with OpenTTD.
Without further delay, here is both a SVN diff and a binary.
Cool, but I am afraid your patch is missing the new files. I have attached a fixed diff.(Converted to windows line endings.)
The binary is quite useful as my linux builds do not generate the crash dump files, on the other hand the windows binary does not produce the crashsaves while my linux builds do.
This patch fixes Cadde's bug report. The cause was obvious in hindsight
I have a few more ways to crash the patch. See attachments.
Crash one: After specifying the signal to depend on, delete both the programmable signal and the specified signal in one go. Deleting them one by one does not crash the game.
Crash two: Setting the specified signal but by accident, or not, clicking a tile without rail.
Then I have found an inconsistency. Programming a signal depending on a bidirectional signal is not allowed but after having specified a one way signal it is possible to change the signal into a bidirectional signal.
When removing this bidirectional signal the game crashes also. Since I can only have three attachments here is the crashlog in codeblock.
*** OpenTTD Crash Report ***
Crash at: Fri Apr 16 02:23:08 2010
In game date: 1950-02-02 (35)
Signal: Aborted (6)
Message: Assertion failed at line 39 of /home/pc/chiottd/progsigs/src/rail_map.h: IsTileType(t, MP_RAILWAY)
Version: r19638M (2)
NewGRF ver: 11004cb6
Build date: Apr 16 2010 01:07:03
 /home/pc/chiottd/progsigs/bin/openttd(_ZNK12CrashLogUnix13LogStacktraceEPcPKc+0x43) [0x8279cc3]
 /home/pc/chiottd/progsigs/bin/openttd(_ZNK8CrashLog12FillCrashLogEPcPKc+0x102) [0x81b0f52]
 /home/pc/chiottd/progsigs/bin/openttd(_ZNK8CrashLog12MakeCrashLogEv+0xbc) [0x81b109c]
 /home/pc/chiottd/progsigs/bin/openttd [0x8279bf6]
 /lib/tls/i686/cmov/libc.so.6(gsignal+0x50) [0xb65646d0]
 /lib/tls/i686/cmov/libc.so.6(abort+0x188) [0xb6566098]
 /home/pc/chiottd/progsigs/bin/openttd [0x826a82d]
Version: #60-Ubuntu SMP Fri Mar 12 04:40:52 UTC 2010
Compiler: GCC 4.3.3 "4.3.3"
Graphics set: OpenGFX
Music driver: null
Music set: NoMusic
Sound driver: sdl
Sound set: OpenSFX
Video driver: allegro
AI Configuration (local: 0):
Allegro: Allegro 4.2.2, Unix
---- gamelog start ----
Tick 0: new game started
Revision text changed to r19638M, savegame version 141, modified, _openttd_newgrf_version = 0x11004cb6
New game mode: 1 landscape: 0
---- gamelog end ----
*** End of OpenTTD Crash Report ***
What happened to your diff? It seems to contain much more than progammable signals ...