Opening the game menu would display the "resume" option, making it impossible to pause (and keep the emulator paused after the menu is closed) by using the menu
This doesn't appear to be needed anymore (WindowStartupLocation = CenterScreen seems to work on Linux), and it looks like in some scenarios this could cause the setup window to appear in the wrong location on Windows
When the user turned on fullscreen mode without VRR enabled, then enabled the VRR option, and then turned off fullscreen mode, it would cause the screen to be black until the application is closed.
Also fixes presets/clear buttons for NTT, Pachinko & Hypershot, and improves layout for all controller config popups (buttons/borders are aligned, etc.)
* Video: Add support for VRR when in borderless fullscreen mode (Windows only) and improve frame pacing
* Fixed debug stats not disappearing when unchecking option in some scenarios
* Changed frame pacing graph scale/logic to show the gap between the ideal pacing and the current pacing (within +/- 2ms)
* UI: Update Avalonia to 11.3.14.
- AvaloniaEdit is updated to 11.4.1.
- Avalonia.ReactiveUI is held back at 11.3.8, as later updates require
separate adaptation work.
- Dock is updated to 11.3.12.1.
* Revert Dock upgrade (currently causes a large number of binding warnings which make the debugger take 3-4 seconds to display the content of the dock control after the window is opened when VS is attached to the process)
---------
Co-authored-by: Sour <[email protected]>
* GB: Link cable support with two local consoles
* GB: Fix crash when color blending is enabled
* GB: Fix formatting
* GB: Link UI fixes, control fixes, audio fixes
Copied from Sour's branch. Also a separate change to use separate savefiles.
* GB: Try to avoid crashes from buffer overflows
* GB: Separate savefiles with linked multiplayer
* GB: Add support for faster link speed
* GB: Move enum to correct file
* GB: Refactor, move serial transfer to function
* -Fixed secondary console sometimes running far ahead of the main console when frame counters did not match (e.g because one console had their LCD disabled longer, etc.) This would cause buffer overflows in the audio buffer.
-Fixed screen tearing when both consoles are not perfectly in sync (because of the LCD being disabled for a different amount of time, etc.)
-Fixed main console not calling PlayQueuedAudio properly mid-frame
-Reuse VS Dualsystem code to merge audio/video when possible/simple and moved that to AvMergeUtilities
Some visual glitches can appear on the secondary screen (for GB) while rewinding, but this can't really be fixed.
* Fixed warning (unused local variable)
* Prevent loading single-console save states when in dual-console modes
* Disable debugger for VS DualSystem's subconsole. Fixes issues when debugging VS DualSystem games
* Code cleanup
* Rework solution to disable debugger on second console to improve performance
Added InternalRunFrame for nes & gb to avoid checking for the presence of the second console after each cpu instruction
* Don't enable the linked GB option by default
* Removed unused function
* Netplay: Force game to reload after updating emulation settings when connecting to the server (or when the host changes game)
This ensures that e.g the GB link cable setting is applied and that the game loads correctly, regardless of the client's link cable settings (otherwise the game could load without the link mode enabled, etc.)
---------
Co-authored-by: Sour <[email protected]>
* Code: Add auto-formatting rules for C++ projects (clang-format) and enforce code style via "clang-format" and "dotnet format"
* fix ui format warnings
Otherwise, when pushing a new update via the auto-update, all users will be shown the configuration wizard and "lose" their settings, save data, save states, etc. because the new version will create a new MesenCE folder.
This instead allows the application to continue using the Mesen2 folder as-is. If a new installation is done, it'll go inside the MesenCE folder.
This updates the Mesen naming in title bars, the About window, and the default data folder name. It also changes copyright information to note the new contributors, changes the website to MesenCE's GitHub page, and updates the build link.
I'm not convinced I found everything, so a thorough review would be appreciated.
This works normally on the JIT builds, but appears to not work at all for AOT builds. Using the Console.CancelKeyPress event makes Ctrl+C behave similarly in AOT and JIT builds
This seems to fix deadlocks (join on VideoRenderer thread never finished) in some scenarios when closing the emulator using the "Exit" shortcut (only seen on Linux)
The screen's height should be reduced to fit the window, instead. Caused by changes done recently to fix some rounding errors with screen/window sizing