Commit Graph

27310 Commits

Author SHA1 Message Date
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
c78b3f6ab6 Merge pull request #4507 from sepalani/host_f
PowerPC: HostR/W float/double added
2018-04-17 08:02:07 -04:00
94f3e27ccd Merge pull request #6659 from spycrab/qt_tabbed_config
Qt/SettingsWindow: Use tabs
2018-04-17 13:52:23 +02:00
048513183e PowerPC: HostR/W float/double added 2018-04-17 08:29:47 +04:00
4d4a018ccf Qt/SettingsWindow: Use tabs 2018-04-16 23:15:45 +02:00
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
f1e92a1eae TraversalClient: Make TestPacket() private
This is only used by the private InterceptCallback()
2018-04-16 16:46:48 -04:00
1b8ad49d1e TraversalClient: In-class initialize members where applicable 2018-04-16 16:46:48 -04:00
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
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
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
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
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
236aed9fd1 Common/CMakeLists: Link curl and VTune libraries in privately
These are only used internally.
2018-04-16 12:38:24 -04:00
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
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
939c5671a9 Common/Config: Remove unused header inclusions 2018-04-15 22:35:00 -04:00
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
3355ddcfb3 FileSystem: Fix member destruction order 2018-04-15 14:29:27 +02:00
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
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
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
45923696ed Merge pull request #6648 from leoetlino/master
WiimoteEmu: Fix turntable_button_names size
2018-04-15 08:25:44 +02:00
615c0decb7 Merge pull request #6644 from leoetlino/uicommon-header
UICommon: Fix header
2018-04-14 20:25:22 -04:00
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
783e4ec2fa Merge pull request #6633 from aldelaro5/wx-debugger-icons
Wx: debugger icons
2018-04-14 23:29:57 +02:00
371f807e67 Merge pull request #6615 from leoetlino/sysconf
SysConf: Migrate to new filesystem interface
2018-04-14 23:29:25 +02:00
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
0f8c51dfe4 Wx: Implement the new debugger icons 2018-04-14 17:22:04 -04:00
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
aafa8a10e1 Merge pull request #6643 from lioncash/oprofile
CMakeLists: Define an OProfile target and use it
2018-04-14 23:12:17 +02:00
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
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
62269572e4 UICommon: Fix indirect includes 2018-04-14 16:42:54 +02:00
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
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
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
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
52905a5fae Merge pull request #6627 from sepalani/map-strip
PPCSymbolDB: Do not truncate fixed size symbols
2018-04-13 20:48:28 +02:00
a12d4996ed Qt: Use new debugger icons 2018-04-13 20:40:41 +02:00
8536e31136 Qt: Fix render size not matching window size 2018-04-13 20:12:13 +02:00
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
7ed28297b2 ControllerEmu: Use enum instead of bool for translatability 2018-04-13 13:04:26 +02:00
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
e604641b12 Remove leftovers of projection hack support 2018-04-13 12:52:42 +02:00
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
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
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
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
ab25eb6449 Interpreter_LoadStorePaired: Don't use a union to type-pun between integral and FP types 2018-04-12 19:44:31 -04:00