The Cheats manager should be updated when the ISO is changed because it's non-modal
Removing code that read the ID from file because the cheats manager only has a use when an emulation is running (when the ID doesn't need to be read from the ISO again because it's in a variable). This fixes loading Gecko codes for .wad during an emulation because "VolumeHandler::GetVolume()" return false in this case
Before this commit, nothing would would be displayed in the "Frames to Record" text control.
This fixes that by setting it to what m_FramesToRecord is initially set to, which is 1 (at the time of this commit).
Example (in step by step explanation):
1. Run Dolphin.
2. Go to Tools -> Fifo Player
3. Go to the Record tab and hit record and then stop without a game loaded.
The button is now disabled and will not become active again for the whole time that Dolphin is running. Dolphin must be closed and then re-opened in order to use it again. This fixes that.
I've tested it with multiple conditions to make sure this doesn't beef anything else related to the Fifo Player.
ie)
- Record then Stop without a game loaded (multiple times)
- Record then Stop with a game loaded (multiple times, as well as testing playback. All of which work fine).
Select the dance mat via Configure > Gamecube > Port 1 > Dance Mat
The dance mat is mapped to the GC Pad:
D-Pad Up = Blue Arrow Up
D-Pad Down = Blue Arrow Down
D-Pad Left = Blue Arrow Left
D-Pad Right = Blue Square
Y Button = Orange Arrow Up
A Button = Orange Arrow Down
X Button = Orange Arrow Right
B Button = Oranage Square
Load by timestamp: load last state is expanded from 1 to 8 actions, for newest to oldest state
Save by timestamp: overwrite the oldest state (or use an empty slot if available)
Adding remaining hardcoded state keys to hotkey dialog
Adding a program exit hotkey
The "Download Codes (WiiRD Database)" button is enabled (and its click return silently without an effect) when "Tools → Cheats Manager" is opened when there's a running emulation for which there's no "[Gecko]" ini section, confusing the user about the reason for not downloading codes or showing an error when there's no running emulation
Solution
when there's a running emulation: fix the button
when there's no running emulation: disable the button (to indicate to the user that this button must be clicked elsewhere, in the ISO settings dialog, the user will realise or remember)
Block braces on new lines.
Also killed off trailing whitespace and dangling elses.
Spaced some things out to make them more readable (only in places where it looked like a bit of a clusterfuck).