seleuco / MAME4droid-2024

MAME4droid 2024 is developed by David Valdeita (Seleuco) as a port of the latest MAME emulator by MAMEDev and contributors. It emulates arcade games and systems like ZX Spectrum, Amstrad CPC, MSX etc. This version of MAME support over 40000 different ROMs.
GNU General Public License v2.0
88 stars 14 forks source link

redesign modern virtual controller #44

Open soundsnow opened 1 month ago

soundsnow commented 1 month ago

Opening certain arcade games shows auto-detection as a mouse, and it hides the virtual controller in full-screen mode. I guess those are arcade games that require a trackball or paddle to play. Trackball games are hard to control, the screen is bordered and @seleuco have to tap the screen with another finger. Why is there no virtual thumbstick? There are still some not so good things about this auto-detection, some trackball games may have two extra buttons Also I think there are too few buttons in non-fullscreen Portrait mode It's so unfair to be able to map with an Xbox or PlayStation controller but not have a virtual modern controller So I've designed 7 common layouts for virtual modern controllers that ideally work equally well for auto-detection

Layout Analog: LStick, RStick, L3, R3, Select, Start Digital: DPad, A, B, X, Y, Select, Start Trigger Analog: L1, L2, R1, R2, LStick, RStick, L3, R3, Select, Start Trigger Digital: DPad, A, B, X, Y, L1, L2, R1, R2, Select, Start 3D Analog Analog, 3D Analog Button, 3D Digital Button: DPad, A, B, X, Y, L1, L2, R1, R2, LStick, RStick, L3, R3, Select, Start

State Slot Analog: 2 Digital: 4 Trigger Analog: 6 Trigger Digital: 8 3D Analog Analog, 3D Analog Button, 3D Digital Button: 10

Usage Analog: paddle, trackball and driving games with 2 buttons for 1 player. paddle, trackball and driving games with 1 button for 2 players. Digital: 2D games with 4 buttons for 1 player. Trigger Analog: paddle, trackball and driving games with 6 buttons for 1 player. paddle, trackball and driving games with 3 buttons for 2 players. Trigger Digital: 2D games with 8 buttons for 1 player. 3D Analog Analog, 3D Analog Button, 3D Digital Button: 1 player keypad games for ColecoVision, IntelliVision, 5200, Jaguar, CreatiVision, Arcadia 2001. 2 players keypad BASIC games for 2600 (Atari keyboard = P1 keypad + P2 keypad). 1 player 3D games

To play IntelliVision keypad games. You need a left analog stick for 16-way disc, a right analog stick for keypad keys (12346789), right analog button for keypad a keypad key (5), a DPad for 4-way and 8-way games. other buttons for 3 side keys and 3 bottom keypad keys and console buttons To play 2600 keypads games, You need 2 analog sticks for 2 player keypad keys (12346789,12346789), 2 analog stick buttons for 2 player keypad keys (5,5), other buttons for 6 bottom keypad buttons and console buttons

For Landscape and Portrait (Fullscreen and non Fullscreen). Some of the settings may have to be modified for this.

Fullscreen Input - Stick type Input - Touch controller - Mode Input - Touch controller - Number of buttons Input - Touch controller - Always show G, H buttons

Input - Touch controller - Controller transparency The button in the image I uploaded has no background color, so it's transparent, so I think I can remove this to save power and apk size

Analog Analog Digital Digital Trigger Analog Trigger Analog Trigger Digital Trigger Digital 3D Analog Analog 3D Analog Analog 3D Analog Button 3D Analog Button 3D Digital Button 3D Digital Button

soundsnow commented 1 month ago

These arrows should be available in unicode, and they may reduce the drain on battery life for image files Button text disappears to indicate that the button was pressed, and the text is displayed when the button is released

Namco developed so many arcade games for the PlayStation 1 to 3 consoles, but its controller has a lot of buttons, MAME4droid not only has fewer virtual buttons than it does, it doesn't even have dual analog stick