Commit Graph

10835 Commits

Author SHA1 Message Date
Tilka f9f4734237
Merge pull request #8850 from JosJuice/block-size-warning
Show an OSD message when running a disc image with a large block size
2020-06-14 15:03:32 +01:00
Shawn Hoffman 17498dbb4c DolReader: if data segment goes off end of file, treat it as zero-fill (bss) 2020-06-09 18:00:24 -07:00
CrunchBite 595e1197b6 Rename existing BBA to BBA (TAP) to prepare for new BBA
Based on work by tommy1019
2020-06-07 23:17:28 -04:00
Tillmann Karras d5c00b8909 DSPSymbols: fix off-by-one error 2020-06-08 03:41:45 +01:00
JosJuice 162e3be82b Show an OSD message when running a disc image with a large block size
This is intended to catch WIA files which have been created using
wit's default parameters (40 MiB block size), once the WIA PR is
merged. The check does however also work for GCZ files – not that
I think anyone has a GCZ file with a block size that large.
2020-06-07 14:11:00 +02:00
JosJuice d89162c8ad
Merge pull request #8848 from JosJuice/fix-build
Fix build
2020-06-06 15:46:32 +02:00
JosJuice b4584abaa6 Fix build
There was a race condition between two PRs incrementing the
array size. CI didn't catch it because the PR that was merged
last (PR #8824) wasn't rebuilt after the first PR was merged.
2020-06-06 15:09:48 +02:00
JMC47 9f7c72b7eb
Merge pull request #8824 from Techjar/sd-read-only
Add option to disallow SD card writes
2020-06-06 07:02:02 -04:00
Tillmann Karras b0258af530 DSP/Interpreter: fix comments not matching opcode table 2020-05-31 15:21:20 +01:00
Tillmann Karras 198a307db3 DSP/Interpreter: simplify switch 2020-05-31 15:21:20 +01:00
Tillmann Karras 89de40a22e DSP/Interpreter: remove redundant masking 2020-05-31 15:21:19 +01:00
Techjar 52e0294166 Add option to disallow SD card writes 2020-05-28 15:11:37 -04:00
Connor McLaughlin b3c705fa96
Merge pull request #8829 from stenzek/fix-macos-again
Core: Use window instead of surface for ControllerInterface updates
2020-05-28 16:56:13 +10:00
Tillmann Karras aaa19acbd0 DSP/Interpreter: simplify opcode table by masking 2020-05-24 15:51:52 +01:00
Tillmann Karras e651592ef5 Misc cleanup 2020-05-24 15:51:52 +01:00
Léo Lam a660033e8c
Merge pull request #8792 from leoetlino/video-backend
Migrate video backend setting to the new config system
2020-05-24 15:26:44 +02:00
Léo Lam 1203e626b3
Merge pull request #8800 from sepalani/kd-shutdown
IOS/KD: Implement IOCTL_NWC24_REQUEST_SHUTDOWN
2020-05-24 15:24:51 +02:00
Léo Lam 166633bf27
Merge pull request #8826 from iwubcode/try_parse_any_base
Common / Core: Update StringUtil to allow specifying the base
2020-05-24 15:13:49 +02:00
Léo Lam 7449c7153c
Merge pull request #8830 from JosJuice/delete-empty-rfl-db
CheckNAND: Delete RFL_DB.dat if empty
2020-05-24 15:12:39 +02:00
JosJuice f71ebfe9c1 CheckNAND: Delete RFL_DB.dat if empty 2020-05-24 11:04:23 +02:00
Stenzek ff92357b63 Core: Use window instead of surface for ControllerInterface updates
Fixes crashes with Vulkan on macOS.
2020-05-24 17:39:56 +10:00
iwubcode 85e11cd4ab Common / Core: Update StringUtil to allow specifying the base, default to 0. Fix ActionReplay code to use this instead of prepending '0x' in front 2020-05-23 18:40:10 -05:00
Sepalani 1df1a9abe6 IOS/KD: Implement IOCTL_NWC24_REQUEST_SHUTDOWN 2020-05-22 19:19:36 +04:00
Léo Lam 8df56cb319 Migrate video backend setting to the new config system
Fixes https://bugs.dolphin-emu.org/issues/12087
2020-05-22 16:54:53 +02:00
Léo Lam 393ce529af
Merge pull request #8771 from Leseratte10/master
Add /dev/dolphin interface to allow game to read the REAL product code
2020-05-22 16:49:31 +02:00
Sepalani 10870a0f74 Config: Migrate SSL options to Onion config 2020-05-17 20:37:10 +01:00
JosJuice 2250fbce0e
Merge pull request #8802 from leoetlino/wiiroot-mii-db
WiiRoot: Fix empty files being created when source is missing
2020-05-17 20:11:11 +02:00
Pierre Bourdon cea779cc84
Merge pull request #8767 from iwubcode/freelook-camera-type
Expand freelook camera with control options
2020-05-17 17:33:04 +02:00
JosJuice 2137fb7813 Externals: Add zstd
I had to rename Source/Common/Compiler.h because the VS build
confuses it with Externals/zstd/lib/common/compiler.h otherwise.
2020-05-13 20:53:10 +02:00
Sepalani 4bf7c3e051 NetworkWidget: Add Blocking column 2020-05-13 11:53:29 +04:00
Léo Lam 47ee5ac284 WiiRoot: Fix empty files being created when source is missing
CopyNandFile must not create empty files on the destination filesystem
if the source file doesn't exist.

Otherwise, this can lead to an empty Mii database being created in the
session Wii root if there's no database in the configured Wii root and
netplay or Movie is used -- that database would then be copied back to
the configured root, which causes games like MKW to complain about
corrupted Mii data even when the player has stopped using netplay.

This commit also simplifies CreateFullPath usage.
There's no need to manually extract the directory from the path,
FS::CreateFullPath does it automatically just like File::CreateFullPath
2020-05-09 16:47:45 +02:00
Jun Su bb75050f68 Jit: fix warning -Winvalid-offsetof
Remove the warning:
warning: offsetof within non-standard-layout type ‘JitBlock’ is conditionally-supported
JitBlock contains non-trival types now. Split the fields with trival
types that needs to be access from JIT code into JitBlockData structure.
2020-05-04 18:26:56 +02:00
Léo Lam c53ecdd689
Merge pull request #8686 from sepalani/thread-tab
Debugger: Add a Thread widget
2020-05-04 00:50:10 +02:00
iwubcode 5bd7cc8bac Core: Add freelook camera control type setting 2020-05-03 13:34:13 -05:00
Sepalani bf12bb3d43 Boot: Add ConsoleType enum class 2020-05-03 20:55:09 +04:00
Sepalani 39d34e133f Debugger: Add a Thread widget
DebugInterface: Add GetThreads

WatchWidget: Update widget on AddWatch
2020-05-03 20:48:30 +04:00
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 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 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
Sepalani 9932a02565 IOS/KD: Cleanup sockets on IOCTL_NWC24_CLEANUP_SOCKET 2020-05-01 16:33:42 +04: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
Jun Su 312a3ba8c8 WiimoteEmu: Cleanup warnings of -Wparentheses
Add parentheses around operator ^.
2020-04-30 08:07:02 +08: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
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
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
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
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 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 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
Markus Wick 703f7d4fc0
Merge pull request #8755 from Sintendo/jit64intopts
Jit64: More addx and subfx optimizations
2020-04-24 07:40:07 +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
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
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
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
JosJuice 55f787b898 Remove unused function Host_UpdateProgressDialog 2020-04-03 12:53:38 +02:00
Stenzek ff7180cac4 Analytics: Add quirk for mismatched xf/bp texgens/colors 2020-04-02 12:52:16 +10: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
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 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
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
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 500820b352 Cleanup warnings of -Wunused-const-variable 2020-03-23 16:28:25 +08: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 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 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
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
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 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 0bf05009d0
Merge pull request #8650 from jordan-woyak/ir-cleanup
HW/WiimoteEmu: Camera logic cleanups.
2020-03-15 15:04:48 +01:00
container1234 75a69b1145 Breakpoints: Fix crash after clearing all memory breakpoints 2020-03-14 21:57:09 +09: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 a545344268 VideoBackends: Make it possible for PrepareWindow to change the surface
Again, needed for MoltenVK.
2020-03-11 23:10:30 +10: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
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
Jordan Woyak ccdfa43a3e HW/WiimoteEmu: Fix Classic Controller triggers. 2020-02-26 15:40:58 -06:00
Jordan Woyak ef777c4186 HW/WiimoteEmu: Fill IR data with 0xFF on failed bus read. 2020-02-24 19:45:02 -06:00
Jordan Woyak 5361e66459 HW/WiimoteEmu: Camera logic cleanups. 2020-02-24 19:44:15 -06:00
Techjar 06a9f6ef82 Core/NetPlayServer: Fix session not being added to index on direct connection type 2020-02-17 21:05:32 -05:00
Jordan Woyak 58448d74c5 InputCommon: Add real Wii Remote support to ControllerInterface. Add option to connect additional Wii Remotes. 2020-02-17 16:14:01 -06:00
Jordan Woyak 5af2081c75 Core/WiimoteEmu: Add functions to Nunchuk, Classic Controller, and MotionPlus extensions to get/set data without duplicate bithacks everywhere. 2020-02-17 15:57:58 -06:00
Léo Lam 44b4c2db49 Common: Avoid std::function overhead in ScopeGuard
So far in all our uses of ScopeGuard, the type of the callable is
usually just a lambda or a function pointer, so there is no need
to rely on std::function's type erasure.

While the cost of using std::function is probably negligible, it still
causes some unnecessary overhead that can be avoided by making
ScopeGuard a templated class. Thanks to class template argument
deduction in C++17 most existing usages do not even need to be changed.

See https://godbolt.org/z/KcoPni for a comparison between
a ScopeGuard that uses std::function and one that doesn't
2020-02-15 21:33:31 +01:00
JosJuice 62046d93ce
Merge pull request #8542 from Itrimel/fix-gecko-loading
Fix Gecko codes loading
2020-02-15 16:28:32 +01:00
Itrimel fe900e057b Core/GeckoCodeConfig : Fix Gecko codes formatting
Some locales (e.g. fr_FR.UTF-8 on ArchLinux) don't split the string stream on a space. As such, when extracted formatted data from te stream, it will return the two numbers as one for the first call, effectively overflowing the u32 variable, then will do an out-of-bounds read for the second call. Forcing the use of the C locale on the streams where it would cause a problem allows to workaround this behavior.
2020-02-14 11:51:36 +01:00
Jordan Woyak 903db48280 DolphinQt: Give hotkeys their own "background input" setting. 2020-02-10 20:06:29 -06:00
Jordan Woyak 47877ecf2c InputCommon: Clean up creation of inputs. 2020-02-09 19:08:26 -06:00
Tilka db65b9a766 Merge pull request #8616 from jordan-woyak/threshold-cleanup
InputCommon: Eliminate some duplicated button threshold logic.
2020-02-10 00:05:10 +00:00
Jordan Woyak f07457b6cc InputCommon: Eliminate some duplicated button threshold logic. 2020-02-09 10:37:18 -06:00
Tilka 3cec5443cd
Merge pull request #8605 from Techjar/netplay-hostpoll-doc
Core/NetPlayClient: Add documentation for SendPadHostPoll
2020-02-09 02:32:50 +00:00
Tilka 2e2540317e Merge pull request #8417 from jordan-woyak/setting-expressions
InputCommon: Allow controller settings specified with input expresions.
2020-02-09 01:37:30 +00:00
Tilka 0043a2cf3c Merge pull request #8615 from jordan-woyak/std-abs
Cleanup: Use std::abs instead of abs.
2020-02-09 00:39:30 +00:00
Jordan Woyak 4f47cccd9f Cleanup: Use std::abs instead of abs. 2020-02-08 18:21:14 -06:00
Jordan Woyak e8152b700f InputCommon: Allow controller settings specified with input expresions. 2020-02-08 14:01:55 -06:00
JMC47 3b0b264c84
Merge pull request #8608 from jordan-woyak/stereoscopy-hotkeys
DolphinQt: Fix stereoscopy hotkeys.
2020-02-08 14:17:42 -05:00
Tilka e323f47ceb
Merge pull request #8472 from degasus/jitsetting
Core/Jits: Adds an option to disable the register cache.
2020-02-08 13:49:33 +00:00
Jordan Woyak 9a34091b8b DolphinQt: Fix stereoscopy hotkeys. 2020-02-07 15:47:40 -06:00
Techjar e8e41d8529 Core/NetPlayClient: Add documentation for SendPadHostPoll 2020-02-06 07:24:00 -05:00
Pierre Bourdon a205ecb446
Merge pull request #8602 from lioncash/fmt
Externals: Update fmt to 6.1.2
2020-02-04 21:59:22 +01:00
Lioncash aea76c7901 Core: Amend includes to handle the upgrade to fmt 2020-02-04 15:03:48 -05:00
Léo Lam 06d0b1ad48
Merge pull request #8594 from leoetlino/fs-createfullpath-fix
IOS/FS: Fix CreateFullPath to not create directories that already exist
2020-02-02 16:50:02 +01:00
Léo Lam 4c9b1f3e0b
Merge pull request #8599 from Pokechu22/di-interrupt-mask-ioctls
Fix DI interrupt mask ioctl names
2020-02-02 16:49:27 +01:00
Pokechu22 f527f382e8 Report use of DI interrupt mask commands as a game quirk 2020-02-02 00:44:12 -08:00
Jordan Woyak d6515eee41 WiimoteEmu: Fix default IMU accelerometer mappings. 2020-02-01 23:32:09 -06:00
Pokechu22 bb5e5fd8f2 Fix assignment of DI interrupt mask ioctls
0x85 is actually DVDLowMaskCoverInterrupt, while 0x89 is DVDLowUnmaskCoverInterrupt.  I'm also fairly sure that 0x87 is DVDLowUnmaskStatusInterrupts.
2020-02-01 16:56:48 -08:00
SirMangler ac34911f32 Added Toggle Freelook Hotkey 2020-01-31 20:45:08 +00:00
Léo Lam bbc8631357 IOS/FS: Fix CreateFullPath to not create directories that already exist
This fixes CreateFullPath to not create directories when it is known
that they already exist, instead of calling CreateDirectory anyway
and checking if the error is AlreadyExists. (That doesn't work
now that we have an accurate implementation of CreateDirectory
that performs permission checks before checking for existence.)

I'm not sure what I was thinking when I wrote that function.

Also adds some tests for CreateFullPath.
2020-01-30 18:07:03 +01:00
Léo Lam f1f293bd49 WiiRoot: Fix CopySysmenuFilesToFS directory creation
Fixes a regression from #8539.

CreateDirectory was the correct function to use for creating
directories since parent directories already exist and are
not owned by the system menu.
2020-01-30 13:53:39 +01:00