Commit graph

3224 commits

Author SHA1 Message Date
Lioncash
869acb96c6 Common/IniFile: Simplify Set()
We can just utilize map's insert_or_assign() function and check the
return value to determine whether or not we need to insert the key into
the keys_order vector.
2019-05-22 20:58:49 -04:00
Connor McLaughlin
68877c52d1
Merge pull request #8027 from MerryMage/MOVAPS
Jit64: Prefer MOVAPS where possible
2019-05-22 15:05:17 +10:00
Léo Lam
d2c7a6f239
Merge pull request #8094 from leoetlino/log-type-names
Qt/LogConfigWidget: Show log type short names
2019-05-20 18:27:57 +02:00
spycrab
ec734065db
Merge pull request #8087 from spycrab/cmake_win2019
Support CMake on Windows
2019-05-14 21:07:26 +02:00
Connor McLaughlin
707266aeed
Merge pull request #8069 from iwubcode/passive_support
VideoCommon: Implement passive stereoscopic 3D
2019-05-12 15:15:34 +10:00
spycrab
b5160ec685 Common/CMake: Fix Windows build 2019-05-12 00:05:08 +02:00
Léo Lam
453c1d4170 Qt/LogConfigWidget: Show log type short names
Makes it easier for users to determine which option they need to
enable/disable as log messages only show the short name.
2019-05-11 16:05:22 +02:00
Michael M
916a97b869 TraversalServer: use C++ <chrono> instead of gettimeofday 2019-05-10 21:33:26 +02:00
Léo Lam
123bbbca2c
Merge pull request #8073 from vladfi1/re-frame-mw
Bring back MemoryWatcher, but without CoreTiming
2019-05-10 14:55:27 +02:00
Techjar
ff972e3673 Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
Vlad Firoiu
f4d950f4e2 Revert "Core: Remove MemoryWatcher"
This reverts commit 0c02e77eee.
2019-05-05 21:43:45 +01:00
iwubcode
c513bb5309 VideoCommon: Implement passive stereoscopic 3D 2019-05-04 22:58:00 -05:00
Léo Lam
ab9ece9bca Replace MathUtil::Clamp with std::clamp 2019-05-04 23:12:17 +02:00
Léo Lam
cb168f22d6 Replace custom UNUSED macro with [[maybe_unused]] 2019-05-04 23:04:18 +02:00
Léo Lam
04c8201c32 Enable C++17
All supported platforms now have easy access to a compiler with C++17
support.

C++17 potentially allows for some nice cleanups and removes the need
for standard library backports (optional/variant).

See discussion at https://dolp.in/pr6264#discussion_r158134178
2019-05-04 23:04:18 +02:00
Léo Lam
99a4ca8de7
Merge pull request #7839 from ShFil119/impr/redundant
Remove redundant initialization
2019-05-04 22:50:51 +02:00
Léo Lam
6c7aeb3ffb
Merge pull request #8064 from JosJuice/notify-host-symbols-clear
Call Host_NotifyMapLoaded when clearing g_symbolDB
2019-05-03 11:47:26 +02:00
booto
2ff0486335 Debugger/Memory: Add support for address spaces
Different address spaces can be chosen in the memory view panel.
 * Effective (or virtual): Probably the view people mostly want. Address
   translation goes through MMU.
 * Auxiliary: ARAM address space. Does not display anything in Wii mode.
 * Physical: Physical address space. Only supports mem1 and mem2 (wii
   mode) so far.
