Description:
When using fixed order mode, striking the "mark game as completed" hotkey when playing the 2nd-to-last active game, that game will continue to play indefinitely as though it were the last active game. The log reports that the game has been marked completed, and further strikes of the hotkey cause repeated "game has been marked as completed" reports in the log, but it continues to play. For clarity, "2nd-to-last" here means that when all but two games have been marked as completed, regardless of where the games are in the playlist order, the next game to be marked as completed is "2nd-to-last".
Expected behavior is for the game to end when the hotkey is struck, and for the shuffler to switch to the last still-active game in the playlist.
Steps to reproduce the behavior:
Download and install a fresh copy of the shuffler.
Prepare the shuffler playlist by adding any number of games to the "games" subfolder.
Start the shuffler and set the order mode to "fixed order".
3a. All other settings appear to be irrelevant to the appearance of the bug.
Play each game for any period of time.
Begin marking games as completed using the selected hotkey.
Mark the 2nd-to-last game as complete and observe the log entry.
Environment:
OS: Windows 11
Bizhawk Version: 2.8
Additional context:
Bug does not occur with random game order.
When marking a game as complete, shuffler skips a game in the queue (if on game one, when marked as complete, shuffler will start game three). Unsure if related or separate bug.
Logs
Message.log:
[17:47:19] Platform: WIN
[17:47:19] Bizhawk version: 2.8
[17:47:19] GAME FOUND: Mega Man 2.nes
[17:47:19] GAME FOUND: Mega Man 3 Revamped.nes
[17:47:19] GAME FOUND: Mega Man 4.nes
[17:47:19] GAME FOUND: Mega Man 5.nes
[17:47:19] GAME FOUND: Mega Man 6.nes
[17:47:19] GAME FOUND: Mega Man.nes
[17:47:19] deleting savestates!
[17:51:24] Mega Man 2.nes marked complete
[17:51:35] Mega Man 4.nes marked complete
[17:52:00] Mega Man.nes marked complete
[17:52:10] Mega Man 5.nes marked complete
[17:52:18] Mega Man 3 Revamped.nes marked complete
[17:52:20] Mega Man 3 Revamped.nes marked complete
[17:52:20] Mega Man 3 Revamped.nes marked complete
[17:52:21] Mega Man 3 Revamped.nes marked complete
[17:52:23] Mega Man 3 Revamped.nes marked complete
[17:52:27] shuffler exiting
[17:52:27] saving state on exit
Config.lua:
config=
{
["completed_games"] = {[1] = "Mega Man 2.nes",[2] = "Mega Man 4.nes",[3] = "Mega Man.nes",[4] = "Mega Man 5.nes",[5] = "Mega Man 3 Revamped.nes",[6] = "Mega Man 3 Revamped.nes",[7] = "Mega Man 3 Revamped.nes",[8] = "Mega Man 3 Revamped.nes",[9] = "Mega Man 3 Revamped.nes",},
["total_swaps"] = 18,
["hk_complete"] = "Backslash",
["min_swap"] = 20,
["shuffle_index"] = 1,
["plugins"] = {},
["sound"] = true,
["nseed"] = 3987831,
["current_game"] = "Mega Man 3 Revamped.nes",
["max_swap"] = 20,
["frame_count"] = 18352,
["game_count"] = 6,
["seed"] = 20957061,
["game_swaps"] = {["Mega Man 6.nes"] = 3,["Mega Man.nes"] = 3,["Mega Man 5.nes"] = 3,["Mega Man 4.nes"] = 3,["Mega Man 3 Revamped.nes"] = 3,["Mega Man 2.nes"] = 3,},
["output_timers"] = true,
["game_frame_count"] = {["Mega Man 6.nes"] = 3600,["Mega Man.nes"] = 2665,["Mega Man 5.nes"] = 3021,["Mega Man 4.nes"] = 3066,["Mega Man 3 Revamped.nes"] = 3380,["Mega Man 2.nes"] = 2620,},
["auto_shuffle"] = true,
}
Description: When using fixed order mode, striking the "mark game as completed" hotkey when playing the 2nd-to-last active game, that game will continue to play indefinitely as though it were the last active game. The log reports that the game has been marked completed, and further strikes of the hotkey cause repeated "game has been marked as completed" reports in the log, but it continues to play. For clarity, "2nd-to-last" here means that when all but two games have been marked as completed, regardless of where the games are in the playlist order, the next game to be marked as completed is "2nd-to-last".
Expected behavior is for the game to end when the hotkey is struck, and for the shuffler to switch to the last still-active game in the playlist.
Steps to reproduce the behavior:
Environment:
Additional context:
Logs Message.log:
Config.lua: