Sonic-1-2-2013-Decompilation icon indicating copy to clipboard operation
Sonic-1-2-2013-Decompilation copied to clipboard

[Android/Linux] Input broken as of fd5f527

Open SeongGino opened this issue 1 year ago • 1 comments

Technically a more detailed synopsis/duplicate of #354.

After recompiling my Android builds in anticipation of Sonic 1 Forever 1.4.2, I've noticed that the current master (9fffd6b) does not seem to recognize the physical gamepad input on the game's (S1 and S2 vanilla) title screens, but works in the start menu frontend.

After bisecting, 559adb1 is the last version to accept input properly, with fd5f527 being the commit that apparently breaks input on vanilla game title screens, and all the menus of S1F and Sonic 2 Absolute are inaccessible.

Using the dev menu to spawn into a stage proper, the controls do work on affected commits*; implying that this only seems to affect Presentation screens, but still has a severe impact on mobile with the noted mods.

*Loading a regular stage directly in S1F 1.4.2 causes the game to immediately pause, to which the mod's custom in-game pause menu does not respond to controls or touch, effectively soft-locking it. S2A 1.1.1 does not auto-pause this way, but pausing by pressing Start similarly soft-locks due to unresponsive controls.

The actual bisection has been performed with regards to the Android build specifically, but I tried it also on my (Arch) Linux system. Same exact results there; just replace "touch" with "mouse clicks", and the keyboard and gamepad do and don't work in the same scenarios where the Android pad doesn't work.


Also, FWIW, I've noticed that starting from the affected commit, S1F/S2A skips the mod's Sega logo (both Android & Linux).

And on Linux, S1F outright crashes whenever trying to load a Regular stage:

*** buffer overflow detected ***: terminated
Aborted (core dumped)

SeongGino avatar Jul 17 '22 21:07 SeongGino