Commit Graph
100 Commits
Author SHA1 Message Date
Mat M 20999db93c Merge pull request #7928 from JosJuice/ipl-hashes
Remove invalid IPL hashes (NTSC-U and NTSC-J use same IPL)
2019-03-24 14:12:17 -04:00
Lioncash 6045b44203 UICommon/ResourcePack: Provide inequality operator to complement equality operator
Provides symmetrical behavior with the equality operator.
2019-03-13 15:55:20 -04:00
Lioncash 9d096a5e16 UICommon/ResourcePack: Mark ResourcePack's operator== as const 2019-03-13 15:53:30 -04:00
Mat M 7944a055a6 Merge pull request #7876 from JosJuice/4-char-window-title
Fix title database not working when running games with 4-char game IDs
2019-03-12 05:17:33 -04:00
Mat M 5d7701dec2 Merge pull request #7856 from lioncash/unused
DolphinQt/MenuBar: Remove unused ModalMessageBox instance
2019-03-04 23:04:36 -05:00
Mat M 86fd8e25f7 Merge pull request #7854 from Techjar/ini-editor-menus
Qt/GameConfigEdit: Use QPushButton instead of QToolButton for presets menu
2019-03-04 22:29:16 -05:00
Lioncash 3e0854c4aa DolphinQt/MenuBar: Remove unused ModalMessageBox instance 2019-03-04 20:16:45 -05:00
Mat M f2cbb8b82a Merge pull request #7855 from Techjar/modal-dialog-whatsthis
Qt: Remove "What's this?" button from modal message boxes
2019-03-04 19:32:35 -05:00
Mat M 147f7ca321 Merge pull request #7849 from spycrab/qt_modal_again
Qt: Make every messagebox modal
2019-03-04 17:40:27 -05:00
Mat M 191ef76da2 Merge pull request #7775 from chargeflux/QComboBoxBGColorFix-macOS
Fix QComboBox background and transparency workaround on macOS
2019-03-03 20:52:32 -05:00
Mat M 66a8220011 Merge pull request #7845 from jordan-woyak/elided-button-fix
DolphinQt: Fix ElidedButton (MappingButton) from growing with long text.
2019-03-03 18:53:01 -05:00
Mat M 503b96c617 Merge pull request #7848 from jordan-woyak/config-change-callbacks
Common/Config: Add a utility class to defer config change callbacks.
2019-03-03 18:44:34 -05:00
Mat M 2eb9140e07 Merge pull request #7850 from jordan-woyak/device-and-profile-dropdown-fix
DolphinQt: Prevent contents of device and profile dropdowns from throwing off layout.
2019-03-03 18:33:16 -05:00
Mat M 8156df2758 Merge pull request #7837 from jordan-woyak/deadzone-math-fix
ControllerEmu: Deadzone math fix.
2019-03-03 02:32:04 -05:00
Mat M 7a8ddbaccb Merge pull request #7840 from jordan-woyak/game-config-save-fix
DolphinQt: Fix invalid error message when trying to save a zero-sized game config.
2019-03-03 02:27:12 -05:00
Mat M de3c8fee22 Merge pull request #7808 from Ebola16/331
Android Studio 3.3.1 Updates
2019-02-25 13:41:16 -05:00
Mat M d27036eb77 Merge pull request #7814 from JosJuice/overwrite-aspect-mode
VideoConfig: Don't overwrite aspect_mode with suggested_aspect_mode
2019-02-25 13:29:03 -05:00
Mat M fad9c0cc93 Merge pull request #7813 from jordan-woyak/wiimote-emu-ir-enable-fix
WiimoteEmu: Minor IR Camera behavior fix.
2019-02-25 13:28:14 -05:00
Mat M 51e741ed86 Merge pull request #7800 from JosJuice/string-fixes
Minor fixes to translatable strings
2019-02-13 13:41:21 -05: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
Mat M e030a48741 Merge pull request #7793 from spycrab/logging_async
Qt/LogWidget: Make logging asynchronous
2019-02-08 14:31:11 -05:00
Mat M 7fb1c1e3a6 Merge pull request #7795 from JosJuice/android-wii-change-disc
Android: Allowing changing disc while emulating Wii
2019-02-08 14:30:42 -05:00
Mat M 251c7dc5ba Merge pull request #7794 from JosJuice/android-backend-multithreading
Android: Improve the description for backend multithreading
2019-02-08 14:30:06 -05:00
Mat M 9e2406e7be Merge pull request #7787 from spycrab/issue_11551
Qt/GameConfigEdit: Fix some settings being in the wrong section
2019-02-06 07:29:04 -05:00
Mat M e5ca338958 Merge pull request #7761 from jordan-woyak/gccontroller-minor-cleanup
HW: SI_Device_GCController: Minor cleanup.
2019-01-31 21:29:55 -05:00
Mat M 4408a0c053 Merge pull request #7766 from Tilka/cache_icons
DolphinQt: cache filesystem icons for speed
2019-01-31 21:23:50 -05:00
Mat M 931af76da3 Merge pull request #7668 from spycrab/rpack_fix
UICommon/ResourcePack: Fix packs without manifests crashing Dolphin
2019-01-03 13:59:07 -05:00
Mat M 187058a072 Merge pull request #7659 from jordan-woyak/dk-bongos-fix2
HW: DK Bongos actual fix
2018-12-28 20:01:09 -05:00
Mat M dd1fc70d70 Merge pull request #7644 from jordan-woyak/dk-bongos-fix
HW: DK Bongos clap fix and cleanup
2018-12-28 06:41:10 -05:00
Mat M 2d379446b5 Merge pull request #7642 from MerryMage/fprf-whole
EmuCodeBlock: Fix bug in SetFPRF: Should only consider lower double
2018-12-28 06:37:43 -05:00
Mat M b7db1f020b Merge pull request #7624 from lioncash/paired-single
PowerPC: Remove separate macros for paired singles
2018-12-28 06:32:45 -05:00
Mat M 8c9f553734 Merge pull request #7620 from lioncash/paired
Interpreter: Handle HID2.PSE and HID2.LSQE bits
2018-12-28 06:30:37 -05:00
Mat M 7509ade6d0 Merge pull request #7650 from JMC47/FF3EFB2RAM
Enable EFB2RAM by default in Final Fantasy III
2018-12-28 06:23:25 -05:00
Mat M b37455ef46 Merge pull request #7652 from JMC47/NetplayWarning
Update Netplay Main Page Notices
2018-12-28 06:22:56 -05: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
Mat M de03019c77 Merge pull request #7628 from jordan-woyak/stick-shapes
ControllerEmu: Add ability to reshape analog sticks. Make the mapping indicator pretty.
2018-12-28 06:18:56 -05:00
Mat M f006af441e Merge pull request #7655 from MerryMage/rm-Jitx86Base
Jit64: Remove Jitx86Base class
2018-12-28 06:16:18 -05:00
Mat M bd527e62ef Merge pull request #7647 from MerryMage/emit-singles
x64Emitter: Add some single-precision instructions
2018-12-26 09:33:06 -05:00
Lioncash 244d083f0e PowerPC: Remove separate macros for paired singles
Previously, PowerPC.h had four macros in it like so:

\#define rPS0(i) (*(double*)(&PowerPC::ppcState.ps[i][0]))
\#define rPS1(i) (*(double*)(&PowerPC::ppcState.ps[i][1]))

\#define riPS0(i) (*(u64*)(&PowerPC::ppcState.ps[i][0]))
\#define riPS1(i) (*(u64*)(&PowerPC::ppcState.ps[i][1]))

Casting between object representations like this is undefined behavior.
Given this is used heavily with the interpreter (that is, the most
accurate, but slowest CPU backend), we don't exactly want to allow
undefined behavior to creep into it.

Instead, this adds a helper struct for operating with the paired singles,
and replaces the four macros with a single macro for accessing the
paired-singles/floating-point registers.

This way, it's left up to the caller to explicitly decide how it wants to interpret
the data (and makes it more obvious where different interpretations of
the same data are occurring at, as there'll be a call to one of the
[x]AsDouble() functions).
2018-12-25 10:35:09 -05: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
Lioncash 52cae18b01 Interpreter: Handle paired-single HID2.PSE and HID2.LSQE bits
These bits enable or disable paired-single execution based on how
they're set. If PSE isn't set, then all paired-single instructions are
illegal. If PSE is set, but LSQE isn't set, then psq_l, psq_lu, psq_st
and psq_stu are illegal to execute.

