[ オリジナルレポート ]

BugID: #02865

カテゴリ 重要度 ステータス 解決状況 登録日時 最終更新
ステート保存/再生認証済み未処理2009-01-24 21:492009-02-26 17:23
 
テスターUser_516担当者 ソース
バージョン0.129u2発生バージョン修正バージョン
修正コミットプルリク
フラグ
セット
セット詳細
 
概 要セーブステートと入力についての問題。
詳 細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
再現手順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.
追加情報 
 
添付ファイル