Commit Graph

23569 Commits

Author SHA1 Message Date
Lioncash ab2adfb0a7 Common/HttpRequest: Simplify cURL initialization
std::call_once is guaranteed to execute the given callable object
exactly once. This guarantee holds even if the function is called
concurrently from several threads.

Given that, we can replace the mutex and boolean flag with
std::call_once and a std::once_flag to perform the same behavior.
2019-05-27 09:46:57 -04:00
Lioncash b15f595130 Common/HttpRequest: Avoid unnecessary copies in loop in Fetch()
Previously, every entry pair within the map would be copied. The reason
for this is subtle.

A std::map's internal entry type is defined as:

std::pair<const Key, Value>

but the loop was declaring it as:

std::pair<Key, Value>

These two types aren't synonymous with one another and so the compiler
is required to always perform a copy.

Using structured bindings avoids this (as would plain auto or correcting
the explicit type), while also allowing the use of more appropriate
names compared to first and second.
2019-05-27 09:36:31 -04:00
Lioncash 8dc8cf8019 Common/HttpRequest: std::move callback in constructor
std::function is allowed to heap allocate in order to hold any necessary
bound data in order to execute properly (e.g. lambdas with captures), so
this avoids unnecessary reallocating.
2019-05-27 09:26:28 -04:00
Pokechu22 69d9d9f87a Also free when initialization fails, and move to end 2019-05-26 19:59:29 -07:00
Pokechu22 19fb3bb4fe DX11: Fix access violation on closing dolphin 2019-05-26 15:01:05 -07:00
Léo Lam f92c17e76f
Merge pull request #7799 from Tilka/mapping
DolphinQt/Mapping: red = error, don't flash
2019-05-26 18:10:06 +02:00
Tillmann Karras 2195ef30f3 DolphinQt/Mapping: red = error, don't flash 2019-05-26 17:59:30 +02:00
Roland Munsil 4ce7079098 CheatsManager: Improve performance of searching & add input validation
The previous implementation of cheat search would reconvert the input
string for every single memory value. Now we do it once and construct
a comparison lambda which we pass to the search code.

In addition, I also added input validation. So, for example, if you've
selected Decimal input and you try to compare against "FF",
it won't search and will instead let the user know they've entered an
invalid value. Similar logic for if you enter "1.2" in a search for
bytes. Before, it would just use 0 if it failed to convert the value.
2019-05-26 17:32:48 +02:00
Admiral H. Curtiss 15abb1c92d GCMemcardDirectory: Improve logic for which files are loaded into the virtual memory card.
- Files for the current game are now guaranteed to be loaded, space and validity permitting.
- Avoid showing PanicAlerts for every problem encountered, most of them aren't really important enough and will probably just annoy the user.
- And for the only error the user will definitely care about, when the save of the game they're trying to play fails to load, show an imgui message instead.
2019-05-25 21:51:36 +02:00
Admiral H. Curtiss 5af05f6714 GCMemcard/GCIFile: Implement LoadHeader(). 2019-05-25 21:49:09 +02:00
Admiral H. Curtiss 884af05589 GCMemcardDirectory: Move GCIFile class to its own file. 2019-05-25 21:49:09 +02:00
8times9 00855552e9 Qt/MenuBar: Reorder Tools menu 2019-05-25 20:22:52 +02:00
Léo Lam edf988b465
Merge pull request #8019 from AdmiralCurtiss/gcmemcard-header-cleanup
GCMemcard: A little cleanup.
2019-05-25 19:20:43 +02:00
Admiral H. Curtiss e390fd0f4e GCMemcard: Remove unused ability of ImportGci() to write a GCI file to disk. 2019-05-25 17:58:05 +02:00
Admiral H. Curtiss 018572018e GCMemcard: Dismantle the global return value enum into a few function specific enum classes. 2019-05-25 17:58:05 +02:00
Admiral H. Curtiss d09303683c GCMemcard: Convert a few enums into constexprs. 2019-05-25 17:58:05 +02:00
Admiral H. Curtiss cbc5acb8cd GCMemcard: Get rid of stray signed length in ImportGciInternal(). 2019-05-25 17:58:05 +02:00
Admiral H. Curtiss 2d38364410 GCMemcard: Remove memsets that don't do anything in GCMemcard::Format(). 2019-05-25 17:58:05 +02:00
Admiral H. Curtiss 88a0773309 GCMemcard: Rewrite checksum calculation without undefined behavior. 2019-05-25 17:58:05 +02:00
Admiral H. Curtiss fcd75841ca GCMemcard: Rewrite Header::CalculateSerial() without undefined behavior. 2019-05-25 17:58:05 +02:00
Léo Lam 5fb56505b2
Merge pull request #8109 from leoetlino/ios-usb-fixes
IOS: USB fixes
2019-05-24 22:03:46 +02:00
Léo Lam 6dd0fe21f2 IOS/USB: Claim all interfaces ahead-of-time
To avoid having to claim/release interfaces all the time, and having to
trigger interface changes from several places, all interfaces are now
claimed ahead of time.

This commit also makes us avoid changing the active interface when it's
not necessary.

Changing the active interface has side effects such as resetting the
active alternate setting -- which is extremely undesirable because it
would require the emulated software to change the alternate setting
again, which isn't supposed to be necessary at all.

This fixes Your Shape, which submits isochronous transfers on an
endpoint that only exists in alt setting 6 right after submitting
control transfers (which would have reset to alt setting 0 prior to
this fix).
2019-05-24 20:47:46 +02:00
8times9 aeb02d83db Qt/InterfacePane: Move "Keep on Window on Top" to Render Window section 2019-05-24 13:18:49 -05:00
Léo Lam e07b514b62
Merge pull request #8115 from booto/powerpc_pvr
PowerPC: Add Broadway's PVR (retail Wii)
2019-05-24 14:51:06 +02:00
Léo Lam 9373bc3aa9
Merge pull request #8102 from dreamsyntax/debug-mousefix
Qt/Debugger CodeWidget navigation unification
2019-05-24 14:49:05 +02:00
dreamsyntax e06a62d9d1 Qt: Fix CodeWidget navigation
Changed itemSelectionChanged and itemClicked signal to itemPressed in CodeWidget.
Holding mouse down and moving will only travel up/down the stack one time.
This fixes the common occurrence of unintentionally traveling deeper down the stack or higher up the callstack than intended.
2019-05-24 14:39:15 +02:00
Léo Lam 6eb7c525b2
Merge pull request #7801 from GerbilSoft/feature/Discord-PPCTitleChanged
Update Discord rich presence when the PPC title changes
2019-05-24 14:30:52 +02:00
David Korth 8417c78b7a Update Discord rich presence when the title changes
This allows us to update the rich presence description if a channel
is launched from the Wii Menu. It also handles other PPC title
launches, e.g. Smash Bros. Masterpieces.

Host.h: Added Host_TitleChanged().

DolphinNoGUI/MainNoGUI.cpp: Implemented Host_TitleChanged().
DolphinQt/Host.cpp: Implemented Host_TitleChanged().

Android/jni/MainAndroid.cpp: Stubbed Host_TitleChanged().
DSPTool/StubHost.cpp: Stubbed Host_TitleChanged().
UnitTests/StubHost.cpp: Stubbed Host_TitleChanged().
2019-05-24 14:12:48 +02:00
booto 27cb407ecf PowerPC: Add Broadway's PVR (retail Wii) 2019-05-23 19:56:41 -04:00
Léo Lam 702344ba9c
Merge pull request #8105 from 8times9/render-window
Qt/InterfacePane: Rename "In-Game" to "Render Window"
2019-05-23 13:06:36 +02:00
Léo Lam 617747e905
Merge pull request #8113 from lioncash/ini-key
Common/IniFile: Simplify Set()
2019-05-23 12:15:30 +02:00
Léo Lam 67c2aa0701
Merge pull request #8114 from lioncash/ini-line
IniFile: Prevent potential out-of-bounds access in ParseLine()
2019-05-23 12:12:41 +02:00
Lioncash 2ae370fc37 IniFile: Prevent potential out-of-bounds access in ParseLine()
While current usages of ParseLine aren't problematic, this is still a
public function that can be used for other purposes. Essentially makes
the function handle potential external inputs a little nicer.
2019-05-22 21:09:11 -04:00
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
booto 03d7fef5a6 ARAM: No ARAM backing DMA in wiimode 2019-05-21 22:23:42 -04:00
booto 70299f2505 ARAM: rework DMA
Changes include:
  * Take into account how different size settings interact
  * Do ARAM DMA transfers in chunks rather than all-at-once
2019-05-21 22:23:42 -04:00
booto 73c0a4ee81 DSP: Experiment with cleaning up ARAM accessor 2019-05-21 22:23:42 -04:00
Léo Lam 2b44e1b851 IOS/USB: Fix initial device scan
Even though libusb is supposed to be thread-safe, in practice
it's not (at least on Windows); getting a list of devices from two
different threads can result in libusb crashes. This is easily
fixed by waiting for the scan thread to complete scanning instead
of running the scan on the CPU thread.

This also fixes an issue that I had overlooked in the initial
implementation: IOS interfaces such as OH0 are sometimes opened
every frame, in which case we were doing a full device scan every
single frame on the CPU thread!
2019-05-21 19:07:30 +02:00
Léo Lam b274a054a9 IOS/VEN: Read cancel endpoint correctly
Fixes an embarrassing bug that made the implementation utterly useless.

This fixes Your Shape hanging on shutdown. The game was waiting for an
interrupt transfer to be cancelled, and Dolphin wasn't cancelling
transfers on the correct endpoint.
2019-05-21 19:07:30 +02:00
Léo Lam d7e23d71f8 IOS/VEN: Return -4 when no transfer was cancelled
Simple accuracy fix.
2019-05-21 19:07:30 +02:00
Léo Lam 4c6ef81291 IOS/USB: Verify that isochronous req buffer size is consistent
To catch possible bugs.
2019-05-21 19:07:30 +02:00
Léo Lam a6da38d75d IOS/USB: Fix TransferCommand length type
The total buffer size for isochronous transfers should be a u32,
not a u16. It is easy to hit the bug with devices such as cameras,
which require larger buffers.

This fixes Your Shape.

This also fixes the length type for bulk and interrupt transfers,
which should be u32 as that's what IOS supports. I'm not sure why
I made them u16... probably because OH0 uses u16 for most lengths...
2019-05-21 19:07:30 +02:00
Léo Lam 5226d6103a IOS/USB: Add debug logging for all transfers
This makes debugging USB issues easier.
2019-05-21 19:07:29 +02:00
Léo Lam 57fbf1cd6e
Merge pull request #8107 from lioncash/string
DolphinQt/AboutDialog: Remove unnecessary QStringLiteral
2019-05-21 18:44:37 +02:00
Lioncash 1d22e50899 Core/Boot/Boot: Amend use-after-move cases in GenerateFromFile()
In terms of order of operations, the move would occur first before the
construction of the relevant reader would occur. However, given the
local variable 'path' was declared const, this bug actually wouldn't
occur, as std::move on a const variable does nothing (in a non-mutable
context), resulting in a copy instead, masking this issue.

Given this is a bug waiting to happen, we correct the code.
2019-05-21 08:44:29 -04:00
Lioncash ae329b7b1b DolphinQt/AboutDialog: Remove unnecessary QStringLiteral
QStrings automatically initialize to an empty string by default, making
this unnecessary.
2019-05-21 07:13:14 -04:00
Léo Lam e2c769a9c5
Merge pull request #7992 from artemist/centering
ControllerEmu: Add support for setting the center of a ReshapableInput
2019-05-20 18:29:31 +02: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
Artemis Tosini 4bbbd02de7
ControllerEmu: Do not change center when closing window 2019-05-19 16:55:29 +00:00
8times9 ba3b59fd18 Qt/InterfacePane: Rename In-Game to Render Window 2019-05-18 16:01:38 -05:00
Artemis Tosini e5683988c0
ControllerEmu: Zero the center of a ReshapableInput when calibrating 2019-05-18 19:32:48 +00:00
Artemis Tosini 99cf9a57fc
Draw center when calibrating and remove constant
This adds the center to the calibration menu when it is nonzero.
It also refactors CENTER_COLOR to be a function, similar to other colors
after an earlier commit.
2019-05-18 18:36:28 +00:00
Artemis Tosini 49e46c8aff
ControllerEmu: Add support for setting the center of a ReshapableInput
This is useful in far out-of-calibration controllers, such as the
Switch Pro controller. This also adds support for configuring the center
in the Mapping widget.
2019-05-18 14:45:16 +00:00
Admiral H. Curtiss 6e04e4dd6a GCMemcard: DEntry: Move code out of header. 2019-05-18 15:44:38 +02:00
Admiral H. Curtiss 17da22a84f GCMemcard: GCMBlock: Move code out of header. 2019-05-18 15:44:38 +02:00
Admiral H. Curtiss e4094d9d2d GCMemcard: BlockAlloc: Move code out of header, fix naming conventions. 2019-05-18 15:44:38 +02:00
Admiral H. Curtiss 4b46f71b3c GCMemcard: Header: Move code out of header, fix naming conventions. 2019-05-18 15:44:38 +02:00
Admiral H. Curtiss 0052b313d6 GCMemcard: Directory: Move code out of header, add some boundary checks, fix naming conventions. 2019-05-18 15:44:38 +02:00
Léo Lam d3c4d278e2
Merge pull request #8077 from leoetlino/debugger-valign
Qt/Debugger: Fix register cell text vertical alignment
2019-05-17 20:17:52 +02:00
spycrab 481b7cd085 DolphinQt/CMake: Fix Gettext not getting run on Windows 2019-05-15 19:19:16 +02:00
spycrab bdd37c4dbc DolphinQt/CMake: Copy files as a post build step 2019-05-15 19:19:15 +02:00
spycrab ec734065db
Merge pull request #8087 from spycrab/cmake_win2019
Support CMake on Windows
2019-05-14 21:07:26 +02:00
Vincent Cunningham b35c58451a
Clear existing GCPad state 2019-05-14 03:33:29 -04:00
Connor McLaughlin 0ab41717a4
Merge pull request #8095 from leoetlino/audio-race
Fix a race condition when shutting down audio stream
2019-05-12 15:18:36 +10: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 ba83cec6fb Qt/CMake: Support MSVC w/ external CMake 2019-05-12 00:44:02 +02:00
spycrab c8795f799e Core/CMake: Silence some warnings 2019-05-12 00:44:02 +02:00
spycrab 1121a04718 DolphinQt/CMake: Silence some warnings 2019-05-12 00:44:01 +02:00
spycrab 199c0943a4 DolphinQt/CMake: Building on Windows 2019-05-12 00:05:10 +02:00
spycrab 6cef70c182 VideoBackends/D3D: Fix CMakeLists.txt 2019-05-12 00:05:09 +02:00
spycrab b5160ec685 Common/CMake: Fix Windows build 2019-05-12 00:05:08 +02:00
TryTwo 86d1e6cd7e Qt/Debugger: Improve Code View
* Use font based sizing for row height. Fits more rows on screen.
* Adds whitespace for better formatting and minimum column width.
  Helps prevent frequent resizing while scrolling.