2019-05-02 21:14:30 -04:00
JosJuice
8fd6f8f6e9 Call Host_NotifyMapLoaded when clearing g_symbolDB
Otherwise DolphinQt will have a stale symbol list and
you can get nullptr dereferences when trying to use it.
2019-05-01 17:48:27 +02:00
Filip Gawin
c110ffcdaa Remove redundant initialization 2019-04-30 01:22:24 +02:00
Techjar
0c02e77eee Core: Remove MemoryWatcher
MemoryWatcher only works on Linux and affects emulation determinism due
to scheduling additional events, which causes NetPlay to desync.
Considering that this interface is a rather specialized use case, the
communication with it is kinda crappy *and* it's affecting emulation, I
think it's best to just axe it and come up with a better implementation
of the functionality.
2019-04-28 06:22:27 -04:00
MerryMage
1baa8ee970 x64Emitter: Prefer MOVAPS to MOVSD
* The high half of regOp is immediately overwritten so the value in it is irrelevant.
* MOVSD produces an unnecessary dependency on the high half of regOp.
* MOVAPS is implemented as a register rename on modern microarchitectures.
2019-04-27 12:56:05 +01:00
MerryMage
2d4dd8cdc1 x64Emitter: Prefer MOVAPS to MOVAPD
There is no reason to use MOVAPD over MOVAPS, for two reasons:
* There has never been a microarchitecture with separate single and double domains.
* MOVAPD is one byte longer than MOVAPS
2019-04-27 12:54:43 +01:00
Connor McLaughlin
664cfb2ca5
Merge pull request #7970 from Techjar/netplay-mii-sync
NetPlay: Synchronize Mii data
2019-04-27 13:26:55 +10:00
Jordan Woyak
ba1b335118 WiimoteEmu: Improve emulated swing. 2019-04-23 19:02:41 -05:00
Connor McLaughlin
44d5a71e27
Merge pull request #7965 from jordan-woyak/condvar-fixes
Minor changes to usages of std::condition_variable.
2019-04-21 23:50:53 +10:00
spycrab
eddcb70b84 Common/HttpRequest: Add option to allow non 200 response codes 2019-04-13 12:58:23 +02:00
Techjar
1b8eda827b NetPlay: Synchronize Mii data
It's bundled with the Wii saves for simplicity, since it's quite small.
2019-04-08 07:06:21 -04:00
Jordan Woyak
d34a9afe04 Minor changes to usages of std::condition_variable. 2019-04-06 17:39:25 -05:00
spycrab
ca5eac0c63 Common/HttpRequest: Fix EscapeComponent leaking memory 2019-04-06 13:27:49 +02:00
spycrab
094bf0d2ff Qt/NetPlay: Integrate NetPlayIndex 2019-04-06 12:27:30 +02:00
spycrab
3dbf44417a Common/HttpRequest: Implement EscapeComponent 2019-03-30 17:13:57 +01:00
Stenzek
a4f7c04470 Common: Add DynamicLibrary helper class 2019-03-29 19:52:33 +10:00
Tilka
a865cc0bf6
Merge pull request #7806 from jordan-woyak/wiimote-emu-swing-improve
WiimoteEmu: Reimplement tilt/swing/camera/orientation data using matrix math.
2019-03-05 23:37:00 +00:00
Jordan Woyak
bbc6bf5294 Common/Config: Add a utility class to suppress config change callbacks. 2019-03-03 17:35:22 -06:00
Jordan Woyak
4db4840d7c WiimoteEmu: Reimplement tilt/swing/camera/orientation data using matrix math. 2019-03-03 12:43:25 -06:00
spycrab
3e3f6922c0 Common/FileUtil: Fix GetExePath() cutting off the bundle name 2019-02-26 20:00:23 +01:00
Stenzek
f039149198 Move most backend functionality to VideoCommon 2019-02-19 16:57:54 +10:00
Tilka
131f4931fb
Merge pull request #7792 from jordan-woyak/auto-calibration
DolphinQt/ControllerEmu: Add stick calibration "wizard".
2019-02-13 02:13:27 +00:00
Tilka
8d59d1bb11
Merge pull request #7798 from ShFil119/impr/empty
Use empty instead of size
2019-02-13 01:59:43 +00:00
Filip Gawin
49fe9f5db1 Use empty instead of size 2019-02-13 00:03:49 +01:00
Mat M
6b22693e6e
Merge pull request #7796 from stenzek/glx-context
GLContext: Fix shared context creation error on Mesa
2019-02-11 09:23:52 -05:00
Jordan Woyak
0064f70c8a DolphinQt/ControllerEmu: Replace Input Radius/Shape settings with an input calibration "wizard". 2019-02-10 07:55:47 -06:00
Stenzek
cecefa2d97 ChunkFile: Don't access element zero of empty container
This was causing assertion failures in debug MSVC builds.
2019-02-10 13:28:50 +10:00
Stenzek
ef3306e954 GLContext: Fix shared context creation error on Mesa
This was failing if the first version tried (4.6) didn't succeed.
2019-02-09 21:51:23 +10:00
spycrab
63cdebba88 UICommon/AutoUpdate: Add macOS support 2019-02-06 20:50:09 +01:00
Jordan Woyak
69b617ce76 WiimoteEmu: Remove redundant Matrix library and use the one in Common. 2019-02-03 12:02:02 -06:00
Jordan Woyak
b9a00a40a9 Common: Move Matrix classes out of MathUtil into their own files and make their interface more friendly. 2019-02-03 11:35:31 -06:00
Jordan Woyak
9c1a8891e5 WiimoteEmu: Code cleanups. 2019-02-02 19:40:31 -06:00
Jordan Woyak
0d1fbe7bbc WiimoteEmu: Major renaming and cleanup. 2019-02-02 19:40:31 -06:00
Tilka
0115906e41
Merge pull request #7767 from Tilka/chunkfile
ChunkFile: treat vectors/strings as sized arrays
2019-02-02 12:25:42 +00:00
Tillmann Karras
3ff0e7dbd4 Common/HttpRequest: optionally follow redirects 2019-02-01 13:44:58 +00:00
Tillmann Karras
04a92482bf ChunkFile: treat vectors/strings as sized arrays 2019-02-01 05:13:16 +00:00
Stenzek
c9c0b85056 VideoBackends: Store a backbuffer 'scale'
This is a scaling factor, used for hi-dpi configurations.
2019-01-25 11:15:57 +10:00
Mat M
2749c50843
Merge pull request #7653 from jordan-woyak/ini-cleanup
IniFile: Minor cleanup. Removed unused function. Improved template usage.
2018-12-28 06:21:24 -05:00
Jordan Woyak
ceb28a2302 Add ability to reshape analog sticks from square/circle to octagon and make the analog stick mapping indicator pretty. 2018-12-27 18:31:46 -06:00
Jordan Woyak
a464025bba IniFile: Minor cleanup. Removed unused function. Improved template usage. 2018-12-26 20:15:32 -06:00
MerryMage
da7608ff9f x64Emitter: Add some single-precision instructions 2018-12-26 00:23:42 +00:00
spycrab
fc998093cc
Merge pull request #7600 from spycrab/resource_pack
Implement resource packs
2018-12-23 16:04:05 +01:00
spycrab
71d53c922f Implement resource packs 2018-12-19 11:03:09 +01:00
Lioncash
6d394d03fe Common/GLContext: Make member functions const qualified where applicable
These don't modify object state, so they can be const qualified.
2018-12-14 11:02:26 -05:00
Connor McLaughlin
6388992f62
Merge pull request #7039 from stenzek/moltenvk
Vulkan: macOS support via MoltenVK
2018-11-30 21:55:30 +10:00
Jordan Woyak
fae368d2ee
Fix spurious error logs for conversions of empty strings on Windows. 2018-11-22 06:50:11 +01:00
Techjar
d94922002b NetPlay: Implement chunked data transfer
This sends arbitrary packets in chunks to be reassembled at the other
end, allowing large data transfers to be speed-limited and interleaved
with other packets being sent. It also enables tracking the progress of
large data transfers.
2018-11-19 06:37:09 -05:00
Pierre Bourdon
61b9ef33ab
Merge pull request #7492 from MerryMage/regcache2
JitRegCache: Refactor register cache
2018-11-09 04:45:47 +01:00
Stenzek
041b977523 Common: Use GCD semaphores on macOS
Unnamed semaphores are not supported.
2018-11-07 05:12:20 -08:00
Pierre Bourdon
7094f225d4
Merge pull request #7515 from JosJuice/wcsftime
Use wcsftime instead of strftime on Windows to fix encoding errors
2018-10-28 23:58:17 +01:00
Pierre Bourdon
53a45e5c28
Merge pull request #7445 from Techjar/improve-sfmlhelper
Improve SFMLHelper
2018-10-28 23:53:59 +01:00
MerryMage
9f683f9bb1 BitSet: Add << operator 2018-10-28 17:57:46 +00:00
MerryMage
2dce7e6e21 Common: Add variant utilities 2018-10-28 17:57:43 +00:00
Pierre Bourdon
d98c0da41b Common/Analytics: add basic support for vector serialization
Only supports u32 for now since that's the only thing we need.
2018-10-27 17:16:58 +02:00
JosJuice
5718b870d1 Use wcsftime instead of strftime on Windows to fix encoding errors
Reported by https://forums.dolphin-emu.org/Thread-odd-codes-appear-in-save-load-state-when-chinese-language-is-used
2018-10-26 14:26:21 +02:00
Stenzek
2c6d96433c GLContext: Try GL versions 3.2-4.6 when getting a context
GLX previously was only creating a 4.0 context.
2018-10-20 21:11:34 +10:00
Stenzek
c95802afeb CMake: Make X11 and EGL optional 2018-10-20 21:11:34 +10:00
Stenzek
0559311f92 GLContext: Runtime selection of EGL/GLX on Linux 2018-10-20 21:11:34 +10:00
Stenzek
025e909773 GLContext: Use destructor instead of Shutdown() to cleanup
Also uses the Initialize() method to make the context current.
2018-10-20 21:11:34 +10:00
Stenzek
4b8d1c2b42 GLContext: Combine shared context initialization and creation 2018-10-20 21:11:34 +10:00
Stenzek
dcdd02d646 GLContext: Remove global context pointer 2018-10-20 21:11:34 +10:00
Stenzek
eb284b5d66 VideoBackends: Pass window system info from host on creation 2018-10-20 21:11:34 +10:00
Stenzek
9c57a98723 GLContext: Use host connection
This also removes the need for a sleeping event thread.
2018-10-20 21:11:34 +10:00
Stenzek
134d967be2 Refactoring and cleanup of GLInterface (now GLContext) 2018-10-20 21:11:34 +10:00
Stenzek
74b82bab3b GLInterface: Drop Haiku support 2018-10-20 21:11:33 +10:00
Tillmann Karras
97cc9894e4 Update to Visual Studio's default Windows SDK 2018-10-20 00:53:08 +01:00
Tillmann Karras
b37886580b GekkoDisassembler: fix mtfsf yet again 2018-10-08 02:43:34 +01:00
Tillmann Karras
29c271d0eb GekkoDisassembler: fix disassembly of mtfsf
This fixes https://dolp.in/i11411.
2018-10-07 17:27:02 +01:00
Tilka
32ef8706e5
Merge pull request #7414 from Sintendo/shortmovs
x64Emitter: emit shorter MOVs for 64-bit immediates
2018-10-06 00:01:35 +01:00
Tilka
b480db9392
Merge pull request #7419 from Sintendo/miscopts
Miscellaneous x64 micro-optimizations
2018-10-05 23:44:25 +01:00
Techjar
c5b4e1a5f6 Improve SFMLHelper
Switch to using additional overloads of sf::Packet, so we can eliminate
some of the messy code and just use the normal syntax for
BigEndianValue.

