libretro / libretro-uae

PUAE libretro
GNU General Public License v2.0
111 stars 60 forks source link

Beneath a Steel Sky - two problems #605

Closed hatetepe closed 1 year ago

hatetepe commented 1 year ago

Hi. I have noticed these problems with whdload versions:

  1. BeneathASteelSky_v2.1_0207.lha in this version the restart button does not work (for example in the first location a character can die going down the stairs to the guard). Then the game asks if we want to restart or restore the game. Restart I should restart the game but it just closes it.
  2. BeneathASteelSky_v2.2_CD32.lha in this version there is a problem with the controls (I use an xbox one gamepad or a pc mouse). The pad control has some error, the cursor moves to the wrong place. After pressing the right mouse button, the mouse can be controlled, but sometimes the problem returns. The CD version for the Amiga CD32 also works the same as the CD32 version (whdload) - control problem.

Compared to Winuae 4.9.1:

  1. The restart button is working properly.
  2. Control is done only with the mouse. I will not notice controller support.

Ps. I have a request/question: core option vertical/horizontal position: Is it possible to add a full range of values (for example 1,2,3,4 etc.) ? Sometimes when using a given value, the screen is cut off by one line (for example, at the top or bottom).

sonninnos commented 1 year ago

Hmm, the ReadMe says:

  - Due to a bug in the original release, "Restart" option has been
    changed so now program loads first game (game0).
    If you did not save any game here, restart will just quit the game.
    The best thing to do to make "restart" work is to save the game at
    the very beginning (when you're in the press room with the cop)
    under position 0.

And is the comparison really apples to apples, as in WHDLoad using SavePath redirection in the other setup too?

Also WinUAE does not switch the controller type to a CD32 automatically by default like this core does when the filename has CD32 or real CD32 hardware is used. And the CD32 version manual even says to only use mouse and does not mention the controller at all. So just use "Mouse Mode" for the controller with this game.

Edit: Ok, I tried it also with a WHDLoad setup that does not use SavePath, and restart still did not load the first save if it exists but quit instead, with both this core and WinUAE 4.9.1.

hatetepe commented 1 year ago

In the cd32 version, a mouse would be enough - if it wanted to work. After turning on the game, the cursor runs away (usually on the left side of the screen). Only pressing the right mouse button (sometimes once is enough, sometimes you have to press several times) makes the cursor react. Also be careful not to accidentally move the analogs on the controller, because the cursor starts to go crazy again. Is there a way to improve it so that the cd32 version only works with a mouse without controller support? I will add that I tried in the core/input option to turn off the analog mouse, and in joystick/mouse to select mouse port 2, but it's still the same.

sonninnos commented 1 year ago

Now I managed to reproduce what you mean. Indeed it should not be doing that, and the cure for now is to set port 2 emulated device type from "Automatic" or "CD32" to "RetroPad".

I'll see if I could somehow make "Automatic" not keep forcing the type periodically to CD32 pad without joystick movement, which it seems to be doing even if it should not..

sonninnos commented 1 year ago

Okeydokey, this should cover it: https://github.com/libretro/libretro-uae/pull/607

hatetepe commented 1 year ago

Well done. The cd32 version works with both mouse and controller :) Thank you very much.

sonninnos commented 1 year ago

Nice, and thanks. Indeed it was one of those rare CD32 games that want both the pad and mouse only in port 2. The traditional way is to have first player mouse or second player joystick in port 2, and joystick for first player or mouse for second player in port 1.