2019-05-11 17:48:49 +02:00
Léo Lam 7c46497f04 Fix a race condition when shutting down audio stream
The main EmuThread (in Core) is responsible for both initialising the
audio stream and shutting it down properly.

When the core is shutting down (when state is State::PowerDown), it is
possible that the CPU or CPU-GPU thread and the UI thread will both
try to stop the audio stream at the same time, which is an issue
because some audio backends such as cubeb are not thread-safe.

This commit prevents the race from ever happening in the first place
by removing the call to AudioCommon::SetSoundStreamRunning from
CPU::RunAdjacentSystems, which is actually completely unnecessary when
shutting down because Core::EmuThread is going to stop the stream and
perform more cleanup anyway.

Should fix https://bugs.dolphin-emu.org/issues/11722
2019-05-11 16:36:42 +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
Miksel12 ee8226cc1b Set Cubeb as default on Windows
Cubeb and Xaudio2 are identical in features while Cubeb has lower
latency and is still actively being worked on.
2019-05-11 14:22:03 +02:00
Léo Lam 2f89a50318
Merge pull request #7778 from jordan-woyak/wheel-accel-brake
SI/GCSteeringWheel: Allow simultaneous use of accelerator and brake.
2019-05-11 12:24:19 +02:00
Léo Lam 57743637de
Merge pull request #8088 from Pokechu22/modal-control-mapping
Allow interacting with the render window while configuring controllers
2019-05-11 10:45:28 +02:00
Léo Lam e35ccd5a9a
Merge pull request #8091 from leoetlino/traversal-chrono
TraversalServer: use C++ <chrono> instead of gettimeofday
2019-05-11 10:44:49 +02:00
Anthony 3ab06dcd02
Merge pull request #8016 from jordan-woyak/emu-wm-ir-rename
WiimoteEmu/DolphinQt: Rename "IR" to "Point" and eliminate redundant Forward/Backward actions.
2019-05-10 19:16:40 -07:00
Anthony 46561cc242
Merge pull request #8092 from leoetlino/double-switcheroo
Core/AddressSpace & Qt/Debugger: Fix parameter order mixup
2019-05-10 19:11:01 -07:00
Anthony e66d25312e
Merge pull request #8090 from stenzek/video-buffer-reset
CommandProcessor: Don't reset the video buffer when FIFO distance is changed
2019-05-10 19:10:39 -07:00
Léo Lam e66547d6e5 Qt: Fix AddressSpace::WriteXXX parameter order mixup 2019-05-11 00:16:27 +02:00
Léo Lam d00711b34f AddressSpace: Fix PowerPC::HostWrite_XXX parameter order mixup 2019-05-11 00:15:15 +02:00
Jordan Woyak f74f49383c SI/GCSteeringWheel: Allow simultaneous use of accelerator and brake. 2019-05-10 17:11:43 -05:00
Michael M 916a97b869 TraversalServer: use C++ <chrono> instead of gettimeofday 2019-05-10 21:33:26 +02:00
Pokechu22 7c80fcde53 Allow interacting with the render window while configuring controllers
WindowModal allows alt+tabing to the render window, but prohibits interaction
with parent windows (controller settings window and the main dolphin window).
2019-05-10 11:27:36 -07:00
Léo Lam e7bc86881d
Merge pull request #8056 from JosJuice/more-enums-to-constexpr
Turn more enum constants into constexpr
2019-05-10 18:52:52 +02:00
Stenzek 3e29fdb4a7 CommandProcessor: Don't reset the video buffer when FIFO distance is changed
This prevents partially-processed commands from being lost when switching buffers.
2019-05-11 00:31:37 +10:00
Léo Lam 672e8d78c6
Merge pull request #7994 from faxx1080/qt_adddebuglog
DolphinQt: Add debug log option in GUI for debug builds
2019-05-10 15:33:33 +02:00
JosJuice 8e2277e1f2 Turn more enum constants into constexpr
https://bugs.dolphin-emu.org/issues/11692#note-7
2019-05-10 15:04:16 +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
weihuoya e98f43d2af bbox minor fx 2019-05-09 17:30:17 +08:00
Jordan Woyak 374585f128 WiimoteEmu/DolphinQt: Rename "IR" to "Point" and eliminate redundant Forward/Backward mappings. 2019-05-08 20:27:41 -05:00
spycrab c7dcba1c5f WinUpdater: Add CMakeLists.txt 2019-05-08 23:59:04 +02:00
spycrab f1fae37a81 DolphinQt/CMake: Don't build SignalDaemon on Windows 2019-05-08 21:10:41 +02:00
spycrab 967252dded IOS/FS/Filesystem: Work around macro problem 2019-05-08 21:06:17 +02:00
spycrab 12a26453e9 InputCommon/ControlGroup.h: Add missing include 2019-05-08 21:03:11 +02:00
spycrab 7eaece8814 InputCommon/Device.cpp: Add missing include 2019-05-08 21:02:26 +02:00
spycrab 98d808ab71 InputCommon/DInput.h: Add missing include 2019-05-08 21:01:46 +02:00
spycrab 5625baa32c UICommon/VideoUtils.cpp: Add missing include 2019-05-08 21:00:23 +02:00
spycrab 35f7abfe76 VideoBackends/D3DCommon: Fix linking against self 2019-05-08 20:59:15 +02:00
Léo Lam 1030dec340 DolphinQt: Use LogTypes::LOG_LEVELS instead of magic numbers
Also gets rid of two unnecessary casts.
2019-05-08 14:54:30 +02:00
Frank 57c64e57ef DolphinQt: Add debug log option in GUI for debug builds 2019-05-08 14:47:34 +02:00
Vlad Firoiu 239af3cdf9 Step MemoryWatcher at end of each video frame. 2019-05-08 11:20:59 +01:00
Léo Lam 6607d9512f
Merge pull request #8081 from jordan-woyak/structured-binding
DolphinQt: Use a structured binding.
2019-05-08 10:37:15 +02:00
Jordan Woyak 0de6b5f7fa WiimoteEmu: Implement "Drawsome" tablet. 2019-05-07 18:07:24 -05:00
JosJuice 91f5d577cc
Merge pull request #8084 from leoetlino/wiisave-sign
WiiSave: Fix save signing
2019-05-07 14:43:50 +02:00
Léo Lam 2740ff9a9d WiiSave: Fix save signing
The system menu is passing the SHA1 hash of the save data to ES
to sign, not the save data itself.

Fixes save import in the System Menu for saves that were exported
by Dolphin.
2019-05-07 01:09:48 +02:00
Jordan Woyak f055d37346 WiimoteEmu: Add game quirk report for reading of EXT/IR input directly, which will fail with TAS/NetPlay. 2019-05-06 15:36:05 -05:00
Jordan Woyak 6ebd35d511 DolphinQt: Use a structured binding. 2019-05-06 15:33:57 -05: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
JosJuice bb1ed46753 Use [[fallthrough]] in DiscExtractor
This was missed in PR 6273 because the fallthrough was added to
DiscExtractor after that PR was created.
2019-05-05 10:35:45 +02:00
Léo Lam db159ec8bf Qt/Debugger: Vertically align text in register cells
Looks better with the text vertically aligned.
2019-05-05 10:30:22 +02: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 6f84984b7b Use attribute [[fallthrough]] 2019-05-04 23:04:18 +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 afa46aaf43
Merge pull request #7887 from lioncash/hid
DolphinQt/Debugger/RegisterColumn: Add HID registers to the register pane
2019-05-04 22:33:45 +02:00
Léo Lam 623b37d928
Merge pull request #8053 from jordan-woyak/profile-dropdown-fix
DolphinQt: Profile combobox fixes.
2019-05-04 21:37:06 +02:00
Connor McLaughlin 184f334158
Merge pull request #8074 from Qyriad/fixes/set-user-dir-properly
UICommon: Properly set user dir if ./user is a file (not a directory)
2019-05-04 16:15:00 +10:00
Techjar 1dd8263375 Qt/NetPlayDialog: Fix checksum menu being visible for everyone
The wrong function was used to attempt to hide the menu. Non-hosts will
segfault upon trying to use it as they don't have a server instance.
2019-05-04 01:54:57 -04:00
Mikaela Szekely 8fe7e271f3
UICommon: Properly set user dir if ./user is a file (not a directory) 2019-05-03 23:30:50 -06:00
Jordan Woyak 6784225573 DolphinQt: Profile combobox fixes. 2019-05-03 16:29:22 -05:00
Léo Lam 159fa3ec36
Merge pull request #8057 from jordan-woyak/emu-tatacon
WiimoteEmu: Implement TaTaCon extension.
2019-05-03 11:52:39 +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
Jordan Woyak 27043c1dac WiimoteEmu: Implement TaTaCon extension. 2019-05-02 19:35:46 -05:00
Léo Lam 3b16d2261a
Merge pull request #8065 from jordan-woyak/wm-ext-names
WiimoteEmu/DolphinQt: Better extension display names.
2019-05-02 13:14:17 +02:00
Jordan Woyak 77bda63627 DolphinQt: Don't refresh devices on open of mapping UI. 2019-05-01 19:30:02 -05:00
Jordan Woyak 99f537d499 WiimoteEmu/DolphinQt: Better extension display names. 2019-05-01 17:25:48 -05:00
Léo Lam 98b670dd29
Merge pull request #7966 from Techjar/fix-netplay-full-wii-save
Core/WiiRoot: Fix NetPlay full Wii save sync not copying all the saves back to main NAND
2019-05-01 19:29:38 +02:00
Léo Lam f4d7b537cc
Merge pull request #7958 from Craftyawesome/cpu-emulation-order
Re-order cpu emulation options from fastest to slowest
2019-05-01 17:56:19 +02: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
Léo Lam bec85a0962
Merge pull request #8013 from JosJuice/titledatabase-japanese-gc
Show Japanese GC games in Japanese when using TitleDatabase
2019-05-01 17:37:31 +02:00
Léo Lam ef88dd73b3
Merge pull request #8014 from JosJuice/getuniqueidentifier-language-independent
Make GameFile::GetUniqueIdentifier independent of language setting
2019-05-01 17:34:01 +02:00
z0z0z 5bacb2e4c6 Disable Vulkan overrides for RADV driver 2019-05-01 07:59:54 -04:00
Léo Lam 5ce8d97c68
Merge pull request #7163 from lioncash/pointer
BTEmu: Get rid of a few pointer casts
2019-05-01 13:13:58 +02:00
Jordan Woyak 0c81af74e1 WiimoteEmu: Drum extension accuracy improvements. 2019-04-30 20:14:12 -05:00
JMC47 e39aa5b026
Merge pull request #7880 from jordan-woyak/udraw-tablet-emu
WiimoteEmu: Implement 3rd-Party extension encryption and uDraw GameTablet.
2019-04-30 19:45:33 -04:00
Jordan Woyak 2babbd76d0 WiimoteEmu: Implement uDraw GameTablet. 2019-04-30 18:36:37 -05:00
Jordan Woyak 57a23cc4a0 InputCommon: Remove unused "sign" macro. 2019-04-29 18:28:56 -05:00
Filip Gawin c110ffcdaa Remove redundant initialization 2019-04-30 01:22:24 +02:00
JMC47 360f2b4a2f
Merge pull request #8042 from jordan-woyak/mapping-ui-clear-fix
DolphinQt: Fix "Default" and "Clear" buttons not updating the displayed extension.
2019-04-29 06:14:27 -04:00
JMC47 0f483e7d61
Merge pull request #8050 from Techjar/memorywatcher-determinism
Core: Remove MemoryWatcher
2019-04-28 22:36:11 -04:00
spycrab 6e6f833bb3
Merge pull request #8044 from jordan-woyak/indicators-on-top
DolphinQt: Move mapping indicators to top of UI.
2019-04-29 02:48:23 +02:00
Connor McLaughlin aee1551a55
Merge pull request #8043 from jordan-woyak/mapping-ui-event-block-fix
DolphinQt: Fix mapping of space, return, and mouse-clicks.
2019-04-28 23:49:23 +10:00
Connor McLaughlin 1b1662773e
Merge pull request #8048 from stenzek/vulkan-negative-scissor-rect
Vulkan: Don't set a negative offset in scissor rect
2019-04-28 23:37:51 +10:00
Jordan Woyak 4e39d833ae DolphinQt: Fix mapping of space, return, and mouse-clicks from immediately re-activating detection. 2019-04-28 08:34:47 -05:00
Stenzek 32359bf2bb Renderer: Adjust target rectangle in the base class 2019-04-28 23:33:24 +10:00
Stenzek 3c64f0c616 Renderer: Adjust source rectangle when crop would draw off screen
This prevents us from requiring an oversized and/or negative viewport by
shrinking the source rectangle instead.
2019-04-28 23:31:57 +10:00
Connor McLaughlin d2d8d7ce90
Merge pull request #8051 from JosJuice/efb-constexpr
Turn EFB_WIDTH/EFB_HEIGHT into constexpr
2019-04-28 20:37:25 +10: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
JosJuice ced2306fc5 Turn EFB_WIDTH/EFB_HEIGHT into constexpr
https://bugs.dolphin-emu.org/issues/11692#note-5

Also change const into constexpr while we're at it.
2019-04-28 11:50:17 +02:00
Connor McLaughlin e17bb8cfdf
Merge pull request #8025 from chargeflux/PathPaneAddBtn
Qt: Fix add button not releasing
2019-04-28 17:15:42 +10:00
Connor McLaughlin f7199397a0
Merge pull request #8047 from stenzek/d3d-feature-level-10
D3D11: Fix Dolphin crashing on feature level 10.0 devices
2019-04-28 17:07:37 +10:00
Pokechu22 0cb27cc42c Fix the screen going black on pause after changing windows
More info: https://zeduckmaster.frama.io/2016/how-to-create-a-custom-rendering-in-a-qt5-widget/
2019-04-27 23:26:44 -07:00
Stenzek 53af27b133 FramebufferManager: Fix invalid transitions for 1xIR in EFB cache 2019-04-28 16:13:49 +10:00
Stenzek 5399995c61 Vulkan: Don't set a negative offset in scissor rect
The spec/validation layers say this is invalid.
2019-04-28 16:01:09 +10:00
Stenzek 025767c929 D3D: Set optional features after creating the device
Fixes feature level 10.0 devices crashing during runtime.
2019-04-28 15:26:49 +10:00
Stenzek 51154d6907 FramebufferShaderGen: Don't emit SV_SampleIndex when not using SSAA 2019-04-28 15:26:21 +10:00
Stenzek d5b3595314 TextureCache: Fix incorrect format string in GetXFBTexture() 2019-04-28 14:32:37 +10:00
spycrab 906ccdb1b4
Merge pull request #8030 from spycrab/qt_patch_preview
Qt/Debugger: Implement patch instruction preview
2019-04-28 00:32:36 +02:00
spycrab f6e73a0aec Qt/Debugger: Implement patch instruction preview 2019-04-27 23:31:19 +02:00
Jordan Woyak af8b14f452 DolphinQt: Move mapping indicators to top of UI. 2019-04-27 14:23:29 -05:00
Jordan Woyak 74a997da65 DolphinQt: Fix "Default" and "Clear" buttons not updating the displayed extension. 2019-04-27 10:51:57 -05:00
Mat M 687907e44d
Merge pull request #8035 from jordan-woyak/si-enum-constexpr
SI: Replace some unnamed enums with constexpr.
2019-04-27 08:40:41 -04:00
Mat M 621ede1268
Merge pull request #8040 from phire/fix_unintilized_xer
Fix uninitialized powerpc.xer_* variables
2019-04-27 08:36:09 -04:00
Jordan Woyak 9f0dc402f4 InputCommon: Make sure setting values are initialized in case they are used before config load. 2019-04-27 07:01:24 -05:00
JosJuice 3bef561e5d Make GameFile::GetUniqueIdentifier independent of language setting
My bad.

We need this in the situation where two users are using different
languages and the game has a different name in each language.
2019-04-27 14:00:58 +02:00
MerryMage e06111e86f EmuCodeBlock: Prefer MOVAPS to MOVSD in ConvertDoubleToSingle
* The high half of the register is immediately masked 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:57:03 +01: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
Scott Mansell 033f1d725f Fix un-initialized powerpc.xer_* variables 2019-04-27 15:38:02 +12:00
Techjar 20530c2a96 Core/WiiRoot: Fix NetPlay full Wii save sync not copying all the saves back to main NAND 2019-04-26 23:33:35 -04: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
Connor McLaughlin b5c3542cb5
Merge pull request #8039 from iwubcode/monster_lab_fix
CommandProcessor: Don't reset gather pipe on write the high distance bit (fixes monster lab)
2019-04-27 13:26:29 +10:00
iwubcode c2abf092e9 VideoCommon: Do not reset the gather pipe (WPAR buffer) as this does not reflect what actually happens on real hardware. On hardware, there's no way for the GPU to signal to reset the WPAR buffer. Instead, the WPAR buffer will be reset automatically upon receiving 32 bytes or when spr[WPAR] is written 2019-04-26 22:20:53 -05:00
JMC47 664376dae1
Merge pull request #7861 from jordan-woyak/mplus-emu
WiimoteEmu: Emulated MotionPlus and improved emulated swing.
2019-04-26 05:50:18 -04:00
spycrab 057fa6c092
Merge pull request #8032 from spycrab/netplay_md5
Qt/NetPlayDialog: Move MD5 button into menubar
2019-04-26 03:19:41 +02:00
spycrab ea0846463f
Merge pull request #8031 from spycrab/qt_remove_iterative_input
Qt/Mapping: Remove iterative input
2019-04-24 14:03:17 +02:00
spycrab 8feacce783
Merge pull request #8028 from spycrab/issue_11690
Qt/NewPatchDialog: Fix crashes on entry removal
2019-04-24 02:49:09 +02:00
Jordan Woyak ba1b335118 WiimoteEmu: Improve emulated swing. 2019-04-23 19:02:41 -05:00
Jordan Woyak 4374600367 WiimoteEmu: Implement MotionPlus parameter y0 and other cleanups. 2019-04-23 18:38:00 -05:00
Jordan Woyak 59e1c83445 WiimoteEmu/MotionPlus: Build non-hardcoded calibration data and other cleanups. 2019-04-23 18:38:00 -05:00
Jordan Woyak 9554ece874 WiimoteEmu: MotionPlus is now working. 2019-04-23 18:38:00 -05:00
Jordan Woyak d97349af0d SI: Replace some unnamed enums with constexpr. 2019-04-23 16:25:09 -05:00
spycrab e97c61c196 Qt/NetPlayBrowser: Connect to session on double-click 2019-04-23 23:22:12 +02:00
spycrab 127b4e77ec
Merge pull request #8029 from spycrab/issue_11680
Qt/NetPlayBrowser: Prevent word wrap
2019-04-23 23:08:41 +02:00
spycrab 7f861f095a Qt/Mapping: Remove iterative input 2019-04-23 22:59:34 +02:00
spycrab 8e3d1200da
Merge pull request #7833 from chargeflux/CodeWidgetHiding-macOS
Debugger: Apply hiding logic earlier (macOS)
2019-04-23 22:40:17 +02:00
spycrab f7dcd191e3 Qt/NetPlayDialog: Move MD5 button into menubar 2019-04-23 22:37:22 +02:00
chargeflux 290275e8ea Debugger: Move hiding logic via setHidden() to before setFloating() 2019-04-23 16:20:42 -04:00
spycrab 0ef3eced78 Qt/NetPlayBrowser: Prevent word wrap 2019-04-23 18:55:40 +02:00
spycrab a6e7a90a4a Qt/NewPatchDialog: Fix crashes on entry removal 2019-04-23 18:46:38 +02:00
chargeflux cd5f42cee0 Qt: Fix add button not releasing 2019-04-22 20:32:01 -04:00
Markus Wick 2abe333ce9
Merge pull request #7287 from degasus/idle_skipping
Jit64 / JitArm64: Optimized idle skipping detection.
2019-04-22 23:08:03 +02:00
spycrab e575fa92d7
Merge pull request #8005 from JosJuice/issue-11679
DolphinQt: Fix verify tab hash box sizes on macOS
2019-04-22 14:39:56 +02:00
spycrab b4dfda0774
Merge pull request #8021 from spycrab/cm_overhaul
Qt/CheatManager: Fix a bunch of issues
2019-04-22 14:16:53 +02:00
spycrab a154c56815 Qt/CheatsManager: Use ActionReplay constants 2019-04-22 14:09:47 +02:00
Connor McLaughlin 59c0e51f5b
Merge pull request #8000 from stenzek/more-videocommon-cleanup
Additional cleanup/fixes from VideoCommon merge
2019-04-22 12:50:22 +10:00
Connor McLaughlin 93be178f28
Merge pull request #7857 from stenzek/opengl-stereo
OGL: Fix stereoscopy
2019-04-22 12:41:12 +10:00
spycrab fb841c75cb
Merge pull request #8022 from spycrab/issue_11676
Qt/GameConfigWidget: Show revision specific INIs
2019-04-21 21:38:56 +02:00
spycrab e2abda0c9b Qt/GameConfigWidget: Show revision specific INIs 2019-04-21 20:56:44 +02:00
spycrab 6c938cc070 Qt/VerifyWidget: Fix layout warnings 2019-04-21 20:28:55 +02:00
spycrab 4f7ff76801 Qt/CheatsManager: Fix locking defaulting to the value zero 2019-04-21 19:45:58 +02:00
spycrab 05eb91691c Qt/CheatsManager: Fix value setting 2019-04-21 17:34:31 +02: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 0b56d49d97 Qt/CheatsManager: Deduplicate code 2019-04-21 15:38:59 +02:00
Jordan Woyak a9ef110349 DolphinQt: Query mapping indicator colors using QPalette for better behavior with alternative themes. 2019-04-21 08:20:45 -05:00
spycrab a6ed1b644b Qt/CheatSearch: Fix locking being permanently disabled 2019-04-21 13:51:25 +02:00
Stenzek 356ebdf509 OGL: Set shared context state up to match main context
Has a better chance of avoiding recompiling if so.
2019-04-21 14:28:14 +10:00
Stenzek 6553cf8bb1 OGL: Only set GL_PROGRAM_POINT_SIZE on desktop GL
It is always enabled in GLES.
2019-04-21 14:28:14 +10:00
Stenzek f2a594fad5 OGL: Fix binding error on shutdown
This was occurring if the imgui vertex format was bound on shutdown,
which is destroyed before the vertex buffers
2019-04-21 14:28:14 +10:00
Stenzek 9577d0641b ShaderCache: Fix crash at shutdown on shared shader compilation fail 2019-04-21 14:28:14 +10:00
Stenzek 5c95dc61fc OGL: Store shader source in OGLShader
So it can be dumped with info log when linking fails.
2019-04-21 14:28:14 +10:00
Stenzek bbd1ae16db OGL: Remove unused ProgramShaderCache::CompileShader() 2019-04-21 14:28:14 +10:00
Stenzek f8c1ba409c Replace EFBRectangle/TargetRectangle with MathUtil::Rectangle 2019-04-21 14:28:14 +10:00
JMC47 6ea43235d5
Merge pull request #7841 from iwubcode/config-mgr-onion
Config: Move the 'Display' settings from ConfigManager to the layered config system
2019-04-21 00:01:47 -04:00
Connor McLaughlin ca55375d01
Merge pull request #8015 from jordan-woyak/dinput-cursor-optimize
ControllerInterface/DInput: Optimize cursor position updating.
2019-04-21 13:56:50 +10:00
Connor McLaughlin 5b4ebccf6b
Merge pull request #8012 from stenzek/bounding-box-shaders
PixelShaderGen: Don't emit bounding box shader code for old UIDs when disabled
2019-04-21 13:27:05 +10:00
Stenzek b09a0e1a60 TextureCache: Check for out-of-range partial copy rect after scaling 2019-04-21 12:54:32 +10:00
Stenzek 3791262d96 TextureCache: Use linear filtering on y-scaled and >1xIR VRAM copies 2019-04-21 12:41:15 +10:00
Stenzek 708bd3d9f7 TextureCache: Simplify XFB reconstruction
This also better handles in-memory interlaced XFB data placed by the CPU
by considering the stride from the VI.
2019-04-21 12:41:15 +10:00
Stenzek dbaba0062a TextureDecoder: Move XFB decoding to Common
This was previously missing for generic (which is used on ARM).
2019-04-21 12:41:15 +10:00
degasus 6ec4ade3b6 Interpreter: Drop idle skipping in interpreter.
And reimplement it in the cached interpreter based on the idle loop detection.
2019-04-20 20:52:39 +02:00
degasus 55abe1a085 Jit64: Refactor WriteIdleExit helper. 2019-04-20 20:52:39 +02:00
degasus b8b4b4a383 PowerPC: More idle loop detections. 2019-04-20 20:52:39 +02:00
degasus 55db7c7a05 Jit64: Optimized idle skipping detection. 2019-04-20 20:52:39 +02:00
Jordan Woyak 8c1310d1d1 ControllerInterface/DInput: Optimize cursor position updating. 2019-04-20 09:25:11 -05:00
Stenzek eddde3e6c8 ShaderGen: Use interface blocks when geometry shaders are supported
We don't use explicit locations in OpenGL currently, so this breaks
when we use alternative names in the geometry shaders.
2019-04-20 23:44:33 +10:00
Stenzek c6b45c5ca9 ShaderCache: Fix crash if pipeline from uid cache fails creation 2019-04-20 23:16:29 +10:00
Stenzek 96aa762d1e PixelShaderGen: Don't emit bounding box shader code for old UIDs when disabled
If bounding box is enabled when a UID cache is created, then later disabled,
we shouldn't emit the bounding box portion of the shader.

Fixes pipeline creation errors on D3D12 backend for this case.
2019-04-20 23:16:14 +10:00
JosJuice fbe7892bd2 ConfigManager: Remove TitleDatabase.h include
Made unnecessary by 8842a0f.
2019-04-20 12:30:46 +02:00
JosJuice e98f5fe665 Show Japanese GC games in Japanese when using TitleDatabase
Because the GC language setting cannot be set to Japanese, we
need a special condition for Japanese GC games. I accidentally
removed it in PR 7816, but here it is again in a new form.

We could do the same thing with Korean GC games if we want to
(which we couldn't do before PR 7816), but due to how spotty
GameTDB is with having Korean names for Korean GC releases,
things will be more consistent if we just use English for them.
2019-04-20 12:12:35 +02:00
Connor McLaughlin c26f53bf84
Merge pull request #7999 from stenzek/pipeline-cache-data
Implement pipeline data cache for OpenGL and D3D12
2019-04-20 12:56:02 +10:00
JosJuice f0323a59c3 DolphinQt: Fix verify tab hash box sizes on macOS
https://bugs.dolphin-emu.org/issues/11679
2019-04-19 19:15:04 +02:00
Jordan Woyak 779e618046 VideoCommon: Change free-look's middle-mouse action to roll the camera. 2019-04-17 05:10:11 -05:00
Jordan Woyak 1d024c8add Fix u8 string literal C++20 compile error. 2019-04-16 16:31:12 -05:00
Markus Wick f1620f25f4
Merge pull request #7981 from degasus/interpreter_psq_l
Interpreter: Fix psq_l with QUANTIZE_FLOAT.
2019-04-16 22:27:07 +02:00
Markus Wick dbfdb16fbb
Merge pull request #7990 from MerryMage/fprf
EmuCodeBlock: Correct zero handling in SetFPRF for SSE4.1
2019-04-16 22:13:05 +02:00
JMC47 80d21b8ffb
Merge pull request #8002 from JMC47/CursorSlowdown
Slow down relative input cursor
2019-04-15 20:43:31 -04:00
JMC47 f3aaf5deaa Reduce Relative Input Cursor Speed Dramatically
This makes it about 1/4th the speed which may be a bit slow, but should
work for most controllers.
2019-04-15 17:23:17 -04:00
Stenzek 00b83b4196 ShaderCache: Utilize pipeline cache data where possible 2019-04-16 00:39:43 +10:00
Stenzek 616ad378b7 OGL: Support returning pipeline cache data 2019-04-16 00:39:43 +10:00
Stenzek 5cef09e383 D3D12: Support returning pipeline cache data 2019-04-16 00:34:34 +10:00
Stenzek 61a656570e AbstractPipeline: Support returning "cache data"
"Cache data" can be used to assist a driver with creating pipelines by
using previously-compiled shader ISA.
2019-04-16 00:09:47 +10:00
JosJuice d7b5270348
Merge pull request #7988 from JosJuice/fix-wii-save-import
Fix importing Wii save files with sizes not divisible by 64
2019-04-14 17:17:00 +02:00
spycrab 0f8e5ab207
Merge pull request #7968 from Techjar/fix-netplay-browser-search-hang
Qt/NetPlayBrowser: Refresh session list asynchronously
2019-04-14 03:11:31 +02:00
JMC47 1cedbd5b82
Merge pull request #7923 from jordan-woyak/full-surface-rename
ControllerInterface: Rename full surface analog inputs.
2019-04-13 17:43:29 -04:00
JMC47 a891115ea3
Merge pull request #7952 from jordan-woyak/emu-shake-params
WiimoteEmu: Allow shake frequency and intensity to be configured.
2019-04-13 12:13:13 -04:00
Jordan Woyak be897b41a7 ControllerInterface: Rename full surface analog inputs to be more visually dissimilar from their underlying inputs. e.g. "Full Axis X+". 2019-04-13 08:45:19 -05:00
spycrab 241166a1a5
Merge pull request #7991 from spycrab/npi_retcode
UICommon/NetPlayIndex: Handle non 200 HTTP return codes
2019-04-13 15:24:10 +02:00
spycrab 336edbef1e UICommon/NetPlayIndex: Handle non 200 HTTP return codes 2019-04-13 12:58:23 +02:00
spycrab eddcb70b84 Common/HttpRequest: Add option to allow non 200 response codes 2019-04-13 12:58:23 +02:00
Techjar 6d01f34d78 Core/NetPlayClient: Reset GCAdapter device type in UpdateDevices
This will ensure an origin reset is triggered on next boot.
2019-04-13 06:32:45 -04:00
Jordan Woyak c89ddf8cba WiimoteEmu: Allow shake frequency and intensity to be configured. Other minor cleanups. 2019-04-12 16:50:59 -05:00
JosJuice 635fd8c22c
Merge pull request #7984 from JosJuice/root-path-savestate
IOS/FS: Don't savestate m_root_path
2019-04-12 22:37:21 +02:00
MerryMage e4d83a56a5 EmuCodeBlock: Correct zero handling in SetFPRF for SSE4.1 2019-04-12 20:03:42 +01:00
spycrab 2a1dee4dce
Merge pull request #7976 from spycrab/netplay_index_feedback
Qt/NetPlay: Show feedback for index adding
2019-04-12 14:21:42 +02:00
JosJuice 4f915760e8 Fix importing Wii save files with sizes not divisible by 64 2019-04-12 11:34:32 +02:00
Techjar c7c4196c38 Qt/NetPlayBrowser: Refresh session list asynchronously 2019-04-11 22:02:13 -04:00
spycrab f2e3f69d34
Merge pull request #7979 from Techjar/netplay-browser-possible-crash
UICommon/NetPlayIndex: Fix possible crash when Add is called again
2019-04-11 21:49:58 +02:00
spycrab 8b6bb39e82 Qt/NetPlay: Show feedback for index adding 2019-04-11 21:26:00 +02:00
spycrab b9d110ed66 WinUpdater: Restore original executable name 2019-04-11 20:21:50 +02:00
JosJuice 822acf9ab9 IOS/FS: Don't savestate m_root_path
The NAND root path can be different on different systems,
so we must not savestate it.
2019-04-11 18:50:15 +02:00
JosJuice d5ed3cbd88
Merge pull request #7922 from JosJuice/verify-disc
Add a Verify tab to game properties
2019-04-11 16:39:49 +02:00
spycrab 372b8552ce
Merge pull request #7974 from spycrab/winupdater
Move Updater to WinUpdater
2019-04-11 12:04:31 +02:00
degasus 399768c91b Interpreter: Fix psq_l with QUANTIZE_FLOAT.
psq_l with QUANTIZE_FLOAT does not use the FPU, so it does not trim the precision of the u32 input data.
We already have the helper ConvertToDouble for floating point u32->u64 convertion used in lfs, so let's use it here as well.
2019-04-11 10:12:59 +02:00
Markus Wick 849ede9d0a
Merge pull request #7639 from CrystalGamma/pr-quantize
PowerPC: Thread state through PS (de)quantize helpers
2019-04-11 10:11:08 +02:00
CrystalGamma e5c8b889ef PowerPC: Thread state through PS quantize helper 2019-04-11 10:03:36 +02:00
CrystalGamma e12cdbefa5 PowerPC: Thread state through PS dequantize helper 2019-04-11 10:03:36 +02:00
Techjar f1e06b89da UICommon/NetPlayIndex: Fix possible crash when Add is called again 2019-04-10 22:39:16 -04:00
Jordan Woyak a9a4b53072 WiimoteEmu: Fix Data Report 0x32. 2019-04-10 20:17:34 -05:00
Markus Wick d90d641ec7
Merge pull request #7889 from CrystalGamma/pr-floathelpers
PowerPC: Thread state through float helpers
2019-04-10 23:14:39 +02:00
Markus Wick 5a4700f589
Merge pull request #7638 from CrystalGamma/pr-addresshelpers
PowerPC: Thread state through the address helpers
2019-04-10 23:05:43 +02:00
spycrab d73987e466 Move Updater to WinUpdater 2019-04-10 10:46:49 +02:00
spycrab 1f6c67a6fb
Merge pull request #7969 from Techjar/fix-browser-radio-spacing
Qt/NetPlayBrowser: Fix radio button spacing
2019-04-10 08:11:42 +02:00
Techjar b8abfba20b Qt/NetPlayBrowser: Fix radio button spacing
The spacing was weird due to widgets in adjacent rows messing with the
column size, so we'll make those widgets span all the columns.
2019-04-09 19:41:58 -04:00
JMC47 e10a472134
Merge pull request #7936 from jordan-woyak/numeric-setting-cleanup
InputCommon: Clean up how numeric settings are handled.
2019-04-09 19:30:26 -04:00
JosJuice 8709b21ac3 VolumeVerifier: Verify WAD contents 2019-04-09 14:18:46 +02:00
JosJuice a469fb3150 VolumeVerifier: Check whether invalid blocks are unused 2019-04-09 14:18:46 +02:00
JosJuice eced9d7c7e VolumeVerifier: Calculate CRC32/MD5/SHA-1 2019-04-09 14:18:46 +02:00
JosJuice 4fd2d8e8c4 VolumeVerifier: Check hashes in Wii partitions 2019-04-09 14:18:45 +02:00
JosJuice 84cbd5150f Add a Verify tab to game properties 2019-04-09 14:18:41 +02:00
spycrab 0b8ac0a22f
Merge pull request #7971 from Techjar/go-away-golf-ui
Qt/NetPlayDialog: Don't create golf UI when host input authority is disabled
2019-04-09 13:14:54 +02:00
spycrab a06c7df927
Merge pull request #7954 from Techjar/netplay-disable-bba
Disable BBA in NetPlay
2019-04-09 13:13:05 +02:00
spycrab 627a1a90c1
Merge pull request #7938 from Techjar/netplay-pending-start-stall
NetPlay: Fix hosting being stuck if player leaves during pending start
2019-04-09 13:07:17 +02:00
spycrab 746849f891
Merge pull request #7964 from Techjar/fix-netplayindex-segfault
UICommon/NetPlayIndex: Fix random segfaults after quitting NetPlay
2019-04-09 12:45:58 +02:00
Techjar cd6c918973 Qt/NetPlayDialog: Don't create golf UI when host input authority is disabled 2019-04-08 07:09:20 -04: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
spycrab 75f1a5d0cc Qt/NetPlayBrowser: Various small fixes 2019-04-08 00:01:23 +02:00
Jordan Woyak 5efb717873 InputCommon: Clean up how numeric settings are handled. Add units of measure to UI. Eliminate hidden magic values of the IR cursor. 2019-04-07 09:32:49 -05:00
Techjar c90df946ba NetPlay: Add cancel button for chunked data transfers 2019-04-07 06:22:33 -04:00
Techjar 7870704087 NetPlay: Fix hosting being stuck if player leaves during pending start
The logic didn't account for the case where a player leaves, so the
host would be left in a dangling state where the UI is disabled but the
game won't start, requiring a full restart of Dolphin to fix.
2019-04-07 06:22:31 -04:00
Jordan Woyak d34a9afe04 Minor changes to usages of std::condition_variable. 2019-04-06 17:39:25 -05:00
Techjar dc552f2cbb UICommon/NetPlayIndex: Fix random segfaults after quitting NetPlay
We can't join a detached thread, so NetPlayIndex gets deleted before
the notification thread exits, creating a race condition. We switch to
using Common::Event because just sleeping leaves the UI hung on the
thread join for a few seconds.
2019-04-06 17:23:37 -04:00
JMC47 75e74315e6
Merge pull request #7689 from jordan-woyak/sdl-improve
ControllerInterface: SDL cleanups/fixes
2019-04-06 14:53:51 -04:00
spycrab ca5eac0c63 Common/HttpRequest: Fix EscapeComponent leaking memory 2019-04-06 13:27:49 +02:00
spycrab 23986d48f7
Merge pull request #7945 from spycrab/np_browser
Qt/NetPlay: Implement session/server browser
2019-04-06 12:36:29 +02:00
spycrab 094bf0d2ff Qt/NetPlay: Integrate NetPlayIndex 2019-04-06 12:27:30 +02:00
JMC47 a7ee00ae25
Merge pull request #7960 from Techjar/netplay-fix-segfault-on-exit
Qt/MainWindow: Fix segfault on exit while NetPlay is open
2019-04-05 11:48:07 -04:00
spycrab e44433c2f6
Merge pull request #7955 from Techjar/netplay-golf-mode
NetPlay golf mode
2019-04-05 17:25:23 +02:00
Techjar 6c393f9ff4 Add imgui golf mode overlay 2019-04-05 07:01:03 -04:00
Techjar 1a12876330 NetPlay: Implement golf mode
This is an extension of host input authority that allows switching the
host (who has zero latency) on the fly, at the further expense of
everyone else's latency. This is useful for turn-based games where the
latency of players not on their turn doesn't matter.

To become the so-called golfer, the player simply presses a hotkey.
When the host is the golfer, latency is identical to normal host input
authority.
2019-04-05 07:01:03 -04:00
Techjar ab6583b430 Qt/MainWindow: Fix segfault on exit while NetPlay is open 2019-04-05 03:12:25 -04:00
Craftyawesome 20cc4508f0 Re-order cpu emulation options from fastest to slowest
Based on https://bugs.dolphin-emu.org/issues/11658

Update arrays.xml
2019-04-04 10:51:12 -04:00
JosJuice bfde5b931e
Merge pull request #7956 from spycrab/fix_np_chat_escape
Qt/NetPlayDialog: Fix messages being html-escaped for NetPlay Chat
2019-04-03 18:50:33 +02:00
spycrab 923151e3e3
Merge pull request #7949 from spycrab/turbo_btn
Qt/TAS: Implement turbo mode
2019-04-03 18:43:11 +02:00
Techjar a318c55cec PixelShaderGen: Fix bounding box coordinates being offset by 1 pixel 2019-04-03 10:09:05 -04:00
JMC47 a2df9beb9f
Merge pull request #7924 from jordan-woyak/info-widget-fix
DolphinQt: Fix unused widgets in InfoWidget from being visible.
2019-04-02 19:59:44 -04:00
spycrab 628d72c67d Qt/NetPlayDialog: Fix messages being html-escaped for NetPlay Chat 2019-04-02 23:23:38 +02:00
CrystalGamma b00a7045aa PowerPC: Thread state through float helpers 2019-04-02 19:59:29 +02:00
CrystalGamma 95b06d183e PowerPC: Thread state through the address helpers 2019-04-02 19:52:59 +02:00
Techjar e2f1da5210 NetPlay: Move host input authority logic to client
This is a prerequisite for golf mode, as the client needs to be in
control of sending pad states.
2019-04-02 08:17:13 -04:00
Techjar 980c076c67 Disable BBA in NetPlay 2019-04-01 09:14:28 -04:00
Stenzek 474500f07e Vulkan: Prevent submission of command buffer with open queries 2019-04-01 20:49:42 +10:00
Stenzek f2d8c8d2a8 D3D12: Fix rare case where command list was executed with open queries 2019-04-01 20:49:24 +10:00
Stenzek 92f1f553d1 D3D12: Fix case where perf queries weren't flushed 2019-04-01 20:13:39 +10:00
Connor McLaughlin 32e330eb35
Merge pull request #7950 from stenzek/out-of-range-efb-copies
BPStructs: Gracefully handle out-of-range EFB copies
2019-04-01 13:08:11 +10:00
Stenzek 113bd60fe7 Implement D3D12 backend 2019-04-01 11:24:55 +10:00
Jordan Woyak 2b6d718636 InputCommon: Fix Win32 init race. 2019-03-31 07:46:58 -05:00
Stenzek 378b605669 BPStructs: Gracefully handle out-of-range EFB copies
Since the copy X and Y coordinates/sizes are 10-bit, the game can configure a
copy region up to 1024x1024. Hardware tests have found that the number of bytes
written does not depend on the configured stride, instead it is based on the
size registers, writing beyond the length  of a single row. The data written
for the pixels which lie outside the EFB bounds does not wrap around instead
returning different colors based on the pixel format of the EFB.

This suggests it's not based on coordinates, but instead on memory addresses.
The effect of a within-bounds size but out-of-bounds offset
(e.g. offset 320,0, size 640,480) are the same.

As it would be difficult to emulate the exact behavior of out-of-bounds reads,
instead of writing the junk data, we don't write anything to RAM at all for
over-sized copies, and clamp to the EFB borders for over-offset copies.
2019-03-31 22:05:53 +10:00
spycrab 039b1baa3a Qt/TAS: Implement turbo mode 2019-03-31 05:27:34 +02:00
Connor McLaughlin 39139a52e7
Merge pull request #7939 from Techjar/no-more-disabled-gfx-features
Qt/HacksWidget: Fix backend feature support checks
2019-03-31 11:59:34 +10:00
spycrab 0866ec3fb0
Merge pull request #7948 from spycrab/open_failed_warn
Qt/GameConfigEdit: Show warning if opening in an external editor fails
2019-03-31 03:37:54 +02:00
spycrab 74c1e92640 Qt/GameConfigEdit: Show warning if opening in an external editor fails 2019-03-31 03:30:41 +02:00
iwubcode 840afc2ad4 Config: Move the 'Display' settings from ConfigManager to the layered config system 2019-03-30 18:43:02 -05:00
JMC47 735a705e4d
Merge pull request #7776 from jordan-woyak/wm_devicechange
Add hotplug support to DInput and XInput controller backends
2019-03-30 18:41:46 -04:00
spycrab 3d84dbe649 Qt/GCMemcardManager: Don't bold the header 2019-03-30 20:22:04 +01:00
spycrab 0279d12055 Core/NetPlayServer: Integrate NetPlayIndex 2019-03-30 17:13:57 +01:00
spycrab 622ba68595 Core/Config: Add index entries to NetPlaySettings 2019-03-30 17:13:57 +01:00
spycrab 827e40d78a UICommon: Add NetPlayIndex helper 2019-03-30 17:13:57 +01:00
spycrab 3dbf44417a Common/HttpRequest: Implement EscapeComponent 2019-03-30 17:13:57 +01:00
JosJuice c885fed9da DiscIO: Make Korean GC checks in Enums.cpp less fragile 2019-03-30 12:45:28 +01:00
JosJuice c028a84531 Volume: Add a GetCertificateChain function 2019-03-30 12:45:28 +01:00
JosJuice abb3c5bccd VolumeWad: Implement GetTicket 2019-03-30 12:45:17 +01:00
JosJuice cf9ab6ddcc DiscExtractor: Make P prefix for partition names optional
Also added constants for common partition types.
2019-03-30 12:45:17 +01:00
JosJuice 3014dadfa8 DiscIO: Add way of checking whether blob data size is accurate 2019-03-30 12:45:17 +01:00
JMC47 0bce1c509d
Merge pull request #7942 from jordan-woyak/gc-adapter-calib-fix
HW/SI: GCAdapter calibration fix.
2019-03-30 06:37:23 -04:00
Stenzek 3c455de799 FramebufferManager: Fix broken EFB peeks in GL with MSAA on 2019-03-30 03:14:29 +10:00
spycrab 963370d7e6
Merge pull request #7941 from 8times9/contextmenu
Qt/GameList: Set consistent capitalization for context menu
2019-03-29 21:09:49 +01:00
Jordan Woyak 4ee999723e DolphinQt: Make MD5 result text box read only. 2019-03-29 12:31:09 -05:00
Stenzek b685a66753 Vulkan: Fix crash when checking subgroup support on Mesa 2019-03-30 00:18:26 +10:00
Jordan Woyak eadbdd6bc3 ControllerInterface/Win32: Prevent devcies from losing their "id" on a hotplug event. 2019-03-29 09:04:16 -05:00
Stenzek a6bb06174f Vulkan: Fix library load failure on Android 2019-03-29 23:36:53 +10:00
Michael M d26c1ce24d Add hotplug support to DInput and XInput controller backends 2019-03-29 08:01:40 -05:00
Michael M 92ca6e124e Add ControllerInterface::Win32 to wrap XInput and DInput 2019-03-29 08:01:39 -05:00
Techjar 5d37b2b951 Qt/HacksWidget: Fix backend feature support checks 2019-03-29 08:45:21 -04:00
Jordan Woyak a015851b02 HW/SI: GCAdapter calibration fix. 2019-03-29 06:15:58 -05:00
Stenzek 604ab67c7f Vulkan: Simplify perf queries using vkGetQueryPoolResults 2019-03-29 20:54:44 +10:00
Stenzek 6d40ea8553 Vulkan: Fix barrier validation layer errors for bounding box 2019-03-29 20:54:44 +10:00
Stenzek 23a655217c Vulkan: Fix validation layer error for unbound texture layouts 2019-03-29 20:54:44 +10:00
Stenzek 087b11e780 TextureCacheBase: Fix possible crash on shutdown with deferred EFB copies 2019-03-29 20:54:44 +10:00
Stenzek 427dd45151 Vulkan: Simplify command buffer fence tracking 2019-03-29 20:54:44 +10:00
Connor McLaughlin f3fadd7302
Merge pull request #7869 from stenzek/d3dcommon
D3D: Move sharable D3D11/D3D12 code to common library
2019-03-29 20:40:06 +10:00
Connor McLaughlin 78cf615a9b
Merge pull request #7937 from Techjar/netplay-defer-efb-invalidation
NetPlay: Synchronize EFB access cache options
2019-03-29 20:31:15 +10:00
Stenzek d66d778bae PixelShaderGen: Use subgroup reduction operations for bounding box 2019-03-29 20:06:56 +10:00
Stenzek 6561850f2b Vulkan: Support subgroup reduction operations via GL_KHR_shader_subgroup 2019-03-29 20:06:56 +10:00
Stenzek 86da282570 OGL: Support subgroup reduction operations via GL_NV_shader_thread_shuffle 2019-03-29 20:06:56 +10:00
Connor McLaughlin 1304e963ad
Merge pull request #7895 from stenzek/framebuffer-corruption
FramebufferManager: Don't discard in ReinterpretPixelData
2019-03-29 20:03:13 +10:00
Connor McLaughlin 154eeae8ae
Merge pull request #7915 from stenzek/bbox-scaled-update
VideoBackends: Scale bounding box rectangle in the pixel shader
2019-03-29 19:59:25 +10:00
Stenzek d0d010f854 D3D11: Make stateman a unique_ptr 2019-03-29 19:55:00 +10:00
Stenzek 3b86c93285 VertexManagerBase: Increase vertex/uniform buffer sizes
ZTP was uploading 10MB+ of uniforms per frame, reducing paralellism by
forcing GPU waits.
2019-03-29 19:52:38 +10:00
Stenzek 2a4bca8b4a VideoBackends: Verify validity before doing full renderer init
Prevents attempting to create invalid MSAA configurations, for example.
2019-03-29 19:52:38 +10:00
Stenzek 1151a1238f D3D11: Use ComPtr smart pointer where possible 2019-03-29 19:52:38 +10:00
Stenzek 3d8014beb5 D3D11: Use D3DCommon where appropriate 2019-03-29 19:52:38 +10:00
Stenzek ea15080d8f Add D3DCommon (shared code between D3D11 and D3D12) 2019-03-29 19:52:38 +10:00
Stenzek f6641b7e4f Vulkan: Use Common::DynamicLibrary 2019-03-29 19:52:38 +10:00
Stenzek a4f7c04470 Common: Add DynamicLibrary helper class 2019-03-29 19:52:33 +10:00
8times9 8c37214bee Qt/GameList: Set consistent capitalization for context menu 2019-03-28 21:22:46 -05:00
Stenzek e9cfcf4632 ShaderCache: Don't create invalid logic op pipelines
uint_output will never be set unless logic ops are enabled. Also clears
the bits so we're not compiling unused pixel shaders on the other
backends.
2019-03-28 20:35:02 +10:00
Stenzek 5732769a3c ShaderCache: Set correct primitive in dummy ubershader pipelines 2019-03-28 20:35:02 +10:00
Stenzek 7dd9d74eec RenderBase: Add EFBHasAlphaChannel() helper 2019-03-28 20:35:02 +10:00
Techjar 6e5d92e3c3 NetPlay: Synchronize EFB access cache options 2019-03-28 00:53:07 -04:00
spycrab 9b6c9252e4
Merge pull request #7932 from spycrab/qt_tas_fixes
Qt/TAS: Some fixes
2019-03-27 18:37:35 +01:00
JosJuice 6a18bf4d2e
Merge pull request #7935 from JosJuice/cli-arg-movie
DolphinQt: Add support for the --movie parameter
2019-03-27 18:34:24 +01:00
JMC47 b4b0ebae27
Merge pull request #7934 from stenzek/stretched-efb-peeks
FramebufferManager: Fix EFB peek cache stretching last tile
2019-03-27 10:53:47 -04:00
Stenzek 92fa6c34cd FramebufferManager: Fix EFB pokes being offset by 1 in D3D 2019-03-27 23:28:34 +10:00
JosJuice 6451496776 DolphinQt: Add support for the --movie parameter
Regression from DolphinWX.
2019-03-27 14:26:17 +01:00
Stenzek c28393d6f9 FramebufferManager: Fix EFB peek cache stretching last tile 2019-03-27 22:12:40 +10:00
JMC47 a1f53716dc
Merge pull request #7893 from jordan-woyak/mapping-ui-cleanup
DolphinQ: Mapping UI cleanups.
2019-03-26 20:30:30 -04:00
spycrab e222b91953
Merge pull request #7929 from spycrab/np_chat_toggle
NetPlayChatUI: Add activate chat hotkey
2019-03-26 22:35:26 +01:00
spycrab f7897778ff NetPlayChatUI: Add activate chat hotkey 2019-03-26 18:13:32 +01:00
spycrab 4ad67f471c Qt/TAS: Improve layout 2019-03-26 01:18:11 +01:00
spycrab 04583b17da Qt/TAS: Fix issue #11620 2019-03-26 00:38:25 +01:00
JMC47 e636b3e712
Merge pull request #7871 from jordan-woyak/wm-real-cleanup
WiimoteReal: Improve state changes and code cleanups.
2019-03-25 19:28:22 -04:00
spycrab fdb8b4af13 Qt/NetPlayDialog: Change buffer size message color 2019-03-25 10:09:21 +01:00
Stenzek 16294acd2a VideoBackends: Scale bounding box rectangle in the pixel shader 2019-03-25 18:47:58 +10:00
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
JosJuice d42fa8f80e Remove invalid IPL hashes (NTSC-U and NTSC-J use same IPL)
See https://bugs.dolphin-emu.org/issues/11467. We now only have
the hashes that have been confirmed on Redump.

For the reference, MAME's list of bad GameCube IPL dumps:
80b2ca6088/src/mame/drivers/gamecube.cpp (L152-L158)
2019-03-24 14:19:23 +01:00
Stenzek cff60f5ba0 FramebufferManager: Only clear tile array when valid
When looking into the Faron Woods fifolog, I noticed this code was quite
high in the profile (~10%). Clearing 4096 entries from the vector isn't
needed every draw, we only need to do this when the cache was actually
valid in the first place.

Should provide a slight general performance boost.
2019-03-24 15:03:04 +10:00
Jordan Woyak d106169a83 DolphinQt: Fix unused widgets in InfoWidget from being visible. 2019-03-23 20:20:09 -05:00
spycrab c89139d75d
Merge pull request #7903 from spycrab/imgui_np_chat
Add imgui-based Netplay Chat
2019-03-23 21:11:33 +01:00
spycrab 7cfb626a83 Add imgui-based Netplay Chat 2019-03-23 20:13:24 +01:00
spycrab 672b582bec
Merge pull request #7918 from spycrab/iokit_refactor
InputCommon/OSX: Refactor IOKit controller interface
2019-03-22 21:18:27 +01:00
JosJuice 0b3385ac1f
Merge pull request #7919 from JosJuice/disc-extractor-cert-h3
DiscExtractor: Fix extracting certificate chain and H3 hashes
2019-03-22 17:44:47 +01:00
spycrab 80fd01c3c3 InputCommon/OSX: Refactor IOKit controller interface 2019-03-22 14:04:30 +01:00
Tilka 0a1aacb5d0
Merge pull request #7906 from jordan-woyak/leak-fix
DolphinQt/InputCommon: Fix a few memory leaks.
2019-03-21 23:26:54 +00:00
Tilka 87cf94ec86
Merge pull request #7914 from stenzek/partial-update-infinite-loop
TextureCacheBase: Fix infinite loop in DoPartialTextureUpdates
2019-03-21 23:22:17 +00:00
Tilka b016417106
Merge pull request #7907 from jordan-woyak/search-close-with-esc
DolphinQt: Make Ctrl+F show the game list search and escape close it.
2019-03-21 23:20:48 +00:00
spycrab 094c852158
Merge pull request #7916 from spycrab/issue_11623
MacUpdater: Fix updater not closing after update is completed
2019-03-21 23:42:06 +01:00
JosJuice c558803cbd DiscExtractor: Fix extracting certificate chain and H3 hashes
Dolphin is currently not using this data, but still,
the way it was being extracted was not at all correct.
2019-03-21 23:07:24 +01:00
Jordan Woyak 94c4975b5d DolphinQt: Make Ctrl+F show the game list search and select the search text if already open. Escape closes. 2019-03-21 17:06:16 -05:00
spycrab d1f7f0fcc0 Qt/AudioPane: Fix volume box not keeping consistent width 2019-03-21 14:38:12 +01:00
spycrab 544f6d547d MacUpdater: Fix updater not closing after update is completed 2019-03-21 13:47:23 +01:00
spycrab 8cfbbbe9dc VideoCommon/RenderBase: Disable backculling for ImGui 2019-03-21 13:16:21 +01:00
spycrab 61350b3d98 Core/Host: Allow frontends to block inputs 2019-03-21 13:16:21 +01:00
spycrab 0a3279ae6b Fix ImGui key mapping Enter to the numpad 2019-03-21 13:16:21 +01:00
spycrab fcd0dbef2c
Merge pull request #7901 from spycrab/issue_11585
Qt/Mapping: Use QGridLayout in a few more places
2019-03-20 23:53:01 +01:00
spycrab e8b3c6cb3e Qt/Mapping: Use QGridLayout in a few more places 2019-03-20 23:46:45 +01:00
Stenzek bf0b52efc6 TextureCacheBase: Fix infinite loop in DoPartialTextureUpdates 2019-03-20 20:05:51 +10:00
Jordan Woyak b53636827b ControllerInterface: Unbreak DirectInput POV Hats having bad values on init. 2019-03-19 16:05:49 -05:00
LAGonauta 99a35568ca Allow XAudio2 to be selected as a surround backend. 2019-03-18 09:21:40 -03:00
LAGonauta f37ff190e4 Added DPL2 decoder to XAudio2 and XAudio2_7 backends. 2019-03-18 09:06:41 -03:00
Jordan Woyak 725d34b2f0 DolphinQt/InputCommon: Fix a few memory leaks. 2019-03-17 18:31:41 -05:00
Jordan Woyak 0bdfa19650 ControllerInterface: SDL: Replace unclear bool parameter with enum class. 2019-03-17 08:53:53 -05:00
Jordan Woyak 4fb68c530b ControllerInterface: SDL cleanup and FF effect fixes. 2019-03-17 08:53:13 -05:00
spycrab c4036d2d6a Qt/MD5Dialog: Make dialog modal 2019-03-16 18:54:15 +01:00
JMC47 7acefe8a28
Merge pull request #7898 from spycrab/qt_netplay_empty_chat
Qt/NetPlayDialog: Prevent players from sending empty chat messages
2019-03-16 13:09:28 -04:00
spycrab a40b5f9133
Merge pull request #7900 from spycrab/qt_general_align
Qt/GeneralPane: Align "Auto Update" on macOS
2019-03-16 17:57:23 +01:00
JMC47 ae533185c4
Merge pull request #7899 from spycrab/qt_netplay_bold
Qt/NetPlayDialog: Don't bold the player table headers
2019-03-16 12:12:30 -04:00
JMC47 2a9f01c1ba
Merge pull request #7897 from spycrab/qt_mapping_dialog
Qt/PadMappingDialog: Improve layout
2019-03-16 12:07:43 -04:00
spycrab 502cba255f Qt/GeneralPane: Align "Auto Update" on macOS 2019-03-16 16:20:21 +01:00
spycrab 2046f93de8 Qt/NetPlayDialog: Don't bold the player table headers 2019-03-16 15:44:03 +01:00
spycrab e64b6d27c8 Qt/NetPlayDialog: Prevent players from sending empty chat messages 2019-03-16 15:33:38 +01:00
spycrab 19dfd4d7ab Qt/PadMappingDialog: Improve layout 2019-03-16 15:12:20 +01:00
JosJuice 08ca9ec21f
Merge pull request #7884 from JosJuice/save-movie-on-exit
DolphinQt: Save movie when closing emulation
2019-03-16 14:58:16 +01:00
Stenzek 8aa0ea10d9 FramebufferManager: Don't discard in ReinterpretPixelData
This was causing the depth buffer to be discarded as well, which
has an effect on mobiles (doesn't get loaded into tile memory).

If we find this is hindering performance (remember, the EFB is
only a 640x528 texture), it may be worth changing the interface to
support discarding only the colour buffer.
2019-03-16 23:45:08 +10:00
Jordan Woyak 9cb17b062c DolphinQ: Mapping UI cleanups. 2019-03-15 18:32:25 -05:00
Connor McLaughlin 861fc42fc9
Merge pull request #7891 from kvark/vk-frame-view
[vk] Use proper view type of framebuffer images
2019-03-16 09:26:01 +10:00
JosJuice c71216419b
Merge pull request #7874 from vadosnaprimer/ffv1_fix
FFV1 fix
2019-03-15 23:17:02 +01:00
Tilka c57e5701cd
Merge pull request #7879 from spycrab/open_gc_save_folder
Qt/GameList: Implement 'Open gamecube save folder'
2019-03-15 18:25:19 +00:00
Dzmitry Malyshau 4173a8f545 Use proper view type of framebuffer images 2019-03-15 12:24:39 -04:00
spycrab 90522a7666 Qt/GameList: Implement 'Open gamecube save folder' 2019-03-15 14:22:54 +01:00
JMC47 011ecd92e8
Merge pull request #7829 from jordan-woyak/detect-input-improve
ControllerInterface/DolphinQt: Improve input detection.
2019-03-13 19:00:24 -04:00
JosJuice bc9e9caf19
Merge pull request #7888 from lioncash/const
UICommon/ResourcePack: Mark ResourcePack's operator== as const
2019-03-13 21:41:07 +01:00
spycrab 635afc1db4
Merge pull request #7883 from spycrab/qt_no_dark_mode
Qt: Don't use 'Dark Mode'
2019-03-13 21:19:20 +01: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
Lioncash 02da306d9a DolphinQt/Debugger/RegisterColumn: Add HID registers to the register pane
Adds the Hardware Implementation-Dependent registers to the register
pane, which makes it much nicer to see which hardware-specific features
are enabled or disabled.
2019-03-13 15:45:28 -04:00
Tilka 7b354fa7ac
Merge pull request #7637 from CrystalGamma/pr-crhelpers
PowerPC: Factor out CR helpers into POD class
2019-03-13 18:12:52 +00:00
JosJuice 185b1cf90c DolphinQt: Fix OnStopRecording/OnExportRecording logic 2019-03-13 17:35:20 +01:00
JosJuice 6c89957cf1 DolphinQt: Save movie when closing emulation
Missing feature from DolphinWX.
2019-03-13 15:40:36 +01:00
spycrab 339914f56d Qt: Don't use 'Dark Mode' 2019-03-13 14:30:43 +01: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
Stenzek cce7ac43d4 FramebufferManager: Fix panic in VertexManager with large EFB depth poke batches 2019-03-12 18:26:07 +10:00
JosJuice d879283e2d Fix title database not working when running games with 4-char game IDs
Regression from 8842a0f.
2019-03-12 08:42:05 +01:00
JMC47 22e7419747
Merge pull request #7838 from stenzek/efb-tile-cache
FramebufferManager: Implement EFB tile cache
2019-03-12 03:10:20 -04:00
Jordan Woyak 49218c32ed WiimoteReal: Improve state changes and minor code cleanups. 2019-03-11 15:46:04 -05:00
feos 7fd940411b decrease gop size (keyint)
this makes seeking a lot smoother (especially at high resolutions), while only adding less than 1% of filesize with this codec.
2019-03-11 22:17:13 +03:00
feos 005e60fa22 change pixel format from BGRA to BGR0
for this kind of footage carrying alpha information makes no sense, and it additionally complicates things by hugely damaging compatibility of the resulting video. after this change alone the video becomes compatible with VfW/WinAPI and tools that rely on it (avisynth, virtualdub).

fixes https://bugs.dolphin-emu.org/issues/11141 and https://bugs.dolphin-emu.org/issues/10193
2019-03-11 22:17:12 +03:00
spycrab 909e9322e7
Merge pull request #7875 from spycrab/qt_msgbox_fixes
ModalMessageBox: Remove superfluous buttons and ensure correct parent
2019-03-11 19:36:19 +01:00
spycrab 63fd931245 ModalMessageBox: Remove superfluous buttons and ensure correct parent 2019-03-11 18:24:59 +01:00
JMC47 9e4ab87a34
Merge pull request #7765 from AdmiralCurtiss/fzero-save-file-out-of-bounds
GCMemcard: Fix out of bounds access in F-Zero GX checksum calculation.
2019-03-11 12:40:03 -04:00
spycrab 8293724f4e
Merge pull request #7834 from Techjar/netplay-dialog-declutter
Qt/NetPlayDialog: Move most options into a menu bar
2019-03-11 17:27:55 +01:00
Jordan Woyak 224e678cf8 WiimoteEmu: Fix a config change callback causing a crash on exit. 2019-03-09 06:51:37 -06:00
Stenzek 9293c82b24 DolphinQt: Add option for deferred EFB cache invalidation 2019-03-09 12:36:32 +10:00
Stenzek a218a794cb FramebufferManager: Implement deferred EFB cache invalidation 2019-03-09 12:24:04 +10:00
Stenzek 6bc4bfd26a FramebufferManager: Implement EFB tile cache
The new tile cache is dynamic in size and can be turned on/off.
2019-03-09 12:23:33 +10:00
Stenzek 65216c9e87 VideoConfig: Add SupportsPartialDepthCopies to backend info
D3D11 doesn't support partial copies of depth buffers via
CopySubResource(), so we need to use a different path for the EFB cache.
2019-03-09 12:19:53 +10:00
CrystalGamma e3075f3834 PowerPC: Factor out CR helpers into POD class 2019-03-08 20:42:09 +01:00
Tillmann Karras 1790497789 Work around GCC 8.2 ICE 2019-03-08 09:47:06 +00:00
spycrab db2542886a
Merge pull request #7844 from spycrab/updatecommon_electric_boogaloo
UpdaterCommon: Move most of the programs here
2019-03-07 19:09:35 +01:00
Connor McLaughlin 7d17163ce8
Merge pull request #7862 from spycrab/macos_vulkan_crash
VideoCommon/RenderBase: Don't destroy pipelines that are in use
2019-03-07 23:15:48 +10:00
spycrab ae8412b901
Merge pull request #7858 from spycrab/more_padding
Qt: Increase padding a bit
2019-03-07 14:03:17 +01:00
spycrab f72652f690
Revert "Vulkan: Show backend as Vulkan (MoltenVK) on macOS" 2019-03-07 02:05:59 +01:00
spycrab 9ca394bbea VideoCommon/RenderBase: Don't destroy pipelines that are in use 2019-03-07 01:59:46 +01:00
spycrab a5534ec950 Vulkan: Show backend as Vulkan (MoltenVK) on macOS 2019-03-06 15:25:54 +01:00
spycrab f7e93a6556 Qt/ModalMessageBox: Use Warning instead of Critical icon for questions 2019-03-06 13:54:43 +01:00
spycrab 470b9e68e7 Qt: Increase padding a bit 2019-03-06 13:46:00 +01: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
Techjar b65faa0549 Qt/NetPlayDialog: Move most options into a menu bar
This eliminates the clutter of checkboxes at the bottom of the window.
A QAction within a QMenu cannot have a tooltip however, so they have
been removed and the options will be documented on the wiki.
2019-03-05 05:56:22 -05: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
Techjar 86d036ec4b Qt: Remove "What's this?" button from modal message boxes 2019-03-04 18:55:22 -05:00
Techjar d44b1b563a Qt/GameConfigEdit: Use QPushButton instead of QToolButton for presets menu
QToolButton looks ugly on macOS, and doesn't seem appropriate for this
use case anyways.
2019-03-04 18:39:25 -05:00
spycrab 70da86f1c3 Qt: Use ModalMessageBox everywhere 2019-03-04 21:53:02 +01:00
spycrab d1cb79f644 QtUtils: Add ModalMessageBox 2019-03-04 21:48:23 +01:00
Connor McLaughlin a59010fa29
Merge pull request #7851 from Tilka/efb_stats
VideoCommon: add EFB peek/poke stats
2019-03-04 15:28:22 +10:00
Tillmann Karras 05fa667d03 VideoCommon: add EFB peek/poke stats 2019-03-04 02:49:59 +00: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
Jordan Woyak c389d68186 ControllerInterface/DolphinQt: Make mapping "all devices" way less hacky. 2019-03-03 18:39:02 -06:00
Jordan Woyak 48b69ca018 ControllerInterface: Input detection improvements. 2019-03-03 18:36:16 -06:00
spycrab 13b2b93d3d
Merge pull request #7846 from spycrab/qt_no_ticks
Qt/MappingButton: Don't show ticks
2019-03-04 01:29:48 +01: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
Jordan Woyak 1cae9b9b39 DolphinQt: Fix ElidedButton (MappingButton) from growing with long text. 2019-03-03 17:41:48 -06:00
Jordan Woyak bbc6bf5294 Common/Config: Add a utility class to suppress config change callbacks. 2019-03-03 17:35:22 -06: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
Jordan Woyak 031149cc1d DolphinQt: Prevent contents of device and profile dropdowns from throwing off layout. 2019-03-03 16:09:24 -06:00
spycrab 2dcb703a1e
Merge pull request #7842 from spycrab/win_updater_hidpi
Updater: Support HiDPI
2019-03-03 22:46:19 +01:00
Jordan Woyak 4db4840d7c WiimoteEmu: Reimplement tilt/swing/camera/orientation data using matrix math. 2019-03-03 12:43:25 -06:00
spycrab 0d203cf0bb Qt/GCMemcardManager: Make message boxes modal 2019-03-03 16:36:58 +01:00
spycrab 326e2fb300 Qt/FIFOPlayerWindow: Make message box modal 2019-03-03 16:26:23 +01:00
spycrab 1ba810901d Qt/MappingWindow: Make message boxes modal 2019-03-03 16:19:50 +01:00
spycrab 103cb430f4 Qt/ControllerWindow: Make message boxes modal 2019-03-03 16:16:25 +01:00
spycrab 7f9084f87f Qt/USBDeviceATWhitelistD: Make message boxes modal 2019-03-03 16:12:12 +01:00
spycrab 606c61e7c9 Settings/InterfacePane: Make message box modal 2019-03-03 16:05:07 +01:00
spycrab 0c886b5e3c Settings/GeneralPane: Make message boxes modal 2019-03-03 15:56:23 +01:00
spycrab 386accd2c8 Qt/MappingButton: Don't show ticks 2019-03-03 15:49:24 +01:00
spycrab 19bf2c166d UpdaterCommon: Move most of the programs here 2019-03-03 15:02:44 +01:00
spycrab 2a3c075330
Merge pull request #7843 from spycrab/mac_update_label
MacUpdater: Properly display and truncate update messages
2019-03-03 13:30:43 +01:00
spycrab 833cb88c38 MacUpdater: Properly display and truncate update messages 2019-03-03 13:27:18 +01:00
spycrab 1e13ebd091 Updater: Support HiDPI 2019-03-03 12:56:26 +01: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
Jordan Woyak 2cec5d0a08 DolphinQt: Fix invalid error message when trying to save a zero-sized game config. 2019-03-02 21:23:39 -06:00
Jordan Woyak ecb67cf815 ControllerEmu: Deadzone math fix. 2019-03-01 17:40:10 -06:00
Tillmann Karras 24ba3bf2f2 TextureConversionShader: fix XFB decoding shader 2019-03-01 21:54:33 +00:00
spycrab 3c2ebec84e
Merge pull request #7828 from spycrab/updatecommon2
UpdaterCommon: Prevent duplicate downloads and respect symlinks
2019-02-28 13:04:15 +01:00
spycrab 7b66b3de8d UpdaterCommon: Prevent duplicate downloads and respect symlinks 2019-02-28 12:59:38 +01:00
Tilka 6be35422e9
Merge pull request #7832 from stenzek/xfb-decoding-regression
TextureCache: Fix GPU decoding of XFB copies
2019-02-28 11:03:25 +00:00
Stenzek 8192c0dd48 TextureConversionShader: Fix XFB decoding shader for D3D
D3D has no mix() equivalent with a bool parameter. Compilers should be
able to optimize the ternary into a select anyway.
2019-02-28 20:43:50 +10:00
Stenzek 21d81f99ff VideoBackends: Fix GPU decoding of XFB buffers
Was using UNORM instead of UINT, resulting in invalid values.
2019-02-28 20:35:22 +10:00
Stenzek db6763019d TextureCache: Fix GPU decoding of XFB copies not falling back to CPU 2019-02-28 20:19:37 +10:00
Stenzek 7f0111b022 TextureCache: Fix EFB2RAM copies at >1xIR sampling out-of-range 2019-02-28 20:11:46 +10:00
chargeflux 77777cd1d7 Fix QComboBox background and transparency workaround on macOS 2019-02-26 17:03:38 -05:00
spycrab 902e407ae5
Merge pull request #7823 from spycrab/updatercommon
Move shared Updater logic into UpdaterCommon
2019-02-26 22:15:42 +01:00
spycrab f10fdce158
Merge pull request #7825 from spycrab/fileutil_osx_path
Common/FileUtil: Fix GetExePath() cutting off the bundle name
2019-02-26 21:56:27 +01:00
spycrab 873d22b8b2
Merge pull request #7826 from spycrab/issue_11586
MacUpdater: Set LSUIElement to true
2019-02-26 21:52:45 +01:00
spycrab f0b749d8e2 MenuBar: Implement proper update-capabilities check 2019-02-26 20:42:55 +01:00
spycrab d0d85c15b4 MacUpdater: Set LSUIElement to true 2019-02-26 20:26:52 +01:00
spycrab 3e3f6922c0 Common/FileUtil: Fix GetExePath() cutting off the bundle name 2019-02-26 20:00:23 +01:00
spycrab 9c84524684 Move shared Updater logic into UpdaterCommon 2019-02-26 19:27:36 +01:00
spycrab 0ebf3b90e3 MacUpdater: Fix permissions some more 2019-02-26 17:16:04 +01:00
Tilka 19f4772e47
Merge pull request #7816 from JosJuice/titledatabase-edge-cases
Fix edge cases in TitleDatabase, cover downloading, Gecko code downloading
2019-02-26 04:25:45 +00:00
Tilka 02f5a7505f
Merge pull request #7821 from jordan-woyak/emu-turntable-effect-dial-fix
WiimoteEmu: Fix turntable effect dial mapping.
2019-02-26 04:22:45 +00:00
Tilka 6ce7f44b8a
Merge pull request #7753 from stenzek/videocommon-all-the-things
Move a significant amount of video backend logic to VideoCommon
2019-02-26 04:21:05 +00:00
Jordan Woyak 4b830ddc26 WiimoteEmu: Fix turntable effect dial mapping. 2019-02-25 15:54:36 -06:00
Tillmann Karras 8396ad541b DolphinQt: clean up includes 2019-02-25 20:15:12 +00:00
Tillmann Karras 8b330e1ca3 Discord: fix typo 2019-02-25 19:31:49 +00:00
JosJuice 71e6243c54 TitleDatabase: Don't hardcode HBC IDs that actually are in GameTDB 2019-02-25 19:55:49 +01:00
JosJuice 9df763b4ac TitleDatabase: Don't merge multiple languages into same map
Instead of selecting languages based on the user config at the time
of TitleDatabase creation and merging the different languages into one
map for GC and one map for Wii, have one map for each language, and
have the caller supply the language they want. This makes us not need
the IsGCTitle function, which is inaccurate for IDs that start with D.
2019-02-25 19:55:46 +01:00
JosJuice 8842a0f402 Keep track of GameTDB ID separately from game ID
The difference between Dolphin's game IDs and GameTDB's game IDs
is that GameTDB uses four characters for non-disc titles, whereas
Dolphin uses six characters for all titles.

This fixes:

- TitleDatabase considering Datel discs to be NHL Hitz 2002
- Gecko code downloading not working for discs with IDs starting with P
- Cover downloading mixing up discs with channels (e.g. Mario Kart Wii
  and Mario Kart Channel) and making extra HTTP requests. (Android was
  actually doing a better job at this than DolphinQt!)
2019-02-25 19:54:25 +01: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
spycrab 96786d0501 MacUpdater: Retain file permissions 2019-02-25 10:14:26 +01:00
Jordan Woyak d64f29d234 WiimoteEmu: Minor IR Camera behavior accuracy fix. 2019-02-23 16:40:47 -06:00
Tilka 83ff3aa691
Merge pull request #7815 from JosJuice/elf-dol-size
Don't show asterisk next to DOL/ELF size in game list
2019-02-23 15:46:03 +00:00
JosJuice 5ace78bf20 Don't show asterisk next to DOL/ELF size in game list 2019-02-23 16:17:39 +01:00
JosJuice ea7b96342b VideoConfig: Don't overwrite aspect_mode with suggested_aspect_mode
Unnecessary since b93b7ec. It was needed before that commit becase
RenderBase.cpp only was checking the value of aspect_mode, not
suggested_aspect_mode.
2019-02-23 16:00:18 +01:00
Jordan Woyak 58f1ff3773 WiimoteEmu: Minor accuracy fixes. 2019-02-20 17:44:55 -06:00
Stenzek f039149198 Move most backend functionality to VideoCommon 2019-02-19 16:57:54 +10:00
Stenzek 933f3ba008 TextureCache: Don't copy out-of-range rectangles when stitching textures
This can cause driver crashes or GPU hangs if we do.
2019-02-17 16:35:43 +10:00
Stenzek 2165523fdc TextureConverterShader: Write EFB2Tex XFB copies with alpha value of 1
This way we don't end up with artifacts of the EFB's alpha values in
frame dumps. XFB copies loaded from RAM also set the alpha to 1, so this
will match.
2019-02-17 16:35:43 +10:00
Stenzek 50bdcb8d9c TextureCache: Bind textures/samplers after loading all textures
Since loading textures can result in rendering, e.g. partial copies, we
don't want to disturb partially-bound GX state.
2019-02-17 16:35:43 +10:00
Stenzek eabde77892 CMake: Add an ENABLE_NOGUI option 2019-02-15 18:40:46 +10:00
Stenzek 836f76da89 DolphinNoGUI: Runtime selection of platform 2019-02-15 18:40:46 +10:00
Stenzek f9869cb216 Vulkan: Support runtime selection of WSI 2019-02-15 18:40:46 +10:00
LAGonauta c209d07c96 Removed FFDShow DPL2 decoder 2019-02-13 22:52:41 -02:00
LAGonauta f4cf1e4f49 Removed zeroing-out the LFE as it is not needed anymore.
Also removed minimum number of frames needed when decoding DPL2, and use
std::numeric_limits to clamp the samples when needed.

Clamping is still needed, but those samples are much rarer now and depend
on the game.
2019-02-13 22:52:40 -02:00
LAGonauta fdfd9d6953 Cleaned up PulseAudio as we now use FreeSurround 2019-02-13 22:52:40 -02:00
LAGonauta df631f0d75 Swapped FFDShow's DPL2 decoder by FreeSurround
Added class in AudioCommon for the surround decoder
2019-02-13 22:52:40 -02:00
JosJuice 5067e96f37 Minor fixes to translatable strings 2019-02-13 18:54:45 +01: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
spycrab eb11d045d7
Merge pull request #7790 from spycrab/rp_fixes
ResourcePacks: Fix various bugs
2019-02-11 11:09:43 +01:00
spycrab f86b34ceb9 ResourcePacks: Fix various bugs 2019-02-11 11:05:35 +01:00
Tilka 4d85bb2d18
Merge pull request #7782 from jordan-woyak/wiimote-emu-speaker-pan
WiimoteEmu: Change speaker pan to use "constant power pan law".
2019-02-11 00:20:07 +00:00
Jordan Woyak 3c77b4aa4b WiimoteEmu: Change speaker pan to use "constant power pan law" and change UI setting max value from 127 to 100. 2019-02-10 17:55:11 -06:00
Tilka 226affe00b
Merge pull request #7788 from jordan-woyak/mapping-ui-clear-button
DolphinQt: Make the mapping window clear button use ControllerEmu's clear functionality.
2019-02-10 23:29:33 +00:00
Tilka 33e51da3b8
Merge pull request #7785 from Tilka/patch_editor
DolphinQt: limit patch padding to 8
2019-02-10 23:22:20 +00: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 0abb1c6ea6 Qt/LogWidget: Make logging asynchronous 2019-02-08 13:21:21 +01:00
Anthony 2987e8313a
Merge pull request #7752 from 8times9/text-tweaks
Qt: Minor text tweaks
2019-02-07 10:21:00 -08:00
8times9 d45dad7bf7 Qt: Minor text tweaks 2019-02-07 11:53:07 -06:00
Jordan Woyak 64c3c52ef3 DolphinQt: Make the mapping window clear button use ControllerEmu's clear functionality. 2019-02-06 17:40:58 -06:00
spycrab 63cdebba88 UICommon/AutoUpdate: Add macOS support 2019-02-06 20:50:09 +01:00
spycrab 80f4181f60 MacUpdater: Initial implementation 2019-02-06 20:50:09 +01:00
spycrab fa01db4904 Qt/GameConfigEdit: Fix some settings being in the wrong section 2019-02-06 09:42:33 +01:00
Tillmann Karras 03a7071c57 DolphinQt: limit patch padding to 8 2019-02-05 04:59:52 +00:00
Tillmann Karras 74c5e60327 DolphinQt: show game descriptions in one line 2019-02-03 22:32:36 +00:00
Anthony f65b3a998c
Merge pull request #7739 from zackhow/multib
Android: Disable backend multithreading and add option to gfx menu
2019-02-03 12:44:00 -08:00
Anthony e05cc3f61d
Merge pull request #7718 from cristian64/display_listcolumns_via_rightclick_on_header
Qt/MainWindow: Also display "List Columns" menu via right-click on table's header.
2019-02-03 12:41:39 -08:00
Anthony 227a26490d
Merge pull request #7773 from spycrab/rp_compression
ResourcePacks: Support compression
2019-02-03 12:34:11 -08:00
Anthony eee24cd1ce
Merge pull request #7746 from Techjar/fix-hotkey-conflicts
[RFC] Core/HotkeyManager: Fix default hotkey conflicts
2019-02-03 12:26:14 -08:00
Tilka 8aaebfa2b3
Merge pull request #7716 from stenzek/stereo
Stereoscopy regression fixes
2019-02-03 19:57:01 +00:00
Anthony 4e825beddf
Merge pull request #7757 from jordan-woyak/wiimote-connection-status-checkmarks
WiimoteDevice: Update UI when wiimote connection status changes.
2019-02-03 10:28:08 -08:00
Anthony e9130734af
Merge pull request #7688 from jordan-woyak/evdev-improve
ControllerInterface: evdev: Cleanups and effect processing fixes.
2019-02-03 10:25:23 -08: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 3945aa6242 WiimoteEmu: Fix battery level handling and remove old comments. 2019-02-02 19:40:31 -06:00
Jordan Woyak 6c0902ab0a WiimoteEmu: Add logic for enabling/disabling M+ and force it disabled for now. 2019-02-02 19:40:31 -06:00
Jordan Woyak 0d1fbe7bbc WiimoteEmu: Major renaming and cleanup. 2019-02-02 19:40:31 -06:00
Jordan Woyak b1f350ab1c WiimoteEmu: Cleanups, Kill some now-redundant constants. 2019-02-02 19:40:30 -06:00
Jordan Woyak 6e5847a790 WiimoteEmu: Fix wiimote pan setting from keeping center at half volume. 2019-02-02 19:40:30 -06:00
Jordan Woyak d3906e548d WiimoteEmu: Cleanup ack handling. Improve accuracy of report handling with unusual values. Eliminated outdated comments. 2019-02-02 19:40:30 -06:00
Jordan Woyak 3a889c35ad WiimoteEmu: Cleanups, Kill more magic numbers and use some enum classes. 2019-02-02 19:40:30 -06:00
Jordan Woyak 86c94b8b22 WiimoteEmu: Motion plus now works half of the time in Wii Sports Resort. 2019-02-02 19:40:30 -06:00
Jordan Woyak 0b4329e077 Implement the rest of the wiimote input reports. 2019-02-02 19:40:30 -06:00
Jordan Woyak 10c2101e72 WiimoteReal: Unbreak. 2019-02-02 19:40:30 -06:00
Jordan Woyak 42b9392784 WiimoteEmu: Cleanups and work towards making motion plus functional. 2019-02-02 19:40:30 -06:00
Jordan Woyak a25e8cb516 Advance save state version. 2019-02-02 19:40:30 -06:00
Jordan Woyak a0721b256f WiimoteEmu: Cleanup, kill some magic numbers, and unbreak wiimote speaker pan setting. 2019-02-02 19:39:29 -06:00
Jordan Woyak 372b12c67f WiimoteEmu: Emulated motion plus is detected by game now. 2019-02-02 19:39:29 -06:00
Jordan Woyak ba936923bd WiimoteEmu: Tweak the i2c bus code to better support motion plus and its passthrough port. 2019-02-02 19:39:29 -06:00
Jordan Woyak 84d32f6645 WiimoteEmu: Fix usage of ReportFeatures in TAS related code. 2019-02-02 19:39:29 -06:00
Jordan Woyak 4dc0aa6f8e WiimoteEmu: Process wiimote read data requests like they are on a real wiimote. It's not a queue. New requests are ignored and input is suppressed while processing a request. This simplifies the save state code greatly. 2019-02-02 19:39:29 -06:00
Jordan Woyak ec460da36d WiimoteEmu: Add wiimote speaker logic to i2c bus. Temporarily break the "pan" setting. 2019-02-02 19:39:29 -06:00
Jordan Woyak 62b66580c3 WiimoteEmu: Unbreak wiimote extensions. 2019-02-02 19:39:29 -06:00
Jordan Woyak ebc2e58fa4 WiimoteEmu: Partially emulate i2c bus to more closely simulate the real thing. Transfer most of IR camera logic to the i2c bus. Temporarily break everything else. 2019-02-02 19:39:29 -06:00
Jordan Woyak 6c40c47472 WiimoteEmu: Remove some remnants of hybrid wiimote. 2019-02-02 19:39:28 -06:00
Tilka a95b6e1b9b
Merge pull request #7735 from spycrab/qt_modal
Qt: Make more messages modal
2019-02-03 01:30:03 +00:00
Tilka cfbc852fb0
Merge pull request #7777 from jordan-woyak/input-rounding
ControllerEmu: Round input floats instead of casting.
2019-02-03 00:56:05 +00:00
Tilka 6ec11c6801
Merge pull request #7742 from jordan-woyak/si-device-change-fix
SI: Device change logic fix.
2019-02-03 00:52:23 +00:00
Jordan Woyak 3bc4968c11 ControllerEmu: Round input floats instead of casting to prevent almost-neutral values from being rounded down. 2019-02-02 15:12:07 -06:00
spycrab b6863ff0a2 ResourcePacks: Support compression 2019-02-02 15:54:06 +01:00
Tilka 28c0b5338e
Merge pull request #7738 from spycrab/core_warnings
Core: Fix some warnings
2019-02-02 14:13:21 +00:00
Tilka d55e276d0b
Merge pull request #7763 from jordan-woyak/steering-wheel-ff-fix
HW: SI_Device_GCSteeringWheel: Fix handling of force commands.
2019-02-02 13:12:51 +00:00
Tilka 2d75797c63
Merge pull request #7747 from stenzek/vulkan-shutdown
Vulkan: Shutdown fixes and cleanup/refactoring
2019-02-02 12:45:20 +00:00
Tilka 6dc16dda26
Merge pull request #7750 from jordan-woyak/gamelist-less-padding
DolphinQt: Reduce the padding between gamelist items.
2019-02-02 12:41:06 +00:00
Tilka eb7135ac9b
Merge pull request #7771 from stenzek/qt-non-looping-fifoplayer
DolphinQt: Connect Host::RequestStop() to MainWindow::RequestStop()
2019-02-02 12:28:55 +00: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
Stenzek 31a5dd15a9 DolphinQt: Connect Host::RequestStop() to MainWindow::RequestStop()
The fact that this wasn't connected was causing fifoplayer to hang if
looping was disabled.
2019-02-02 13:36:46 +10:00
Admiral H. Curtiss fdd19c1b54 GCMemcard: Fix out of bounds access in F-Zero GX checksum calculation. 2019-02-01 17:50:19 +01:00
Tillmann Karras 4090c19e00 GeckoCodeConfig: fix Gecko Code downloading
For some reason the server always redirects once to the same location.
2019-02-01 13:44:58 +00:00
Tillmann Karras 3ff0e7dbd4 Common/HttpRequest: optionally follow redirects 2019-02-01 13:44:58 +00:00
Jordan Woyak 552392e4f6 HW: SI_Device_GCSteeringWheel: Fix handling of force commands. 2019-02-01 06:47:17 -06:00
Jordan Woyak b0cb100958 SI: Device change logic fix. 2019-02-01 06:43:24 -06:00
Tillmann Karras 04a92482bf ChunkFile: treat vectors/strings as sized arrays 2019-02-01 05:13:16 +00:00
JMC47 a129d60a57
Merge pull request #7762 from jordan-woyak/gcadapter-calibration
HW: SI_Device_GCAdapter: Restore calibration behavior for real gamecube controllers.
2019-01-31 23:47:09 -05:00
Tillmann Karras 45aeb86766 Fix -Wmissing-declarations warning 2019-02-01 03:06:01 +00: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
Tillmann Karras 5b4a5ca059 DolphinQt: cache filesystem icons for speed 2019-02-01 00:15:52 +00:00
JosJuice c1492aeb45
Merge pull request #7744 from stenzek/vsync
Renderer: Fix throttle-disable (TAB) hotkey when vsync is enabled
2019-01-31 22:44:10 +01:00
Jordan Woyak cb9896618f HW: SI_Device_GCAdapter: Restore calibration behavior for real gamecube controllers. 2019-01-31 08:38:25 -06:00
Jordan Woyak c54cc3fa38 HW: SI_Device_GCController: Minor cleanup. Remove a member/state variable that should just be a local variable. 2019-01-31 06:30:06 -06:00
JosJuice 419ba925b7
Merge pull request #7748 from jordan-woyak/compressed-game-indicator
DolphinQt: Display game list compressed file sizes with an asterisk.
2019-01-30 19:47:47 +01:00
JosJuice 9340ddc7c9
Merge pull request #7726 from zackhow/rumfast
Android: Optimize rumble call
2019-01-30 19:37:24 +01:00
Jordan Woyak 159d2b1cc3 HW/Wiimote: Don't reconnect wiimotes on ChangeWiimoteSource when the source hasn't actually changed. 2019-01-29 10:01:35 -06:00
Jordan Woyak 4bc576472c WiimoteDevice: Update UI when wiimote connection status changes to keep check marks in the menu bar accurate. 2019-01-29 07:57:51 -06:00
JMC47 0e1669e1c7
Merge pull request #7728 from jordan-woyak/pad-perfect-calib
SI_DeviceGCController: Calibrate to perfect neutral instead of initial input state.
2019-01-28 21:11:46 -05:00
JMC47 cf8da56297
Merge pull request #7751 from zackhow/motefix
Android: Don't grab wiimote report if size is < 1
2019-01-28 19:53:04 -05:00
Jordan Woyak efd5c36773 DolphinQt: Display game list file sizes with an asterisk when file-size differs from volume-size (e.g. when they are compressed). 2019-01-28 14:44:25 -06:00
JMC47 7907633126
Merge pull request #7715 from Techjar/qt-delete-unparented
Qt/MainWindow: Directly delete unparented dialogs
2019-01-28 06:42:07 -05:00
zackhow 831ab64e1c Android: Don't grab wiimote report if size is < 1
Fixes crash when using official wiimotes with the dolphin bar.
2019-01-27 16:43:19 -05:00
Jordan Woyak 3db904baba DolphinQt: Reduce the padding between gamelist items. 2019-01-27 14:00:22 -06:00
Jordan Woyak c386a6a875 DolphinQt: Fix selection of PP shader when using anaglyph 3D. 2019-01-27 13:23:42 -06:00
Techjar d70ea9e4ec Core/HotkeyManager: Fix default hotkey conflicts 2019-01-27 06:20:01 -05:00
Stenzek 3b033bf3f0 Vulkan: Move clear shader from Renderer to ShaderCache 2019-01-27 13:07:35 +10:00