We can't avoid helper functions with u64 due to SFML's non-standard way
of defining 64-bit integer types.
2018-10-02 05:44:50 -04:00
Shawn Hoffman
d594d4f12f Fix sram accesses. 2018-09-29 22:52:29 -07:00
Sintendo
d8953dbe57 x64Emitter: nit, use helper method in CMP_or_TEST 2018-09-29 09:52:54 +02:00
Sintendo
53a947749a x64Emitter: short MOV for 64bit immediates (2)
Prior to this commit, the emitter would unconditionally emit a 10-byte
instruction known as MOVABS when loading a 64-bit immediate to a
register.

0:  48 b8 ef be ad de 00    movabs rax,0xdeadbeef
7:  00 00 00

With this change, it will instead rely on the fact that on x64 writes to
32-bit registers are automatically zero extended to 64-bits, allowing
us to emit a 5 or 6-bytes instruction with the same effect for certain
immediates.

0:  b8 ef be ad de          mov    eax,0xdeadbeef
2018-09-16 19:52:03 +02:00
Sintendo
575f1b309a x64Emitter: short MOV for 64bit immediates (1)
Prior to this commit, the emitter would unconditionally emit a 10-byte
instruction known as MOVABS when loading a 64-bit immediate to a
register.

0:  48 b8 ef be ad de ff    movabs rax,0xffffffffdeadbeef
7:  ff ff ff