Also thanks go out to my roommate @Veegie for letting me use his Wii as
a blasting ground for tests, since mine isn't on hand right now. It only
caught on fire twice and only burned down half of the house through the
process; what a team player.
2018-12-13 22:48:05 -05:00
Lioncash c87a2f57b4 Interpreter_SystemRegisters: Handle reserved/read-only bits for HID2 in mtspr 2018-12-13 11:39:40 -05:00
Mat M 3e03b13392 Merge pull request #7581 from JosJuice/netplay-sync-strings
Minor fixes to netplay sync strings
2018-11-20 10:05:20 -05:00
Mat M 61821b067f Merge pull request #7508 from zackhow/lock-landscape
Android: lock screen to landscape by default
2018-10-24 21:52:15 -04:00
Mat M 74c49c961e Merge pull request #7504 from JosJuice/game-id-partition-none
Fix issue 11422 (inconsistent game ID for some hacked games)
2018-10-24 21:15:10 -04:00
Mat M 748b275c9a Merge pull request #7511 from stenzek/dolphin-no-gui-build
CMake: Fix DolphinNoGUI build
2018-10-24 21:10:54 -04:00
Mat M 4d62037f88 Merge pull request #7505 from JosJuice/korean-country-code
DiscIO: Restore the Korean case in CountryCodeToCountry
2018-10-19 17:28:50 -04:00
Mat M bbb08eec98 Merge pull request #7487 from JosJuice/wii-menu-1.0-region-2
Treat Wii Menu 1.0 as NTSC-U
2018-10-12 14:45:17 -04:00
Mat M 57529bc455 Merge pull request #7438 from RolandMunsil/master
Fix issue where breakpoint type wasn't correct in debugger memory view.
2018-10-12 10:30:31 -04:00
Mat M ecd4897d43 Merge pull request #7437 from stenzek/graphics-options-race
Fix race condition caused by opening graphics options while running
2018-10-12 10:29:28 -04:00
Mat M 7ac90b55d6 Merge pull request #7466 from zackhow/hide-savestate
Android: Require user to enable savestate menu options
2018-10-12 10:27:44 -04:00
Mat M b3cd6158fc Merge pull request #7471 from JosJuice/country-region-switch
DiscIO: Improve RegionSwitch/CountrySwitch
2018-10-12 10:25:45 -04:00
Mat M 6e40955a8a Merge pull request #7481 from Tilka/update_discord
Externals: update discord-rpc for readlink fix
2018-10-12 10:24:24 -04:00
Mat M 74fd95c4c4 Merge pull request #7465 from Tilka/mtfsf_disasm
GekkoDisassembler: fix disassembly of mtfsf
2018-10-07 20:53:55 -04:00
Mat M 0e0fd18d5e Merge pull request #7428 from MerryMage/rm-j-GenFrsqrte
GenFrsqrte: Reduce branches in fast-path and inline most behavior
2018-09-28 13:41:23 -04:00
Mat M a1db82a72e Merge pull request #7411 from JosJuice/wii-metadata-unencrypted
Read Wii disc metadata from the unencrypted header
2018-09-28 00:44:25 -04:00
Mat M a5c74cd6d1 Merge pull request #7382 from stenzek/drop-vk-nv-glsl
Vulkan: Drop usage of VK_NV_glsl extension
2018-09-27 21:56:22 -04:00
Mat M 3cee297c87 Merge pull request #7331 from booto/si_buffer
SI: Add 16bit accessors for SI IO buffer
2018-09-27 21:50:50 -04:00
Mat M d0b2f04539 Merge pull request #7421 from JosJuice/qt-sd-hotplug
DolphinQt: Allow inserting/ejecting SD cards during emulation
2018-09-27 21:48:16 -04:00
Mat M 62b88f890d Merge pull request #7422 from JosJuice/scrub-unencrypted
Fix scrubbing unencrypted Wii disc images
2018-09-27 21:47:49 -04:00
Mat M 3405c7d420 Merge pull request #7386 from MerryMage/seq-points
Arm64Emitter: Remove unsequenced expressions
2018-08-30 04:18:36 -04: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 3130d388db Externals: Update SFML to 2.5.0
Among other things, this finally allows pushing 64-bit values into
packets without needing to manually subdivide the value into two 32-bit
values.
2018-08-27 17:18:24 -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 8753321841 IOWin: Use anonymous namespaces where applicable
Several functions (and one variable) were being given external linkage.
Instead, relocate them all to anonymous namespaces to make them
internally linked.
2018-08-27 16:10:07 -04:00
Lioncash d40022d6d0 JitInterface: Move explanatory comment of ClearSafe() to the function's prototype
Puts the comment in the header where it's more likely to be seen
initially. We can also remove the TODO, given doing nothing or returning
an error is what is generally done for the JIT interface if the JIT
instance isn't valid.
2018-08-27 13:04:05 -04:00
Lioncash 36b24bf7a0 PowerPC: Remove Profiler.cpp
With 7aa305ea35 merged, all that remains
within Profiler.cpp is an unused function that just forwards to the
equivalent function within JitInterface. Given that, we can just remove
the source file.
2018-08-27 12:13:39 -04:00
Lioncash 7aa305ea35 Profiler: Migrate global g_ProfileBlocks boolean to JitOptions
This global belongs in the JitOptions structure, as it's a conditional
setting (A.K.A. option) that changes the behavior of what the JIT does.

