SOD Mission 3 - SaveGames Crash

Issue #222 resolved
Anonymous created an issue

Good afternoon! I've experienced some crashes while loading savegames in mission 3. So when I load any savegame I get very fatal error, unfortunately I'am unable to attach crash report since it is lost. I use latest ECWolf devbuild + Activision Release of SOD Mission 3 + launch parameter --data .SD3. But if I start a new game and then load any savegame it goes normal. It happened but not so often with Mission 2 . Tested both with SDL and DirectX video drivers. If crash occurs with directx - screen goes black, but with sdl I get a very fatral error report. I prefer to play using directx video driver as it provides vsync.

Comments (23)

  1. ZAERO

    It's 32 bit, you are correct - the latest is just the one you mentioned. I run Windows XP SP3. I use batch file to load this mission pack.

    One time I started shooting and the game just went black screen (directx driver) I suppose it could be something like sound buffer overload, or digitized sound memory leak - My assumption is that ECWolf in some situations is not cabable of coping with great amount of sounds played instantly at the same time.

    My CMD parameters

    set SDL_VIDEODRIVER=directx Start ECWolf.exe --data SD3 --config ECWolf.cfg --savedir .\SaveGames -file ECWolf_SOD_Correct_Version_Loading_Screen.pk3

  2. ZAERO

    The story repeats with the latest devbuild from 21.08.2016 , tested on WIN 10 and WIN XP , Crash report attached.

    .SD3 is the most buggy in terms of ECWolf support in comparsion with the rest (W3D , SOD)

  3. Braden Obrzut repo owner

    The change yesterday didn't change anything related to this crash. I did try to investigate this yesterday though and it appears that my Visual Studio install is trashed to the point that I need to reinstall Windows to fix it (I thought reinstalling Windows to fix things was a thing of the past, but I've tried everything online regarding the error messages I'm getting).

    Can't really think of any reason that SD3 would crash more often though since it's not like the engine has any special code paths for it.

  4. ZAERO

    Well, nonetheless this is the thing I fell upset about. I hope you will be able to reproduce it. Does crash report reveal something?

  5. ZAERO

    That will take some time for sure...

    Is the availability of files .SOD , SD2 , SD3 enough for normal gameplay, or there should be .SD1 also? There is an additional extension in Activision release called .SD4 , I haven't got a clue what is this thing supposed to do.

    I use Activision SOD v1.4 release, together with it's 2 mission packs. --data SD2 and -- data SD3 are used to launch them.

  6. Braden Obrzut repo owner

    The SD1 files are just backups made by the data switcher program. The canonical names for the data are .SOD, .SD2, and .SD3 only. Also SOD's game data only exists in one form that I know of, only the exe changed between versions. SD3 does have two versions (of which I personally consider the non-UAC one canon, but ECWolf runs both fine).

    I don't recall what the deal was with the SD4 file off hand. Perhaps something to do with the random level generator?

  7. ZAERO

    WL6 , SOD , SD2 - all of them run fine , it's just an issue with SD3 which keeps crashing when I do the following :

    1) Start the new game , and press mouse1 to fire, several sounds are being played simultaneously and game crashes.

    2) Right after I launch the game, I go into "load game" section - loading any of the savegames I have and the game instantly crashes.

    3) There was an occasion when the game crashed between the 16th and 17th level transition, just as soon as you press an elevator trigger.

    This is all about SD3, there must be a logical explanation and I'm trying to discover it :) I may provide you with my package by you permission of course.

    Also, may I fix "SDL_videodriver=directx" somewhere in .cfg like AutoExec.cfg instead of launching it every time from the .bat file?

  8. Braden Obrzut repo owner

    The video driver thing? You could set it as an environment variable in Windows, but I don't really recommend doing that. Not really much of a down side to using the bat file if you end the ECWolf command with %*. Following the 1.4 release I will be using SDL2 on 32-bit Windows so you'll get an accelerated backend by again default there (highly considering doing it for 1.4 as well now that I have to rebuild my Windows dev environment anyway). For your Win10 machine which is presumably 64-bit (unless you're one of the two people using 32-bit Windows 10 :P), using the 64-bit version of ECWolf will get you that already.

  9. ZAERO

    Alright then, looks like there is no way to fix that "SDL_videodriver=directx" in .cfg file ?

    I don't quite understand what do you mean under ending ECWolf command with %* . I decided to conduct an experiment downloading standalone SD3 (all files renamed as SOD file extension) release and launch it via ECWolf - the crash occurred even when started the new game. The additional reason I prefer to use DirectX driver because it (according to my sensations) provides raw mouse support, namely with no mouse acceleration whilst SDL does not.

    The mouse feels different in both these video driver variants. Also I think that directx uses the same Refresh Rate as my desktop - 100 hz, which is the thing I always want any source port to be able to provide.

  10. Braden Obrzut repo owner

    No SDL_VideoDriver is an environment variable that libSDL reads. ECWolf isn't aware of it.

    %* is how you pass all the arguments passed to the batch file to another command. If you have that at the end of your ECWolf command then things like drag and drop will work.

    ECWolf can't run above 70Hz. A different feel between SDL video drivers can be caused by a lot of things though which include differing frame rates, drivers, driver settings, and just different latency code paths in the OS itself.

  11. ZAERO

    Understood. I've noticed another bug, when the player is being killed by Dr. Schabbs his skin doesn't turn grey (he doesn't become a mutant) in HUD face picture.

  12. ZAERO

    Let's continue our discussion. :)

    Finally, the latest !!!"legacy"!!! development build has solved all SOD Mission 3 savegame issues I've been writing about. Everything from now loads properly and plays very well. Please continue issuing them as it is the only variant of dev. build my Windows XP SP3 supports from now.

    1) I would like to investigate how to transfer Barnacle Wilhelm firing sound (SOD original mission boss #2) to General Fettgesicht (Wolf 3D Episode #6 boss), Is there a special line in wolfbosses.txt regarding this sound which needs to be changed? I assume that there will be an extraction needed from resource files .SOD in order to get that sound... but I would like to run it as an additional .pk3 file mod. Because Fettegesicht's firing sound sounds glitchy a bit, especially his chaingun. It sounds like a circular saw. Could you help me to accomplish this in an easiest possible way?

    2) I've noticed a bug, when the player is killed by Dr. Schabbs (Wolf 3D Episode #2 boss) and his skin doesn't turn grey (he doesn't become a mutant) at HUD face picture whereas in original Wolf 3D the HUD face picture changes.

    3) Nice to see an implementation of fixes for SOD Mission Packs SS Guard and Gun Bat. :)

  13. Braden Obrzut repo owner

    What error are you getting for the normal 32-bit build? It should work on XP, but I could have messed something up setting it up.

    1) This is arguably a vanilla bug that Fettgesicht uses the missile fire sound for his chaingun. You can fix it by replacing him with an actor that changes the attacksound property to "hans/attack" (sound be the same sound). I don't think this would affect his rocket launcher.

    2) I'll look into that. Really need to get around to adding damage types and removing that hack.

    Edit: Tested the 32-bit and 64-bit builds on my XP x64 VM and they both work fine, so as far as I can tell 32-bit build should work on your 32-bit XP.

  14. ZAERO

    Concerning normal dev. build 32 bit...

    To be precise, I have been using my .bat file with ECWolf which contains launch parameters such as --config , --savedir , -file , SDL_videodriver directx commands. If I execute launch process via that .bat file - nothing happens, there is no even ECWolf.exe process running, but if directly via .exe - it runs. I suppose that there is no more directx backend support in normal build (32 bit)? That's the only option for me that provides comfortable, smooth gameplay with proper mouse response, I prefer to use this one (SDL_videodriver = directx) instead of native, default SDL.

    P.S. I will try out your advice concerning Fettgsicht attack sound, I hope it solves the bug.

  15. Braden Obrzut repo owner

    You should re-evaluate the default back end. It's using SDL2 so everything is different. Note that SDL_VIDEODRIVER of the past is closer to SDL_RENDER_DRIVER you should be able to set that to "direct3d", "opengl", or "software".

    You'll be fine using the legacy build until ECWolf 1.5, after that there will be a compiler change and it will be a second class citizen specifically for Windows 98/Me/NT4/2000 or systems without SSE2. Since SDL1 is EOL I can't promise it will be worth maintaining forever.

  16. ZAERO

    Well, today I've tested the latest original dev. build and tried 4 variants of launch :

    1) SDL_RENDER_DRIVER=direct3d, runs considerably slower that the other 3, not sure if mouse acceleration presents but not the variant I would like to stop at.

    2) SDL_RENDER_DRIVER=software, loads very fast, but there is a huge screen tearing, so no vsync provided, it didn't feel like there was a mouse acceleration, same conclusion as with the 1st variant.

    3) SDL_VIDEO_DRIVER=opengl, loads normally, no screen tearing noticed, but mouse acceleration presents and makes mouse movement slightly inconvinient. So, the 3rd variant is the most preferrable. If there was a mouse accel removal command I would have probably moved to this variant from legacy, but still it is not ideal... the ideal is written below.

    4) "LEGACY" SDL_VIDEODRIVER=directx, loads fast enough, runs smoothly and there is absolutely no mouse acceleration which provides precise aiming, great movement feeling and just the game experience I want to be given.

    In overall, all 4 variants perform very well, with no crashes spotted.

    P.S. I've tested the fix for Fettgesicht attack sound you offered and it is solved an issue! Don't you mind adding it in the next dev. build's ecwolf.pk3 ? I think it should be implemented.

    P.S P.S. Mutant Face hack works ok.

  17. Braden Obrzut repo owner

    Weird that the Direct3D render driver is given your trouble. Well as long as you understand the consequences I'm not going to stop you from using the legacy builds. :)

    The Fettgesicht sound "bug" won't be fixed although I might make it easier to fix it by given him a unique SNDINFO entry so it can be a one liner there.

  18. Log in to comment