With this change, it will instead emit a 7-byte instruction when it is
possible to express the 64-bit immediate using a signed 32-bit value.

0:  48 c7 c0 ef be ad de    mov    rax,0xffffffffdeadbeef
2018-09-14 23:11:26 +02:00
MerryMage
9753f21cc7 Arm64Emitter: Remove unsequenced expressions
Incrementing `it` twice between sequence points is undefined behavior.
2018-08-30 07:38:37 +01:00
JosJuice
fbdc239199 Fix reducing log paths when building with MSVC
The LogManager code had trouble detecting the "/Source/Core/" substring
for two reasons, neither of which seemed to happen a few years ago:

1. __FILE__ is in lowercase on MSVC
2. __FILE__ uses backslash as the directory separator on MSVC

Fixes https://bugs.dolphin-emu.org/issues/11366
2018-08-28 11:48:43 +02:00
Pierre Bourdon
2033d660d2
Merge pull request #7376 from lioncash/sfml
Externals: Update SFML to 2.5.0
2018-08-28 02:53:05 +02:00
Lioncash
d10a0b440f SFMLHelper: Simplify 64-bit packet reading function and remove 64-bit write function
Now that SFML's packet class can properly handle 64-bit values, we don't
need a helper function just to write values to the packets.
2018-08-27 17:38:07 -04:00
Lioncash
e6a4116bf2 Common/SFMLHelper: Remove unused forward declaration
BigEndianValue isn't used in either the header or SFMLHelper.cpp, so it
can be removed.
2018-08-27 16:48:12 -04:00
Lioncash
208be26bb4 Arm64Emitter: Make the Align* functions return a non-const data pointer
Similar in nature to e28d063539 in which
this same change was applied to the x64 emitter.

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-08-27 09:44:38 -04:00
Pierre Bourdon
ea26ccbbe1
Merge pull request #7318 from VinDuv/rename-master-log
LogManager: Change Master Log short name to fix log configuration loading
2018-08-27 13:36:04 +02:00
Pierre Bourdon
f2323331ea
Merge pull request #7240 from lioncash/namespace
Common/DebugInterface: Namespace code under the Common namespace
2018-08-27 04:49:26 +02:00
Pierre Bourdon
246b1f4459
Merge pull request #7350 from zackhow/android-analytics
Android: Add usage statistics to android
2018-08-27 04:37:17 +02:00
zackhow
82f82a6b7d Android: Add usage statistics to android.
Added an option in General config to enable/disable usage statistics. Added a popup on first open if
the user would like to engage in reporting. Clicking cancel or out of the box opts out. Only
clicking 'Ok' will enable reporting. Also added a new android specific values to report.
2018-08-23 17:31:17 -04:00
Markus Wick
3c354d9280
Merge pull request #7333 from weihuoya/gamecover-nomedia
Hide game cover in android gallery
2018-08-20 10:01:50 +02:00
JosJuice
be890c56ac Fix critital buffer overflow in LoadPNG 2018-08-19 17:35:15 +02:00
Pierre Bourdon
0fdb6f4267
Merge pull request #7249 from yourWaifu/discord-rpc-join
Add Discord Join Net Play functionally
2018-08-19 13:43:33 +02:00
Admiral H. Curtiss
5df424a1ec Use simplified libpng PNG reading API to avoid PNG reading bugs. 2018-08-19 13:14:11 +02:00
BreadFish64
b246678c8c
Fix spelling in assert macro 2018-08-15 12:12:19 -05:00
weihuoya
2fac523e10 hide game cover in android gallery 2018-08-15 16:37:00 +08:00
Lioncash
67b015d76b Arm64Emitter: Get rid of a pointer cast within SetJumpTarget()
Type punning like this is undefined behavior. Instead, we use std::memcpy to
copy the necessary data over, which is well defined (as it treats both
the source and destination as unsigned char).
2018-08-14 23:47:53 -04:00
Sleepy Flower Girl
158c0d54b1 Force IPv4 on external IP addresses 2018-08-13 21:17:38 -04:00
Billy Robert O'Neal III
6640d1ec81 Attempt to fix linter issues. 2018-08-13 12:17:56 -07:00
Billy Robert O'Neal III
a0af0bf588 Workaround use of private constant _Snan no longer being present in <limits>. 2018-08-13 12:05:50 -07:00
Vincent Duvert
e2a557e739 LogManager: Change Master Log short name
Change the Master Log short name from “*” to “MASTER”. This fixes
saving the master log enable state, as INI files may not start with *.
2018-08-11 18:37:33 +02:00
spycrab
7cb310791b Cleanup: Remove some left over references to wxWidgets 2018-08-07 15:48:17 +02:00
spycrab
8fb3085b07 Revert "Revert "Qt/GameList: Add option to show covers in grid mode"" 2018-07-30 03:16:37 +02:00
Pierre Bourdon
9b94c76f81
Revert "Qt/GameList: Add option to show covers in grid mode" 2018-07-28 03:03:21 +02:00
spycrab
5ade5f4fe7 Qt/GameList: Add option to show covers in grid mode 2018-07-27 11:14:24 +02:00
Techjar
4407854e9c NetPlay save data synchronization
This adds the functionality of sending the host's save data (raw memory
cards, as well as GCI files and Wii saves with a matching GameID) to
all other clients. The data is compressed using LZO1X to greatly reduce
its size while keeping compression/decompression fast. Save
synchronization is enabled by default, and toggleable with a checkbox
in the NetPlay dialog.

