Commit Graph

24437 Commits

Author SHA1 Message Date
Léo Lam 9ffa72ad1f
Merge pull request #8691 from howard0su/warning_wiimote
WiimoteEmu: Cleanup warnings of -Wparentheses
2020-05-03 18:31:57 +02:00
Léo Lam 297bbceadf Remove redundant "Emulation" from "DSP HLE Emulation"
HLE stands for "high-level emulation", so "DSP HLE Emulation" would
mean "DSP High-Level Emulation Emulation"
2020-05-03 17:54:05 +02:00
Christian Aguilera 16f0864a4f DolphinQt: Saving and restoring NetPlay Session Browser dialog's settings. 2020-05-03 17:45:52 +02:00
Léo Lam 907b1302b0
Merge pull request #8775 from leoetlino/rect
MathUtil: Fix Rectangle::GetWidth/Height for unsigned types
2020-05-03 15:41:38 +02:00
Léo Lam 920cf38889
Merge pull request #8757 from sepalani/so-cleanup
IOS/KD: Cleanup sockets on IOCTL_NWC24_CLEANUP_SOCKET
2020-05-03 15:41:14 +02:00
Léo Lam 1b26929119
Merge pull request #8789 from JosJuice/windows-cmake-errors
Fix Windows CMake build errors
2020-05-03 15:33:58 +02:00
Léo Lam 07ab79db64 MathUtil: Fix Rectangle::GetWidth/Height for unsigned types
`std::abs(x - y)` where x and y are unsigned integers fails to compile
with an "call of overloaded 'abs(unsigned int)' is ambiguous" error
on GCC, and even if it did compile, that expression still wouldn't
give the correct result since `x - y` is unsigned.
2020-05-03 14:41:58 +02:00
Léo Lam 0ab9475f8e
Merge pull request #8786 from JosJuice/user-style-not-path
DolphinQt: Store name of user style, not path
2020-05-03 14:11:55 +02:00
JosJuice bf57abc0d5 Fix Windows CMake build errors
Lambda expressions with uncaptured constants were leading to errors,
and there were also some warnings about deprecated functions
(QFontMetrics::width and inet_ntoa).
2020-05-03 14:10:24 +02:00
Léo Lam 90ba73c6c2
Merge pull request #8787 from leoetlino/config-config
Remove redundant Config prefix from ConfigInfo/ConfigLocation
2020-05-03 14:07:41 +02:00
Florian Bach f27278f7f4 Add /dev/dolphin interface to allow game to read the REAL product code 2020-05-03 09:46:01 +02:00
Léo Lam 19da101164 Remove redundant Config prefix from ConfigInfo/ConfigLocation
Both structs are already in the Config namespace.
2020-05-02 14:40:14 +02:00
JosJuice aab694e6b5 DolphinQt: Store name of user style, not path
This makes user styles not break when for instance
moving a portable.txt install between different folders.
2020-05-02 02:13:01 +02:00
Léo Lam 47d1dec723
Merge pull request #8783 from JosJuice/i18n-comments
DolphinQt: Add some i18n comments for recently added strings
2020-05-02 02:12:27 +02:00
Sepalani 9932a02565 IOS/KD: Cleanup sockets on IOCTL_NWC24_CLEANUP_SOCKET 2020-05-01 16:33:42 +04:00
JosJuice 423241b8a2 DolphinQt: Reword memory override description 2020-05-01 14:11:08 +02:00
JosJuice b7db7ebbc7 Don't assume fixed width for "Emulated memory size mismatch!" message
Panic alerts don't use fixed width fonts, and translators are
unlikely to preserve the exact spacing unless they are given
specific instructions to do so and are willing to fight against
the Transifex interface a bit.
2020-05-01 13:40:34 +02:00
JosJuice 492bb5ccee DolphinQt: Add some i18n comments for recently added strings 2020-05-01 13:22:54 +02:00
Jun Su 312a3ba8c8 WiimoteEmu: Cleanup warnings of -Wparentheses
Add parentheses around operator ^.
2020-04-30 08:07:02 +08:00
degasus 9fd1385733 Externals: Fix OpenAL include directory. 2020-04-29 13:07:51 +02:00
degasus fc0df37d94 Fix windows build system. 2020-04-29 12:56:52 +02:00
degasus 990acbb17d Externals: Fix ed25519 include path. 2020-04-29 12:55:42 +02:00
degasus f8f592c345 Externals: Update minizip search path. 2020-04-29 12:41:36 +02:00
degasus ae2d567f59 Externals: Fix include path for picojson and discord 2020-04-29 11:45:59 +02:00
degasus 239cde8aea Externals: Alter the soundtouch include directory.
We must not provide the /Externals directory as global include directory.
Here, this yield a crash because of external minizip header and system library mismatch.

