Commit Graph

24230 Commits

Author SHA1 Message Date
Lioncash 0a3631cc76
FloatUtils: Remove IntDouble and IntFloat
Type punning via unions in C++ invokes undefined behavior. Instead, leverage BitCast,
our variant of C++2a's std::bit_cast
2018-05-10 12:28:09 -04:00
Lioncash bde4e970f1
FloatUtils: Clean up memcpy usages
Now that we have BitCast, we can use that instead.
2018-05-10 12:28:09 -04:00
Lioncash b3292298c9
BitUtils: Add C++14/C++17 compatible equivalent of std::bit_cast from C++2a
Given bit conversions between types are quite common in emulation
(particularly when it comes to floating-point among other things) it
makes sense to provide a utility function that keeps all the boilerplate
contained; especially considering it makes it harder to accidentally
misuse std::memcpy (such as accidentally transposing arguments, etc).

Another benefit of this function is that it doesn't require separating
declarations from assignments, allowing variables to be declared const.
This makes the scenario of of uninitialized variables being used less
likely to occur.
2018-05-10 12:28:05 -04:00
spycrab 6e9d0ff6de
Merge pull request #6802 from Neui/qt-remember-main-window-position-and-size
Qt: Save and restore main window size and position
2018-05-10 18:26:38 +02:00
Neui f6d5896bc7 Qt: Save and restore main window size and position 2018-05-10 18:19:17 +02:00
Léo Lam 28915049b5
Merge pull request #6797 from leoetlino/uid
Move all UID constants to a single file
2018-05-10 18:16:04 +02:00
Stenzek 3493d738ca D3D/Vulkan: Fix incorrect clamp in EFB RAM copy
This could cause darker-than-expected EFB copies if clamping was not
enabled, and the user forced EFB copies to RAM only.
2018-05-11 00:32:39 +10:00
spycrab 273579bc32 Qt/Win32: Fix font weight calculation 2018-05-10 14:01:55 +02:00
spycrab fd1ea63383
Merge pull request #6788 from spycrab/qt_gconf_fixes
Qt/GraphicsWindow: Fix multiple issues
2018-05-10 12:16:19 +02:00
spycrab be007b436c Qt/GraphicsWindow: Fix software renderer breaking layout 2018-05-10 12:08:23 +02:00
spycrab 074a17482b Qt/GraphicsWindow: Refresh settings on construction 2018-05-10 12:08:23 +02:00
spycrab 6a34f2b47c Qt/GeneralWidget: Fix "No" response to backend switch confirmation 2018-05-10 12:08:23 +02:00
spycrab b7b6b5162c Qt/GeneralWidget: Refresh backend settings properly 2018-05-10 12:08:23 +02:00
spycrab e380df2e59 Qt/MainWindow: Call Config::Save last before destruction 2018-05-10 12:05:58 +02:00
spycrab 18c7d295c9 Qt/FilesystemWidget: Fix moc compilation 2018-05-09 22:35:27 +02:00
Léo Lam e56387970a Move all UID constants to a single file
Keeps them all next to each other and deduplicates a few constants,
notably the PPC UIDs. Apparently I forgot that I already added them
for SetupStreamKey.
2018-05-09 21:08:24 +02:00
Léo Lam 169e1d3368
Merge pull request #6795 from lioncash/atomic
Atomic_Win32: Replace deprecated (and since been removed) barrier intrinsics
2018-05-09 19:46:00 +02:00
Léo Lam 91f59aa7e1
Merge pull request #6794 from lioncash/float
FloatUtils: Minor cleanup
2018-05-09 19:36:33 +02:00
Léo Lam 274f418f4b
Merge pull request #6789 from leoetlino/rename-bug
IOS/FS: Fix rename not handling existing target correctly
2018-05-09 19:07:39 +02:00
Léo Lam 1016674242
Merge pull request #6791 from aldelaro5/wii-epoch-fix
Wii: Fix the Wii epoch and make the IPL.CB 0 by default
2018-05-09 19:06:25 +02:00
Lioncash e020f5b04b RenderBase: Remove unused PixelPerfQuery enum
Neither the values or the identifier name of the enum is used anywhere
in the codebase.
2018-05-09 12:11:29 -04:00
Lioncash 593bad3253 Atomic_Win32: Replace deprecated (and since been removed) barrier intrinsics
As of VS 15.7, these seem to have been removed. Given we shouldn't have
been using these for some time, just replace them with the standard
library equivalent.

This fixes building on Windows with VS 15.7
2018-05-09 11:35:35 -04:00
Lioncash f29e7fea2a FloatUtils: Remove union type punning from ClassifyX functions
Type-punning via unions is undefined behavior in C++

Also take the liberty of cleaning these up a little bit by removing
unnecessary else usages.
2018-05-09 10:25:23 -04:00
Lioncash fe218ea3f6 FloatUtils: Remove union type punning from ApproximateReciprocal functions
This form of type punning invokes undefined behavior in C++
2018-05-09 10:05:29 -04:00
Lioncash 46a4243d9a FloatUtils: Remove using namespace std in ApproximateReciprocal()
This was made quite a long time ago when we supported 32-bit ARM targets
2018-05-09 09:36:23 -04:00
spycrab 5cd02f0853
Merge pull request #6793 from spycrab/qt_hotkeys
Qt: Implement missing hotkeys
2018-05-09 13:28:53 +02:00
aldelaro5 224a9426db
Fix the Wii epoch and make the IPL.CB 0 by default
It was off by about 8 years because it was actually the same as the GC epoch, however, the reason it worked all this time was because the default RTC counter bias of the Wii was not 0, but a value that is about 8 years in seconds.  This broke custom RTC as a custom RTC of the gc epoch was underflowing b ecause the wii epoch was thought to be much later.
2018-05-09 02:45:56 -04:00
spycrab ce32447726 Qt: Implement missing hotkeys 2018-05-09 08:27:04 +02:00
Starsam80 ebf6149ad4
Qt: Use `addLayout` instead of `addItem` when adding layouts 2018-05-08 17:54:47 -06:00
Léo Lam 7feabcd096 IOS/FS: Fix rename not handling existing target correctly
The existing backend did not handle cases where the target exists
correctly.

This is a bug that has been around forever but was only recently
exposed when ES started to use our FS code.