On clicking start, if the option is enabled, game boot will be delayed
until all players have received the save data sent by the host. If any
player fails to receive it properly, boot will be cancelled to prevent
desyncs.
2018-07-19 18:09:20 -04:00
Lioncash
dfdfe6c972
Common/DebugInterface: Namespace code under the Common namespace
Gets more identifiers out of the global namespace and makes it more in
line with the rest of the (mostly) namespaced Common code.
2018-07-09 22:23:57 -04:00
David Korth
0149d22385 Removed some more double-expansions of CMAKE_SYSTEM_NAME. 2018-07-02 13:01:16 -04:00
Lioncash
c4fb07f428 Common, DSP: Only compile in x86-64 emitter related utilities on x86 platforms
Previously these were required to be built into the executable so that
the JIT portion of the DSP code would build properly, as the
x86-64-specifics were tightly coupled to the DSP common code. As this is
no longer the case, this is no longer necessary.
2018-06-21 06:53:31 -04:00
Lioncash
dddac76b8c Common/MemoryPatches: Silence variable shadowing warnings 2018-06-19 21:33:50 -04:00
Lioncash
6f473b96d0 PowerPC: Convert CPUCore enum into an enum class
Makes the enum values strongly-typed and prevents the identifiers from
polluting the PowerPC namespace. This also cleans up the parameters of
some functions where we were accepting an ambiguous int type and
expecting the correct values to be passed in.

Now those parameters accept a PowerPC::CPUCore type only, making it
immediately obvious which values should be passed in. It also turns out
we were storing these core types into other structures as plain ints,
which have also been corrected.

As this type is used directly with the configuration code, we need to
provide our own overloaded insertion (<<) and extraction (>>) operators
in order to make it compatible with it. These are fairly trivial to
implement, so there's no issue here.

A minor adjustment to TryParse() was required, as our generic function
was doing the following:

N tmp = 0;

which is problematic, as custom types may not be able to have that
assignment performed (e.g. strongly-typed enums), so we change this to:

N tmp;

which is sufficient, as the value is attempted to be initialized
immediately under that statement.
2018-06-15 10:27:59 -04:00
Léo Lam
58606702f7
Merge pull request #7107 from lioncash/mac
Common/Network: Get rid of out parameters for MAC address utilities
2018-06-14 19:44:09 +02:00
Lioncash
189d277cfc Common/Random: Add convenience template for simple arithmetic values
In cases where we just want a random value for a primitive arithmetic
type, we can wrap this in a template to allow convenient direct
assignment instead of keeping declaration and initialization separate
(making it more difficult to use values uninitialized). This also allows
the use of Common::Random with functions such as std::generate, making
it more flexible in how random values can be generated.
2018-06-14 10:31:13 -04:00
Lioncash
ce69201f33 Common/Network: Get rid of out parameters for MAC address utilities
Given we have std::array and std::optional, we can use these in
conjunction with one another to avoid the need for out parameters.
2018-06-10 15:43:26 -04:00
Lioncash
c825eecbc9 ChunkFile: Remove unnecessary includes
ChunkFile doesn't use any of the file utilities, so we can drop these
headers to avoid pulling in unnecessary dependencies. This also
uncovered a few indirect inclusions.
2018-06-09 16:49:59 -04:00
Lioncash
7b11ce3dd2 Compiler: Use [[maybe_unused]] in the Windows DOLPHIN_UNUSED macro
The required version of MSVC already supports [[maybe_unused]], so we
can utilize this here. When GCC 7 and clang 3.9 become hard
requirements, we can eliminate this macro entirely and replace it with
[[maybe_unused]].
2018-06-09 12:20:29 -04:00
Lioncash
d8f6d60189 Compiler: Rename UNUSED macro to DOLPHIN_UNUSED
UNUSED is quite a generic macro name and has potential to clash with
other libraries, so rename it to DOLPHIN_UNUSED to prevent that, as well
as make its naming consistent with the force inline macro
2018-06-09 12:20:29 -04:00
Lioncash
3f210836ad Compiler: Rename __forceinline define to DOLPHIN_FORCE_INLINE
This is much better as prefixed double underscores are reserved for the
implementation when it comes to identifiers. Another reason its better,
is that, on Windows, where __forceinline is a compiler built-in, with
the previous define, header inclusion software that detects unnecessary
includes will erroneously flag usages of Compiler.h as unnecessary
(despite being necessary on other platforms). So we define a macro
that's used by Windows and other platforms to ensure this doesn't
happen.
2018-06-09 12:20:25 -04:00
Lioncash
03414e8e84 Common: Add header for compiler-specifics
Instead of globbing things under an ambiguous Common.h header, move
compiler-specifics over to Compiler.h. This gives us a dedicated home
for anything related to compilers that we want to make functional across
all compilers that we support.

This moves us a little closer to eliminating Common.h entirely.
2018-06-09 12:10:05 -04:00
Lioncash
d1e278218e Common/CMakeLists: Link in libraries privately for traversal_server
Without this, CMake script errors can occur, as explicit linkage
specifiers and non-explicit specifier commands aren't compatible with
one another.
2018-06-08 17:40:44 -04:00
Pierre Bourdon
de0fe0e210
Merge pull request #6928 from leoetlino/random
Common: Add Random utilities
2018-06-08 00:41:08 +09:00
Léo Lam
c93210155f
Merge pull request #7075 from Ebola16/DumpObjects
Software Renderer "Dump Objects" needs dedicated folder and tooltip
2018-06-06 15:20:14 +02:00
Ryan Meredith
45b9b7d211 Give Dump Objects dedicated folder and tooltip 2018-06-06 08:42:41 -04:00
Léo Lam
6ce9c96d91
Merge pull request #7027 from leoetlino/cleanup
Use some C++17 features available since GCC 6
2018-06-04 20:50:50 +02:00
Léo Lam
83324fe77d StringUtil: Remove ValueToString(std::string)
Doesn't make a lot of sense to have a function that gives the string
representation for a string.
2018-06-03 15:11:59 +02:00
Léo Lam
7e79bf97ab IniFile: Use templates for Get()
Gets rid of duplicated code.
2018-06-03 14:53:56 +02:00
Léo Lam
cba32b12e7 IniFile: Use templates for Set() 2018-06-03 14:53:56 +02:00
Léo Lam
fc0193c4b1 Move Config ValueToString to StringUtil
An identical implementation is used by IniFile, so move those functions
to StringUtil. A future commit will modify IniFile to use them.
2018-06-03 14:10:52 +02:00
Léo Lam
fff1db9730 Common: Add Random utilities
This makes it easier to generate random numbers or fill a buffer with
random data in a cryptographically secure way.

This also replaces existing usages of RNG functions in the codebase:

* <random> is pretty hard to use correctly, and std::random_device does
  not give enough guarantees about its results (it's
  implementation-defined, non cryptographically secure and could be
  deterministic on some platforms).
  Doing things correctly is error prone and verbose.

* rand() is terrible and should not be used especially in crypto code.
2018-05-31 17:54:43 +02:00
Lioncash
81e11b2406 x64Emitter: Amend parameter ordering for WriteModRM()'s prototype
The definition of the function uses the ordering {mod, reg, rm}, which
is correct. Match the prototype to this, so that the parameter list
isn't misleading.
2018-05-30 09:30:24 -04:00
Léo Lam
5b90aba624 ChunkFile: Replace macro with a variable template
Note that std::is_trivially_copyable_v cannot be used yet (C++17 only).
2018-05-30 11:39:30 +02:00
Léo Lam
8a00a9e149 Remove old GCC version checks 2018-05-30 10:59:15 +02:00
Markus Wick
4bebd52850
Merge pull request #7017 from lioncash/arm
Arm64Emitter: Use Common::BitCast where applicable
2018-05-30 09:50:59 +02:00
JosJuice
243f353688
Merge pull request #7016 from lioncash/mem
MemoryPatches: Minor changes
2018-05-30 07:45:34 +02:00
Lioncash
6fd7a79b93 Arm64Emitter: Use Common::BitCast where applicable
Gets rid of the need to set up memcpy boilerplate to reinterpret between
floating-point and integers.

While we're at it, also do a minor bit of tidying.
2018-05-29 18:19:01 -04:00
Lioncash
397b27e665 MemoryPatches: In-class initialize is_enabled state for MemoryPatch instances
Given this is what occurs in both constructors (as one just passes
through to another), we can just initialize the member directly.