Plus it keeps the scope of the variable constrained to the general area
it's intended to be used and nothing further.
2018-08-27 11:30:19 -04:00
Lioncash cc2ef5a2c3 JitArm64/Jit: Don't cast away const within DumpCode()
swap32() has a const u8* overload that swaps the data being pointed to as
if it were a 32-bit word. We can just use that instead. It gets rid of
undefined behavior, as we're not type punning a pointer and dereferencing it,
and gets rid of the need to cast entirely.
2018-08-27 10:28:11 -04:00
Lioncash e81408588f JitCommon/JitCache: Make JitBlock's checkedEntry and normalEntry members non-const pointers
In both cases of the x64 and AArch64 JITs, these would have const casted
away from them, followed by them being placed within an emitter and
having breakpoint instructions written in them.

In this case, we shouldn't be using const period if we're writing to the
emitted data.
2018-08-27 10:23:22 -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
Mat M 31b4461ff6 Merge pull request #7361 from BhaaLseN/jit-global
Jit64: get rid of global g_jit accesses
2018-08-25 12:29:02 -04:00
Mat M 8f847c7655 Merge pull request #7343 from spycrab/qt_bp_fix
Qt/Debugger: Readd title bar to breakpoint widget
2018-08-19 08:41:36 -04:00
Mat M 0ed0e513d2 Merge pull request #7341 from AdmiralCurtiss/simplified-libpng
Use simplified libpng PNG reading API to avoid PNG reading bugs.
2018-08-19 07:30:36 -04: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
Lioncash a4110ad958 PowerPC: Deduplicate Helper_Mask() code
We can share this across all implementations instead of duplicating it
in different ways.
2018-08-12 17:24:16 -04:00
Mat M 3d0ea980a6 Merge pull request #7321 from VPeruS/fix-assignment
Core/UICommon: Fix assignment to pointer
2018-08-12 16:59:56 -04:00
Mat M a2b97665bb Merge pull request #7316 from JMC47/removelswxpanic
Disable a panic alert in lswx that makes using not64 impossible
2018-08-10 21:34:05 -04:00
Mat M bb255d2666 Merge pull request #7309 from JosJuice/remove-frameskip-even-more
ConfigManager: Remove m_FrameSkip
2018-08-09 04:51:29 -04:00
Mat M 7be818a354 Merge pull request #7286 from orbea/cubeb
cmake: Support shared cubeb builds.
2018-08-08 13:25:57 -04:00
Lioncash ac1b48497e NetPlayServer: Make g_initial_netplay_rtc a member variable of NetPlayClient
Behaviorally, this belongs within the netplay client. The server will
always transmit a known RTC value, so it doesn't even need a global for
this. Given the client receives the packet containing said RTC value, we can
store it as a member variable and provide an accessor for reading that
value.