Also adds some unit tests to make sure this won't get broken again.
2018-05-08 23:55:13 +02:00
Léo Lam 10d230a512
Merge pull request #6784 from leoetlino/file-creation
IOS: Make file creation + open more concise
2018-05-08 23:27:35 +02:00
spycrab 2852959811 Qt: Restore render widget size and position 2018-05-08 16:03:13 +02:00
Léo Lam a9987588eb
Merge pull request #6768 from spycrab/qt_stylesheet
Qt: Allow custom stylesheets
2018-05-08 15:20:19 +02:00
Stenzek fd5aaa096c RenderBase: Ensure the draw size does not exceed the window size
This was happening when crop was enabled, causing blank outputs for some
Vulkan drivers (namely radv), as the draw rectangle is used as the
viewport.
2018-05-08 23:19:38 +10:00
spycrab 0170052f5d Qt: Allow custom stylesheets 2018-05-08 15:07:50 +02:00
Léo Lam f0e6fcfb07
Merge pull request #6785 from JosJuice/stringutil-order
StringUtil.h: Move ThousandSeparate down
2018-05-08 14:31:57 +02:00
JosJuice 965c423f1c StringUtil.h: Move ThousandSeparate down
It calls UTF16ToUTF8 on Windows, so it should come after UTF16ToUTF8.
2018-05-08 13:55:07 +02:00
Léo Lam 71afe6b4a6 IOS: Make file creation + open more concise
Creating a file then opening it in read write mode is a pretty common
operation. This commit adds a helper function that makes it easier
to read and clearer.
2018-05-08 13:07:30 +02:00
Léo Lam 90f869e940
Merge pull request #6772 from leoetlino/fs-es
IOS/ES: Migrate to new filesystem interface
2018-05-08 11:55:52 +02:00
Léo Lam f97711ac02
Merge pull request #6777 from lioncash/header
Common: Move floating-point utility functions to FloatUtils.h/.cpp
2018-05-08 11:55:25 +02:00
booto 823fdda30c intrinsics: stop defining _xgetbv/_XCR_XFEATURE_ENABLED_MASK, which are reserved 2018-05-08 17:25:33 +08:00
Anthony 1ec3a4db6c
Merge pull request #6763 from spycrab/qt_fix_prog
Qt/AdvancedWidget: Fix "Enable Progressive Scan"
2018-05-07 09:59:32 -07:00
Anthony 46236920ef
Merge pull request #6767 from spycrab/qt_whatsthis2
Qt: Make dialogues more consistent
2018-05-07 09:58:15 -07:00
Anthony 8212b6e9cf
Merge pull request #6769 from spycrab/qt_fix_netplay
Qt/NetPlay: Fix crashes on start
2018-05-07 09:57:02 -07:00
Anthony ecd9b94415
Merge pull request #6779 from spycrab/qt_trans_fix
Qt/WrapInScrollArea: Only use transparency on Windows
2018-05-07 09:56:47 -07:00
Anthony e62c26c34b
Merge pull request #6781 from spycrab/qt_rtm_addendum
Qt/GeneralWidget: Various fixes
2018-05-07 09:53:20 -07:00
spycrab 8f9bc2f3e4 Qt: Implement custom fullscreen resolution support 2018-05-07 18:38:59 +02:00
spycrab a2448c5b66 Qt/GeneralWidget: Various fixes 2018-05-07 17:50:03 +02:00
Markus Wick 6f0ad84a5e
Merge pull request #6764 from spycrab/qt_fix_rtm
Qt: Fix "Render To Main"
2018-05-07 17:33:56 +02:00
spycrab fc069f709e Qt/WrapInScrollArea: Only use transparency on Windows 2018-05-07 17:23:03 +02:00
Stenzek 501b35bbf2 OGL: Fix broken format changes in i965 driver 2018-05-08 00:11:27 +10:00
Markus Wick e31c571f51
Merge pull request #6646 from spycrab/fbm_strings
OGL/FramebufferManager: Clean up inline GLSL code
2018-05-07 08:58:56 +02:00
Lioncash 86018b503b Common: Move floating-point utility functions to FloatUtils.h/.cpp
Keeps all of the floating-point utility functions in their own file to
keep them all together. This also provides a place for other
general-purpose floating-point functions to be added in the future,
which will be necessary when improving the flag-setting within the
interpreter.
2018-05-07 02:56:32 -04:00
Markus Wick 756ef54ab6
Merge pull request #6770 from lioncash/ile
PowerPC: Fix copying of the MSR.ILE bit to MSR.LE
2018-05-07 08:52:05 +02:00
Markus Wick b007210761
Merge pull request #6774 from lioncash/enum
Interpreter_FPUtils: Make FPCC enum an enum class
2018-05-07 08:48:22 +02:00
Markus Wick 6ec1e742ae
Merge pull request #6773 from lioncash/fpscr
PowerPC: Make the PowerPCState's fpscr member variable a UReg_FPSCR instance
2018-05-07 08:47:14 +02:00
Anthony fcc5095d8c
Merge pull request #6776 from lioncash/type
x64Emitter: Use an enum class to represent FixupBranch branch types
2018-05-06 19:09:54 -07:00
Anthony d131e4d2bc
Merge pull request #6775 from lioncash/flags
Interpreter_FPUtils: Properly update the FPSCR's FEX bit in UpdateFPSCR()
2018-05-06 19:07:13 -07:00
Lioncash 82b1518342 x64Emitter: Use an enum class to represent FixupBranch branch types
Gets rid of the use of magic values and replaces them with strongly
typed symbolic names.
2018-05-06 22:05:03 -04:00
Lioncash 64d1865448 Interpreter_FPUtils: Properly update the FPSCR's FEX bit in UpdateFPSCR()
FPSCR.FEX is supposed to be a logical OR of all floating-point exception
bits masked by their respective enable bits.

Currently UpdateFPSCR() isn't called by anything in the interpreter
except for mcrfs and mffs, so this doesn't alter existing behavior that much.
However, this will be necessary in future PRs when making the interpreter more
accurate in how it sets flags.
2018-05-06 21:40:00 -04:00
Lioncash d5de49f9aa Interpreter_FPUtils: Make FPCC enum an enum class
Avoids dumping two letter identifiers into global scope
2018-05-06 19:32:09 -04:00
Lioncash 69a0aaebd4 Gekko: Make UReg_FPSCR's single argument constructor explicit
Prevent implicit conversions to UReg_FPSCR. Given the semantics of a
random magic value and the FPSCR are different, make explicit
conversions a requirement to signify intent.
2018-05-06 18:46:57 -04:00
Lioncash cb5926c1ca PowerPC: Make the PowerPCState's fpscr member variable a UReg_FPSCR instance
Gets rid of the need to cast the actual member to access information without bit shifts and masking.
2018-05-06 18:46:52 -04:00
Léo Lam 606d25213b ES: Create system directories with correct metadata 2018-05-06 23:19:34 +02:00
Léo Lam f47f916afb ES: Use new filesystem interface in main code 2018-05-06 23:19:34 +02:00
Léo Lam 923b450268 ES: Use new filesystem interface in TitleManagement 2018-05-06 23:19:34 +02:00
Léo Lam 9ee2654be6 ES: Use new filesystem interface in NandUtils 2018-05-06 23:16:35 +02:00
Léo Lam 359a5dcb54 ES: Use new filesystem interface for content handling 2018-05-06 23:16:35 +02:00
Léo Lam 3dafc66c36 ESFormats: Migrate to new filesystem interface 2018-05-06 23:16:35 +02:00
Léo Lam 5dbf6cd0c9 IOS/FS: Make ConvertResult usable from ES
ES makes extensive use of FS and most of the time returns its error
codes directly.
2018-05-06 22:08:31 +02:00
Léo Lam 7dcab20bfa Qt: Disable 'uninstall' action if title is not installed 2018-05-06 21:01:44 +02:00
Lioncash 707615ef82 PowerPC: Fix copying of the MSR.ILE bit to MSR.LE
The MSR.LE bit is supposed to be set to the value of MSR.ILE upon
entering an exception vector to control whether the environment in said
vector operates as little endian or big endian. If this bit is ORed into
the LE bit, then the scenario of operating in little endian but wanting
to take exceptions in big endian will be incorrectly handled.
2018-05-06 14:24:58 -04:00
spycrab e184dc55b2 Qt/NetPlay: Fix crashes on start 2018-05-06 19:00:17 +02:00
spycrab 7cd30810a3 Qt: Make dialogues more consistent 2018-05-06 18:05:56 +02:00
Léo Lam c3d88a622d
Merge pull request #6766 from leoetlino/ncd
IOS/NCD: Migrate to new filesystem interface
2018-05-06 17:10:19 +02:00
Léo Lam 26be225c92
Merge pull request #6761 from spycrab/qt_win_font
Qt/Win32: Use better method to obtain the default font
2018-05-06 16:15:11 +02:00
Léo Lam fb1d075330 IOS/NCD: Migrate to new filesystem interface
A followup for the migration work started in 8317a66
2018-05-06 14:26:51 +02:00
Léo Lam 89713c5889 IOS/FS: Add CreateFullPath helper
Analogous to File::CreateFullPath, but for the Wii filesystem so this
ensures that directories and files receive proper attributes.

