Commit Graph

2648 Commits

Author SHA1 Message Date
archshift 67d67884a1 Allow toggling the toolbar in the menu 2014-08-08 14:36:20 -07:00
archshift 400a7bd612 Switch play/pause button icons when necessary 2014-08-08 13:47:04 -07:00
archshift 019d5aee49 Changed toolbar to be static, increasing UI integration 2014-08-08 03:43:13 -07:00
Jasper St. Pierre cd641bd0e3 DolphinWX: Allow building both GUI and NoGUI at the same time
Restructure our build system so we have multiple targets. Right now we
only build MainNoGUI if we are using X11, since that's the only truly
supported backend: the OS X code actually doesn't compile, according to
comments made on IRC.
2014-08-06 21:38:57 -04:00
Jasper St. Pierre 2b8a476a05 X11Utils: Don't depend on wx
We want to have two build targets: Main and MainNoGUI, and this code
will be linked against in both cases, so the ifdef isn't enough for
this case.

Just append to a vector of strings, and then convert it after the fact.
2014-08-06 21:38:47 -04:00
Tillmann Karras f927af20f2 Fix more warnings from #579 2014-08-07 03:24:42 +02:00
Jasper St. Pierre 354f223f77 X11Utils: Remove unneeded SendButtonEvent / SendKeyEvent utilities
This was used to send fake button or key events to every backend to
implement freelook. When I ported these to be based on wx events in
commit 5248211, I didn't realize that these were now unused, so I didn't
remove them. Do that now.
2014-08-06 15:07:25 -04:00
Lioncash 95f15ac313 Merge pull request #743 from RolandMunsil/fix-ar-code-warning
Fix "bad wxCheckListBox index" warning when trying to create AR Code
2014-08-05 23:46:39 -04:00
RolandMunsil b94069b5af Update ISOProperties.cpp 2014-08-05 20:45:18 -07:00
Rachel Bryk 71ce63f819 Don't spam PanicAlerts on wii save exports. 2014-08-05 23:34:03 -04:00
RolandMunsil b0fc4b6ac9 Fix "bad wxCheckListBox index" warning when trying to create AR Code
Fixes issue
[7060](https://code.google.com/p/dolphin-emu/issues/detail?id=7060)
2014-08-05 20:07:23 -07:00
Rachel Bryk 9bd28aa6d1 Give file count in decimal rather than hex when exporting all wii saves. 2014-08-05 22:43:34 -04:00
Lioncash 7e083f39be DolphinWX: Make the software renderer text translateable 2014-08-04 21:36:08 -04:00
Jules Blok 9818bd3edf CFrame: Render to a child on Linux and Mac OS X.
This is needed to fix the hotkeys on those platforms.
2014-08-04 13:22:41 +02:00
Lioncash 933a7c2fac Merge pull request #734 from lioncash/debug
DolphinWX: Ensure the code view string vector is always a size of two.
2014-08-04 03:18:14 -04:00
Lioncash c051ae3338 DolphinWX: Ensure the code view string vector is always a size of two.
This way if any entries are not populated, then an empty string will be used.
2014-08-04 03:15:29 -04:00
Lioncash fbd2e43ac3 Revert "Fix hotkeys in Linux and Mac OS X" 2014-08-04 01:56:08 -04:00
Pierre Bourdon 6befa34b60 Merge pull request #647 from lioncash/disasm
Common: Introduce the new Gekko disassembler to Common.
2014-08-03 21:52:08 -07:00
Lioncash 0718937237 Common: Introduce the new Gekko disassembler to Common.
This moves the Gekko disassembler to Common where it should be. Having it in the Bochs disassembly Externals is incorrect.

Unlike the PowerPC disassembler prior however, this one is updated to have an API that is more fitting for C++. e.g. Not needing to specify a string buffer and size. It does all of this under the hood.

This modifies all the DebuggingInterfaces as necessary to handle this.
2014-08-04 00:45:07 -04:00
Pierre Bourdon 497de04c52 Merge pull request #671 from lioncash/non-panic
DolphinWX: Use a regular wxMessageBox instead of a PanicAlert for non-panic errors.
2014-08-03 21:27:27 -07:00
Pierre Bourdon 4c42b38de1 Merge pull request #428 from Sonicadvance1/x86_32-removal
Remove x86_32 support from Dolphin.
2014-08-03 21:17:28 -07:00
Pierre Bourdon e15ec56bf0 Merge pull request #716 from delroth/vertex-loader
Make vertex loader testable
2014-08-03 21:14:59 -07:00
Lioncash 3aba909b25 Core: Get rid of Host_GetInstance() 2014-08-03 23:47:29 -04:00
Lioncash 1515262be9 Merge pull request #710 from Armada651/d3dfullscreen_fixes
CFrame: Only re-assign focus when "Render to main" is enabled.
2014-08-03 22:40:02 -04:00
Lioncash d8d99f919c Merge pull request #683 from Armada651/linux_hotkeys
Fix hotkeys in Linux and Mac OS X
2014-08-03 22:36:46 -04:00
Lioncash a66a7e1344 Isolate D3D and Software Renderer from wxWidgets code 2014-08-03 20:28:50 -04:00
Jules Blok b67ec4ea58 CFrame: Always exit fullscreen before showing the stop dialog. 2014-08-03 23:38:20 +02:00
Jules Blok 857c116210 CFrame: Add fullscreen window styles to enable exclusive mode in OpenGL.
This is not implemented within the backend, but relies purely on driver heuristics.
2014-08-03 23:36:54 +02:00
Ryan Houdek 21ee61d7fc Remove x86_32 from DolphinWX. 2014-08-03 13:44:37 -05:00
Jules Blok b6e7e0d57f CFrame: Only re-assign focus when "Render to main" is enabled.
It may cause fullscreen loops and since m_RenderFrame == m_RenderParent now it's not necessary to re-assign focus anymore.
2014-08-03 13:37:19 +02:00
Lioncash 44a157fc09 Core: Kill off an unused parameter for NetPlayServer::StartGame 2014-08-02 18:28:26 -04:00
Lioncash a89416306a DolphinWX: Remove an unused variable from ISOProperties
Was used for when we still had the toggle for projection hacks in the UI.
2014-08-02 15:23:31 -04:00
Lioncash 0ed29e1fac DolphinWX: Use a regular wxMessageBox instead of a PanicAlert for non-panic errors. 2014-08-02 13:49:51 -04:00
Pierre Bourdon 8b26d7bf1e UnitTests: make it possible to build tests for code that has global dependencies 2014-08-02 09:34:39 -07:00
Pierre Bourdon 226a9c2392 Move GLInterface around to remove VideoBackends dependency on DolphinWX 2014-08-02 09:34:39 -07:00
Jules Blok 6ab6d07948 FrameTools: Add a wxPanel as the child of the RenderFrame.
Needed for hotkeys to be captured on Linux.
2014-08-02 13:55:23 +02:00
Pierre Bourdon f6995d1eff Merge pull request #704 from lioncash/pjhack-removal
DolphinWX: Remove the Projection Hack UI
2014-07-31 20:20:02 -07:00
Lioncash cd37af8590 DolphinWX: Remove the Projection Hack UI 2014-07-30 19:32:41 -04:00
Pierre Bourdon 83838a645f Merge pull request #690 from Armada651/d3dfullscreen_fixes
Exclusive fullscreen fixes
2014-07-30 16:28:56 -07:00
Jules Blok 3b5625c76b VideoConfig: Ignore Borderless Fullscreen setting when the backend does not support exclusive fullscreen.
This was expected to be handled by VerifyValidity(), but that only verifies the validity of the INI files.
2014-07-30 12:15:58 +02:00
Jules Blok 5bbd34637b CFrame: Don't check the video config fullscreen setting.
Checking this flag could sometimes incorrectly have the UI assume fullscreen is already off when we're still exiting.
2014-07-30 12:15:32 +02:00
Jules Blok 4501aeefbe CFrame: Check borderless fullscreen setting before enabling exclusive fullscreen in the video config.
Fixes a bug where "Use Fullscreen" would initialize into exclusive fullscreen regardless of the borderless fullscreen setting.

Also relieves the need for the video renderer to check the borderless fullscreen setting each time.
2014-07-30 12:15:26 +02:00
Lioncash abc7845e0c Android: Remove an unused variable from MainAndroid.cpp 2014-07-29 21:05:57 -04:00
Jules Blok e07c06cb16 CFrame: Handle close events that can't be vetoed.
This can happen during shutdown.

As long as we don't call event.Skip() the CFrame won't be closed yet, so even if we can't veto the shutdown will still happen in the correct order.
2014-07-29 12:36:10 +02:00
Oussama Danba 313a743cee Update framelimit tooltip text because the Audio option has been removed. 2014-07-28 19:08:43 +02:00
Tony Wasserka 9c7d4b6408 Merge pull request #667 from RachelBryk/remove-audio-limit
Remove audio frame limit.
2014-07-28 14:38:35 +02:00
Lioncash 4fa71dd59e Remove fakepoll.h.
It was only used for Windows XP and lower.

This also bumps the _WIN32_WINNT define in the stdafx precompiled headers to set the minimum version as Windows Vista.
2014-07-26 22:53:40 -04:00
Jules Blok 1f24122d35 Frame: Only prevent exclusive fullscreen switches when the emulator is paused.
This fixes the "Use Fullscreen" setting in which case the switch is done while the emulator is uninitialized.
2014-07-27 00:08:27 +02:00
Pierre Bourdon 8e865f3848 Merge pull request #506 from Armada651/d3dfullscreen
D3D: Add exclusive fullscreen support.
2014-07-26 13:22:11 +02:00
Jules Blok 6724ce6275 Cosmetic changes based on feedback on PR #506. 2014-07-26 13:04:39 +02:00
Jules Blok eea7086b23 CFrame: Prevent fullscreen switches if the renderer is halted. 2014-07-26 12:45:19 +02:00
Jules Blok bd9953d97e Remove the 3D Vision hack.
The hack was needed because the Nvidia 3D Vision heuristics are documented to only support surfaces that are the same size as the backbuffer. This would be the case if you enabled the hack and selected the "Auto (Window Size)" internal resolution.

However, on recent drivers the same effect is achieved by selecting the "Auto (Multiple)" internal resolution. Therefore the hack is no longer required.
2014-07-26 12:45:10 +02:00
Rachel Bryk acaac51077 Remove audio frame limit.
It serves no purpose and causes bugs and confusion for users.
2014-07-25 12:17:10 -04:00
Tony Wasserka 5c4e5e9f8a Merge pull request #660 from lioncash/warning
DolphinWX: Fix a double truncation warning in InputConfigDiagBitmaps
2014-07-25 18:11:40 +02:00
Moshe Kaplan cd8b65bd8a Prevent potential buffer overflow in sscanf 2014-07-23 10:03:49 -04:00
Matthew Parlane 008b907bf0 Merge pull request #655 from lioncash/crashes
Fix two possible crashes related to the debugger.
2014-07-23 21:24:03 +12:00
Lioncash 8a7640f8b4 DolphinWX: Fix a double truncation warning in InputConfigDiagBitmaps 2014-07-22 06:58:32 -04:00
Jules Blok 0c81494c89 Frame: Make the fullscreen transitions more reliable. 2014-07-21 20:50:49 +02:00
Jules Blok 009b4dd376 Exit exclusive fullscreen when the stop confirmation is shown.
Also have the renderer remember its own fullscreen state. This is done to prevent a case where we exit exclusive fullscreen through the configuration and a focus shift at the same time. In this case the renderer would fail to detect that the fullscreen state was changed.
2014-07-21 20:50:48 +02:00
Jules Blok 36ea1890c8 Let the Renderer decide when to exit fullscreen.
This ensures the transition from/to exclusive mode happens while the RenderFrame is fullscreen.

This prevents fullscreen loops and relieves us of having to restore the window size after we exit fullscreen.
2014-07-21 17:11:13 +02:00
booto 0d2bef2743 GCPadStatus: coalescing magic numbers into consts 2014-07-21 19:56:05 +08:00
Jules Blok cd94ff1966 VideoConfig: Add "Borderless Fullscreen" option.
This option will disable exclusive fullscreen for users who prefer the old behaviour.
2014-07-20 22:02:57 +02:00
Lioncash 298425920a DolphinWX: Fix a possible crash when setting debugger memory values. 2014-07-19 19:59:44 -04:00
Lioncash fa2944898f DolphinWX: Move some public variables to be private in CodeView
It's not used outside of the class, and it also shouldn't be modified
outside of it either (considering it holds all the blr instructions inserted by the user).
2014-07-19 17:23:43 -04:00
Jules Blok 77bc879384 D3D: Add exclusive fullscreen support. 2014-07-19 21:14:44 +02:00
Jules Blok 8d76dca30d Frame: Make RendererHasFocus() compatible with the new window structure. 2014-07-19 21:14:38 +02:00
Jules Blok 66fec6d0bd Remove CPanel.
Let the RenderFrame handle those messages.
2014-07-19 21:13:15 +02:00
Dolphin Bot 5df45dfbba Merge pull request #650 from lioncash/scrolling
DolphinWX: Implement scrolling in the memory views
2014-07-19 19:31:41 +02:00
Jules Blok 1b70bebb5a Don't create a Panel for a seperate render window.
Instead of setting RenderParent to null and raising complexity RenderFrame can be its own parent.
2014-07-19 15:56:49 +02:00
Lioncash a00c7bdb9e DolphinWX: Implement scrolling in the memory views 2014-07-18 22:42:03 -04:00
Lioncash bc172f4883 DolphinWX: Enable certain Code View context options only when the core is running.
Prior to this, attempting to execute these contextual menu options would
crash the application.
2014-07-17 04:50:53 -04:00
Pierre Bourdon 8cf21cdcdb Merge pull request #633 from magcius/wip/input-focus-fix
Fix input focus issues
2014-07-17 01:21:31 +02:00
Jasper St. Pierre 44307c9508 Host: Add a new "UIHasFocus" hook to determine if the UI has focus
We can't use RendererHasFocus for this purpose because of some issues
with exclusive fullscreen, and the new RendererHasFocus implementation
didn't work for non-Render to Main Window cases, since the renderer
window wasn't managed by wx.
2014-07-16 10:27:21 -04:00
Jasper St. Pierre ee087f5953 Revert "Frame: Fix RendererHasFocus"
This reverts commit ff918df889.

This changed it from "RendererHasFocus" to "UIHasFocus", which is
wrong. Specifically, it broke for non-Render to Main Window cases where
the renderer window isn't managed by wx. It also broke the pending
exclusive fullscreen support, which checks this function to determine if
the renderer is on top so it can full-screen it.

We'll add a new hook, "UIHasFocus", in the next commit.
2014-07-16 10:26:06 -04:00
Lioncash 48ca800b13 DolphinWX: Mild readability clean up of CodeView.
- Gets rid of the underscore in some function names
- Appends the 'm_' prefix to class member variables.

Now it isn't a pain to see what is being modified in terms of state. Especially in the OnPaint call.
2014-07-15 23:01:17 -04:00
Lioncash 9c1b427687 DolphinWX: Implement scrolling in the code view and DSP disassembly view. 2014-07-15 21:35:11 -04:00
Lioncash ebd029973a Merge pull request #604 from magcius/wip/emu-cleanup-2
Start cleaning up the input interface
2014-07-15 12:11:17 -04:00
Scott Mansell d4cfddcf8d Revert "DolphinWX: Use non-deprecated flags for the monospace debugger font" 2014-07-14 21:37:27 +12:00
shuffle2 3ac4e9f171 Merge pull request #608 from lioncash/compat
DolphinWX: Remove the use of some wx 1.0 compatibility function calls.
2014-07-14 01:56:09 -07:00
Lioncash d931637d63 DolphinWX: Remove two c_str calls in ISOProperties.cpp. 2014-07-13 23:43:41 -04:00
Lioncash 5c57a1ef4b DolphinWX: Remove the use of some wx 1.0 compatibility functions.
Uses the recommended replacements.
2014-07-13 23:42:37 -04:00
Pierre Bourdon 5c701f6e82 Merge pull request #610 from lioncash/delete
DolphinWX: Remove the need for an explicit new/delete in ISOProperties
2014-07-14 01:55:11 +02:00
Jules Blok aa2495205e Shutdown the Core before other components.
Other components depend on the EmuThread being stopped.
2014-07-13 23:47:59 +02:00
Lioncash 5b649902dc DolphinWX: Remove the need for an explicit new/delete in ISOProperties
Just use a normal constructor call and call Destroy to close the window.
2014-07-13 15:06:03 -04:00
Pierre Bourdon 0563960dbc Merge pull request #603 from lioncash/debugger-font
DolphinWX: Use non-deprecated flags for the monospace debugger font
2014-07-13 06:21:02 +02:00
Pierre Bourdon 12fa5ba8b4 Merge pull request #607 from Tilka/fix_warnings
Fix warnings unearthed by #579
2014-07-13 06:20:45 +02:00
Tillmann Karras 0ccee6c87b Fix warnings unearthed by #579 2014-07-13 02:16:51 +02:00
Jules Blok 64801008a0 NoGUI: Add missing call to Core::Shutdown().
Fixes a crash when exiting the application.
2014-07-13 01:05:09 +02:00
Jasper St. Pierre ff918df889 Frame: Fix RendererHasFocus
The logic of RendererHasFocus was extremely convoluted beforehand and
was too brittle and broke in certain circumstances, like when the
GCPad window was active. Simplify it and leave a comment explaining the
new logic. This fixes the GCPad window not working when Background Input
is unchecked.
2014-07-12 07:29:49 -04:00
Lioncash 26f3867e20 DolphinWX: Allow short-hand searching in the code window
Lessens the restrictions on the searching in the code view.
Now typing out the full 8 digit hex number isn't needed. For example, you don't need to type 000000FF to go to FF, you just literally type FF.

Also makes JumpToAddress a boolean function to remain consistent with the DSP code view.

This will also change the address search box to have a red background if
either an invalid hex number is given, or if it's longer than 8 characters
2014-07-11 18:32:32 -04:00
Jasper St. Pierre 0d49bf65a7 ControllerEmu: Virtualize settings
This will allow us to move Background Input to a global setting rather
than a local setting.
2014-07-11 13:32:58 -04:00
Jasper St. Pierre a6dc3c47a9 ControllerEmu: Change the GetState interface to remove range/base
Do the scaling in the code that interprets the results.

This also removes the templatization of things and changes the interface
to always take a double.

This does add a bit more code to the users of GetState, especially when
having to deal with focus management, but this will be cleaned up very
soon, as focus and focus-related options will be centralized inside the
input platforms themselves, rather than spread out across all the input
plugins.
2014-07-11 13:32:57 -04:00
Jasper St. Pierre 07c4925059 InputConfigDiagBitmaps: Clean up the FORCE drawing code as well 2014-07-11 13:32:57 -04:00
Jasper St. Pierre 4d2a39090b InputConfigDiagBitmaps: Rewrite the stick visualization code
Change our DrawCoordinate helper method to take raw coordinate
positions, and draw the rectangle using that. This is a lot better
and more friendly than applying various crazy constants in the GetState
for the base/range.
2014-07-11 13:32:57 -04:00
Jasper St. Pierre 8abff435e6 InputConfigDiagBitmaps: Clean up code a bit more
Split out some math into a utility.
2014-07-11 13:32:57 -04:00
Jasper St. Pierre 3c411c33e8 InputConfigDiagBitmaps: Start a cleanup by splitting code out
This doesn't have any functional changes, it just removes part of the
mess by killing indentation.
2014-07-11 13:32:57 -04:00
Jasper St. Pierre e20a0265de Remove UDPWiimote feature
It substantially complicates the code and doesn't really provide any
functionality. According to the forums, the Android app is out of date
and has been broken for quite a while.

If we want to add this back, I'd write an app that speaks a more native
Wiimote protocol, and we can hook that up to the backend quite easily.
It could even be over our NetPlay protocol!
2014-07-11 13:32:56 -04:00
Lioncash 6885bac05f DolphinWX: Use non-deprecated flags for the monospace debugger font 2014-07-11 13:11:11 -04:00
degasus 7e79806efc remove unused globals
Also change globals into statics which are only used in one file
2014-07-11 16:10:20 +02:00
degasus 81ed17be53 avoid the extern keyword in .cpp files 2014-07-11 16:10:20 +02:00