ZDoom / Raze

Build engine port backed by GZDoom tech. Currently supports Duke Nukem 3D, Blood, Shadow Warrior, Redneck Rampage and Powerslave/Exhumed.
708 stars 59 forks source link

[BUG] [General] Pressing `Escape` immediately after launching a game freezes it #174

Open Axldomi opened 4 years ago

Axldomi commented 4 years ago

A general issue : I have the tendency to want to skip all the cutscenes in the beginning, so I immediately press "escape" after selecting a game and launching it. It will cause the game to freeze.

It can easily be reproduced.

arrowgent commented 4 years ago

thats an SDL issue, this is also present in gzdoom and zandronum

there is a fix by compiling a new version of SDL ... you dont specify Linux/Win/Mac/OS/etc. i will assume.... linux...

a similar issue happens with pressing T or ~ console or TAB or enter.

arrowgent commented 4 years ago

if linux: the fix i found for this specific unicode problem: recompile SDL rather than spend 15 minutes trying to find the exact threads, the internet, google, and digging through 20 pages of research ...

$ sudo apt install autoconf cmake mercurial
$ hg clone --branch SDL-1.2 https://hg.libsdl.org/SDL SDL-1.2-fix
$ cd SDL-1.2-fix
$ ./autogen.sh && ./configure && make
$ sudo make install
$ sudo ldconfig
mjr4077au commented 4 years ago

I'm pretty sure Raze would be unbuildable against SDL 1.2, you need SDL 2.0.x.

Axldomi commented 4 years ago

I'm playing on windows 8.1 though

mjr4077au commented 4 years ago

Then the SDL stuff is irrelevant, will try to look at your issue when I get the chance (away from home).

sinisterseed commented 4 years ago

I can't reproduce this as of gaed8a450f, the cutscenes skip correctly with Escape for me.

What build are you using?

coelckers commented 4 years ago

I was able to reproduce it once. The AppActive flag was not set so it got stuck in deactivated mode. No idea how it happened.

Axldomi commented 4 years ago

Weird. I'm able to reproduce it often. Just press "escape" multiple times immediately when launching the game.

sinisterseed commented 4 years ago

Nay, no dice, it's solid here.

Even tried multiple games, nothing.

mjr4077au commented 4 years ago

Can also confirm. Reproduced it on my first attempt to so do.

sinisterseed commented 4 years ago

Still no dice for me, even in today's autobuild.

mjr4077au commented 4 years ago

@coelckers I'm happy to take this one on to see where things are going wrong. Where would you start if you were looking? Do you think it's something with the screenjobs?

coelckers commented 4 years ago

I have no idea currently the big problem here is that this is affected by Windows's WM_ACTIVATEAPP function which makes debugging very hard. I don't think this can be solved in the debugger, you need to use Printf to track it down.

sinisterseed commented 4 years ago

I'm still curious how I'm the only one not experiencing this at all...

coelckers commented 4 years ago

You are probably not fast enough. This looks like some sort of race condition between the Windows event queue and the engine's startup and is very likely also present in GZDoom but since GZDoom has no movie playback capabilities it never became obvious.

sinisterseed commented 4 years ago

Ah, I see now. That could make sense.

We've had somewhat hardware dependent issues before, but yeah, for this one no dice from me. Does it simply stop responding when it freezes, or does it also open the crash manager?

coelckers commented 4 years ago

It just hangs on the intro's first frame and never advances. Alt-F4 still works.

coelckers commented 3 years ago

I hope it's better now, but needs to be confirmed first. The new code never lets the keypress advance beyond the intro cutscene anymore so I hope it fixed ths problem.

Axldomi commented 3 years ago

Just tested a bit with version 1.0.2 and it seems to have improved a bit, but if I'm fast I'm still able to "hang" the game.

sinisterseed commented 3 years ago

And I'm too slow, so i can't confirm or deny.

Cacodemon345 commented 3 years ago

I triggered this bug a couple of times. When it happens, the menu will briefly appear before the frozen cutscene. And this is on Linux.