(This function is technically not part of the FS sysmodule but it's in
an internal FS library that is reused in several IOS sysmodules.)
2018-05-06 14:22:44 +02:00
Léo Lam 8e3cad948c
Merge pull request #6758 from leoetlino/fs-wiiutils
WiiUtils: Migrate to new filesystem interface
2018-05-06 14:04:30 +02:00
Léo Lam 76b031184c
Merge pull request #6341 from sepalani/debug-watches
DebugInterface: Watches methods added
2018-05-06 13:25:26 +02:00
Léo Lam 7a9e1a240e
Merge pull request #6757 from JosJuice/qt-filesystem-extraction
DolphinQt2: Fix disc extraction inconsistencies with DolphinWX
2018-05-06 13:24:06 +02:00
Léo Lam 32235f974d
Merge pull request #6612 from leoetlino/movie-array
Movie: Replace some C style arrays with std::array
2018-05-06 13:23:45 +02:00
Léo Lam 34899e8e71
Merge pull request #6759 from spycrab/updater_warn_launch
Updater: Show error when trying to launch directly
2018-05-06 13:11:50 +02:00
Léo Lam 3f087e2ed5
Merge pull request #6760 from lioncash/msr
PowerPC: Make the PowerPCState's msr member variable a UReg_MSR instance
2018-05-06 12:02:39 +02:00
Léo Lam 27f6274fc5
Merge pull request #6762 from lioncash/condition
DolphinQt/MemoryWidget: Fix dead condition in FindValue()
2018-05-06 12:01:24 +02:00
Stenzek f81d9c3813
Merge pull request #6755 from stenzek/opengl-clamp
OGL: Fix incorrect clamping in EFB copies
2018-05-06 18:54:00 +10:00
spycrab 6f65238efc Qt: Fix "Render To Main" 2018-05-06 04:51:13 +02:00
Anthony 2588b5e40e
Merge pull request #6750 from spycrab/qt_render_widget
Qt: Fix multiple RenderWidget issues
2018-05-05 18:39:40 -07:00
spycrab 6442b32aeb Qt/AdvancedWidget: Fix "Enable Progressive Scan" 2018-05-06 03:16:43 +02:00
Lioncash 31389bab0a DolphinQt/MemoryWidget: Fix dead condition in FindValue()
This condition is already checked earlier in the function and exits out
if it's satisfied, meaning it'll never reach this check further down.
2018-05-05 20:44:38 -04:00
spycrab 49a1b2e5df Qt/Win32: Use better method to obtain the default font 2018-05-06 02:37:52 +02:00
Lioncash 0043b77ccd Gekko: Make UReg_MSR's single-argument constructor explicit
Prevents implicit construction of MSR instances from integral values.
This is beneficial, considering MSR values have an intended
representation while a regular magic value doesn't. So make these
conversions required to be explicit.
2018-05-05 17:59:45 -04:00
Lioncash ffcf107dd2 PowerPC: Make the PowerPCState's msr member variable a UReg_MSR instance
Gets rid of the need to construct UReg_MSR values around the the actual
member in order to query information from it (without using shifts and
masks). This makes it more concise in some areas, while helping with
readability in some other places (such as copying the ILE bit to the LE
bit in the exception checking functions).
2018-05-05 17:59:30 -04:00
Léo Lam 75d056bc48 Movie: Replace some C style arrays with std::array
This replaces some C style arrays with std::array to make copying
and comparing arrays slightly nicer.
2018-05-05 23:40:23 +02:00
spycrab 45995ead03 Updater: Show error when trying to launch directly 2018-05-05 23:32:08 +02:00
Léo Lam 72a6674b73 WiiUtils: Migrate to new filesystem interface
A followup for the migration work started in 8317a66e
2018-05-05 19:21:56 +02:00
Léo Lam 9aeb95bc0a WX: Only call IsTitleInstalled when core is stopped 2018-05-05 19:21:56 +02:00
JosJuice 33211d8690 DolphinQt2: Don't show pop-ups in the middle of extracting a whole disc 2018-05-05 18:31:46 +02:00
JosJuice f48fac5b55 DolphinQt2: Allow picking "Extract Files..." on disc/partition
DolphinWX already does this.
2018-05-05 18:31:44 +02:00
Léo Lam 58b96eeb9d
Merge pull request #6756 from spycrab/qt_segoe_ui
Qt/Win32: Force Segoe UI
2018-05-05 18:09:00 +02:00
spycrab 7d762fd632 Qt/RenderWidget: Restore size when exiting fullscreen 2018-05-05 17:05:32 +02:00
JosJuice 1a74de6462 DolphinQt2: Fix the file structure of extracted discs
Now all the partitions won't be all jumbled up in one folder,
and the filesystem contents won't be mixed with system data.
2018-05-05 17:00:27 +02:00
Léo Lam 975689e1f7
Merge pull request #6754 from spycrab/qt_no_whatsthis
Qt: Remove "What's this" button
2018-05-05 16:04:52 +02:00
Tillmann Karras 41a553e33e Jit64: warn about code cache flushing
The game Go Vacation (SGVEAF) currently stutters a lot because it keeps
overflowing the far code cache and all code needs to be re-jitted.
Logging this warning gives a useful hint as to what is causing the
stuttering.
2018-05-05 14:21:57 +01:00
spycrab ad21282379 Qt/Win32: Force Segoe UI 2018-05-05 12:41:56 +02:00
Léo Lam 31efec623a
Merge pull request #6695 from Ebola16/UbershadersDecrip
Update Ubershader descriptions
2018-05-05 11:16:30 +02:00
Léo Lam d8549d172c
Merge pull request #6651 from leoetlino/nand-paths
NandPaths: Return paths that are relative to Wii NAND
2018-05-05 11:01:35 +02:00
Léo Lam 983d500d14
Merge pull request #6614 from leoetlino/auto-close
IOS: Do not manually close devices in destructor
2018-05-05 10:53:06 +02:00
Léo Lam d848c7e027
Merge pull request #6716 from container1234/qt-cheats-manager
Qt/CheatsManager: Fix updating search result takes a long time
2018-05-05 10:42:09 +02:00
Léo Lam bf8b9f4a34
Merge pull request #6739 from spycrab/qt_aesthetics
Qt: Fix visual inconsistencies.
2018-05-05 10:37:44 +02:00
Léo Lam 86f56b8047
Merge pull request #6747 from aldelaro5/qt-debugger-setting-ini
INI: Create a new INI setting for toggling the debugger UI
2018-05-05 10:33:04 +02:00
Léo Lam 6e6bf689e7
Merge pull request #6751 from spycrab/qt_show_disc
Qt: Show disc number
2018-05-05 10:28:40 +02:00
Stenzek 286d594f32 OGL: Fix incorrect clamping in EFB copies 2018-05-05 17:45:54 +10:00
Pierre Bourdon 798639291f
Merge pull request #6749 from spycrab/qt_gcontrols_crash
Qt/GraphicsControls: Fix more random crashes
2018-05-05 03:02:43 +02:00
spycrab 69d6c0dccb Qt: Remove "What's this" button 2018-05-05 02:29:16 +02:00
aldelaro5 fee92cd4fc
INI: Create a new INI setting for toggling the debugger UI
Qt introduced a checkbox to toggle the debugger UI, this makes it work into a setting stored in the INI, it also makes the -d argument only in effect when enabled, in such case, it will override the INI by overriding it.
2018-05-04 19:23:03 -04:00
spycrab db0e5108dc Win32/FileUtil: Fix IsDirectory() not working for certain directories 2018-05-04 23:53:41 +02:00
spycrab 67f874250a Qt: Show disc number 2018-05-04 22:38:27 +02:00
spycrab e809eef11a Qt/AdvancedWidget: Fix progressive scan checkbox 2018-05-04 21:33:24 +02:00
Léo Lam 8317a66ea5 NandPaths: Return paths that are relative to Wii NAND
Since all FS access will go through the new FS interface (PR #6421)
in order to keep track of metadata properly, there is no need to return
absolute paths anymore.

In fact, returning host paths is a roadblock to using the FS interface.

This starts the migration work by adding a way to get paths that are
relative to the Wii NAND instead of always getting absolute paths
on the host FS.

To prepare for future changes, this commit also makes returned paths
canonical by removing the trailing slash when it's unneeded.

Eventually, once everything has been migrated to the new interface,
we can remove the "from" parameter.
2018-05-04 19:52:17 +02:00
spycrab 452cc6b69f Qt/RenderWidget: Show proper icon and title 2018-05-04 14:04:46 +02:00
spycrab 300c3970f3 Qt/GraphicsControls: Fix more random crashes 2018-05-04 13:51:55 +02:00
spycrab 11f83c1e36 HttpRequest/Curl: Use a more intelligent timeout method 2018-05-04 13:30:49 +02:00
Stenzek a5e410b7c9
Merge pull request #6744 from stenzek/ui-disable-vram-copies
UI: Add Disable EFB Copies to VRAM to Advanced Options
2018-05-04 12:01:29 +10:00
spycrab 96e488a181 Qt/PathPane: Add dots to buttons 2018-05-04 00:12:08 +02:00
spycrab d97d916758 Qt/Settings: Restore padding 2018-05-04 00:12:08 +02:00
spycrab b741ef81bd Qt/WrapInScrollArea: Make background color more consistent 2018-05-04 00:12:08 +02:00
Mat M 54a6b0f50a
Merge pull request #6726 from spycrab/qt_sort_alpha
Qt/GameList: Always sort games alphabetically
2018-05-03 13:13:09 -04:00
Mat M 348125eda4
Merge pull request #6738 from spycrab/qt_fix_empty_adapter
Qt/GeneralWidget: Fix empty adapter option
2018-05-03 13:11:00 -04:00
Mat M 689a70a7f1
Merge pull request #6736 from spycrab/qt_bad_range_clear
Qt/MappingButton: Fix bad range default
2018-05-03 13:09:26 -04:00
Mat M cf40ebf16a
Merge pull request #6737 from JosJuice/qt-invalid-si-device
DolphinQt2: Don't crash on invalid SI devices
2018-05-03 13:07:23 -04:00
Stenzek 3270fadb0d
Merge pull request #6587 from stenzek/macos-content-scale
DolphinWX: Scale window geometry before passing to backend
2018-05-03 23:35:21 +10:00
Stenzek be32602769
Merge pull request #6745 from spycrab/qt_fullscreen
Qt: Call Render::SetFullscreen
2018-05-03 23:28:21 +10:00
spycrab a61445919d Qt/GraphicsSlider: Fix random crashes 2018-05-03 15:22:40 +02:00
spycrab 68e2b46ba1 Qt: Call Render::SetFullscreen 2018-05-03 15:15:35 +02:00
Stenzek 210a6a37b4 DolphinWX: Scale window geometry before passing to backend
In macOS, the window size is device-independent points, which may not
match the content/backing framebuffer size.
2018-05-03 22:01:07 +10:00
Markus Wick 467379c149
Merge pull request #6740 from lucasassislar/master
Fixed aspect ratio bigger than 16:9 on Android Devices
2018-05-03 09:01:19 +02:00
JosJuice 1a2b6e2645
Merge pull request #6742 from stenzek/qt-borderless-fullscreen
Qt/AdvancedWidget: Fix borderless fullscreen option not showing
2018-05-03 08:07:29 +02:00
Stenzek d4f6c86eec UI: Add Disable EFB Copies to VRAM to Advanced Options 2018-05-03 14:31:04 +10:00
Stenzek 0152f63655 TextureCacheBase: Make "disable vram copies" part of the active config 2018-05-03 14:24:44 +10:00
Stenzek 8a061d6fb4 Qt/AdvancedWidget: Fix borderless fullscreen option not showing 2018-05-03 14:13:35 +10:00
Stenzek 4faac3a627 TextureConversionShader: Don't sample from adjacent rows when not needed 2018-05-03 14:09:32 +10:00
Stenzek a93830056f TextureConversionShader: Fix more implicit conversion errors 2018-05-03 11:32:06 +10:00
Distro Lucas dbeec37b0f Fixed aspect ratio bigger than 16:9 on Android Devices 2018-05-02 22:21:28 -03:00
spycrab 6b5b51831a Qt/GameList: Always sort games alphabetically 2018-05-02 21:57:46 +02:00
spycrab 0595fd498f Qt/MappingButton: Fix bad range default 2018-05-02 21:50:50 +02:00
Markus Wick ef98a21735
Merge pull request #6729 from stenzek/gles-gamma
TextureConversionShader: Fix compile errors in OpenGL ES
2018-05-02 21:50:30 +02:00
JosJuice 16b805410f DolphinQt2: Don't crash on invalid SI devices
This is important if we ever add or delete SI devices.
2018-05-02 21:50:28 +02:00
Mat M ed6709ac8f
Merge pull request #6731 from spycrab/qt_cache_slider
Qt/HacksWidget: Fix "Accuracy" slider
2018-05-02 15:48:33 -04:00
Mat M a2c12f1503
Merge pull request #6735 from JosJuice/ui-ini
Remove code related to UI.ini
2018-05-02 15:47:28 -04:00
spycrab b99610f1a3 Qt/GeneralWidget: Fix empty adapter option 2018-05-02 19:20:45 +02:00
JosJuice 6e96f62b41 Remove code related to UI.ini
We don't use it for anything, we just create it and leave it empty.
2018-05-02 18:18:27 +02:00
spycrab 3221ca2200 Updater: Fix UI not showing up 2018-05-02 18:17:16 +02:00
Pierre Bourdon 40cf07d8e7
Merge pull request #6733 from spycrab/rename_update_cfg_again
Core/ConfigManager: Rename Track to UpdateTrack
2018-05-02 17:55:37 +02:00
spycrab a984d18a14 Core/ConfigManager: Rename Track to UpdateTrack 2018-05-02 17:23:41 +02:00
spycrab e3cebebe51 Qt/MappingButton: Fix Clear not resetting ranges 2018-05-02 17:02:14 +02:00
spycrab 3d7b613be5 Qt/Mapping: Fix "Default" not working properly. 2018-05-02 16:55:42 +02:00
spycrab ef3f660983 Qt/HacksWidget: Fix "Accuracy" slider 2018-05-02 16:36:15 +02:00
Stenzek 7a745e5b0d D3D: Drop gamma parameter from util draw helper
No longer needed as we perform gamma correction during the XFB copy.
2018-05-02 21:58:56 +10:00
Stenzek 2c6b20bb03 TextureConversionShader: Fix compile errors in OpenGL ES 2018-05-02 21:54:13 +10:00
spycrab 0d5b34be34 Qt/MappingWindow: Fix saving to incomplete Profile directory 2018-05-02 06:45:11 +02:00
Ryan Meredith 05205ce3d7 Update Ubershader descriptions 2018-05-01 18:57:34 -04:00
spycrab b4dc658b2e OGL/FramebufferManager: Clean up inline GLSL code 2018-05-01 15:03:59 +02:00
Stenzek 6e62d1ab9f
Merge pull request #6722 from spycrab/qt_adapter
Qt/GraphicsSettings: Save Adapter index
2018-05-01 21:57:50 +10:00
spycrab 87d6bffcec Qt/GraphicsSettings: Fix various adapter issues 2018-05-01 13:54:01 +02:00
container1234 850afd8457 Qt/CheatsManager: Fix updating search result takes a long time 2018-05-01 18:58:58 +09:00
Léo Lam 78c9bad44f
Merge pull request #6688 from spycrab/qt_dedup
Qt: Deduplicate settings
2018-05-01 11:53:39 +02:00
Léo Lam 23f958d766
Merge pull request #6715 from spycrab/qt_path_fixes
Qt/PathPane: Various fixes
2018-05-01 11:40:21 +02:00
Stenzek c46882142b
Merge pull request #6369 from stenzek/xfb-copy-filter
Implement copy filter (deflickering/brightness) and XFB gamma
2018-05-01 19:31:54 +10:00
Stenzek 42d73deaed
Merge pull request #6723 from spycrab/qt_fix_profile_save
Qt/MappingWindow: Fix profile saving
2018-05-01 19:26:22 +10:00
Léo Lam c2ddddc723
Merge pull request #6724 from JosJuice/qt-normal-speed
DolphinQt2: Translate the "(Normal Speed)" text
2018-04-30 21:30:45 +02:00
JosJuice 1b830df250 DolphinQt2: Correct the condition for enabling Cheat Manager
Only the other condition, the one that runs when the cheat setting
changes, was taking into account whether emulation was running.
2018-04-30 14:19:56 +02:00
JosJuice e74f5c4f42 DolphinQt2: Translate the "(Normal Speed)" text 2018-04-30 13:42:48 +02:00
spycrab c6a0a4318d Qt/MappingWindow: Fix saving 2018-04-30 09:09:27 +02:00
spycrab fcb80646ed Qt/PathPane: Various fixes 2018-04-30 06:44:13 +02:00
Mat M ad836b9071
Merge pull request #6717 from spycrab/issue_11039
Qt/GraphicsControls: Reload values when settings are changed
2018-04-29 20:20:36 -04:00
spycrab a2dbf97205 Qt/Win32: Fix console output 2018-04-29 23:26:20 +02:00
Mat M d8b56af342
Merge pull request #6714 from spycrab/qt_fix_toolbar
Qt/ToolBar: Fix inconsistencies
2018-04-29 15:20:01 -04:00
spycrab dd6ac93ad0 Qt/ToolBar: Fix checkbox and actual visibility not being in sync 2018-04-29 20:28:11 +02:00
Mat M cad7d2c71f
Merge pull request #6720 from spycrab/qt_ext
Qt/GameTracker: Match uppercase file extensions
2018-04-29 14:24:24 -04:00
spycrab f5cfd1ab14 Qt/GameTracker: Match uppercase file extensions 2018-04-29 19:59:50 +02:00
spycrab 2a837a82d4 Qt: Implement Batch flag (-b) 2018-04-29 19:13:40 +02:00
spycrab bc51c34a96 Qt: Implement "Free look" 2018-04-29 13:52:27 +02:00
spycrab 417d191c9e Qt/GraphicsControls: Reload values when settings are changed 2018-04-29 12:17:39 +02:00
Stenzek ea4090d92c Dolphin: Add disable copy filter to graphics options 2018-04-29 19:05:20 +10:00
Stenzek 9e798eec94 Implement EFB copy filter and gamma in hardware backends
Also makes y_scale a dynamic parameter for EFB copies, as it doesn't
make sense to keep it as part of the uid, otherwise we're generating
redundant shaders.
2018-04-29 19:05:20 +10:00
Scott Mansell a192a3bb30 While I'm here, fix some chroma sub-sampling bugs.
RE4's brightness screen is actually very good for spotting these.

Bug 1: Colors at the end of the scanlines are clamped, instead of a black
       border
Bug 2: U and V color channels share coordinates, instead of being offset
       by a pixel.
2018-04-29 17:56:53 +10:00
Scott Mansell fc96479f12 VideoSoftware: Implement xfb copy filter (Deflickering/Brightness) 2018-04-29 17:56:51 +10:00
Lioncash 167b92ff2c Jit_Integer: Make arrays const in MultiplyImmediate() and twX()
These are only ever read from, so make the data immutable to be explicit about that
2018-04-28 14:13:02 -04:00
Mat M 0cd46f4d21
Merge pull request #6690 from lioncash/nand
Common/NandPaths: Minor cleanup
2018-04-28 13:43:33 -04:00
Mat M 6b8da197e8
Merge pull request #6689 from container1234/qt-minor-fixes
Qt: Minor changes
2018-04-28 13:41:59 -04:00
Tilka 6bb880457f
Merge pull request #6711 from lioncash/handler
Common/MemTools: Make handler function internally linked on Windows
2018-04-28 18:41:10 +01:00
Mat M c057eb3c82
Merge pull request #6705 from leoetlino/variable
IOS/SO: Clean up variable declarations
2018-04-28 13:40:38 -04:00
Mat M fa44e28ce0
Merge pull request #6708 from spycrab/qt_dynfilter
Qt/GameList: Ensure resort when new entries are added
2018-04-28 13:39:56 -04:00
Lioncash 8183360832 Common/MemTools: Make handler function internally linked on Windows
This doesn't need to be an externally linked function.
2018-04-28 12:55:38 -04:00
Sepalani 74d4a4478f DebugInterface: Watches methods added
Move Watches to Common
2018-04-28 17:46:51 +04:00
JosJuice 8870ffeac4 DolphinQt2: Fix clearing numeric values in controller config 2018-04-28 13:02:26 +02:00
spycrab 7db86c20d0 Qt/GameList: Ensure resort when new entries are added 2018-04-28 12:53:10 +02:00
JosJuice 28138cfde9
Merge pull request #6707 from spycrab/qt_fix_numeric
Qt/MappingNumeric: Calculate values properly
2018-04-28 12:42:27 +02:00
spycrab 1fb188a7d9 Qt/MappingNumeric: Calculate values properly 2018-04-28 12:32:23 +02:00
spycrab b88a5875ec Qt/WiimoteEmuExtension: Add "Slider Bar" to Guitar 2018-04-28 11:41:22 +02:00
Léo Lam 4f427de924 IOS/SO: Clean up variable declarations
Move them closer to their usage and fix the naming.
2018-04-28 11:13:03 +02:00
container1234 b46bf9b736 Qt/Debugger: Change CodeView background colors to bright ones 2018-04-28 16:53:04 +09:00
Léo Lam cf1adfbe20
Merge pull request #6673 from leoetlino/network
IOS: Network fixes
2018-04-28 00:47:18 +02:00
Léo Lam 9c63bae19a
Merge pull request #6687 from spycrab/qt_graphics_caps
Qt/GraphicsWindow: Disable unsupported options
2018-04-28 00:35:47 +02:00
spycrab 4caca2bd7a Qt/GraphicsWindow: Disable unsupported options 2018-04-28 00:01:26 +02:00
Léo Lam 3b70da2da4
Merge pull request #6693 from spycrab/qt_missing_paths
Qt/PathPane: Add missing options
2018-04-27 23:49:13 +02:00
Léo Lam 393663a0a3 IOS/SO: Use an enum for result codes 2018-04-27 23:35:40 +02:00
Léo Lam 32d51f1699 IOS/SO: Re-implement GetInterfaceOpt(0x4003)
Use the newly added GetSystemDefaultInterfaceOrFallback() to return
actual information for the default interface, not just dummy
interface details.

This also fixes GetInterfaceOpt(0x4003) and gethostid() returning
inconsistent information. Prior to this change, GetInterfaceOpt(0x4003)
would return 10.0.1.30 and gethostid would give a totally unrelated IP.
2018-04-27 23:35:40 +02:00
Léo Lam 3ce271991b IOS/SO: Implement GetSystemDefaultInterface for non-Windows
This fixes gethostid on non-Windows platforms.

Except on Android, where this is left unimplemented because Android
does not support getifaddrs.
2018-04-27 23:35:40 +02:00
Léo Lam 25b198cac8 IOS/SO: Move default interface code into a separate function
...so that the function can be more easily reused.
2018-04-27 23:35:40 +02:00
Léo Lam e4276f2983 IOS/SO: Handle invalid GetInterfaceOpt requests 2018-04-27 23:35:40 +02:00
spycrab 9057a7d50a Qt/GeckoCode: Fix multiple bugs 2018-04-27 22:58:57 +02:00
Anthony 2b9df8eedd
Merge pull request #6697 from spycrab/qt_sort
Qt/GameList: Sort by title by default
2018-04-27 19:30:48 +01:00
spycrab eefa6db57c Qt: Fix "Render To Main" not booting into fullscreen 2018-04-27 15:04:26 +02:00
Sepalani e73906ee38 DolphinWx: Prevent a crash on Copy hex 2018-04-27 09:53:11 +04:00
spycrab 7749e18ecc ConfigManager: Enable Auto-Updater by default 2018-04-26 15:12:15 +02:00
spycrab ddcc3451b1 Qt/GameList: Sort by title by default 2018-04-26 11:50:18 +02:00
Pierre Bourdon 1b389398ad
Merge pull request #6696 from spycrab/updater_cpy
Updater: Use copy instead of move
2018-04-26 11:10:52 +02:00
spycrab fb268bb04f Updater: Use copy instead of move 2018-04-26 11:00:03 +02:00
spycrab 6e4c5d780d Updater: Implement UAC support 2018-04-25 22:38:10 +02:00
spycrab 82390495ee Qt/PathPane: Add missing options 2018-04-25 21:43:12 +02:00
Lioncash 4637579375 Common: Amend CommonTypes include within BitSet.h
We do includes relative to the root, rather than direct pathing.
2018-04-23 00:14:00 -04:00
Lioncash d68f437e67 Common: Move BitSet helper functions into the Common namespace 2018-04-23 00:13:55 -04:00
Lioncash c1c360d9b1 NandPaths: Make function parameters consistent
Also drops trailing underscores from said parameter names.
2018-04-22 23:49:20 -04:00
Lioncash 62242331d8 NandPaths: Remove unused header inclusions 2018-04-22 23:49:16 -04:00
Lioncash 2ce0f42c14 Common: Move BitSet into the Common namespace
This should be under the common namespace, considering where it's living
2018-04-22 23:43:07 -04:00
spycrab 40a61e7bf5 Qt: Deduplicate settings 2018-04-22 22:26:28 +02:00
container1234 41844c1cc5 Qt/Debugger: Change the row height to same as code/memory widget 2018-04-23 00:52:31 +09:00
container1234 32f6d3f62b Qt: Use HostRead for float and double 2018-04-23 00:46:42 +09:00
Pierre Bourdon 1b63810e85
Merge pull request #6684 from spycrab/qt_wrong_thread
Qt/Settings: Emit EmulationStateChanged from the UI thread
2018-04-22 15:36:32 +02:00
spycrab 854fa0f093 Qt/Settings: Emit EmulationStateChanged from the UI thread 2018-04-22 13:04:48 +02:00
spycrab 519fa7529f Qt/RenderWidget: Fix the render widget showing up when it shouldn't 2018-04-22 13:01:18 +02:00
spycrab caa18edc79 Qt: Implement "Keep Window on top" 2018-04-22 11:15:39 +02:00
spycrab c1dccdc0e5 Qt/RenderWidget: Fix getting painted over 2018-04-22 10:15:09 +02:00
spycrab b059b3a646 Qt: Pause on focus loss 2018-04-22 10:15:09 +02:00
Tilka c131b7c3b4
Merge pull request #6682 from spycrab/qt_minor_fixes
Qt: Minor fixes
2018-04-22 08:12:42 +01:00
aldelaro5 2f6879f0d9
Qt/log change the notice log color to lime
It's slightly easier to read than green
2018-04-21 21:22:16 -04:00
spycrab 7b35c8577a Qt: Fix crashes when closing render window 2018-04-21 23:27:54 +02:00
spycrab b2e5f1d85f Qt/GeneralPane: Disable certain options while emulation is running 2018-04-21 22:09:46 +02:00
Léo Lam 9dcc8131df
Merge pull request #6331 from spycrab/deprecate_wx
[RFC] Qt/Wx: Turn Qt into the default interface
2018-04-21 18:36:10 +02:00
spycrab 694df74b0b Qt/Wx: Turn Qt into the default interface 2018-04-21 17:54:00 +02:00
Tilka 7dc16efc9d
Merge pull request #6675 from spycrab/qt_recursive
Qt: Add "Search subdirectories" checkbox
2018-04-21 16:07:02 +01:00
spycrab a4526772b9 Qt: Add "Search subdirectories" checkbox 2018-04-21 00:14:55 +02:00
Léo Lam dabfecfd74
Merge pull request #6672 from spycrab/qt_dynamic
Qt: Make toolbar more dynamic
2018-04-20 23:41:51 +02:00
spycrab 264c995b0d Qt: Make toolbar more dynamic 2018-04-20 22:44:49 +02:00
Léo Lam 2fcc633c28
Merge pull request #6649 from leoetlino/fs-tests
UnitTests: Add tests for the Wii filesystem
2018-04-20 21:34:06 +02:00
Tilka 4c8de9638a
Merge pull request #6674 from Tilka/jit64
Jit64: avoid an unnecessary load
2018-04-20 19:23:28 +01:00
Léo Lam bc7bf97f14
Merge pull request #6666 from Ebola16/ASU2
Update Android Gradle Plugin
2018-04-20 18:18:22 +02:00
Léo Lam f9340424c8
Merge pull request #6669 from lioncash/thread-local
Core: Use thread_local directly
2018-04-20 18:11:32 +02:00
Léo Lam 1176ae6512 IOS/FS: Fix ReadDirectory file list copying
Each entry can take up to 13 bytes (including the terminating null
character) but should not be aligned to 13 bytes.
2018-04-20 00:02:32 +02:00
Léo Lam 4c47417a0e IOS/FS: Fix ReadDir returning wrong number of entries
ReadDir should always write the actual number of entries in the
directory list (`min(max_count, number_of_entries_on_nand)`).
2018-04-20 00:02:32 +02:00
Connor Roth 3e4725f390 THis fixes issue #08 and #16, the rumble test and slider 2018-04-19 17:48:55 -04:00
Tilka a500347345
Merge pull request #6676 from spycrab/qt_fix_open
Qt: Fix "Open File" dialog opening twice
2018-04-19 22:13:38 +01:00
spycrab cd390714c9 Qt: Fix "Open File" dialog opening twice 2018-04-19 23:10:23 +02:00
Tillmann Karras 1737f1bee8 Jit64: avoid an unnecessary load 2018-04-19 21:49:12 +01:00
spycrab c09075209f Qt: Implement Cheats Manager 2018-04-19 10:42:24 +02:00
Léo Lam 396204248d
Merge pull request #6667 from lioncash/si
SI: Remove unnecessary declarations of internally linked functions
2018-04-18 18:49:44 +02:00
Lioncash e6405f7b2b
Core: Use thread_local directly
Both Android and OSX now support it, allowing us to remove the fallback code.
2018-04-17 19:03:24 -04:00
Mat M df44aa7335
Merge pull request #6668 from JosJuice/remove-hybrid-wiimote
Remove Hybrid Wii Remote
2018-04-17 18:09:58 -04:00
Ryan Meredith b00c29b70d Update Android Gradle Plugin 2018-04-17 16:54:14 -04:00
JosJuice 2953cf201d Remove Hybrid Wii Remote
It simply doesn't seem to work for anything useful, and nobody seems
to care about maintaining it.
2018-04-17 22:40:21 +02:00
Lioncash d1d8300a46
SI: Remove unnecessary declarations of internally linked functions
These aren't dependent on calling order so we can just organize all of the statics together
instead of splitting them up over the file. This also allows us to organize a common spot for
file static variables as well.
2018-04-17 16:33:11 -04:00
Mat M d230194464
Merge pull request #6657 from leoetlino/dedup
Qt/Debugger: Deduplicate memory view update code
2018-04-17 10:21:53 -04:00
Mat M b19d77a3ff
Merge pull request #6660 from leoetlino/pause
Qt/Debugger: Don't pause when already paused
2018-04-17 10:20:30 -04:00
Mat M e04592e6c4
Merge pull request #6663 from spycrab/qt_fix_columns
Qt: Fix columns not properly showing / hiding
2018-04-17 10:19:35 -04:00
Mat M 8bb0e0ee96
Merge pull request #6662 from Tilka/fix_warnings
Fix some warnings
2018-04-17 10:17:01 -04:00
spycrab 9ffc600e8d Qt: Fix columns not properly showing / hiding 2018-04-17 15:27:51 +02:00
Tillmann Karras 4cfd900c67 Fix some warnings 2018-04-17 14:10:05 +01:00
Sepalani 04cfddca33 HLE_VarArgs: PowerPC::HostRead_F64 used 2018-04-17 16:25:43 +04:00
Léo Lam 69ad94997c Qt/Debugger: Don't pause when already paused
Fixes a severe performance issue which would cause the UI to use tons
of CPU time and fail to update when scrolling with a breakpoint on PC.
2018-04-17 14:21:18 +02:00
Mat M c78b3f6ab6
Merge pull request #4507 from sepalani/host_f
PowerPC: HostR/W float/double added
2018-04-17 08:02:07 -04:00
Pierre Bourdon 94f3e27ccd
Merge pull request #6659 from spycrab/qt_tabbed_config
Qt/SettingsWindow: Use tabs
2018-04-17 13:52:23 +02:00
Sepalani 048513183e PowerPC: HostR/W float/double added 2018-04-17 08:29:47 +04:00
spycrab 4d4a018ccf Qt/SettingsWindow: Use tabs 2018-04-16 23:15:45 +02:00
Lioncash c23a998f9d
TraversalClient: Use u32 instead of enet_uint32
Lessens the dependence on the enet library (and we really don't need to rely on a third-party library for a 32-bit integer type)
2018-04-16 16:46:48 -04:00
Lioncash f1e92a1eae
TraversalClient: Make TestPacket() private
This is only used by the private InterceptCallback()
2018-04-16 16:46:48 -04:00
Lioncash 1b8ad49d1e
TraversalClient: In-class initialize members where applicable 2018-04-16 16:46:48 -04:00
Lioncash ca6a2970ea
TraversalClient: Make data externally read-only members private
These are only ever queried for state, not written. Therefore, prevent writing to the members
and make them private.
2018-04-16 16:46:44 -04:00
Léo Lam 6c87817d9c Qt/Debugger: Deduplicate memory view update code
The structure and address calculation were identical.
Only the string generation was different.
2018-04-16 22:36:32 +02:00
Léo Lam dfd6a228a6
Merge pull request #6654 from lioncash/log
Common/Logging/Log: Wrap GENERIC_LOG macro's body in do { } while (0)
2018-04-16 20:38:22 +02:00
Léo Lam d13fc1d2e9
Merge pull request #6655 from lioncash/common-libs
Common/CMakeLists: Link curl and VTune libraries in privately
2018-04-16 20:35:31 +02:00
JosJuice 0efbaebe17 Minor fixes to translatable strings
The usual deduplication between DolphinWX and DolphinQt2, plus the removal
of a now unused ubershader string and a fix for the Euphoria i18n comment.
2018-04-16 19:08:58 +02:00
Lioncash 236aed9fd1
Common/CMakeLists: Link curl and VTune libraries in privately
These are only used internally.
2018-04-16 12:38:24 -04:00
Lioncash b0dc823472
Common/Logging/Log: Wrap GENERIC_LOG macro's body in do { } while (0)
Enforces the termination of GENERIC_LOGs with semicolons.
2018-04-16 12:11:32 -04:00
Mat M 6224b9bd37
Merge pull request #6642 from leoetlino/stm
IOS/STM: Reset the event hook at the correct time
2018-04-16 09:04:12 -04:00
Lioncash 939c5671a9 Common/Config: Remove unused header inclusions 2018-04-15 22:35:00 -04:00
Lioncash 4836739663 Common/Config: Remove unnecessary function declaration
This prototype declaration is already provided by the Config.h header
2018-04-15 22:33:53 -04:00
Léo Lam 3355ddcfb3 FileSystem: Fix member destruction order 2018-04-15 14:29:27 +02:00
Léo Lam 45647df349 UnitTests: Add tests for the Wii filesystem
This adds unit tests for the Wii filesystem now that the filesystem
interface is neatly separated from the IPC code.

Basic FS functionality is tested, in addition to problematic usages and
edge cases that Dolphin used to handle incorrectly (which of course
broke emulated software).

These tests should make it quite a bit harder to introduce regressions.

Issues that are covered by the tests in particular:

* Metadata: issue 10234 (though tests are commented out for now because
  Dolphin doesn't support NAND images yet so it can't track metadata);

* EOF seeks/reads: https://github.com/dolphin-emu/dolphin/pull/4942

* Read/write operations from multiple handles: see issue 2917, 5232 and
  8702 and https://github.com/dolphin-emu/dolphin/pull/2649
2018-04-15 14:29:27 +02:00
Mat M eecdb51709
Merge pull request #6645 from JosJuice/tie-constexpr
x64Emitter: Don't assume that std::tie is constexpr
2018-04-15 03:11:31 -04:00
JosJuice 8a146d5210 x64Emitter: Don't assume that std::tie is constexpr
Using constexpr tie broke building with older GCC versions according to
https://forums.dolphin-emu.org/Thread-build-error-on-linux-mint-18-3
2018-04-15 08:30:01 +02:00
JosJuice 45923696ed
Merge pull request #6648 from leoetlino/master
WiimoteEmu: Fix turntable_button_names size
2018-04-15 08:25:44 +02:00
Mat M 615c0decb7
Merge pull request #6644 from leoetlino/uicommon-header
UICommon: Fix header
2018-04-14 20:25:22 -04:00
Léo Lam 0a481c0663 WiimoteEmu: Fix turntable_button_names size
Three elements were removed, but because of an oversight the array
size was not changed to match.
2018-04-14 23:52:10 +02:00
Léo Lam 783e4ec2fa
Merge pull request #6633 from aldelaro5/wx-debugger-icons
Wx: debugger icons
2018-04-14 23:29:57 +02:00
Léo Lam 371f807e67
Merge pull request #6615 from leoetlino/sysconf
SysConf: Migrate to new filesystem interface
2018-04-14 23:29:25 +02:00
Léo Lam c73b05e200
Merge pull request #6647 from aldelaro5/qt-fix-mbp
Qt/Debugger: correctly set the MBP attributes when adding an address one
2018-04-14 23:22:57 +02:00
aldelaro5 0f8c51dfe4
Wx: Implement the new debugger icons 2018-04-14 17:22:04 -04:00
Léo Lam ee955e37a9
Merge pull request #6564 from JosJuice/translate-certain-button-names
Translate certain button names but not all
2018-04-14 23:20:39 +02:00
Léo Lam aafa8a10e1
Merge pull request #6643 from lioncash/oprofile
CMakeLists: Define an OProfile target and use it
2018-04-14 23:12:17 +02:00
aldelaro5 1401fbc71a
Qt/Debugger: correctly set the MBP attributes when adding
Not setting the end address causes the GetMecheck function to never think a matching address MBP exists.
2018-04-14 17:05:23 -04:00
Léo Lam 2f22c76db1 UICommon: Avoid including Xrandr.h
Xlib has really terrible headers that declare non-namespaced
macros and typedefs for common words.

Just wasted 10 minutes trying to figure out why a unit test failed
to build before I remembered it was Xrandr.h conflicting with our
enum class members again.

To fix the issue, this removes the Display* parameter from the
EnableScreensaver function (which was unused) so we don't have
to include Xrandr.h anymore.
2018-04-14 17:14:38 +02:00
Léo Lam 62269572e4 UICommon: Fix indirect includes 2018-04-14 16:42:54 +02:00
Léo Lam e253d3d919
Merge pull request #6640 from spycrab/qt_scale_render
Qt: Fix render size not matching window size
2018-04-14 14:56:33 +02:00
Lioncash b31281527a
CMakeLists: Define an OProfile target and use it
Allows us to bring includes and relevant libraries into scope by explicitly declaring linkage against the target
as opposed to using a variable. Also removes the dumping of OProfile includes into the top-level directory.
2018-04-13 19:35:17 -04:00
Léo Lam 8bae4b7e51 IOS/STM: Reset the event hook at the correct time
Just re-disassembled STM and found out I have made a mistake when
I changed STM stuff back in 2016.

I accidentally made STM reset the event hook on close when it should
have been done in the destructor (i.e. when IOS gets reset on console).

Verified in IDA that STM just `IOS_ResourceReply(request, IOS_OK)`
without ever resetting the hook.
2018-04-13 23:34:35 +02:00
Léo Lam b1bbd8a50e
Merge pull request #6625 from lioncash/evdev-udev
InputCommon/CMakeLists: Include evdev and udev includes on a by-target basis
2018-04-13 20:50:31 +02:00
Léo Lam 52905a5fae
Merge pull request #6627 from sepalani/map-strip
PPCSymbolDB: Do not truncate fixed size symbols
2018-04-13 20:48:28 +02:00
spycrab a12d4996ed Qt: Use new debugger icons 2018-04-13 20:40:41 +02:00
spycrab 8536e31136 Qt: Fix render size not matching window size 2018-04-13 20:12:13 +02:00
Lioncash b256f873ca
CMakeLists: Link in zlib privately where applicable
Also, use the target name introduced via find_package(ZLIB) instead
of hardcoding the 'z' name in the link libraries.
2018-04-13 08:29:46 -04:00
JosJuice 7ed28297b2 ControllerEmu: Use enum instead of bool for translatability 2018-04-13 13:04:26 +02:00
JosJuice 3f13dbe087 Translate certain button names but not all
Some button names should be translated, for instance Up, Left and such.
At the same time, some other button names shouldn't be translated,
for reasons that might be less obvious. In 0146456af, I removed the
_trans markers for button names that never need to be translated
(such as A and B), but that isn't actually enough to ensure that
DolphinWX won't try to translate them anyway. This commit adds a bool
that explicitly tells the GUI whether a button name should be translated.
Otherwise we'll have problems like the GUI treating the button name "B"
(which isn't supposed to be translated) as matching the translatable
string "B" (being an abbreviation of "bytes"), meaning that the button
"B" will be labeled "o" when running Dolphin in French (after
translations get pulled from Transifex the next time).

By the way, while it turned out that DolphinWX translated all button
names, it also turned out that DolphinQt2 translated *no* button names.
Go figure. This commit makes them consistent with each other.
2018-04-13 13:04:26 +02:00
JosJuice e604641b12 Remove leftovers of projection hack support 2018-04-13 12:52:42 +02:00
Markus Wick 71dd2d9d4c
Merge pull request #6632 from lioncash/fp
Interpreter: Don't use a union to type-pun between integral and FP types
2018-04-13 11:12:01 +02:00
Lioncash a36bf438cd
Interpreter_FloatingPoint: Handle QNaNs properly in frsp
Essentially the same behavior as the SNaN path, minus the conditional result and setting of the VXSNAN FPSCR bit.
2018-04-12 19:47:10 -04:00
Lioncash 965b963a6f
Interpreter_FloatingPoint: Handle SNaNs properly in frsp
If FPSCR[VE] is set, a result isn't supposed to be written to the destination,
just the FPSCR[VXSNAN] bit gets set, and FPSCR[FR] and FPSCR[FI] get set to zero.

If FPSCR[VE] isn't set, then we do write out a result, however, the FPSCR[FPRF]
field is updated to signify a QNaN (yes, a QNaN, the FPRF field doesn't have
a bit configuration for SNaNs).
2018-04-12 19:47:06 -04:00
Lioncash e28d063539 x64Emitter: Make the Align* functions return a non-const data pointer
There's no real requirement to make this const, and this should also
be decided by the calling code, considering we had places that would
simply cast away the const and carry on.
2018-04-12 19:46:55 -04:00
Lioncash ab25eb6449 Interpreter_LoadStorePaired: Don't use a union to type-pun between integral and FP types 2018-04-12 19:44:31 -04:00
Lioncash 7a3158a693 Interpreter_FPUtils: Don't use a union to type-pun between integral and FP types
The previous code invokes undefined behavior. memcpy will optimize away
to the relevant loads and stores while maintaining well-defined
behavior.
2018-04-12 19:44:31 -04:00
Tilka bbd1bb8eaa
Merge pull request #6636 from phire/fix_autoformatting
Fix change in comment meaning by autoformat.
2018-04-12 22:52:06 +01:00
Scott Mansell 0e6d01220a Fix change in comment meaning by autoformat. 2018-04-13 09:20:27 +12:00
Tilka 27515f4c9b
Merge pull request #6626 from lioncash/dcbz_l-disasm
GekkoDisassembler: Fix disassembly of dcbz_l
2018-04-12 22:18:56 +01:00
Léo Lam a287bbc3bd Move SysConf to Core
It's not common code that could be reused for, say, Citra;
it's absolutely specific to Wii emulation and only used by the Dolphin
core, so let's move it there.

Another reason for doing this is to avoid having Common depend on Core.
2018-04-12 22:16:37 +02:00
Léo Lam 0856d4a68a SysConf: Migrate to new filesystem interface
It was discovered that some titles rely on filesystem metadata to work
properly. Currently, in master they either simply won't find their
save files (for example Bolt) or will complain about the Wii system
memory being corrupted (on first use or every time depending on
the title).

In order to even be able to keep track of file metadata, we first need
to eliminate all direct accesses to the NAND and make all kinds of
operations go through the filesystem code added in PR 6421.

This commit starts the migration process by making SysConf use
the new FS interface.
2018-04-12 22:16:37 +02:00
Léo Lam 3744a6d3f5 FileSystem: Add some more wrappers for convenience 2018-04-12 22:16:37 +02:00
Léo Lam 95aae11164 IOS: Do not manually close devices in destructor
This used to be necessary for properly cleaning up the FS state because
the old FS implementation used static state and only performed cleanup
in the close function, not in the destructor.

Now that the static state is gone, we do not need to close devices
manually anymore.
2018-04-12 22:16:10 +02:00
spycrab 40bb9974f2 Reformat all the things! 2018-04-12 21:28:39 +02:00
Sepalani 7d36165489 PPCSymbolDB: Do not truncate fixed size symbols
Fix comparison warning
2018-04-10 21:50:33 +04:00
Sepalani 9b8866ba78 PPCSymbolDB: Replace alert with LOG message 2018-04-10 21:49:47 +04:00
Lioncash 1c17329e2f
GekkoDisassembler: Fix disassembly of dcbz_l
Previously this would fall through and disassemble as a generic "ps_[number]" junk instruction.
2018-04-10 11:22:01 -04:00
Lioncash 73ebc190fa
InputCommon/CMakeLists: Link evdev and udev in privately
These libraries aren't directly used outside of InputCommon
2018-04-10 09:59:55 -04:00
Lioncash d63d0b5069
InputCommon/CMakeLists: Include evdev and udev includes on a by-target basis
Avoids including the evdev/udev includes in the top-level directory
2018-04-10 09:59:51 -04:00
Markus Wick 0bfeb37a1f
Merge pull request #6604 from lioncash/dcbz_l
Interpreter_LoadStore: Generate a program exception if dcbz_l is executed when HID2[LCE] is zero
2018-04-09 23:04:09 +02:00
JosJuice a66d56aece Use configured locale in UICommon::FormatSize
StringFromFormat always uses the C locale, so we can't use it if we want
the decimal separator to be locale aware, but we can use a stringstream.
2018-04-09 19:14:15 +02:00
JosJuice 0dca432836 Remove old code for using default locale
This isn't needed anymore now that the global C++ locale isn't
set to the classic locale.
2018-04-09 19:14:15 +02:00
JosJuice 13d060491c DolphinQt2: Set locale
We want things like number formatting to be done the way the user expects.
2018-04-09 19:14:14 +02:00
JosJuice 72040600d7 Set locale to "en_GB" if "en" is configured 2018-04-09 19:14:14 +02:00
JosJuice 9417fc6a3a DolphinWX: Set C++ locale
After 3a83ebc, the Show System Clock feature started using the
unfortunate combination of MM/DD/YY dates (rare outside of the US)
and 24-hour time (rare in the US) regardless of the user's locale
settings. This commit makes it use the configured locale again.

I've noticed one minor difference in behavior between now and
before 3a83ebc: The new way of setting the C/C++ locale seems to
treat "en" as "en-US", but the wx way of setting the C locale
treated it as "en-GB" (at least on Windows).
2018-04-09 19:14:14 +02:00
JosJuice 7aaaf44229
Merge pull request #6611 from leoetlino/remove-workaround
Boot_WiiWAD: Remove a timing issue workaround
2018-04-09 15:46:39 +02:00
Léo Lam 67f8e6e60a
Merge pull request #6620 from lioncash/dvd
DVDInterface: Deduplicate code in UpdateInterrupts()
2018-04-09 12:52:38 +02:00
Léo Lam cb88e1256f
Merge pull request #6617 from lioncash/ppcanalyst
PPCAnalyst: Minor cleanup
2018-04-09 12:48:16 +02:00
Léo Lam 783cbef638
Merge pull request #6618 from lioncash/symboldb
PPCSymbolDB: Minor cleanup
2018-04-09 12:46:28 +02:00
Lioncash 1b3dae918a StreamADPCM: Turn the ADPCM decoder into a class
Migrates the state to be instance-based as opposed to being a flat
namespace. This keeps behavior localized to its own instantiable unit
(and forces uses of the class to also be localized, lest they cart around
an instance all over the place).
2018-04-09 03:49:18 -04:00
Lioncash a8088b7365 ProcessorInterface: Remove prefixed underscores from parameters
These are reserved by the implementation for any use.
2018-04-09 03:21:59 -04:00
Lioncash 419ed1b46a DVDInterface: Deduplicate code in UpdateInterrupts() 2018-04-09 03:18:51 -04:00
Lioncash a0f943178b Profiler: Move BlockStat and ProfileStats structures into the Profiler namespace
These should be part of the namespaced API and not be sitting in the
global namespace.
2018-04-08 22:29:48 -04:00
Lioncash 0461709c8d PPCSymbolDB: Use auto for iterators where applicable 2018-04-08 22:03:11 -04:00
Lioncash b44eb90ee4 PPCSymbolDB: Default destructor and pass to member variables in the constructor initializer-list 2018-04-08 21:56:24 -04:00