Commit graph

27878 commits

Author SHA1 Message Date
spycrab
2b8d69f476
Merge pull request #6812 from lioncash/mem
DolphinQt2/MemoryWidget: Use QString's toUtf8() where applicable instead of toStdString()
2018-05-11 08:31:45 +02:00
Lioncash
6d0cab3743 DolphinQt2/MemoryWidget: Use QString's toUtf8() where applicable instead of toStdString()
Avoids needing to iterate and append the characters in one case. This also
alters the function to not need to construct a temporary std::string
(QString's toUtf8() is sufficient, as QByteArray exposes iterators).

toStdString() is equivalent to retrieving the QString's underlying
QByteArray via calling QString's .toUtf8 member function and then
calling .toStdString() on the result of it (discarding the QByteArray
afterwords), so this just trims off an unnecessary step in the process.

This is also somewhat more indicative of the conversions going on:
toStdString() converts the underlying character sequence of a
QString to UTF-8, not strict ASCII, so we're really using a superset of
ASCII.
2018-05-10 22:10:45 -04:00
Lioncash
ba01f6dba3 CommonFuncs: Convert ROUND_UP_POW2 macro to a function
Also move it to MathUtils where it belongs with the rest of the
power-of-two functions. This gets rid of pollution of the current scope
of any translation unit with b<value> macros that aren't intended to be
used directly.
2018-05-10 19:42:20 -04:00
Léo Lam
a977a56434 Boot: Migrate to new filesystem interface 2018-05-10 22:34:03 +02:00
Léo Lam
e6c489f1d4 ES: Move title dir creation logic into separate function
Since we're going to need it in the boot code, move it out to a
separate, easily reusable function. This also makes the InitImport
logic clearer.
2018-05-10 22:33:49 +02:00
Léo Lam
722d31124c SettingsHandler: Fix const correctness 2018-05-10 21:35:27 +02:00
Léo Lam
09d2afa91f SettingsHandler: Migrate to new filesystem interface
Change SettingsHandler to take a buffer instead of assuming that the
setting file to read is always on the host filesystem for more
flexibility and make it possible to use the new filesystem interface.
2018-05-10 21:35:27 +02:00
spycrab
3cca051850
Merge pull request #6806 from spycrab/qt_iowindow_crash
Qt/IOWindow: Fix crash
2018-05-10 21:18:48 +02:00
spycrab
146979f67e Qt/IOWindow: Fix crash 2018-05-10 21:12:19 +02:00
spycrab
09449e2bca Qt/NetPlayDialog: Use QToolButton instead of a QComboBox 2018-05-10 20:51:12 +02:00
spycrab
26bee93943 Qt/NetPlayDialog: Show more friendly interface names 2018-05-10 20:51:12 +02:00
spycrab
0141ce9305 Qt/NetPlayDialog: Restore window geometry 2018-05-10 20:51:12 +02:00
spycrab
0ee7bddd4f Qt/NetPlayDialog: Add splitter 2018-05-10 20:51:12 +02:00
spycrab
6ea2b2e7e5 Qt/NetPlayDialog: Fix duplicate messages 2018-05-10 20:51:12 +02:00
spycrab
7550389c72 Qt/NetPlayDialog: Escape HTML in chat 2018-05-10 19:19:09 +02:00
spycrab
893c5e694e Qt/NetPlayDialog: Use more readable colors 2018-05-10 19:14:19 +02:00
Léo Lam
d8e1d2d573
Merge pull request #6803 from lioncash/tidy
FloatUtils: Remove IntDouble and IntFloat
2018-05-10 19:04:49 +02:00
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
Léo Lam
02e313050e
Merge pull request #6800 from spycrab/qt_win32_weight
Qt/Win32: Fix font weight calculation
2018-05-10 18:15:38 +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
060c750a89
Merge pull request #6799 from spycrab/qt_config_save
Qt/MainWindow: Call Config::Save last before destruction
2018-05-10 12:14:20 +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
Mat M
7b0d7799b5
Merge pull request #6798 from spycrab/qt_moc_fix
Qt: Fix moc compilation
2018-05-09 21:22:49 -04:00
spycrab
18c7d295c9 Qt/FilesystemWidget: Fix moc compilation 2018-05-09 22:35:27 +02:00
Tilka
e2deb157b3
Merge pull request #6792 from degasus/master
CMake: Prefer GLVND for OpenGL.
2018-05-09 21:07:33 +01: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
Léo Lam
3e608503a9
Merge pull request #6796 from lioncash/unused
RenderBase: Remove unused PixelPerfQuery enum
2018-05-09 19:04:51 +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
spycrab
56d7b7f123
Merge pull request #6790 from Starsam80/qt-spacing
Qt: Use `addLayout` instead of `addItem` when adding layouts
2018-05-09 13:24:06 +02:00
degasus
be3ce97560 CMake: Prefer GLVND for OpenGL.
We have to decide if we want to link to
libGL.so -- legacy
libOpenGL.so -- GLVND

As we use xxxGetProcAddress, we don't care about feature
levels of the linked library, so we're very fine with the
new way.
2018-05-09 09:08:22 +02:00