Last week a friend and I wanted to play Crashday. We already did so a few years ago and it worked more or less fine – its a buggy game. This time I am using my current Arch Linux only setup while he has both Arch Linux and Windows installed. The first suprise was that the game was working better with wine that with Windows on my friend’s setup. Sometimes the game starts, sometimes it doesn’t. But with wine it always works.
Anyway, we both tried wrecking bots and it worked fine, but as we tried multiplayer, my game (his one ran fine) always crashed shortly after the game was started. To be exact after the countdown of the game.
The error message I got said:
!!! Fatal error !!!
Assertion failed!
blendTimePassed >= -0.001
(file ..\netplayers\host_remotecar.cpp, line 253)
Trace stack:
(It doesn’t say anything after Trace stack, propably because they didn’t compile the game with debugging symbols)
My friend told me that we should be able to apply a hack on their exe in order to make the game work. So i started up my vmware’d XP and Crashday.exe in ollydbg (which doesn’t really work with wine). The error we had can be found as string two times in the binary and I started to take a closer look on the first one. In the code, it compares some value with -0.001 and if it is below that, it jumps to an address where it shows the error dialog (and kills the game).

Ollydbg, fixing Crashday
The trick is to remove a FSUB which substracts the value that will be compared with another one. This way it will stay over -0.001 and the game continues.
I don’t know if this error happens only with wine, but if you follow this tutorial, you should be able to fix it.
Oh and please note that the addresses on the screenshot will propably differ from your one.
Have fun with that awesome game