While we're at it, amend the struct to follow the general ordering
convention of:

<new types>
<functions>
<variables>
2018-05-29 18:04:06 -04:00
Lioncash
4c33bb8dda MemoryPatches: std::move std::vector in the constructor
We can avoid copying the vector contents in this instance.
2018-05-29 18:01:16 -04:00
Lioncash
97c5a840db PcapFile: Namespace code under the Common namespace
Brings more common code under the Common namespace.
2018-05-29 17:56:15 -04:00
spycrab
44784cf363 Common/HttpRequest: Add option to set cookies 2018-05-29 03:56:28 +02:00
Lioncash
4288bfe0f9 Common: Move host communication enum to Host.h
Given this is actually a part of the Host interface, this should be
placed with it.

While we're at it, turn it into an enum class so that we don't dump its
contained values into the surrounding scope. We can also make
Host_Message take the enum type itself directly instead of taking a
general int value.

After this, it'll be trivial to divide out the rest of Common.h and
remove the header from the repository entirely
2018-05-28 14:34:59 -04:00
Markus Wick
40d3163b12
Merge pull request #6998 from lioncash/log
Common: Remove unnecessary ~9 year old LOGGING preprocessor define
2018-05-28 09:33:21 +02:00
Lioncash
ee434d4f01 Common: Remove unnecessary ~9 year old LOGGING preprocessor define
This was added in 4bdb4aa0d1 back in
2009-02-27. The only usage spot of this macro involves the same checks
that were used to define that preprocessor macro, so we can simply
remove the macro
2018-05-27 21:33:25 -04:00
Lioncash
a745666a60 ColorUtil: Amend function name casing
Makes the function names conform to our coding style.
2018-05-27 21:04:48 -04:00
Lioncash
ac474ff1da ColorUtil: Namespace code under the Common namespace
Given this is within Common, it should be in the Common namespace
itself.
2018-05-27 21:00:54 -04:00
Lioncash
c056708dc8 CDUtils: Remove unused parameter in IsCDROM()
It was only ever passed nullptr, and even then, nothing was actually
done with the parameter.
2018-05-27 18:48:23 -04:00
Lioncash
470b09fe9d CDUtils: Amend function names
Amends the function names to follow our coding style.
2018-05-27 18:48:09 -04:00
Lioncash
1f75fa0aff CDUtils: Namespace code under the Common namespace 2018-05-27 18:30:58 -04:00
Lioncash
f4ec419929 SymbolDB: Namespace code under the Common namespace
Moves more common code into the Common namespace where it belongs.
2018-05-27 18:01:40 -04:00
Lioncash
72e8058fb8 SymbolDB: Default constructor and destructor within the cpp file
Given this is a class with non-trivial data-members, it's preferable to
default the constructor and destructor in the cpp file.
2018-05-27 17:25:22 -04:00
Lioncash
a1a81c7bc9 SymbolDB: Convert typedefs into using aliases 2018-05-27 17:23:55 -04:00
Lioncash
e9b9797a86 SymbolDB: Normalize variable names
Normalizes variable naming so that it adheres to our coding style

While we're at it do minor cleanup relating to modified lines
2018-05-27 17:23:10 -04:00
Léo Lam
bea1e38c67 Move ECCSignature to Common::ec and give it a less confusing name 2018-05-27 14:01:38 +02:00
Lioncash
b60ad2425d Common: Namespace GekkoDisassembler.cpp/.h
Moves more common code into the Common namespace where it belongs
2018-05-25 16:55:09 -04:00
Léo Lam
93f49b1ca4 Config: Make Load() and Save() slightly faster
Only invoke config changed callbacks from Config::Save, not
Layer::Save. The latter results in callbacks being called
once per layer, up to 7 times per save.
2018-05-23 16:07:18 +02:00
Sepalani
8fa898fe9a DebugInterface: MemoryPatches methods added
CodeView: Restore instruction added
2018-05-22 10:31:31 +04:00
Léo Lam
cec7fded60 IOSC: Implement VerifyPublicKeySign for ECC 2018-05-20 20:04:53 +02:00
Léo Lam
355b1b5d5b ec: Improve readability and clarity
- Move all of the ec functions into the Common::ec namespace.

- Give the public functions better names and some usage information.

- Move all of the "elt" related functions into an "elt" class including
  all of the arithmetic operations, so that the logic becomes clearer
  and feels less like assembly.

  This also makes it much more obvious what the parameters are, instead
  of only using unsigned char* (which doesn't tell anything about what
  the pointer is used for or the size).

- Similarly, add a new "Point" class and move point functions there.
  Overload the arithmetic operators to make calculations easier to read
2018-05-20 19:59:26 +02:00
Léo Lam
e83591f188 ec: Avoid exposing internal function 2018-05-20 19:59:26 +02:00
Léo Lam
b9dd94b9b2 bn: Use int instead of u32 for sizes
The loops relied on unsigned integer overflow, which is not immediately
obvious. Replace them with less clever variants that are clearer.

