Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
02865 Save/Restore Minor Always Jan 24, 2009, 12:49 Feb 26, 2009, 08:23
Tester user516 View Status Public Platform MAME (Official Binary)
Assigned To Resolution Open OS Windows XP/Vista 32-bit
Status [?] Confirmed Driver
Version 0.129u2 Fixed in Version Build Normal
Fixed in Git Commit Github Pull Request #
Summary 02865: Assorted Save State/Input related issues.
Description Now, it turns out that the two-player games I have currently loaded have thus far all been ones for which save state is not officially supported. Even so, I suspect it is endemic to Mame itself. I tried it on MAMEUI, but then downed MAME, the main XP distribution to be sure, and replicated it. For most games, pressing "1" during game play is no problem, but on Strike Force, it is. That's why I chose two-player games as the test case.

1.
When you press F7 to save the state, and then press a number, it does what number you press. For example, if you press "2" on a two-player game, it will add the second player after saving the state. It appears the same thing happens upon loading the game. The same thing happens upon loading the game - if you load state two, it will start player two, and for some games, this is a problem. My suggestion: wait for the key up. It would have the odd effect of freezing the game wile saving the game state, but it would be simpler. More elegant would be to simply ignore the command associated with that key until that key is no longer pressed.

2.
Worse yet, the obvious workaround, pausing the game to save the state, unpauses the game, so the effect is unavoidable. It should not unpause the game when the game is saved, and it should not execute the command associated with the number key you are saving the state to. Another workaround that comes to mind is to try to find an unused letter, but you can't e.g. save to Alt-1 (and you probably don't so many save slots), but since by default most letters and numbers are defined, it's not a great solution.

3.
Another somewhat related bug, is that I was goofing around with changing the savestate keys, and changed SaveState to F7 and LoadState to Shift-F7. Both Shift-F7 and F7 did a SaveState! I changed it to SaveState as Shift-F7 and LoadState to F7, and it worked fine.

I tried these last two with Phoenix, for which SaveState is officially supported, and reproduced both that way.

I'm glad it is finally here, though, since some games don't have suitable cheats, and can't start on just any level, and yet take a long time to complete. Computers can load and save in progress, after all! Thanks guys, and keep up the good work. :P

The CodeLurker
Steps To Reproduce To execute a savestate key:

1. Start any two player game
2. Insert enough virtual quarters for a two player game.
3. Start the game
4. Save the state in the "2" slot.

You will probably see that player two has started. It happened every time I tried.

To see that save unpauses the game:

1. Start any game
2. Hit pause
3. Save a state

Every time I tried, the game was unpaused

To see that defining SaveState to F7 and LoadState to Shift-F7.results in both doing a SaveState:

1. Start any game
2. Hit Tab
3. Go into Input(General)
4. Go into User Interface
5. Scroll way on down, and change SaveState to F7, and LoadState to Shift-F7
6. Press Shift-F7, and observe that it prompts you for a number to SAVE the state to.
Additional Information
Github Commit
Flags
Regression Version
Affected Sets / Systems
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
3
User avatar
No.03637
Tafoid
Administrator
Jan 24, 2009, 18:26
edited on: Jan 24, 2009, 18:37
CodeLurker, While your reports appear to have some valid issues, the off-topic and improper use of this system by leaving a political viewpoints/messages is not to be allowed or condoned here. This is *NOT* what this system is here for and it's completely unprofessional!! As of now, your no longer allowed post or add new bug reports. This restriction might be lifted after a time. Do not create new accounts to circumvent the restrictions - or a permanent ban will be your fate.

Ok. On to the issues.

- Regarding the first posted issue: "Keys being accepted after loading a slot":

The regression version for this appears to be 0.117u1 when there were major changes made to the input system.

- Second Issue: "Pause Game - Save State and game is no longer paused":

My testing narrowing it down, it appears, to 0.99u5. Significant changes to the save state system happened in that release.

- Third Issue: "Changing Save State keys to reverse order causes both F7 and Shift F7 to act as SAVE":

I can't find a regression as this seems to happen all the way back to the first Windows MAME I could test (0.37b15).
User avatar
No.03779
couriersud
Developer
Feb 22, 2009, 00:35
Second issue is a "feature by design". Mame can pause the game anytime, but only save it when certain conditions are met. Therefore if the game is paused, the game is restarted and a "Save state" request posted which is served when conditions are met.
User avatar
No.03825
aaron
Developer
Feb 26, 2009, 08:23
Issue #3 is also not an issue. You need to set up one to be F7 + SHIFT and the other to be F7 + NOT SHIFT. If you just set it to F7, then both are seen.