From b7892fd5d11c935e17687843987df3024267f9cd Mon Sep 17 00:00:00 2001 From: AJ Martinez Date: Fri, 27 Oct 2023 22:37:56 -0700 Subject: [PATCH] HACK: Lift all inputs when wipes execute --- src/f_wipe.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/f_wipe.cpp b/src/f_wipe.cpp index 6a8587586..9ecb41c32 100644 --- a/src/f_wipe.cpp +++ b/src/f_wipe.cpp @@ -494,6 +494,11 @@ void F_RunWipe(UINT8 wipemode, UINT8 wipetype, boolean drawMenu, const char *col WipeInAction = true; wipe_scr = screens[0]; + // FIXME: Wipes SUCK and drop input events for some reason, causing stuck gamepad inputs. + // It's better to ignore an intentional hold than to turn a tap into a phantom hold. + // (If you're removing this, remove the one after the inner loop too!) + memset(gamekeydown, 0, sizeof(gamekeydown)); + // lastwipetic should either be 0 or the tic we last wiped // on for fade-to-black for (;;) @@ -581,6 +586,11 @@ void F_RunWipe(UINT8 wipemode, UINT8 wipetype, boolean drawMenu, const char *col WipeInAction = false; + // FIXME: Wipes SUCK and drop input events for some reason, causing stuck gamepad inputs. + // It's better to ignore an intentional hold than to turn a tap into a phantom hold. + // (If you're removing this, remove the one before the inner loop too!) + memset(gamekeydown, 0, sizeof(gamekeydown)); + if (fcolor) { Z_Free(fcolor);