Also implement bn_compare using std::memcmp.
2018-05-20 19:59:26 +02:00
JosJuice
10ff6d73c2 Fix compatibility with versions of libpng older than 1.5 2018-05-20 13:44:42 +02:00
Emmanuel Gil Peyrot
17e65a7167 VideoCommon: Replace SOIL with libpng for hires textures 2018-05-20 13:44:38 +02:00
Lioncash
1c63a48fab Common/CodeBlock: Namespace code under the Common namespace
Brings more common code under the Common namespace.
2018-05-17 15:57:29 -04:00
Lioncash
011ee110bc Common/Hash: Namespace code under the Common namespace
Brings more common code under the Common namespace.
2018-05-16 15:39:23 -04:00
Lioncash
947fa271be Common: Add MemArena.h/cpp to the Common namespace
Brings more common code under the Common namespace.
2018-05-15 18:27:32 -04:00
Léo Lam
f91b729b61
Merge pull request #6825 from leoetlino/onion-types
Config: Fix implicit conversions/enum config types
2018-05-12 21:59:43 +02:00
Lioncash
0ef7dca0d4 SettingsHandler: Remove redundant type qualifier in SetBytes()
Given the qualifier isn't used for the constructor taking a buffer, remove it here
to be consistent.
2018-05-12 13:53:42 -04:00
Lioncash
1da2091801 SettingsHandler: Remove unnecessary includes
All Windows-specific includes aren't needed here anymore.
2018-05-12 13:53:37 -04:00
Lioncash
5677e5d74a SettingsHandler: Namespace code under the Common namespace
Adds another file in Common to the Common namespace.
2018-05-12 13:39:37 -04:00
Léo Lam
6763a3fce1 Config: Add support for enums
This makes it possible to use enums as the config type.
Default values are now clearer and there's no need for casts
when calling Config::Get/Set anymore.

In order to add support for enums, the common code was updated to
handle enums by using the underlying type when loading/saving settings.

A copy constructor is also provided for conversions from
`ConfigInfo<Enum>` to `ConfigInfo<underlying_type<Enum>>`
so that enum settings can still easily work with code that doesn't care
about the actual enum values (like Graphics{Choice,Radio} in DolphinQt2
which only treat the setting as an integer).
2018-05-12 18:10:26 +02:00
Léo Lam
7dca7c237e Config: Fix template deduction for implicit conversions
This excludes the second argument from template deduction.

Otherwise, it is required to manually cast the second argument to
the ConfigInfo type (because implicit conversions won't work).

e.g. to set the value for a ConfigInfo<std::string> from a string
literal, you'd need a ugly `std::string("yourstring")`.
2018-05-12 14:30:18 +02:00
Lioncash
a85aa73c4d
FileUtil: Remove unnecessary IOFile GetHandle() call in ReadFileToString()
We can just use IOFile's GetSize() function to do the same thing. While
we're at it, get rid of unnecessary variables.
2018-05-11 16:27:33 -04:00
Anthony
968779e623
Merge pull request #6814 from lioncash/sd
SDCardUtil: Minor changes
2018-05-11 12:39:17 -07:00
Jonathan Hamilton
791c8401c1 Update mpark::variant implementation to 1.3.0
Fixes building on the latest clang shipping on MacOS
(Apple LLVM version 9.1.0 (clang-902.0.39.1))
2018-05-11 11:15:06 -07:00
Lioncash
cdeed038bd
SDCardUtil: Replace macros with typed equivalents
Instead use a general template and specify which type we're writing out.
2018-05-11 12:33:07 -04:00
Lioncash
3b0139b258
SDCardUtil: Namespace SDCardUtil
Brings yet another header in the common library under the Common
namespace.
2018-05-11 09:19:30 -04:00
Lioncash
4e1547b3b2
SDCardUtil: Remove the use of IOFile's GetHandle() function
GetHandle() should really not even be part of IOFile's interface, but
since it is (for the time being), we can cull unnecessary usages of it.
In this case, the WriteBytes() function does what we need without using
the underlying handle directly.
2018-05-11 09:19:29 -04:00
Lioncash
ad4150dae9
SDCardUtil: Join variables with declarations where applicable 2018-05-11 09:19:26 -04:00
Lioncash
1ffd0d2572
SDCardUtil: Make type of write_empty's "count" parameter size_t
This allows getting rid of casts. We can also leverage std::min to allow
making relevant variables const. Also make the "empty" table const to
allow it to be read-only.
2018-05-11 08:55:05 -04:00
Lioncash
c26de8107d
SDCardUtil: Convert return type of write_* functions to bool
Converts them from 0 == success, 1 == failure to using the built-in
standard bool. Also while we're at it, const qualify write_sector's
"sector" parameter, since nothing in the function modifies the data
being pointed to.
2018-05-11 08:29:37 -04:00
Lioncash
5fc18aa639
SDCardUtil: Replace sector size magic value with relevant named constant
Makes variable use consistent throughout the file.
2018-05-11 08:25:35 -04:00
Léo Lam
e1866d35e5
Merge pull request #6807 from leoetlino/boot
Boot: Migrate to new filesystem interface
2018-05-11 10:41:00 +02: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
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
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
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
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
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