Modify the buttons and editor interface for the new expression
language, like the new op name for add, the new device name syntax,
and add new editing features, like simple selection behavior on
unary ops.
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)
* VBeam-fix:
Renamed the VBeam variable for clarity.
Fixed VBeam emulation in interlaced mode, removing the hacks in the audio timing. Fixed VBeam emulation in progressive scan mode. Retained the old VBeam speed hack. This option has now been switched so that the accurate behaviour is on by default and the speed hack (inaccurate behaviour) is enabled when the option is checked.
Also, some tab/space mismatches removed from VideoOGL, and some places I missed in VideoDX[number] projects.
Now, the Core is literally the only project with tab/space mismatches (on a large scale).
Fixed VBeam emulation in progressive scan mode.
Retained the old VBeam speed hack. This option has now been switched so that the accurate behaviour is on by default and the speed hack (inaccurate behaviour) is enabled when the option is checked.
Also fix up the dangling else's. Shit just looks incredibly ugly in terms of actual structure in the code.
I took the liberty of adding comments in FifoPlayerDlg.cpp, LogConfigWindow.cpp, LogWindow.cpp, and FrameAui.cpp to better explain some things.
If any comments are wrong, don't hesitate to complain.
GC and Wii games using the AX UCode should now work almost perfectly with DSP
HLE. If you get any issue, make sure the "DSP on dedicated thread" option is
disabled, and try setting framelimit to "Audio".
As a side effect, DSP HLE should not desync anymore (making it usable in
netplay and TAS) with AX games.
Conflicts:
Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AX.h
Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AXWii.cpp
This commit mainly elaborates on some messages a little more. Also fixes some typos that slipped through the last commit.
A large change in text can be seen in EXI_DeviceMemoryCard.cpp. I added more info as to why a write to a memory card may fail. (This actually was a reason I was unable to write to a memcard recently).
Elaborations can be seen in WGL.cpp
I did change some comments in some files that I was correcting logging messages in, however this is only if I spot a typo or if an abbreviation is lower-cased. Even in that case, the amount of changes done to comments is very minimal.
Merge an endless story. The branch name is a lie, it was started as glsl, but now it is a complete reworked opengl3 backend.
It just began with simple changes which aren't supported on osx.
They either support ogl2 OR ogl3 core, but mixing isn't allowed.
As the branch name says, the vicious circle starts with GLSL, but just implementing one wasn't possible either:
- OSX supports only GLSL100 which doesn't support our shaders.
- Vertex Array Objects are needed for ogl3, but not supported on ogl2
- immediate mode isn't supported any more, so we must implement vertex buffers
- uniform buffers are recommended as else we would need tons glUniform
- postprocessing shaders have to be converted to glsl
- lots of smaller outdated issues and bug fixes :-)
Thanks at all for testing and at Sonic for converting all of our shaders to glsl130
And sorry for all upcoming bugs...