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
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
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
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
Léo Lam
a9987588eb
Merge pull request #6768 from spycrab/qt_stylesheet
...
Qt: Allow custom stylesheets
2018-05-08 15:20:19 +02: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
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
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
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
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
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
spycrab
db0e5108dc
Win32/FileUtil: Fix IsDirectory() not working for certain directories
2018-05-04 23:53:41 +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
11f83c1e36
HttpRequest/Curl: Use a more intelligent timeout method
2018-05-04 13:30:49 +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
Mat M
0cd46f4d21
Merge pull request #6690 from lioncash/nand
...
Common/NandPaths: Minor cleanup
2018-04-28 13:43:33 -04:00
Sepalani
74d4a4478f
DebugInterface: Watches methods added
...
Move Watches to Common
2018-04-28 17:46:51 +04:00
spycrab
7749e18ecc
ConfigManager: Enable Auto-Updater by default
2018-04-26 15:12:15 +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
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
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
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
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
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
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
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
52905a5fae
Merge pull request #6627 from sepalani/map-strip
...
PPCSymbolDB: Do not truncate fixed size symbols
2018-04-13 20:48:28 +02: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
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