Soundtouch itself recormends to include it with <SoundTouch.h> and -I/usr/include/soundtouch, so this should fit better.
2020-04-29 11:30:26 +02:00
Pierre Bourdon b7db359081
XFMemory: SETPOSMTXINFO should be SETPOSTMTXINFO
It actually maps to postMtxInfo, not posMtxInfo (which isn't a thing).
This is especially confusing because there *are* position matrices (as
opposed to post-transform matrices).
2020-04-29 05:26:02 +02:00
Mat M 2a7f150561
Merge pull request #8774 from JosJuice/volumeverifier-ios9
VolumeVerifier: Treat IOS9 as always present
2020-04-28 21:24:44 -04:00
Admiral H. Curtiss e921cbe57c GCMemcardManager: Add GUI to create new memory card. 2020-04-28 23:59:15 +02:00
JosJuice 5b722b775a VolumeVerifier: Treat IOS9 as always present
Fixes a false positive for Mario Party 8.
2020-04-28 23:40:01 +02:00
Léo Lam 4b00ddf9aa
Merge pull request #8722 from Minty-Meeo/master
Configurable MEM1 and MEM2 sizes at runtime via Dolphin.ini
2020-04-28 22:11:12 +02:00
Minty-Meeo cc858c63b8 Configurable MEM1 and MEM2 sizes at runtime via Dolphin.ini
Changed several enums from Memmap.h to be static vars and implemented Get functions to query them. This seems to have boosted speed a bit in some titles? The new variables and some previously statically initialized items are now initialized via Memory::Init() and the new AddressSpace::Init(). s_ram_size_real and the new s_exram_size_real in particular are initialized from new OnionConfig values "MAIN_MEM1_SIZE" and "MAIN_MEM2_SIZE", only if "MAIN_RAM_OVERRIDE_ENABLE" is true.

GUI features have been added to Config > Advanced to adjust the new OnionConfig values.

A check has been added to State::doState to ensure savestates with memory configurations different from the current settings aren't loaded. The STATE_VERSION is now 115.

FIFO Files have been updated from version 4 to version 5, now including the MEM1 and MEM2 sizes from the time of DFF creation. FIFO Logs not using the new features (OnionConfig MAIN_RAM_OVERRIDE_ENABLE is false) are still backwards compatible. FIFO Logs that do use the new features have a MIN_LOADER_VERSION of 5. Thanks to the order of function calls, FIFO logs are able to automatically configure the new OnionConfig settings to match what is needed. This is a bit hacky, though, so I also threw in a failsafe for if the conditions that allow this to work ever go away.

I took the liberty of adding a log message to explain why the core fails to initialize if the MIN_LOADER_VERSION is too great.

Some IOS code has had the function "RAMOverrideForIOSMemoryValues" appended to it to recalculate IOS Memory Values from retail IOSes/apploaders to fit the extended memory sizes. Worry not, if MAIN_RAM_OVERRIDE_ENABLE is false, this function does absolutely nothing.

A hotfix in DolphinQt/MenuBar.cpp has been implemented for RAM Override.
2020-04-28 12:10:50 -05:00
JosJuice d006a8b52f DolphinQt: Disable converting from TGC
This should not be exposed to users before the merge of PR #8644.
(PR #8738 was unintentionally merged before PR #8644.)
2020-04-28 18:49:52 +02:00
JMC47 116cef572b
Merge pull request #8738 from JosJuice/convert-dialog
Replace the compress/uncompress actions with a convert dialog
2020-04-28 12:37:17 -04:00
JMC47 165c2e3017
Merge pull request #8772 from JosJuice/create-backup-dir
Core: Call CreateFullPath before using Backup directory
2020-04-28 12:35:05 -04:00
JosJuice 95a0897491 Core: Call CreateFullPath before using Backup directory 2020-04-28 17:53:12 +02:00
Lioncash ee200d09eb Jit64/Jit64_Tables: Construct tables at compile-time
Utilizing constexpr, we can eliminate the need to construct the tables
at runtime and just do all the work at compile-time. Making for less
moving parts overall.

The general structure is more or less the same, however rather than one
single initialization function, each table is built off an immediately
executed lambda function. This is nice, since it narrows the scope of
the table building logic down to the tables that actually need it.
2020-04-28 17:12:24 +02:00
Lioncash 19115c84dd DolphinQt: Use qOverload where applicable
Provides the same behvaior, but in a much more concise manner.
2020-04-28 16:54:19 +02:00
3t13nn3 8288bdce03 Fix Hotkey Controller Profile display with boxes for each Wiimote 2020-04-28 15:55:53 +02:00
Léo Lam 93abbc66aa
Merge pull request #8688 from howard0su/cleanup_strncpy
Remove warning of -Wstringop-truncation
2020-04-28 14:28:30 +02:00
Léo Lam 7390767008
Merge pull request #8668 from sepalani/rso-autodetect
RSO: Auto-detect RSO location in RAM
2020-04-28 14:27:13 +02:00
Léo Lam 0fe4985f8d
Merge pull request #8689 from howard0su/cleanup_sign
Remove warnings of -Wsign-compare
2020-04-28 13:36:21 +02:00
Jun Su f3d7b82f83 Cleanup warnings of -Wswitch
Add default branch to the switch-case.
2020-04-28 13:16:30 +02:00
Léo Lam 586af0a55e
Merge pull request #8695 from howard0su/warning_hw
HW: cleanup warnings of -Wtype-limits
2020-04-28 13:13:22 +02:00
Léo Lam 8f578fd2b9
Merge pull request #8704 from JosJuice/setting-txt-output-null
SettingsHandler: Don't output null bytes
2020-04-28 12:02:39 +02:00
Sepalani 5e33cd48da Debugger: Add a Network widget
Display socket table, SSL context and options
2020-04-27 21:47:00 +04:00
Léo Lam 88ae4c7914
Merge pull request #8729 from JosJuice/android-touch-ir-default
Android: Use touch emulation of IR by default
2020-04-27 17:56:01 +02:00
Léo Lam 5909d13236
Merge pull request #8710 from Ebola16/QTDP
Qt: Display default Paths
2020-04-27 17:49:31 +02:00
Léo Lam e6351e1d4b
Merge pull request #8719 from CookiePLMonster/dolby-pro-logic-quality-fixup-ii
AudioPane: Do not enable DPL II quality slider with HLE audio on init
2020-04-27 17:11:56 +02:00
JosJuice 18a4afb053 Android: Use touch emulation of IR by default
While having motion control emulation of IR enabled by default
makes sense in situations like using a DualShock 4 on a PC,
Android has the additional option of touch emulation of IR
which seems to be better liked, and the default value which
was chosen with PC in mind was carried over to Android
without any particular consideration. This change disables
motion control emulation of IR by default on Android only.
2020-04-27 17:02:53 +02:00
Léo Lam 1ca682e6a1
Merge pull request #8723 from seanyeh/fix-confirm-dialog-enter
Qt/GameList: Use KeyPress instead of KeyRelease
2020-04-27 17:00:58 +02:00
Léo Lam 71f409dac4
Merge pull request #8726 from xperia64/dns_improvements
Respect Core::WantsDeterminism for DNS servers on Linux
2020-04-27 16:43:24 +02:00
Léo Lam 9d44af4c31
Merge pull request #8696 from howard0su/cleanup_shadow
Cleanup warnings of -Wmissing-declarations
2020-04-27 15:33:01 +02:00
Léo Lam bab04155b6
Merge pull request #8745 from AdmiralCurtiss/savestate-load-callback-qt
Qt/Debugger: Refresh on savestate load.
2020-04-27 15:29:55 +02:00
Léo Lam 75e79ece73
Merge pull request #8751 from jordan-woyak/point-fix
WiimoteEmu: Apply "Tilt" and "Point" rotations separately for proper tilted pointing.
2020-04-27 14:55:19 +02:00
JosJuice bacf0d629d VolumeVerifier: Show desync warning for dual layer discs too 2020-04-25 19:47:08 +02:00
JosJuice 99c8ce9d8d DolphinQt: Add info about formats in convert dialog 2020-04-24 15:11:20 +02:00
JosJuice 466b2d7202 DolphinQt: Make block size configurable in convert dialog 2020-04-24 15:11:20 +02:00
JosJuice acd00723ad DolphinQt: Make scrubbing configurable in convert dialog 2020-04-24 15:11:20 +02:00
JosJuice 6ffcbcee70 DiscIO: Move scrubbing code out of ConvertToGCZ
This way, scrubbing can also be performed when converting
to other formats.
2020-04-24 15:11:20 +02:00
JosJuice 04c7892b93 DiscIO: Add GameCube disc scrubbing support
The code was actually already rather well adapted for this.
We more or less just have to skip ParseDisc and run
ParsePartitionData directly. This required the PartitionHeader
struct to be removed (which wasn't that useful anyway).
2020-04-24 15:10:36 +02:00
JosJuice cefc2a7baa DiscIO: Fix edge case where blocks could get scrubbed accidentally
If we start 31 KiB into a 32 KiB block and want to mark 2 KiB
of data as used, we need to mark 2 blocks as used, not just 1.

This problem is avoided when calling MarkAsUsed from
MarkAsUsedE, since MarkAsUsedE aligns to 32 KiB on its own.
Most calls to MarkAsUsed are from MarkAsUsedE, which is why
this hasn't been a noticeable problem in the past.
2020-04-24 15:10:36 +02:00
JosJuice dae2c14f7f DolphinQt: Turn the compress/decompress action into a dialog 2020-04-24 15:10:35 +02:00
JosJuice 42f6913bcc Move DiscIO::ConvertToPlain to FileBlob.cpp
There is no longer anything GCZ specific about it.
2020-04-24 15:10:35 +02:00
JosJuice 8a9597e32e DiscIO: Allow converting from formats other than ISO and GCZ
The constant DESIRED_BUFFER_SIZE was determined by multiplying the
old hardcoded value 32 with the default GCZ block size 16 KiB.
Not sure if it actually is the best value, but it seems fine.
2020-04-24 15:10:35 +02:00
JosJuice 432f342bc8 DiscIO: Use a struct for Wii hashes 2020-04-24 14:44:29 +02:00
JosJuice da9e0fb598 DiscIO: Parallelize the re-encryption code 2020-04-24 14:44:26 +02:00
JosJuice 319c508978 DiscIO: Implement re-encryption of Wii partition data 2020-04-24 14:24:12 +02:00
JosJuice a4c7100bcc DiscIO: Use partition data offset for ReadWiiDecrypted parameter
Instead of the partition offset (which is usually 0x20000 less).
2020-04-24 14:16:55 +02:00
Markus Wick 7e94d6ed37
Merge pull request #8740 from JosJuice/fix-decompress
DiscIO: Fix decompressing writing the wrong number of bytes sometimes
2020-04-24 10:42:46 +02:00
Markus Wick 703f7d4fc0
Merge pull request #8755 from Sintendo/jit64intopts
Jit64: More addx and subfx optimizations
2020-04-24 07:40:07 +02:00
Sintendo 523954e03a Analytics: Report correct quirk for mismatched xf/bp colors
Looks like a copy-paste error. The quirk for mismatched xf/bp texgens
was used twice.
2020-04-24 02:22:51 +02:00
Léo Lam 2673280614
Merge pull request #8389 from sepalani/fix-so
Socket: Abort pending ops on close
2020-04-22 07:19:25 +02:00
Sepalani 5ec80a554c Socket: Abort pending operations on close 2020-04-22 08:48:37 +04:00
JMC47 a5bd263dfb
Merge pull request #8714 from JosJuice/progress-dialog-thread
DolphinQt: Run tasks that use progress dialogs on separate threads
2020-04-21 23:59:37 -04:00
Sintendo 19dda51a0d Jit64: subfx - Use LEA when possible
Similar to what we do for addx. Since we're calculating b - a and
because subtraction is not communitative, we can only apply this when
source register a holds the constant.

Before:
45 8B EE             mov         r13d,r14d
41 83 ED 08          sub         r13d,8

After:
45 8D 6E F8          lea         r13d,[r14-8]
2020-04-21 22:45:47 +02:00
Sintendo 89646c898f Jit64: addx - Skip ADD after MOV when possible
We can get away with skipping the addition when we know we're dealing
with a constant zero. Just a MOV will suffice in this case.

Once again, we don't bother to add separate handling for when overflow
is needed, because no titles would ever hit that path during my testing.

Before:
8B 7D F8             mov         edi,dword ptr [rbp-8]
83 C7 00             add         edi,0

After:
8B 7D F8             mov         edi,dword ptr [rbp-8]
2020-04-21 22:45:47 +02:00
Sintendo 50f7a7d248 Jit64: addx - Prefer smaller MOV+ADD sequence
ADD has a smaller encoding for immediates that can be expressed as an
8-bit signed integer (in other words, between -128 and 127). MOV lacks
this compact representation.

Since addition allows us to swap the source registers, we can always get
the shortest sequence here by carefully checking if we're dealing with a
small immediate first. If we are, move the other source into the
destination and add the small immediate onto that. For large immediates
the reverse is preferrable.

Before:
41 BE 40 00 00 00    mov         r14d,40h
44 03 75 A8          add         r14d,dword ptr [rbp-58h]

After:
44 8B 75 A8          mov         r14d,dword ptr [rbp-58h]
41 83 C6 40          add         r14d,40h

Before:
44 8B 7D F8          mov         r15d,dword ptr [rbp-8]
41 81 C7 00 68 00 CC add         r15d,0CC006800h

After:
41 BF 00 68 00 CC    mov         r15d,0CC006800h
44 03 7D F8          add         r15d,dword ptr [rbp-8]
2020-04-21 22:42:02 +02:00
Sintendo 2481660519 Jit64: addx - Emit MOV when possible
When the source registers are a simple register and a constant zero and
overflow isn't needed, emitting LEA is kinda silly.

This will occasionally save a single byte for certain registers due to
how x86 encoding works. More importantly, LEA takes up execution
resources while MOV does not.

Before:
41 8D 7D 00          lea         edi,[r13]

After:
41 8B FD             mov         edi,r13d
2020-04-21 22:36:20 +02:00
Sintendo 1c25e6352a Jit64: addx - Emit nothing when possible
When the destination register matches a source register, the other
source register contains zero, and overflow isn't needed, the
instruction becomes a nop and we don't need to emit anything.

We could add specialized handling for the case where overflow is needed,
but none of the titles I tried would hit this path.

Before:
83 C7 00             add         edi,0

After:
2020-04-21 22:35:17 +02:00
Sintendo f1c3ab359d Jit64: addx - Deduplicate branches part 2
No functional change, just simplify some repeated logic in the case
where we're dealing with exactly one immediate and one simple register
when overflow isn't needed.
2020-04-21 22:06:46 +02:00
Sintendo 72fbdf1a6b Jit64: addx - Deduplicate branches part 1
No functional change, just simplify some repeated logic for the cases
where the destination register matches one of the sources.
2020-04-21 22:06:39 +02:00
Mat M c33565295d
Merge pull request #8713 from sepalani/dbg-printf
HLE: Add more debug functions
2020-04-21 12:58:34 -04:00
JMC47 d845b31579
Merge pull request #8717 from stenzek/mismatched-xf-bp
VertexManagerBase: Skip drawing objects with mismatched xf/bp stages
2020-04-21 10:07:36 -04:00
Jordan Woyak d6dfb3a553 WiimoteEmu: Rename some variables from "cursor" to "point". 2020-04-18 13:20:50 -05:00
Jordan Woyak bd067875e7 WiimoteEmu: Apply "Tilt" rotations separately and before those of "Point" and "Swing" for proper tilted pointing. 2020-04-18 13:15:52 -05:00
Léo Lam b2cf106ae9 IOS/FS: Fix FST write failure on some platforms
On some platforms (like Windows), the temporary file must be closed
before it can be renamed.

I guess nobody noticed this for so long because (1) the FS code has a
failsafe for missing FST entries (because existing users do not have
a FST), and most games do not care about file metadata;
(2) the write failures can only be seen in the logs.

Because we don't want this to break, I have turned the ERROR_LOGs into
PanicAlerts.
2020-04-18 12:42:12 +02:00
JMC47 9de3717c50
Merge pull request #8340 from stenzek/max-res
DolphinQt: Don't overwrite >8x IR scale in ini, add maximum internal res option
2020-04-16 21:01:14 -04:00
JMC47 935b12d785
Merge pull request #8730 from JosJuice/frame-advance-duplicate-frame
Core: Skip duplicate frames when using frame advance
2020-04-16 18:29:16 -04:00
JMC47 85a8325701
Merge pull request #8733 from JosJuice/di-baten-kaitos
Adjust s_DIMAR/s_DILENGTH behavior (fixes Baten Kaitos music)
2020-04-16 18:28:09 -04:00
JMC47 19fc43f190
Merge pull request #8708 from Ebola16/Wii
Android: Add Insert SD Card and update the description
2020-04-16 18:27:51 -04:00
JMC47 55ed980620
Merge pull request #8711 from Ebola16/SDDE
Set Insert SD Card default value to true
2020-04-16 18:25:47 -04:00
JosJuice 3629e75dd2
Merge pull request #8716 from Pokechu22/properties-leak
Delete properties dialog on close
2020-04-16 13:53:37 +02:00
JosJuice 19e9a9c945 DiscIO: Clean up decompression size calculation
We can use subtraction and std::min instead of
modulo and explicit if statements.

This commit does not change the behavior.
2020-04-15 22:15:40 +02:00
Admiral H. Curtiss 330c80055d Qt/Debugger: Refresh windows on savestate load. 2020-04-15 00:12:35 +02:00
JMC47 744abab478
Merge pull request #8741 from cristian64/add_checkbox_to_filter_ingame_netplay_sessions
DolphinQt: Added checkbox to filter out NetPlay sessions that are already in-game.
2020-04-13 08:52:23 -04:00
JMC47 c0ae9cbc45
Merge pull request #8584 from jordan-woyak/widescreen-heuristic-fix
VideoCommon: Tweak widescreen heuristic.
2020-04-13 05:57:19 -04:00
Techjar bb99062f18 IOS/USBHost: Skip starting threads when determinism is enabled
The threads can't actually be started when determinism is enabled, as
the behavior would not be deterministic, but Open() still tries to
start the threads and wait, resulting in a deadlock when booting
certain games and homebrew in NetPlay.
2020-04-12 23:44:53 -04:00
Christian Aguilera dab4f8b36e DolphinQt: Added checkbox to filter out NetPlay sessions that are already in-game. 2020-04-13 00:42:03 +02:00
JosJuice 3aa463cdae DiscIO: Fix decompressing writing too much sometimes
This issue cannot happen with good dumps due to their size,
but it can happen with trimmed dumps.
2020-04-12 21:47:10 +02:00
JosJuice 26b21e3186 DiscIO: Fix decompressing writing too little sometimes
This issue cannot happen with good dumps due to their size,
but it can happen with trimmed dumps.
2020-04-12 21:45:55 +02:00
Pokechu22 d3dc81ba74 Fix bug 11920
DSP LLE Interpreter does not have a DSP thread, so trying to wait would hang. (DSP LLE recompiler also has no thread when in determinism mode).
2020-04-10 12:15:06 -07:00
JosJuice b2c9149cf8 Remove outdated comment from Movie::FrameUpdate
9c5c3c0 made this function be called on the CPU thread.
2020-04-10 00:18:53 +02:00
JosJuice 94f83db2b5 Adjust s_DIMAR/s_DILENGTH behavior (fixes Baten Kaitos music)
https://bugs.dolphin-emu.org/issues/11997

The problem seemed to be that s_DILENGTH would get set to 0
at times when it shouldn't. Simply not changing it in case
of NoReply or DTK seems to fix the problem. However, we can
actually go one step further in accuracy and use data.size()
to change s_DIMAR and s_DILENGTH as partial reads (NoReply
commands) complete, instead of jumping directly to 0 when
the whole read completes.
2020-04-09 22:13:45 +02:00
JosJuice 812ad4257c Core: Skip duplicate frames when using frame advance
It used to be the case that frame advance skipped duplicate frames
(i.e. it would take 30 frame advances to get through one second
of emulated time in a 30 fps game), but this broke in 9c5c3c0.
Skipping duplicate frames making TASing less annoying.
2020-04-09 11:39:29 +02:00
JosJuice 1a42355f96 Core: Clarify Callback_VideoCopiedToXFB and FrameUpdate 2020-04-09 00:21:04 +02:00
Mat M 9a2d8a9623
Merge pull request #8715 from JosJuice/panic-alert-deadlock
DolphinQt: Fix the panic alert deadlock (a.k.a. "Question" issue)
2020-04-08 17:20:32 -04:00
Stenzek a2f4fafe86 Vulkan: Switch from vkCreateMacOSSurfaceMVK() to vkCreateMetalSurfaceEXT()
Since we are calling this off the UI thread, we can't use anything which
accesses the underlying NSView object. We create and set the Metal layer
on the UI thread before the video backend is initialized. This extension
is both compatible with MoltenVK and gfx-portability for accepting a
layer at surface creation.
2020-04-07 18:56:55 +10:00
xperia64 b4e49dc656
Respect Core::WantsDeterminism for DNS on Linux
Previously Core::WantsDeterminism was only checked for setting the DNS on WIN32.
Same check should apply to Linux too.
2020-04-06 15:45:43 -04:00
Sean Yeh 74d8697ea3 Qt/GameList: Use KeyPress instead of KeyRelease
This fixes a bug where pressing Enter in the "Do you want to stop the
current emulation?" confirmation popup also triggers a KeyRelease in
GameList, which starts a new game.
2020-04-03 23:01:21 -05:00
JosJuice 55f787b898 Remove unused function Host_UpdateProgressDialog 2020-04-03 12:53:38 +02:00
JosJuice c6ee767851 DolphinQt: Run tasks that use progress dialogs on separate threads 2020-04-03 12:53:38 +02:00
Pokechu22 e11a2bda56 Delete properties dialog on close
Fixes the game file being locked until Dolphin closes.
2020-04-02 16:14:37 -07:00
Stenzek ff7180cac4 Analytics: Add quirk for mismatched xf/bp texgens/colors 2020-04-02 12:52:16 +10:00
Stenzek a9c1dcf656 VertexManagerBase: Skip drawing objects with mismatched xf/bp stages
Hardware tests have shown that if the number of texgens/channels do not
match, you get garbage rendering. Presumably because the output
registers from the XF stage are fed into the incorrect input registers
for TEV/BP.

Currently, this causes Dolphin to crash/generate invalid shaders with an
assertion failure in the hardware backends. Instead, we log an error.

Perhaps in the future we should just spit out all texgens/colors anyway
from both stages, and let cross-stage optimization take care of DCE'ing
it away. But doing so would require changing the UIDs and invalidating
everyone's shader caches.
2020-04-02 12:51:41 +10:00
Silent bb27da06ae
AudioPane: Do not enable DPL II quality slider with HLE audio on init 2020-04-01 22:40:45 +02:00
JosJuice ef778723a2 DolphinQt: Fix the panic alert deadlock (a.k.a. "Question" issue) 2020-03-31 21:00:32 +02:00
Ryan Meredith a3ff20a5f9 Android: Add Insert SD Card and update description 2020-03-31 14:58:00 -04:00
Sepalani 85cd59c585 HLE: Add more debug functions 2020-03-30 17:46:50 +04:00
Ryan Meredith fdc9ea6ca0 Set Insert SD Card default value to true 2020-03-30 06:15:17 -04:00
Ryan Meredith 999e651ed5 Qt: Display default Paths 2020-03-30 06:06:38 -04:00
JosJuice 5988d20917
Merge pull request #8698 from howard0su/warning_capture
Cleanup warnings of -Wunused-lambda-capture
2020-03-26 10:37:33 +01:00
Jun Su 81f8099cc6 Remove warnings of -Wsign-compare
Cast the variable to the coresponding type.
2020-03-25 07:57:14 +08:00
JosJuice 5d6f23e424 SettingsHandler: Don't output null bytes
https://bugs.dolphin-emu.org/issues/12019, take two.
2020-03-24 17:01:15 +01:00
Connor McLaughlin 651595c521
Merge pull request #8701 from howard0su/static_wiimote
Wiimote: Cleanup warnings of -Wmissing-variable-declarations
2020-03-24 23:14:46 +10:00
Jun Su 7885fdb1ae Remove warning of -Wstringop-truncation
Fix the right length when strncpy. And use specific version of copy
to copy GameID.
2020-03-24 20:26:20 +08:00
Jun Su b6ff15c130 Cleanup warnings of -Wmissing-declarations
Add static to the functions which is not intentionally
export to big scope.
2020-03-24 20:16:10 +08:00
Jun Su da223a2271 Cleanup warnings of -Wunused-lambda-capture
Remove unused lambda captures.
2020-03-24 20:14:10 +08:00
Jun Su 9dec1e9998 use s_ prefix for local variables 2020-03-24 20:13:20 +08:00
Léo Lam 5b10f4b71e
Merge pull request #8673 from JosJuice/preserve-setting-txt
Boot: Do a better job of preserving certain parts of settings.txt
2020-03-24 10:16:17 +01:00
Léo Lam b3ad3c3b07
Merge pull request #8683 from AlexApps99/cmdl
Parse arguments before Qt
2020-03-24 10:02:24 +01:00
Connor McLaughlin 323bffed01
Merge pull request #8700 from howard0su/add_override
NoGUI: missing override in PlatformX11
2020-03-24 18:34:48 +10:00
Jun Su 3f72bc3e7e HW: cleanup warnings of -Wtype-limits
ROM_BASE is 0, and address is unsigned. It is always
true that address >= 0. So just compare with ROM_SIZE
and don't use IN_RANGE macro to avoid the warning.
2020-03-24 09:11:24 +08:00
JosJuice 76b97a4183
Merge pull request #8680 from Leseratte10/master
SettingsHandler: Always decode the whole settings.txt file
2020-03-24 00:21:29 +01:00
JosJuice aee9c7390d
Merge pull request #8699 from howard0su/cleanup_move
Cleanup warnings of -Wpessimizing-move
2020-03-23 19:58:13 +01:00
JosJuice a6d1fe59a3
Merge pull request #8693 from howard0su/warning_xinpu
InputCommon: cleanup warnings of -Wclass-memaccess
2020-03-23 19:18:08 +01:00
JosJuice 6fab09951b
Merge pull request #8692 from howard0su/warning_unused
Cleanup warnings of -Wunused-[const]-variable
2020-03-23 19:10:52 +01:00
JosJuice 623a50786d
Merge pull request #8702 from sl1pkn07/Qt5.15
Fix build with Qt 5.15+
2020-03-23 18:35:09 +01:00
sL1pKn07 4f7ea79ae4 Fix build with Qt 5.15+ 2020-03-23 17:58:39 +01:00
Jun Su 0bd6016ad0 Wiimote: Cleanup warnings of -Wmissing-variable-declarations
While I am here, make g_wiimote_scanner as static as well.
2020-03-23 16:43:21 +08:00
Jun Su fb7fbb4a7b NoGUI: missing override keyword GetWindowSystemInfo 2020-03-23 16:35:45 +08:00
Jun Su 964a2e1e70 Cleanup warnings of -Wpessimizing-move
moving a temporary object prevents copy elision. Remove std::move.
2020-03-23 16:31:15 +08:00
Jun Su 500820b352 Cleanup warnings of -Wunused-const-variable 2020-03-23 16:28:25 +08:00
Jun Su 997cfa49fc InputCommon: cleanup warnings of -Wclass-memaccess
Initialize m_state with the default constructor.
2020-03-23 14:26:36 +08:00
Jun Su 7c7a41ecd8 Cleanup warnings of -Wunused-variable
remove unused variables.
2020-03-23 14:24:27 +08:00
Jun Su d44c51b30c DiscIO: cleanup warnings of -Wmaybe-uninitialized
replace {} with std::nullopt.
2020-03-23 14:14:00 +08:00
AlexApps99 d6fb0b44d7 Parse arguments before Qt 2020-03-22 17:49:32 +13:00
Sepalani 9ec5391bfb Improve "Generate Symbols From > RSO Modules"
Add auto-detection option
2020-03-21 12:03:12 +04:00
Admiral H. Curtiss 303b18ddaf Qt/CodeWidget: Typo in settings key. 2020-03-20 20:51:26 +01:00
Florian Bach cba4acc54b SettingsHandler: Always decode the whole settings.txt file 2020-03-20 16:08:25 +01:00
Mat M 9ac28054df
Merge pull request #8678 from JosJuice/setting-txt-code-default
Boot: Change pre-defined setting.txt CODE values
2020-03-20 02:06:07 -04:00
Silent 4a438db2c9
Qt/GameListModel: Use native separators in File Path column 2020-03-19 18:03:35 +01:00
JosJuice 21d6c0a11a Boot: Change pre-defined setting.txt CODE values
As suggested by
https://github.com/dolphin-emu/dolphin/pull/8673#discussion_r394945753
2020-03-19 13:05:44 +01:00
Léo Lam 53c34d962d
Merge pull request #8665 from AdmiralCurtiss/debugger_columns
Qt/CodeViewWidget: Make columns resizable by the user and set sensible defaults.
2020-03-19 01:40:30 +01:00
Admiral H. Curtiss e8dfb8f78d Qt/CodeViewWidget: Make columns resizable by the user and set sensible defaults. 2020-03-18 22:27:53 +01:00
Léo Lam 4711b76cc4
Merge pull request #8655 from Techjar/fix-hotkey-groups
Core/HotkeyManager: Fix group names in config
2020-03-18 12:03:07 +01:00
Léo Lam bb430fb5a5
Merge pull request #8675 from Pokechu22/disc-update
Fix Load Wii System Menu not updating after performing a disc update
2020-03-18 11:54:07 +01:00
Léo Lam d1e8e3e903
Merge pull request #8671 from leoetlino/bt-passthrough-error
BTReal: Improve error handling for device opening
2020-03-18 11:52:22 +01:00
Pokechu22 c59120f089 Fix Load Wii System Menu not updating after performing a disc update
For a fresh install, the button was completely disabled even after the disc update; otherwise, the text on it was just out of date.
2020-03-17 19:59:48 -07:00
Jordan Woyak 099e6bfab9 DolphinQt: Fix gyro mapping indicator's "jitter" drawing. 2020-03-17 19:19:58 -05:00
Techjar ae0c91805c Core/HotkeyManager: Fix group names in config
For some reason every button group was shoved into the same config
group called "Keys" which caused buggy behavior once someone tried to
have hotkeys with the same name in different groups. This fixes that,
and converts existing configs to the new group names so they don't get
reset.
2020-03-17 05:42:26 -04:00
JosJuice 1b844067aa Back up Wii setting.txt and SYSCONF while emulating
When booting a Wii game, Dolphin can overwrite certain settings
in the SYSCONF file, such as turning off PAL60 for NTSC games.
Normally, these settings get reverted at the end of emulation, but
this does not happen if Dolphin crashes or force quits in some other
way. (Personally, I have a tendency to use Visual Studio's Stop
Debugging button, which kills the process...)

Dolphin also overwrites certain values in setting.txt when booting
a Wii game. Unlike with SYSCONF, we currently make no effort to
preserve the original values in this file.

This change fixes both of these problems by copying SYSCONF and
setting.txt to the Backup folder when booting a Wii game, and then
copying them back either when launching Dolphin (in case the
previous run of Dolphin crashed) or when ending emulation.
2020-03-16 21:04:19 +01:00
JosJuice 5f6598f9e9 StringUtil: Add PathToFileName function 2020-03-16 21:03:34 +01:00
Sepalani e06bdaf426 AddressSpace: Fix constness 2020-03-16 23:48:03 +04:00
JosJuice 3614e9fcc2 Boot: Preserve MODEL value in setting.txt
It doesn't necessarily start with RVL-001.
2020-03-16 20:38:07 +01:00
JosJuice 36c92294df Boot: Preserve CODE value in setting.txt if it already matches the region
This is a part of fixing https://bugs.dolphin-emu.org/issues/11930.
2020-03-16 20:34:40 +01:00
Léo Lam c86832849a
Merge pull request #8535 from JosJuice/movie-save-detection
Movie: Make checking for existing GC saves more reliable
2020-03-16 00:19:14 +01:00
JosJuice cb0fe3fc30 Movie: Make checking for existing GC saves more reliable
The old code only handled a raw memory card in slot A, not taking
GCI folders into account at all.
2020-03-15 23:56:34 +01:00
Léo Lam 57274cbf91
Merge pull request #8565 from Pokechu22/log-scroll-bar
Always display the horizontal scroll bar when log word wrap is off
2020-03-15 23:14:23 +01:00
Léo Lam a66ee4ea42
Merge pull request #8597 from SirMangler/master
Hotkeys: Toggle Freelook Hotkey
2020-03-15 22:40:51 +01:00
Léo Lam d9eec2ef04
Merge pull request #8609 from jordan-woyak/separate-hotkey-background-input
DolphinQt: Give hotkeys their own "background input" setting.
2020-03-15 22:35:49 +01:00
Léo Lam 466c079bf4
Merge pull request #8604 from Techjar/netplay-index-direct
Core/NetPlayServer: Fix session not being added to index on direct connection type
2020-03-15 22:22:00 +01:00
Léo Lam 73e7f2a839 BTReal: Improve error handling for device opening
This commit attempts to improve error handling for device opening by
reducing panic alert spam when opening one or several devices fails.
Currently, Dolphin shows a panic alert for every device that we fail
to open, and another panic alert at the end if no usable device was
found. That is certainly a bit excessive -- we should only keep the
very last panic alert (the one that is shown if everything fails)
and we can just put the error for the last device open operation there.

This also changes the PanicAlert to a CriticalAlert to ensure the
message is visible even if the user has disabled regular panic alerts.

The message has also been reworded and should hopefully be clearer.
2020-03-15 22:10:24 +01:00
Léo Lam d297080f52
Merge pull request #8669 from container1234/mbp
Breakpoints: Fix crash after clearing all memory breakpoints
2020-03-15 18:40:05 +01:00
Léo Lam 3c1f5c675d
Merge pull request #8628 from iwubcode/texturepack_game_id_file
VideoCommon: Allow texture folders to be determined by a <gameid>.txt
2020-03-15 18:37:46 +01:00
iwubcode bba92019dc VideoCommon: Allow texture folders to be determined by a <gameid>.txt file 2020-03-15 12:34:04 -05:00
Léo Lam 24a01642e0
Merge pull request #8642 from AdmiralCurtiss/debugger_branch_arrows
Qt/CodeViewWidget: Implement branch arrows.
2020-03-15 16:45:36 +01:00
Admiral H. Curtiss 9c98b659f1 Qt/CodeViewWidget: Indent branch arrows based on free space rather than reserving a full column for each. 2020-03-15 16:14:35 +01:00
Léo Lam 19a46dd67b
Merge pull request #8652 from sonic2kk/qtshortcuts
Qt: Use Builtin QKeySequence Shortcuts
2020-03-15 15:07:47 +01:00
Léo Lam 4944e4b429
Merge pull request #8647 from jordan-woyak/minor-input-cleanups
InputCommon: Minor ReshapableInput related cleanups.
2020-03-15 15:06:54 +01:00
Léo Lam 0bf05009d0
Merge pull request #8650 from jordan-woyak/ir-cleanup
HW/WiimoteEmu: Camera logic cleanups.
2020-03-15 15:04:48 +01:00
Eamonn Rea cd2cf137ba Use ZoomIn/ZoomOut QKeySequence in GameList 2020-03-15 14:58:33 +01:00
Eamonn Rea eda31c782e Qt: Add Configuration shortcut 2020-03-15 14:58:31 +01:00
Eamonn Rea b82f54762b Qt: Use builtin Find and Quit key sequences 2020-03-15 14:58:24 +01:00
Florian Bach 3487e5037e Fix settings.txt parsing in case of weird line endings 2020-03-15 00:12:19 +01:00
container1234 75a69b1145 Breakpoints: Fix crash after clearing all memory breakpoints 2020-03-14 21:57:09 +09:00
Stenzek cdb0aa850d Qt/RenderWidget: Remove fill background functionality
We no longer need this since the video backend handles clearing the
window, and it fixes MoltenVK with Qt 5.14.
2020-03-11 23:13:45 +10:00
Stenzek 2f016295a6 Core: Render a blank UI frame before booting
This is related to https://bugs.dolphin-emu.org/issues/10958 which
uses Qt to clear out the window so the game list isn't displayed
while the core is booting. Instead, we use the video backend to
render a black screen, which means Qt doesn't have to flip between
paint engines.
2020-03-11 23:13:18 +10:00
Stenzek fb947296b0 Vulkan: Pass CAMetalLayer to MoltenVK instead of NSView
Gets rid of the warning for calling [NSView layer] off the main thread.
2020-03-11 23:11:26 +10:00
Stenzek a545344268 VideoBackends: Make it possible for PrepareWindow to change the surface
Again, needed for MoltenVK.
2020-03-11 23:10:30 +10:00
Stenzek 86db015c23 Common: Add a render_window field to WindowSystemInfo
We need this because we need to pass the layer to MoltenVK, not
the view handle. But the input subsystem still needs the window.
2020-03-11 23:09:30 +10:00
Admiral H. Curtiss 18127e2554 Qt/CodeViewWidget: Implement branch arrows. 2020-03-07 01:52:53 +01:00
Silent d1f6f12f78
AudioPane: Do not enable Dolby Pro Logic II quality slider if DPLII is disabled 2020-03-06 21:13:45 +01:00
spycrab dcaabcac03
Merge pull request #8580 from AlexApps99/master
DolphinQt: Add "File Path" column to Game Grid
2020-03-06 08:22:44 +01:00
Sergei Trofimovich 879e8364af Source/Core/Core/DSP/DSPTables.cpp: include <cstdio> for sprintf
Without included header build fails on gcc-10 as:
```
[ 52%] Building CXX object Source/Core/Core/CMakeFiles/core.dir/DSP/DSPTables.cpp.o
../../../../Source/Core/Core/DSP/DSPTables.cpp: In function 'const char* DSP::pdname(u16)':
../../../../Source/Core/Core/DSP/DSPTables.cpp:492:3: error: 'sprintf' was not declared in this scope
  492 |   sprintf(tmpstr, "0x%04x", val);
      |   ^~~~~~~
```

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2020-03-05 21:20:34 +00:00
Sergei Trofimovich 0478ce72f5 Source/Core/Common/StringUtil.h: include <limits> for std::numeric_limits
Without included header build fails on gcc-10 as:

```
[ 13%] Building CXX object Source/Core/AudioCommon/CMakeFiles/audiocommon.dir/CubebUtils.cpp.o
In file included from ../../../../Source/Core/AudioCommon/CubebUtils.cpp:13:
../../../../Source/Core/Common/StringUtil.h: In function 'bool TryParse(const string&, T*)':
../../../../Source/Core/Common/StringUtil.h:84:20: error: 'numeric_limits' is not a member of 'std'
   84 |   if (value < std::numeric_limits<LimitsType>::min() ||
      |                    ^~~~~~~~~~~~~~
```

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2020-03-05 21:20:34 +00:00
AlexApps99 465e7c2521 Used whole path instead of relative path 2020-03-03 11:58:59 +13:00
AlexApps99 7408c388d6 Add path to File Name column of game grid
Fixes https://bugs.dolphin-emu.org/issues/10567
2020-03-02 17:38:28 +13:00
Techjar 08c95883e9 Common/IniFile: Add Exists function for section name only 2020-02-29 01:39:36 -05:00
Jordan Woyak ccdfa43a3e HW/WiimoteEmu: Fix Classic Controller triggers. 2020-02-26 15:40:58 -06:00
Jordan Woyak 2451a41a48 DolphinQt: Fix calibration cancel behavior. 2020-02-25 18:36:56 -06:00