This removes another global variable within the netplay code.
2018-08-03 23:20:16 -04:00
Mat M a21d536f99 Merge pull request #7282 from booto/no-more-global-dcbz-disable
Config: Remove Core::DCBZ [bDCBZOFF] - obsolete
2018-07-20 23:05:38 -04:00
Mat M bcd2a76f2b Merge pull request #7281 from JMC47/rubiks
Update INI for Rubik's Rush
2018-07-20 13:36:14 -04:00
Mat M bcdffdfe63 Merge pull request #7280 from Techjar/qt-cheats-manager-crash
Qt/CheatsManager: Fix segfault in GenerateARCode
2018-07-18 18:05:45 -04:00
Mat M bd29548f2a Merge pull request #7270 from JMC47/NeedForSpeedMWFollowBranch
Disable JITFollowBranch for Need For Speed:MW
2018-07-16 23:45:24 -04:00
Mat M 944b5fade6 Merge pull request #7264 from ligfx/ffmpeg_deprecations
Fix deprecation warnings with recent FFmpeg versions
2018-07-16 23:44:18 -04:00
Mat M 5516731a72 Merge pull request #7271 from JosJuice/remove-wx-settings
Remove settings that only were used by DolphinWX
2018-07-16 15:53:21 -04:00
Lioncash a9003aadc6 DolphinQt/MainWindow: Replace includes with forward declarations
Reduces the amount of dependencies dragged in by the main window's
header. This also removes MainWindow.h includes elsewhere where they
aren't necessary, reducing the amount of UI files that need to be
recompiled if the main window's header changes.
2018-07-15 18:46:26 -04:00
Lioncash 71de1abd88 Core/BootManager: Remove unnecessary includes
Lessens the amount of files that have to be recompiled if
ConfigManager.h is modified. This also removes an indirect inclusion
within DolphinQt/Main.cpp.
2018-07-14 23:16:23 -04:00
Mat M 865d737efd Merge pull request #6641 from BhaaLseN/dsp-update
docs: Update the GameCube DSP User's Manual
2018-07-13 17:18:26 -04:00
Lioncash 9983d92981 WiimoteEmu: Resolve unrelated lint code style warnings
This discrepancy was introduced in b3b1845785
2018-07-13 13:34:00 -04:00
Lioncash cfe7549091 ControlGroup/Triggers: Return state data by value
Makes it less error-prone to get state data from analog sticks (no need
to pass any locals), and also allows direct assignment, letting the
retrieved data be const.
2018-07-13 13:20:35 -04:00
Lioncash 97ba02df27 ControlGroup/Tilt: Return state data by value
Makes it less error-prone to get state data from tilt controls (no need
to pass any pointers to locals), and also allows direct assignment,
letting the retrieved data be const.
2018-07-13 13:20:35 -04:00
Lioncash 918d448b5b ControlGroup/Slider: Return state data by value
Makes it less error-prone to get state data from sliders (no need
to pass any locals), and also allows direct assignment, letting the
retrieved data be const.
2018-07-13 13:20:35 -04:00
Lioncash 4c30b9e14d ControlGroup/Force: Return state data by value
Ensures that an array of sufficient size is always used and doesn't put
the responsibility on the caller. It also allows for direct assignment.
2018-07-13 13:20:35 -04:00
Lioncash ef1240b0c7 ControlGroup/Cursor: Return state data by value
Makes it less error-prone to get state data from cursors (no need
to pass any pointers to locals), and also allows direct assignment,
letting the retrieved data be const.
2018-07-13 13:20:35 -04:00
Lioncash d05f490caa ControlGroup/AnalogStick: Return state data by value
Makes it less error-prone to get state data from analog sticks (no need
to pass any locals), and also allows direct assignment, letting the
retrieved data be const.
2018-07-13 13:20:31 -04:00
Lioncash d80f91478f WiimoteReal: Make functions internally linked where applicable
These functions are only used within this translation unit, so they can
be made internally linked.
2018-07-13 09:24:27 -04:00
Lioncash 7f8cdbb2a4 CMake: Only link in Bochs on x86 platforms
Bochs' disassembler is only for disassembling x86 code. On non-x86
platforms it doesn't really make sense to build and link this in.
2018-07-12 16:44:17 -04:00
Lioncash 113a357604 WiimoteEmu: Make constructor of Wiimote explicit
Prevents implicit conversions
2018-07-12 15:59:31 -04:00