HoraceAndTheSpider / Amiberry-XML-Builder

Python script to scan LHA files for WHDLoad integration in Amiberry
13 stars 3 forks source link

Why aren't "PRIMARY_CONTROL=MOUSE" and "PORT0=MOUSE" everywhere? #102

Closed Yserra closed 2 years ago

Yserra commented 3 years ago

I'm using Amiberry 3.3 on Retropie 4.7.1 with a copy of whdload_db.xml updated on December 5th, 2020.

In a majority of WHDLoad games, a real mouse can't be used, nor to select the trailer, nor to use it during the game. But the same mouse works by default with all ADF games, on the same emulator.

How to reproduce the issue : plug a real mouse in your Raspberry Pi, then try, for instance, any WHDLoad copy of BattleSquadron (they have a trailer AND they use mouse for the second player). You can't use the mouse. If you press F12 and go to the Input panel, on port 0: you see "Mouse" / "No autofire" / "Joystick". It should be written: "Mouse" / "No autofire" / "mouse" (or "default").

Actually, the mouse only works with the rare games where it is mentioned "PRIMARY_CONTROL=MOUSE" and "PORT0=MOUSE" in _whdloaddb.xml.

Since this behavior happens even with WHDLoad games that are not listed in whdload_db.xml, my understanding is that it is more or less an issue that would be resolved on the Amiberry side.

But, in the meantime, wouldn't it be a fair idea to have "PRIMARY_CONTROL=MOUSE" and "PORT0=MOUSE" for all the games in _whdloaddb.xml? If I remember well, we used two Joysticks on real Amiga only in very rare occasions.

nemo93 commented 2 years ago

@Yserra I have first to apologize for the delay in answering your ticket. With the new Amiberry 5.x there's an option named after joy/mouse autoswitching. It should be on by default with the current master branch.

This will allow you to switch from Mouse to Joystick and back on Port 0, if you use the Fire button or Mouse button. No more hassle with opening GUI to change control. Let me know if this an acceptable solution for you.

Btw if you're the one who wrote this then I'm a (long time) fan :-)

HoraceAndTheSpider commented 2 years ago

I think the purpose of the option has been misunderstood.

this function is for a use case where there is a single joystick/controller only on a host system; telling Amiberry whether a game is largely controlled by the mouse or he joustick

PRIMARY_CONTROL= is setting the main input device type.

so for most games this will be a joystick. For mouse controlled games (say Lemmings) this will be the mouse, and therefore gives the user the chance to play a mouse-based game even on a system that only has a controller based input

HoraceAndTheSpider commented 2 years ago

Port0=mouse may be reasonable as a default value , although it would still be ideal if we instead had a defualt “hybrid” controller setup that maps port 0 mouse to one analogue stick and port 1 joystick to another

nemo93 commented 2 years ago

I'm closing that one off but anyone is free to reopen to keep on discussing. Thanks!

Yserra commented 2 years ago

I'm terribly sorry, I just saw your answer, so after having wrote the feature request #947. So, yes, I'm happy with the solution to switch to mouse or to joystick by simply pressing the button. Many thanks!

And yes, I'm the one who wrote the Amiberry inside Amiga 1000 article :)