Commit Graph

27867 Commits

Author SHA1 Message Date
Anthony c2c8a14966
Merge pull request #8348 from JosJuice/mmu-setting
Disable full MMU by default and add it to global config GUI
2019-11-27 16:04:40 -08:00
Anthony 9822a2d582
Merge pull request #8465 from CookiePLMonster/d3d-common-cleanup
D3DCommon: Cleanups and resource leak fix
2019-11-27 16:03:44 -08:00
Anthony 66ca83e6af
Merge pull request #8479 from nokturnusmf/master
Fixed #11874 (leading 0s ignored by debugger)
2019-11-27 15:57:54 -08:00
JosJuice 6e0130351e Android: Fix crash on enabling GC adapter
We must set Java_GCAdapter.manager before the GC adapter thread (C++)
starts. We used to set it at emulation start, which was fine until
9f3f45a made the GC adapter thread start much earlier.
2019-11-28 00:47:58 +01:00
Anthony 155016531f
Merge pull request #8439 from JosJuice/android-native-motion-controls
Android: Native motion controls
2019-11-27 15:40:43 -08:00
Anthony 34a1df1c68
Merge pull request #8493 from JosJuice/android-audio-volume
Android: Add audio volume setting
2019-11-27 15:36:54 -08:00
Anthony 8d814baf79
Merge pull request #8494 from JosJuice/android-checkbox-no-description
Android: Fix displaying checkbox settings with no description
2019-11-27 15:35:29 -08:00
Anthony e33acc07f9
Merge pull request #8332 from CookiePLMonster/dsp-lle-deadlock
DSPLLE: Put DSP thread in idle state when it's paused
2019-11-27 15:34:34 -08:00
Anthony 44f85bbc5e
Merge pull request #8496 from JosJuice/volumewii-check-decrypted-order
VolumeWii: Check SupportsReadWiiDecrypted before m_encrypted
2019-11-27 15:33:43 -08:00
Anthony f20c1c2f8d
Merge pull request #8499 from JosJuice/volumeverifier-super-paper-mario
VolumeVerifier: Detect broken Super Paper Mario
2019-11-27 15:31:05 -08:00
JosJuice 59633f5309 VolumeVerifier: Detect broken Super Paper Mario
https://bugs.dolphin-emu.org/issues/11900
2019-11-27 18:26:22 +01:00
JosJuice 9938585702 DolphinQt: Remove "Experimental" from "Export Wii Save"
It's pretty well tested at this point.
2019-11-27 17:23:58 +01:00
JosJuice cf8208ace9 Android: Add audio volume setting 2019-11-26 21:10:27 +01:00
JosJuice 23fc5f9e35 VolumeWii: Check SupportsReadWiiDecrypted before m_encrypted
Fixes using DirectoryBlob on extracted games that were unencrypted
prior to being extracted.

