Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for reassigning player number for joypads and spinner/paddles #342

Closed
wants to merge 1 commit into from
Closed

Support for reassigning player number for joypads and spinner/paddles #342

wants to merge 1 commit into from

Conversation

@zakk4223
Copy link
Contributor

@zakk4223 zakk4223 commented Feb 3, 2021

Replace the 'Reset player assignments' with 'Change player assignments' menu.
In this menu you can change what 'player slot' any controller is assigned to by left/right or OSD 'select'. Full reset of all player assignments is also available in the menu, with the exact same functionality as the previous 'Reset player assignments'

When an input for a pad or spinner is detected the corresponding menu entry is prepended with an asterisk to indicate which one it is (to help users reassign the correct gamepad)

Primary motivation for doing this is that a number of arcade games have fairly important gameplay differences when the Player 2 side is used. If you only have one gamepad there's was no way to easily play as P2; with this you can just remap to P2. As a nice side benefit you can now pick your character in three player Gauntlet games :)

@zakk4223
Copy link
Contributor Author

@zakk4223 zakk4223 commented Feb 3, 2021

The last active input detection in input.cpp (triggered by entering the remap menu) works for all the input devices I have. One thing I am missing is a Mr Spinner in paddle only mode, so if someone could test that I would appreciate it.

If there's a better way to do the input detection I would be interested in any improvement ideas.

@sorgelig
Copy link
Member

@sorgelig sorgelig commented Feb 3, 2021

99% arcades are non-multiplay. So most arcade cores written that way when you can play for both players by single gamepad when one user pass the gamepad to another.
For me it looks over complicated, not a MiSTer way. Also large changes in input.cpp usually leads to a lot of bugs as logic there is very complicated. Even i forget sometimes how it works :)

@zakk4223
Copy link
Contributor Author

@zakk4223 zakk4223 commented Feb 3, 2021

So the only way to deal with playing as non player 1 in games that have p1/p2 differences is to plug in another controller or bother the core developer to add a player mapping option?

@sorgelig
Copy link
Member

@sorgelig sorgelig commented Feb 3, 2021

I didn't get your question... Which p1/p2 differences you mean? I didn't see such arcades

@zakk4223
Copy link
Contributor Author

@zakk4223 zakk4223 commented Feb 4, 2021

DoDonPachi has scoring differences between player sides, as does a number of other games that the Cave core will support in the future. Four player gauntlet assigns the characters based on the player slot, so if three people are playing no one can pick Elf. Beat'em Ups like The Punisher have different characters (with different move sets) depending on if you play on the P1 or P2 side.

It's not too common in the early to mid 80's games, but it starts to show up more in late 80s and 90s. Especially in shmups and beat'em ups. In some cases it is purely cosmetic, and in some cases it has game play changes. I'm not sure the extent of how many games do this is really documented any where.

Feels like the Mister is getting closer and closer to having more 90s arcade games and this may come up more. I'd rather have a consistent interface to changing player assignments than to have individual cores all do it somewhat differently...

@sorgelig
Copy link
Member

@sorgelig sorgelig commented Feb 4, 2021

So couple games you mentioned can include special setting in the core.
For example some consoles and computers have option "Swap joysticks". No problem to add such option in arcade.
Even in Gauntlet it's more clear option where you choose which player (P1..P4) you want to use than obfuscated gamepad assignment.

@zakk4223 zakk4223 closed this Feb 5, 2021
@zakk4223 zakk4223 deleted the joy_assignment_map branch Feb 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants