Commit Graph

4195 Commits

Author SHA1 Message Date
Jules Blok aa0e4472c0 Frame: Move exclusive mode switching to helper function. 2016-11-11 21:24:08 +01:00
Lioncash f207c01586 NetPlayLauncher: Add missing #pragma once 2016-11-11 14:58:20 -05:00
Jules Blok d8201a7e8b Frame: Remove exclusive mode OSD messages. 2016-11-11 20:36:11 +01:00
Jules Blok d7cf5e28b6 Frame: Use PauseAndLock when switching fullscreen modes.
This allows us to regain exclusive mode directly from OnActive().
2016-11-11 20:36:10 +01:00
Jules Blok 0028ee96b3 Host: Remove the Host_RequestFullscreen() method.
No longer needed, since the exclusive mode switch is now handled synchronously on the CPU thread.
2016-11-11 20:36:09 +01:00
Jules Blok c21efa0cad D3D: Move exclusive mode switching to UI thread.
This prevents deadlocks when switching to exclusive mode.
And it also allows the CPU thread to block until we've completed the switch.
2016-11-11 20:36:04 +01:00
Jules Blok f0ce3275af Merge pull request #4439 from Armada651/yield-ui
CPU: Fix deadlocks by periodically yielding to the UI message pump.
2016-11-11 20:30:31 +01:00
Lioncash cd9520f458 CodeWindow: In-class initialize variables where applicable 2016-11-11 13:31:36 -05:00
Lioncash 492b82042d CodeWindow: Remove unused parameter from constructor 2016-11-11 13:20:47 -05:00
Jules Blok 8203ea929b BlockingLoop: Yield to UI message pump while waiting. 2016-11-11 13:37:02 +01:00
Lioncash 2d9ef3412a GCAdapterConfigDiag: Mark OnUpdateAdapter parameter as unused. 2016-11-10 20:19:53 -05:00
Lioncash 1ae9027a6b GCAdapterConfigDiag: Rename UpdateAdapter to OnUpdateAdapter
Uses the general naming convention for event functions.
2016-11-10 20:18:59 -05:00
Lioncash c5c7ff9fd6 GCAdapterConfigDiag: Make functions private where applicable
These don't need to be in the public interface.
2016-11-10 20:12:02 -05:00
Jules Blok 03878a44e1 Merge pull request #4433 from Armada651/the-emu-that-runs-faster-than-its-race-condition
FrameTools: Avoid deadlock in UpdateGUI().
2016-11-10 16:50:13 +01:00
Lioncash 97bd77c928 Frame: Remove unused menu variable
This has been unused since the introduction of the MainMenuBar class
that abstracts away all of the wxMenuBar UI loading.
2016-11-10 07:33:52 -05:00
Lioncash be04215857 FrameTools: Clean up variable naming in UpdateLoadWiiMenuItem 2016-11-08 21:22:17 -05:00
Lioncash 2acf3570e0 PathConfigPane: Eliminate main frame global usage 2016-11-08 21:19:24 -05:00
Jules Blok de50fead5c FrameTools: Avoid deadlock in UpdateGUI(). 2016-11-09 01:45:30 +01:00
Sepalani 744b993dcd CodeWindow: Fix step out issues 2016-11-06 20:30:24 +00:00
Lioncash 5022c0dfb5 DolphinWX: Move common wxUpdateUIEvent functions to WxEventUtils 2016-11-06 09:02:59 -05:00
Lioncash c2d00d25fe DolphinWX: Make the main config dialog modeless 2016-11-06 08:04:54 -05:00
Lioncash bfa9cc2736 DolphinWX: Enable/disable config UI options based on core state 2016-11-05 11:14:37 -04:00
Lioncash 9543b9d20d CodeWindow: Rename GetMenuBar() to GetParentMenuBar() 2016-11-04 22:02:36 -04:00
Lioncash 07e3835a49 GeneralConfigPane: rename cpu_cores to m_cpu_cores 2016-11-04 21:57:46 -04:00
Lioncash 5d4c714662 CodeWindow: Hide GetMenuBar()
This eliminates public usage of the GetMenuBar() function in CodeWindow.
The benefit of this is it also gets rid of the need to perform direct
access across the config dialog and the main frame. It also gets rid of
the use of the main_frame global.

GetMenuBar() will be removed entirely from CodeWindow in a follow-up that
also removes any related remnants of code made obsolete with its removal.
2016-11-04 00:09:47 -04:00
Lioncash 5ae6c21c2e CodeWindow: Eliminate explicit menu item updating from CodeWindow
Gets rid of more menu-related code from CodeWindow and puts it back in
CFrame where it belongs.

This turns the previous menu update function within CodeWindow into one
that simply updates the debugger font for its managed controls. It also
improves how the font is actually updated. Previously, fonts would change,
however this wouldn't actually reflect onto the respective controls until
a refresh or update event occurred. Since codeview, callstack, symbols,
callers, and calls windows are all managed by a wxAuiManager instance,
calling Update() on it after the font has been set will reflect font
changes immediately.
2016-11-04 00:01:45 -04:00
JosJuice 25070d149e Merge pull request #4412 from JosJuice/more-debug-text
More debug text fixes
2016-11-02 17:58:59 +01:00
JosJuice 3c6742f66f More debug text fixes
Also a few small non-debug text changes.
2016-11-02 17:46:52 +01:00
Markus Wick 9ce1cdde98 Merge pull request #4414 from linkmauve/single-newline
Remove double newlines at the end of *_LOG messages
2016-11-02 12:20:46 +01:00
Emmanuel Gil Peyrot c9e6b05ce9 Core: Remove double newlines at the end of *_LOG messages. 2016-11-02 02:09:33 +00:00
JosJuice 479b909935 Merge pull request #4381 from JosJuice/small-debug-text
DolphinWX: Small debug text fixes
2016-10-31 13:13:51 +01:00
Markus Wick 2afa877119 Merge pull request #4376 from leoetlino/warning-fix
Warning fixes
2016-10-31 12:57:03 +01:00
Markus Wick 4f5d0cd450 Merge pull request #4391 from Pringo/wii-remote
Change "Wiimote" to "Wii Remote" in Interface
2016-10-31 12:49:16 +01:00
Markus Wick d5ca153c26 Merge pull request #4401 from JosJuice/rename-getuniqueid
DiscIO/SConfig: Rename GetUniqueID to GetGameID
2016-10-31 12:39:27 +01:00
JosJuice d80086adf5 Add debug i18n comments and revise existing i18n comments 2016-10-30 16:37:29 +01:00
JosJuice 1081497cad DiscIO/SConfig: Rename GetUniqueID to GetGameID
We call this "game ID" everywhere else, and it's not
actually completely unique.
2016-10-29 15:24:02 +02:00
Mat M 1eed48974d Merge pull request #4380 from lioncash/wx-toolbar
DolphinWX: Move toolbar creation to a wxToolBar subclass
2016-10-29 08:28:27 -04:00
Anthony 41563c55cd Merge pull request #4394 from aldelaro5/fix-focus-detection-linux
Fix window focus detection on Linux (rebase from #3843)
2016-10-29 00:35:18 -05:00
aldelaro5 63546b4f2e Fix unnecessary Center PC calls in the CodeWindow
This not only fixes a regression where toggling a breakpoint using the CodeWindow would cause a Center PC, but it also removes several redundant JumpToAddress(PC) calls.
2016-10-29 01:08:27 -04:00
aldelaro5 ee201455a8 Move UiHasFocus into DolphinApp
Using a wxEVT_ACTIVATE_APP event.
2016-10-28 20:03:35 -04:00
RenaKunisaki 2005b4430f Fix window focus detection on Linux
On Linux, the FindFocus method from wx simply doesn't work, it would on some environment report that dolphin has the focus while it doesn't have it.  This is why an alternative method has to be used which is to set a focus flag whenever the render frame gets activated.
2016-10-28 18:47:08 -04:00
Pringo 15a41a5d83 Change OSD Messages and PanicAlerts to Say "Wii Remote" Instead of "Wiimote" 2016-10-28 14:02:58 -07:00
JosJuice a319f8777d DolphinWX: Small debug text fixes 2016-10-28 12:18:32 +02:00
Lioncash 5e8ccb15ff DolphinWX: Move toolbar creation to a wxToolBar subclass 2016-10-27 21:56:08 -04:00
Pringo 4bd5674b85 Change "Wiimote" to "Wii Remote" in Interface
The usage of "Wii Remote" and "Wiimote" in the interface is inconsistent. "Wiimote" is also not a real word nor is it an official product name. Therefore I have changed instances of "Wiimote" in the UI to instead say "Wii Remote". I also made a couple of minor grammatical changes as well.

This is mostly a resubmission of #4338 but there are some minor other changes as well.
2016-10-25 19:49:41 -07:00
Léo Lam 68156a02ed Fix -Wunused-result warnings 2016-10-23 00:43:08 +02:00
Jules Blok 2536e37ec5 Merge pull request #4194 from Armada651/efb-source-format
PixelShaderGen: Add support for RGBA6 EFB format truncation.
2016-10-21 21:45:29 +00:00
JosJuice 2fc2baf376 Merge pull request #4369 from lioncash/config
DolphinWX: Minor include changes to config panes/dialogs
2016-10-21 22:04:09 +02:00
JosJuice a2644cd102 Merge pull request #4363 from lioncash/wx-menu
DolphinWX: Move main menu creation into a wxMenuBar subclass
2016-10-21 21:44:56 +02:00
Lioncash 855061682e GameCubeConfigPane: Add forward declaration for TEXIDevices 2016-10-20 10:42:32 -04:00
Lioncash 934b32acfb GeneralConfigPane: Add <vector> include
Ensures the class member is always resolved correctly.
2016-10-20 10:16:49 -04:00
Lioncash 2bd7f7f0d8 AdvancedConfigPane: Add necessary includes to header
time_t is defined in ctime, and u32 is defined in CommonTypes.
2016-10-20 10:14:26 -04:00
Lioncash 24cf46aa5a GCAdapterConfigDiag: Cull includes in header file
Prevents dragging in unnecessary headers into other including files.
2016-10-20 10:09:19 -04:00
Lioncash 42e1dafd6d Frame: Rename GetCmdForHotkey to GetMenuIDFromHotkey
This more accurately describes what it's actually doing. This can also be
a local function, since it's not needed anywhere else.
2016-10-20 09:54:39 -04:00
Lioncash f871b2177e DolphinWX: Move main menu creation into a wxMenuBar subclass
Keeps the actual GUI elements separate from the frame code.
2016-10-20 09:54:29 -04:00
shuffle2 ad956559d5 Merge pull request #4336 from ligfx/smarteraudioconfigpane
AudioConfigPane/AudioCommon: various GUI cleanups
2016-10-15 22:56:05 -07:00
shuffle2 e30d31aa66 Merge pull request #4334 from ligfx/fixcontrollerdialog
InputConfigDialog: use SelectObjectAsSource in UpdateBitmaps
2016-10-15 22:45:27 -07:00
shuffle2 1e9f052ea5 Merge pull request #4357 from ligfx/notresponsibleforhw
HW: Don't be responsible for g_controller_interface
2016-10-15 22:18:20 -07:00
shuffle2 ce5c8c28b2 Merge pull request #4302 from leoetlino/graceful-fixes
Minor fixes to graceful shutdown
2016-10-15 21:47:07 -07:00
Michael Maltese a082e9324f HW: Don't be responsible for g_controller_interface
Currently, `g_controller_interface` is initialized and shut down by each
of `GCKeyboard`, `GCPad`, `Wiimote`, and `HotkeyManager`.

This 1) is weird conceptually, because it necessitates passing a pointer
to the native window to each of those classes, which don't need it, and
2) can cause issues when controller backends are initialized or shutdown
multiple times in succession.
2016-10-15 16:37:39 -07:00
Léo Lam a0a246bf3e Only attempt a graceful shutdown when there's a STM hook
For Wii graceful shutdown to work, the emulated software has to open
the STM event hook and install a hook. Without this, there is no way
to inform them about the shutdown, so trying to do a graceful shutdown
and requiring the use of the shutdown fallback (exiting a second time
to force) is pointless.
2016-10-15 22:28:07 +02:00
Léo Lam 48ff76d495 DolphinWX: Update GUI properly after unpausing
If an unpause was forced by the graceful shutdown code, the UI was
previously not updated.
2016-10-15 21:58:55 +02:00
Léo Lam fa009ab6f6 DolphinWX: Exit after closing main window or on signal
Previously Dolphin would only exit if the main window is closed,
and Confirm on Stop is enabled.

This makes Dolphin's behaviour more consistent by always exiting
if the main window is closed or on shutdown signal.
2016-10-15 21:58:55 +02:00
degasus 1cc1876002 Revert "Merge pull request #4286 from shuffle2/Aestek-clean-osd"
This reverts commit 5c0fa4db4f, reversing
changes made to b8731eb818.
2016-10-15 12:44:37 +02:00
Lioncash 6a67b571cc DolphinWX: Move creation of debugger menu items into CFrame
Unifies the creation of all the menus into the main frame class.
Now it isn't spread out across the main frame and the code window.

This doesn't alter the placement of the handling functions, as this would
involve unrelated changes, since it would require modifying where
window-related variables are placed. This will be amended in a follow up
changeset.
2016-10-10 19:53:33 -04:00
Lioncash 6420a1c715 Frame: Separate menu creation into individual functions
Keeps related menu items together based on top level menu. This will be
more convenient in the future when debugger menu bar item handling is
moved to CFrame, as it won't be a huge amount of code in one function.

This also makes it easier to locate menu bar code whenever it needs to be
changed.
2016-10-10 16:45:31 -04:00
Jules Blok 23d9d91411 VideoConfigDiag: True color means 24-bit, not hw color. 2016-10-10 14:32:21 +02:00
Jules Blok e8cddae132 VideoConfig: Turn on ForceTrueColor by default. 2016-10-10 14:31:53 +02:00
Jules Blok 365e88e311 VideoConfig: Add an option to force RGB8 EFB format. 2016-10-10 14:31:53 +02:00
Michael Maltese c253076564 AudioConfigPane: clang-format 2016-10-09 19:34:11 -07:00
Michael Maltese 78655e5fed AudioConfigPane: gray-out extra text for disabled controls 2016-10-09 19:33:50 -07:00
Michael Maltese a0ebafe9a9 AudioConfigPane: move DPL2 decoding into 'Backend Settings' 2016-10-09 19:22:18 -07:00
Michael Maltese 45903b7b4d AudioCommon: SupportsDPL2Decoder, SupportsLatencyControl, SupportsVolumeChanges 2016-10-09 19:18:16 -07:00
Michael Maltese 4834a90e63 AudioConfigPane: dedupe code into ToggleBackendSpecificControls 2016-10-09 19:10:24 -07:00
Michael Maltese 6b2f6e3884 InputConfigDialog: use SelectObjectAsSource in UpdateBitmaps
Fixes issue [Configuring an Emulated Wiimote crashes the application on
OS X 10.12 Sierra][1]

[1]: https://bugs.dolphin-emu.org/issues/9832
2016-10-09 15:31:42 -07:00
shuffle2 c8cb1fa7d7 Merge pull request #4319 from leoetlino/sysconf
Don't read/store settings directly from/to SYSCONF (and fix config restore)
2016-10-09 02:34:52 -07:00
Helios747 7efb272629 [UI] Remove idle skipping from game properties 2016-10-08 18:16:15 -05:00
Markus Wick a86b2c15d8 Merge pull request #4322 from Helios747/I_hate_features
Remove Frameskip
2016-10-08 21:41:43 +02:00
anthony b427ead0cc Remove Frameskip 2016-10-08 11:49:51 -05:00
Léo Lam afd2f58e29 Don't read/store settings directly from/to SYSCONF
Instead of directly reading/storing settings from/to the SYSCONF, we
now store Wii settings to Dolphin's own configuration, and apply them
on boot. This prevents issues with settings not being saved, being
overridden and lost (if the user opens a dialog that writes to the
SYSCONF while a game is running).

This also fixes restoring settings from the config cache after a
graceful shutdown; for some reason, settings were only restored
after a normal shutdown.

Fixes issue 9825 and 9826
2016-10-08 14:37:55 +02:00
Markus Wick 0e5fc56bc9 Merge pull request #4316 from lioncash/debug
DebugInterface: Make GetRawMemoryString return a std::string
2016-10-08 10:48:45 +02:00
Markus Wick 1a2d71cb58 Merge pull request #4310 from lioncash/dsptable
DSPRegisterView: Minor changes
2016-10-08 10:40:14 +02:00
Léo Lam 39fd6dcd5b Fix missing includes
Aren't indirect includes great?
2016-10-07 23:46:41 +02:00
Lioncash ee71d70738 DebugInterface: Make GetRawMemoryString return a std::string 2016-10-07 10:26:26 -04:00
Markus Wick ff1d70d708 Merge pull request #4308 from aldelaro5/memcheck-gui-relabel
Label debugger memchecks as "Memory Breakpoints" in the GUI
2016-10-06 21:29:14 +02:00
Lioncash 2ba0d6eb77 DSPRegisterView: Get rid of magic numbers 2016-10-06 13:02:49 -04:00
Lioncash 5dedd0a85b DSPRegisterView: Make DSPRegisterView's constructor explicit 2016-10-06 12:36:32 -04:00
Lioncash 2781ae5af1 DSPRegisterView: Mark classes as final
These aren't intended to be extended upon.
2016-10-06 12:35:31 -04:00
Lioncash 66fd347d2e DSPRegisterView: Move private members below public API 2016-10-06 12:29:37 -04:00
Lioncash f935485158 DSPRegisterView: Get rid of explicit memsets 2016-10-06 12:29:32 -04:00
aldelaro5 549060c5b4 Label debugger memchecks as "Memory Breakpoints" in the GUI
This is done to remove confusions among potential debugger users and to also make it more accurately tell what this feature is actually doing.  Despite being true that it is using a memcheck (and it certianly checks that memory), the idea being to break on a memory access isn't really obvious especially considering that memchecks are also used in full MMU emulation to handle exceptions.  It also doesn't help that memchecks are now supported in every builds.

It also changes the corresponding log because this log would be wanted by the user which means it should be more obvious that it was caused by the "memory breakpoint".
2016-10-06 10:51:43 -04:00
Shawn Hoffman 7de9ff10a8 Restore saving logger settings to .ini 2016-10-04 02:02:07 -07:00
EmptyChaos 116348a877 WxDebugger: Move branch line indent 2016-10-04 19:28:01 +11:00
EmptyChaos 94aff7e47e WxDebugger: Fix variable width fonts in Code/Memory views 2016-10-04 19:17:47 +11:00
degasus 0c67297ea0 ConfigManager: Drop SkipIdle option.
This option is safe + deterministic, so let's always enable it.
2016-10-04 08:31:43 +02:00
shuffle2 5c0fa4db4f Merge pull request #4286 from shuffle2/Aestek-clean-osd
Clean OSD messages code
2016-10-03 20:09:35 -07:00
EmptyChaos c4f5ced37c WX: Replace SetIcon with SetIcons(wxIconBundle)
Setting a single icon at a single resolution doesn't scale well,
Windows requires a 16x16 icon for the window and a 32x32/48x48 for
the taskbar. Providing all icons produces less pixellated results at
HiDPI.
2016-10-04 13:47:22 +11:00
EmptyChaos 27d295ec7e WX: HiDPI: FrameAUI / Debugger
Changes:
  - MemoryWindow was cleaned up and gives more feedback on searches.

Some bugs were fixed as well:
  - A complex bug that allowed tearing off tabs and opening multiple
    copies of a debug panel which lead to segfaults
  - Another segfault related to right-click menus on code/memory views
    when those tools were floating in their own window.
2016-10-04 13:47:22 +11:00
EmptyChaos f39c301579 WX: HiDPI: NetPlay
Several refactors of GUI creation into separate functions where the
function was too large or intermixed different concerns making it hard
to modify.
2016-10-04 13:47:22 +11:00
EmptyChaos ef0d21299a WX: HiDPI: VideoConfigDiag
Resolved "TODO" for Texture Cache safety, added explanation message.
Resolved "TODO" for default description, no longer uses default text for sizing

Fixed a memory leak in PostProcessingConfigDiag where it was never freeing any
of the objects it allocated in its constructor.

Minor design change to PostProcessingConfigDiag to give padding around elements
consistent with the rest of Dolphin's user interface (5px).
2016-10-04 13:47:22 +11:00