(One day I'll make DirectoryBlob actually support raw reads and then
the order of these two won't matter...)
2019-11-26 20:09:40 +01:00
JosJuice 70ee5234ba
Merge pull request #8188 from JosJuice/android-game-details
Android: Bring back and update the game details dialog
2019-11-25 11:31:37 +01:00
JosJuice 8339793918 Android: Fix displaying checkbox settings with no description
https://bugs.dolphin-emu.org/issues/11904
2019-11-25 00:14:40 +01:00
Scott Mansell ac77df9e90
Merge pull request #8490 from vadosnaprimer/dumping
2 minor dumping fixes
2019-11-25 10:38:44 +13:00
JosJuice 45ba745bc8
Merge pull request #8320 from CookiePLMonster/cpu-lock-yield-fix
Do not yield to UI from PauseAndLock
2019-11-24 20:12:04 +01:00
feos cb6a632c60 fix missing frame when you start another dump without closing dolphin 2019-11-24 18:02:38 +03:00
feos 15e6e7ddd2 figure out new segment on the fly right in FrameDump::Start() 2019-11-24 18:02:36 +03:00
Lioncash b28db1d4e6 UICommon: Make use of fmt where applicable
Continues the migration to using fmt.

Notably, this allows safely converting a map within USBUtils over to
containing string view instances, rather than std::string instances, as
fmt safely handles the formatting of string views.
2019-11-23 19:41:40 -05:00
Léo Lam ec895f544c
Merge pull request #8486 from lioncash/dualshock
InputCommon/DualShockUDPClient: Minor cleanup
2019-11-24 00:46:19 +01:00
Léo Lam 3a2d3aa9d2
Merge pull request #8488 from tinyredpanda/simplify-wstring-conversion
Simplify wstring to QString conversion
2019-11-24 00:17:32 +01:00
Lioncash 6fbbc2683e VideoCommon: Make use of fmt outside of shader generators
Migrates most of VideoCommon over to using fmt, with the exception being
the shader generator code. The shader generators are quite large and
have more corner cases to deal with in terms of conversion (shaders have
braces in them, so we need to make sure to escape them).

Because of the large amount of code that would need to be converted, the
conversion of VideoCommon will be in two parts:

- This change (which converts over the general case string formatting),
- A follow up change that will specifically deal with converting over
  the shader generators.
2019-11-23 16:00:45 -05:00
JosJuice 9639dde114 Address review comments on old code 2019-11-23 17:48:44 +01:00
JosJuice 8e2b12e1ea GameDetailsDialog: Use labels instead of icons 2019-11-23 17:48:44 +01:00
JosJuice 2e13353201 GameDetailsDialog: Convert layout to ConstraintLayout
This also removes the FAB from GameDetailsDialog. It was
previously outside of the visible area and thus unusable.
2019-11-23 17:48:43 +01:00
JosJuice 4f1511043c GameDetailsDialog: Fix banner placeholder 2019-11-23 17:48:43 +01:00
JosJuice ec91674d07 GameDetailsDialog: Show game ID and revision 2019-11-23 17:48:43 +01:00
JosJuice 84e616337d GameDetailsDialog: Remove the screenshot ImageView
It takes up a lot of space on the screen, and the functionality for
saving these screenshots isn't in Dolphin anymore as far as I can tell.
2019-11-23 17:48:43 +01:00
JosJuice 100e7e2b3d GameDetailsDialog: Hide description if empty
In particular, Wii games don't have descriptions.
2019-11-23 17:48:43 +01:00
JosJuice 100f032e2f GameDetailsDialog: Don't use CircleImageView for banners
Because trying to fit a 3:1 banner into a circle looks very awkward.

Also move the banner below the title/description now that it
takes up more space horizontally.
2019-11-23 17:48:42 +01:00
JosJuice fcb96a179d GameDetailsDialog: Actually load the banner 2019-11-23 17:48:42 +01:00
JosJuice c2952c466f Bring back game banner loading code deleted in 3f21975 2019-11-23 17:48:42 +01:00
JosJuice 5ed0cf8e0e Rename GameSettingsDialog to GamePropertiesDialog
Since it no longer only contains settings.
2019-11-23 17:48:42 +01:00
JosJuice 00c4dad784 Android: Bring back the game details dialog
It was made inaccessible in e19922c (I'm not sure why)
and then removed by 593b697.
2019-11-23 17:48:41 +01:00
JosJuice 870912722e Revert "Android: Remove dead code and related lib <circleimageview>"
This reverts commit 593b69728d.
2019-11-23 17:35:19 +01:00
JosJuice 4305a9ac57
Merge pull request #8482 from rafaeltoledo/rt/material-fix
Moves AlertDialogs imports to AndroidX and fix tabs background color
2019-11-23 16:56:39 +01:00
tinyredpanda fe9e7d5578 Prefer MessageBoxW to MessageBoxA 2019-11-23 13:56:05 +00:00
Rafael Toledo 8453277479 Moves `AlertDialog`s imports to AndroidX and fix tabs background color 2019-11-23 10:50:12 -03:00
tinyredpanda 5dbabef355 Simplify wstring to QString conversion 2019-11-23 13:23:46 +00:00
Lioncash 334e2768f5 InputCommon/DualShockUDPClient: Use an alias for the clock type
Makes code slightly less verbose without exposing the whole chrono
header to the current source file.
2019-11-22 17:06:10 -05:00
Lioncash db9e592765 InputCommon/DualShockUDPClient: Use deduction guides for lock_guard
With C++17, we can use template deduction guides provided by the
standard library. This allows the omission of the mutex type itself.
2019-11-22 17:06:10 -05:00
Lioncash 278d03f737 InputCommon/DualShockUDPClient: Make use of std::array where applicable
Provides the same semantics of a C array, but is much nicer to work
with.

Notably, it makes all cases of performing comparisons with said arrays
significantly less reading-involved.
2019-11-22 17:06:07 -05:00
Silent 5be9505ab3
Signal DSP thread after unlocking DSP mutex 2019-11-22 23:00:42 +01:00
JosJuice a06da596e5
Merge pull request #8485 from lioncash/imu
InputCommon/IMU*: Remove unnecessary includes
2019-11-22 22:31:57 +01:00
JosJuice af37d09b0f
Merge pull request #8484 from lioncash/input-func
InputCommon/FunctionExpression: Minor cleanup
2019-11-22 22:31:31 +01:00
Silent e30ff7c327
DSPLLE: Put DSP thread in idle state if it's paused to prevent a deadlock
DSP thread is considered "idle" when it signals s_ppc_event and waits for s_dsp_event,
without putting it in this state when m_dsp_thread_mutex is locked it was possible to
create a deadlock between a DSP thread, emulation thread and Qt thread by accessing
Config menu immediately after booting up the game
2019-11-22 22:07:41 +01:00
Lioncash 67097b4574 InputCommon/DualShockUDPClient: Relocate settings to top of source file
This is a small namespace, so we can move it to the top of the file to
get it out of the way of everything else.
2019-11-22 15:56:29 -05:00
Lioncash 4488719a76 InputCommon/DualShockUDPClient: In-class initialize members where applicable
Deduplicates members within the constructor's initializer list.
2019-11-22 15:56:29 -05:00
Lioncash 544d6cbe52 InputCommon/DualShockUDPClient: Add missing header guard
Prevents potential inclusion issues from occurring.
2019-11-22 15:56:26 -05:00
Lioncash 91993b46d9 InputCommon/IMU*: Remove unnecessary includes
Trims out unnecessary includes to avoid unnecessary header dependencies.

This also resolves indirect inclusions of <optional> within
IMUAccelerometer.h and IMUGyroscope.h
2019-11-22 15:41:38 -05:00
Lioncash 814fd165af InputCommon/FunctionExpression: Use Yoda conditions, we do not
The general convention in the codebase is to compare the non-constant
value/string with the constant value/string, not the other way around.
2019-11-22 15:36:18 -05:00
Lioncash 1f6077922b InputCommon/FunctionExpression: Remove unnecessary 'else' in MakeFunctionExpression()
Given all conditional bodies only contain a return, the use of else here
isn't necessary.

This has the benefit of consistently vertically aligning the names.
2019-11-22 15:36:18 -05:00
Lioncash 10fea99d80 InputCommon/FunctionExpression: Make MakeFunctionExpression() take a std::string_view
There's nothing within this function that requires a copy of the string
to be made, so we can make use of a non-owning view
2019-11-22 15:36:18 -05:00
Lioncash ddf8abf507 InputCommon/FunctionExpression: Remove unused LOOP_MAX_REPS constant
This isn't used anywhere in the translation unit, so we can remove it.
2019-11-22 15:36:18 -05:00
Lioncash 64bc6f53fd InputCommon/FunctionExpression: Remove cyclical include
This header was including itself, which is likely not intended.
2019-11-22 15:36:18 -05:00
Lioncash cb8fbe872e InputCommon/FunctionExpression: Collapse namespaces
Since we target C++17, we can collapse the namespaces into a single
declaration specifier.
2019-11-22 15:36:14 -05:00
Lioncash 6586ecc7a8 InputCommon/FunctionExpression: include <algorithm>
std::min/std::max are used within this translation unit, so it needs to
be included to prevent potential compilation failures.
2019-11-22 14:41:13 -05:00
Lioncash e8edc49bbe InputCommon: Make use of fmt where applicable
Continues the migration over to fmt
2019-11-22 14:38:26 -05:00
Matthew Foulds 5b6e7aabcf Fixed 11874 (leading 0s ignored by debugger) 2019-11-22 19:16:34 +00:00
Mat M bc449fb98f
Merge pull request #8480 from JosJuice/volumeverifier-block-future
VolumeVerifier: Fix a copypaste error
2019-11-22 11:42:50 -05:00
Rafael Toledo 2d1f32efb4 Bumps compile API to 29 (Q) removes unecessary casts and deprecated
calls
2019-11-22 13:17:37 -03:00
JosJuice 4e713238d9 VolumeVerifier: Fix a copypaste error
This was completely wrong, but I guess it happened to work correctly
anyway due to timing reasons (MD5 is faster than SHA-1 + AES).
2019-11-22 13:39:04 +01:00
JosJuice 2d4a3f4597 Android: Add an option for disabling native motion controls 2019-11-20 23:21:06 +01:00
JosJuice a9cf8670e0
Merge pull request #8224 from Pokechu22/wiimote-eeprom
Write the entirety of the Wiimote EEPROM, in a per-Wiimote file
2019-11-20 22:03:53 +01:00
JosJuice 9ef526c708
Merge pull request #8471 from Simonx22/AndroidX
Android: migrate to AndroidX
2019-11-20 21:36:28 +01:00
JosJuice c8b8a60033 Android: Let WiimoteEmu know whether we have accelerometer/gyroscope 2019-11-20 20:13:36 +01:00
JosJuice 4d838212e2 Android: Overhaul the orientation lock setting
When using motion controls, it's useful to be able to lock the screen
to a certain orientation so that Android won't interpret game motions
as an intent to change the screen orientation. To this end, I've
changed the existing orientation lock setting in the following ways:

- A portrait lock mode has been added in addition to the existing
  landscape lock mode and unlocked mode.
- The landscape lock mode now locks to regular landscape rather than
  letting you change between the two possible landscape orientations.
- The setting is now accessed during emulation rather than outside.
2019-11-20 20:13:34 +01:00
JosJuice a548489aaf Android: Adjust accel/gyro data for screen orientation 2019-11-20 18:22:21 +01:00
JosJuice 4557901382 Android: Make "Horizontal Wii Remote" flip the motion controls
Before, it only flipped the d-pad (and arranged the overlay buttons
differently).
2019-11-20 18:22:21 +01:00
JosJuice 033eeda43b Android: Fix the whammy bar for emulated guitar controllers
Not that this has much relation to the rest of the PR, but it's an
easy fix that we might as well throw in while we're already
overwriting everyone's WiimoteNew.ini.
2019-11-20 18:22:20 +01:00
JosJuice b143df91be Android: Native motion controls 2019-11-20 18:22:20 +01:00
JosJuice d66050375c
Merge pull request #8347 from hosaka-corp/frame-advance-alignment
Align frame advance and movies to full field boundaries
2019-11-19 19:26:35 +01:00
Léo Lam dae01b1a3b
Merge pull request #8346 from DacoTaco/master
GCMemcardManager : icon drawing takes to much cpu time
2019-11-18 23:37:11 +01:00
meta 9c5c3c055e Align frame advance and movies to full field boundaries 2019-11-18 15:05:06 -06:00
Jordan Woyak 282470e312 DolphinQt: Fix accelerometer mapping indicator flipped X axis. 2019-11-17 16:41:06 -06:00
Pokechu22 4d4a095c76 Reset Wiimotes on force stop and when starting MIOS 2019-11-17 12:20:26 -08:00
Pokechu22 a23609562d Replace magic disconnect channel number with a constant 2019-11-17 12:20:25 -08:00
Pokechu22 5477409847 Write the entirety of the Wiimote EEPROM, in a per-Wiimote file
Previously, only Mii data was written.  Additionally, the file containing mii data was shared for all Wiimotes, which made it a lot less useful.

Additionally, the file was read/written on each Wiimote read, even though the whole EEPROM was kept in memory.  This was bad for performance and not particularly necessary (it did enforce that the data was properly shared between all Wiimotes, but that's not something I want).
2019-11-17 12:20:19 -08:00
DacoTaco d6eb75b272 GCMemcardManager : Performance boost 2019-11-17 20:45:24 +01:00
Léo Lam 97f9f252cc
Merge pull request #8464 from jordan-woyak/wm-emu-errorcode
WiimoteEmu: Minor accuracy fixes.
2019-11-17 10:39:18 +01:00
Léo Lam bc1aa3640b
Merge pull request #8302 from AdmiralCurtiss/gcmemcard-comments
GCMemcard: Read comments, banners, and icons via logical data offsets instead of physical ones.
2019-11-17 10:34:06 +01:00
Admiral H. Curtiss 3b67d0d90a GCMemcard: Read icons according to logical data offsets instead of physical data offsets. Also gets rid of some undefined behavior. 2019-11-17 01:42:26 +01:00
Admiral H. Curtiss 110d6c1da3 GCMemcard: Read banners according to logical data offsets instead of physical data offsets. Also gets rid of some undefined behavior. 2019-11-17 01:42:26 +01:00
Admiral H. Curtiss 2f119bd206 GCMemcard: Move Icon and Banner constants to the GCMemcard header. 2019-11-17 01:42:26 +01:00
Admiral H. Curtiss 58f21830bd GCMemcard: Read file comments according to logical data offsets instead of physical data offsets. 2019-11-17 01:42:26 +01:00
Admiral H. Curtiss 770605bc80 GCMemcard: Add method to read an arbitrary block of bytes from a save file. 2019-11-17 01:42:26 +01:00
Silent 85c2841643
Make "Do you want to stop emulation?" application modal and disallow multiple instances at once
Fixes numerous issues with this dialog spawning multiple times
and putting Dolphin in a weird state.
2019-11-16 19:51:55 +01:00
Silent af92a88aa0
UI: Allow to specify modality of ready ModalMessageBoxes 2019-11-16 19:51:00 +01:00
Léo Lam b712cc106b
Merge pull request #7909 from LAGonauta/dplii-quality-slider
Add slider to change DPLII decoder quality
2019-11-16 18:13:58 +01:00
Léo Lam a77108236e
Merge pull request #8418 from lioncash/core-fmt
Core: Replace usages of StringFromFormat with fmt where applicable
2019-11-16 18:09:58 +01:00
degasus 3ebcc445de Core/Jits: Adds an option to disable the register cache.
This will help to disable all inter-instruction dependencies.
So android users can check if only a single instruction is broken without compiling dolphin on their own.
2019-11-16 13:05:54 +01:00
Simonx22 9d606a6ad0 migrate to AndroidX 2019-11-15 12:57:42 -05:00
JosJuice fe39e1e6d8
Merge pull request #8440 from rlnilsen/motion-input-tweaks
Motion Input enhancements
2019-11-15 14:08:45 +01:00
JosJuice 294fd8dd3a
Merge pull request #8463 from Simonx22/androidSupportVersion28
Android: update androidSupportVersion and compileSdkVersion to 28
2019-11-14 23:01:06 +01:00
JosJuice c1818c3e6c
Merge pull request #8461 from Simonx22/SdkVersion
Android: Update target Android SdkVersion to 28
2019-11-14 13:22:33 +01:00
JosJuice c23da15a22
Merge pull request #8470 from BreadFish64/patch-2
Fix typo in comment
2019-11-11 22:34:04 +01:00
Marshall Mohror 0334dde2cf
Fix typo in comment 2019-11-11 13:20:04 -06:00
Lioncash cfbabd4c41 SI_Device: Provide proper insertion/extraction operators for SIDevices enum
Allows the enumeration to be safely used with our type parsing
functions.
2019-11-11 07:33:01 -05:00
Lioncash febd1c3dba Core: Replace usages of StringFromFormat with fmt where applicable
Migrates usages of StringFromFormat over to using fmt.
2019-11-11 07:32:57 -05:00
LAGonauta 08787ebc4a Centralize logic to detect when the DPL2 decoder should be used. 2019-11-11 08:03:36 -03:00
Silent 4daeacba35
Fix malformed manifests 2019-11-11 11:47:10 +01:00
Jordan Woyak 4d24f160e3 WiimoteEmu: Minor accuracy fixes. 2019-11-10 20:38:21 -06:00
Connor McLaughlin 913cb08066
Merge pull request #8456 from jordan-woyak/input-gate-race-fix
InputCommon: Make the "input gate" not racy.
2019-11-11 10:59:49 +10:00
Pierre Bourdon 066012b80d
Merge pull request #8454 from jordan-woyak/motion-input-indicators
DolphinQt: Add accelerometer/gyroscope mapping indicators.
2019-11-10 18:57:31 +01:00
Pierre Bourdon 499f065b83
Merge pull request #8466 from jordan-woyak/evdev-float
evdev: fix bad integer division.
2019-11-10 18:53:22 +01:00
Pierre Bourdon df32e3fdfd
Merge pull request #8445 from Leseratte10/master
Add /dev/dolphin for homebrew to get information about Dolphin
2019-11-10 17:34:07 +01:00
Jordan Woyak 0c57887839 evdev: fix bad integer division. 2019-11-10 10:10:37 -06:00
Silent a68789a70c
D3DCommon: Remove unused GetDebugObjectName and tidy up SetDebugObjectName 2019-11-10 16:07:32 +01:00
Silent 8445644e05
D3DCommon: Migrate few remaining raw pointers to WRL::ComPtr 2019-11-10 16:07:32 +01:00
Simonx22 6f10730abf update androidSupportVersion and compileSdkVersion to 28 2019-11-09 23:28:22 -05:00
Jordan Woyak e85e51e5ce HW/WiimoteReal: Replace invalid select call with poll. 2019-11-09 19:22:58 -06:00
Jordan Woyak 59ebaed81c HW/WiimoteReal: Remove an old comment. We block infinitely now. 2019-11-09 18:45:09 -06:00
Léo Lam eebc64aaf8
Merge pull request #8460 from jordan-woyak/evdev-motion-data
InputCommon: Detect when evdev exposes acceleration/gyroscope data.
2019-11-09 23:34:51 +01:00
JosJuice 9e0b09ddf4 Disable full MMU by default and add it to global config GUI
Requested by JMC.
2019-11-09 23:26:55 +01:00
Léo Lam c167543eb3
Merge pull request #8185 from Techjar/memcard-manager-auto
Qt/GCMemcardManager: Load configured memory cards by default
2019-11-09 23:06:57 +01:00
Léo Lam 08b191ee8e
Merge pull request #8313 from JosJuice/gamelist-xml
GameFile: Support HBC-style XML metadata
2019-11-09 22:59:26 +01:00
Léo Lam f4e12f85bc
Merge pull request #8393 from CookiePLMonster/long-paths
Support Windows 10 long paths
2019-11-09 21:10:16 +01:00
Léo Lam 6cb60f8d36
Merge pull request #8385 from iwubcode/pathes-update
DolphinQt: Add ability to override ResourcePack and Load directory
2019-11-09 20:39:15 +01:00
Jordan Woyak 1180c231a6 InputCommon: Detect when evdev exposes acceleration/gyroscope data. 2019-11-09 13:34:29 -06:00
Jordan Woyak 8ef25ddd84 DolphinQt: Add accelerometer/gyroscope mapping indicators. 2019-11-09 09:59:45 -06:00
Florian Bach 2d55a6b0b7 Add /dev/dolphin for homebrew to get information about Dolphin
Adds a /dev/dolphin interface that can be used by
Dolphin-aware software to get information like the
real system time and the Dolphin version.
2019-11-09 15:31:51 +01:00
Simonx22 be489443bd target Android SdkVersion 28 2019-11-09 02:17:22 -05:00
Jordan Woyak a6b3a2cd4f DolphinQt: Hide unused buttons in the advanced mapping dialog. 2019-11-08 17:47:19 -06:00
Jordan Woyak 1e028025e5 Common: Add additional Matrix/Vec functions. 2019-11-08 15:46:45 -06:00
Léo Lam d8c62b5965
Merge pull request #8396 from jordan-woyak/mapping-input-list-states
Qt/Mapping: Show current input states in advanced dialog.
2019-11-08 22:15:45 +01:00
Simonx22 7dc0732a22 Gradle 3.5.2 2019-11-08 02:33:28 -05:00
Connor McLaughlin 422c3f79da
Merge pull request #8382 from tkln/verify-widget-switch-none-warn
VerifyWidget: Handle Severity::None case in Verify()
2019-11-08 11:23:32 +10:00
Connor McLaughlin 62f331dd13
Merge pull request #8431 from ferrrry/game-window-class
Qt: Add "renderer" window role to render window
2019-11-08 11:22:49 +10:00
Connor McLaughlin 71b098a69d
Merge pull request #8399 from CookiePLMonster/gametracker-fixes
Qt: Game Tracker fixes
2019-11-08 11:22:09 +10:00
Connor McLaughlin 9700b1e320
Merge pull request #8367 from JosJuice/missing-company-ids
DiscIO: Add missing company IDs
2019-11-08 11:15:27 +10:00
Connor McLaughlin 729308979d
Merge pull request #8388 from jordan-woyak/cmake-export-compile-commands
CMake: Enable generation of compile_commands.json.
2019-11-08 11:07:06 +10:00
Connor McLaughlin a89fdb628c
Merge pull request #8343 from stenzek/fbdev
DolphinNoGUI: Add a FBDev platform
2019-11-08 11:05:53 +10:00
Connor McLaughlin 2ebea1bfa7
Merge pull request #8433 from JosJuice/settings-onemulationstatechanged
DolphinQt: Call OnEmulationStateChanged when creating config window panes
2019-11-08 11:01:14 +10:00
Connor McLaughlin 47677ecaa7
Merge pull request #8437 from JosJuice/batch-render-to-main
Disable render to main when using batch mode
2019-11-08 11:00:18 +10:00
Connor McLaughlin 9db1ce8ef9
Merge pull request #8436 from JosJuice/vi-wii-freeloader
VideoInterface: Don't crash when running Wii Freeloader
2019-11-08 10:56:25 +10:00
Connor McLaughlin 28ce9330a8
Merge pull request #8444 from booto/vi-fields
VI: Adjust start/end of ACV region for fields
2019-11-08 10:51:32 +10:00
Connor McLaughlin 18ba1fd723
Merge pull request #8452 from JosJuice/android-emulationactivity-rotation-crash
Android: Replace emulation rotation crash workaround with proper fix
2019-11-08 10:45:21 +10:00
Connor McLaughlin 7c8a255ce1
Merge pull request #8450 from jordan-woyak/mapping-button-fix
DolphinQt: Fix output mapping button spacebar activation and tooltip.
2019-11-08 10:30:33 +10:00
Connor McLaughlin b554b636bd
Merge pull request #8449 from JosJuice/disable-bt-pt-buttons
DolphinQt: Fix the enabling/disabling of ControllersWindow buttons
2019-11-08 10:27:49 +10:00
Connor McLaughlin 5440be96e7
Merge pull request #8378 from stenzek/quad-buffer-stereo
Various quad-buffered ("HDMI 3D") stereo fixes
2019-11-08 10:26:58 +10:00
Jordan Woyak 85ceb37ccd InputCommon: Make the "input gate" not racey. 2019-11-06 16:31:02 -06:00
Scott Mansell 93d7b3d159
Merge pull request #8432 from jordan-woyak/hotkey-indicator-fix
DolphinQt: Make HotkeyScheduler call UpdateInput when hotkeys are disabled.
2019-11-07 10:05:54 +13:00
JosJuice 8bfd7c9f36 Android: Expand the comment for NVidiaShieldWorkaroundView
This text has been taken from the message of the commit that added
the class. (I don't have an Nvidia Shield to reproduce the bug with.)
2019-11-05 09:39:57 +01:00
JosJuice c007dd1852 Android: Replace emulation rotation crash workaround with proper fix
The workaround was added in 0446a58.

The underlying problem is that we must not destroy the surface
while the video backend is initializing, otherwise the video
backend may reference nullptr.

I've also cleaned up the logic for when to destroy the surface.
Note that the comment in EmulationFragment.java about only being
able to destroy the surface when emulation is running is not true
anymore (due to de632fc, it seems like).
2019-11-05 09:28:40 +01:00
Jordan Woyak 32cf4b76be DolphinQt: Fix tooltip of output mapping buttons. 2019-11-03 18:20:08 -06:00
Jordan Woyak 1bdf43dd78 DolphinQt: Fix spacebar not activating output mapping buttons. 2019-11-03 18:17:51 -06:00
JosJuice ef1bae5320 DolphinQt: Fix the enabling/disabling of ControllersWindow buttons
Without this change, calling OnEmulationStateChanged undoes part
of the enabling/disabling that OnWiimoteModeChanged has done.
2019-11-03 15:03:58 +01:00
rlnilsen f7a50545e3 Motion Input: Add "enable" checkbox for motion controlled cursor. 2019-11-03 11:56:01 +01:00
rlnilsen d67a2304b0 Input: Add optional "enable" setting to the ControlGroup class.
The setting is exposed as a check box in the QGroupBox instance that visualises the ControlGroup instance.
The setting is saved under "[control group name]/Enabled", but only when it is "false". The default value is "true".
2019-11-03 11:55:52 +01:00
iwubcode 490fd0c3b3 DolphinQt: Add way to override "ResourcePack" folder that controls the location of resource packs 2019-11-02 13:42:40 -05:00
iwubcode 876a1ccc3e DolphinQt: Add way to override "Load" folder that controls the location of custom textures 2019-11-02 13:30:44 -05:00
JosJuice 56d37d773b RedumpVerifier: Show an error when datfile lacks serials or versions
This happens if someone manually downloads a regular datfile from
redump.org and puts it where Dolphin stores datfiles. Dolphin needs
"special" datfiles that contain fields for serials and versions.

Before this change, all discs (except Datel discs) would show up as
"Unknown disc" when using a regular datfile.
2019-11-02 16:49:20 +01:00
Techjar 3006c73bf6 Qt/RenderWidget: Account for devicePixelRatio when auto-adjusting window size 2019-11-01 14:37:29 -04:00
rlnilsen 49d9c63908 Motion Input: DSU Client config UI: Enable server IP address and port fields only when "server enable" is checked. 2019-11-01 03:35:07 +01:00
booto 371e3f1021 VI: Adjust start/end of ACV region for fields
This wasn't changed when halfline counts were changed to 0-based. Also
included is a diagram showing an understanding of how the values in the VI
timing registers maps to the video signal.
2019-10-31 21:04:22 -04:00
Stenzek 16f103ab42 Vulkan: Exclusive fullscreen support via VK_EXT_full_screen_exclusive 2019-10-31 22:45:59 +10:00
Stenzek 6fc6444687 Vulkan: Explicitly enable VK_KHR_get_physical_device_properties2
This was missing from the subgroup PR way back.
2019-10-31 22:45:59 +10:00
Stenzek 230190fc36 Vulkan: Allow runtime querying of enabled extensions 2019-10-31 22:45:59 +10:00
Connor McLaughlin d3ee0a4535
Merge pull request #8379 from stenzek/mali
Vulkan: Optimizations for Mali with EFB2RAM on
2019-10-31 22:44:19 +10:00
Mat M fd4bf5f0a2
Merge pull request #8438 from JosJuice/tilt-tooltip-string
Change Wii Remote tilt tooltip string based on translator feedback
2019-10-30 05:39:13 -04:00
Mat M d6a3d0873c
Merge pull request #8441 from KenJPH/fix-versioncode
Fix versionCode dummy value
2019-10-30 05:38:18 -04:00
Mat M 78fad0aafa
Merge pull request #8443 from JosJuice/redumpverifier-datel-wii
RedumpVerifier: Fix handling of Datel Wii disc serials
2019-10-30 05:37:08 -04:00
JosJuice f9705fd117 Return nothing from VolumeWii::GetGameTDBID if Datel
RedumpVerifier relies on this.
2019-10-30 10:23:33 +01:00
JosJuice 42ec861469 RedumpVerifier: Fix handling of Datel Wii disc serials
GC Datel discs have empty serials, but Wii Datel discs have
serials starting with DS followed by some digits.
2019-10-30 10:11:24 +01:00
JosJuice 49977446dd RedumpVerifier: Don't crash on missing hyphen in serial 2019-10-30 09:58:37 +01:00
JosJuice e2ef248260 VolumeVerifier: Fix "The data partition is missing" false positive
My bad...
2019-10-30 09:38:18 +01:00
Ken Hosogoe 109108d3f6 Fix versionCode
ERROR: android.defaultConfig.versionCode is set to 0, but it should be a positive integer.
See https://developer.android.com/studio/publish/versioning#appversioning for more information.
Affected Modules: app
2019-10-30 19:13:32 +11:00
JosJuice 379f264aa8 Disable render to main when using batch mode
https://bugs.dolphin-emu.org/issues/11888

This also includes another change: DolphinQt will now exit with an
error if you use --batch without specifying a game using any method
(unlike in the past where --batch would be ignored if you didn't
specify a game using --exec, even if you had used --nand-title).
The main reason why I did this was because coding the alternative
(ignoring --batch) would be annoying with render to main involved.
2019-10-29 18:32:43 +01:00
Pierre Bourdon 1f3d1a9b7f
Merge pull request #8352 from rlnilsen/motion-controller-support-via-cemuhook-protocol
Support for motion controllers like the DualShock 4
2019-10-28 16:39:10 +01:00
JosJuice f4da08eb13 Change Wii Remote tilt tooltip string based on translator feedback 2019-10-28 11:16:55 +01:00
JosJuice 0dbb58112a CommandLineParse: Don't ignore video_backend/audio_emulation when not using -C 2019-10-28 10:36:56 +01:00
JosJuice 10d972789a DolphinQt: Make WiiPane connect itself to EmulationStateChanged 2019-10-27 21:26:35 +01:00
rlnilsen da1f153b47 Rename all instances of "CemuhookUDPServer"/"UDPServer" to "DualShockUDPClient"/"DSUClient". 2019-10-27 16:05:22 +01:00
rlnilsen 332cad21a4 Wiimote Mapping UI: Motion Input tab: Rework mapping warning, add explanation of and button to open Alternate Input Sources window. 2019-10-27 15:59:36 +01:00
JosJuice 090f04e01c VideoInterface: Don't crash when running Wii Freeloader
Datel's Wii Freeloaders set m_PictureConfiguration.WPL to 0 for
a while. Not sure if the fix in this commit is a proper fix or
just a hack, since I'm not very familiar with this code.

With this change, it's possible to run a Wii Freeloader if you
are running an old enough version of the Wii Menu, but the
"coloured bars" that Datel reference in their documentation
never show up. The screen just freezes for a few seconds instead.
2019-10-27 15:46:33 +01:00
Fadhil Mandaga 14e47e43f9
add custom command to install_name_tool -add_rpath 2019-10-27 07:27:21 +07:00
Mat M 427d4501bc
Merge pull request #8429 from JosJuice/redump-create-path
Create necessary folder when using Redump.org integration
2019-10-26 15:51:25 -04:00
Mat M cc6a1193b0
Merge pull request #8430 from JosJuice/eof-i18n-comment
InputCommon: Change "EOF" to "end of expression" in user facing string
2019-10-26 15:02:48 -04:00
Mat M fed2dce404
Merge pull request #8425 from JosJuice/volumeverifier-datel-wii
VolumeVerifier: Improve handling of Datel Wii Freeloader discs
2019-10-26 15:01:52 -04:00
JosJuice 8833e2a7fa DolphinQt: Call OnEmulationStateChanged when creating config window panes
Otherwise UI elements won't be disabled correctly if the config
window is first opened while a game is running.
2019-10-26 17:50:54 +02:00
Jordan Woyak 9d18402d07 DolphinQt: Make HotkeyScheduler call UpdateInput when hotkeys are disabled. 2019-10-26 10:03:57 -05:00
rlnilsen 5ff79499a5 UDPServer: Add configuration UI.
Accessed through button "Alternate Input Sources" in the "Controller Settings" dialog.
2019-10-26 02:20:18 +02:00
rlnilsen 8aec424191 Controller Settings Dialog: Rename "Advanced" group box to "Common".
The only setting inside, "Background Input", doesn't seem advanced to me, but it is used for both GC an Wii input.
2019-10-26 02:20:17 +02:00
rlnilsen 4cb3baba5c Add support for motion controllers via the CemuHook controller input protocol.
This is done by:
1) Implementing said protocol in a new controller input class CemuHookUDPServer.
2) Adding functionality in the WiimoteEmu class for pushing that motion input to the emulated Wiimote and MotionPlus.
3) Suitably modifying the UI for configuring an Emulated Wii Remote.
2019-10-26 02:19:53 +02:00
ferrrry ae337dbea9 Qt: Add "renderer" window role to render window 2019-10-25 22:51:05 +01:00
JosJuice c6b4438c62 InputCommon: Change "EOF" to "end of expression" in user facing string
This is hopefully clearer, since we're not dealing with a file.
2019-10-25 23:49:20 +02:00
JosJuice 2210a0a70c Rebuild D_REDUMPCACHE_IDX path when needed 2019-10-25 20:49:28 +02:00
spycrab f54faedd76
Merge pull request #8410 from spycrab/cmake_win_warnings
CMake/Windows: Fix warnings about flags being overridden
2019-10-25 13:05:14 +02:00
JosJuice 2f1b2c6adf Create necessary folder when using Redump.org integration
This was making it impossible to use the Redump.org integration
without first manually creating a Redump folder in the Cache folder.
https://bugs.dolphin-emu.org/issues/11885
2019-10-25 11:07:50 +02:00
JosJuice 742aa765c6 VolumeVerifier: Don't show problems with good dumps of Wii Freeloaders 2019-10-25 10:03:12 +02:00
Mat M c6da1f050b
Merge pull request #8376 from tkln/watch-widget-sign-compare
WatchWidget: Fix integer comparison signedness warnings
2019-10-23 20:20:51 -04:00
Mat M 897d7f634e
Merge pull request #8422 from CookiePLMonster/gamelistmodel-fixup
Fixup GameListModel::UpdateGame and columnCount
2019-10-23 20:20:03 -04:00
Mat M 6991b39289
Merge pull request #8419 from jordan-woyak/xor-op
ExpressionParser: Add XOR operator.
2019-10-23 20:18:39 -04:00
Mat M 291c056c07
Merge pull request #8424 from JosJuice/cpu-core-advanced-cleanup
DolphinQt: Cleanup after moving CPU Emulation Engine to Advanced tab
2019-10-23 20:16:32 -04:00
Mat M 780d34dbca
Merge pull request #8426 from JosJuice/volumeverifier-region-mismatch
VolumeVerifier: Improve region/game ID mismatch checking
2019-10-23 20:15:31 -04:00
JosJuice 2c79c63608
Merge pull request #8330 from JosJuice/redump-integration
VolumeVerifier: Add Redump.org integration
2019-10-23 16:43:52 +02:00
JosJuice 77b9a70d6c VolumeVerifier: Don't consider region mismatch for placeholder game IDs 2019-10-23 10:43:34 +02:00
JosJuice 97c4e8ff3a VolumeVerifier: Include revision when checking region mismatch 2019-10-23 10:39:19 +02:00
LAGonauta 2ff646b796 DSP must be set to LLE to select the decoder 2019-10-22 22:55:59 -03:00
LAGonauta 3c9eb37381 Allow user to change DPLII decoding quality 2019-10-22 22:55:15 -03:00
JosJuice 95c4423f4c DolphinQt: Cleanup after moving CPU Emulation Engine to Advanced tab 2019-10-22 20:54:01 +02:00
Admiral H. Curtiss 1c1c19e996 Qt/GCMemcardManager: Fix incorrect placeholder frame timing. 2019-10-21 22:47:17 +02:00
Silent a0111628fb
Fixup GameListModel::UpdateGame and columnCount
- dataChanged takes "first" and "last" indices inclusive, not exclusive
- columnCount should return 0 for valid parents
2019-10-20 23:07:08 +02:00
Jordan Woyak 1fe44238b1 ExpressionParser: Add XOR operator. 2019-10-20 09:51:52 -05:00
Mat M 6282b0d83e
Merge pull request #8326 from lioncash/fmt
ActionReplay: Make use of fmt where applicable
2019-10-20 07:30:20 -04:00
Mat M d0114ea61e
Merge pull request #8415 from jordan-woyak/try-parse
StringUtil: Require TryParse of float types to use the entire string.
2019-10-20 07:29:20 -04:00
spycrab da22109a31
Merge pull request #8411 from spycrab/win_repro
Windows: Make builds more reproducible
2019-10-20 13:15:53 +02:00
Mat M ef77101463
Merge pull request #8412 from jordan-woyak/def-warn-fix
Core/HW: Fix some explicitly defaulted but implicitly deleted warnings.
2019-10-19 17:47:40 -04:00
Jordan Woyak 9e8181e80e Core/HW: Fix some explicitly defaulted but implicitly deleted warnings. 2019-10-19 16:35:03 -05:00
Silent 68694e0039
Add signals to enable/disable Refresh button
Makes it impossible to spam Refresh button and looks better overall.
2019-10-19 23:15:38 +02:00
Silent cc6ffef4a1
Add CommandType::BeginRefresh
This resolves a race condition when spamming Refresh button,
which would often end up with duplicates game entries for the entire
duration of the session.
2019-10-19 23:07:10 +02:00
Silent 5e7b95db3b
Add missing break to prevent fallthrough 2019-10-19 23:06:58 +02:00
Jordan Woyak 0d254d9cb8 StringUtil: Require TryParse of float types to use the entire string. 2019-10-18 19:56:48 -05:00
JosJuice bb8d0261be DolphinQt: Mark ubershader setting names as translatable
These were marked as translatable in DolphinWX but not DolphinQt,
yet both DolphinWX and DolphinQt tried to fetch translations for them.
This meant that translations worked in both DolphinWX and DolphinQt
back when DolphinWX existed, but that translations stopped working
in DolphinQt once DolphinWX was removed (because the removal of
DolphinWX triggered the removal of the strings from the .po files).
2019-10-18 23:35:34 +02:00
Jordan Woyak 40d15980c5 DolphinQt/Mapping: Explicitly specify parents of conditionally added widgets to prevent memory leaks. 2019-10-18 12:26:03 -05:00
Jordan Woyak fa8cbd83e2 Qt/Mapping: Show current input states in advanced dialog. 2019-10-18 12:19:16 -05:00
spycrab 1aeb4908e6 CMake/Windows: Fix warnings about flags being overridden 2019-10-18 16:08:19 +02:00
spycrab 50ee8b105d Windows: Make builds more reproducible 2019-10-18 16:00:20 +02:00
JMC47 4a613dad20
Merge pull request #8304 from AdmiralCurtiss/memcard-manager-icon-fix
Qt/GCMemcardManager: Fix icon animations displaying incorrectly.
2019-10-17 18:03:21 -04:00
JMC47 8bc0a92f2c
Merge pull request #7663 from jordan-woyak/expression-parser-improve
Expression parser improvements
2019-10-17 17:35:30 -04:00
Anthony acf9bd5ebe
Merge pull request #8408 from ethteck/move-cpu-emulation-engine-options
Qt: Move CPU Emulation Engine options to the Advanced tab
2019-10-17 12:56:50 -07:00
Ethan Roseman 2647e412ae Change from radio buttons to combobox, sizing fix and slight reorganization 2019-10-16 21:01:01 -04:00
Anthony 6a15de58f4
Merge pull request #8403 from jordan-woyak/netplay-wiimote-buffer-fix
NetPlay: Allow Wii Remote buffer size to decrease
2019-10-16 16:20:53 -07:00
Anthony a21b7b1bdd
Merge pull request #8390 from jordan-woyak/wiimote-emu-tilt-fix
WiimoteEmu: Tilt fixes.
2019-10-16 16:14:42 -07:00
spycrab 2f0ad1b6a0
Merge pull request #8402 from spycrab/qt_about_restructure
Qt/AboutDialog: Clean up code a bit
2019-10-16 22:25:26 +02:00
JosJuice a6daed23e7
Merge pull request #8387 from sepalani/reg-view-in
RegisterWidget: Fix view in code/memory
2019-10-16 20:43:32 +02:00
JosJuice d6a394e027
Merge pull request #8381 from Ebola16/351
Android Studio 3.5.1 Updates
2019-10-16 20:42:48 +02:00
Ethan Roseman 1ce566f9fd Moved CPU Emulation Engine options to the Advanced tab 2019-10-16 12:41:13 -04:00
Jordan Woyak b120b08726 ControllerEmu: Clamp results of trigger/slider states to prevent integer overflow later on. 2019-10-15 15:35:07 -05:00
spycrab 4425d05c4a
Merge pull request #8400 from sepalani/fix-mega
SignatureDB: Add missing selectors
2019-10-15 18:24:03 +02:00
Admiral H. Curtiss bbeb25de48 Qt/Debugger/CodeWidget: Allow pressing 'enter' in address search box. 2019-10-14 21:47:27 +02:00
JMC47 d39555919d
Merge pull request #8395 from CookiePLMonster/improve-work-queue
Improvements to WorkQueueThread
2019-10-13 15:24:56 -04:00
Sepalani 8dc5557995 SignatureDB: Add missing selectors 2019-10-13 22:52:21 +04:00
Jordan Woyak 24a36eb027 NetPlay: Allow Wii Remote buffer size to decrease by dropping reports. 2019-10-13 13:03:57 -05:00
spycrab aba23c8d87
Merge pull request #8401 from spycrab/qt_5.13.1
Externals/Qt: Update to 5.13.1
2019-10-13 16:27:33 +02:00
spycrab 1975e57b73 Qt/AboutDialog: Clean up code a bit 2019-10-13 16:11:19 +02:00
spycrab ec526fee56 Externals/Qt: Update to 5.13.1 2019-10-13 16:06:56 +02:00
Jordan Woyak 7295458c11 ExpressionParser: Make Lexer ctor explicit and move argument. 2019-10-12 12:28:19 -05:00
Jordan Woyak 72302d9c42 ExpressionParser: Add support for /* */ style comments. 2019-10-12 11:41:02 -05:00
Jordan Woyak b4e2b3cae3 ControllerEmu: Don't clear expression variables on references update. Hotplug would make that problematic. 2019-10-11 19:42:49 -05:00
Jordan Woyak 4d41bd64c8 ExpressionParser: Show error message with expected arguments. 2019-10-11 19:38:18 -05:00
Jordan Woyak b57178d246 ExpressionParser: Remove ! character from function syntax. Remove unused serialization functions. 2019-10-11 18:12:18 -05:00
Jordan Woyak 7912dc57dd ExpressionParser: Remove !while and add optional 2nd argument to !smooth. 2019-10-11 18:12:18 -05:00
Jordan Woyak ca7ce67450 ExpressionParser/DolphinQt: Added parse results to UI. 2019-10-11 18:12:18 -05:00
Jordan Woyak c8b2188e19 DolphinQT: Add syntax highlighting from tokenizer data. 2019-10-11 18:12:18 -05:00
Jordan Woyak e3cf2ae0d4 DolphinQT/IOWindow: Add combo boxes to insert the new operators and functions so people are semi-aware of them. Fixed the "Apply" button. Display an error message on expression parse error. 2019-10-11 18:12:18 -05:00
Jordan Woyak 5cb1248612 ExpressionParser: Clean up some redundant using-declarations and wrong comments. 2019-10-11 18:12:18 -05:00
Jordan Woyak fae8b15db1 ExpressionParser: Add !pulse function that evaluates to 1.0 for N seconds for each press. 2019-10-11 18:12:18 -05:00
Jordan Woyak b5b43f8342 ExpressionParser: Add relative input function. 2019-10-11 18:12:18 -05:00
Jordan Woyak 08b291b0f9 ExpressionParser: Fix timer function with negative values. 2019-10-11 18:12:18 -05:00
Jordan Woyak 18b5120441 ExpressionParser: Add !tap function which activates after X (defaults to 2) taps within Y seconds. 2019-10-11 18:12:17 -05:00
Jordan Woyak f2e499d587 ExpressionParser: Add !hold function that activates after input is held for N seconds. 2019-10-11 18:12:17 -05:00
Jordan Woyak 9e536382c4 ExpressionParser: Add function to smooth inputs. 2019-10-11 18:12:17 -05:00
Jordan Woyak bbd6b1848f ExpressionParser: Add deadzone function. 2019-10-11 18:12:17 -05:00
Jordan Woyak 6a2096c419 ExpressionParser: Add optional 2nd argument to toggle function which clears state. 2019-10-11 18:12:17 -05:00
Jordan Woyak fd07ae8cec ExpressionParser: Move FunctionExpression type definitions into another file. 2019-10-11 18:12:16 -05:00
Jordan Woyak d4f9b8c4ef ExpressionParser: Allow unary functions to be used without parens around the argument. e.g. !`Up` 2019-10-11 17:31:09 -05:00
Jordan Woyak 2a377e35ed ExpressionParser: Make function names case sensitive. 2019-10-11 17:31:09 -05:00
Jordan Woyak 2b0297489f ExpressionParser: Rename some functions and return a syntax error on trailing tokens. 2019-10-11 17:31:09 -05:00
Jordan Woyak 258832b1e8 ExpressionParser: Change function argument syntax to something more c++-like. 2019-10-11 17:31:09 -05:00
Jordan Woyak ccac3f1e49 ExpressionParser: Fix negative literals and support unary minus operator. 2019-10-11 17:31:07 -05:00
Jordan Woyak 7cf903a209 ExpressionParser: Suppport N-ary functions. Arguments are read LISP style. N atoms are read after the function name. Added "if" function and made the "while" function more sensible with an arity of 2. Removed the ugly binary conditional operator. 2019-10-11 17:16:05 -05:00
Jordan Woyak 4dd078568b ExpressionParser: Replace the timer literal with a timer function that increases from 0.0 to 1.0 and resets after N seconds. e.g. (!timer 2.0) is a 2 second timer. Fixed parsing of unary expressions so things like (! ! 1.0) work. 2019-10-11 17:14:45 -05:00
Jordan Woyak 785eb14432 ExpressionParser: Clean up string lexing and support numeric literals without tick delimiter: e.g. 0.75 2019-10-11 17:14:45 -05:00
Jordan Woyak fa75ab404f ExpressionParser: operator precedence. 2019-10-11 17:14:45 -05:00
Jordan Woyak 46c0ae7d1f ExpressionParser: Add !while loop unary expression. Limited to 10000 reps to prevent infinite loops. Rhs is re-evaluated until it is < 0.5. Added comma operator, which behaves like it does in c++. Added subration operator. 2019-10-11 17:14:45 -05:00
Jordan Woyak 2c89b60298 ExpressionParser: cleanup. 2019-10-11 17:14:45 -05:00
Jordan Woyak 58efc93ed4 ExpressionParser: Conditional operator. A binary op that evals the rhs if lhs > 0.5 else 0.0. 2019-10-11 17:14:45 -05:00
Jordan Woyak 718efce1dc ExpressionParser: Add less-than and greater-than operators. 2019-10-11 17:14:45 -05:00
Jordan Woyak 35e51ebbaa ExpressionParser: Clear expression variables on UpdateReferences call. I don't know if this is most sensible. 2019-10-11 17:14:45 -05:00
Jordan Woyak e896835f86 ExpressionParser: Renamed ControlFinder to ControlEnvironment. Added support for variables and assignment operator. ControlExpression objects now reference a matching input and output so the two can me mixed in any expression. (you can set rumble directly from inputs) 2019-10-11 17:14:32 -05:00
Jordan Woyak 1efcf861ea ExpressionParser: Add mod operator, sin function, and timer "constant" which can be used for auto-fire and oscillators. 2019-10-11 17:13:58 -05:00
Jordan Woyak a8f3e9585f ExpressionParser: Expand ! symbol to allow for named unary functions. Added !toggle function which toggles on/off with each activation of its inner expression. 2019-10-11 17:13:58 -05:00
Jordan Woyak bf63f85d73 ExpressionParser: Add multiplication and division operators. (division by zero evaluates as zero). Don't clamp result of addition operator. Clamping will be done later. 2019-10-11 17:13:58 -05:00
Jordan Woyak f3192ca06d ExpressionParser: Add support for literals. 2019-10-11 17:13:58 -05:00
Mat M 5be061e27f
Merge pull request #8398 from jordan-woyak/old-wm-comment
WiimoteEmu: Fix an outdated comment.
2019-10-10 08:56:39 -04:00
Jordan Woyak 443af3fabd WiimoteEmu: Fix outdated comment. 2019-10-09 16:12:18 -05:00
Stenzek 7c286064b8 AudioCommon: Don't forget to call Init() on fallback 2019-10-10 00:09:16 +10:00
Stenzek 1c5441aa40 AlsaSoundStream: Don't call join() on invalid thread
This can happen if initialization failed.
2019-10-10 00:07:27 +10:00
Connor McLaughlin 6e613f4f82
Merge pull request #8386 from stenzek/gcc-array-workaround
FixedSizeQueue: Work around GCC generating large amounts of debug info
2019-10-09 15:42:53 +10:00
Silent 26ebf5b650
Improvements to WorkQueueThread
- Do not use a lambda for std::thread as invoke constructor exists
- Use simpler std::lock_guard wherever possible
- Do not require T to be default constructible
- Move T out of the queue instead of copying
2019-10-08 22:57:33 +02:00
Silent ea8a3059bf
Enable Win10 long path awareness in manifest files 2019-10-07 22:46:37 +02:00
Silent 45890c20cf
Remove obsolete "Windows compatibility" macros 2019-10-07 22:46:37 +02:00
Silent 689378b435
Move GetModuleName to Common
This unifies GetModuleFileName calls between Dolphin and WinUpdater
and allows to gracefully remove MAX_PATH limit from GetExePath
2019-10-07 22:46:36 +02:00
Silent 3b21d32865
Remove MAX_PATH limit from:
- GetTempFilenameForAtomicWrite
- SetUserDirectory
2019-10-07 22:45:16 +02:00
JosJuice 02ba893803 DolphinQt: When audio backend is invalid, show nothing in dropdown
It used to show the first option, No Audio Output (but audio output
would work correctly anyway since AudioCommon didn't use this logic.)
2019-10-06 20:40:31 +02:00
Jordan Woyak b794737bcf WiimoteEmu: Disable simulation of centripetal acceleration. 2019-10-06 09:56:41 -05:00
Jordan Woyak 673f13b7ac WiimoteEmu: Change default tilt angle to 85 degrees. 2019-10-06 09:56:41 -05:00
Jordan Woyak 260cefd60b WiimoteEmu: Expose maximum tilt acceleration. 2019-10-06 09:56:39 -05:00
Jordan Woyak e08663bc32 CMake: Enable generation of compile_commands.json. Used for intellisense in Visual Studio Code et al. 2019-10-06 07:59:23 -05:00
JMC47 b6545ea285
Merge pull request #8370 from sepalani/fix-hle-patch
HLE: Fix patching functions with the same name
2019-10-06 05:07:54 -04:00
Sepalani beeb68d541 RegisterWidget: Fix view in code/memory 2019-10-06 12:25:46 +04:00
Connor McLaughlin 9a68eaaa24
Merge pull request #8292 from Pokechu22/ir-calibration
Use valid IR calibration data
2019-10-06 17:31:50 +10:00
Connor McLaughlin dba7f3304d
Merge pull request #8361 from ligfx/remove_xaudio2
Remove XAudio2
2019-10-06 17:24:48 +10:00
Stenzek 4fd262d0b8 FixedSizeQueue: Work around GCC generating large amounts of debug info 2019-10-06 16:23:45 +10:00
feos 5d03d5dde0 Another AVI fix for WinAPI importers
When not using native resolution, FFMPEG automatically selects FFV1 version 3 for whatever reason, and that can't be decoded by VirtualDub/AVISynth.
2019-10-05 23:31:06 +03:00
Aapo Vienamo 0dda920c1d VerifyWidget: Handle Severity::None case in Verify()
The case body is empty because VolumeVerifier doesn't actually report
problems with severity of None.

Fixes "warning: enumeration value ‘None’ not handled in switch [-Wswitch]"
warning reported by gcc.
2019-10-05 13:20:29 +03:00
Stenzek ae83d02e54 Drop 3D Vision Support 2019-10-04 13:40:21 +10:00
Aapo Vienamo e3e682c4ca WatchWidget: Change type of NUM_COLUMNS to int
Fixes integer comparison signedness warnings.
2019-10-03 23:00:41 +03:00
Ryan Meredith 68450fc1d9 Android Studio 3.5.1 Updates 2019-10-02 21:10:16 -04:00
Stenzek ecdf21a988 Config: Also set CommandBufferExecuteInterval to 0 by default on Android 2019-10-02 22:44:19 +10:00
Stenzek 328d89db70 Vulkan: Add a DriverDetails bug for "slow cached readback memory"
Using the cached memory type appears to be slower on Mali drivers, with
~10-15% CPU spent in the __pi___inval_cache_range kernel function.
2019-10-02 21:34:58 +10:00
Stenzek c557aa4a15 Vulkan: Add strict flag to memory type selection 2019-10-02 21:27:32 +10:00
Stenzek 33a6d265e5 PostProcessing: Use interface blocks for shaders 2019-10-02 12:59:50 +10:00
Stenzek af849126b3 Renderer: Use interface blocks for ImGui shaders 2019-10-02 12:52:45 +10:00
Stenzek c98a5f7dfd Renderer: Draw ImGui interface to both eyes 2019-10-02 12:19:47 +10:00
Stenzek b44a0980eb PostProcessing: Use correct layer in quad-buffered modes
Previously, only the left eye was being used.
2019-10-02 11:52:54 +10:00
Stenzek e754c8ab26 D3D11: Initialize shader cache before renderer
Otherwise the shaders we need for e.g. postprocessing are null.
2019-10-02 11:50:10 +10:00
Stenzek e88c269d02 PostProcessing: Don't use GS expansion shader for quad buffering w/ OpenGL
OpenGL doesn't render to a 2-layer backbuffer like D3D/Vulkan for quad-buffered
stereo, instead drawing twice with the eye selected by glDrawBuffer()
(see OGL::Renderer::RenderXFBToScreen).
2019-10-02 11:33:25 +10:00
Connor McLaughlin e6ae204600
Merge pull request #8373 from jordan-woyak/stereo-mode-fix
DolphinQt/Graphics: Fix NVIDIA 3D Vision support handling.
2019-10-02 10:56:21 +10:00
Connor McLaughlin dafb0173b7
Merge pull request #8375 from stenzek/stereo-switch
Fix runtime stereoscopy mode switching
2019-10-02 10:54:53 +10:00
Connor McLaughlin b319f823bf
Merge pull request #8337 from CookiePLMonster/log-widget-improvements
Log widget improvements
2019-10-01 23:42:16 +10:00
Stenzek 135f0a1385 ShaderCache: EFB2RAM pipelines should not use a geometry shader
Only the left eye is used when creating the RAM copy.
2019-10-01 11:44:31 +10:00
Stenzek c989e5c50c ShaderCache: Recompile shared pipelines on shader cache reload
Fixes broken stereoscopy when switching on/off at runtime.
2019-10-01 11:43:02 +10:00
Jordan Woyak d15f08c84a DolphinQt/Graphics: Fix NVIDIA 3D Vision support handling. 2019-09-30 15:43:55 -05:00
Stenzek abc97bb0fa DolphinQt: Don't overwrite >8x IR scale in ini, add maximum internal res option
This adds an ini-only setting under GFX.ini -> [Settings] ->
MaxInternalResolution. Setting this will allow the user to select
resolutions beyond the default 8x max scale in graphics options.
2019-10-01 01:17:08 +10:00
JMC47 d3a9104cee
Merge pull request #8355 from phire/qt_fix_fifo_range
QtFifoPlayer: handle FIFO load before window creation
2019-09-30 00:34:39 -04:00
JMC47 bec433cb40
Merge pull request #8333 from CookiePLMonster/screenshot-timestamp
Core: Generate screenshot name with timestamps
2019-09-30 00:32:07 -04:00
JosJuice 06ab51bceb
Merge pull request #8324 from CookiePLMonster/adapter-combo-fix
Enable adapter combo only if adapters are supported by current backend
2019-09-29 00:13:55 +02:00
JosJuice de700eba4f
Merge pull request #8325 from Ebola16/35
Android Studio 3.5 Updates
2019-09-28 18:38:43 +02:00
JosJuice 9d648904ed
Merge pull request #8341 from CookiePLMonster/win-utf8-console-output
ConsoleListenerWin: Properly output console logging in UTF-16
2019-09-28 18:28:08 +02:00
Sepalani d8a3218726 HLE: Fix patching functions with the same name 2019-09-28 17:38:43 +04:00
JosJuice f8a4975274 DiscIO: Make company names match GameTDB's list better 2019-09-25 13:38:39 +02:00
JosJuice d8958fbdf7 GameFile: Use enums for custom/length parameters 2019-09-25 12:25:59 +02:00
JosJuice 59f27ae4e1 GameFile: Support HBC-style XML metadata
This feature was originally exclusive to the previous iteration of
DolphinQt (the one that was the reason for the current iteration
being named DolphinQt2 initially).

https://bugs.dolphin-emu.org/issues/8949
2019-09-25 12:25:33 +02:00
Rukai dbc0bf0ccb Fix import gc save file window title 2019-09-24 19:16:27 +10:00
JosJuice edfb0f66b6
Merge pull request #8363 from Fullmetal5/patch-1
Add Wii Mini system menu version detection
2019-09-23 20:18:45 +02:00
Admiral H. Curtiss ff90a5855d Qt/GCMemcardManager: Fix animation frame order and speed. 2019-09-23 01:55:46 +02:00
JosJuice 2300ce385e DiscIO: Add missing company IDs 2019-09-22 23:12:31 +02:00
Admiral H. Curtiss 8f573cf5f2 Qt/GCMemcardManager: Fix animation frame decoding. 2019-09-22 21:55:06 +02:00
Dexter Gerig 5c4b591536 Add Wii Mini system menu version detection 2019-09-21 12:55:49 -05:00
Pokechu22 3efa3d7a42 Fix 2 DTK bugs
Bug 1: subcommand 1 of 0xE1 does not actually reset the current position; it just stops playback.  0xE2 returns the same value it would have before stopping playback (other than reporting that the stream is stopped).

Bug 2: subcommand 3 of 0xE2 was incorrectly dividing the length by 4; while this makes sense for positions (which are multiplied by 4 earlier to get a byte offset), it is not correct for lengths.
2019-09-14 21:05:33 -07:00
Michael M 71c3c5626b AudioCommon: if backend is unknown, use default backend 2019-09-14 14:16:13 -07:00
Michael M 0f3695a14b Remove XAudio2
Audio on Windows is provided by the cubeb (shared mode) and WASAPI
(exclusive mode) backends, both of which exhibit lower latency.
2019-09-14 14:08:13 -07:00
Scott Mansell 677a0903a1 FifoPlayer: Use std::move for saving callbacks 2019-09-09 11:38:21 +12:00
Scott Mansell 46f4f69cfd QtFifoPlayer: handle fifo load before window creation
Fixes a bug where if you loaded a fifo before opening the fifo
player window (which you can do by dragging a .dff onto dolphin's
main window) then the player's widgets wouldn't be initilized
correctly.

Importantly, the object range widgets would be broken.
2019-09-09 10:36:31 +12:00
Ryan Meredith 817fe9b799 Android: Add GameID to Game Settings title 2019-09-06 23:51:32 -06:00
JMC47 c144cde825
Revert "DSP: ARAM cleanup experiments" 2019-09-02 01:47:50 -04:00
JMC47 03ea0eb27a
Merge pull request #7740 from booto/aram-experiments
DSP: ARAM cleanup experiments
2019-09-01 20:09:42 -04:00
Anthony ecef374cd8
Merge pull request #7810 from Ebola16/GFXUI
Android: Graphic setting description improvements
2019-09-01 12:16:38 -07:00
dreamsyntax a4f13ca57d Remove double space in GeckoCodeWidget code view 2019-09-01 11:22:42 -07:00
Stenzek 0a75e71672 DolphinNoGUI: Add a FBDev platform
And the associated GLContext bits
2019-09-01 14:00:40 +10:00
Stenzek 43fe02ee9b GLContext: Get size using eglQuerySurface()
Also no longer assumes that a nullptr display is not headless (needed for fbdev)
2019-09-01 13:35:11 +10:00
Silent 6bfa4fa643
LogWidget: Use FixedSizeQueue for a log messages buffer
Messages buffer is intended to be of a fixed capacity (MAX_LOG_LINES),
which cannot be achieved by std::queue unless we manually pop() extra elements.
std::queue uses std::deque internally which most likely results in allocations performed continuously.
FixedSizeQueue keeps a single buffer during its entire lifetime, avoiding any allocations except the ones
performed by stored objects.
2019-08-31 21:18:07 +02:00
Silent b3969e91d9
FixedSizeQueue: Bugfixes and improvements
- Fixed a bug where pushing items over queue's size left it in a corrupted state
- For non-trivial types, have clear() and pop() run destructors
- Added emplace(args...)
- Added empty()

FixedSizeQueue has semantics of a circular buffer,
so pushing items continuously is expected to keep overwriting oldest elements gracefully.

Tests have been updated to verify correctness of a previously bugged behaviour
and to verify correctness of destructing non-trivial types
2019-08-31 21:18:07 +02:00
Silent b088fc37d5
LogWidget: Do not use QueueOnObject to construct log queue,
instead store a std::string constructed from string_view and convert to QString just before appending
2019-08-31 11:59:09 +02:00
Silent e746d95d01
LogWidget: Stop update timer when log window is invisible so it doesn't continuously update in the background 2019-08-31 11:57:27 +02:00
Silent 7cec8601f1
LogWidget: Remove scrollbar tampering code (doesn't seem to do anything), clear text queue on clearing log 2019-08-31 11:57:07 +02:00
Silent eb7d42dfe8
LogWidget: Replace QTextEdit with QPlainTextEdit for better performance
QTextEdit is heavy, similar in functionality to WordPad,
while QPlainTextEdit is lightweight like Notepad.
Qt documentation recommends using QPlainTextEdit for log viewers,
and it also allows to set automatic cutoff of oldest messages beyond a fixed point,
which we now set to MAX_LOG_LINES (5000)
2019-08-31 10:46:04 +02:00
Silent eab086b880
ConsoleListenerWin: Properly output console logging in UTF-16 so UTF-8 displays properly 2019-08-31 00:44:44 +02:00
booto c268aa3a46 SI: Reduce logging. 2019-08-28 22:16:41 -04:00
Silent 37ef5a54c9
Core: Use move semantics for Renderer::SaveScreenshot 2019-08-28 19:52:35 +02:00
Silent ff8f978eaf
Core: Generate screenshot name with timestamps instead of only increasing numbers 2019-08-28 19:52:35 +02:00
meta 9e3b867c6a VideoInterface: start counting half-lines at 0 instead of 1
- Re-organize VideoInterface::Update() to count half-lines starting at 0 instead of 1
- Use horizontal position when checking if we should assert some display interrupt
- Add some more descriptive comments
2019-08-26 20:43:26 -05:00
Techjar a3d8a8be06 NetPlay: Remove 'reduce polling rate' option
With the SI poll line count fixed, pretty much all games are polling
twice per frame anyways, making this option superfluous. Since it's a
bit of a gross hack and makes DTMs incompatible with console, let's
just bin it.
2019-08-26 02:11:49 -04:00
JosJuice 87c5e0b30e VolumeVerifier: Add Redump.org downloading 2019-08-25 12:53:19 +02:00
JosJuice 3eb360b818 VolumeVerifier: Add zip support for datfile 2019-08-24 16:37:19 +02:00
JosJuice 22933d8502 VolumeVerifier: Add datfile parsing 2019-08-24 16:37:19 +02:00
Connor McLaughlin 88522b7a26
Merge pull request #8327 from JosJuice/more-string-view-regression
DolphinQt: Fix whitelisting USB devices
2019-08-23 21:32:13 +10:00
JosJuice c1a0a8f84a DolphinQt: Fix whitelisting USB devices
Revert of https://github.com/dolphin-emu/dolphin/pull/8233#discussion_r306223322
2019-08-23 13:22:33 +02:00
Admiral H. Curtiss 5614594f5e Qt/GCMemcardManager: Add an 'All Files' option to the filetype selection. 2019-08-22 20:18:21 +02:00
Lioncash f414d926c1 ActionReplay: Make use of fmt where applicable
Converts the ActionReplay logging over to using fmt instead of
StringFromFormat.
2019-08-21 17:59:33 -04:00
Ryan Meredith 1ee2234e44 Android Studio 3.5 Updates 2019-08-21 14:43:00 -04:00
Ryan Meredith 7d98c4f3a4 Add SingleChoiceSettingDynamicDescriptions 2019-08-21 13:17:16 -04:00
Ryan Meredith 630de81309 Show Stereoscopy Mode setting value as description 2019-08-21 13:17:16 -04:00
Ryan Meredith 92366fffaf Show Aspect Ratio setting value as description 2019-08-21 13:17:16 -04:00
Anthony c7fc9126aa
Merge pull request #8190 from JosJuice/android-init
Android: Call UICommon::Init at app start instead of emulation start
2019-08-21 10:14:52 -07:00
Anthony 998c171b65
Merge pull request #8196 from JosJuice/android-applinkactivity-race
Android: Fix race condition in AppLinkActivity
2019-08-21 10:14:08 -07:00
JosJuice f79ca65170 UICommon: Remove Android hacks from GameFile 2019-08-21 18:48:52 +02:00
JosJuice c677268aaf Android: Don't use GameFile/GameFileCache before UICommon::Init
Preparation for the next commit.
2019-08-21 18:46:49 +02:00
JosJuice 9f3f45aa5f Android: Call UICommon::Init at app start instead of emulation start
Much of our native code assumes that UICommon::Init has been called
(for reasons such as wanting to access the user's settings),
so not calling it until emulation start heavily limits what native
code we can use in the Android GUI (except during emulation).
2019-08-21 18:46:49 +02:00
JosJuice 47e1108d57 Android: Add helper class AfterDirectoryInitializationRunner 2019-08-21 18:46:49 +02:00
Anthony 2a95227f64
Merge pull request #8255 from JosJuice/remove-unsigned-warning
Remove "not signed by Nintendo" warning when installing WADs
2019-08-21 09:38:35 -07:00
Anthony 55d9f892a4
Merge pull request #7274 from Ebola16/DSA
Android: Dynamic SettingsActivity Titles
2019-08-21 09:01:25 -07:00
Anthony 5f38386575
Merge pull request #8222 from JosJuice/allow-mismatched-region-settings
Replace "Override Language on NTSC Games" with "Allow Mismatched Region Settings"
2019-08-21 09:00:06 -07:00
Anthony bf9427fafe
Merge pull request #8314 from JosJuice/menubar-movie-more
DolphinQt: Fix the enabling/disabling of Movie items even more
2019-08-21 08:58:24 -07:00
Anthony 35eb63de2c
Merge pull request #8300 from AdmiralCurtiss/gcmemcard-construction
GCMemcard: Rework construction logic.
2019-08-21 08:56:31 -07:00
Anthony 288dd649da
Merge pull request #8273 from CookiePLMonster/config-threading-fixes
Threading fixes for config layers
2019-08-21 08:55:03 -07:00
Tilka bbae0424a1
Merge pull request #8319 from Tilka/mcrfs
Jit64: fix mcrfs
2019-08-20 21:28:52 +01:00
Silent df0ff7f3bb
Enable adapter combo on emulation state change only if adapters are supported by current backend 2019-08-20 20:08:14 +02:00
Connor McLaughlin 674a66aab2
Merge pull request #8312 from JosJuice/btreal-bitwise-enum
BTReal.cpp: Don't use bitwise operators on enum values
2019-08-20 12:24:57 +10:00
Connor McLaughlin 82fe8f61b6
Merge pull request #8308 from CookiePLMonster/cmdline-headless
Make --batch run Dolphin headless
2019-08-20 12:22:50 +10:00
Connor McLaughlin 6efab4e3c6
Merge pull request #8280 from CookiePLMonster/alert-msg-box-modality-fix
Make alert messages application modal and not window modal
2019-08-20 10:58:57 +10:00
Silent fe8c9dfa14
WinUpdater: Properly initialize COM on window thread and release ITaskbarList3 on exit 2019-08-19 22:37:48 +02:00
Silent 23f335ba91
Core/CPU: Make use of type deduction for scoped locks 2019-08-18 17:39:27 +02:00
Silent 2bc9e09456
Core/CPU: Do not yield to UI from CPU methods
Core::RunAsCPUThread may be called from Qt signals, and if code yields to UI there
then it results in infinite recursion
2019-08-18 17:39:26 +02:00
Tillmann Karras ee85ec95b4 Jit64: fix mcrfs
It was deleting the wrong bits. This fixes issue 10074 (Super Monkey
Ball 2 minigame). I introduced this regression in
0f2c656687.
2019-08-18 03:49:32 +01:00
Silent 12ac784a41
Fix "Muted%" OSD message when muting sounds via a hotkey 2019-08-17 12:17:09 +02:00
Admiral H. Curtiss 7b9d43a834 Qt/GCMemcardManager and Qt/GameCubePane: Give detailed error messages for invalid memory cards. 2019-08-15 18:21:48 +02:00
Admiral H. Curtiss ba8ffd9391 GCMemcard: Check if the Directory's number-of-blocks claim for files matches the BAT, and report an error if it doesn't. 2019-08-15 18:21:48 +02:00
Admiral H. Curtiss 7d4cabea07 GCMemcard: The update counters are interpreted as signed values for the newer-than comparison. 2019-08-15 18:21:47 +02:00
Admiral H. Curtiss 8fc2f0ff2d GCMemcard: Rename MemCardXMb constants to MBIT_SIZE_MEMORY_CARD_X for consistency with other constants. 2019-08-15 18:21:45 +02:00
Admiral H. Curtiss b54a49eaaf GCMemcard: Rework construction logic to better match our knowledge of the format, while providing better error reporting facilities. 2019-08-15 18:18:56 +02:00
QuellaZhang e67eb4693e
Fix implicit false-to-nullptr conversions 2019-08-15 17:49:57 +02:00
Silent a35f540e7a
Explicitly enable conformance mode, and remove /Zc:inline because it's a default now 2019-08-15 17:47:55 +02:00
JosJuice a66ca85dd5 DolphinQt: Fix the enabling/disabling of Movie items even more
Play can only be used when a game is selected and emulation is not
running. Start can be used when a game is selected (to start from
cold boot) or when emulation is running (to start from a savestate).

https://bugs.dolphin-emu.org/issues/11826
2019-08-14 13:45:07 +02:00
Connor McLaughlin 181d79228a
Merge pull request #8275 from bdr99/netplay-player-log
NetPlay: Show a message in chat when a player joins or leaves
2019-08-14 11:23:18 +10:00
Brandon Rothweiler 8857db9833 Check validity of iterator before dereferencing 2019-08-13 18:00:12 -07:00
JosJuice f3dac2c041 BTReal.cpp: Don't use bitwise operators on enum values
https://bugs.dolphin-emu.org/issues/11692#note-11
2019-08-13 23:58:18 +02:00
Silent b6df0bff93
Make --batch run Dolphin in headless mode, provided --exec is also passed 2019-08-11 20:58:04 +02:00
Silent 80e8037e0b
Truly use emplace_back in CommandLineConfigLayerLoader constructor 2019-08-11 20:43:18 +02:00
JosJuice 9cc719db02 Fix TitleDatabase
a2a1e04 regression.
2019-08-09 18:20:45 +02:00
JosJuice 393709a45a Also override the SYSCONF country setting
Fixes https://bugs.dolphin-emu.org/issues/10066
2019-08-09 17:33:05 +02:00
JosJuice 561a4cfcce Replace "Override Language on NTSC Games" with "Allow Mismatched Region Settings"
This new setting is like Override Language on NTSC Games, except
instead of only applying to the GameCube language setting,
it also applies to the Wii language setting.

Fixes https://bugs.dolphin-emu.org/issues/11299
2019-08-09 17:33:05 +02:00
Connor McLaughlin b88e5610ab
Merge pull request #8204 from JosJuice/volumeverifier-underdump-wbfs
VolumeVerifier: Show underdump warnings for WBFS/CISO too
2019-08-10 01:24:15 +10:00
Connor McLaughlin 428ae5a43d
Merge pull request #8172 from nokturnusmf/relative-input-hold
Added (held) key for relative input
2019-08-10 00:37:53 +10:00
JosJuice 8c8bab3657 VolumeVerifier: Show underdump warnings for WBFS/CISO too 2019-08-09 16:13:50 +02:00
Connor McLaughlin 5c3e9a34c3
Merge pull request #8226 from lioncash/fmt-core
Core/Core: Use fmt where applicable
2019-08-09 23:43:39 +10:00
Connor McLaughlin 8be5ee9fe2
Merge pull request #8277 from lioncash/code
DolphinQt/Config/ARCodeWidget: Avoid unnecessary disk operations
2019-08-09 23:42:55 +10:00
Connor McLaughlin 48ca2c6f2e
Merge pull request #8233 from JosJuice/stringutil-string-view
StringUtil: Use std::string_view more
2019-08-09 23:39:01 +10:00
Connor McLaughlin 0ab7e2eed7
Merge pull request #8223 from JosJuice/titledatabase-unknown-language
TitleDatabase: Don't crash on unknown language
2019-08-09 23:35:53 +10:00
Connor McLaughlin f64f4a08c8
Merge pull request #8290 from lioncash/const-fn
UICommon/NetPlayIndex: Minor interface cleanup
2019-08-09 23:05:48 +10:00
Connor McLaughlin ec1fe41eb2
Merge pull request #8298 from CookiePLMonster/win-updater-hide-fix
WinUpdater: Properly hide window on startup as intended
2019-08-09 23:04:53 +10:00
JosJuice cd02ca17ce VolumeVerifier: Allocate QProgressDialog on stack
No reason to have it on the heap.

This also lets us skip calling reset, since the dialog closes
when the QProgressDialog object goes out of scope.
2019-08-09 14:47:15 +02:00
Connor McLaughlin e87a3f91a9
Merge pull request #8303 from JosJuice/volumeverifier-very-small
Fix problems with running VolumeVerifier on very small disc images
2019-08-09 22:16:33 +10:00
Connor McLaughlin 2df522d4eb
Merge pull request #8299 from JosJuice/volumeverifier-performance
VolumeVerifier: Performance improvements
2019-08-09 22:10:09 +10:00
Connor McLaughlin 22ed2c0e0c
Merge pull request #8269 from lioncash/osd-move
VideoCommon/OnScreenDisplay: Minor cleanup
2019-08-08 12:38:44 +10:00
Connor McLaughlin e5a4a86f59
Merge pull request #8297 from Miksel12/bugreport-qt
DolphinQt: Add bug tracker button
2019-08-08 12:27:05 +10:00
Connor McLaughlin 1bd8f03362
Merge pull request #8271 from lioncash/qstring
DolphinQt: Replace unnecessary QStringLiterals with alternatives where applicable
2019-08-08 12:25:30 +10:00
Connor McLaughlin 1092efa77a
Merge pull request #8276 from stenzek/adreno-efb-access
Fix CPU EFB access on Adreno with Vulkan backend
2019-08-08 12:23:27 +10:00
Connor McLaughlin 9477c8b0ed
Merge pull request #8293 from lioncash/ref
VideoCommon/TextureCacheBase: Make OnConfigChanged's parameter a const reference
2019-08-08 12:17:26 +10:00
JosJuice 107291dc5a Fix problems with running VolumeVerifier on very small disc images 2019-08-07 19:48:10 +02:00
JosJuice 2d316196c9
Merge pull request #8288 from allanxp4/master
Fix for Android version crashing when changing rotation on settings screen
2019-08-07 11:54:47 +02:00
Silent 8e79705854
WinUpdater: Wait in UI::Init until window is done creating to avoid losing UI::SetVisible signals 2019-08-06 19:24:38 +02:00
JosJuice 34fb608dd6 VolumeVerifier: Multithreading 2019-08-06 16:42:59 +02:00
JosJuice f754a1a548 VolumeVerifier: Don't read data multiple times 2019-08-06 16:32:01 +02:00
Silent f70efbb963
WinUpdater: Create updater window as hidden by default
UpdaterCommon attempts to hide updater window directly after creating,
so creating it hidden avoids the window from showing for a split second
2019-08-05 21:47:05 +02:00
Pokechu22 7c892c0c6e Use valid IR calibration data
Previously, IR calibration data with an invalid checksum was used, because the calibration produced a strange offset.  I've replaced it with calibration data that encodes the same values as the data Nintendo falls back to when the checksum is bad.
2019-08-05 10:39:32 -07:00
Mike Kuijl 03b20c702d DolphinQt: Add bug tracker button 2019-08-05 18:45:14 +02:00
Connor McLaughlin 24718c1a38
Merge pull request #8294 from lioncash/render-const
VideoCommon/RenderBase: Make functions const where applicable
2019-08-05 16:25:21 +10:00
Connor McLaughlin 161a43d43e
Merge pull request #8295 from lioncash/tex-cache-global
VideoCommon/TextureCacheBase: Remove use of the texture cache global in interface
2019-08-05 16:23:24 +10:00
Connor McLaughlin 049d5ed443
Merge pull request #8291 from JosJuice/android-delete-game-ini-more-warning
Android: Add a bit more warning to the game INI deletion prompt
2019-08-05 16:22:14 +10:00
Lioncash 07aa18eb2b VideoCommon/TextureCacheBase: Collapse for loop into a fill() in Invalidate()
Same thing, less code.
2019-08-04 23:30:27 -04:00
Lioncash d52dd2e04f VideoCommon/TextureCacheBase: Use emplace_back where applicable
Same thing, less code.
2019-08-04 23:28:14 -04:00
Lioncash fd12ae1408 VideoCommon/TextureCacheBase: Remove use of the texture cache global
We can just call the functions that are part of the interface instead of
using the global in order to execute those functions.
2019-08-04 23:23:04 -04:00
Lioncash 7366b4281f VideoCommon/RenderBase: Remove dependency on renderer global within renderer
There's no need to have a dependency when we can simply call the
function itself as part of the instance itself.
2019-08-04 23:01:19 -04:00
Lioncash cfdfbbff38 VideoCommon/RenderBase: Use structured bindings where applicable
Same behavior, but immediately assigns to variables, allowing them to be
const.
2019-08-04 22:59:07 -04:00
Lioncash dd5b8895fe VideoCommon/RenderBase: Make functions const where applicable 2019-08-04 22:52:00 -04:00
Lioncash 86a651e27f VideoCommon/TextureCacheBase: Remove dependence on global variables from OnConfigChanged()
The active config will always be passed as the reference parameter, we
can make use of the parameter instead of accessing the global variable.
2019-08-04 22:33:18 -04:00
Lioncash 7d017be666 VideoCommon/TextureCacheBase: Make OnConfigChanged's parameter a const reference
This reference isn't actually modified within this function
2019-08-04 22:31:27 -04:00
JosJuice 4261e8d892 Android: Add a bit more warning to the game INI deletion prompt 2019-08-04 19:31:56 +02:00
Allan 7029ebd97b Fix for crash when switching to landscape mode
https://bugs.dolphin-emu.org/issues/10815
2019-08-04 13:47:19 -03:00
Lioncash 8285a94d93 UICommon/NetPlayIndex: Take std::vector by const reference in ParseResponse()
This variable isn't std::moved anywhere and is just read out of into a
string. Instead of making a copy, and then another copy of the data into
a std::string, we can take it by reference, only copying the data once.
2019-08-04 12:36:52 -04:00
Lioncash 75f3656804 UICommon/NetPlayIndex: Use a std::string_view for EncryptID()/DecryptID()
These parameters only acted as views into the provided strings, so these
can just be turned into non-owning string views.
2019-08-04 12:32:33 -04:00
Lioncash 2830fe820d UICommon/NetPlayIndex: Take NetPlaySession by const reference for Add()
This isn't std::moved wholesale into a member variable or further
std::moved into another function, so it's better to take it by const
reference here to avoid unnecessary reallocations of contained
std::string instances.
2019-08-04 12:29:17 -04:00
Lioncash 0a67a40e7c UICommon/NetPlayIndex: Move NetPlaySession variable closer to its usage point in List()
Moves it closer to where its used, narrowing its visible scope, as well
as preventing unnecessary std::string constructor executions in the
event invalid data is encountered (the continue branch).
2019-08-04 12:24:04 -04:00
Lioncash 13292563ee UICommon/NetPlayIndex: Use std::move within SetErrorCallback()
std::function is allowed to heap allocate in order to store captured
variables, etc, so std::function isn't a trivial type. We can std::move
here in order to avoid potential reallocating.

While we're at it, make the definition's parameter name match the
declaration's parameter name for consistency.
2019-08-04 12:21:02 -04:00
Lioncash 5220922a22 UICommon/NetPlayIndex: Allow move semantics in SetGame()
If the parameter is const, then a move won't actually be able to occur,
making the std::move non-functional. We can remove the const qualifier
to remedy this.
2019-08-04 12:16:19 -04:00
Miksel12 9395d7ea08 DolphinQt: Reorder nunchuk mapping 2019-08-04 14:02:43 +02:00
Connor McLaughlin d3151d8808
Merge pull request #8278 from Miksel12/qt-changes
DolphinQt: Limit numeric widget width
2019-08-04 20:28:17 +10:00
Connor McLaughlin 7de6b57c13
Merge pull request #8284 from stenzek/logic-op-hack
RenderState: Approximate logic op with blending if unsupported
2019-08-04 14:39:38 +10:00
Connor McLaughlin c829351c90
Merge pull request #8286 from stenzek/efb-savestate-fixes
FramebufferManager: Fix restoring of EFB depth buffer / upside-down in OpenGL
2019-08-04 14:07:18 +10:00
Stenzek f6f9dc0cac RenderState: Approximate logic op with blending if unsupported
This is a giant hack which was previously removed because it causes
broken rendering. However, it seems that some devices still do not
support logical operations (looking at you, Adreno/Mali). Therefore, for
a handful of cases where the hack actually makes things slightly better,
we can use it.

... but not without spamming the log with warnings. With my warning
message PR, we can inform the users before emulation starts anyway.
2019-08-04 14:06:08 +10:00
Connor McLaughlin 4ccb4ef74f
Merge pull request #8283 from stenzek/d3d11-null-render-target
D3D11: Only use integer RTV when logic op is supported+enabled
2019-08-04 13:14:35 +10:00
JosJuice 64c0ff576c
Merge pull request #8285 from lioncash/dinput-ffe
InputCommon/DInputJoystick: Correct force-feedback flag testing
2019-08-03 10:09:31 +02:00
JosJuice 2770707587
Merge pull request #8287 from lioncash/static-ctor
DiscIO/Volume: Make Partition's interface constexpr
2019-08-03 10:07:53 +02:00
Lioncash db3b31c246 DiscIO/Volume: Make Partition's interface constexpr
PARTITION_NONE technically has a runtime static constructor otherwise.
This allows compile-time instances of Partition to be created without
the use of a static constructor.
2019-08-02 18:25:09 -04:00
Mike Kuijl cbfc442e90 DolphinQt: Limit numeric widget width 2019-08-02 18:20:37 +02:00
Stenzek d6460e0b18 FramebufferShaderGen: Fix upside-down EFB being restored in OpenGL 2019-08-03 01:48:57 +10:00
Stenzek 25b3e5e029 FramebufferManager: Fix restoring of EFB depth buffer
Correct state wasn't being set.
2019-08-03 01:46:54 +10:00
Connor McLaughlin 7afba6776f
Merge pull request #8279 from spycrab/fix_save_state_wait
Fix saving states freezing up emulation
2019-08-03 01:26:07 +10:00
Lioncash 37d643c7d3 InputCommon/DInputJoystick: Correct force-feedback flag testing
Introduced in a995e2f5ba

We need to be performing a bitwise AND on the flags and not a logical
AND, otherwise we could end up counting device objects that don't
support forced feedback.
2019-08-02 10:26:44 -04:00
Stenzek d78a9356d2 D3D11: Only use integer RTV when logic op is supported+enabled 2019-08-02 18:47:19 +10:00
JMC47 b01cacb27e
Merge pull request #8236 from booto/si_greatest_hits_vol_1
SI: Minor bugfixes
2019-08-02 03:17:54 -04:00
Silent 3fe8ef4c1c
Make alert messages application modal and not window modal,
so assertions cannot be interrupted by terminating the application
2019-08-01 22:27:36 +02:00
Silent 48a4b62125
Change Layer code not to create superfluous std::optional entries in LayerMap 2019-08-01 22:22:05 +02:00
spycrab 04764f8b7f Fix saving states freezing up emulation
Only for about half a second but noticeable nonetheless
2019-08-01 21:33:12 +02:00
Lioncash ff8f627499 DolphinQt/Config/GeckoCodeWidget: Use forward declarations where applicable
Avoids propagating headers into scopes where they're not needed.
2019-07-31 09:54:54 -04:00
Lioncash 14263ec6dd DolphinQt/Config/GeckoCodeWidget: Call LoadDefaultGameIni() directly
This is a static class function, so we don't need to go through the
SConfig instance in order to call it.
2019-07-31 09:54:54 -04:00
Lioncash 6002529ece DolphinQt/Config/GeckoCodeWidget: Make exec() outcomes explicit
Makes it a little more explicit which dialog outcomes we're expecting.
While we're at it, we can invert them into guard clauses to unindent
code a little bit.
2019-07-31 09:54:54 -04:00
Lioncash 255d2ff2d2 DolphinQt/Config/GeckoCodeWidget: Deduplicate ini path
We can store this to a local variable to avoid duplicating the same
string creation twice.
2019-07-31 09:54:53 -04:00
Lioncash a07d19a2fd DolphinQt/Config/ARCodeWidget: Use forward declarations where applicable
Avoids propagating headers into scopes where they're not necessary.

Also uncovered reliance on an indirect inclusion within
CheatsManager.cpp, which is now fixed.
2019-07-31 09:48:45 -04:00
Lioncash e08a76f9e2 DolphinQt/Config/ARCodeWidget: Call LoadDefaultGameIni() directly
This is a static function, so we don't need to go through the instance
of SConfig in order to call it.
2019-07-31 09:08:31 -04:00
Lioncash 4d8d2acae7 DolphinQt/Config/ARCodeWidget: Avoid unnecessary disk operations
If a user indicates that they want to clone and edit an AR code, then
click cancel on the following dialog, we shouldn't actually clone the
code.

We also shouldn't resave the codes if the edit dialog is opened and then
closed again via cancel, as there's nothing that actually changed. This
way we don't perform disk accesses unless they're actually necessary.
2019-07-31 09:01:38 -04:00
Lioncash 0d406f2bdc DolphinQt/Config/ARCodeWidget: Deduplicate ini path
We can just store this to a const local and use it to avoid doing the
same work twice.
2019-07-31 08:36:00 -04:00
Stenzek 06daf58032 FramebufferManager: Correctly handle read back D24S8 textures
Needed for the Adreno/Vulkan workaround, and if we ever switch to a D24
texture for the depth buffer w/ unrestricted depth range.
2019-07-31 15:33:28 +10:00
Stenzek 2698e311aa Vulkan: Use correct aspect for D24S8 textures 2019-07-31 15:33:05 +10:00
Brandon Rothweiler fdfa14d9cc Show a message in netplay chat when a player joins or leaves 2019-07-30 20:14:51 -07:00
Lioncash 6e14dcf70a DolphinQt/Config/GameConfigEdit: Pass parent pointer to base class
Previously, the constructor of GameConfigEdit wasn't doing anything with
the passed in parent pointer. This is dangerous because it can result in
memory being leaked in certain scenarios. It can also affect layout
decisions made by the parent. Instead, pass it through to the base class.

Current usages of the class pass in nullptr as the parent, so this is a
safe change to make with regards to the class hierarchy.

While we're at it, we can std::move the passed in QString into the class
member, allowing calling code to move strings into the constructor,
avoiding copies.
2019-07-30 19:17:25 -04:00
Silent cb4eecde52
Fix race conditions in Config Layers
API has been made stricter, layers are now managed with shared pointers,
so using them temporarily increased their reference counters.
Additionally, any s_layers map has been guarded by a read/write lock,
as concurrent write/reads to it were possible.
2019-07-30 22:10:17 +02:00
Lioncash fef1b84f0a DolphinQt: Replace QStringLiteral with alternatives where applicable
QStringLiterals generate a buffer so that during runtime there's very
little cost to constructing a QString. However, this also means that
duplicated strings cannot be optimized out into a single entry that gets
referenced everywhere, taking up space in the binary.

Rather than use QStringLiteral(""), we can just use QString{} (the
default constructor) to signify the empty string. This gets rid of an
unnecessary string buffer from being created, saving a tiny bit of
space.

While we're at it, we can just use the character overloads of particular
functions when they're available instead of using a QString overload.
The characters in this case are Latin-1 to begin with, so we can just
specify the characters as QLatin1Char instances to use those overloads.
These will automatically convert to QChar if needed, so this is safe.
2019-07-30 09:06:03 -04:00
Connor McLaughlin dea2b9c509
Merge pull request #8258 from CookiePLMonster/dx11.1-detection-fixes
D3D11 resources refactor and DX11.1 feature detection fixes
2019-07-30 01:24:57 +10:00
Silent baa9636d48
D3D11: Add extra logging to StateCache::Get 2019-07-29 16:48:24 +02:00
Silent 43bfb183c2
D3D11: Show a warning message about unsupported features when switching to D3D11 backend on Windows 7 2019-07-29 16:47:45 +02:00
Silent ff00873610
D3D11: Query for output merger logic op support and use logic op code only if supported
Previously code assumed that if DX11.1 runtime is supported, logic ops will,
but Windows 7 SP1 with a Platform Update supports DX11.1 runtime without logic ops.
This created pretty jarring visual artifacts, which now should be gone OR replaced
with much less jarring errors.
2019-07-29 16:47:39 +02:00
Silent a6b8e8b9c3
D3D11: Ownership fixes for objects in DXTexture 2019-07-29 16:43:02 +02:00
Silent 77425ef83b
D3D11: Ownership fixes for objects in D3DState 2019-07-29 16:39:21 +02:00
Silent 88db577c17
D3D11: Correctly poll ALL possible AA levels. 2019-07-29 16:39:06 +02:00
Lioncash c93fffaed6 DolphinQt/HotkeyScheduler: Correct string within Run()
AddMessage() by itself doesn't perform string formatting facilities, so
this message was actually using the EFB scale as a duration value, not a
format argument. This corrects that.
2019-07-28 23:16:23 -04:00
Lioncash 3f947f086f VideoCommon/OnScreenDisplay: Use deduction guides for std::lock_guard
Same behavior without hardcoding the type of the mutex within the lock
guards. This means the type of the mutex would be able to be changed
without needing to also change all occurrences lock guards are used.
2019-07-28 23:08:21 -04:00
Lioncash a565e41cb8 VideoCommon/OnScreenDisplay: Remove unused headers
While we're at it, fix up the imgui include to use the convention we use
for referencing external library headers.
2019-07-28 23:04:52 -04:00
Lioncash c212310fbe VideoCommon/OnScreenDisplay: Take Message's std::string parameter by value
Allows callers to std::move strings into the functions (or automatically
assume the move constructor/move assignment operator for rvalue
references, potentially avoiding copies altogether.
2019-07-28 23:00:58 -04:00
Lioncash 50b240fcbd VideoCommon/OnScreenDisplay: Default initialize all Message members
Provides a deterministic initial state in the case of the default
constructor.
2019-07-28 22:42:45 -04:00
Connor McLaughlin b0113b6c64
Merge pull request #8266 from lioncash/shadowing
D3DCommon/Shader: Use std::optional where applicable
2019-07-28 14:24:32 +10:00
Connor McLaughlin 5bad233b1a
Merge pull request #8265 from lioncash/view
OGL/ProgramShaderCache: Use std::string_view where applicable
2019-07-28 14:21:59 +10:00
Lioncash 6db305a4e8 VideoBackends/Null: Add missing override specifiers
Applies a missing override specifier to VertexManager's destructor.
2019-07-27 17:33:18 -04:00
Lioncash 23c5b362a5 VideoBackends/Null: Apply final to classes where applicable
These aren't intended to be further specialized, so we can make this
obvious with final.
2019-07-27 17:33:18 -04:00
Lioncash 86000fc6b4 VideoBackends/Null: Remove unnecessary constructors and destructors
Removes constructors and destructors that don't actually provide any
behavior (i.e. doesn't constain generated code related to non-trivial
members in a cpp file, etc).

Lessens the amount of code present.
2019-07-27 17:33:18 -04:00
Lioncash bdcc5853d5 VideoBackends/Null: Remove unnecessary includes 2019-07-27 17:33:16 -04:00
Lioncash aca02f9734 D3DCommon/Shader: Use std::optional with CompileShader()
Allows removing the use of an out parameter, making it nicer to use.
2019-07-26 20:06:14 -04:00
Lioncash 0ce6264f90 D3DCommon/Shader: Create vector via iterators in CreateByteCode()
Same behavior, but without unnecessary zeroing of data contents.
Instead, we supply the dataset to use directly.
2019-07-26 19:45:33 -04:00
Lioncash 287b446ef7 D3D/DXShader: Remove duplicate GetByteCode function
This is already provided in the base class, which performs the same
exact behavior. Given the function in the base class isn't virtual, this
also essentially resolves an instance of shadowing.
2019-07-26 19:45:23 -04:00
Lioncash 67bd2de73e OGL/ProgramShaderCache: Convert typedef over to a using alias
Same thing, but nicer to read from left to right.
2019-07-26 18:43:44 -04:00
Lioncash d6617d399f OGL/ProgramShaderCache: Use std::lock_guard deduction guides where applicable
Same thing, less reading.
2019-07-26 18:22:55 -04:00
Lioncash 6e69e3cf26 OGL/ProgramShaderCache: Remove unused headers
Removes a few inclusions that aren't necessary, reducing the number of
header dependencies.
2019-07-26 18:09:44 -04:00
Lioncash fb384dec55 OGL/ProgramShaderCache: Use std::string_view where applicable 2019-07-26 18:02:00 -04:00
Silent 890f781cd0
Factorize software renderer backend switching warning to be fetched from a new GetWarningMessage in video backend - will be needed for DX11.1 feature set warnings 2019-07-26 19:39:07 +02:00
Silent 799c52463e
Fixes for WRL usage - QueryInterface is explicitly mentioned as not to be used with WRL ComPtr 2019-07-26 19:38:58 +02:00
Connor McLaughlin d48dabc1fd
Merge pull request #8259 from stenzek/macos-disable-reversed-depth
Vulkan: Disable reversed viewport depth on macOS/MoltenVK
2019-07-25 14:11:09 +10:00
Connor McLaughlin a8bbbd0bfc
Merge pull request #8262 from Tilka/gdbstub
Fix GDB stub build
2019-07-25 13:54:02 +10:00
Connor McLaughlin ac9912bad3
Merge pull request #6321 from stenzek/efb-savestates
Support saving EFB and texture cache in save states
2019-07-25 13:50:57 +10:00
Silent 3529dfd691
Connect numerous QPushButtons to use clicked signal instead of pressed. This unifies UI behaviour more. 2019-07-24 00:18:58 +02:00
Stenzek 53e30c06e8 Config: Add an option to skip saving texture cache to save state 2019-07-24 05:19:22 +10:00
Stenzek 63358adfb1 Core: Save movie state before video backend state
Fixes the old frame number/inputs being displayed after loading state.
2019-07-24 05:19:22 +10:00
Stenzek 560074cf9f Core: Fix crash when state is loaded while waiting for the CPU 2019-07-24 05:19:22 +10:00
Stenzek 137009affe FramebufferManager: Support saving EFB to save state 2019-07-24 05:19:22 +10:00
Stenzek 1082468133 TextureCache: Support saving cache entries, including EFB copies 2019-07-24 04:10:38 +10:00
Stenzek b26bb0605b VideoBackendBase: Do save state logic on the GPU thread 2019-07-24 04:08:25 +10:00
Stenzek a25a4e0708 State: Use RunOnCPUThread to invoke save state handlers
This ensures that the emulated state is only touched by the CPU thread
2019-07-24 04:08:25 +10:00
Stenzek df45e714a3 Core: Support asynchronously executing functions on the CPU thread
The CPU thread will be interrupted to execute the callback, and then
restored to its old state after execution completes.
2019-07-24 04:08:19 +10:00
JosJuice 117a60ceb2 StringUtil: Comply with variable naming style 2019-07-23 14:49:13 +02:00
JosJuice a2a1e04fc9 StringUtil: Use std::string_view more 2019-07-23 14:49:12 +02:00
Lioncash 1f98188277 Core/Core: Use fmt where applicable
Continues the migration over to using fmt. Given fmt is also compatible
with std::string and std::string_view, we can convert some parameters
over to std::string_view, such as the message parameter for
StopMessage() and the name parameter for an overload of SaveScreenShot()
2019-07-23 08:42:29 -04:00
Léo Lam 29ba53f6c3
Merge pull request #8256 from JosJuice/setrunninggamemetadata-channel-disc
Never set disc as active title when launching channel with same ID
2019-07-23 09:47:55 +08:00
Léo Lam c8c1a0d747
Merge pull request #8253 from JosJuice/fakesigned-common-key-fix
Re-implement FixCommonKeyIndex for WAD files
2019-07-23 09:41:46 +08:00
Connor McLaughlin 8f6b237e11
Merge pull request #8217 from CookiePLMonster/windows-updater-improvements
Updates to auto-updater on Windows
2019-07-23 10:39:04 +10:00
Anthony 66e7a11139
Merge pull request #8235 from lioncash/move
Common/DebugInterface: Minor cleanup changes
2019-07-22 15:07:14 -07:00
Anthony 136264d340
Merge pull request #8245 from JosJuice/volumeverifier-wii-menu-region
Fix VolumeVerifier considering Wii Menu WADs to have wrong region
2019-07-22 15:06:07 -07:00
JosJuice 8bb333d811 ConfigManager: Include "Common/Common.h" for _trans macro
Aims to fix https://github.com/dolphin-emu/dolphin/pull/8232#issuecomment-513913625
2019-07-22 22:23:46 +02:00
Silent baab660f1c
WinUpdater: Removed MAX_PATH limitation on path to updater, also fixed a wrong size parameter 2019-07-22 19:46:25 +02:00
Silent 94a19ca670
Qt/Updater: Fixed an assert on m_parent->close() (was called from a wrong thread) 2019-07-22 19:30:02 +02:00
Silent 4b03790eda
Core: Fixup AutoUpdateChecker::TriggerUpdate on Windows:
- Properly close handles if Updater.exe process spawns successfully
- Fix STARTUPINFO sizeof typo
2019-07-22 19:29:50 +02:00
Silent a00dfeecf0
WinUpdater: Properly account for failure in WaitForPID 2019-07-22 19:29:22 +02:00
Silent d355abaf0c
WinUpdater: Improved exit synchronization on Windows - now joins a thread instead of using flags to signal 2019-07-22 19:28:20 +02:00
Silent 3f1ba830e7
UpdaterCommon: Remove manual UI::Stop() calls in favour of a scope guard to ensure it's called on all return paths 2019-07-22 19:16:22 +02:00
Silent 2ae409ba06
WinUpdater: Replaced PeekMessage with GetMessage - removes a busy loop in favour of a proper wait based message queue 2019-07-22 19:16:14 +02:00
Léo Lam 15679a9a70
Merge pull request #8227 from lioncash/gekko
Common/GekkoDisassembler: Don't print out '\0' as a character
2019-07-22 21:39:49 +08:00
Léo Lam 60aea524b1
Merge pull request #8232 from JosJuice/wasapi-translatable
Mark "WASAPI (Exclusive Mode)" as translatable
2019-07-22 21:38:39 +08:00
Léo Lam 71b2e1a997
Merge pull request #8225 from JosJuice/sd-hotkey
Add a hotkey for inserting/ejecting the SD card
2019-07-22 21:38:00 +08:00
JosJuice 73a9b4148b
Merge pull request #8257 from CookiePLMonster/assert-fixes
Fixes to assertions
2019-07-22 08:47:13 +02:00
JosJuice a8807e7452 Force signature verification during system update from disc
Unlike the WADs people put in their game lists, these WADs
should always be correctly signed.
2019-07-21 18:48:44 +02:00
JosJuice 732d157011 Remove the EnableSignatureChecks setting
Since Dolphin can do NUS downloads over plain HTTP, we really don't
want people to be able to silently disable signature verification
indefinitely. Removing the setting shouldn't have any significant
negative impact now that signature verification always is disabled
when installing WAD files.
2019-07-21 18:47:35 +02:00
JosJuice 4304f5f7fc Remove "not signed by Nintendo" warning when installing WADs
Apparently nobody is using good dumps, meaning that the warning
is a nuisance rather than useful information for most people.
Especially so for people who don't install WADs permanently.

It is still possible to verify the signature using the Verify
tab of the game properties, which matches how Dolphin handles
checking the signatures of Wii discs.
2019-07-21 18:47:34 +02:00
Silent 518d96ad48
Remove duplicated "Ignore and countinue?" 2019-07-21 15:36:24 +02:00
JosJuice f3b9d93737 TitleDatabase: Don't crash on unknown language
This only happens if the GC or Wii language is set to an
invalid value, but it's best to guard against it anyway.
2019-07-21 10:15:38 +02:00
JosJuice 4b73d18eaa Re-implement FixCommonKeyIndex for WAD files
The old implementation of this was not able to distinguish between
a title that had the common key index set to 1 because it actually
was Korean and a title that had the common key index set to 1 due to
fakesigning. This new implementation solves the problem by
decrypting a content with each possible common key and checking
which result matches the provided SHA-1 hash.

The problem that the old implementation causes has only been reported
to affect a certain pirated WAD of Chronos Twins DX (WC6EUP), but it's
possible that the problem would start affecting more WADs if we add
support for the vWii common key (which uses index 2). Adding support
for the vWii common key would also prevent us from using the simpler
solution of always forcing the index to 0 if the title is not Korean.
2019-07-21 09:58:16 +02:00
JosJuice 2fda104d5a Never set disc as active title when launching channel with same ID
https://bugs.dolphin-emu.org/issues/11804
2019-07-21 09:53:52 +02:00
JosJuice 4ee73dbad3 IOS: Put common key handles in an array 2019-07-21 09:37:06 +02:00
Léo Lam da1fbbc5d5
Merge pull request #8243 from JosJuice/merge-wad-classes
DiscIO: Merge WiiWAD into VolumeWAD
2019-07-21 15:32:52 +08:00
Léo Lam cd7a374ab9
Merge pull request #8246 from lioncash/fifo
Core/FifoAnalyzer: Tidy up interface
2019-07-21 15:17:43 +08:00
Léo Lam 1ed7cc260b
Merge pull request #8248 from lioncash/settings
Common/SettingsHandler: Use std::string_view where applicable
2019-07-21 15:13:27 +08:00
Stenzek 8b44a48383 Vulkan: Disable reversed viewport depth on macOS/MoltenVK
Apparently this is broken despite being allowed by the spec.
2019-07-21 13:27:35 +10:00
Silent 7045c68327
When clicking "Ignore for this session", make message box handler return true, so asserts can actually be skipped with this option 2019-07-20 21:04:27 +02:00
Silent e792a67dc6
Improve thread safety and remove an unnecessary string allocation from MsgAlert
s_msg_handler still seems thread unsafe, not sure if it should be or not
2019-07-20 21:03:45 +02:00
Connor McLaughlin fc8859a414
Merge pull request #8249 from lioncash/rect
VideoCommon: Remove unused MathUtil.h include from VideoCommon.h
2019-07-19 16:32:30 +10:00
Stenzek 97d81ac97c FramebufferShaderGen: Fix format reinterpret shaders on GLES 2019-07-19 15:33:32 +10:00
Stenzek 6f53a4d0da TextureCache: Don't crash when conversion pipelines fail to compile 2019-07-19 15:32:50 +10:00
Anthony 15a429dc62
Merge pull request #8251 from stenzek/android-open-file
Android: Support opening files directly
2019-07-18 21:52:54 -07:00
JosJuice 34f32898e6 DiscIO: Merge WiiWAD into VolumeWAD
These two classes are very similar, so let's merge them.
2019-07-18 22:29:04 +02:00
JosJuice 0f5a4b37ee DiscIO: Add functions CreateDisc and CreateWAD
...in addition to the existing function CreateVolume
(renamed from CreateVolumeFromFilename).

Lets code easily add constraints such as not letting the user
select a WAD file when using the disc changing functionality.
2019-07-18 22:29:04 +02:00
Stenzek f269c4c798 EFB2Tex: Set alpha channel of Z24X8 copies to 1
Matches EFB2RAM.
2019-07-18 23:51:07 +10:00
Stenzek 68bd4cd79a Vulkan: Use reversed depth range in viewport
Also adds a DriverDetails bug to disable on drivers where this is still
broken.
2019-07-18 23:43:12 +10:00
Stenzek 6a29e8fa58 Android: Use EmulationActivity.launchFile() for StartupHandler 2019-07-18 22:35:24 +10:00
Stenzek 9961e2866a Android: Support opening .dff files
This is also shared by the disc change code, but changing discs to a
.dol doesn't make sense either.
2019-07-18 22:35:23 +10:00
Stenzek 34e6a41d05 Android: Support opening files directly
This enables us to boot FIFO logs as well as homebrew directly, without
having to add it to the game list first.
2019-07-18 22:35:12 +10:00
Stenzek 6a6bbd7071 Android: Support bypassing game file cache to parse file 2019-07-18 22:35:12 +10:00
Connor McLaughlin a77b571da7
Merge pull request #8250 from JosJuice/bitrate-setting
Add dumping bitrate setting to GUI and increase default value
2019-07-18 22:17:13 +10:00
JosJuice 199c565bf5 DolphinQt: Add the dumping bitrate setting to the graphics config
Fixes https://bugs.dolphin-emu.org/issues/10250
2019-07-18 12:20:21 +02:00
JosJuice a6dcaed415 DolphinQt: Move frame dumping settings to new group box 2019-07-17 20:07:40 +02:00
JosJuice f6a755e1ab Change the default dumping bitrate from 2.5 Mbps to 25 Mbps
2.5 Mbps looks noticeably bad even at native resolution.
2019-07-17 19:55:37 +02:00
Lioncash 2b9389202e VideoCommon: Remove unused MathUtil.h include from VideoCommon.h
This header doesn't actually make use of MathUtil.h within itself, so
this can be removed. Many other source files used VideoCommon.h as an
indirect include to include MathUtil.h, so these includes can also be
adjusted.

While we're at it, we can also migrate valid inclusions of VideoCommon.h
into cpp files where it can feasibly be done to minimize propagating it
via other headers.
2019-07-16 20:54:34 -04:00
Lioncash 13a454d603 Common/SettingsHandler: Use fmt for printing out the serial number
Same thing, less code.
2019-07-16 04:23:20 -04:00
Lioncash af576839d8 Common/SettingsHandler: Use std::string_view where applicable
Allows passed in strings to be non-allocating.
2019-07-16 04:15:25 -04:00
Connor McLaughlin 9dd8f82e78
Merge pull request #8247 from lioncash/core-include
Core/HW/AddressSpace: Remove unnecessary inclusion of Core.h
2019-07-16 14:32:18 +10:00
Lioncash 2b00eefbef DolphinQt/Debugger: Replace AddressSpace.h inclusions with a forward declaration 2019-07-15 23:20:26 -04:00
Lioncash df0d4b6aea Core/HW/AddressSpace: Remove unnecessary inclusion of Core.h
This is only included to satisfy the use of our type aliases. Given
that, we can just include CommonTypes.h, lessening dependencies on core
headers.
2019-07-15 23:13:55 -04:00
Ryan Meredith 2edc58950b Dynamic SettingsActivity Titles 2019-07-15 14:39:01 -04:00
Lioncash ac6d70b82b Core/FifoAnalyzer: Use std::array where applicable
This lets us convert CalculateVertexElementSizes() from a function using
an out pointer into one that simply returns the array data as a return
value.

It also lets us dehardcode some values, as we can just query
std::array's size() member function instead.
2019-07-15 07:37:35 -04:00
Lioncash 73db402010 Core/FifoAnalyzer: Convert DecodeMode enum into an enum class
Makes the enumeration elements strongly typed.
2019-07-15 07:37:30 -04:00
JosJuice 1606528093
Merge pull request #8234 from JosJuice/version-in-title
Show Dolphin version in render window title
2019-07-15 13:05:08 +02:00
JosJuice 0b11f15158 Fix VolumeVerifier considering Wii Menu WADs to have wrong region 2019-07-15 12:42:13 +02:00
Lioncash 53779aa732 Core/FifoAnalyzer: Make functions internally linked where applicable
These functions are only used internally within FifoAnalyzer.cpp, so
they can be hidden from external use.
2019-07-14 20:37:21 -04:00
Stenzek 946571b759 TextureCache: Support reinterpreting formats for VRAM textures 2019-07-14 19:16:27 +10:00
Stenzek 77f406c8a8 TextureCache: Combine ApplyPaletteToEntry and ConvertTexture 2019-07-14 14:07:37 +10:00
Stenzek dfae87d69a TextureConversionShader: Swap bytes for RG8/GB8 format
Matches the software renderer.
2019-07-14 13:36:43 +10:00
JosJuice 533f6bfeb9
Merge pull request #8203 from JosJuice/android-no-copy-to-gameini
Android: Don't copy global INIs into game INIs
2019-07-13 18:05:04 +02:00
Léo Lam 2f5e6cfff1
Merge pull request #8218 from leoetlino/context
Use separate libusb contexts to avoid thread safety issues
2019-07-11 17:28:19 +02:00
Connor McLaughlin 4c649d1a5d
Merge pull request #8238 from lioncash/video-stats
VideoCommon/Statistics: Minor cleanup changes
2019-07-11 20:34:48 +10:00
booto 62a2611925 SI: Clarify length fields for manual commands
Fix up the calculation of the length fields and check that the returned
response is the expected length. This touches many files because it
converts a parameter name from the SI_Device interface from 'length' to
'request_length'. Prior, this field seemed to be used as request length
sometimes, as response length sometimes, and usually just totally ignored.
2019-07-11 01:29:59 -04:00
Lioncash 9c245655fb VideoCommon/Statistics: Remove unused DECSTAT macro
This isn't used anywhere, so it can be removed. This also potentially
fixes an underlying compilation error waiting to happen, given DECSTAT
could have potentially been used, someone disables statistics (for
whatever reason), then gets a compilation error due to the #else case
not containing an empty definition of DECSTAT.
2019-07-10 23:40:13 -04:00
Lioncash d4337eebde VideoCommon/Statistics: Rename stats global to g_stats
Makes the global variable follow our convention of prefixing g_ on
global variables to make it obvious in surrounding code that it's not a
local variable.
2019-07-10 23:34:54 -04:00
Lioncash 9802a5e16b VideoCommon/Statistics: Make all member functions non-static
Rather than making Statistics' member functions operate on the global
variable instance of itself, we can make these functions member
functions and operate on a by-instance state, removing the direct
dependency on the global variable itself.

This also makes for less reading, as there's no need to repeat "stats."
for all variable accesses.
2019-07-10 23:24:37 -04:00
Lioncash a99c7d01e1 VideoCommon/Statistics: Normalize statistic variable names
Normalizes all variables related to statistics so that they follow our
coding style.

These are relatively low traffic areas, so this modification isn't too
noisy.
2019-07-10 23:19:10 -04:00
JosJuice 44fe5812b9 Fix FIFO player crashing when USE_MEMORYWATCHER is defined 2019-07-10 20:43:15 +02:00
Lioncash d2d7bf5c3b Common/DebugInterface: Remove GetInstructionSize()
This is completely unused, so it can be removed.
2019-07-09 14:19:40 -04:00
Lioncash 92c1782726 Common/DebugInterface: Mark a few member functions as const
Quite a few member functions act as a means to query information. Given
these don't actually modify object state, they can be made const.
2019-07-09 14:19:40 -04:00
Lioncash d4d485b692 Common/DebugInterface: Make return value of GetColor() a u32
At its only usage point, its return value is stored into a u32, and the
default implementation returns 0xFFFFFFFF (-1), which would be an
unsigned integer. Given all of the bits are used to determine a color,
it makes slightly more sense to treat this as an unsigned value as
opposed to a signed one.
2019-07-09 14:19:38 -04:00
booto d01220e69d SI: CMD_ORIGIN/CMD_RECALIBRATE gets 10 byte reply 2019-07-08 23:08:35 -04:00