JosJuice
87330ae524
DolphinQt: Use QFontMetrics::boundingRect instead of QFontMetrics::width
...
See https://kdepepo.wordpress.com/2019/08/05/about-deprecation-of-qfontmetricswidth/
2020-06-08 12:32:36 +02: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
Tilka
94f317010e
Merge pull request #8847 from Techjar/faster-file-path
...
Qt/GameListModel: Use absolutePath for file path column
2020-06-06 22:56:38 +01: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
Techjar
fa208c4acd
Qt/GameListModel: Use absolutePath for file path column
...
canonicalPath is orders of magnitude slower as it has to perform actual
disk I/O to resolve symlinks, which makes sorting by this column
ridiculously slow for large game lists, especially if the games are on
a NAS. We probably don't need that, simply resolving relative paths
should be sufficient.
2020-06-06 05:24:23 -04:00
JosJuice
f1ec4fb70a
DolphinQt: Enable RTL layout
...
Fixes https://bugs.dolphin-emu.org/issues/11508
2020-06-02 22:24:49 +02:00
JosJuice
74ae02f979
DolphinQt: Support gettext contexts (Qt disambiguations)
2020-06-02 22:24:49 +02:00
Techjar
5c38727651
DolphinQt: Add fastmem option to debugger UI
2020-06-02 06:18:52 -04:00
Techjar
209308a4d6
Replace usage of std::result_of with std::invoke_result
...
std::result_of is deprecated in C++17, and removed in C++20. Microsoft
has gone ahead with the removal as of Visual Studio 16.6.0, so before
this change our code is broken there.
2020-06-01 17:33:18 -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
orbea
ba2d04b793
Externals: Fix build failures with the newer glslang.
...
v2: Don't include glslang project wide.
2020-05-30 18:54:21 -07: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
Connor McLaughlin
b4e063311e
Merge pull request #8827 from stenzek/adreno-more-like-brokenreno
...
FramebufferManager: Fix invalid readback of EFB D24S8 depth
2020-05-28 16:55:42 +10:00
Lioncash
86f8768268
VideoCommon/ShaderGenCommon: Make template functions regular functions
...
These are only ever used with ShaderCode instances and nothing else.
Given that, we can convert these helper functions to expect that type of
object as an argument and remove the need for templates, improving
compiler throughput a marginal amount, as the template instantiation
process doesn't need to be performed.
We can also move the definitions of these functions into the cpp file,
which allows us to remove a few inclusions from the ShaderGenCommon
header. This uncovered a few instances of indirect inclusions being
relied upon in other source files.
One other benefit is this allows changes to be made to the definitions
of the functions without needing to recompile all translation units that
make use of these functions, making change testing a little quicker.
Moving the definitions into the cpp file also allows us to completely
hide DefineOutputMember() from external view, given it's only ever used
inside of GenerateVSOutputMembers().
2020-05-25 21:12:29 -04:00
Lioncash
e3506ff4ef
VideoCommon/ShaderGenCommon: Convert helper functions over to fmt
...
A very trivial conversion, this simply converts calls to Write over to
WriteFmt and adjusts the formatting specifiers as necessary.
This also allows the const char* parameters to become std::string_view
instances, allowing for ease of use with other string types.
2020-05-25 21:12:29 -04:00
Markus Wick
68706973d2
Merge pull request #8828 from stenzek/gles-readpixels
...
FramebufferManager: Copy to color format for depth readbacks on GLES
2020-05-25 08:57:20 +02: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
Stenzek
bf74553878
FramebufferManager: Copy to color format for depth readbacks on GLES
...
glReadPixels() with depth formats is not supported.
Should fix broken EFB access on GLES.
2020-05-24 16:11:11 +10:00
Stenzek
ad373950a2
FramebufferManager: Fix invalid readback of EFB D24S8 depth
...
Fixes assertion tripping when saving state on Adreno.
2020-05-24 15:36:04 +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
JosJuice
6d3b0db041
DolphinQt: Fix freelook description typos
...
cControls -> controls, axis -> axes, removed leading spaces.
2020-05-20 21:56:04 +02:00
JosJuice
cc330afa6b
DolphinQt: Fix the panic alert deadlock, Pause on Focus Loss edition
...
why are there so many ways to trigger this issue
2020-05-18 19:38:56 +02:00
Tilka
abe125aea7
Merge pull request #8816 from JosJuice/qfontmetrics-width
...
DolphinQt: Remove another usage of QFontMetrics::width
2020-05-18 00:19:41 +01:00
JosJuice
f87e32840f
DolphinQt: Remove another usage of QFontMetrics::width
...
QFontMetrics::width breaks building with CMake on Windows,
due to a deprecation warning which gets promoted to an error.
2020-05-18 00:39:57 +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
099197b480
Merge pull request #8797 from iwubcode/save-state-CLI
...
Core: Add support for booting a save state from command line
2020-05-17 17:34:08 +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
Techjar
ac9b246809
Core/UICommon: Fix EnableScreenSaver preprocessor directive
...
The include for X11Utils.h (and by extension Xlib.h) is gated behind
HAVE_XRANDR, as well as the declaration for this function, but its
definition was mistakenly gated behind HAVE_X11. Therefore, if we have
X11 but not Xrandr, the build will fail due to declaration/definition
mismatch and the missing Window type.
2020-05-13 02:11:29 -04:00
Connor McLaughlin
2488e4a587
Merge pull request #8795 from WamWooWam/master
...
InputCommon: Use the Window handle when initializing DirectInput.
2020-05-10 19:16:15 +10:00
Pierre Bourdon
daf1c30a94
GCAdapter: add libusb error logging on reads/writes
2020-05-10 09:26:49 +02:00
Thomas May
76ae1d4070
Apply fixes to all platforms
2020-05-09 22:35:20 +01: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
iwubcode
cdf5490d56
Core: Add support for specifying a command line option to boot the game into a save-state
2020-05-06 22:10:30 -05:00
Markus Wick
74b2410d7e
Merge pull request #8760 from JosJuice/multithreaded-compress
...
DiscIO: Implement multithreaded compression
2020-05-06 15:25:30 +02:00
JosJuice
b93bbbf2e5
DiscIO: Implement multithreaded compression
2020-05-06 14:18:51 +02:00
Thomas May
78e8ccea6d
Update ControllerInterface.cpp
2020-05-06 01:30:49 +01: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
7c0ef725ab
Merge pull request #8744 from cristian64/save_restore_netplay_browser_settings
...
DolphinQt: Saving and restoring NetPlay Session Browser dialog's settings.
2020-05-04 00:50:26 +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
Léo Lam
947d6732a8
Merge pull request #8712 from sepalani/console-type
...
Boot: Add ConsoleType enum class
2020-05-03 23:10:44 +02:00
Mat M
9e2560b825
Merge pull request #8790 from leoetlino/ras-syndrome
...
Remove redundant "Emulation" from "DSP HLE Emulation"
2020-05-03 16:47:05 -04:00
iwubcode
aed7319ef8
DolphinQt: Expose freelook camera control to UI
2020-05-03 13:34:13 -05:00
iwubcode
e125c61d47
VideoCommon: remove VertexShaderManager functions instead preferring the direct freelook camera methods
2020-05-03 13:34:13 -05:00
iwubcode
5bd7cc8bac
Core: Add freelook camera control type setting
2020-05-03 13:34:13 -05:00
iwubcode
6e7d1e0e71
VideoCommon: Add Free Look camera with separate modes
2020-05-03 13:31:47 -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
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
Jordan Woyak
2c843ae06b
DolphinQt: Clean up calibration drawing a bit.
2020-02-25 17:58:32 -06:00
Jordan Woyak
ed24f32c5b
InputCommon: Specify ini value default when saving calibration "center".
2020-02-25 17:19:48 -06:00
Jordan Woyak
bd43e084f4
InputCommon: Clamp calibration values within square shape.
2020-02-25 17:19:48 -06:00
Jordan Woyak
f8cca9fe5d
InputCommon: RoundStickGate's ideal sample count can be 1.
2020-02-25 17:19:48 -06:00
spycrab
8233255b11
Qt: Re-enable Dark Mode support
2020-02-25 23:27:44 +01: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
Jordan Woyak
6b109bd2a6
DolphinQt: Tweak indicator raw-input/input-shape color for better contrast in some dark themes.
2020-02-24 16:26:28 -06:00
Jordan Woyak
122984b46e
DolphinQt: Eliminiate redundant swing indicator logic.
2020-02-24 16:26:28 -06:00
Jordan Woyak
d80fd13b17
DolphinQt: Clean up mapping indicator code and draw lines on "pixel centers".
2020-02-24 16:26:26 -06:00
Jordan Woyak
f79ca680cb
DolphinQt: Eliminate redundant cursor indicator logic.
2020-02-24 16:25:06 -06:00
Jordan Woyak
38f36be9ae
DolphinQt: Break mapping indicators into separate classes. Ensure "state lock" is held on redraw.
2020-02-24 16:25:06 -06:00
Jordan Woyak
7accd9825f
InputCommon: Remove racy UpdateInput call in DetectInput.
2020-02-24 16:25:06 -06:00
Jordan Woyak
1a3b4d91bf
InputCommon: Mark GetStateLock with [[nodiscard]] and fix discarding calls.
2020-02-24 16:25:06 -06:00
spycrab
25d5f0d9ef
Merge pull request #8633 from spycrab/tas_window_fixes
...
Qt/TAS: Improve TAS windows
2020-02-24 07:26:49 +01:00
Admiral H. Curtiss
c70e004f53
Qt/CodeViewWidget: Use named constants for column IDs.
2020-02-23 18:49:27 +01:00
Jordan Woyak
da12f3eebc
InputCommon: Constify Device::Input::IsDetectable function.
2020-02-22 10:27:43 -06:00
spycrab
29c7c12016
Qt/TAS: Improve TAS windows
...
- Use the Dolphin Icon in TAS Windows
- Prevent deformation of the stick widget (#11988 )
- Improve visual appearance
- Set a reasonable minimum size
2020-02-18 16:13:31 +01: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
70ac9ad2e6
InputCommon: Remove Wii Remote real-time calibration of M+ in favor of functionality provided by ControllerEmu.
2020-02-17 16:14:03 -06: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
4176cc77e1
InputCommon/ControllerInterface: Make devices mutex recursive so RemoveDevice can be used within UpdateInput.
2020-02-17 15:58:06 -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
Jordan Woyak
8343dadd58
InputCommon: Add types to ControllerEmu that represent raw controller inputs and calibration data to calculate normalized input values.
2020-02-17 15:57:43 -06:00
Jordan Woyak
259a7191d2
Common: Add additional Vector operations.
2020-02-17 15:57:43 -06:00
Jordan Woyak
1e652d7d34
InputCommon: Add calibration functionality to IMUGyroscope.
2020-02-17 15:57:43 -06:00
Jordan Woyak
9efcd08ea3
MathUtil: Add RunningMean/RunningVariance classes.
2020-02-17 15:57:43 -06:00
Jordan Woyak
82a3aa5ff6
InputCommon: Add "Dead Zone" setting to raw gyro inputs.
2020-02-17 15:57:43 -06:00
spycrab
2d6a72e941
Merge pull request #8632 from jimbo1qaz/windows-menu-font
...
Windows GUI: Use QMenu font (Segoe UI) for entire application
2020-02-17 15:04:37 +01:00
nyanpasu64
44f602fe51
Windows GUI: Use QMenu font (Segoe UI) for entire application
...
On Windows, Qt's default system font (MS Shell Dlg 2) is outdated.
Dolphin previously used over 15 lines of code to compute a font
closer to the proper font, but with an approximately correct font size.
Using the QMenu font directly is both more concise and more elegant
(in my opinion).
2020-02-17 05:37:54 -08: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
spycrab
213a9adcff
CMake: Fix building ARM64 on Windows
2020-02-12 12:29:31 +01:00
Jordan Woyak
903db48280
DolphinQt: Give hotkeys their own "background input" setting.
2020-02-10 20:06:29 -06:00
Tilka
a9dc4ac3f0
Merge pull request #8603 from jordan-woyak/deadzone-too-dark
...
DolphinQt/Mapping: Tweak "Dead Zone" and "Gate" colors.
2020-02-10 23:28:56 +00:00
Tilka
103b3abf66
Merge pull request #8621 from JosJuice/volumeverifier-invalid-partition
...
Fix VolumeVerifier not showing a problem for invalid partitions
2020-02-10 09:33:29 +00:00
Jordan Woyak
47877ecf2c
InputCommon: Clean up creation of inputs.
2020-02-09 19:08:26 -06:00
Tilka
01d69ba81a
Merge pull request #8624 from jordan-woyak/setting-expression-input-gate
...
InputCommon: Only update setting expressions when the input gate is enabled.
2020-02-10 00:47:30 +00:00
Jordan Woyak
53f2e275af
InputCommon: Only update setting expressions when the input gate is enabled.
2020-02-09 18:42:42 -06:00
Tilka
c598772052
Merge pull request #8622 from JosJuice/volumeverifier-invalid-partition-biggest-offset
...
VolumeVerifier: Ignore invalid partitions in GetBiggestReferencedOffset
2020-02-10 00:31:49 +00:00
Tilka
d129fae8fc
Merge pull request #8623 from spycrab/qt_5.14.1
...
Update to Qt 5.14.1
2020-02-10 00:06:11 +00: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
spycrab
6a3bd259a7
Update to Qt 5.14.1
2020-02-09 22:30:57 +01:00
Jordan Woyak
7cbb9822c1
VideoCommon: Remove widescreen heuristic debug logs.
2020-02-09 13:22:27 -06:00
Jordan Woyak
10223da6a8
VideoCommon: Tweak widescreen heuristic and clean up some related Renderer logic.
2020-02-09 13:22:25 -06:00
JosJuice
829f3cff6f
VolumeVerifier: Ignore invalid partitions in GetBiggestReferencedOffset
...
Otherwise GetBiggestReferencedOffset might treat garbage data as a valid
large offset, making Dolphin incorrectly say that the disc is too small.
2020-02-09 19:05:44 +01:00
JosJuice
07df6597a5
Fix VolumeVerifier not showing a problem for invalid partitions
2020-02-09 18:58:15 +01:00
Jordan Woyak
f07457b6cc
InputCommon: Eliminate some duplicated button threshold logic.
2020-02-09 10:37:18 -06:00
magiblot
55e8601192
Fix another implicit false-to-nullptr conversion
2020-02-09 15:51:30 +01:00
Léo Lam
aa21fe17b8
Merge pull request #8618 from encounter/debugger-floating-fix
...
DolphinQt/Debugger: Fix crash with floating debugger windows
2020-02-09 15:50:47 +01:00
Léo Lam
166e86b97f
Merge pull request #8619 from JosJuice/directoryblob-check-seek
...
DiscIO: Check for DirectoryBlob seek failure
2020-02-09 15:49:37 +01:00
Léo Lam
fb0f543777
Merge pull request #8574 from JosJuice/volumeverifier-assert-small-file
...
VolumeVerifier: Improve the messages shown for files that are too small
2020-02-09 15:48:57 +01:00
JMC47
5ab846ad12
Merge pull request #8614 from jordan-woyak/xinput-battery
...
InputCommon/XInput: Expose battery as input and cleanups.
2020-02-09 09:29:00 -05:00
JosJuice
9a348ae654
DiscIO: Check for DirectoryBlob seek failure
...
Someone reported a problem with DirectoryBlob at
https://forums.dolphin-emu.org/Thread-feature-request-thread?pid=502820#pid502820 .
I'm not sure if the change in this commit actually fixes that problem,
but it's something I found that should be changed regardless.
2020-02-09 11:21:10 +01:00
Luke Street
3e94366fe0
DolphinQt/Debugger: Fix crash with floating debugger windows
2020-02-09 02:32:04 -05: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
0a1634bedf
InputCommon: Allow Wii remote extension to be set with an input expression.
2020-02-08 16:03:13 -06:00
Jordan Woyak
e7400cafd2
InputCommon: XInput cleanups.
2020-02-08 15:51:02 -06:00
Jordan Woyak
86e8745169
InputCommon: Expose XInput battery level as an input.
2020-02-08 15:03:56 -06:00
Jordan Woyak
e8152b700f
InputCommon: Allow controller settings specified with input expresions.
2020-02-08 14:01:55 -06:00
JMC47
6a857df219
Merge pull request #8606 from jordan-woyak/tab-key-navigation
...
DolphinQt: setTabKeyNavigation(false) on QTableWidget and QTableView.
2020-02-08 14:18:09 -05:00
JMC47
3b0b264c84
Merge pull request #8608 from jordan-woyak/stereoscopy-hotkeys
...
DolphinQt: Fix stereoscopy hotkeys.
2020-02-08 14:17:42 -05:00
JMC47
dc5447fb30
Merge pull request #8612 from jordan-woyak/unused-members
...
DolphinQt: Kill some unused member variables.
2020-02-08 14:17:15 -05:00
Jordan Woyak
f94726068d
DolphinQt: Kill some unused member variables.
2020-02-08 10:52:06 -06: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
Jordan Woyak
b9f34bc822
DolphinQt: setTabKeyNavigation(false) on QTableWidget and QTableView.
2020-02-06 20:48:45 -06:00
Techjar
e8e41d8529
Core/NetPlayClient: Add documentation for SendPadHostPoll
2020-02-06 07:24:00 -05:00
Jordan Woyak
b1a71b959b
DolphinQt/Mapping: Change "Dead Zone" color from shadow color of palette to a transparent black or white depending on theme. Tweak order of "shake" indicator axis colors so red is more often shown.
2020-02-04 16:08:51 -06: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
91deb40a22
Common: Amend includes to handle the upgrade to fmt
2020-02-04 15:03:51 -05:00
Lioncash
aea76c7901
Core: Amend includes to handle the upgrade to fmt
2020-02-04 15:03:48 -05:00
Lioncash
abd2897377
VideoCommon: Amend formatting code to handle the upgrade to fmt
...
It seems that the newer version of fmt gets tripped up by bitfields
within structs. However, we can just specify the intended type where
necessary to get around this.
2020-02-04 14:55:20 -05:00
JosJuice
f8355d0f82
VolumeVerifier: Don't return early when file is too small
...
Not sure why that was there.
2020-02-02 17:09:58 +01:00
JosJuice
e449d23929
VolumeVerifier: Don't show an assert for files that are too small
2020-02-02 17:09:58 +01:00
Léo Lam
0491831483
Merge pull request #8592 from phcoder/devid
...
ButtonManager: Fix handling of empty device id.
2020-02-02 16:52:12 +01: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
Connor McLaughlin
69ee15e5ef
Merge pull request #8478 from jordan-woyak/dsu-client-cleanup
...
ControllerInterface/DSUClient: Minor cleanup.
2020-02-01 11:29:29 +10:00
SirMangler
ac34911f32
Added Toggle Freelook Hotkey
2020-01-31 20:45:08 +00:00
Stenzek
08cc73108a
Vulkan: Treat VK_SUBOPTIMAL_KHR as VK_SUCCESS on Android
...
Android 10 seems to expect a prerotated/transformed swap chain for optimal
presentation. For now, until we implement that, just ignore the hint.
2020-01-31 19:16:06 +10:00
Stenzek
ead65b0d8c
Vulkan: Log when a swap chain resize is occurring
...
This may help us debug performance problems in the future.
2020-01-31 19:11:43 +10: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
Vladimir Serbinenko
02c5d292fa
ButtonManager: Fix handling of empty device id.
...
Device id is "" on ChromeOS when using gamepad
2020-01-29 02:47:18 +01:00
Léo Lam
57f4837e4d
Merge pull request #8589 from lioncash/translatable
...
DolphinQt/GCMemcardManager: Mark string as translatable within GetErrorMessagesForErrorCode()
2020-01-27 23:20:03 +01:00
Lioncash
7eaa769527
DolphinQt/GCMemcardManager: Make use of QLatin1Char within GetErrorMessagesForErrorCode()
...
Same behavior, but eliminates the use of a program lifetime Qt string
literal.
2020-01-27 15:59:33 -05:00
Lioncash
585ae8aedf
DolphinQt/GCMemcardManager: Mark string as translatable within GetErrorMessagesForErrorCode()
...
This is a string that can potentially be seen by a user, so it should be
marked as translatable, like the other strings are.
2020-01-27 15:57:36 -05:00
Lioncash
dca201d5f3
DolphinQt/GameConfigWidget: Remove unimplemented EditUserConfig() member function
...
This isn't implemented anywhere, so we can remove the member function
prototype.
2020-01-27 15:46:52 -05:00
Lioncash
2fd628d017
DolphinQt/GameConfigEdit: Remove unimplemented SetReadOnly() member function
...
This isn't implemented anywhere, so we can remove this prototype.
2020-01-27 15:44:52 -05:00
Lioncash
c69cbceb59
DolphinQt/MainWindow: Surround prototype of OnSignal() with relevant ifdef
...
This is only used on Apple and Unix-like machines, so we can enclose the
prototype with an ifdef like the implementation is. This prevents
false-positives about an unimplemented function prototype.
2020-01-27 15:26:41 -05:00
Lioncash
e8ee4e835e
DolphinQt/NetPlayDialog: Remove unimplemented SetGame() prototype
...
This isn't implemented anywhere, so the prototype can be removed.
2020-01-27 15:25:04 -05:00
Tilka
f36c735856
Merge pull request #8586 from Techjar/d2s-no-pext
...
Avoid using PDEP and PEXT on AMD Zen
2020-01-27 03:15:43 +00:00
Techjar
3a3dc28d54
VertexLoaderX64: Don't use PDEP on AMD Zen
2020-01-26 22:12:00 -05:00
Techjar
a106c99826
Jit64: Don't use PEXT in DoubleToSingle on AMD Zen
...
This was causing severe slowdown in some games.
2020-01-26 22:10:46 -05:00
Techjar
185e49d2a9
x64CPUDetect: Add flag for slow PDEP/PEXT on AMD Zen
...
For some unknown reason PDEP and PEXT are ridiculously slow on AMD Zen
architecture.
2020-01-26 22:09:46 -05:00
Techjar
52b52631c2
x64CPUDetect: Add detection for AMD Zen architecture
2020-01-26 22:09:13 -05:00
Connor McLaughlin
47239ddaac
Merge pull request #8587 from lioncash/const-qual
...
DolphinQt/TASCheckBox: Mark GetValue() as const
2020-01-27 12:52:10 +10:00
Lioncash
b493bdb912
DolphinQt/TASCheckBox: Mark GetValue() as const
...
This doesn't actually modify the checkbox's state, so this can be marked
as a const-qualified member function.
2020-01-26 21:41:31 -05:00
Tilka
5dfc9196ab
Merge pull request #8548 from jordan-woyak/wiimote-source-cleanup
...
Core/WiimoteReal: Wii remote connection pool and source change cleanup.
2020-01-25 23:04:50 +00:00
Tilka
9ac77dc91f
Merge pull request #8552 from jordan-woyak/extension-calibration-data
...
WiimoteEmu: Nunchuk and Classic Controller calibration accuracy improvements.
2020-01-25 23:01:57 +00:00
Tilka
73aea8af6b
Merge pull request #8539 from leoetlino/fs-accuracy
...
IOS/FS: Reimplement many functions in a more accurate way
2020-01-25 23:00:10 +00:00
Tilka
2edcb29706
Merge pull request #8582 from jordan-woyak/osd-disabled-fix
...
VideoCommon/OSD: Process OSD messages even when they are disabled.
2020-01-25 21:11:37 +00:00
Tilka
a632bc7324
Merge pull request #8579 from jordan-woyak/rvalue-cleanups
...
Common/Core: Minor rvalue reference related cleanups.
2020-01-25 21:09:22 +00:00
Tilka
14ebdf0e9d
Merge pull request #8585 from JosJuice/volumeverifier-read-error
...
VolumeVerifier: Report read errors to the user
2020-01-25 21:07:01 +00:00
Tilka
b0e040431a
Merge pull request #8581 from jordan-woyak/ciface-ar-aware
...
InputCommon: Make "Cursor" inputs aware of the rendered aspect ratio.
2020-01-25 20:28:01 +00:00
Tilka
9827aa7a37
Merge pull request #8577 from jordan-woyak/shared_mutex
...
Common/Analytics: Replace mutex with shared_mutex and minor cleanups.
2020-01-25 20:08:22 +00:00
Jordan Woyak
5e3472eba9
Common/Analytics: Replace mutex with shared_mutex and minor cleanups.
2020-01-25 14:04:00 -06:00
JosJuice
de26fec0af
VolumeVerifier: Report read errors to the user
2020-01-25 20:21:12 +01:00
Tilka
119ccc5e4f
Merge pull request #8556 from Sintendo/bestrest
...
x64Emitter: Avoid 8-bit displacement when possible
2020-01-25 19:10:47 +00:00
Tilka
709862b818
Merge pull request #8120 from MerryMage/cdts
...
Jit64: Make DoubleToSingle a common asm routine
2020-01-25 19:10:37 +00:00
Léo Lam
c02e7de55a
IOS/ES: Remove now unnecessary title sorting hack
...
ES now uses FS to access the filesystem and FS's ReadDirectory now
returns file lists that are correctly ordered.
2020-01-25 17:54:58 +01:00
Léo Lam
d4ba0acb3a
UnitTests/FS: Add path validity and splitting tests
2020-01-25 17:54:57 +01:00
Léo Lam
484cfb9328
UnitTests/FS: Add metadata tests
2020-01-25 17:53:39 +01:00
Léo Lam
142b7e048b
IOS/FS: Actually implement SetMetadata
2020-01-25 17:53:35 +01:00
Léo Lam
e4dd582d1d
IOS/FS: Implement GetMetadata properly and remove GID hack
...
Now that all FS functions that create new inodes are properly
implemented, we can make GetMetadata actually return correct file
metadata rather than giving fixed information. The hack for the DQX
installer can also be removed now since our ES and FS keep track of
caller UID/GIDs now.
2020-01-25 17:53:34 +01:00
Léo Lam
396429d582
IOS/FS: Implement ReadDirectory properly and remove sorting hack
...
With the CreateFile/CreateDirectory fix and this commit, we can
finally return correct results in ReadDirectory and the sorting
hack -- whose purpose was to prevent certain versions of the
System Menu from crashing -- can be removed too.
2020-01-25 17:53:19 +01:00
Léo Lam
a40f297d1d
IOS/FS: Implement Rename properly
2020-01-25 17:53:18 +01:00
Léo Lam
53ceb6c693
IOS/FS: Implement Delete properly
2020-01-25 17:53:05 +01:00
Léo Lam
8517528f8c
IOS/FS: Implement CreateFile and CreateDir properly
2020-01-25 17:52:45 +01:00
Léo Lam
8f74d02659
Core: Fix a few misuses of FS::CreateDirectory
...
CreateDirectory does not create missing parent directories. If that
behaviour is desired, CreateFullPath should be used instead.
(These small misuses went unnoticed since the previous implementation
of CreateDirectory automatically created parent directories.)
2020-01-25 17:52:07 +01:00
Léo Lam
36676d2628
IOS/FS: Implement Format properly
2020-01-25 17:52:03 +01:00
Léo Lam
a83d9e5600
IOS/FS: Make sure FS root directory exists
...
Previously, the FS root directory would get created as a side
effect of calling CreateDirectory during boot (since the
implementation was sloppy and used File::CreateFullDir).
Since CreateDirectory no longer does that, it is necessary to ensure
that the FS root directory does exist by creating it explicitly.
2020-01-25 17:51:52 +01:00
Léo Lam
0543598574
IOS/FS: Move /tmp clearing back to the IPC interface
...
Prevents /tmp from being cleared unnecessarily; clearing /tmp is
normally only done once every time IOS is reloaded.
2020-01-25 17:51:43 +01:00
Léo Lam
f743f100b1
IOS/FS: Add base FST functions
...
Some official titles rely on implementation details of Nintendo's
FS sysmodule and will not work properly if those are changed.
Notably, some games and older versions of the System Menu appear
to be relying on the order of files returned by FS::ReadDirectory
and will either fail to find their save data (for Bolt) or
outright crash (for the System Menu).
Some titles also actually expect filesystem metadata to be correct.
One title that has been confirmed to do this is DQX, which generates
paths based on the GID of files within its own title directory.
While it is easy to make workarounds for these issues -- and in fact
we already do have some for the sysmenu and DQX, having hacks
is obviously nonideal and adding yet another hack would be required
to fix Bolt -- one that would be even uglier.
Furthermore, while it is currently unknown whether any official
title cares about permissions, the lack of FS metadata means that
we are unable to implement them if that turns out to be desirable
or necessary.
By adding a FST, we can implement things correctly and solve all
those problems without hacks.
Apart from DQX, the sysmenu and Bolt, this changeset also fixes
the Photo Channel complaining about corrupted system files
on the initial launch.
This first commit adds the basic structures and functions that
are necessary to load, save, query and update our version of the FST.
For simplicity, a binary format that is inspired from Nintendo's FST
structure was chosen for serialization. It is not expected to ever
receive an update.
PS: an update on the NAND image backend:
A long time ago I had planned to add another FS backend which would
be using a NAND image/blob as the storage. While I have already
written an implementation that has been tested, solves all the
aforementioned issues and more, produces images that are fully
compatible with IOS's FS driver, I feel like NAND images raise too
many issues: savestate sizes, code complexity and maintenance cost.
Since many fixes and additions that are part of that implementation
(e.g. FS timings, utility structures, FST) have already been merged
or will be submitted as part of this changeset, I will likely not
submit the branch.
2020-01-25 17:51:37 +01:00
Léo Lam
d185bc6f09
IOS/FS: Move path validity check functions
...
They will be used in more places than just HostBackend/FS.cpp.
Also fix the check and make it accurate while we're at it.
2020-01-25 17:47:42 +01:00
Connor McLaughlin
e3a7922e12
Merge pull request #8336 from Ebola16/PS
...
Add Dolphin version and current video backend to shader compilation logs
2020-01-25 11:52:14 +10:00
Jordan Woyak
c08671c4ce
VideoCommon/OSD: Process OSD messages even when they are disabled.
2020-01-24 11:00:58 -06:00
Jordan Woyak
b92f6480a0
InputCommon: Make "Cursor" inputs aware of the rendered aspect ratio.
2020-01-24 09:20:41 -06:00
Ryan Meredith
e5f6d9320f
Add Dolphin version and current video backend to shader compilation logs
2020-01-24 03:29:38 -05:00
Jordan Woyak
732032cdb2
Common/Core: Minor rvalue reference related cleanups.
2020-01-23 22:58:23 -06:00
Connor McLaughlin
42c03c4dad
Merge pull request #8576 from lioncash/texture-cvt-shader-fmt
...
VideoCommon/TextureConversionShader: Convert over to using ShaderCode
2020-01-24 11:53:51 +10:00
Connor McLaughlin
a0b7c1beae
Merge pull request #8366 from Techjar/high-dpi-auto-adjust
...
Qt/RenderWidget: Account for devicePixelRatio when auto-adjusting window size
2020-01-24 11:31:09 +10:00
Lioncash
687f1f0330
VideoCommon/TextureConversionShader: Make use of fmt where applicable
...
Now that we've converted the shader generation over to ShaderCode, we
can now make use of the fmt-capable WriteFmt function.
2020-01-23 14:19:40 -05:00
Lioncash
aa77dff3a2
VideoCommon/TextureConversionShader: Convert over to using ShaderCode
...
Migrates the shader generator off the use of a global array, eliminating
the use of some global state. This also allows us to move the shader
generation over to using fmt in a subsequent change.
2020-01-23 14:19:36 -05:00
Pierre Bourdon
ea9b96370d
Merge pull request #8573 from JosJuice/ciso-size
...
DiscIO: Fix CISOFileReader::GetDataSize()
2020-01-22 19:20:36 +01:00
JosJuice
956c63ef9b
DiscIO: Fix CISOFileReader::GetDataSize()
...
Fixes being unable to run CISO games after the merge of PR 8558.
2020-01-22 18:57:50 +01:00
JMC47
f0669f5aa6
Merge pull request #8570 from Techjar/always-sync-sram
...
Core/NetPlayServer: Sync SRAM on every game start
2020-01-21 20:55:52 -05:00
Connor McLaughlin
a63510a55a
Merge pull request #8554 from stenzek/present-duplicate-frames
...
Add an option to present duplicate frames
2020-01-20 12:04:26 +10:00
JMC47
f61d77a5e2
Merge pull request #8568 from jordan-woyak/imu-accel-ordering
...
InputCommon: List IMUAccelerometer's Up/Down inputs first for consistency.
2020-01-19 16:05:53 -05:00
Techjar
de27dcebf6
Core/NetPlayServer: Sync SRAM on every game start
...
This solves the issue of booting games locally while connected to
NetPlay causing desync.
2020-01-19 03:57:41 -05:00
Jordan Woyak
a61dff67da
InputCommon: List IMUAccelerometer's Up/Down inputs first for consistency.
2020-01-18 13:56:11 -06:00
tinyredpanda
8b1051abb9
Update Qt5_DIR path for ARM64 in CMake project
2020-01-18 11:28:42 +00:00
Léo Lam
89b0ab2d22
StringUtil: Add IsPrintableCharacter and use it
...
Add a function that safely returns whether a character is printable
i.e. whether 0x20 <= c <= 0x7e is true.
This is done in several places in our codebase and it's easy to run
into undefined behaviour if the C version defined in <cctype>
is used instead of this one, since its behaviour is undefined
if the character is not representable as an unsigned char.
This fixes MemoryViewWidget.
2020-01-16 00:22:26 +01:00
Pokechu22
0a6a53e301
Always display the horizontal scroll bar when log word wrap is off
...
Otherwise, a line that's too wide for the log widget will cause the horizontal scroll bar to appear, which reduces the vertical height, and causes the most recent line to be off screen. Since that line is off screen, the log widget no longer scrolls as new lines appear, unless it's manually scrolled to the very bottom again.
2020-01-15 13:59:09 -08:00
Tilka
1cc7ef356b
Merge pull request #8558 from JosJuice/volume-oob
...
DiscIO: Add out of bounds checks for blob reading
2020-01-15 13:48:00 +00:00
Pierre Bourdon
1ac3264d5d
Merge pull request #8545 from jordan-woyak/imu-cursor-centering
...
WiimoteEmu: IMU pointing behavior improvements and code cleanup.
2020-01-15 12:10:57 +01:00
Léo Lam
d2efad58af
Merge pull request #8562 from jordan-woyak/sens-slider
...
Core/DolphinQt: Fix IR Sensitivity slider.
2020-01-15 00:29:24 +01:00
Jordan Woyak
b416389248
Core/DolphinQt: Fix IR Sensitivity slider.
2020-01-14 17:08:21 -06:00
JosJuice
297b790e4f
DiscIO: Add out of bounds checks for blob reading
2020-01-14 18:59:31 +01:00
JosJuice
21c152f51f
Fix Error #001 (alternative solution)
...
This is an alternative to PR 8557 and PR 8558. The way this PR solves
the problem is essentially the same as what we had before PR 8394
(except the code we had back then only worked because it was broken).
2020-01-14 16:47:14 +01:00
Pokechu22
ddba80133a
Fix launching DTK games with MIOS
2020-01-13 20:07:59 -08:00
Pokechu22
d67c4f34d1
Fix crash when launching gamecube games with MIOS (from the Wii menu)
2020-01-13 19:48:19 -08:00
Stenzek
11ba623f26
Add an option to present/skip presenting duplicate frames
...
Currently, we do not display every second frame in 25fps/30fps games
which run to vsync. This improves performance as there's less rendering
for the GPU to perform, but when combined with vsync, could cause frame
pacing issues.
This commit adds an option to force every frame generated by the console
to be displayed to the host, which may improve pacing for these games.
2020-01-14 10:57:35 +10:00
Jordan Woyak
f5d9b78a3c
DolphinQt: Properly hide Wii remote extension motion tabs when no extension is selected.
2020-01-13 18:34:04 -06:00
Connor McLaughlin
efc1ee8e6a
Merge pull request #8537 from degasus/fastmem
...
Core/HW -> PowerPC/JIT: Fastmem arena construction
2020-01-14 09:38:15 +10:00
Jordan Woyak
6106f780a7
ControllerInterface/DSUClient: Eliminate m_accl/m_gyro state by accessing the pad data directly like every other input.
2020-01-13 17:35:33 -06:00
JMC47
eacbff76dd
Merge pull request #8474 from jordan-woyak/dsu-battery
...
ControllerInterface: Exposse DSU client battery level as an input.
2020-01-13 18:30:53 -05:00
Jordan Woyak
e2d5c92c76
ControllerInterface: Remove and re-add device when combining nodes.
2020-01-13 16:50:58 -06:00
Jordan Woyak
aabe8d2ccd
ControllerInterface: Don't consider the empty string a valid unique ID.
2020-01-13 16:50:58 -06:00
Jordan Woyak
ac907ef977
ControllerInterface: Combine evdev devices with the same unique ID.
...
This works around Linux drivers for DS4 (Playstation 4) controllers splitting the device into three separate event nodes which makes configuration difficult.
To prevent collisions of input names in combined devices more descriptive names are now used when possible.
2020-01-13 16:50:56 -06:00
Jordan Woyak
2b9fa0597a
ControllerInterface: Minor DSU client device cleanups.
2020-01-13 16:32:02 -06:00
JosJuice
da59f97278
Merge pull request #8549 from leoetlino/clang-format-9
...
Require clang-format 9 and reformat source code
2020-01-13 23:30:26 +01:00
Jordan Woyak
f0534cabc6
ControllerInterface: Exposse DSU client battery level as an input.
2020-01-13 16:29:24 -06:00
JMC47
48fd27cdab
Merge pull request #8451 from rlnilsen/motion-input-nunchuk
...
Add motion input support to nunchuk
2020-01-13 17:08:03 -05:00
JosJuice
966e1b31ba
Merge pull request #8394 from Pokechu22/misc-di-gpio
...
Various DI improvements
2020-01-13 17:17:24 +01:00
Connor McLaughlin
ae6d3be449
Merge pull request #8530 from s-daveb/master
...
MacOS: Fixes configuration hang; bump MacOS SDK.
2020-01-13 20:21:08 +10:00
Sintendo
bdcdd763fe
x64Emitter: Remove unused macros
...
No users, and one them seems to do the same as stddef.h's offsetof()
already used elsewhere.
2020-01-13 08:43:42 +01:00
Sintendo
f82c38e156
X64Emitter: Remove obsolete TODO
...
TODO was already taken care of in PR #941 .
2020-01-13 08:43:42 +01:00
Sintendo
bdfc472751
x64Emitter: Refactor OpArg::WriteRest
...
Shorter, displacement is now handled in one location.
2020-01-13 08:43:42 +01:00
Sintendo
cde3a3b448
x64Emitter: Avoid 8-bit displacement when possible
...
Due to the way the ModRM encoding works on x86, memory addressing
combinations involving RBP or R13 need an additional byte for an 8-bit
displacement of zero.
However, this was also applied in cases where it is unnecessary,
effectively wasting a byte.
- MatR with RSP or R12
8B 44 24 00 mov eax,dword ptr [rsp]
8B 04 24 mov eax,dword ptr [rsp]
- MRegSum with base != RBP or R13
46 8D 7C 37 00 lea r15d,[rdi+r14]
46 8D 3C 37 lea r15d,[rdi+r14]
- MComplex without offset
8B 4C CA 00 mov ecx,dword ptr [rdx+rcx*8]
8B 0C CA mov ecx,dword ptr [rdx+rcx*8]
2020-01-13 08:43:42 +01:00
Jordan Woyak
d9bd714143
WiimoteEmu: Nunchuk and Classic Controller calibration accuracy improvements.
2020-01-12 09:48:37 -06:00
Stenzek
d8b2be9d06
DolphinQt: Support compiling on ARM64
2020-01-12 15:23:42 +10:00
Jordan Woyak
0aacf3a627
WiimoteEmu: Make the "Total Yaw" setting work again.
2020-01-09 13:11:13 -06:00
Léo Lam
4cc2d97294
Require clang-format 9 and reformat source code
...
This updates the lint script to require clang-format 9 and reformats
existing source code. Since VS2019 ships with clang-format 9 this
should make auto reformats less painful.
This also updates the clang-format configuration to set
BraceWrapping.AfterCaseLabel to true to ensure consistent brace
style; otherwise clang-format 9+ defaults to putting braces on
the same line as switch case labels.
2020-01-08 22:18:15 +01:00
Scott Mansell
a8c33f4ef6
Fix trailing whitespace
2020-01-07 12:52:05 +13:00
Scott Mansell
21528c3e72
Document the evdev "interesting" heuristic
...
Was checking over this old code, and saw a comment calling me out for a lack of documentation.
It might be half a decade late, but better late then never.
2020-01-07 12:46:24 +13:00
Tilka
98f645daac
Merge pull request #8158 from Sintendo/jitopts
...
x64 micro-optimizations
2020-01-06 14:09:43 +01:00
Tilka
f17f03ea3c
Merge pull request #8551 from Sintendo/jit64addx
...
Jit64: addx optimizations
2020-01-06 13:15:17 +01:00
Tilka
6e18dfb600
Merge pull request #8133 from Sintendo/mov64imm32
...
x64Emitter: Emit shorter MOVs for 32-bit immediates
2020-01-06 13:12:56 +01:00
Sintendo
12fcbac2a3
Jit64: addx - Emit LEA for register + immediate
...
Prefer LEA over MOV + ADD when dealing with immediates.
Before:
44 8B EE mov r13d,esi
41 83 C5 20 add r13d,20h
After:
44 8D 6E 20 lea r13d,[rsi+20h]
2020-01-05 23:39:13 +01:00
Sintendo
8e7b6f4178
Jit64: addx - Prefer ADD over LEA when possible
...
The old logic would always emit LEA when both sources are in a register
and OE is disabled. However, ADD is still preferable when one of the
sources matches the destination.
Before:
45 8D 6C 35 00 lea r13d,[r13+rsi]
After:
44 03 EE add r13d,esi
2020-01-05 23:23:56 +01:00
Léo Lam
c1f9bfce30
IOS/ES: Add SetUid exception for the Wii U Transfer Tool
...
The ES sysmodule in IOS62 (v6430) has an exception for the
Wii U Transfer Tool in the SetUid function.
If the active title is the Wii U Transfer Tool, then calling SetUid
is always allowed. (The UID is still checked first, though.)
Fixes https://bugs.dolphin-emu.org/issues/10985
2020-01-05 18:16:54 +01:00
Jordan Woyak
956339df4e
Core/WiimoteReal: Make wiimote source type an enum class and add Get/SetWiimoteSource functions. Add connected real Wii Remotes to a pool when a slot is not available.
2020-01-05 10:15:22 -06:00
Léo Lam
f35f4f2bf0
Merge pull request #8541 from jordan-woyak/float-parse-fix
...
StringUtil: Make TryParse of floats handle comma and dot decimal separators.
2020-01-05 12:12:09 +01:00
Pokechu22
3b5d20e12c
Bump state version
2020-01-04 11:43:33 -08:00
Pokechu22
51f8a3606e
Return error code to game when using unimplemented commands
2020-01-04 11:43:32 -08:00
Pokechu22
af5f0b20bb
Report use of various unimplemented DI commands as game quirks
2020-01-04 11:43:32 -08:00
Pokechu22
f1dc908883
Clarify emulated behavior for ReadBCA
2020-01-04 11:43:32 -08:00
Pokechu22
6c0399103f
Handle partitions in /dev/di, not DVDInterface
...
Partitions are Wii-exclusive, and don't happen at the DVDInterface level in
IOS. This isn't quite the cleanest fix, but it gets rid of the assumption that
a partition is open on starting the game at least.
2020-01-04 11:43:32 -08:00
Pokechu22
71e8fb278f
Return more errors from DTK
2020-01-04 11:43:31 -08:00
Pokechu22
55a88ba2ed
Track drive state better, reporting errors if the state is wrong
...
Also, fix DVDLowStopMotor logging (which was based on the ioctl parameters)
2020-01-04 11:43:31 -08:00
Pokechu22
7d6b9bcb40
Check for error 001 out of bounds reads in DVDThread
...
All out of bounds reads should return the appropriate DI error, but it also
makes sense to have the error 001 read happen there.
2020-01-04 11:43:30 -08:00
Pokechu22
ef2fc5a49b
Split /dev/di commands from DVDInterface
...
The various ioctls sometimes have different arguments than the DI command
registers, though they generally overlap. There are also a bunch of ioctls
that don't even normally go into DVDInterface, just returning various data.
Some of the implemented ioctls are new to Dolphin.
2020-01-04 11:43:30 -08:00
Pokechu22
a8ae5fa21a
Expose setting DVDInterface errors and split setting into two parts
2020-01-04 11:43:30 -08:00
Pokechu22
3110599559
Increase DIMAR by DILENGTH after a command
2020-01-04 11:43:30 -08:00
Pokechu22
d3aad1d6d5
DIMAR only ignores bits 0-4, not the upper bits
...
Based on a hardware test on a Wii. The alignment code was originally added in 743641965a
.
2020-01-04 11:43:29 -08:00
Pokechu22
c564d64104
Remove unused drive debug command constants
...
The corresponding code that used these was removed in 2009 with 93b83f8d65
. Now their only purpose is to generate warnings on osx.
Minimalistic documentation on these commands can be found at http://hitmen.c02.at/files/yagcd/yagcd/chap5.html#sec5.7.2 and https://web.archive.org/web/20070328200323/http://tmb.elitedvb.net/dvd-game/index.php/CMDFE . Those constants only relate to the 0x11 subcommand, which is one of many. Most can't be properly emulated unless we LLE the drive firmware (in which case, they don't need to be reimplemented).
2020-01-04 11:43:29 -08:00
Pokechu22
84f099cf62
Tidy and eliminate some of the DI register unions
2020-01-04 11:43:26 -08:00
Pokechu22
11bd132650
Implement RTC flag, which is counter-intuitively disc drive related
2020-01-04 11:43:26 -08:00
Pokechu22
77189e74cd
Implement Broadway GPIOs
...
SLOT_LED and the AVE ones are not implemented yet, but the other Broadway ones are.
2020-01-04 11:43:26 -08:00
Pokechu22
a695b05b21
Add support for std::optional to PointerWrap
2020-01-04 11:43:26 -08:00
Jordan Woyak
0e8d4cb6ac
StringUtil: Make TryParse of floats handle comma and dot decimal separators.
2020-01-04 07:19:15 -06:00
Léo Lam
ad75215bb0
Fix several warnings
...
A small, nonexhaustive set of warning fixes. The DiscIO Volume change
is a workaround for a GCC bug [1] that causes returning an unengaged
std::optional to emit annoying -Wmaybe-uninitialized warnings.
This last change alone fixes pages upon pages of warnings since
Volume.h is included from several files.
-Wstringop-truncation is another irrelevant warning for us, but
unfortunately there seems to be no way to disable it without
adding ugly pragmas wherever the warning appears.
2020-01-04 12:11:39 +01:00
Léo Lam
94c5460693
Merge pull request #8546 from jordan-woyak/default-num-mappings
...
HW: Add ticks to default mappings that are valid numeric literals.
2020-01-04 10:41:45 +01:00
Léo Lam
671defd8b9
Merge pull request #8543 from jordan-woyak/gcode-download-minor-fix
...
Core/GeckoCode: Fix DownloadCodes function assuming HTTP data is null terminated.
2020-01-04 10:18:44 +01:00
Jordan Woyak
2a9a04a1ec
HW: Add ticks to default mappings that are valid numeric literals.
2020-01-03 22:08:49 -06:00
Jordan Woyak
b505004d61
Core/GeckoCode: Fix DownloadCodes function assuming HTTP data is null terminated.
2020-01-03 20:14:10 -06:00
Jordan Woyak
723115b7b6
WiimoteEmu: Allow Recenter button to adjust the pitch.
2020-01-03 18:08:45 -06:00
Jordan Woyak
72c2be52ed
WiimoteEmu: Clean up ComplementaryFilter math.
2020-01-03 16:16:26 -06:00
Jordan Woyak
120c6dc850
DolphinQt: Fix accelerometer indicator math.
2020-01-03 12:34:11 -06:00
Jordan Woyak
540a3ce665
DolphinQt: Use FromQuaternion for a more accurate gyro indicator.
2020-01-02 15:46:18 -06:00
Jordan Woyak
8ab3694f51
Common: Add Matrix33::FromQuaternion.
2020-01-02 15:16:37 -06:00
George Talusan
b1a6cbc3b4
MacOS: Dispatch GL calls to main thread to prevent crashes on Catalina
2020-01-01 23:06:19 -05:00
David Korth
11339d77c6
IsSettingSaveable.cpp: Significant code size reduction.
...
- Refactor the Config::System::Main check so we check system once,
then we check for the section.
- Use an std::array<> instead of std::vector<>.
- Use an array of pointers instead of an array of ConfigLocation.
The latter contains two std::string objects, whereas pointers
are only 8 bytes (on 64-bit).
Code size comparison: (64-bit Linux, gcc-9.2.0, release build)
text data bss dec hex filename
16136 0 40 16176 3f30 IsSettingSaveable.cpp.o [before]
3933 720 0 4653 122d IsSettingSaveable.cpp.o [after]
-12203 +720 -40 -11523 -2d03 Difference
2019-12-29 23:45:02 -05:00
David Korth
f5fe692842
Use pre-increment for iterators instead of post-increment.
...
Pre-increment is more efficient, since it doesn't have to return the
old iterator.
2019-12-29 23:45:02 -05:00
David Korth
c2dd2e8a2e
Use std::istringstream or std::ostringstream instead of std::stringstream where possible.
...
This removes std::iostream from the inheritance chain, which reduces
overhead slightly.
2019-12-29 23:45:02 -05:00
David Korth
6e549bb668
InputConfig::LoadConfig(): Convert num[] to an array of std::string_view.
...
NOTE: The explicit std::string() conversions later are needed. Otherwise,
gcc-9.2.0 throws all sorts of errors because it can't find a matching
operator+() function.
2019-12-29 23:45:02 -05:00
David Korth
a23b3d26f4
GLExtensions.cpp: Use arrays of `const char *const` instead of `std::string`.
...
The strings end up being copied, so we might as well initialize the
std::string in the unordered_map directly.
2019-12-29 23:45:02 -05:00
David Korth
05101b251c
OGL/Render.cpp, InitDriverInfo(): Use std::string_view to eliminate string copies.
...
Consolidate the NVIDIA Tegra and non-Tegra checks into one branch.
2019-12-29 23:45:02 -05:00
David Korth
1d7f128693
GetSysMenuVersionString(): Use a char instead of std::string for the region letter.
...
Append the region letter after determining the version number.
2019-12-29 23:45:02 -05:00
David Korth
9f3b9acad9
PowerPC.cpp: No need to explicitly initialize ppcState.
...
"ppcState{}" is stored in the .data segment, which means the full ~4 MB
is stored in the executable.
"ppcState" is stored in the .bss segment, which means it only stores a
note that tells it to allocate and zero ~4 MB at runtime.
2019-12-29 23:45:02 -05:00
David Korth
afe2e7de0f
VolumeVerifier.cpp: Verify that the string arrays are sorted before using std::binary_sort().
...
Debug builds only, since this is wrapped in assert().
2019-12-29 23:42:55 -05:00
David Korth
d660aba20f
VolumeVerifier.cpp: Use arrays of string_view objects instead of strings.
...
string_view is a thin wrapper around C strings, so it's more efficient
for constant strings than C++ strings.
The unordered_set<> also adds extra runtime overhead. For small arrays,
a simple linear search works. For larger arrays, std::binary_search()
works better than linear but without the unordered_set<> overhead.
ShouldBeDualLayer(): Removed a duplicate "SK8X52" entry.
2019-12-29 23:42:55 -05:00
degasus
aad8aab698
Jit64: Disable the fast address check if fastmem is disabled.
...
This was a huge speedup with disabled fastmem, but it still requires the fastmem arena.
So let's disable it for now, even if this commit has a huge performance hit with disabled fastmem.
2019-12-28 13:41:57 +01:00
degasus
d735943aa2
Jit64: Use safe memory helpers for psq_l* without fastmem.
...
RMEM won't help if there is no fastmem arena, so let's use our memory helpers.
2019-12-28 13:41:57 +01:00
degasus
74cb692591
Jit64: Only activate dcbz fastpath with fastmem.
...
The code is safe not to create memory errors, but it accesses the fastmem area.
2019-12-28 13:41:57 +01:00
degasus
c6019f9814
PowerPC/Jit: Create fastmem arena on init.
2019-12-28 13:41:57 +01:00
degasus
ccbadf6e72
Core: Refactor fastmem arena construction.
...
This shall be called by the Jit, not by the emulation start itself.
2019-12-28 13:41:57 +01:00
degasus
9d88180df7
MMU: Use the Memory helpers for physical memory.
...
physical_base is a fastmem helper. Its access is unsafe and might not be available without a Jit.
2019-12-28 12:57:51 +01:00
Stenzek
d744c5a148
Compile fixes for Windows-on-ARM64
2019-12-28 19:20:41 +10:00
Stenzek
6fcb1c6c46
Add an ARM64 target to Visual Studio projects
2019-12-28 19:20:41 +10:00
Stenzek
5a65031611
Add a Win32 NoGUI platform and project
2019-12-28 08:56:27 +10:00
Anthony
0755f92979
Merge pull request #8534 from JosJuice/netplay-index-empty-strings
...
Properly check for missing netplay session name/region
2019-12-25 21:52:22 -08:00
Pierre Bourdon
0341288af2
Merge pull request #8525 from Techjar/axwii-ub
...
HW/DSPHLE: Fix struct aliasing undefined behavior in AX ucode
2019-12-24 08:35:28 +01:00
JosJuice
0c12dbe860
DolphinQt: Properly save netplay session settings when changed
2019-12-23 23:14:13 +01:00
JosJuice
8e278b8053
Check presence of name and region in NetPlayServer
2019-12-23 23:14:13 +01:00
JosJuice
2fa4ef729f
DolphinQt: Check presence of region in NetPlaySetupDialog
2019-12-23 23:14:13 +01:00
Pierre Bourdon
5c996dec89
DualShockUDPClient: downgrade spurious NOTICE_LOGs
2019-12-23 18:36:18 +01:00
Techjar
eae959238e
HW/DSPHLE: Fix struct aliasing undefined behavior in AX ucode
...
This fixes Old AX Wii games having no audio when compiled under VS2019.
This also includes some minor code cleanup and moving a function to
avoid duplication.
2019-12-22 14:48:47 -05:00
Techjar
79092cdda0
Common/BitUtils: Implement BitCast(To|From)Array
2019-12-22 14:48:47 -05:00
S David
21f42fafb7
MacOS: Fixes configuration hang; bump MacOS SDK.
...
Removed conditional use of std::mutex instead of std::shared_mutex on MacOS.
Because MacOS < 10.12 did not support std::shared_mutex, a previous commit
naïvely substituted std::mutex, which does not have the same behavior.
Reverses PR #8273 , which substitues std::mutex for std::shared_mutex on
macOS, and results in several bugs that seem to only affect MacOS
- https://bugs.dolphin-emu.org/issues/11919
- https://bugs.dolphin-emu.org/issues/11842
- https://bugs.dolphin-emu.org/issues/11845
This change eliminates conditional code for MacOS in the core configuration
layer code and enables the use of modern language features that are more
secure and thread-safe.
2019-12-22 00:49:17 -05:00
Stenzek
6a0067fd26
FrameDump: Set first_frame if movie frame number <= 1
...
The frame number is incremented before the first frame is swapped out.
Fixes ffmpeg creating invalid video files on output if the emulator only
runs for a single frame, e.g. FifoCI.
2019-12-22 11:54:34 +10:00
Casey Carter
222bc6a443
Include <memory> for std::unique_ptr in DXContext.h
2019-12-19 14:25:12 -08:00
Connor McLaughlin
74dedc57fd
Merge pull request #8519 from JosJuice/setupwiimemory-region-override
...
Boot: Optionally allow preserving region settings in setting.txt
2019-12-19 20:47:56 +10:00
Shawn Hoffman
e3a30fbdf2
update minilzo to 2.10
2019-12-18 22:20:11 -08:00
Léo Lam
3cf2857aac
Merge pull request #8520 from lioncash/analyst-tidy
...
PowerPC/PPCAnalyst: Remove unimplemented LogFunctionCall prototype
2019-12-15 12:07:38 +01:00
Lioncash
7c12081693
PowerPC/PPCAnalyst: Remove unimplemented LogFunctionCall prototype
...
This doesn't have an implementation, so it can be removed.
2019-12-15 00:23:32 -05:00
JosJuice
208c6a3011
Boot: Optionally allow preserving region settings in setting.txt
...
See the discussion in https://bugs.dolphin-emu.org/issues/11930 .
(This probably doesn't really fix that issue, but it's something
I thought would make sense anyway.)
2019-12-14 19:03:20 +01:00
Léo Lam
6cd2f5a76d
Merge pull request #8501 from lioncash/byteswap
...
GCMemcard: Remove byteswapping functions and macros
2019-12-14 14:28:01 +01:00
Léo Lam
49fcc71565
Merge pull request #8506 from lioncash/cache
...
PPCCache: Make arrays constexpr where applicable
2019-12-14 14:25:06 +01:00
Connor McLaughlin
a980a39807
Merge pull request #8518 from stenzek/more-wiimote-reset-crashes
...
Core: Reset Wiimotes/rumble/memwatcher on emu thread
2019-12-13 13:44:22 +10:00
spycrab
0cb3257d3f
Merge pull request #8435 from firodj/pr-fix-macos-qt-plugin-cocoa
...
DolphinQt: Fix qt.qpa.plugin on MacOS
2019-12-10 17:41:02 +01:00
Stenzek
e5485ca499
Core: Reset wiimotes/rumble on emu thread instead of main thread
...
This was causing a race which was crashing the FifoCI runners. The main
thread called Stop() which in turn called ResetAllWiimotes() while the
emu thread was still exiting, also shutting down the Wiimote class.
By shifting the reset to the emu thread, all cleanup operations happen
on the same thread where they were initialized.
2019-12-09 20:07:00 +10:00
Stenzek
c602cb2e2f
Core: Reset memory watcher on same thread which allocates it
2019-12-09 20:06:14 +10:00
Stenzek
e05bc33899
Vulkan: Call VertexManagerBase initialize
2019-12-09 19:16:15 +10:00
Stenzek
07c43b192f
D3D12: Call VertexManagerBase initialize
2019-12-09 19:16:04 +10:00
Anthony
a21fb96638
Merge pull request #8516 from JosJuice/scrub-unencrypted-again
...
Fix scrubbing unencrypted Wii disc images (for real this time)
2019-12-08 12:25:16 -08:00
JosJuice
711b36075c
Fix scrubbing unencrypted Wii disc images (for real this time)
...
Unlike what my past self apparently thought, % is in fact not the
"round down" operator.
https://bugs.dolphin-emu.org/issues/11906
2019-12-08 19:41:40 +01:00
Anthony
bac8c060b5
Merge pull request #8508 from lioncash/fmt-tex
...
VideoCommon/TextureConverterShaderGen: Convert over to fmt
2019-12-07 18:41:14 -08:00
Anthony
9ef50a1d4b
Merge pull request #8509 from lioncash/shader-str
...
VideoCommon/FramebufferShaderGen: Minor clean up
2019-12-07 18:40:56 -08:00
Anthony
19ea546a0a
Merge pull request #8511 from lioncash/if-constexpr
...
VideoCommon/OpcodeDecoding: Make use of if constexpr
2019-12-07 18:40:15 -08:00
Anthony
fdb78b64e1
Merge pull request #8513 from lioncash/bounding-box
...
VideoCommon/BoundingBox: Make interface for querying bounding box data
2019-12-07 18:40:02 -08:00
Anthony
b39756dbce
Merge pull request #8512 from lioncash/index
...
VideoCommon/IndexGenerator: Eliminate static state
2019-12-07 18:38:06 -08:00
Lioncash
81edcca8db
Common/Network: Use std::nullopt in StringToMacAddress
...
Prevents unnecessary zeroing out of std::optional's internal buffer in
some implementations.
2019-12-06 09:59:11 -05:00
Lioncash
cbfacc41ba
Common/Network: Remove unused header inclusions
...
Removes unused header dependencies.
2019-12-06 09:51:28 -05:00
Lioncash
f06461d208
Common/Network: Make StringToMacAddress use a string_view
...
This function only ever reads the contents of the string in a non-owning
manner, so we can change the parameter over to being a string view.
2019-12-06 09:45:25 -05:00
Lioncash
2c9ec6cb8a
VideoCommon/BoundingBox: Move PixelShaderManager::SetBoundingBoxActive() calls into Enable()/Disable()
...
Now that we have an actual interface to manage things, we can stop
duplicating the calls to to the pixel shader manager and remove the
need to remember to actually do so when disabling or enabling the
bounding box.
2019-12-05 11:57:58 -05:00
Lioncash
9bd533ebe4
VideoCommon/BoundingBox: Make interface for querying bounding box data
...
Rather than expose the bounding box members directly, we can instead
provide an interface for code to use. This makes it nicer to transition
from global data, as the interface function names are already in
place.
2019-12-05 11:48:42 -05:00
Lioncash
10f7674651
VideoCommon/IndexGenerator: Eliminate static state
...
Now that we've extracted all of the stateless functions that can be
hidden, it's time to make the index generator a regular class with
active data members.
This can just be a member that sits within the vertex manager base
class. By deglobalizing the state of the index generator we also get rid
of the wonky dual-initializing that was going on within the OpenGL
backend.
Since the renderer is always initialized before the vertex manager, we
now only call Init() once throughout the execution lifecycle.
2019-12-05 10:49:32 -05:00
Lioncash
159947ab68
VideoCommon/IndexGenerator: Make use of if constexpr
...
We can use if constexpr with the template functions that pass in a
non-type template parameter, allowing the removal of branches that
aren't taken at compile time.
Compilers will generally do this by default, however, we now give a
gentle prodding to the compiler if this would otherwise not be the case.
2019-12-05 10:49:32 -05:00
Lioncash
fb3fda775f
VideoCommon/IndexGenerator: Move stateless functions into anonymous namespace
...
These don't rely on any of the static members within the IndexGenerator
class, so we can make all of these functions fully internal to the
translation unit.
2019-12-05 10:49:29 -05:00
Lioncash
69f2ca2230
VideoCommon/IndexGenerator: Make use of anonymous namespace
...
More things will be moved into this in subsequent changes. While we're
at it, we can also make use of std::array.
2019-12-05 09:36:41 -05:00
Lioncash
1f46a6a64b
VideoCommon/OpcodeDecoding: Make use of if constexpr
...
We can make use of if constexpr in several scenarios here to allow
compilers to exise the relevant code paths out.
Technically a decent compiler would do this already, but now we can give
compilers a little more nudging here in the event that isn't the case.
2019-12-05 09:13:06 -05:00
Lioncash
99353c3baa
VideoCommon/OpcodeDecoding: Remove unused headers
...
Nothing provided by these headers are used, so we can remove them.
2019-12-05 09:13:06 -05:00
Lioncash
6339a5ea8e
VideoCommon/OpcodeDecoding: Resolve implicit signedness conversion
...
cmd2 is a u32, so any bitwise arithmetic on it with a type of the same
size or smaller will result in a u32 value. This is also implicitly
converted to an unsigned type in the if statement as well, given that
size_t * int -> size_t.
This is just more explicit about the operations occurring and also
likely silences a sign conversion warning.
2019-12-05 09:13:06 -05:00
Lioncash
4710b82f43
VideoCommon/OpcodeDecoding: Remove use of goto in Run()
...
With the use of a lambda and a change in switch fallthrough, we can
completely eliminate the use of goto within Run().
2019-12-05 09:13:06 -05:00
Lioncash
f74503cce0
VideoCommon/OpcodeDecoding: Make use of anonymous namespace
...
Provides a region for all internal utilities.
2019-12-05 09:13:06 -05:00
Lioncash
6b4e340995
VideoCommon/OpcodeDecoding: Amend comment formatting
...
Amends a documentation comment that acquired some wonky formatting
during the introduction of clang-format a few years ago.
2019-12-05 09:13:06 -05:00
Lioncash
b2a9c36501
VideoCommon/OpcodeDecoding: Move g_bRecordFifoData into namespace
...
Keeps the global localized with the code that it's primarily related to.
Now it's obvious from a glance what the global variable is affecting.
2019-12-05 09:13:03 -05:00
Lioncash
d8063e9c54
VideoCommon/OpcodeDecoding: Normalize variable naming
...
Provides consistent naming of variables within the translation unit.
While we're at it, we can mark them const where applicable.
2019-12-05 08:05:29 -05:00
Lioncash
f29730944f
VideoCommon/FramebufferShaderGen: Make use of std::ostringstream internally
...
We only use these string streams to output into a final std::string
instance, we don't read into types with them. Because of this, we can
just make use of std::ostringstream, rather than the fully-fledged
std::stringstream.
2019-12-05 00:18:00 -05:00
Lioncash
fff445cc10
VideoCommon/FramebufferShaderGen: Make use of std::string_view where applicable
...
Prevents the use of the null pointer as an input to any functions.
2019-12-05 00:15:37 -05:00
Lioncash
3405815f09
VideoCommon/FramebufferShaderGen: Remove unused Config struct
...
This isn't used anywhere within the codebase, so it can be removed
entirely.
2019-12-04 23:54:15 -05:00
Lioncash
3a8d17c140
VideoCommon/FramebufferShaderGen: Use an anonymous namespace where applicable
...
Places all internal helpers and types within an anonymous namespace.
2019-12-04 23:51:26 -05:00
Lioncash
eefd6a10f5
VideoCommon/FramebufferShaderGen: Add missing initial source file comments
...
Makes the source files consistent with the rest of the VideoCommon code.
2019-12-04 23:48:59 -05:00
Lioncash
f8c90f0484
VideoCommon/FramebufferShaderGen: Collapse stream insertions
...
No behavioral change. This is intended to make the transition to fmt
less noisy in subsequent changes by combining insertions of multiple
string literals into one where applicable.
2019-12-04 23:45:15 -05:00
rlnilsen
965781ea9d
Motion Input: Add nunchuk support.
2019-12-04 23:21:26 +01:00
Lioncash
0f28f4049b
VideoCommon/TextureConverterShaderGen: Convert over to fmt
...
Easily the most straightforward to convert over, given the lack of
significant formatting arguments.
2019-12-03 05:05:02 -05:00
Lioncash
8af6bfb8b0
VideoCommon/ShaderGenCommon: Add function for writing fmt-based strings
...
Begins the conversion of the shader generators over to using fmt
formatting specifiers.
This also has a benefit over the older StringFromFormat-based API in
that all formatted data is appended to the existing buffer rather than
creating a completely separate string and then appending it to the
internal string buffer.
2019-12-03 04:49:48 -05:00
Lioncash
474e210cd5
PPCCache: Make arrays constexpr where applicable
...
Two of these arrays were stored within the save state when the exact
same data is constructed all the time.
We can just build this into the binary rather than the save state,
shrinking a little bit of the save state's overall size.
2019-12-03 04:05:09 -05:00
Lioncash
1d5ce4708f
PPCCache: Make use of std::array where applicable
...
Allows simplifying a bunch of initialization and filling code.
2019-12-03 04:05:05 -05:00
Connor McLaughlin
15fc71cfcf
Merge pull request #8498 from stenzek/update-vs2019
...
Update VS projects/solutions to VS2019
2019-12-03 13:03:49 +10:00
Stenzek
52e2e32193
Core: Only reset wiimotes in Wii mode
...
This was causing the FifoCI runners to crash, as the Wiimotes were not
initialized in the first place.
2019-11-30 15:41:38 +10:00
Stenzek
33c0abd1ab
Disable warning C5054 on DolphinQt
...
They're all in the Qt headers, and quite noisy.
2019-11-30 13:42:52 +10:00
Stenzek
dd23a1ee79
Update VS projects/solutions to VS2019
2019-11-30 13:42:52 +10:00
Anthony
4a0611df54
Merge pull request #8487 from lioncash/video-fmt
...
VideoCommon: Make use of fmt outside of shader generators
2019-11-28 15:03:23 -08:00
Anthony
b5656df7e8
Merge pull request #8502 from lioncash/log
...
Common: Unify logging namespace with Common
2019-11-28 15:01:49 -08:00
OatmealDome
ef32a10d69
InputCommon: Decouple ButtonManager and Touchscreen from Android
...
Changes were also made for codestyle compliance.
2019-11-28 15:20:51 -05:00
Lioncash
c792961000
Common: Unify logging namespace with Common
...
Previously the logging was a in a little bit of a disarray. Some things
were in namespaces, and other things were not.
Given this code will feature a bit of restructuring during the
transition over to fmt, this is a good time to unify it under a single
namespace and also remove functions and types from the global namespace.
Now, all functions and types are under the Common::Log namespace. The
only outliers being, of course, the preprocessor macros.
2019-11-28 05:13:21 -05:00
Lioncash
e33c366502
GCMemcard: Remove byteswapping macros
...
We can just specify the functions directly instead of relying on
preprocessor textual replacement.
2019-11-27 23:15:31 -05:00
Lioncash
1f1a02151e
GCMemcard: Replace ByteSwap with std::swap
...
There's already a standard library function that does what this function
is doing.
2019-11-27 23:15:26 -05:00
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
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
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
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
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
tinyredpanda
fe9e7d5578
Prefer MessageBoxW to MessageBoxA
2019-11-23 13:56:05 +00: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
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
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
c8b8a60033
Android: Let WiimoteEmu know whether we have accelerometer/gyroscope
2019-11-20 20:13:36 +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
JosJuice
fe39e1e6d8
Merge pull request #8440 from rlnilsen/motion-input-tweaks
...
Motion Input enhancements
2019-11-15 14:08:45 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
JosJuice
f79ca65170
UICommon: Remove Android hacks from GameFile
2019-08-21 18:48:52 +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
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
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
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
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
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
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
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
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
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
booto
ac809c36e1
SI: Convert SIPOLL's lines value to half lines
...
SI represents polling sample rate in lines, not half lines. It needs to be
multiplied by 2 for VI, which uses half lines.
2019-07-08 23:07:34 -04:00
Lioncash
a9a9b193bb
Common/DebugInterface: Use forward declarations where applicable
...
We're allowed (by the standard) to forward declare types within
std::vector, so we can replace direct includes with forward declarations
and then include the types where they're directly needed.
While we're at it, we can remove an unused inclusion of <cstring>, given
nothing in the header uses anything from it. This also revealed an
indirect inclusion, which this also resolves.
2019-07-08 18:59:11 -04:00
Lioncash
98101bbbe4
Core: Use fmt where applicable for DebugInterface implementations
...
These are trivial enough that they're basically one-to-one conversions
with minor changes of syntax.
2019-07-08 18:52:59 -04:00
Lioncash
457bff92c1
Common/DebugInterface: Use u32 instead of unsigned int consistently
...
Previously u32 was being used for part of the interface and unsigned int
was being used for other parts. This makes the interface fully consistent by
using only one type.
We opt for u32 here given they communicate the same thing (for platforms
we care about where int is 32-bit), while also being less to read.
2019-07-08 18:52:45 -04:00
Lioncash
b1b9c6aa1e
Common/DebugInterface: Default virtual destructor
...
While we're at it, we can also default the constructor and destructor of
inheriting classes in their respective cpp file to prevent the
construction and destruction of non-trivial types being inlined into
other regions of code.
2019-07-08 17:44:58 -04:00
Lioncash
bc8778203e
Common/Watches: std::move strings where applicable
...
Allows calling code to move the std::string into the Watch instances,
avoiding copies.
2019-07-08 17:41:06 -04:00
JosJuice
f3579e788d
Show Dolphin version in render window title
...
This was in DolphinWX but not DolphinQt. It's useful for telling if
users who post screenshots have an up-to-date version of Dolphin.
The old implementation of this prepended the version in DolphinWX code
rather than Core code, but I thought it'd be simpler to do it in Core.
2019-07-08 15:03:00 +02:00
JosJuice
445759aed1
Mark "WASAPI (Exclusive Mode)" as translatable
...
While "WASAPI" doesn't need to be translated, "Exclusive Mode" does.
2019-07-07 18:22:22 +02:00
JMC47
398aa2a9f9
Merge pull request #8231 from JosJuice/debugger-hidden
...
DolphinQt: Don't update debug widgets when hidden
2019-07-07 07:35:06 -04:00
Tillmann Karras
da87638ea2
Fix GDB stub
2019-07-07 05:17:33 +01:00
JosJuice
92a655c8b9
DolphinQt: Don't update debug widgets when hidden
...
Saves on CPU usage when pausing/unpausing with the debugger disabled.
This is especially important when using frame advance rapidly.
2019-07-06 11:30:17 +02:00
spycrab
64de900da4
Qt/ControllersWindow: Fix radio buttons not getting disabled
...
Only happens if the controller window hasn't been opened before.
2019-07-05 16:50:37 +02:00
Lioncash
ce30efc6cf
Common/GekkoDisassembler: Don't print out '\0' as a character
...
Prevents a few instructions from having mangled names in some cases.
2019-07-03 20:12:50 -04:00
JosJuice
e24789b4fb
Add a hotkey for inserting/ejecting the SD card
2019-07-03 22:44:51 +02:00
Connor McLaughlin
0a7395bfba
Merge pull request #8128 from altimumdelta/FrameDumpUpgradePrep1
...
Code: Rename AVIDump to FrameDump
2019-06-30 21:13:19 +10:00
altimumdelta
1df655e376
VideoCommon: Rename AVIDump to FrameDump
2019-06-30 13:02:39 +02:00
Connor McLaughlin
0d2c3e6efc
Merge pull request #8219 from Pokechu22/float-watch
...
Show values as floats in watch
2019-06-30 11:34:29 +10:00
Pokechu22
ae0843f53d
Show values as floats in watch
2019-06-29 12:04:20 -07:00
Connor McLaughlin
e388f01e11
Merge pull request #8215 from CookiePLMonster/appverifier-sanitize
...
Fixed various errors spotted with Application Verifier
2019-06-30 01:27:25 +10:00
Connor McLaughlin
f151570b2d
Merge pull request #8118 from 8times9/move-windowontop
...
Qt/InterfacePane: Move "Keep Window on Top" to Render Window section
2019-06-30 00:46:12 +10:00
Connor McLaughlin
341ce45ed6
Merge pull request #8176 from VinDuv/handle-open-files
...
QtGui: Handle file open events
2019-06-29 22:22:46 +10:00
Connor McLaughlin
8a122de999
Merge pull request #8192 from Miksel12/qt-changes
...
Reorder graphics config
2019-06-29 22:21:53 +10:00
Léo Lam
a88deda307
Merge pull request #8193 from lioncash/disasm
...
Common/GekkoDisassembler: Minor changes
2019-06-29 10:38:36 +02:00
Léo Lam
0c626e6ebc
Merge pull request #8202 from lioncash/build
...
DolphinQt/CMakeLists: Leverage windeployqt for determining libraries and plugins to copy
2019-06-29 10:29:58 +02:00
Léo Lam
0dfff81a56
Merge pull request #8205 from Techjar/crop-fix
...
VideoCommon/RenderBase: Fix crop
2019-06-29 10:24:37 +02:00
Léo Lam
a9099fc96b
Merge pull request #8207 from lioncash/macro
...
VideoCommon/Statistics: Use std::array for projection values
2019-06-29 09:36:33 +02:00
Léo Lam
274b52acb2
Merge pull request #8216 from CookiePLMonster/cpu-override-tick-fix
...
Fix CPU Clock Override checkbox not updating with GameINI
2019-06-29 08:48:01 +02:00
Léo Lam
75b2b53be2
Merge pull request #8200 from randomstuff/detach_driver
...
Automatically detach/reattach bluetooth driver in passthrough
2019-06-29 08:46:59 +02:00
Shiz
e647503eb2
Core/HW/WiimoteReal: add missing Linux include
...
IOLinux.cpp should include <sys/select.h> as it uses select() functionality.
On certain platforms it's included implicitly by other headers, which is why
it compiled before. This makes it also work on musl platforms.
2019-06-29 02:17:58 +02:00
Léo Lam
58c78a495d
Merge pull request #8213 from JosJuice/filesystem-u8string
...
Work around C++20 std::filesystem changes related to u8string
2019-06-28 19:42:34 +02:00
Léo Lam
6fd435fdff
Merge pull request #8208 from lioncash/fmt
...
Core/IOS: Use fmt where applicable
2019-06-28 18:53:47 +02:00
Mike Kuijl
e50a6f4c46
Reorder graphics config
2019-06-26 21:59:47 +02:00
Léo Lam
e85fa26768
BTReal: Use FromThread::ANY for USB transfer replies
...
libusb transfer callbacks might be called immediately during transfer
submission in some cases. (libusb doesn't even specify what thread
the callback is invoked on.) In other words, it is possible to reach
the transfer callback from the CPU thread, and not just from the
USB event handling thread.
So CoreTiming::FromThread::NON_CPU is incorrect and should instead
be ANY.
2019-06-26 17:55:51 +02:00
Léo Lam
cf60a9a7f7
Use separate libusb contexts to avoid thread safety issues
...
Unfortunately, it appears that using libusb's synchronous transfer API
from several threads causes nasty race conditions in event handling and
can lead to deadlocks, despite the fact that libusb's synchronous API
is documented to be perfectly fine to use from several threads (only
the manual polling functionality is supposed to require special
precautions).
Since usbdk was the only real reason for using a single libusb context
and since usbdk (currently) has so many issues with Dolphin, I think
dropping support for it in order to fix other backends is acceptable.
2019-06-26 17:55:51 +02:00
Silent
09aadf0e9c
Fix CPU Clock Override checkbox not updating with GameINI - also bold it if it's overriden
2019-06-23 22:39:26 +02:00
Silent
9eab3feddf
Fix out of bounds read in HttpRequest::Impl::Fetch logging
2019-06-23 21:44:51 +02:00
Silent
6c21811090
Make DolphinAnalytics a true singleton - static local variables are initialized in a thread safe manner since C++11
...
Also works around a Visual Studio 2017 bug where static inline class fields are destructed multiple times
2019-06-23 21:43:47 +02:00
spycrab
dacba85a08
UpdaterCommon: Hide Updater before Dolphin quits
2019-06-23 19:47:18 +02:00
spycrab
396546f5c0
Config/ARCodeWidget: Add option for alphabetical sorting
2019-06-22 19:54:13 +02:00
spycrab
1d43d9afc1
Config/GeckoCodeWidget: Add option for alphabetical sorting
2019-06-22 19:54:13 +02:00
spycrab
93393a288c
Qt/ARCodeWidget: Support drag and drop reordering
2019-06-22 19:54:13 +02:00
spycrab
389351c6c0
Qt/GeckoCodeWidget: Support drag and drop reordering
2019-06-22 19:54:13 +02:00
JosJuice
c0a6fa5dcc
Work around C++20 std::filesystem changes related to u8string
2019-06-21 18:34:21 +02:00
spycrab
d68f62c0f5
Core/NetPlayServer: Fix empty error messages when adding session to the index fails
2019-06-20 20:55:38 +02:00
Anthony
84b9b37fef
Merge pull request #8210 from spycrab/httpreq_error_msg
...
Common/HttpRequest: Use CURLOPT_ERRORBUFFER for error messages
2019-06-20 10:59:25 -07:00
spycrab
ba4c1c5947
Common/HttpRequest: Use CURLOPT_ERRORBUFFER for error messages
2019-06-20 19:44:51 +02:00
JosJuice
63bb646721
Fix opening controller config when there is no profile directory
...
https://bugs.dolphin-emu.org/issues/11771
2019-06-20 18:35:14 +02:00
Lioncash
980085e106
Core/IOS: Use fmt where applicable
2019-06-20 11:50:02 -04:00
Lioncash
c1c5276729
VideoCommon/VertexShaderManager: Use std::array where applicable
...
We can use this to shorten up the initialization code a little bit.
Despite being saved to savestates, this is a non-breaking change.
2019-06-20 08:13:04 -04:00
Lioncash
2e74a4447a
VideoCommon/Statistics: Remove unused setter macros for statistics
...
Now that the floating point members are assigned in bulk, we can remove
their setter macro. While we're at it, we can also remove the setter for
unsigned int, given it's not used.
2019-06-20 08:06:23 -04:00
Lioncash
04c06ec661
VideoCommon/Statistics: Use std::array for projection values
...
Makes the members within the interface much nicer to look at, and also
makes copying them over much nicer too.
2019-06-20 08:06:20 -04:00
Léo Lam
3cafd0ae81
Merge pull request #8171 from Pokechu22/backend-changing-fix
...
Disallow changing the backend when running when software renderer is currently selected
2019-06-20 13:58:01 +02:00
Léo Lam
4edf174b61
Merge pull request #8180 from lioncash/fmt
...
Core/Movie: Use fmt where applicable
2019-06-20 13:56:15 +02:00
Léo Lam
973bba7c1e
Merge pull request #8191 from lioncash/ini
...
Common/IniFile: Use std::string_view where applicable
2019-06-20 13:44:20 +02:00
Léo Lam
4885130799
Merge pull request #8194 from lioncash/common-msg
...
Common/MsgHandler: Tidy up interface and namespace code
2019-06-20 13:37:24 +02:00
Léo Lam
baf02194c1
Merge pull request #8195 from lioncash/macro
...
VideoCommon/Statistics: Remove preprocessor macro
2019-06-20 13:29:27 +02:00
JosJuice
9c33f658a5
Simplify std::filesystem usage a little in Boot.cpp
...
If path_b is absolute, (path_a / path_b) will be the same as path_b.
2019-06-20 10:42:56 +02:00
JosJuice
fab15edb53
Replace <experimental/filesystem> includes with <filesystem>
...
https://bugs.dolphin-emu.org/issues/11770
2019-06-20 10:39:56 +02:00
Lioncash
4f1f55093f
Common/MsgHandler: Namespace code within the Common namespace
...
Closes another gap in the Common library where code isn't being
namespaced under it.
2019-06-19 16:03:55 -04:00
Lioncash
e7dd46a531
Common/MsgHandler: Brace if statement in MsgAlert
...
The condition travels more than one line, so the body should be braced.
While we're at it, make the comparison against nullptr explicit.
2019-06-19 16:03:33 -04:00
Lioncash
0eddf6dd8f
Common/MsgHandler: Use std::string's empty for emptiness checking in MsgAlert
...
Provides more straightforward code compared to negating a length check.
2019-06-19 16:00:16 -04:00
Techjar
08421db52f
VideoCommon/RenderBase: Fix crop
...
This fixes some mistakes from #8049 that caused crop to behave like
stretch and have a funny offset.
2019-06-18 18:34:13 -04:00
Léo Lam
ff96dc0e6f
Merge pull request #8199 from lioncash/namespace
...
General: Use nested namespace specifiers where applicable
2019-06-18 11:33:08 +02:00
Lioncash
4754ce8805
DolphinQt/CMakeLists: Leverage windeployqt for determining libraries and plugins to copy
...
We were doing quite a bit of unnecessary work within CMake to handle and
make sure the necessary libraries were copied over. That approach has
several downsides:
1. It's not possible to handle multi-configuration generators (like
Visual Studio) in an easy manner. The existing script would fail to
copy over the necessary libraries if one configuration was built, and
then another one was built.
2. If you have Qt already installed (properly) by the official binary,
the existing script would copy *all* dlls even if they weren't
necessary. This is pretty bad, since it can waste quite a bit of
space.
Instead, we can just delegate off to the official deployment application
bundled with Qt's libraries that determines what the necessary libraries
are and copies them over as necessary. This also means we can properly
support both release and debug binaries in the same directory, like how
the old handcrafted Visual Studio project files allowed.
2019-06-18 01:12:44 -04:00
Lioncash
e8fd834d8f
DolphinQt/CMakeLists: Collapse name setting code for Windows
...
Its sufficient to simply specify a debug postfix instead of using an
separate variable. What's nice about this approach is that it will
actually work :p
Previously the code wouldn't work for multi-configuration generators
like Visual Studio.
2019-06-18 01:12:41 -04:00
Gabriel Corona
70bca53ed6
Automatically detach/reattach bluetooth driver in passthrough
...
When the bluetooth adapter device is opened/closed by dolphin, the
kernel driver is automatically detached/reattached.
This enables transparent sharing of the same bluetooth wiimotes and
bluetooth adapters between the hosts system and the emulated one using
the same.
2019-06-18 00:49:58 +02:00
Lioncash
2714ba2b3d
UICommon: Add missing header guards
2019-06-17 18:39:44 -04:00
Lioncash
10f705f665
Core: Add missing header guards
2019-06-17 18:39:03 -04:00
Lioncash
c4def7c814
Common: Add missing header guards
2019-06-17 18:37:56 -04:00
Lioncash
72b04a353d
VideoBackends/Vulkan: Use nested namespace specifiers where applicable
2019-06-17 16:57:30 -04:00
Lioncash
ec60027f56
InputCommon: Use nested namespace specifiers where applicable
2019-06-17 16:51:41 -04:00
Lioncash
8e030a4a45
Common: Use nested namespace specifiers where applicable
2019-06-17 16:36:48 -04:00
Lioncash
32bacfa4bd
Core: Use nested namespace specifiers where applicable
...
Same thing, less visual noise.
2019-06-17 16:32:30 -04:00
Lioncash
5cafce3cc4
VideoCommon/Statistics: Amend imgui include
...
This is a library header, so it should be using '<' and '>' to delineate
that.
2019-06-17 02:37:02 -04:00
Lioncash
73710c0745
VideoCommon/Statistics: Remove unused header inclusions
...
These aren't used anywhere, so they can be removed.
2019-06-17 02:36:41 -04:00
Lioncash
6416fe336c
VideoCommon/Statistics: Replace memset with assignment in ResetFrame()
...
Same behavior, less code, and it doesn't require the type ThisFrame
itself to actually be a trivially-copyable type.
2019-06-17 02:27:36 -04:00
Lioncash
e981fa2073
VideoCommon/Statistics: Use ImGui::TextUnformatted() where applicable
...
ImGui::Text() assumes that the incoming text is intended to be
formatted, but we don't actually use it to format anything. We can be
explicit by using the relevant function.
This also has a plus of not needing to go through the formatter itself,
but the gains from that are probably minimal.
2019-06-17 02:27:26 -04:00
Lioncash
1c40fd8569
VideoCommon/Statistics: Replace DRAW_STAT macro with variadic lambda
...
We don't need to use the preprocessor here. We can just use a variadic
lambda function instead and forward the arguments to the formatting
function.
2019-06-17 02:26:25 -04:00
Lioncash
1968643297
Common/MsgHandler: Amend file-scope variable names
...
Makes them follow our coding style.
2019-06-16 23:37:03 -04:00
Lioncash
76b675e9f0
Common/MsgHandler: Make default message handler and translator's internally linked
...
Previously these functions were declared without the static specifier,
giving them external linkage, which isn't really ideal.
Instead, we can place these functions up by the relevant file-scope
variables and place them inside an anonymous namespace with said variables,
giving them internal linkage.
2019-06-16 23:37:03 -04:00
Lioncash
d1475f6d59
Common/MsgHandler: Convert type aliases over to using
...
Same thing, nicer to read.
2019-06-16 23:37:03 -04:00
Lioncash
027c17558f
Common/MsgHandler: Use fmt::print on non-Windows OSes
...
Provides the same behavior.
2019-06-16 23:37:00 -04:00
Lioncash
188234b4cd
Common/GekkoDisassembler: Use std::string_view where applicable
...
Avoids the use of the null pointer to represent an empty string.
Instead, we can simply pass an empty string_view instance. Using
std::string_view enforces this invariant at the API level.
2019-06-16 19:51:23 -04:00
Lioncash
d8c3f09c9f
Common/GekkoDisassembler: Amend disassembly of operations expecting a character literal
...
Due to the lack of cast here, this will actually print out the ascii
value, rather than the character itself, due to promoting to integral
values. Instead, we can eliminate the use of character operands and just
print the value itself directly, given it's equivalent behavior with
less code.
2019-06-16 19:33:28 -04:00
Lioncash
0cde8ab9e8
Common/GekkoDisassembler: Make all lookup tables immutable
...
Allows these arrays to be placed within the read-only segment (and
enforces the immutability in the code itself). While we're at it, we can
make use of std::array here.
2019-06-16 19:21:07 -04:00
Lioncash
78d1716251
Common/IniFile: Make use of std::string_view where applicable
...
Now that the std::map less-than comparitor is capable of being used with
heterogenous lookup, we're able to convert many of the querying
functions that took std::string references over to std::string_view.
Now these functions may be used without potentially allocating a
std::string instance unnecessarily.
2019-06-16 18:20:08 -04:00
Lioncash
de7e9557dc
Common/IniFile: Make CaseInsensitiveStringCompare usable with heterogenous lookup
...
Previously, when performing find() operations or indexing operations on
the section map, it would need to operate on a std::string key.
This means cases like:
map.find(some_string_view)
aren't usable, which kind of sucks, especially given for most cases, we
use regular string literals to perform operations in calling code.
However, since C++14, it's possible to use heterogenous lookup to avoid
needing to construct exact key types. In otherwords, we can perform the
above or use string literals without constructing a std::string instance
around them implicitly.
We simply need to specify a member type within our comparison struct
named is_transparent, to allow std::map to perform automatic type
deduction.
We also slightly alter the algorithm to an equivalent compatible with
std::string_view (which need not be null-terminated), as strcasecmp
requires null-terminated strings.
While we're at it, we can also provide a helper function to the struct
for comparing string equality rather than only less than. This allows
removing other usages of strcasecmp in other functions, allowing for the
transition of them to std::string_view.
2019-06-16 18:20:03 -04:00
Léo Lam
b3525ad774
Merge pull request #8186 from lioncash/view
...
{Common/SymbolDB, Core/HLE/HLE}: Make use of std::string_view where applicable
2019-06-16 16:20:02 +02:00
Léo Lam
1550c098d3
Merge pull request #8187 from lioncash/disasm
...
GekkoDisassmbler: Amend erroneous formatting specifiers
2019-06-16 16:19:30 +02:00
Lioncash
9952dfe293
GekkoDisassmbler: Amend erroneous formatting specifiers
...
fmt diverges from printf in that '.' as a precision specifier may only
be used for floating-point values (makes sense, given it's indicating
precision after the decimal point).
2019-06-16 02:05:16 -04:00
Lioncash
a3046fe807
Core/HLE/HLE: Use std::string_view where applicable
...
Now that SymbolDB's querying functions accept std::string_view
instances, we can alter the Patch/UnPatch HLE functions to follow suit.
2019-06-16 01:20:12 -04:00
Lioncash
936aa5dbaa
Common/SymbolDB: Use std::string_view where applicable
...
These strings are only used for comparison against other strings, so a
string view can be used here.
2019-06-16 01:10:02 -04:00
Techjar
7dc234a2d1
Qt/GCMemcardManager: Load configured memory cards by default
2019-06-15 23:36:47 -04:00
Techjar
56c818b3d8
VideoCommon/RenderBase: Reset scissor rectangle after ImGui rendering
...
This fixes the problem where OBS game capture only grabs the region
inside an ImGui window whenever one is open, when using the OpenGL
backend. Shouldn't have any negative effects, as the scissor would've
been something completely arbitrary anyways.
This may affect other capture software that uses the same hooking
method, but I've only tested OBS.
2019-06-15 07:12:17 -04:00
Vincent Duvert
2f63b71bde
QtGui: Handle file open events
...
Handle file open events received by Dolphin. This allows Wii/GC files to be
opened when double-clicked or dropped on the Dolphin application on macOS.
2019-06-15 11:27:29 +02:00
Lioncash
c64fe7df65
Core/Movie: Use fmt where applicable
...
In a few cases we needed to alter... less than ideal parameter types.
While u8 may have been OK with printf-style formatting, which promotes
most smaller types back to int, this won't work with fmt. fmt preserves
the type of the passed in arguments, meaning that u8, being an alias of
uint8_t (itself being an alias of unsigned char on all the platforms we
support), will print out as a character, not a numeric value.
As such, we amend some functions to operate on u32 values for two
reasons:
1. We actually want it to print out as a value
2. Arithmetic on unsigned types smaller than unsigned int will actually promote to an int,
not unsigned int. This is very non-obvious to some and makes for
error-prone code. < sizeof(int) types are great for storage, not so
much for performing unsigned arithmetic, despite the signedness of
the type.
2019-06-14 17:47:02 -04:00
Lioncash
7f93ce374d
Core/CMakeLists: Privately link in fmt
...
While we do have this library as part of the public linkage interface in
the common library target, which will be used in the future for the
logging macros, we should still be explicit that we're using this
library. Therefore, we privately link it in to be explicit about it.
2019-06-14 17:43:39 -04:00
Anthony
c34388f75b
Merge pull request #8157 from JosJuice/rotational-latency
...
HW/DI: Emulate rotational latency
2019-06-14 12:36:36 -07:00
Anthony
224f292224
Merge pull request #8130 from 8times9/more-text-fixes
...
Qt: Minor adjustments to graphics window descriptions
2019-06-14 12:30:27 -07:00
Anthony
dd3b678451
Merge pull request #8178 from leoetlino/less-sleep
...
DiscordHandler: Don't delay shutdown by up to 2s
2019-06-14 12:28:13 -07:00
Lioncash
5b92d5076a
Common: Use fmt where applicable
...
Begins the transition to using fmt for string formatting where
applicable. Given fmt supports formatting std::string instances out of
the box, we can remove now-unnecessary calls to .c_str() and .data().
Note that this change does not touch the actual logging subsystem aside
from converting the final StringFromFormat call in the process over to
fmt::format. Given our logging system is heavily used throughout the
entire codebase, and converting that over will be quite a large change
by itself, this will be tackled near the end of the conversion process.
2019-06-14 15:04:09 -04:00
8times9
f1dde9fee0
Qt: Minor adjustments to graphics window descriptions
2019-06-14 15:58:16 +02:00
Léo Lam
59155b4d5e
Merge pull request #8150 from lioncash/kbd
...
IOS/USB_KBD: Minor cleanup
2019-06-14 15:25:10 +02:00
Léo Lam
3b7a7ae2e7
Merge pull request #8155 from Techjar/dtm-get-origin
...
Core/Movie: Store PAD_GET_ORIGIN bit in ControllerState
2019-06-14 15:13:43 +02:00
Léo Lam
e2d59abaa7
Merge pull request #8173 from lioncash/fmt
...
Externals: Add libfmt to externals
2019-06-14 14:47:22 +02:00
Léo Lam
a6f4cb1647
DiscordHandler: Don't delay shutdown by up to 2s
...
Currently, it is possible for the DiscordHandler thread to be in the
middle of sleeping when Dolphin is closing. This results in a very
noticeable delay of up to 2 seconds that is unacceptable, especially
for people who don't use the Discord integration.
This fixes the issue by making the thread wait on an Event instead
and signalling it when shutting down.
2019-06-13 23:34:25 +02:00
Léo Lam
79ea55c912
Merge pull request #8169 from lioncash/fallthrough
...
Core/GeckoCodeConfig: Use the [[fallthrough]] attribute in LoadCodes()
2019-06-13 13:36:32 +02:00
Lioncash
d52e69bab1
Common/CMakeLists: Link in fmt
...
While not currently used by common, this will become the case when the
logging system eventually transitions to it, among other things.
2019-06-10 15:26:46 -04:00
Matthew Foulds
c62570c527
Added key for relative input
2019-06-10 13:23:16 +01:00
Pokechu22
adfbbe3a02
Disallow changing the backend when running when software renderer is currently selected
...
It already is disabled for other backends, but this didn't happen with the software renderer. Attempting to change it while running causes the change to visually happen (including switching to the normal render settings UI instead of the barren one for the software renderer), but doesn't actually change the backend itself (it'll still use the software renderer at the next launch).
2019-06-08 16:25:27 -07:00
Lioncash
92b445618a
VideoCommon/DriverDetails: Make look-up table immutable
...
Previously, this array potentially wouldn't be placed within the
read-only segment, since it wasn't marked const. We can make the lookup
table const, along with any other nearby variables.
2019-06-08 18:06:36 -04:00
Lioncash
632b953ebf
Core/GeckoCodeConfig: Use the [[fallthrough]] attribute in LoadCodes()
...
Makes it explicit that this fallthrough is intentional.
2019-06-08 17:55:01 -04:00
Léo Lam
d927cd2b03
Merge pull request #8162 from lioncash/label
...
DSP/LabelMap: C++17 transitional changes/cleanup
2019-06-08 18:16:20 +02:00
Connor McLaughlin
951b66e4ac
Merge pull request #8049 from stenzek/crop
...
Renderer: Adjust source rectangle when crop would draw off screen
2019-06-08 20:57:52 +10:00
Connor McLaughlin
b13e00b003
Merge pull request #8165 from lioncash/linkage
...
{Android/ButtonManager, ResourcePack/Manager}: Make file-scope variables/functions internally linked where applicable
2019-06-08 20:56:13 +10:00
Connor McLaughlin
ab66e91766
Merge pull request #8134 from JosJuice/filesystem-string-view
...
DiscIO: Use std::string_view in FileSystem::FindFileInfo
2019-06-08 20:52:34 +10:00
Connor McLaughlin
bed2d66bed
Merge pull request #8117 from weihuoya/threaded_env
...
android: get java env from thread local storage
2019-06-08 20:42:15 +10:00
Connor McLaughlin
5a4e2a6b2f
Merge pull request #7734 from stenzek/mojave-warning
...
Vulkan: Display a warning when using MoltenVK on HS and earlier
2019-06-08 20:41:39 +10:00
Stenzek
3f1586dbce
Vulkan: Display a warning when using MoltenVK on HS and earlier
2019-06-08 20:16:24 +10:00
Stenzek
1028e2c1a6
D3D12: Remove unnecessary includes in DXContext.h
2019-06-08 20:12:15 +10:00
Stenzek
9316e25652
D3DCommon: Fallback to base CreateSwapChain on failure
...
It appears that some older drivers do not support
CreateSwapChainForHwnd, resulting in DXGI_ERROR_INVALID_CALL. For these
cases, fall back to the base CreateSwapChain() from DXGI 1.0.
In theory this should also let us run on Win7 without the platform
update, but in reality we require the newer shader compiler so this
probably won't work regardless. Also any hardware of this vintage is
unlikely to run Dolphin well.
2019-06-08 20:11:49 +10:00
Connor McLaughlin
0177c6c2c7
Merge pull request #8146 from Techjar/netplay-network-opts
...
Qt/NetPlayDialog: Change network mode options to radio buttons
2019-06-08 20:05:35 +10:00
Connor McLaughlin
6b4ca318c9
Merge pull request #8139 from lioncash/const
...
VideoCommon/PixelShaderGen: Make look-up table arrays immutable where applicable
2019-06-08 20:03:02 +10:00
Connor McLaughlin
67a9fc6784
Merge pull request #8163 from lioncash/config
...
Core/ConfigManager: Use forward declarations where applicable
2019-06-08 20:01:15 +10:00
Connor McLaughlin
b7fba95cdf
Merge pull request #8166 from lioncash/mbedtls
...
Externals: Update mbedTLS from 2.1.1 to 2.16.1
2019-06-08 19:58:37 +10:00
JosJuice
7fcc3dd605
DolphinQt: Don't leave Export Recording disabled always
2019-06-08 08:39:12 +02:00
Lioncash
5512876842
General: Migrate from deprecated mbedTLS functions
...
As indicated by mbedTLS' documentation, all of the relevant functions
have been superseded by _ret-suffixed variants in mbedTLS version
2.7.0.
2019-06-07 22:51:58 -04:00
Lioncash
eb15a52fd5
UICommon/ResourcePack/Manager: Make GetPackConfig() internally linked
...
Silences a -Wmissing-declarations warning.
2019-06-07 20:27:27 -04:00
Lioncash
c0c0e412e0
Core/ConfigManager: Use forward declarations where applicable
...
Avoids dragging in IniFile, EXI device and SI device headers in this header which is
quite widely used throughout the codebase.
This also uncovered a few cases where indirect inclusions were being
relied upon, which this also fixes.
2019-06-07 19:54:39 -04:00
Lioncash
6e9329455c
DSP/LabelMap: std::move std::string instances where applicable
...
We can std::move the std::string parameter in Label's constructor,
allowing the constructor to be moved into in calling code.
We can cascade this outwards in the interface as well.
2019-06-07 17:42:10 -04:00
Lioncash
32427af79e
DSP/LabelMap: Make label_t's definition hidden
...
Given this is a private struct and it's used in a container that
supports incomplete types, we can forward-declare it and move it into
the cpp file. While we're at it, we can change the name to Label to
follow our formatting guidelines.
2019-06-07 17:37:48 -04:00
Lioncash
a3ed4ceec5
DSP/LabelMap: Use std::optional with GetLabelValue()
...
Rather than use a bool and out parameter, we can collapse them into one
by using a std::optional.
2019-06-07 17:26:24 -04:00
Lioncash
747128b093
DSP/LabelMap: Collapse DeleteLabel loop into std::find_if
...
Same thing, no explicit loops.
2019-06-07 17:13:10 -04:00
Lioncash
98ec2ab2ac
DSP/LabelMap: Default constructor and destructor
...
We also move the destructor definition into the cpp file, as that will
allow us to make the entire label_t type hidden from external view in a
following change.
2019-06-07 17:07:06 -04:00
Lioncash
0a1249ea40
DSP/LabelMap: Amend class formatting
...
Places the most important stuff, the public interface first.
2019-06-07 17:05:25 -04:00
Lioncash
60d10d2813
Core/DSP/DSPTables: Make FindOpInfoByName/FindExtOpInfoByName use std::string_view
...
These functions only ever compare against another string, so these can
have their parameters turned into std::string_view to make them more
flexible.
2019-06-06 12:22:02 -04:00
Léo Lam
3f4952d57c
Merge pull request #8152 from lioncash/array-size
...
Common/CommonFuncs: Remove now-unneccessary ArraySize function
2019-06-06 13:35:57 +02:00
Léo Lam
824ec84e82
Merge pull request #8154 from lioncash/analytics
...
{Common/Analytics, Core/Analytics}: Minor C++17 transitional changes
2019-06-06 13:25:17 +02:00
booto
37919144c8
SI_DeviceGCAdapter: Stop it being detected as a steering wheel
2019-06-05 23:31:48 -04:00
Sintendo
e9d4869965
Jit64AsmCommon: Micro-optimize GenFrsqrte
...
Save 2 bytes by testing register against itself and branching on the
sign flag.
Before:
0: 48 0f ba e0 3f bt rax,0x3f
After:
0: 48 85 c0 test rax,rax
2019-06-05 23:58:44 +02:00
Sintendo
5b5886160e
DSPJitArithmetic: Precompute addis immediate
...
Compute immediate value at compile time.
2019-06-05 23:36:30 +02:00
Sintendo
3951d238d9
DSPJitArithmetic: Precompute addi immediate
...
Compute immediate value at compile time.
2019-06-05 23:36:14 +02:00
Sintendo
a3744c3c26
DSPJitUtil: Use round_long_acc in get_long_prod_round_prodl
...
Identical, except that this used a temporary register as scratch instead
of RCX. round_long_acc now no longer needs scratch, so we can
deduplicate the logic.
2019-06-05 23:33:02 +02:00
Sintendo
832e320f08
DSPJitUtil: Make round_long_acc branchless
...
Also no longer clobbers RCX.
2019-06-05 23:25:39 +02:00
Sintendo
9b6f2859a4
DSPJitUtil: Micro-optimize increment_addr_reg
...
2 bytes shorter.
Before:
0: 41 0f b7 c2 movzx eax,r10w
4: 41 89 c5 mov r13d,eax
7: 83 c0 01 add eax,0x1
After:
0: 45 0f b7 ea movzx r13d,r10w
4: 41 8d 45 01 lea eax,[r13+0x1]
2019-06-05 23:23:22 +02:00
JosJuice
3ab74f8cb7
HW/DI: Emulate rotational latency
...
This aims to emulate rotational latency as part of the disc drive
timings, which makes loading times have more variance (like on a
real disc drive) but should not affect the average loading times.
2019-06-05 20:47:08 +02:00
Lioncash
e59f72739a
Core/Analytics: Turn analytics URL into a C-string
...
Less reading and also doesn't store an unnecessary pointer value in the
executable, making it smaller by 8 bytes.
2019-06-05 13:24:35 -04:00
Lioncash
ea9f887170
Core/Analytics: Use inline on static member variables
...
Starting with C++17, this allows for the same behavior as the existing
code, but without the need to manually write the out-of-class
definitions as well.
2019-06-05 13:24:35 -04:00
Lioncash
ebf3de4d93
Core/Analytics: Use std::lock_guard deduction guides
...
Starting with C++17, the type of the mutex being locked no longer needs
to be hardcoded into the type declaration.
2019-06-05 13:24:35 -04:00
Lioncash
57454e90a7
Core/Analytics: Make MakeUniqueId() a const member function
...
This function doesn't modify instance state, so we can mark it as const.
2019-06-05 13:24:34 -04:00
Lioncash
a5caa95a4b
Core/Analytics: Use std::string_view where applicable
...
In these cases, the strings are treated as views anyways, so we can use
them here to avoid potential allocations.
2019-06-05 13:24:34 -04:00
Lioncash
2c2b9690bb
Core/Analytics: Simplify static_assert
...
We can just use a std::array here to simplify the size calculation.
2019-06-05 13:24:34 -04:00
Lioncash
7935c27b52
Common/Analytics: Convert std::string overload into std::string_view
...
Allows for both string types to be non-allocating. We can't remove the
const char* overload in this case due to the fact that pointers can
implicitly convert to bool, so if we removed the overload all const
char arrays passed in would begin executing the bool overload instead of
the string_view overload, which is definitely not what we want to occur.
2019-06-05 13:24:31 -04:00
spycrab
78e566aaa5
Merge pull request #8156 from 8times9/resourcepack-header
...
Qt/ResourcePackManager: Remove column header bold text
2019-06-05 14:27:39 +02:00
Techjar
5f3bf405d4
Core/Movie: Store PAD_GET_ORIGIN bit in ControllerState
...
This fixes the desync on playback of start-from-boot input recordings
made while using the GC adapter, as well as other desyncs that could
potentially occur in other circumstances where this bit is used.
I used a previously reserved bit in the ControllerState to store the
new data, so this shouldn't significantly break backwards
compatibility. However, tools that aren't aware of this new bit may set
it to 0, which will break input recordings that contain it.
2019-06-05 02:36:23 -04:00
8times9
ffb8f56a83
Qt/ResourcePackManager: Remove column header bold text
2019-06-04 19:13:39 -05:00
Lioncash
58e2cd5486
Common/Analytics: std::move std::string constructor parameter
...
Allows calling code to move into the constructor, avoiding the creation
of another string copy.
2019-06-03 20:13:00 -04:00
Lioncash
f813c4951a
Common/Analytics: Use deduction guides for std::lock_guard
...
Avoids needing to hardcode the type of mutex. We can also make use of
scoped_lock where two consecutive lock_guard instances are used.
2019-06-03 20:12:55 -04:00
Lioncash
6df65d7a5d
Common/Analytics: Default AnalyticsReportingBackend()'s destructor
...
Stays consistent with AnalyticsReportBuilder.
2019-06-03 18:27:45 -04:00
Tillmann Karras
84e3391535
Mark files as non-executable
2019-06-02 12:31:40 +01:00
Lioncash
a9663669dc
Common/CommonFuncs: Remove now-unneccessary ArraySize function
...
Since C++17, non-member std::size() is present in the standard library
which also operates on regular C arrays. Given that, we can just replace
usages of ArraySize with that where applicable.
In many cases, we can just change the actual C array ArraySize() was
called on into a std::array and just use its .size() member function
instead.
In some other cases, we can collapse the loops they were used in, into a
ranged-for loop, eliminating the need for en explicit bounds query.
2019-06-01 10:07:57 -04:00
Lioncash
c8b950e716
IOS/USB_KBD: Normalize variable names
...
Now, with all of the tidying done, we can cap it off by normalizing
variable names to abide by our code formatting guidelines.
2019-05-31 09:05:31 -04:00
Lioncash
7f5ca64c4d
IOS/USB_KBD: Make the message type enum an enum class
...
Avoids polluting the surrounding scope with enum values. We can also
make use of it in MessageData's constructor to enforce proper type
passing.
2019-05-31 09:00:08 -04:00
Lioncash
d89ea8bf41
IOS/USB_KBD: Make IsKeyPressed() a non-virtual const member function
...
No other class inherits the USB_KBD class, and this function doesn't
actually modify instance state, so it can be made a const member
function.
2019-05-31 08:51:46 -04:00
Lioncash
bcdc5b5f7e
IOS/USB_KBD: Add static assertion to enforce MessageData as trivially copyable
...
MessageData must be a trivially copyable type, given it's copied into
emulated memory via our memory copy function CopyToEmu. Under the
covers, this function utilizes memcpy. One of memcpy's requirements is
that pointers to it point to types that are trivially copyable,
otherwise the behavior is undefined.
Given that, we can enforce this requirement at compile-time.
2019-05-31 08:51:46 -04:00
Lioncash
e0552e0642
IOS/USB_KBD: Rename SMessageData to MessageData
...
We don't need to prefix this with S to signify that it's a struct.
2019-05-31 08:51:43 -04:00
Lioncash
cc54652fb3
IOS/USB_KBD: Migrate TODO comment above if statement
...
Prevents some wonky formatting from occurring.
2019-05-31 08:51:01 -04:00
Lioncash
e8cc1b8d8a
IOS/USB_KBD: Use std::array for member variables where applicable
...
Simplifies initialization code quite a bit, and replaces a pointer
variable for SMessageData with a type properly representing the whole
set of data it needs.
2019-05-31 08:50:58 -04:00
Léo Lam
a4837a5c5d
Merge pull request #8143 from lioncash/loader
...
VertexLoader_*: Minor cleanup
2019-05-31 14:18:16 +02:00
Léo Lam
eed4fcc218
Merge pull request #8135 from lioncash/cmake
...
CMakeLists: Specify header files in target sources
2019-05-31 14:03:12 +02:00
Lioncash
64564e337b
IOS/USB_KBD: Make key code lookup tables immutable and internally linked
...
These aren't modified by the class, nor do they directly need anything
related to the class state, so they can solely live within the cpp file,
hidden from external view, and also be made const, so the compiler can
place it within the read-only segment.
2019-05-31 08:02:29 -04:00
Léo Lam
2cb59ab055
Merge pull request #8148 from lioncash/view
...
AudioCommon: Use std::string_view with feature querying functions
2019-05-31 14:01:15 +02:00
Léo Lam
478f359d8d
Merge pull request #8149 from lioncash/sdio
...
IOS/SDIOSlot0: Remove unimplemented prototype
2019-05-31 13:58:54 +02:00
Lioncash
2060390a9f
IOS/SDIOSlot0: Tidy up parameter names of ExecuteCommand
...
Makes the names consistent between declaration and definition and
adjusts them to follow our code formatting guidelines.
Now all functions in the translation unit follow our formatting
guidelines.
2019-05-31 07:28:11 -04:00
Lioncash
61c25b3d23
IOS/SDIOSlot0: Remove unimplemented prototype
...
This function doesn't have an implementation, so we can remove it to
make for less reading (and a linker error waiting to happen).
2019-05-31 07:23:40 -04:00
Lioncash
78e96230b2
AudioCommon: Move static locals into the AudioCommon namespace
...
Given these are locals, they can be moved out of the global namespace.
While we're at it, turn the constants below it into constexpr variables.
2019-05-31 07:07:16 -04:00
Lioncash
15397e2a89
AudioCommon: Use emplace_back instead of push_back in GetSoundBackends()
...
Constructs the strings directly within the container instead of
performing a construction, then a copy.
The reasoning is that the BACKEND_* strings are const char arrays, so
the push_back code is equivalent to:
push_back(std::string(BACKEND_WHATEVER)) instead of forwarding the
arguments to a constructed instance directly in the container.
2019-05-31 07:03:54 -04:00
Lioncash
1a56e9d9e0
AudioCommon: Use std::string_view with feature querying functions
...
Provides the same behavior, but allows passed in strings to be
non-allocating in calling code.
2019-05-31 07:01:47 -04:00
Lioncash
3d27439d9a
VideoCommon/CMakeLists: Specify headers in target sources
2019-05-31 06:54:26 -04:00
Lioncash
a41ba68c1e
VideoVulkan/CMakeLists: Specify headers in target sources
2019-05-31 06:54:26 -04:00
Lioncash
cd9281772a
VideoSoftware/CMakeLists: Specify headers in target sources
2019-05-31 06:54:26 -04:00
Lioncash
115e7992c5
VideoOGL/CMakeLists: Specify headers in target sources
2019-05-31 06:54:26 -04:00
Lioncash
968d379cc4
VideoNull/CMakeLists: Specify headers in target sources
2019-05-31 06:54:26 -04:00
Lioncash
87a57a5584
UpdaterCommon/CMakeLists: Specify headers in target sources
2019-05-31 06:54:26 -04:00
Lioncash
4cdb493eab
UICommon/CMakeLists: Specify headers in target sources
2019-05-31 06:54:25 -04:00
Lioncash
24f5acf9a5
InputCommon/CMakeLists: Specify headers in target sources
2019-05-31 06:54:25 -04:00
Lioncash
b453229a68
DolphinQt/CMakeLists: Specify headers in target sources
2019-05-31 06:54:25 -04:00
Lioncash
0c538ef523
DolphinNoGUI/CMakeLists: Specify headers in target sources
2019-05-31 06:54:25 -04:00
Lioncash
cbcafd6830
DiscIO/CMakeLists: Specify headers in target sources
2019-05-31 06:54:25 -04:00
Lioncash
cd351fd478
Core/CMakeLists: Specify headers in target sources
2019-05-31 06:54:24 -04:00
Lioncash
b6d9b85293
AudioCommon/CMakeLists: Specify headers in target sources
2019-05-31 06:52:44 -04:00
Lioncash
48b82e82db
Common/CMakeLists: Specify headers alongside source files
...
Allows these files to show up as part of the project when generating IDE
builds from CMake.
2019-05-31 06:52:44 -04:00
Léo Lam
5ffbec6956
Merge pull request #8144 from lioncash/tie
...
Common/x64Emitter: Resolve TODO in OpArg's operator==
2019-05-31 11:05:33 +02:00
booto
bc8a4f99c7
VideoCommon: Constrain the array_base registers
...
The array_base registers as part of CP state do not seem to incorporate
the upper bits in the physical address they try to access.
2019-05-31 03:22:00 -04:00
Techjar
b0b4b69d6e
Qt/NetPlayDialog: Change network mode options to radio buttons
...
This changes the Host Input Authority and Golf Mode checkboxes into a
set of radio buttons, consisting of Fair Input Delay, Host Input
Authority, and Golf Mode. This represents the 3 network modes we have.
Although Golf Mode is just an extension of Host Input Authority, it's
more logical to the user to present it as a separate option, rather
than enabling the Golf Mode checkbox only when Host Input Authority is
enabled. This also eliminates the need to first enable Host Input
Authority before Golf Mode can be enabled.
This also adds tooltips to provide brief descriptions of the options,
as well as reintroducing tooltips that were previously removed.
2019-05-31 02:33:41 -04:00
booto
c1baffa776
ARAM: further cleanup, use AddressSpace accessors
2019-05-30 21:46:18 -04:00
Techjar
199486ffb6
Qt/NetPlayDialog: Move settings loading into LoadSettings
2019-05-30 18:07:03 -04:00
Techjar
cd3ba570df
VideoCommon/ShaderGenCommon: Fix memcmp size in ShaderUid operators
2019-05-30 16:00:46 -04:00
Lioncash
2452747429
VertexLoader_TextCoord: Tidy up public function definitions
...
We can use u32 instead of unsigned int to shorten up these definitions
and make them much nicer to read.
While we're at it, change the size array to house u32 elements
to match the return value of the function.
2019-05-30 10:29:51 -04:00
Lioncash
9569c79ca2
VertexLoader_TextCoord: Make lookup tables immutable
...
Allows the compiler to place the data within the read-only segment.
2019-05-30 10:29:50 -04:00
Lioncash
16a03bade2
VertexLoader_TextCoord: Place helper functions in anonymous namespace
...
Gives them all internal linkage.
2019-05-30 10:29:50 -04:00
Lioncash
6f656b7219
VertexLoader_Position: Tidy up public function definitions
...
We can use u32 instead of unsigned int to shorten up these definitions
and make them much nicer to read.
While we're at it, change the size array to house u32 elements to match
the return value of the function.
2019-05-30 10:29:50 -04:00
Lioncash
14e544eef8
VertexLoader_Position: Make lookup tables immutable
...
Allows the compiler to place these arrays within the read-only segment.
2019-05-30 10:29:50 -04:00
Lioncash
be9a03b35f
VertexLoader_Position: Place helper functions in anonymous namespace
2019-05-30 10:29:50 -04:00
Lioncash
60a1d0593c
VertexLoader_Color: Place helper functions in anonymous namespace
...
While we're at it, convert the define into a constexpr variable.
2019-05-30 10:29:47 -04:00
Lioncash
66596c5176
Common/x64Emitter: Resolve TODO in OpArg's operator==
...
We now require C++17, so we can use std::tie here.
2019-05-30 10:27:28 -04:00
Léo Lam
00ecfb3c59
Merge pull request #8138 from lioncash/input-string
...
ControllerInterface/Device: Minor cleanup
2019-05-30 14:33:53 +02:00
Léo Lam
4e7a790648
Merge pull request #8140 from lioncash/vertex
...
VideoCommon/VertexLoader_Normal: Construct look-up table at compile-time
2019-05-30 14:28:59 +02:00
Léo Lam
90c9991086
Merge pull request #8141 from lioncash/init
...
VideoCommon/ShaderGenCommon: Simplify initialization of ShaderUid class
2019-05-30 14:15:02 +02:00
Léo Lam
2ce587f781
Merge pull request #8142 from lioncash/shader-view
...
VideoCommon/RenderBase: Use std::string_view with CreateShaderFromSource()
2019-05-30 14:12:18 +02:00
Lioncash
f7eff6dab8
VideoCommon/ShaderGenCommon: Simplify operator!= for ShaderUid
...
This can be implemented as the negation of operator==, placing the
comparison logic for equality and inequality in the same place.
2019-05-30 06:41:57 -04:00
Lioncash
954246d10e
VideoCommon/ShaderGenCommon: Remove use of a union within ShaderUid
...
This is only ever used to retrieve a raw view of the given UID data
structure, however it's already valid C++ to retrieve a char/unsigned
char view of an object for bytewise inspection.
u8 maps to unsigned char on all platforms we support, so we can just do
this directly with a reinterpret cast, simplifying the overall
interface.
2019-05-30 06:41:57 -04:00
Lioncash
149a97e396
VideoCommon: Remove unnecessary memset on ShaderUid instances.
...
Zero-initialization zeroes out all members and padding bits, so this is
safe to do. While we're at it, also add static assertions that enforce
the necessary requirements of a UID type explicitly within the ShaderUid
class.
This way, we can remove several memset calls around the shader
generation code that makes sure the underlying UID data is zeroed out.
Now our ShaderUid class enforces this for us, so we don't need to care about
it at the usage sites.
2019-05-30 06:41:54 -04:00
Lioncash
1831dcbe6f
VideoVulkan/ShaderCompiler: Use non-member std::size instead of ArraySize()
...
Now that we're on C++17, we can use its non-member std::size function
instead of ours. This provides no functional change.
2019-05-30 04:16:20 -04:00
Lioncash
d6a60050ff
VideoVulkan/ShaderCompiler: Use a std::optional instead of bool+out variable
...
Now that we utilize C++17, we can simply return an optional containing
the code instead of using an out variable and a boolean result,
essentially combining them into one.
This provides a much more straightforward interface.
2019-05-30 04:16:17 -04:00
Lioncash
e60268bd42
VideoCommon/RenderBase: Use a std::string_view with CreateShaderFromSource()
...
Greatly simplifies the overall interface when it comes to compiling
shaders. Also allows getting rid of a std::string overload of the same
name. Now std::string and const char* both go through the same function.
2019-05-30 03:29:35 -04:00
Lioncash
0084aeb5d7
VideoCommon/VertexLoader_Normal: Use variable template variants of type traits
...
Same thing, less reading.
2019-05-30 00:52:59 -04:00
Lioncash
8268b6f454
VideoCommon/VertexLoader_Normal: Initialize function table at compile-time
...
Makes VertexLoader_Normal completely stateless, eliminating the need for
an Init() function, and by extension, also gets rid of the need for the
FifoAnalyzer to have an Init() function.
2019-05-30 00:52:57 -04:00
Lioncash
911755242d
VideoCommon/VertexLoader_Normal: Remove E prefix from enums
...
This is old formatting that used to be used prior to the coding style
being introduced.
2019-05-29 22:15:46 -04:00
Lioncash
3b8fb22d93
VideoCommon/VertexLoader_Normal: Tidy up function declarations
...
We can use u32 to shorten up the function declarations. While we're at
it, remove unnecessary comments. These don't help with understanding.
2019-05-29 22:13:20 -04:00
Lioncash
8537f8e095
VideoCommon/PixelShaderGen: Fix up wonky comment formatting
...
This is likely a remnant of the initial transition to clang-format.
2019-05-29 22:03:02 -04:00
Lioncash
45934dd0c5
VideoCommon/PixelShaderGen: Make arrays immutable
...
Many of the arrays defined within this file weren't declared as
immutable, which can inhibit the strings being put into the read-only
segment. We can declare them constexpr to make them immutable.
While we're at it, we can use std::array, to allow bounds conditional
bounds checking with standard libraries. The declarations can also be
shortened in the future when all platform toolchain versions we use
support std::array deduction guides. Currently macOS and FreeBSD
builders fail on them.
2019-05-29 22:00:58 -04:00
Lioncash
e28d08e973
VideoCommon/PixelShaderGen: Brace control structures that travel more than one line
...
Them's the code formatting rules.
2019-05-29 20:16:41 -04:00
Lioncash
0263435050
ControllerInterface/Device: Make DetectInput() a const member function
...
This doesn't actually modify object instance state, so it can be made
const.
2019-05-29 19:23:54 -04:00
Lioncash
27346fee8a
ControllerInterface/Device: Take vector by const reference in DetectInput()
...
The vector is only ever queryied and it's contents aren't modified, so
there's no reason to take the vector by value. We can take a constant
reference to it to avoid unnecessary allocating.
2019-05-29 19:12:21 -04:00
Lioncash
246e2a77ce
ControllerInterface/Device: std::move strings in constructor where applicable
...
Allows callers to move std::string values into the constructor,
potentially avoiding copies.
2019-05-29 18:46:49 -04:00
Lioncash
1355b43fd2
ControllerInterface/Device: Use std::string_view where applicable
...
In these cases, the given string is only ever compared against other
string, so std::string can be turned into a std::string_view to allow
non-allocating inputs.
2019-05-29 18:42:24 -04:00
Vincent Duvert
2c3c8bbb90
GCAdapter: Update Android-specific source
...
Fix the Android version of GCAdapter.cpp so it matches the new definitions in GCAdapter.h.
2019-05-29 18:28:24 +02:00
Vincent Duvert
9e7d4d2abb
GCAdapter: Handle dynamic status updates for non-hotplug libusb
...
Detect when the setup function found no adapter, or found one but could
not connect to it, and report the new status in that case.
2019-05-29 18:28:24 +02:00
Vincent Duvert
2ac1ca133f
GCPadWiiUConfigDialog: Update the adapter state dynamically
...
Update the GC adapter config GUI if the adapter is plugged or unplugged.
2019-05-29 18:28:24 +02:00
Vincent Duvert
b08e2ec959
GCAdapter: Report libusb open errors to the user
...
If opening the adapter fails, report the libusb error message in the GUI
instead of “No Adapter Detected”.
The error condition is removed when the adapter is unplugged.
2019-05-29 18:28:24 +02:00
Vincent Duvert
0165e5e703
GCAdapter: Close libusb handle if an open error occurs
...
The handle was previously kept open, which was causing future adapter
plug/unplug events to be ignored.
2019-05-29 18:28:24 +02:00
Léo Lam
80d8173d29
Merge pull request #8132 from lioncash/string
...
Common/FileUtil: Use std::string_view with WriteStringToFile
2019-05-29 15:32:18 +02:00
JosJuice
f25367a7a2
DiscIO: Avoid copies when comparing FileSystemGCWii file names
2019-05-29 14:53:39 +02:00
weihuoya
0dec8feadb
android: thread local env
2019-05-29 20:22:26 +08:00
Léo
aca46b11f8
Merge pull request #8070 from leoetlino/usb-fixes
...
Update and patch libusb to fix USB issues
2019-05-29 14:07:19 +02:00
Léo Lam
918d707f3f
Merge pull request #8131 from lioncash/move
...
UICommon/ResourcePack/Manager: Resolve use-after-move in Add()
2019-05-29 13:24:08 +02:00
Léo Lam
0cfdcf436d
Merge pull request #8136 from lioncash/arglist
...
VideoCommon/{NetPlayChatUI/NetPlayGolfUI}: Minor changes
2019-05-29 13:18:03 +02:00
Lioncash
7346679986
Common/FileUtil: Use std::string::data within ReadFileToString
...
With C++17, .data() for std::string now has a non-const overload, so we
can make use of that instead of taking the address of the first element.
2019-05-29 07:06:56 -04:00
Lioncash
c0f499b7f7
Common/FileUtil: Use std::string_view with WriteStringToFile
...
Allows writing out other forms of strings (e.g. C strings) without the
need to allocate a std::string and discard it after use.
2019-05-29 07:06:56 -04:00
Lioncash
eb475025b8
Common/FileUtil: Make WriteStringToFile consistent with ReadFileToString
...
Makes the parameter ordering consistent and less error-prone.
2019-05-29 07:06:53 -04:00
Lioncash
1a0f8e7804
VideoCommon/VertexLoaderX64: Add missing header guard
2019-05-29 06:35:22 -04:00
Lioncash
778623c48c
VideoCommon/NetPlayGolfUI: Remove unused header
...
This header doesn't actually make use of any std::string facilities.
2019-05-29 06:20:57 -04:00
Lioncash
cf0f2bbf1d
VideoCommon/NetPlayGolfUI: Default the destructor in the cpp file
...
Ensures the destruction logic is kept local to the translation unit. It
also doesn't really do much to have it specified in the header.
2019-05-29 06:20:05 -04:00
Lioncash
0fabab0760
VideoCommon/NetPlayGolfUI: Initialize netplay_client in the constructor initializer list
2019-05-29 06:20:05 -04:00
Lioncash
c958fc1278
VideoCommon/NetPlayChatUI: Default destructor in the cpp file
...
Ensures that the destruction logic is kept local to the translation unit
(making it nicer when it comes to forward declaring non-trivial types).
It also doesn't really do much to define it in the header.
2019-05-29 06:20:05 -04:00
Lioncash
53b115b81e
VideoCommon/NetPlayChatUI: Use nullptr where applicable
...
We gotsa type dedicated to this concept already :P
2019-05-29 06:14:43 -04:00
Lioncash
50a15b7484
VideoCommon/NetPlayChatUI: Take std::string by value in AppendChat()
...
Given we're simply storing the std::string into a deque. We can emplace
it and move it. Completely avoiding copies with the current usage of the
function.
2019-05-29 06:12:29 -04:00
Lioncash
08223bad9f
VideoCommon/NetPlayChatUI: Set member variable within the constructor initializer list
...
Member variables should be initialized within the constructor
initializer list if possible.
2019-05-29 06:09:49 -04:00
JosJuice
d4b069f458
DiscIO: Use std::string_view in FileSystem::FindFileInfo
...
...and in the functions that call it.
2019-05-29 08:29:56 +02:00
Sintendo
c84f34bd50
x64Emitter: Short MOVs for 32bit immediates
...
Prior to this commit, the emitter would emit a 7-byte instruction when
loading a 32-bit immediate to a 64-bit register.
0: 48 c7 c0 ff ff ff 7f mov rax,0x7fffffff
With this change, it will check if it can instead emit a load to a
32-bit register, which takes only 5 or 6 bytes.
0: b8 ff ff ff 7f mov eax,0x7fffffff
2019-05-29 01:04:09 +02:00
Lioncash
4d2e0c7b48
UICommon/ResourcePack/Manager: Resolve use-after-move in Add()
...
The pack is already has its validity checked at the beginning of the
function, so we don't need to check this again after inserting it.
Also resolves a use-after-move case.
2019-05-28 17:40:28 -04:00
Lioncash
b4470ad4c2
UICommon/GameFile: Make COVER_URL a plain C string
...
Same behavior but doesn't take up 8 bytes in the executable to store a
pointer. While we're at it, move it into an anonymous namespace within
the UICommon namespace.
2019-05-28 07:27:41 -04:00
Lioncash
8229ada922
UICommon/GameFile: Remove unused includes
...
Nothing within the source file makes use of anything in those includes,
so they can be removed.
2019-05-28 07:27:41 -04:00
Lioncash
80786cd295
UICommon/GameFile: Remove unnecessary value() calls in DownloadDefaultCover()
...
We already check ahead of time if the optional contains a value within
it before accessing it, so we don't need to use the throwing value()
accessor. We can just directly use operator->
2019-05-28 07:27:41 -04:00
Lioncash
ab0892e5a5
UICommon/GameFile: Deduplicate string paths where applicable
...
Rather than construct strings twice, we can just construct it once and
reuse it. While we're at it, we can move variables closer to where
they're actually used within DownloadDefaultCover()
2019-05-28 07:27:35 -04:00
Lioncash
27ecb93b32
UICommon/GameFile: Remove unnecessary initializers
...
All of the standardized types have constructors that will automatically
initialize them, so the explicit initializers are redundant.
2019-05-28 07:00:15 -04:00
Lioncash
56faf750be
UICommon/GameFile: std::move std::string argument in constructor
...
Allows for calling code to move the argument into the constructor,
avoiding a copy.
2019-05-28 06:57:48 -04:00
Lioncash
8e65869484
UICommon/GameFile: Default no-arg constructor and destructor within the cpp file
...
A GameFile instance contains quite a lot of non-trivial types, so
default construction and destruction in the same translation unit.
2019-05-28 05:53:40 -04:00
Lioncash
49ca31467d
UICommon/GameFile: Use in-class initializers where applicable
...
Allows deduplicating code within the constructor initializer list.
2019-05-28 05:51:51 -04:00
Léo Lam
800d875faa
Merge pull request #8127 from lioncash/resource
...
UICommon/ResourcePack: Minor cleanup
2019-05-27 23:05:10 +02:00
Léo Lam
256c9375c9
Move libusb utilities to LibusbUtils
...
* Simplifies libusb context usage and allows us to set options for
all contexts easily. Notably, this lets us enable usbdk support
in libusb, which is now opt-in in the latest version.
* Moves the libusb config descriptor wrapper class to LibusbUtils too
since that could easily be reused.
* Moves device listing to LibusbUtils too and add a lock around it
as some libusb backends are not thread safe.
* Consequences: only a single context and a single event handling
thread is used now, which is more efficient.
2019-05-27 20:09:55 +02:00
Lioncash
f07cf9ebab
UICommon/ResourcePack: Allow ReadCurrentFileUnlimited() to read into any contiguous container
...
This allows the same code to be used to read into a std::string, which
allows for eliminating the vector->string transfer when reading the
manifest file.
A ContiguousContainer is a concept that includes std::array,
std::string, and std::vector.
2019-05-27 13:29:40 -04:00
Lioncash
5c4d3f55da
UICommon/Manager: Remove unused std::string variable in Remove()
2019-05-27 13:09:21 -04:00
Léo Lam
42de5b9a10
Merge pull request #8126 from lioncash/todo
...
Core/GCMemcard: Remove obsolete TODO
2019-05-27 19:04:06 +02:00
Léo Lam
525c65dd19
Merge pull request #8125 from lioncash/verify
...
DiscIO/VolumeVerifier: Make use of unused variable (+ minor other changes)
2019-05-27 19:03:13 +02:00
Lioncash
41cda6fe6d
UICommon/ResourcePack: Use ScopeGuards to manage closing files
...
Makes it way harder to introduce resource leaks, and plugs the existing
resource leaks in the constructor and Install() where the file wouldn't
be closed in some error cases.
2019-05-27 13:02:04 -04:00
Lioncash
157a305507
UICommon/ResourcePack: Deduplicate string construction
...
A few cases duplicate the string patch creation, which is kind of
wasteful. We can just construct the string once.
2019-05-27 12:45:23 -04:00
Lioncash
a22cc615a9
UICommon/ResourcePack: Remove unnecessary resizes
...
We can simply construct the containers with the desired size in these
cases.
2019-05-27 12:37:46 -04:00
Lioncash
57701cd988
UICommon/ResourcePack: Make TEXTURE_PATH a regular array
...
Same behavior, only it doesn't unnecessarily store a pointer in the
executable. While we're at it, make it constexpr and move it into the
namespace.
2019-05-27 12:33:50 -04:00
Lioncash
b2b5b01eda
Core/GCMemcard: Remove obsolete TODO
...
Now that we assume C++17, the in-file definition of the std::array can
be removed. This is all that's necessary, as constexpr used on a static
member variable implies inline (and so, automatically has C++17's static
inline behavior).
2019-05-27 11:48:38 -04:00
Lioncash
d220e33862
DiscIO/VolumeVerifier: Make no-argument overload of GetBiggestUsedOffset() const
...
The overload taking a partition is already a const member function, so
this one can be turned into one as well.
2019-05-27 10:40:41 -04:00
Lioncash
bf6948c1d4
DiscIO/VolumeVerifier: Use structured bindings where applicable
...
Allows providing better names than "first" or "second".
2019-05-27 10:40:38 -04:00
Lioncash
fa57396e97
DiscIO/VolumeVerifier: In-class initialize members where applicable
...
Removes redundant initializers from the constructor and provides
initializers for all members that don't already have one for consistency
(and deterministic initial state).
2019-05-27 10:40:17 -04:00
Lioncash
52eb2d0d82
DiscIO/VolumeVerifier: Default destructor within the cpp file
...
Given the volume verifier has quite a few non-trivial object within it,
it's best to default the destructor within the cpp file to prevent
inlining complex destruction logic elsewhere, while also making it nicer
if a forward-declared type is ever used in a member variable.
2019-05-27 10:19:51 -04:00
Lioncash
0ccaa2b5d6
DiscIO/VolumeVerifier: Take std::string by value in AddProblem()
...
This allows both std::moving into the function and moving the parameter
from within the function, potentially avoiding an unnecessary copy.
2019-05-27 10:17:11 -04:00
Lioncash
a1f77fd14b
DiscIO/VolumeVerifier: Make use of unused variable in CheckMisc()
...
This variable wasn't being utilized when comments indicate that it
probably should be.
2019-05-27 10:09:55 -04:00
Lioncash
ab2adfb0a7
Common/HttpRequest: Simplify cURL initialization
...
std::call_once is guaranteed to execute the given callable object
exactly once. This guarantee holds even if the function is called
concurrently from several threads.
Given that, we can replace the mutex and boolean flag with
std::call_once and a std::once_flag to perform the same behavior.
2019-05-27 09:46:57 -04:00
Lioncash
b15f595130
Common/HttpRequest: Avoid unnecessary copies in loop in Fetch()
...
Previously, every entry pair within the map would be copied. The reason
for this is subtle.
A std::map's internal entry type is defined as:
std::pair<const Key, Value>
but the loop was declaring it as:
std::pair<Key, Value>
These two types aren't synonymous with one another and so the compiler
is required to always perform a copy.
Using structured bindings avoids this (as would plain auto or correcting
the explicit type), while also allowing the use of more appropriate
names compared to first and second.
2019-05-27 09:36:31 -04:00
Lioncash
8dc8cf8019
Common/HttpRequest: std::move callback in constructor
...
std::function is allowed to heap allocate in order to hold any necessary
bound data in order to execute properly (e.g. lambdas with captures), so
this avoids unnecessary reallocating.
2019-05-27 09:26:28 -04:00
Pokechu22
69d9d9f87a
Also free when initialization fails, and move to end
2019-05-26 19:59:29 -07:00
Pokechu22
19fb3bb4fe
DX11: Fix access violation on closing dolphin
2019-05-26 15:01:05 -07:00
Léo Lam
f92c17e76f
Merge pull request #7799 from Tilka/mapping
...
DolphinQt/Mapping: red = error, don't flash
2019-05-26 18:10:06 +02:00
Tillmann Karras
2195ef30f3
DolphinQt/Mapping: red = error, don't flash
2019-05-26 17:59:30 +02:00
Roland Munsil
4ce7079098
CheatsManager: Improve performance of searching & add input validation
...
The previous implementation of cheat search would reconvert the input
string for every single memory value. Now we do it once and construct
a comparison lambda which we pass to the search code.
In addition, I also added input validation. So, for example, if you've
selected Decimal input and you try to compare against "FF",
it won't search and will instead let the user know they've entered an
invalid value. Similar logic for if you enter "1.2" in a search for
bytes. Before, it would just use 0 if it failed to convert the value.
2019-05-26 17:32:48 +02:00
MerryMage
f6afce781f
Jit64AsmCommon: Use PEXT in GenConvertDoubleToSingle
2019-05-25 23:07:50 +01:00
MerryMage
12314577c1
Jit64AsmCommon: Make ConvertDoubleToSingle use RSCRATCH as output
2019-05-25 23:07:50 +01:00
booto
c4799e5977
Jit64: Make DoubleToSingle a common asm routine
2019-05-25 23:07:50 +01:00
Admiral H. Curtiss
15abb1c92d
GCMemcardDirectory: Improve logic for which files are loaded into the virtual memory card.
...
- Files for the current game are now guaranteed to be loaded, space and validity permitting.
- Avoid showing PanicAlerts for every problem encountered, most of them aren't really important enough and will probably just annoy the user.
- And for the only error the user will definitely care about, when the save of the game they're trying to play fails to load, show an imgui message instead.
2019-05-25 21:51:36 +02:00
Admiral H. Curtiss
5af05f6714
GCMemcard/GCIFile: Implement LoadHeader().
2019-05-25 21:49:09 +02:00
Admiral H. Curtiss
884af05589
GCMemcardDirectory: Move GCIFile class to its own file.
2019-05-25 21:49:09 +02:00
8times9
00855552e9
Qt/MenuBar: Reorder Tools menu
2019-05-25 20:22:52 +02:00
Léo Lam
edf988b465
Merge pull request #8019 from AdmiralCurtiss/gcmemcard-header-cleanup
...
GCMemcard: A little cleanup.
2019-05-25 19:20:43 +02:00
Admiral H. Curtiss
e390fd0f4e
GCMemcard: Remove unused ability of ImportGci() to write a GCI file to disk.
2019-05-25 17:58:05 +02:00
Admiral H. Curtiss
018572018e
GCMemcard: Dismantle the global return value enum into a few function specific enum classes.
2019-05-25 17:58:05 +02:00
Admiral H. Curtiss
d09303683c
GCMemcard: Convert a few enums into constexprs.
2019-05-25 17:58:05 +02:00
Admiral H. Curtiss
cbc5acb8cd
GCMemcard: Get rid of stray signed length in ImportGciInternal().
2019-05-25 17:58:05 +02:00
Admiral H. Curtiss
2d38364410
GCMemcard: Remove memsets that don't do anything in GCMemcard::Format().
2019-05-25 17:58:05 +02:00
Admiral H. Curtiss
88a0773309
GCMemcard: Rewrite checksum calculation without undefined behavior.
2019-05-25 17:58:05 +02:00
Admiral H. Curtiss
fcd75841ca
GCMemcard: Rewrite Header::CalculateSerial() without undefined behavior.
2019-05-25 17:58:05 +02:00
Léo Lam
5fb56505b2
Merge pull request #8109 from leoetlino/ios-usb-fixes
...
IOS: USB fixes
2019-05-24 22:03:46 +02:00
Léo Lam
6dd0fe21f2
IOS/USB: Claim all interfaces ahead-of-time
...
To avoid having to claim/release interfaces all the time, and having to
trigger interface changes from several places, all interfaces are now
claimed ahead of time.
This commit also makes us avoid changing the active interface when it's
not necessary.
Changing the active interface has side effects such as resetting the
active alternate setting -- which is extremely undesirable because it
would require the emulated software to change the alternate setting
again, which isn't supposed to be necessary at all.
This fixes Your Shape, which submits isochronous transfers on an
endpoint that only exists in alt setting 6 right after submitting
control transfers (which would have reset to alt setting 0 prior to
this fix).
2019-05-24 20:47:46 +02:00
8times9
aeb02d83db
Qt/InterfacePane: Move "Keep on Window on Top" to Render Window section
2019-05-24 13:18:49 -05:00
Léo Lam
e07b514b62
Merge pull request #8115 from booto/powerpc_pvr
...
PowerPC: Add Broadway's PVR (retail Wii)
2019-05-24 14:51:06 +02:00
Léo Lam
9373bc3aa9
Merge pull request #8102 from dreamsyntax/debug-mousefix
...
Qt/Debugger CodeWidget navigation unification
2019-05-24 14:49:05 +02:00
dreamsyntax
e06a62d9d1
Qt: Fix CodeWidget navigation
...
Changed itemSelectionChanged and itemClicked signal to itemPressed in CodeWidget.
Holding mouse down and moving will only travel up/down the stack one time.
This fixes the common occurrence of unintentionally traveling deeper down the stack or higher up the callstack than intended.
2019-05-24 14:39:15 +02:00
Léo Lam
6eb7c525b2
Merge pull request #7801 from GerbilSoft/feature/Discord-PPCTitleChanged
...
Update Discord rich presence when the PPC title changes
2019-05-24 14:30:52 +02:00
David Korth
8417c78b7a
Update Discord rich presence when the title changes
...
This allows us to update the rich presence description if a channel
is launched from the Wii Menu. It also handles other PPC title
launches, e.g. Smash Bros. Masterpieces.
Host.h: Added Host_TitleChanged().
DolphinNoGUI/MainNoGUI.cpp: Implemented Host_TitleChanged().
DolphinQt/Host.cpp: Implemented Host_TitleChanged().
Android/jni/MainAndroid.cpp: Stubbed Host_TitleChanged().
DSPTool/StubHost.cpp: Stubbed Host_TitleChanged().
UnitTests/StubHost.cpp: Stubbed Host_TitleChanged().
2019-05-24 14:12:48 +02:00
booto
27cb407ecf
PowerPC: Add Broadway's PVR (retail Wii)
2019-05-23 19:56:41 -04:00
Léo Lam
702344ba9c
Merge pull request #8105 from 8times9/render-window
...
Qt/InterfacePane: Rename "In-Game" to "Render Window"
2019-05-23 13:06:36 +02:00
Léo Lam
617747e905
Merge pull request #8113 from lioncash/ini-key
...
Common/IniFile: Simplify Set()
2019-05-23 12:15:30 +02:00
Léo Lam
67c2aa0701
Merge pull request #8114 from lioncash/ini-line
...
IniFile: Prevent potential out-of-bounds access in ParseLine()
2019-05-23 12:12:41 +02:00
Lioncash
2ae370fc37
IniFile: Prevent potential out-of-bounds access in ParseLine()
...
While current usages of ParseLine aren't problematic, this is still a
public function that can be used for other purposes. Essentially makes
the function handle potential external inputs a little nicer.
2019-05-22 21:09:11 -04:00
Lioncash
869acb96c6
Common/IniFile: Simplify Set()
...
We can just utilize map's insert_or_assign() function and check the
return value to determine whether or not we need to insert the key into
the keys_order vector.
2019-05-22 20:58:49 -04:00
Connor McLaughlin
68877c52d1
Merge pull request #8027 from MerryMage/MOVAPS
...
Jit64: Prefer MOVAPS where possible
2019-05-22 15:05:17 +10:00
booto
03d7fef5a6
ARAM: No ARAM backing DMA in wiimode
2019-05-21 22:23:42 -04:00
booto
70299f2505
ARAM: rework DMA
...
Changes include:
* Take into account how different size settings interact
* Do ARAM DMA transfers in chunks rather than all-at-once
2019-05-21 22:23:42 -04:00
booto
73c0a4ee81
DSP: Experiment with cleaning up ARAM accessor
2019-05-21 22:23:42 -04:00
Léo Lam
2b44e1b851
IOS/USB: Fix initial device scan
...
Even though libusb is supposed to be thread-safe, in practice
it's not (at least on Windows); getting a list of devices from two
different threads can result in libusb crashes. This is easily
fixed by waiting for the scan thread to complete scanning instead
of running the scan on the CPU thread.
This also fixes an issue that I had overlooked in the initial
implementation: IOS interfaces such as OH0 are sometimes opened
every frame, in which case we were doing a full device scan every
single frame on the CPU thread!
2019-05-21 19:07:30 +02:00
Léo Lam
b274a054a9
IOS/VEN: Read cancel endpoint correctly
...
Fixes an embarrassing bug that made the implementation utterly useless.
This fixes Your Shape hanging on shutdown. The game was waiting for an
interrupt transfer to be cancelled, and Dolphin wasn't cancelling
transfers on the correct endpoint.
2019-05-21 19:07:30 +02:00
Léo Lam
d7e23d71f8
IOS/VEN: Return -4 when no transfer was cancelled
...
Simple accuracy fix.
2019-05-21 19:07:30 +02:00
Léo Lam
4c6ef81291
IOS/USB: Verify that isochronous req buffer size is consistent
...
To catch possible bugs.
2019-05-21 19:07:30 +02:00
Léo Lam
a6da38d75d
IOS/USB: Fix TransferCommand length type
...
The total buffer size for isochronous transfers should be a u32,
not a u16. It is easy to hit the bug with devices such as cameras,
which require larger buffers.
This fixes Your Shape.
This also fixes the length type for bulk and interrupt transfers,
which should be u32 as that's what IOS supports. I'm not sure why
I made them u16... probably because OH0 uses u16 for most lengths...
2019-05-21 19:07:30 +02:00
Léo Lam
5226d6103a
IOS/USB: Add debug logging for all transfers
...
This makes debugging USB issues easier.
2019-05-21 19:07:29 +02:00
Léo Lam
57fbf1cd6e
Merge pull request #8107 from lioncash/string
...
DolphinQt/AboutDialog: Remove unnecessary QStringLiteral
2019-05-21 18:44:37 +02:00
Lioncash
1d22e50899
Core/Boot/Boot: Amend use-after-move cases in GenerateFromFile()
...
In terms of order of operations, the move would occur first before the
construction of the relevant reader would occur. However, given the
local variable 'path' was declared const, this bug actually wouldn't
occur, as std::move on a const variable does nothing (in a non-mutable
context), resulting in a copy instead, masking this issue.
Given this is a bug waiting to happen, we correct the code.
2019-05-21 08:44:29 -04:00
Lioncash
ae329b7b1b
DolphinQt/AboutDialog: Remove unnecessary QStringLiteral
...
QStrings automatically initialize to an empty string by default, making
this unnecessary.
2019-05-21 07:13:14 -04:00
Léo Lam
e2c769a9c5
Merge pull request #7992 from artemist/centering
...
ControllerEmu: Add support for setting the center of a ReshapableInput
2019-05-20 18:29:31 +02:00
Léo Lam
d2c7a6f239
Merge pull request #8094 from leoetlino/log-type-names
...
Qt/LogConfigWidget: Show log type short names
2019-05-20 18:27:57 +02:00
Artemis Tosini
4bbbd02de7
ControllerEmu: Do not change center when closing window
2019-05-19 16:55:29 +00:00
8times9
ba3b59fd18
Qt/InterfacePane: Rename In-Game to Render Window
2019-05-18 16:01:38 -05:00
Artemis Tosini
e5683988c0
ControllerEmu: Zero the center of a ReshapableInput when calibrating
2019-05-18 19:32:48 +00:00
Artemis Tosini
99cf9a57fc
Draw center when calibrating and remove constant
...
This adds the center to the calibration menu when it is nonzero.
It also refactors CENTER_COLOR to be a function, similar to other colors
after an earlier commit.
2019-05-18 18:36:28 +00:00
Artemis Tosini
49e46c8aff
ControllerEmu: Add support for setting the center of a ReshapableInput
...
This is useful in far out-of-calibration controllers, such as the
Switch Pro controller. This also adds support for configuring the center
in the Mapping widget.
2019-05-18 14:45:16 +00:00
Admiral H. Curtiss
6e04e4dd6a
GCMemcard: DEntry: Move code out of header.
2019-05-18 15:44:38 +02:00
Admiral H. Curtiss
17da22a84f
GCMemcard: GCMBlock: Move code out of header.
2019-05-18 15:44:38 +02:00
Admiral H. Curtiss
e4094d9d2d
GCMemcard: BlockAlloc: Move code out of header, fix naming conventions.
2019-05-18 15:44:38 +02:00
Admiral H. Curtiss
4b46f71b3c
GCMemcard: Header: Move code out of header, fix naming conventions.
2019-05-18 15:44:38 +02:00
Admiral H. Curtiss
0052b313d6
GCMemcard: Directory: Move code out of header, add some boundary checks, fix naming conventions.
2019-05-18 15:44:38 +02:00
Léo Lam
d3c4d278e2
Merge pull request #8077 from leoetlino/debugger-valign
...
Qt/Debugger: Fix register cell text vertical alignment
2019-05-17 20:17:52 +02:00
spycrab
481b7cd085
DolphinQt/CMake: Fix Gettext not getting run on Windows
2019-05-15 19:19:16 +02:00
spycrab
bdd37c4dbc
DolphinQt/CMake: Copy files as a post build step
2019-05-15 19:19:15 +02:00
spycrab
ec734065db
Merge pull request #8087 from spycrab/cmake_win2019
...
Support CMake on Windows
2019-05-14 21:07:26 +02:00
Vincent Cunningham
b35c58451a
Clear existing GCPad state
2019-05-14 03:33:29 -04:00
Connor McLaughlin
0ab41717a4
Merge pull request #8095 from leoetlino/audio-race
...
Fix a race condition when shutting down audio stream
2019-05-12 15:18:36 +10:00
Connor McLaughlin
707266aeed
Merge pull request #8069 from iwubcode/passive_support
...
VideoCommon: Implement passive stereoscopic 3D
2019-05-12 15:15:34 +10:00
spycrab
ba83cec6fb
Qt/CMake: Support MSVC w/ external CMake
2019-05-12 00:44:02 +02:00
spycrab
c8795f799e
Core/CMake: Silence some warnings
2019-05-12 00:44:02 +02:00
spycrab
1121a04718
DolphinQt/CMake: Silence some warnings
2019-05-12 00:44:01 +02:00
spycrab
199c0943a4
DolphinQt/CMake: Building on Windows
2019-05-12 00:05:10 +02:00
spycrab
6cef70c182
VideoBackends/D3D: Fix CMakeLists.txt
2019-05-12 00:05:09 +02:00
spycrab
b5160ec685
Common/CMake: Fix Windows build
2019-05-12 00:05:08 +02:00
TryTwo
86d1e6cd7e
Qt/Debugger: Improve Code View
...
* Use font based sizing for row height. Fits more rows on screen.
* Adds whitespace for better formatting and minimum column width.
Helps prevent frequent resizing while scrolling.
2019-05-11 17:48:49 +02:00
Léo Lam
7c46497f04
Fix a race condition when shutting down audio stream
...
The main EmuThread (in Core) is responsible for both initialising the
audio stream and shutting it down properly.
When the core is shutting down (when state is State::PowerDown), it is
possible that the CPU or CPU-GPU thread and the UI thread will both
try to stop the audio stream at the same time, which is an issue
because some audio backends such as cubeb are not thread-safe.
This commit prevents the race from ever happening in the first place
by removing the call to AudioCommon::SetSoundStreamRunning from
CPU::RunAdjacentSystems, which is actually completely unnecessary when
shutting down because Core::EmuThread is going to stop the stream and
perform more cleanup anyway.
Should fix https://bugs.dolphin-emu.org/issues/11722
2019-05-11 16:36:42 +02:00
Léo Lam
453c1d4170
Qt/LogConfigWidget: Show log type short names
...
Makes it easier for users to determine which option they need to
enable/disable as log messages only show the short name.
2019-05-11 16:05:22 +02:00
Miksel12
ee8226cc1b
Set Cubeb as default on Windows
...
Cubeb and Xaudio2 are identical in features while Cubeb has lower
latency and is still actively being worked on.
2019-05-11 14:22:03 +02:00
Léo Lam
2f89a50318
Merge pull request #7778 from jordan-woyak/wheel-accel-brake
...
SI/GCSteeringWheel: Allow simultaneous use of accelerator and brake.
2019-05-11 12:24:19 +02:00
Léo Lam
57743637de
Merge pull request #8088 from Pokechu22/modal-control-mapping
...
Allow interacting with the render window while configuring controllers
2019-05-11 10:45:28 +02:00
Léo Lam
e35ccd5a9a
Merge pull request #8091 from leoetlino/traversal-chrono
...
TraversalServer: use C++ <chrono> instead of gettimeofday
2019-05-11 10:44:49 +02:00
Anthony
3ab06dcd02
Merge pull request #8016 from jordan-woyak/emu-wm-ir-rename
...
WiimoteEmu/DolphinQt: Rename "IR" to "Point" and eliminate redundant Forward/Backward actions.
2019-05-10 19:16:40 -07:00
Anthony
46561cc242
Merge pull request #8092 from leoetlino/double-switcheroo
...
Core/AddressSpace & Qt/Debugger: Fix parameter order mixup
2019-05-10 19:11:01 -07:00
Anthony
e66d25312e
Merge pull request #8090 from stenzek/video-buffer-reset
...
CommandProcessor: Don't reset the video buffer when FIFO distance is changed
2019-05-10 19:10:39 -07:00
Léo Lam
e66547d6e5
Qt: Fix AddressSpace::WriteXXX parameter order mixup
2019-05-11 00:16:27 +02:00
Léo Lam
d00711b34f
AddressSpace: Fix PowerPC::HostWrite_XXX parameter order mixup
2019-05-11 00:15:15 +02:00
Jordan Woyak
f74f49383c
SI/GCSteeringWheel: Allow simultaneous use of accelerator and brake.
2019-05-10 17:11:43 -05:00
Michael M
916a97b869
TraversalServer: use C++ <chrono> instead of gettimeofday
2019-05-10 21:33:26 +02:00
Pokechu22
7c80fcde53
Allow interacting with the render window while configuring controllers
...
WindowModal allows alt+tabing to the render window, but prohibits interaction
with parent windows (controller settings window and the main dolphin window).
2019-05-10 11:27:36 -07:00
Léo Lam
e7bc86881d
Merge pull request #8056 from JosJuice/more-enums-to-constexpr
...
Turn more enum constants into constexpr
2019-05-10 18:52:52 +02:00
Stenzek
3e29fdb4a7
CommandProcessor: Don't reset the video buffer when FIFO distance is changed
...
This prevents partially-processed commands from being lost when switching buffers.
2019-05-11 00:31:37 +10:00
Léo Lam
672e8d78c6
Merge pull request #7994 from faxx1080/qt_adddebuglog
...
DolphinQt: Add debug log option in GUI for debug builds
2019-05-10 15:33:33 +02:00
JosJuice
8e2277e1f2
Turn more enum constants into constexpr
...
https://bugs.dolphin-emu.org/issues/11692#note-7
2019-05-10 15:04:16 +02:00
Léo Lam
123bbbca2c
Merge pull request #8073 from vladfi1/re-frame-mw
...
Bring back MemoryWatcher, but without CoreTiming
2019-05-10 14:55:27 +02:00
weihuoya
e98f43d2af
bbox minor fx
2019-05-09 17:30:17 +08:00
Jordan Woyak
374585f128
WiimoteEmu/DolphinQt: Rename "IR" to "Point" and eliminate redundant Forward/Backward mappings.
2019-05-08 20:27:41 -05:00
spycrab
c7dcba1c5f
WinUpdater: Add CMakeLists.txt
2019-05-08 23:59:04 +02:00
spycrab
f1fae37a81
DolphinQt/CMake: Don't build SignalDaemon on Windows
2019-05-08 21:10:41 +02:00
spycrab
967252dded
IOS/FS/Filesystem: Work around macro problem
2019-05-08 21:06:17 +02:00
spycrab
12a26453e9
InputCommon/ControlGroup.h: Add missing include
2019-05-08 21:03:11 +02:00
spycrab
7eaece8814
InputCommon/Device.cpp: Add missing include
2019-05-08 21:02:26 +02:00
spycrab
98d808ab71
InputCommon/DInput.h: Add missing include
2019-05-08 21:01:46 +02:00
spycrab
5625baa32c
UICommon/VideoUtils.cpp: Add missing include
2019-05-08 21:00:23 +02:00
spycrab
35f7abfe76
VideoBackends/D3DCommon: Fix linking against self
2019-05-08 20:59:15 +02:00
Léo Lam
1030dec340
DolphinQt: Use LogTypes::LOG_LEVELS instead of magic numbers
...
Also gets rid of two unnecessary casts.
2019-05-08 14:54:30 +02:00
Frank
57c64e57ef
DolphinQt: Add debug log option in GUI for debug builds
2019-05-08 14:47:34 +02:00
Vlad Firoiu
239af3cdf9
Step MemoryWatcher at end of each video frame.
2019-05-08 11:20:59 +01:00
Léo Lam
6607d9512f
Merge pull request #8081 from jordan-woyak/structured-binding
...
DolphinQt: Use a structured binding.
2019-05-08 10:37:15 +02:00
Jordan Woyak
0de6b5f7fa
WiimoteEmu: Implement "Drawsome" tablet.
2019-05-07 18:07:24 -05:00
JosJuice
91f5d577cc
Merge pull request #8084 from leoetlino/wiisave-sign
...
WiiSave: Fix save signing
2019-05-07 14:43:50 +02:00
Léo Lam
2740ff9a9d
WiiSave: Fix save signing
...
The system menu is passing the SHA1 hash of the save data to ES
to sign, not the save data itself.
Fixes save import in the System Menu for saves that were exported
by Dolphin.
2019-05-07 01:09:48 +02:00
Jordan Woyak
f055d37346
WiimoteEmu: Add game quirk report for reading of EXT/IR input directly, which will fail with TAS/NetPlay.
2019-05-06 15:36:05 -05:00
Jordan Woyak
6ebd35d511
DolphinQt: Use a structured binding.
2019-05-06 15:33:57 -05:00
Techjar
ff972e3673
Reformat repo to clang-format 7.0 rules
2019-05-06 18:48:04 +00:00
Vlad Firoiu
f4d950f4e2
Revert "Core: Remove MemoryWatcher"
...
This reverts commit 0c02e77eee
.
2019-05-05 21:43:45 +01:00
JosJuice
bb1ed46753
Use [[fallthrough]] in DiscExtractor
...
This was missed in PR 6273 because the fallthrough was added to
DiscExtractor after that PR was created.
2019-05-05 10:35:45 +02:00
Léo Lam
db159ec8bf
Qt/Debugger: Vertically align text in register cells
...
Looks better with the text vertically aligned.
2019-05-05 10:30:22 +02:00
iwubcode
c513bb5309
VideoCommon: Implement passive stereoscopic 3D
2019-05-04 22:58:00 -05:00
Léo Lam
ab9ece9bca
Replace MathUtil::Clamp with std::clamp
2019-05-04 23:12:17 +02:00
Léo Lam
6f84984b7b
Use attribute [[fallthrough]]
2019-05-04 23:04:18 +02:00
Léo Lam
cb168f22d6
Replace custom UNUSED macro with [[maybe_unused]]
2019-05-04 23:04:18 +02:00
Léo Lam
04c8201c32
Enable C++17
...
All supported platforms now have easy access to a compiler with C++17
support.
C++17 potentially allows for some nice cleanups and removes the need
for standard library backports (optional/variant).
See discussion at https://dolp.in/pr6264#discussion_r158134178
2019-05-04 23:04:18 +02:00
Léo Lam
99a4ca8de7
Merge pull request #7839 from ShFil119/impr/redundant
...
Remove redundant initialization
2019-05-04 22:50:51 +02:00
Léo Lam
afa46aaf43
Merge pull request #7887 from lioncash/hid
...
DolphinQt/Debugger/RegisterColumn: Add HID registers to the register pane
2019-05-04 22:33:45 +02:00
Léo Lam
623b37d928
Merge pull request #8053 from jordan-woyak/profile-dropdown-fix
...
DolphinQt: Profile combobox fixes.
2019-05-04 21:37:06 +02:00
Connor McLaughlin
184f334158
Merge pull request #8074 from Qyriad/fixes/set-user-dir-properly
...
UICommon: Properly set user dir if ./user is a file (not a directory)
2019-05-04 16:15:00 +10:00
Techjar
1dd8263375
Qt/NetPlayDialog: Fix checksum menu being visible for everyone
...
The wrong function was used to attempt to hide the menu. Non-hosts will
segfault upon trying to use it as they don't have a server instance.
2019-05-04 01:54:57 -04:00
Mikaela Szekely
8fe7e271f3
UICommon: Properly set user dir if ./user is a file (not a directory)
2019-05-03 23:30:50 -06:00
Jordan Woyak
6784225573
DolphinQt: Profile combobox fixes.
2019-05-03 16:29:22 -05:00
Léo Lam
159fa3ec36
Merge pull request #8057 from jordan-woyak/emu-tatacon
...
WiimoteEmu: Implement TaTaCon extension.
2019-05-03 11:52:39 +02:00
Léo Lam
6c7aeb3ffb
Merge pull request #8064 from JosJuice/notify-host-symbols-clear
...
Call Host_NotifyMapLoaded when clearing g_symbolDB
2019-05-03 11:47:26 +02:00
booto
2ff0486335
Debugger/Memory: Add support for address spaces
...
Different address spaces can be chosen in the memory view panel.
* Effective (or virtual): Probably the view people mostly want. Address
translation goes through MMU.
* Auxiliary: ARAM address space. Does not display anything in Wii mode.
* Physical: Physical address space. Only supports mem1 and mem2 (wii
mode) so far.
2019-05-02 21:14:30 -04:00
Jordan Woyak
27043c1dac
WiimoteEmu: Implement TaTaCon extension.
2019-05-02 19:35:46 -05:00
Léo Lam
3b16d2261a
Merge pull request #8065 from jordan-woyak/wm-ext-names
...
WiimoteEmu/DolphinQt: Better extension display names.
2019-05-02 13:14:17 +02:00
Jordan Woyak
77bda63627
DolphinQt: Don't refresh devices on open of mapping UI.
2019-05-01 19:30:02 -05:00
Jordan Woyak
99f537d499
WiimoteEmu/DolphinQt: Better extension display names.
2019-05-01 17:25:48 -05:00
Léo Lam
98b670dd29
Merge pull request #7966 from Techjar/fix-netplay-full-wii-save
...
Core/WiiRoot: Fix NetPlay full Wii save sync not copying all the saves back to main NAND
2019-05-01 19:29:38 +02:00
Léo Lam
f4d7b537cc
Merge pull request #7958 from Craftyawesome/cpu-emulation-order
...
Re-order cpu emulation options from fastest to slowest
2019-05-01 17:56:19 +02:00
JosJuice
8fd6f8f6e9
Call Host_NotifyMapLoaded when clearing g_symbolDB
...
Otherwise DolphinQt will have a stale symbol list and
you can get nullptr dereferences when trying to use it.
2019-05-01 17:48:27 +02:00
Léo Lam
bec85a0962
Merge pull request #8013 from JosJuice/titledatabase-japanese-gc
...
Show Japanese GC games in Japanese when using TitleDatabase
2019-05-01 17:37:31 +02:00
Léo Lam
ef88dd73b3
Merge pull request #8014 from JosJuice/getuniqueidentifier-language-independent
...
Make GameFile::GetUniqueIdentifier independent of language setting
2019-05-01 17:34:01 +02:00
z0z0z
5bacb2e4c6
Disable Vulkan overrides for RADV driver
2019-05-01 07:59:54 -04:00
Léo Lam
5ce8d97c68
Merge pull request #7163 from lioncash/pointer
...
BTEmu: Get rid of a few pointer casts
2019-05-01 13:13:58 +02:00
Jordan Woyak
0c81af74e1
WiimoteEmu: Drum extension accuracy improvements.
2019-04-30 20:14:12 -05:00
JMC47
e39aa5b026
Merge pull request #7880 from jordan-woyak/udraw-tablet-emu
...
WiimoteEmu: Implement 3rd-Party extension encryption and uDraw GameTablet.
2019-04-30 19:45:33 -04:00
Jordan Woyak
2babbd76d0
WiimoteEmu: Implement uDraw GameTablet.
2019-04-30 18:36:37 -05:00
Jordan Woyak
57a23cc4a0
InputCommon: Remove unused "sign" macro.
2019-04-29 18:28:56 -05:00
Filip Gawin
c110ffcdaa
Remove redundant initialization
2019-04-30 01:22:24 +02:00
JMC47
360f2b4a2f
Merge pull request #8042 from jordan-woyak/mapping-ui-clear-fix
...
DolphinQt: Fix "Default" and "Clear" buttons not updating the displayed extension.
2019-04-29 06:14:27 -04:00
JMC47
0f483e7d61
Merge pull request #8050 from Techjar/memorywatcher-determinism
...
Core: Remove MemoryWatcher
2019-04-28 22:36:11 -04:00
spycrab
6e6f833bb3
Merge pull request #8044 from jordan-woyak/indicators-on-top
...
DolphinQt: Move mapping indicators to top of UI.
2019-04-29 02:48:23 +02:00
Connor McLaughlin
aee1551a55
Merge pull request #8043 from jordan-woyak/mapping-ui-event-block-fix
...
DolphinQt: Fix mapping of space, return, and mouse-clicks.
2019-04-28 23:49:23 +10:00
Connor McLaughlin
1b1662773e
Merge pull request #8048 from stenzek/vulkan-negative-scissor-rect
...
Vulkan: Don't set a negative offset in scissor rect
2019-04-28 23:37:51 +10:00
Jordan Woyak
4e39d833ae
DolphinQt: Fix mapping of space, return, and mouse-clicks from immediately re-activating detection.
2019-04-28 08:34:47 -05:00
Stenzek
32359bf2bb
Renderer: Adjust target rectangle in the base class
2019-04-28 23:33:24 +10:00
Stenzek
3c64f0c616
Renderer: Adjust source rectangle when crop would draw off screen
...
This prevents us from requiring an oversized and/or negative viewport by
shrinking the source rectangle instead.
2019-04-28 23:31:57 +10:00
Connor McLaughlin
d2d8d7ce90
Merge pull request #8051 from JosJuice/efb-constexpr
...
Turn EFB_WIDTH/EFB_HEIGHT into constexpr
2019-04-28 20:37:25 +10:00
Techjar
0c02e77eee
Core: Remove MemoryWatcher
...
MemoryWatcher only works on Linux and affects emulation determinism due
to scheduling additional events, which causes NetPlay to desync.
Considering that this interface is a rather specialized use case, the
communication with it is kinda crappy *and* it's affecting emulation, I
think it's best to just axe it and come up with a better implementation
of the functionality.
2019-04-28 06:22:27 -04:00
JosJuice
ced2306fc5
Turn EFB_WIDTH/EFB_HEIGHT into constexpr
...
https://bugs.dolphin-emu.org/issues/11692#note-5
Also change const into constexpr while we're at it.
2019-04-28 11:50:17 +02:00
Connor McLaughlin
e17bb8cfdf
Merge pull request #8025 from chargeflux/PathPaneAddBtn
...
Qt: Fix add button not releasing
2019-04-28 17:15:42 +10:00
Connor McLaughlin
f7199397a0
Merge pull request #8047 from stenzek/d3d-feature-level-10
...
D3D11: Fix Dolphin crashing on feature level 10.0 devices
2019-04-28 17:07:37 +10:00
Pokechu22
0cb27cc42c
Fix the screen going black on pause after changing windows
...
More info: https://zeduckmaster.frama.io/2016/how-to-create-a-custom-rendering-in-a-qt5-widget/
2019-04-27 23:26:44 -07:00
Stenzek
53af27b133
FramebufferManager: Fix invalid transitions for 1xIR in EFB cache
2019-04-28 16:13:49 +10:00
Stenzek
5399995c61
Vulkan: Don't set a negative offset in scissor rect
...
The spec/validation layers say this is invalid.
2019-04-28 16:01:09 +10:00
Stenzek
025767c929
D3D: Set optional features after creating the device
...
Fixes feature level 10.0 devices crashing during runtime.
2019-04-28 15:26:49 +10:00
Stenzek
51154d6907
FramebufferShaderGen: Don't emit SV_SampleIndex when not using SSAA
2019-04-28 15:26:21 +10:00
Stenzek
d5b3595314
TextureCache: Fix incorrect format string in GetXFBTexture()
2019-04-28 14:32:37 +10:00
spycrab
906ccdb1b4
Merge pull request #8030 from spycrab/qt_patch_preview
...
Qt/Debugger: Implement patch instruction preview
2019-04-28 00:32:36 +02:00
spycrab
f6e73a0aec
Qt/Debugger: Implement patch instruction preview
2019-04-27 23:31:19 +02:00
Jordan Woyak
af8b14f452
DolphinQt: Move mapping indicators to top of UI.
2019-04-27 14:23:29 -05:00
Jordan Woyak
74a997da65
DolphinQt: Fix "Default" and "Clear" buttons not updating the displayed extension.
2019-04-27 10:51:57 -05:00
Mat M
687907e44d
Merge pull request #8035 from jordan-woyak/si-enum-constexpr
...
SI: Replace some unnamed enums with constexpr.
2019-04-27 08:40:41 -04:00
Mat M
621ede1268
Merge pull request #8040 from phire/fix_unintilized_xer
...
Fix uninitialized powerpc.xer_* variables
2019-04-27 08:36:09 -04:00
Jordan Woyak
9f0dc402f4
InputCommon: Make sure setting values are initialized in case they are used before config load.
2019-04-27 07:01:24 -05:00
JosJuice
3bef561e5d
Make GameFile::GetUniqueIdentifier independent of language setting
...
My bad.
We need this in the situation where two users are using different
languages and the game has a different name in each language.
2019-04-27 14:00:58 +02:00
MerryMage
e06111e86f
EmuCodeBlock: Prefer MOVAPS to MOVSD in ConvertDoubleToSingle
...
* The high half of the register is immediately masked so the value in it is irrelevant.
* MOVSD produces an unnecessary dependency on the high half of regOp.
* MOVAPS is implemented as a register rename on modern microarchitectures.
2019-04-27 12:57:03 +01:00
MerryMage
1baa8ee970
x64Emitter: Prefer MOVAPS to MOVSD
...
* The high half of regOp is immediately overwritten so the value in it is irrelevant.
* MOVSD produces an unnecessary dependency on the high half of regOp.
* MOVAPS is implemented as a register rename on modern microarchitectures.
2019-04-27 12:56:05 +01:00
MerryMage
2d4dd8cdc1
x64Emitter: Prefer MOVAPS to MOVAPD
...
There is no reason to use MOVAPD over MOVAPS, for two reasons:
* There has never been a microarchitecture with separate single and double domains.
* MOVAPD is one byte longer than MOVAPS
2019-04-27 12:54:43 +01:00
Scott Mansell
033f1d725f
Fix un-initialized powerpc.xer_* variables
2019-04-27 15:38:02 +12:00
Techjar
20530c2a96
Core/WiiRoot: Fix NetPlay full Wii save sync not copying all the saves back to main NAND
2019-04-26 23:33:35 -04:00
Connor McLaughlin
664cfb2ca5
Merge pull request #7970 from Techjar/netplay-mii-sync
...
NetPlay: Synchronize Mii data
2019-04-27 13:26:55 +10:00
Connor McLaughlin
b5c3542cb5
Merge pull request #8039 from iwubcode/monster_lab_fix
...
CommandProcessor: Don't reset gather pipe on write the high distance bit (fixes monster lab)
2019-04-27 13:26:29 +10:00
iwubcode
c2abf092e9
VideoCommon: Do not reset the gather pipe (WPAR buffer) as this does not reflect what actually happens on real hardware. On hardware, there's no way for the GPU to signal to reset the WPAR buffer. Instead, the WPAR buffer will be reset automatically upon receiving 32 bytes or when spr[WPAR] is written
2019-04-26 22:20:53 -05:00
JMC47
664376dae1
Merge pull request #7861 from jordan-woyak/mplus-emu
...
WiimoteEmu: Emulated MotionPlus and improved emulated swing.
2019-04-26 05:50:18 -04:00
spycrab
057fa6c092
Merge pull request #8032 from spycrab/netplay_md5
...
Qt/NetPlayDialog: Move MD5 button into menubar
2019-04-26 03:19:41 +02:00
spycrab
ea0846463f
Merge pull request #8031 from spycrab/qt_remove_iterative_input
...
Qt/Mapping: Remove iterative input
2019-04-24 14:03:17 +02:00
spycrab
8feacce783
Merge pull request #8028 from spycrab/issue_11690
...
Qt/NewPatchDialog: Fix crashes on entry removal
2019-04-24 02:49:09 +02:00
Jordan Woyak
ba1b335118
WiimoteEmu: Improve emulated swing.
2019-04-23 19:02:41 -05:00
Jordan Woyak
4374600367
WiimoteEmu: Implement MotionPlus parameter y0 and other cleanups.
2019-04-23 18:38:00 -05:00
Jordan Woyak
59e1c83445
WiimoteEmu/MotionPlus: Build non-hardcoded calibration data and other cleanups.
2019-04-23 18:38:00 -05:00
Jordan Woyak
9554ece874
WiimoteEmu: MotionPlus is now working.
2019-04-23 18:38:00 -05:00
Jordan Woyak
d97349af0d
SI: Replace some unnamed enums with constexpr.
2019-04-23 16:25:09 -05:00
spycrab
e97c61c196
Qt/NetPlayBrowser: Connect to session on double-click
2019-04-23 23:22:12 +02:00
spycrab
127b4e77ec
Merge pull request #8029 from spycrab/issue_11680
...
Qt/NetPlayBrowser: Prevent word wrap
2019-04-23 23:08:41 +02:00
spycrab
7f861f095a
Qt/Mapping: Remove iterative input
2019-04-23 22:59:34 +02:00
spycrab
8e3d1200da
Merge pull request #7833 from chargeflux/CodeWidgetHiding-macOS
...
Debugger: Apply hiding logic earlier (macOS)
2019-04-23 22:40:17 +02:00
spycrab
f7dcd191e3
Qt/NetPlayDialog: Move MD5 button into menubar
2019-04-23 22:37:22 +02:00
chargeflux
290275e8ea
Debugger: Move hiding logic via setHidden() to before setFloating()
2019-04-23 16:20:42 -04:00
spycrab
0ef3eced78
Qt/NetPlayBrowser: Prevent word wrap
2019-04-23 18:55:40 +02:00
spycrab
a6e7a90a4a
Qt/NewPatchDialog: Fix crashes on entry removal
2019-04-23 18:46:38 +02:00
chargeflux
cd5f42cee0
Qt: Fix add button not releasing
2019-04-22 20:32:01 -04:00
Markus Wick
2abe333ce9
Merge pull request #7287 from degasus/idle_skipping
...
Jit64 / JitArm64: Optimized idle skipping detection.
2019-04-22 23:08:03 +02:00
spycrab
e575fa92d7
Merge pull request #8005 from JosJuice/issue-11679
...
DolphinQt: Fix verify tab hash box sizes on macOS
2019-04-22 14:39:56 +02:00
spycrab
b4dfda0774
Merge pull request #8021 from spycrab/cm_overhaul
...
Qt/CheatManager: Fix a bunch of issues
2019-04-22 14:16:53 +02:00
spycrab
a154c56815
Qt/CheatsManager: Use ActionReplay constants
2019-04-22 14:09:47 +02:00
Connor McLaughlin
59c0e51f5b
Merge pull request #8000 from stenzek/more-videocommon-cleanup
...
Additional cleanup/fixes from VideoCommon merge
2019-04-22 12:50:22 +10:00
Connor McLaughlin
93be178f28
Merge pull request #7857 from stenzek/opengl-stereo
...
OGL: Fix stereoscopy
2019-04-22 12:41:12 +10:00
spycrab
fb841c75cb
Merge pull request #8022 from spycrab/issue_11676
...
Qt/GameConfigWidget: Show revision specific INIs
2019-04-21 21:38:56 +02:00
spycrab
e2abda0c9b
Qt/GameConfigWidget: Show revision specific INIs
2019-04-21 20:56:44 +02:00
spycrab
6c938cc070
Qt/VerifyWidget: Fix layout warnings
2019-04-21 20:28:55 +02:00
spycrab
4f7ff76801
Qt/CheatsManager: Fix locking defaulting to the value zero
2019-04-21 19:45:58 +02:00
spycrab
05eb91691c
Qt/CheatsManager: Fix value setting
2019-04-21 17:34:31 +02:00
Connor McLaughlin
44d5a71e27
Merge pull request #7965 from jordan-woyak/condvar-fixes
...
Minor changes to usages of std::condition_variable.
2019-04-21 23:50:53 +10:00
spycrab
0b56d49d97
Qt/CheatsManager: Deduplicate code
2019-04-21 15:38:59 +02:00
Jordan Woyak
a9ef110349
DolphinQt: Query mapping indicator colors using QPalette for better behavior with alternative themes.
2019-04-21 08:20:45 -05:00
spycrab
a6ed1b644b
Qt/CheatSearch: Fix locking being permanently disabled
2019-04-21 13:51:25 +02:00
Stenzek
356ebdf509
OGL: Set shared context state up to match main context
...
Has a better chance of avoiding recompiling if so.
2019-04-21 14:28:14 +10:00
Stenzek
6553cf8bb1
OGL: Only set GL_PROGRAM_POINT_SIZE on desktop GL
...
It is always enabled in GLES.
2019-04-21 14:28:14 +10:00
Stenzek
f2a594fad5
OGL: Fix binding error on shutdown
...
This was occurring if the imgui vertex format was bound on shutdown,
which is destroyed before the vertex buffers
2019-04-21 14:28:14 +10:00
Stenzek
9577d0641b
ShaderCache: Fix crash at shutdown on shared shader compilation fail
2019-04-21 14:28:14 +10:00
Stenzek
5c95dc61fc
OGL: Store shader source in OGLShader
...
So it can be dumped with info log when linking fails.
2019-04-21 14:28:14 +10:00
Stenzek
bbd1ae16db
OGL: Remove unused ProgramShaderCache::CompileShader()
2019-04-21 14:28:14 +10:00
Stenzek
f8c1ba409c
Replace EFBRectangle/TargetRectangle with MathUtil::Rectangle
2019-04-21 14:28:14 +10:00
JMC47
6ea43235d5
Merge pull request #7841 from iwubcode/config-mgr-onion
...
Config: Move the 'Display' settings from ConfigManager to the layered config system
2019-04-21 00:01:47 -04:00
Connor McLaughlin
ca55375d01
Merge pull request #8015 from jordan-woyak/dinput-cursor-optimize
...
ControllerInterface/DInput: Optimize cursor position updating.
2019-04-21 13:56:50 +10:00
Connor McLaughlin
5b4ebccf6b
Merge pull request #8012 from stenzek/bounding-box-shaders
...
PixelShaderGen: Don't emit bounding box shader code for old UIDs when disabled
2019-04-21 13:27:05 +10:00
Stenzek
b09a0e1a60
TextureCache: Check for out-of-range partial copy rect after scaling
2019-04-21 12:54:32 +10:00
Stenzek
3791262d96
TextureCache: Use linear filtering on y-scaled and >1xIR VRAM copies
2019-04-21 12:41:15 +10:00
Stenzek
708bd3d9f7
TextureCache: Simplify XFB reconstruction
...
This also better handles in-memory interlaced XFB data placed by the CPU
by considering the stride from the VI.
2019-04-21 12:41:15 +10:00
Stenzek
dbaba0062a
TextureDecoder: Move XFB decoding to Common
...
This was previously missing for generic (which is used on ARM).
2019-04-21 12:41:15 +10:00
degasus
6ec4ade3b6
Interpreter: Drop idle skipping in interpreter.
...
And reimplement it in the cached interpreter based on the idle loop detection.
2019-04-20 20:52:39 +02:00
degasus
55abe1a085
Jit64: Refactor WriteIdleExit helper.
2019-04-20 20:52:39 +02:00
degasus
b8b4b4a383
PowerPC: More idle loop detections.
2019-04-20 20:52:39 +02:00
degasus
55db7c7a05
Jit64: Optimized idle skipping detection.
2019-04-20 20:52:39 +02:00
Jordan Woyak
8c1310d1d1
ControllerInterface/DInput: Optimize cursor position updating.
2019-04-20 09:25:11 -05:00
Stenzek
eddde3e6c8
ShaderGen: Use interface blocks when geometry shaders are supported
...
We don't use explicit locations in OpenGL currently, so this breaks
when we use alternative names in the geometry shaders.
2019-04-20 23:44:33 +10:00
Stenzek
c6b45c5ca9
ShaderCache: Fix crash if pipeline from uid cache fails creation
2019-04-20 23:16:29 +10:00
Stenzek
96aa762d1e
PixelShaderGen: Don't emit bounding box shader code for old UIDs when disabled
...
If bounding box is enabled when a UID cache is created, then later disabled,
we shouldn't emit the bounding box portion of the shader.
Fixes pipeline creation errors on D3D12 backend for this case.
2019-04-20 23:16:14 +10:00
JosJuice
fbe7892bd2
ConfigManager: Remove TitleDatabase.h include
...
Made unnecessary by 8842a0f
.
2019-04-20 12:30:46 +02:00
JosJuice
e98f5fe665
Show Japanese GC games in Japanese when using TitleDatabase
...
Because the GC language setting cannot be set to Japanese, we
need a special condition for Japanese GC games. I accidentally
removed it in PR 7816, but here it is again in a new form.
We could do the same thing with Korean GC games if we want to
(which we couldn't do before PR 7816), but due to how spotty
GameTDB is with having Korean names for Korean GC releases,
things will be more consistent if we just use English for them.
2019-04-20 12:12:35 +02:00
Connor McLaughlin
c26f53bf84
Merge pull request #7999 from stenzek/pipeline-cache-data
...
Implement pipeline data cache for OpenGL and D3D12
2019-04-20 12:56:02 +10:00
JosJuice
f0323a59c3
DolphinQt: Fix verify tab hash box sizes on macOS
...
https://bugs.dolphin-emu.org/issues/11679
2019-04-19 19:15:04 +02:00
Jordan Woyak
779e618046
VideoCommon: Change free-look's middle-mouse action to roll the camera.
2019-04-17 05:10:11 -05:00
Jordan Woyak
1d024c8add
Fix u8 string literal C++20 compile error.
2019-04-16 16:31:12 -05:00
Markus Wick
f1620f25f4
Merge pull request #7981 from degasus/interpreter_psq_l
...
Interpreter: Fix psq_l with QUANTIZE_FLOAT.
2019-04-16 22:27:07 +02:00
Markus Wick
dbfdb16fbb
Merge pull request #7990 from MerryMage/fprf
...
EmuCodeBlock: Correct zero handling in SetFPRF for SSE4.1
2019-04-16 22:13:05 +02:00
JMC47
80d21b8ffb
Merge pull request #8002 from JMC47/CursorSlowdown
...
Slow down relative input cursor
2019-04-15 20:43:31 -04:00
JMC47
f3aaf5deaa
Reduce Relative Input Cursor Speed Dramatically
...
This makes it about 1/4th the speed which may be a bit slow, but should
work for most controllers.
2019-04-15 17:23:17 -04:00
Stenzek
00b83b4196
ShaderCache: Utilize pipeline cache data where possible
2019-04-16 00:39:43 +10:00
Stenzek
616ad378b7
OGL: Support returning pipeline cache data
2019-04-16 00:39:43 +10:00
Stenzek
5cef09e383
D3D12: Support returning pipeline cache data
2019-04-16 00:34:34 +10:00
Stenzek
61a656570e
AbstractPipeline: Support returning "cache data"
...
"Cache data" can be used to assist a driver with creating pipelines by
using previously-compiled shader ISA.
2019-04-16 00:09:47 +10:00
JosJuice
d7b5270348
Merge pull request #7988 from JosJuice/fix-wii-save-import
...
Fix importing Wii save files with sizes not divisible by 64
2019-04-14 17:17:00 +02:00
spycrab
0f8e5ab207
Merge pull request #7968 from Techjar/fix-netplay-browser-search-hang
...
Qt/NetPlayBrowser: Refresh session list asynchronously
2019-04-14 03:11:31 +02:00
JMC47
1cedbd5b82
Merge pull request #7923 from jordan-woyak/full-surface-rename
...
ControllerInterface: Rename full surface analog inputs.
2019-04-13 17:43:29 -04:00
JMC47
a891115ea3
Merge pull request #7952 from jordan-woyak/emu-shake-params
...
WiimoteEmu: Allow shake frequency and intensity to be configured.
2019-04-13 12:13:13 -04:00
Jordan Woyak
be897b41a7
ControllerInterface: Rename full surface analog inputs to be more visually dissimilar from their underlying inputs. e.g. "Full Axis X+".
2019-04-13 08:45:19 -05:00
spycrab
241166a1a5
Merge pull request #7991 from spycrab/npi_retcode
...
UICommon/NetPlayIndex: Handle non 200 HTTP return codes
2019-04-13 15:24:10 +02:00
spycrab
336edbef1e
UICommon/NetPlayIndex: Handle non 200 HTTP return codes
2019-04-13 12:58:23 +02:00
spycrab
eddcb70b84
Common/HttpRequest: Add option to allow non 200 response codes
2019-04-13 12:58:23 +02:00
Techjar
6d01f34d78
Core/NetPlayClient: Reset GCAdapter device type in UpdateDevices
...
This will ensure an origin reset is triggered on next boot.
2019-04-13 06:32:45 -04:00
Jordan Woyak
c89ddf8cba
WiimoteEmu: Allow shake frequency and intensity to be configured. Other minor cleanups.
2019-04-12 16:50:59 -05:00
JosJuice
635fd8c22c
Merge pull request #7984 from JosJuice/root-path-savestate
...
IOS/FS: Don't savestate m_root_path
2019-04-12 22:37:21 +02:00
MerryMage
e4d83a56a5
EmuCodeBlock: Correct zero handling in SetFPRF for SSE4.1
2019-04-12 20:03:42 +01:00
spycrab
2a1dee4dce
Merge pull request #7976 from spycrab/netplay_index_feedback
...
Qt/NetPlay: Show feedback for index adding
2019-04-12 14:21:42 +02:00
JosJuice
4f915760e8
Fix importing Wii save files with sizes not divisible by 64
2019-04-12 11:34:32 +02:00
Techjar
c7c4196c38
Qt/NetPlayBrowser: Refresh session list asynchronously
2019-04-11 22:02:13 -04:00
spycrab
f2e3f69d34
Merge pull request #7979 from Techjar/netplay-browser-possible-crash
...
UICommon/NetPlayIndex: Fix possible crash when Add is called again
2019-04-11 21:49:58 +02:00
spycrab
8b6bb39e82
Qt/NetPlay: Show feedback for index adding
2019-04-11 21:26:00 +02:00
spycrab
b9d110ed66
WinUpdater: Restore original executable name
2019-04-11 20:21:50 +02:00
JosJuice
822acf9ab9
IOS/FS: Don't savestate m_root_path
...
The NAND root path can be different on different systems,
so we must not savestate it.
2019-04-11 18:50:15 +02:00
JosJuice
d5ed3cbd88
Merge pull request #7922 from JosJuice/verify-disc
...
Add a Verify tab to game properties
2019-04-11 16:39:49 +02:00
spycrab
372b8552ce
Merge pull request #7974 from spycrab/winupdater
...
Move Updater to WinUpdater
2019-04-11 12:04:31 +02:00
degasus
399768c91b
Interpreter: Fix psq_l with QUANTIZE_FLOAT.
...
psq_l with QUANTIZE_FLOAT does not use the FPU, so it does not trim the precision of the u32 input data.
We already have the helper ConvertToDouble for floating point u32->u64 convertion used in lfs, so let's use it here as well.
2019-04-11 10:12:59 +02:00
Markus Wick
849ede9d0a
Merge pull request #7639 from CrystalGamma/pr-quantize
...
PowerPC: Thread state through PS (de)quantize helpers
2019-04-11 10:11:08 +02:00
CrystalGamma
e5c8b889ef
PowerPC: Thread state through PS quantize helper
2019-04-11 10:03:36 +02:00
CrystalGamma
e12cdbefa5
PowerPC: Thread state through PS dequantize helper
2019-04-11 10:03:36 +02:00
Techjar
f1e06b89da
UICommon/NetPlayIndex: Fix possible crash when Add is called again
2019-04-10 22:39:16 -04:00
Jordan Woyak
a9a4b53072
WiimoteEmu: Fix Data Report 0x32.
2019-04-10 20:17:34 -05:00
Markus Wick
d90d641ec7
Merge pull request #7889 from CrystalGamma/pr-floathelpers
...
PowerPC: Thread state through float helpers
2019-04-10 23:14:39 +02:00
Markus Wick
5a4700f589
Merge pull request #7638 from CrystalGamma/pr-addresshelpers
...
PowerPC: Thread state through the address helpers
2019-04-10 23:05:43 +02:00
spycrab
d73987e466
Move Updater to WinUpdater
2019-04-10 10:46:49 +02:00
spycrab
1f6c67a6fb
Merge pull request #7969 from Techjar/fix-browser-radio-spacing
...
Qt/NetPlayBrowser: Fix radio button spacing
2019-04-10 08:11:42 +02:00
Techjar
b8abfba20b
Qt/NetPlayBrowser: Fix radio button spacing
...
The spacing was weird due to widgets in adjacent rows messing with the
column size, so we'll make those widgets span all the columns.
2019-04-09 19:41:58 -04:00
JMC47
e10a472134
Merge pull request #7936 from jordan-woyak/numeric-setting-cleanup
...
InputCommon: Clean up how numeric settings are handled.
2019-04-09 19:30:26 -04:00
JosJuice
8709b21ac3
VolumeVerifier: Verify WAD contents
2019-04-09 14:18:46 +02:00
JosJuice
a469fb3150
VolumeVerifier: Check whether invalid blocks are unused
2019-04-09 14:18:46 +02:00
JosJuice
eced9d7c7e
VolumeVerifier: Calculate CRC32/MD5/SHA-1
2019-04-09 14:18:46 +02:00
JosJuice
4fd2d8e8c4
VolumeVerifier: Check hashes in Wii partitions
2019-04-09 14:18:45 +02:00
JosJuice
84cbd5150f
Add a Verify tab to game properties
2019-04-09 14:18:41 +02:00
spycrab
0b8ac0a22f
Merge pull request #7971 from Techjar/go-away-golf-ui
...
Qt/NetPlayDialog: Don't create golf UI when host input authority is disabled
2019-04-09 13:14:54 +02:00
spycrab
a06c7df927
Merge pull request #7954 from Techjar/netplay-disable-bba
...
Disable BBA in NetPlay
2019-04-09 13:13:05 +02:00
spycrab
627a1a90c1
Merge pull request #7938 from Techjar/netplay-pending-start-stall
...
NetPlay: Fix hosting being stuck if player leaves during pending start
2019-04-09 13:07:17 +02:00
spycrab
746849f891
Merge pull request #7964 from Techjar/fix-netplayindex-segfault
...
UICommon/NetPlayIndex: Fix random segfaults after quitting NetPlay
2019-04-09 12:45:58 +02:00
Techjar
cd6c918973
Qt/NetPlayDialog: Don't create golf UI when host input authority is disabled
2019-04-08 07:09:20 -04:00
Techjar
1b8eda827b
NetPlay: Synchronize Mii data
...
It's bundled with the Wii saves for simplicity, since it's quite small.
2019-04-08 07:06:21 -04:00
spycrab
75f1a5d0cc
Qt/NetPlayBrowser: Various small fixes
2019-04-08 00:01:23 +02:00
Jordan Woyak
5efb717873
InputCommon: Clean up how numeric settings are handled. Add units of measure to UI. Eliminate hidden magic values of the IR cursor.
2019-04-07 09:32:49 -05:00
Techjar
c90df946ba
NetPlay: Add cancel button for chunked data transfers
2019-04-07 06:22:33 -04:00
Techjar
7870704087
NetPlay: Fix hosting being stuck if player leaves during pending start
...
The logic didn't account for the case where a player leaves, so the
host would be left in a dangling state where the UI is disabled but the
game won't start, requiring a full restart of Dolphin to fix.
2019-04-07 06:22:31 -04:00
Jordan Woyak
d34a9afe04
Minor changes to usages of std::condition_variable.
2019-04-06 17:39:25 -05:00
Techjar
dc552f2cbb
UICommon/NetPlayIndex: Fix random segfaults after quitting NetPlay
...
We can't join a detached thread, so NetPlayIndex gets deleted before
the notification thread exits, creating a race condition. We switch to
using Common::Event because just sleeping leaves the UI hung on the
thread join for a few seconds.
2019-04-06 17:23:37 -04:00
JMC47
75e74315e6
Merge pull request #7689 from jordan-woyak/sdl-improve
...
ControllerInterface: SDL cleanups/fixes
2019-04-06 14:53:51 -04:00
spycrab
ca5eac0c63
Common/HttpRequest: Fix EscapeComponent leaking memory
2019-04-06 13:27:49 +02:00
spycrab
23986d48f7
Merge pull request #7945 from spycrab/np_browser
...
Qt/NetPlay: Implement session/server browser
2019-04-06 12:36:29 +02:00
spycrab
094bf0d2ff
Qt/NetPlay: Integrate NetPlayIndex
2019-04-06 12:27:30 +02:00
JMC47
a7ee00ae25
Merge pull request #7960 from Techjar/netplay-fix-segfault-on-exit
...
Qt/MainWindow: Fix segfault on exit while NetPlay is open
2019-04-05 11:48:07 -04:00
spycrab
e44433c2f6
Merge pull request #7955 from Techjar/netplay-golf-mode
...
NetPlay golf mode
2019-04-05 17:25:23 +02:00
Techjar
6c393f9ff4
Add imgui golf mode overlay
2019-04-05 07:01:03 -04:00
Techjar
1a12876330
NetPlay: Implement golf mode
...
This is an extension of host input authority that allows switching the
host (who has zero latency) on the fly, at the further expense of
everyone else's latency. This is useful for turn-based games where the
latency of players not on their turn doesn't matter.
To become the so-called golfer, the player simply presses a hotkey.
When the host is the golfer, latency is identical to normal host input
authority.
2019-04-05 07:01:03 -04:00
Techjar
ab6583b430
Qt/MainWindow: Fix segfault on exit while NetPlay is open
2019-04-05 03:12:25 -04:00
Craftyawesome
20cc4508f0
Re-order cpu emulation options from fastest to slowest
...
Based on https://bugs.dolphin-emu.org/issues/11658
Update arrays.xml
2019-04-04 10:51:12 -04:00
JosJuice
bfde5b931e
Merge pull request #7956 from spycrab/fix_np_chat_escape
...
Qt/NetPlayDialog: Fix messages being html-escaped for NetPlay Chat
2019-04-03 18:50:33 +02:00
spycrab
923151e3e3
Merge pull request #7949 from spycrab/turbo_btn
...
Qt/TAS: Implement turbo mode
2019-04-03 18:43:11 +02:00
Techjar
a318c55cec
PixelShaderGen: Fix bounding box coordinates being offset by 1 pixel
2019-04-03 10:09:05 -04:00
JMC47
a2df9beb9f
Merge pull request #7924 from jordan-woyak/info-widget-fix
...
DolphinQt: Fix unused widgets in InfoWidget from being visible.
2019-04-02 19:59:44 -04:00
spycrab
628d72c67d
Qt/NetPlayDialog: Fix messages being html-escaped for NetPlay Chat
2019-04-02 23:23:38 +02:00
CrystalGamma
b00a7045aa
PowerPC: Thread state through float helpers
2019-04-02 19:59:29 +02:00
CrystalGamma
95b06d183e
PowerPC: Thread state through the address helpers
2019-04-02 19:52:59 +02:00
Techjar
e2f1da5210
NetPlay: Move host input authority logic to client
...
This is a prerequisite for golf mode, as the client needs to be in
control of sending pad states.
2019-04-02 08:17:13 -04:00
Techjar
980c076c67
Disable BBA in NetPlay
2019-04-01 09:14:28 -04:00
Stenzek
474500f07e
Vulkan: Prevent submission of command buffer with open queries
2019-04-01 20:49:42 +10:00
Stenzek
f2d8c8d2a8
D3D12: Fix rare case where command list was executed with open queries
2019-04-01 20:49:24 +10:00
Stenzek
92f1f553d1
D3D12: Fix case where perf queries weren't flushed
2019-04-01 20:13:39 +10:00
Connor McLaughlin
32e330eb35
Merge pull request #7950 from stenzek/out-of-range-efb-copies
...
BPStructs: Gracefully handle out-of-range EFB copies
2019-04-01 13:08:11 +10:00
Stenzek
113bd60fe7
Implement D3D12 backend
2019-04-01 11:24:55 +10:00
Jordan Woyak
2b6d718636
InputCommon: Fix Win32 init race.
2019-03-31 07:46:58 -05:00
Stenzek
378b605669
BPStructs: Gracefully handle out-of-range EFB copies
...
Since the copy X and Y coordinates/sizes are 10-bit, the game can configure a
copy region up to 1024x1024. Hardware tests have found that the number of bytes
written does not depend on the configured stride, instead it is based on the
size registers, writing beyond the length of a single row. The data written
for the pixels which lie outside the EFB bounds does not wrap around instead
returning different colors based on the pixel format of the EFB.
This suggests it's not based on coordinates, but instead on memory addresses.
The effect of a within-bounds size but out-of-bounds offset
(e.g. offset 320,0, size 640,480) are the same.
As it would be difficult to emulate the exact behavior of out-of-bounds reads,
instead of writing the junk data, we don't write anything to RAM at all for
over-sized copies, and clamp to the EFB borders for over-offset copies.
2019-03-31 22:05:53 +10:00
spycrab
039b1baa3a
Qt/TAS: Implement turbo mode
2019-03-31 05:27:34 +02:00
Connor McLaughlin
39139a52e7
Merge pull request #7939 from Techjar/no-more-disabled-gfx-features
...
Qt/HacksWidget: Fix backend feature support checks
2019-03-31 11:59:34 +10:00
spycrab
0866ec3fb0
Merge pull request #7948 from spycrab/open_failed_warn
...
Qt/GameConfigEdit: Show warning if opening in an external editor fails
2019-03-31 03:37:54 +02:00
spycrab
74c1e92640
Qt/GameConfigEdit: Show warning if opening in an external editor fails
2019-03-31 03:30:41 +02:00
iwubcode
840afc2ad4
Config: Move the 'Display' settings from ConfigManager to the layered config system
2019-03-30 18:43:02 -05:00
JMC47
735a705e4d
Merge pull request #7776 from jordan-woyak/wm_devicechange
...
Add hotplug support to DInput and XInput controller backends
2019-03-30 18:41:46 -04:00
spycrab
3d84dbe649
Qt/GCMemcardManager: Don't bold the header
2019-03-30 20:22:04 +01:00
spycrab
0279d12055
Core/NetPlayServer: Integrate NetPlayIndex
2019-03-30 17:13:57 +01:00
spycrab
622ba68595
Core/Config: Add index entries to NetPlaySettings
2019-03-30 17:13:57 +01:00
spycrab
827e40d78a
UICommon: Add NetPlayIndex helper
2019-03-30 17:13:57 +01:00
spycrab
3dbf44417a
Common/HttpRequest: Implement EscapeComponent
2019-03-30 17:13:57 +01:00
JosJuice
c885fed9da
DiscIO: Make Korean GC checks in Enums.cpp less fragile
2019-03-30 12:45:28 +01:00
JosJuice
c028a84531
Volume: Add a GetCertificateChain function
2019-03-30 12:45:28 +01:00
JosJuice
abb3c5bccd
VolumeWad: Implement GetTicket
2019-03-30 12:45:17 +01:00
JosJuice
cf9ab6ddcc
DiscExtractor: Make P prefix for partition names optional
...
Also added constants for common partition types.
2019-03-30 12:45:17 +01:00
JosJuice
3014dadfa8
DiscIO: Add way of checking whether blob data size is accurate
2019-03-30 12:45:17 +01:00
JMC47
0bce1c509d
Merge pull request #7942 from jordan-woyak/gc-adapter-calib-fix
...
HW/SI: GCAdapter calibration fix.
2019-03-30 06:37:23 -04:00
Stenzek
3c455de799
FramebufferManager: Fix broken EFB peeks in GL with MSAA on
2019-03-30 03:14:29 +10:00
spycrab
963370d7e6
Merge pull request #7941 from 8times9/contextmenu
...
Qt/GameList: Set consistent capitalization for context menu
2019-03-29 21:09:49 +01:00
Jordan Woyak
4ee999723e
DolphinQt: Make MD5 result text box read only.
2019-03-29 12:31:09 -05:00
Stenzek
b685a66753
Vulkan: Fix crash when checking subgroup support on Mesa
2019-03-30 00:18:26 +10:00
Jordan Woyak
eadbdd6bc3
ControllerInterface/Win32: Prevent devcies from losing their "id" on a hotplug event.
2019-03-29 09:04:16 -05:00
Stenzek
a6bb06174f
Vulkan: Fix library load failure on Android
2019-03-29 23:36:53 +10:00
Michael M
d26c1ce24d
Add hotplug support to DInput and XInput controller backends
2019-03-29 08:01:40 -05:00
Michael M
92ca6e124e
Add ControllerInterface::Win32 to wrap XInput and DInput
2019-03-29 08:01:39 -05:00
Techjar
5d37b2b951
Qt/HacksWidget: Fix backend feature support checks
2019-03-29 08:45:21 -04:00
Jordan Woyak
a015851b02
HW/SI: GCAdapter calibration fix.
2019-03-29 06:15:58 -05:00
Stenzek
604ab67c7f
Vulkan: Simplify perf queries using vkGetQueryPoolResults
2019-03-29 20:54:44 +10:00
Stenzek
6d40ea8553
Vulkan: Fix barrier validation layer errors for bounding box
2019-03-29 20:54:44 +10:00
Stenzek
23a655217c
Vulkan: Fix validation layer error for unbound texture layouts
2019-03-29 20:54:44 +10:00
Stenzek
087b11e780
TextureCacheBase: Fix possible crash on shutdown with deferred EFB copies
2019-03-29 20:54:44 +10:00
Stenzek
427dd45151
Vulkan: Simplify command buffer fence tracking
2019-03-29 20:54:44 +10:00
Connor McLaughlin
f3fadd7302
Merge pull request #7869 from stenzek/d3dcommon
...
D3D: Move sharable D3D11/D3D12 code to common library
2019-03-29 20:40:06 +10:00
Connor McLaughlin
78cf615a9b
Merge pull request #7937 from Techjar/netplay-defer-efb-invalidation
...
NetPlay: Synchronize EFB access cache options
2019-03-29 20:31:15 +10:00
Stenzek
d66d778bae
PixelShaderGen: Use subgroup reduction operations for bounding box
2019-03-29 20:06:56 +10:00
Stenzek
6561850f2b
Vulkan: Support subgroup reduction operations via GL_KHR_shader_subgroup
2019-03-29 20:06:56 +10:00
Stenzek
86da282570
OGL: Support subgroup reduction operations via GL_NV_shader_thread_shuffle
2019-03-29 20:06:56 +10:00
Connor McLaughlin
1304e963ad
Merge pull request #7895 from stenzek/framebuffer-corruption
...
FramebufferManager: Don't discard in ReinterpretPixelData
2019-03-29 20:03:13 +10:00
Connor McLaughlin
154eeae8ae
Merge pull request #7915 from stenzek/bbox-scaled-update
...
VideoBackends: Scale bounding box rectangle in the pixel shader
2019-03-29 19:59:25 +10:00
Stenzek
d0d010f854
D3D11: Make stateman a unique_ptr
2019-03-29 19:55:00 +10:00
Stenzek
3b86c93285
VertexManagerBase: Increase vertex/uniform buffer sizes
...
ZTP was uploading 10MB+ of uniforms per frame, reducing paralellism by
forcing GPU waits.
2019-03-29 19:52:38 +10:00
Stenzek
2a4bca8b4a
VideoBackends: Verify validity before doing full renderer init
...
Prevents attempting to create invalid MSAA configurations, for example.
2019-03-29 19:52:38 +10:00
Stenzek
1151a1238f
D3D11: Use ComPtr smart pointer where possible
2019-03-29 19:52:38 +10:00
Stenzek
3d8014beb5
D3D11: Use D3DCommon where appropriate
2019-03-29 19:52:38 +10:00
Stenzek
ea15080d8f
Add D3DCommon (shared code between D3D11 and D3D12)
2019-03-29 19:52:38 +10:00
Stenzek
f6641b7e4f
Vulkan: Use Common::DynamicLibrary
2019-03-29 19:52:38 +10:00
Stenzek
a4f7c04470
Common: Add DynamicLibrary helper class
2019-03-29 19:52:33 +10:00
8times9
8c37214bee
Qt/GameList: Set consistent capitalization for context menu
2019-03-28 21:22:46 -05:00
Stenzek
e9cfcf4632
ShaderCache: Don't create invalid logic op pipelines
...
uint_output will never be set unless logic ops are enabled. Also clears
the bits so we're not compiling unused pixel shaders on the other
backends.
2019-03-28 20:35:02 +10:00
Stenzek
5732769a3c
ShaderCache: Set correct primitive in dummy ubershader pipelines
2019-03-28 20:35:02 +10:00
Stenzek
7dd9d74eec
RenderBase: Add EFBHasAlphaChannel() helper
2019-03-28 20:35:02 +10:00
Techjar
6e5d92e3c3
NetPlay: Synchronize EFB access cache options
2019-03-28 00:53:07 -04:00
spycrab
9b6c9252e4
Merge pull request #7932 from spycrab/qt_tas_fixes
...
Qt/TAS: Some fixes
2019-03-27 18:37:35 +01:00
JosJuice
6a18bf4d2e
Merge pull request #7935 from JosJuice/cli-arg-movie
...
DolphinQt: Add support for the --movie parameter
2019-03-27 18:34:24 +01:00
JMC47
b4b0ebae27
Merge pull request #7934 from stenzek/stretched-efb-peeks
...
FramebufferManager: Fix EFB peek cache stretching last tile
2019-03-27 10:53:47 -04:00
Stenzek
92fa6c34cd
FramebufferManager: Fix EFB pokes being offset by 1 in D3D
2019-03-27 23:28:34 +10:00
JosJuice
6451496776
DolphinQt: Add support for the --movie parameter
...
Regression from DolphinWX.
2019-03-27 14:26:17 +01:00
Stenzek
c28393d6f9
FramebufferManager: Fix EFB peek cache stretching last tile
2019-03-27 22:12:40 +10:00
JMC47
a1f53716dc
Merge pull request #7893 from jordan-woyak/mapping-ui-cleanup
...
DolphinQ: Mapping UI cleanups.
2019-03-26 20:30:30 -04:00
spycrab
e222b91953
Merge pull request #7929 from spycrab/np_chat_toggle
...
NetPlayChatUI: Add activate chat hotkey
2019-03-26 22:35:26 +01:00
spycrab
f7897778ff
NetPlayChatUI: Add activate chat hotkey
2019-03-26 18:13:32 +01:00
spycrab
4ad67f471c
Qt/TAS: Improve layout
2019-03-26 01:18:11 +01:00
spycrab
04583b17da
Qt/TAS: Fix issue #11620
2019-03-26 00:38:25 +01:00
JMC47
e636b3e712
Merge pull request #7871 from jordan-woyak/wm-real-cleanup
...
WiimoteReal: Improve state changes and code cleanups.
2019-03-25 19:28:22 -04:00
spycrab
fdb8b4af13
Qt/NetPlayDialog: Change buffer size message color
2019-03-25 10:09:21 +01:00
Stenzek
16294acd2a
VideoBackends: Scale bounding box rectangle in the pixel shader
2019-03-25 18:47:58 +10:00
Mat M
20999db93c
Merge pull request #7928 from JosJuice/ipl-hashes
...
Remove invalid IPL hashes (NTSC-U and NTSC-J use same IPL)
2019-03-24 14:12:17 -04:00
JosJuice
d42fa8f80e
Remove invalid IPL hashes (NTSC-U and NTSC-J use same IPL)
...
See https://bugs.dolphin-emu.org/issues/11467 . We now only have
the hashes that have been confirmed on Redump.
For the reference, MAME's list of bad GameCube IPL dumps:
80b2ca6088/src/mame/drivers/gamecube.cpp (L152-L158)
2019-03-24 14:19:23 +01:00
Stenzek
cff60f5ba0
FramebufferManager: Only clear tile array when valid
...
When looking into the Faron Woods fifolog, I noticed this code was quite
high in the profile (~10%). Clearing 4096 entries from the vector isn't
needed every draw, we only need to do this when the cache was actually
valid in the first place.
Should provide a slight general performance boost.
2019-03-24 15:03:04 +10:00
Jordan Woyak
d106169a83
DolphinQt: Fix unused widgets in InfoWidget from being visible.
2019-03-23 20:20:09 -05:00
spycrab
c89139d75d
Merge pull request #7903 from spycrab/imgui_np_chat
...
Add imgui-based Netplay Chat
2019-03-23 21:11:33 +01:00
spycrab
7cfb626a83
Add imgui-based Netplay Chat
2019-03-23 20:13:24 +01:00
spycrab
672b582bec
Merge pull request #7918 from spycrab/iokit_refactor
...
InputCommon/OSX: Refactor IOKit controller interface
2019-03-22 21:18:27 +01:00
JosJuice
0b3385ac1f
Merge pull request #7919 from JosJuice/disc-extractor-cert-h3
...
DiscExtractor: Fix extracting certificate chain and H3 hashes
2019-03-22 17:44:47 +01:00
spycrab
80fd01c3c3
InputCommon/OSX: Refactor IOKit controller interface
2019-03-22 14:04:30 +01:00
Tilka
0a1aacb5d0
Merge pull request #7906 from jordan-woyak/leak-fix
...
DolphinQt/InputCommon: Fix a few memory leaks.
2019-03-21 23:26:54 +00:00
Tilka
87cf94ec86
Merge pull request #7914 from stenzek/partial-update-infinite-loop
...
TextureCacheBase: Fix infinite loop in DoPartialTextureUpdates
2019-03-21 23:22:17 +00:00
Tilka
b016417106
Merge pull request #7907 from jordan-woyak/search-close-with-esc
...
DolphinQt: Make Ctrl+F show the game list search and escape close it.
2019-03-21 23:20:48 +00:00
spycrab
094c852158
Merge pull request #7916 from spycrab/issue_11623
...
MacUpdater: Fix updater not closing after update is completed
2019-03-21 23:42:06 +01:00
JosJuice
c558803cbd
DiscExtractor: Fix extracting certificate chain and H3 hashes
...
Dolphin is currently not using this data, but still,
the way it was being extracted was not at all correct.
2019-03-21 23:07:24 +01:00
Jordan Woyak
94c4975b5d
DolphinQt: Make Ctrl+F show the game list search and select the search text if already open. Escape closes.
2019-03-21 17:06:16 -05:00
spycrab
d1f7f0fcc0
Qt/AudioPane: Fix volume box not keeping consistent width
2019-03-21 14:38:12 +01:00
spycrab
544f6d547d
MacUpdater: Fix updater not closing after update is completed
2019-03-21 13:47:23 +01:00
spycrab
8cfbbbe9dc
VideoCommon/RenderBase: Disable backculling for ImGui
2019-03-21 13:16:21 +01:00
spycrab
61350b3d98
Core/Host: Allow frontends to block inputs
2019-03-21 13:16:21 +01:00
spycrab
0a3279ae6b
Fix ImGui key mapping Enter to the numpad
2019-03-21 13:16:21 +01:00
spycrab
fcd0dbef2c
Merge pull request #7901 from spycrab/issue_11585
...
Qt/Mapping: Use QGridLayout in a few more places
2019-03-20 23:53:01 +01:00
spycrab
e8b3c6cb3e
Qt/Mapping: Use QGridLayout in a few more places
2019-03-20 23:46:45 +01:00
Stenzek
bf0b52efc6
TextureCacheBase: Fix infinite loop in DoPartialTextureUpdates
2019-03-20 20:05:51 +10:00
Jordan Woyak
b53636827b
ControllerInterface: Unbreak DirectInput POV Hats having bad values on init.
2019-03-19 16:05:49 -05:00
LAGonauta
99a35568ca
Allow XAudio2 to be selected as a surround backend.
2019-03-18 09:21:40 -03:00
LAGonauta
f37ff190e4
Added DPL2 decoder to XAudio2 and XAudio2_7 backends.
2019-03-18 09:06:41 -03:00
Jordan Woyak
725d34b2f0
DolphinQt/InputCommon: Fix a few memory leaks.
2019-03-17 18:31:41 -05:00
Jordan Woyak
0bdfa19650
ControllerInterface: SDL: Replace unclear bool parameter with enum class.
2019-03-17 08:53:53 -05:00
Jordan Woyak
4fb68c530b
ControllerInterface: SDL cleanup and FF effect fixes.
2019-03-17 08:53:13 -05:00
spycrab
c4036d2d6a
Qt/MD5Dialog: Make dialog modal
2019-03-16 18:54:15 +01:00
JMC47
7acefe8a28
Merge pull request #7898 from spycrab/qt_netplay_empty_chat
...
Qt/NetPlayDialog: Prevent players from sending empty chat messages
2019-03-16 13:09:28 -04:00
spycrab
a40b5f9133
Merge pull request #7900 from spycrab/qt_general_align
...
Qt/GeneralPane: Align "Auto Update" on macOS
2019-03-16 17:57:23 +01:00
JMC47
ae533185c4
Merge pull request #7899 from spycrab/qt_netplay_bold
...
Qt/NetPlayDialog: Don't bold the player table headers
2019-03-16 12:12:30 -04:00
JMC47
2a9f01c1ba
Merge pull request #7897 from spycrab/qt_mapping_dialog
...
Qt/PadMappingDialog: Improve layout
2019-03-16 12:07:43 -04:00
spycrab
502cba255f
Qt/GeneralPane: Align "Auto Update" on macOS
2019-03-16 16:20:21 +01:00
spycrab
2046f93de8
Qt/NetPlayDialog: Don't bold the player table headers
2019-03-16 15:44:03 +01:00
spycrab
e64b6d27c8
Qt/NetPlayDialog: Prevent players from sending empty chat messages
2019-03-16 15:33:38 +01:00
spycrab
19dfd4d7ab
Qt/PadMappingDialog: Improve layout
2019-03-16 15:12:20 +01:00
JosJuice
08ca9ec21f
Merge pull request #7884 from JosJuice/save-movie-on-exit
...
DolphinQt: Save movie when closing emulation
2019-03-16 14:58:16 +01:00
Stenzek
8aa0ea10d9
FramebufferManager: Don't discard in ReinterpretPixelData
...
This was causing the depth buffer to be discarded as well, which
has an effect on mobiles (doesn't get loaded into tile memory).
If we find this is hindering performance (remember, the EFB is
only a 640x528 texture), it may be worth changing the interface to
support discarding only the colour buffer.
2019-03-16 23:45:08 +10:00
Jordan Woyak
9cb17b062c
DolphinQ: Mapping UI cleanups.
2019-03-15 18:32:25 -05:00
Connor McLaughlin
861fc42fc9
Merge pull request #7891 from kvark/vk-frame-view
...
[vk] Use proper view type of framebuffer images
2019-03-16 09:26:01 +10:00
JosJuice
c71216419b
Merge pull request #7874 from vadosnaprimer/ffv1_fix
...
FFV1 fix
2019-03-15 23:17:02 +01:00
Tilka
c57e5701cd
Merge pull request #7879 from spycrab/open_gc_save_folder
...
Qt/GameList: Implement 'Open gamecube save folder'
2019-03-15 18:25:19 +00:00
Dzmitry Malyshau
4173a8f545
Use proper view type of framebuffer images
2019-03-15 12:24:39 -04:00
spycrab
90522a7666
Qt/GameList: Implement 'Open gamecube save folder'
2019-03-15 14:22:54 +01:00
JMC47
011ecd92e8
Merge pull request #7829 from jordan-woyak/detect-input-improve
...
ControllerInterface/DolphinQt: Improve input detection.
2019-03-13 19:00:24 -04:00
JosJuice
bc9e9caf19
Merge pull request #7888 from lioncash/const
...
UICommon/ResourcePack: Mark ResourcePack's operator== as const
2019-03-13 21:41:07 +01:00
spycrab
635afc1db4
Merge pull request #7883 from spycrab/qt_no_dark_mode
...
Qt: Don't use 'Dark Mode'
2019-03-13 21:19:20 +01:00
Lioncash
6045b44203
UICommon/ResourcePack: Provide inequality operator to complement equality operator
...
Provides symmetrical behavior with the equality operator.
2019-03-13 15:55:20 -04:00
Lioncash
9d096a5e16
UICommon/ResourcePack: Mark ResourcePack's operator== as const
2019-03-13 15:53:30 -04:00
Lioncash
02da306d9a
DolphinQt/Debugger/RegisterColumn: Add HID registers to the register pane
...
Adds the Hardware Implementation-Dependent registers to the register
pane, which makes it much nicer to see which hardware-specific features
are enabled or disabled.
2019-03-13 15:45:28 -04:00
Tilka
7b354fa7ac
Merge pull request #7637 from CrystalGamma/pr-crhelpers
...
PowerPC: Factor out CR helpers into POD class
2019-03-13 18:12:52 +00:00
JosJuice
185b1cf90c
DolphinQt: Fix OnStopRecording/OnExportRecording logic
2019-03-13 17:35:20 +01:00
JosJuice
6c89957cf1
DolphinQt: Save movie when closing emulation
...
Missing feature from DolphinWX.
2019-03-13 15:40:36 +01:00
spycrab
339914f56d
Qt: Don't use 'Dark Mode'
2019-03-13 14:30:43 +01:00
Mat M
7944a055a6
Merge pull request #7876 from JosJuice/4-char-window-title
...
Fix title database not working when running games with 4-char game IDs
2019-03-12 05:17:33 -04:00
Stenzek
cce7ac43d4
FramebufferManager: Fix panic in VertexManager with large EFB depth poke batches
2019-03-12 18:26:07 +10:00
JosJuice
d879283e2d
Fix title database not working when running games with 4-char game IDs
...
Regression from 8842a0f
.
2019-03-12 08:42:05 +01:00
JMC47
22e7419747
Merge pull request #7838 from stenzek/efb-tile-cache
...
FramebufferManager: Implement EFB tile cache
2019-03-12 03:10:20 -04:00
Jordan Woyak
49218c32ed
WiimoteReal: Improve state changes and minor code cleanups.
2019-03-11 15:46:04 -05:00
feos
7fd940411b
decrease gop size (keyint)
...
this makes seeking a lot smoother (especially at high resolutions), while only adding less than 1% of filesize with this codec.
2019-03-11 22:17:13 +03:00
feos
005e60fa22
change pixel format from BGRA to BGR0
...
for this kind of footage carrying alpha information makes no sense, and it additionally complicates things by hugely damaging compatibility of the resulting video. after this change alone the video becomes compatible with VfW/WinAPI and tools that rely on it (avisynth, virtualdub).
fixes https://bugs.dolphin-emu.org/issues/11141 and https://bugs.dolphin-emu.org/issues/10193
2019-03-11 22:17:12 +03:00
spycrab
909e9322e7
Merge pull request #7875 from spycrab/qt_msgbox_fixes
...
ModalMessageBox: Remove superfluous buttons and ensure correct parent
2019-03-11 19:36:19 +01:00
spycrab
63fd931245
ModalMessageBox: Remove superfluous buttons and ensure correct parent
2019-03-11 18:24:59 +01:00
JMC47
9e4ab87a34
Merge pull request #7765 from AdmiralCurtiss/fzero-save-file-out-of-bounds
...
GCMemcard: Fix out of bounds access in F-Zero GX checksum calculation.
2019-03-11 12:40:03 -04:00
spycrab
8293724f4e
Merge pull request #7834 from Techjar/netplay-dialog-declutter
...
Qt/NetPlayDialog: Move most options into a menu bar
2019-03-11 17:27:55 +01:00
Jordan Woyak
224e678cf8
WiimoteEmu: Fix a config change callback causing a crash on exit.
2019-03-09 06:51:37 -06:00
Stenzek
9293c82b24
DolphinQt: Add option for deferred EFB cache invalidation
2019-03-09 12:36:32 +10:00
Stenzek
a218a794cb
FramebufferManager: Implement deferred EFB cache invalidation
2019-03-09 12:24:04 +10:00
Stenzek
6bc4bfd26a
FramebufferManager: Implement EFB tile cache
...
The new tile cache is dynamic in size and can be turned on/off.
2019-03-09 12:23:33 +10:00
Stenzek
65216c9e87
VideoConfig: Add SupportsPartialDepthCopies to backend info
...
D3D11 doesn't support partial copies of depth buffers via
CopySubResource(), so we need to use a different path for the EFB cache.
2019-03-09 12:19:53 +10:00
CrystalGamma
e3075f3834
PowerPC: Factor out CR helpers into POD class
2019-03-08 20:42:09 +01:00
Tillmann Karras
1790497789
Work around GCC 8.2 ICE
2019-03-08 09:47:06 +00:00
spycrab
db2542886a
Merge pull request #7844 from spycrab/updatecommon_electric_boogaloo
...
UpdaterCommon: Move most of the programs here
2019-03-07 19:09:35 +01:00
Connor McLaughlin
7d17163ce8
Merge pull request #7862 from spycrab/macos_vulkan_crash
...
VideoCommon/RenderBase: Don't destroy pipelines that are in use
2019-03-07 23:15:48 +10:00
spycrab
ae8412b901
Merge pull request #7858 from spycrab/more_padding
...
Qt: Increase padding a bit
2019-03-07 14:03:17 +01:00
spycrab
f72652f690
Revert "Vulkan: Show backend as Vulkan (MoltenVK) on macOS"
2019-03-07 02:05:59 +01:00
spycrab
9ca394bbea
VideoCommon/RenderBase: Don't destroy pipelines that are in use
2019-03-07 01:59:46 +01:00
spycrab
a5534ec950
Vulkan: Show backend as Vulkan (MoltenVK) on macOS
2019-03-06 15:25:54 +01:00
spycrab
f7e93a6556
Qt/ModalMessageBox: Use Warning instead of Critical icon for questions
2019-03-06 13:54:43 +01:00
spycrab
470b9e68e7
Qt: Increase padding a bit
2019-03-06 13:46:00 +01:00
Tilka
a865cc0bf6
Merge pull request #7806 from jordan-woyak/wiimote-emu-swing-improve
...
WiimoteEmu: Reimplement tilt/swing/camera/orientation data using matrix math.
2019-03-05 23:37:00 +00:00
Techjar
b65faa0549
Qt/NetPlayDialog: Move most options into a menu bar
...
This eliminates the clutter of checkboxes at the bottom of the window.
A QAction within a QMenu cannot have a tooltip however, so they have
been removed and the options will be documented on the wiki.
2019-03-05 05:56:22 -05:00
Mat M
5d7701dec2
Merge pull request #7856 from lioncash/unused
...
DolphinQt/MenuBar: Remove unused ModalMessageBox instance
2019-03-04 23:04:36 -05:00
Mat M
86fd8e25f7
Merge pull request #7854 from Techjar/ini-editor-menus
...
Qt/GameConfigEdit: Use QPushButton instead of QToolButton for presets menu
2019-03-04 22:29:16 -05:00
Lioncash
3e0854c4aa
DolphinQt/MenuBar: Remove unused ModalMessageBox instance
2019-03-04 20:16:45 -05:00
Techjar
86d036ec4b
Qt: Remove "What's this?" button from modal message boxes
2019-03-04 18:55:22 -05:00
Techjar
d44b1b563a
Qt/GameConfigEdit: Use QPushButton instead of QToolButton for presets menu
...
QToolButton looks ugly on macOS, and doesn't seem appropriate for this
use case anyways.
2019-03-04 18:39:25 -05:00
spycrab
70da86f1c3
Qt: Use ModalMessageBox everywhere
2019-03-04 21:53:02 +01:00
spycrab
d1cb79f644
QtUtils: Add ModalMessageBox
2019-03-04 21:48:23 +01:00
Connor McLaughlin
a59010fa29
Merge pull request #7851 from Tilka/efb_stats
...
VideoCommon: add EFB peek/poke stats
2019-03-04 15:28:22 +10:00
Tillmann Karras
05fa667d03
VideoCommon: add EFB peek/poke stats
2019-03-04 02:49:59 +00:00
Mat M
191ef76da2
Merge pull request #7775 from chargeflux/QComboBoxBGColorFix-macOS
...
Fix QComboBox background and transparency workaround on macOS
2019-03-03 20:52:32 -05:00
Jordan Woyak
c389d68186
ControllerInterface/DolphinQt: Make mapping "all devices" way less hacky.
2019-03-03 18:39:02 -06:00
Jordan Woyak
48b69ca018
ControllerInterface: Input detection improvements.
2019-03-03 18:36:16 -06:00
spycrab
13b2b93d3d
Merge pull request #7846 from spycrab/qt_no_ticks
...
Qt/MappingButton: Don't show ticks
2019-03-04 01:29:48 +01:00
Mat M
66a8220011
Merge pull request #7845 from jordan-woyak/elided-button-fix
...
DolphinQt: Fix ElidedButton (MappingButton) from growing with long text.
2019-03-03 18:53:01 -05:00
Mat M
503b96c617
Merge pull request #7848 from jordan-woyak/config-change-callbacks
...
Common/Config: Add a utility class to defer config change callbacks.
2019-03-03 18:44:34 -05:00
Jordan Woyak
1cae9b9b39
DolphinQt: Fix ElidedButton (MappingButton) from growing with long text.
2019-03-03 17:41:48 -06:00
Jordan Woyak
bbc6bf5294
Common/Config: Add a utility class to suppress config change callbacks.
2019-03-03 17:35:22 -06:00
Mat M
2eb9140e07
Merge pull request #7850 from jordan-woyak/device-and-profile-dropdown-fix
...
DolphinQt: Prevent contents of device and profile dropdowns from throwing off layout.
2019-03-03 18:33:16 -05:00
Jordan Woyak
031149cc1d
DolphinQt: Prevent contents of device and profile dropdowns from throwing off layout.
2019-03-03 16:09:24 -06:00
spycrab
2dcb703a1e
Merge pull request #7842 from spycrab/win_updater_hidpi
...
Updater: Support HiDPI
2019-03-03 22:46:19 +01:00
Jordan Woyak
4db4840d7c
WiimoteEmu: Reimplement tilt/swing/camera/orientation data using matrix math.
2019-03-03 12:43:25 -06:00
spycrab
0d203cf0bb
Qt/GCMemcardManager: Make message boxes modal
2019-03-03 16:36:58 +01:00
spycrab
326e2fb300
Qt/FIFOPlayerWindow: Make message box modal
2019-03-03 16:26:23 +01:00
spycrab
1ba810901d
Qt/MappingWindow: Make message boxes modal
2019-03-03 16:19:50 +01:00
spycrab
103cb430f4
Qt/ControllerWindow: Make message boxes modal
2019-03-03 16:16:25 +01:00
spycrab
7f9084f87f
Qt/USBDeviceATWhitelistD: Make message boxes modal
2019-03-03 16:12:12 +01:00
spycrab
606c61e7c9
Settings/InterfacePane: Make message box modal
2019-03-03 16:05:07 +01:00
spycrab
0c886b5e3c
Settings/GeneralPane: Make message boxes modal
2019-03-03 15:56:23 +01:00
spycrab
386accd2c8
Qt/MappingButton: Don't show ticks
2019-03-03 15:49:24 +01:00
spycrab
19bf2c166d
UpdaterCommon: Move most of the programs here
2019-03-03 15:02:44 +01:00
spycrab
2a3c075330
Merge pull request #7843 from spycrab/mac_update_label
...
MacUpdater: Properly display and truncate update messages
2019-03-03 13:30:43 +01:00
spycrab
833cb88c38
MacUpdater: Properly display and truncate update messages
2019-03-03 13:27:18 +01:00
spycrab
1e13ebd091
Updater: Support HiDPI
2019-03-03 12:56:26 +01:00
Mat M
8156df2758
Merge pull request #7837 from jordan-woyak/deadzone-math-fix
...
ControllerEmu: Deadzone math fix.
2019-03-03 02:32:04 -05:00
Mat M
7a8ddbaccb
Merge pull request #7840 from jordan-woyak/game-config-save-fix
...
DolphinQt: Fix invalid error message when trying to save a zero-sized game config.
2019-03-03 02:27:12 -05:00
Jordan Woyak
2cec5d0a08
DolphinQt: Fix invalid error message when trying to save a zero-sized game config.
2019-03-02 21:23:39 -06:00
Jordan Woyak
ecb67cf815
ControllerEmu: Deadzone math fix.
2019-03-01 17:40:10 -06:00
Tillmann Karras
24ba3bf2f2
TextureConversionShader: fix XFB decoding shader
2019-03-01 21:54:33 +00:00
spycrab
3c2ebec84e
Merge pull request #7828 from spycrab/updatecommon2
...
UpdaterCommon: Prevent duplicate downloads and respect symlinks
2019-02-28 13:04:15 +01:00
spycrab
7b66b3de8d
UpdaterCommon: Prevent duplicate downloads and respect symlinks
2019-02-28 12:59:38 +01:00
Tilka
6be35422e9
Merge pull request #7832 from stenzek/xfb-decoding-regression
...
TextureCache: Fix GPU decoding of XFB copies
2019-02-28 11:03:25 +00:00
Stenzek
8192c0dd48
TextureConversionShader: Fix XFB decoding shader for D3D
...
D3D has no mix() equivalent with a bool parameter. Compilers should be
able to optimize the ternary into a select anyway.
2019-02-28 20:43:50 +10:00
Stenzek
21d81f99ff
VideoBackends: Fix GPU decoding of XFB buffers
...
Was using UNORM instead of UINT, resulting in invalid values.
2019-02-28 20:35:22 +10:00
Stenzek
db6763019d
TextureCache: Fix GPU decoding of XFB copies not falling back to CPU
2019-02-28 20:19:37 +10:00
Stenzek
7f0111b022
TextureCache: Fix EFB2RAM copies at >1xIR sampling out-of-range
2019-02-28 20:11:46 +10:00
chargeflux
77777cd1d7
Fix QComboBox background and transparency workaround on macOS
2019-02-26 17:03:38 -05:00
spycrab
902e407ae5
Merge pull request #7823 from spycrab/updatercommon
...
Move shared Updater logic into UpdaterCommon
2019-02-26 22:15:42 +01:00
spycrab
f10fdce158
Merge pull request #7825 from spycrab/fileutil_osx_path
...
Common/FileUtil: Fix GetExePath() cutting off the bundle name
2019-02-26 21:56:27 +01:00
spycrab
873d22b8b2
Merge pull request #7826 from spycrab/issue_11586
...
MacUpdater: Set LSUIElement to true
2019-02-26 21:52:45 +01:00
spycrab
f0b749d8e2
MenuBar: Implement proper update-capabilities check
2019-02-26 20:42:55 +01:00
spycrab
d0d85c15b4
MacUpdater: Set LSUIElement to true
2019-02-26 20:26:52 +01:00
spycrab
3e3f6922c0
Common/FileUtil: Fix GetExePath() cutting off the bundle name
2019-02-26 20:00:23 +01:00
spycrab
9c84524684
Move shared Updater logic into UpdaterCommon
2019-02-26 19:27:36 +01:00
spycrab
0ebf3b90e3
MacUpdater: Fix permissions some more
2019-02-26 17:16:04 +01:00
Tilka
19f4772e47
Merge pull request #7816 from JosJuice/titledatabase-edge-cases
...
Fix edge cases in TitleDatabase, cover downloading, Gecko code downloading
2019-02-26 04:25:45 +00:00
Tilka
02f5a7505f
Merge pull request #7821 from jordan-woyak/emu-turntable-effect-dial-fix
...
WiimoteEmu: Fix turntable effect dial mapping.
2019-02-26 04:22:45 +00:00
Tilka
6ce7f44b8a
Merge pull request #7753 from stenzek/videocommon-all-the-things
...
Move a significant amount of video backend logic to VideoCommon
2019-02-26 04:21:05 +00:00
Jordan Woyak
4b830ddc26
WiimoteEmu: Fix turntable effect dial mapping.
2019-02-25 15:54:36 -06:00
Tillmann Karras
8396ad541b
DolphinQt: clean up includes
2019-02-25 20:15:12 +00:00
Tillmann Karras
8b330e1ca3
Discord: fix typo
2019-02-25 19:31:49 +00:00
JosJuice
71e6243c54
TitleDatabase: Don't hardcode HBC IDs that actually are in GameTDB
2019-02-25 19:55:49 +01:00
JosJuice
9df763b4ac
TitleDatabase: Don't merge multiple languages into same map
...
Instead of selecting languages based on the user config at the time
of TitleDatabase creation and merging the different languages into one
map for GC and one map for Wii, have one map for each language, and
have the caller supply the language they want. This makes us not need
the IsGCTitle function, which is inaccurate for IDs that start with D.
2019-02-25 19:55:46 +01:00
JosJuice
8842a0f402
Keep track of GameTDB ID separately from game ID
...
The difference between Dolphin's game IDs and GameTDB's game IDs
is that GameTDB uses four characters for non-disc titles, whereas
Dolphin uses six characters for all titles.
This fixes:
- TitleDatabase considering Datel discs to be NHL Hitz 2002
- Gecko code downloading not working for discs with IDs starting with P
- Cover downloading mixing up discs with channels (e.g. Mario Kart Wii
and Mario Kart Channel) and making extra HTTP requests. (Android was
actually doing a better job at this than DolphinQt!)
2019-02-25 19:54:25 +01:00
Mat M
d27036eb77
Merge pull request #7814 from JosJuice/overwrite-aspect-mode
...
VideoConfig: Don't overwrite aspect_mode with suggested_aspect_mode
2019-02-25 13:29:03 -05:00
Mat M
fad9c0cc93
Merge pull request #7813 from jordan-woyak/wiimote-emu-ir-enable-fix
...
WiimoteEmu: Minor IR Camera behavior fix.
2019-02-25 13:28:14 -05:00
spycrab
96786d0501
MacUpdater: Retain file permissions
2019-02-25 10:14:26 +01:00
Jordan Woyak
d64f29d234
WiimoteEmu: Minor IR Camera behavior accuracy fix.
2019-02-23 16:40:47 -06:00
Tilka
83ff3aa691
Merge pull request #7815 from JosJuice/elf-dol-size
...
Don't show asterisk next to DOL/ELF size in game list
2019-02-23 15:46:03 +00:00
JosJuice
5ace78bf20
Don't show asterisk next to DOL/ELF size in game list
2019-02-23 16:17:39 +01:00
JosJuice
ea7b96342b
VideoConfig: Don't overwrite aspect_mode with suggested_aspect_mode
...
Unnecessary since b93b7ec
. It was needed before that commit becase
RenderBase.cpp only was checking the value of aspect_mode, not
suggested_aspect_mode.
2019-02-23 16:00:18 +01:00
Jordan Woyak
58f1ff3773
WiimoteEmu: Minor accuracy fixes.
2019-02-20 17:44:55 -06:00
Stenzek
f039149198
Move most backend functionality to VideoCommon
2019-02-19 16:57:54 +10:00
Stenzek
933f3ba008
TextureCache: Don't copy out-of-range rectangles when stitching textures
...
This can cause driver crashes or GPU hangs if we do.
2019-02-17 16:35:43 +10:00
Stenzek
2165523fdc
TextureConverterShader: Write EFB2Tex XFB copies with alpha value of 1
...
This way we don't end up with artifacts of the EFB's alpha values in
frame dumps. XFB copies loaded from RAM also set the alpha to 1, so this
will match.
2019-02-17 16:35:43 +10:00
Stenzek
50bdcb8d9c
TextureCache: Bind textures/samplers after loading all textures
...
Since loading textures can result in rendering, e.g. partial copies, we
don't want to disturb partially-bound GX state.
2019-02-17 16:35:43 +10:00
Stenzek
eabde77892
CMake: Add an ENABLE_NOGUI option
2019-02-15 18:40:46 +10:00
Stenzek
836f76da89
DolphinNoGUI: Runtime selection of platform
2019-02-15 18:40:46 +10:00
Stenzek
f9869cb216
Vulkan: Support runtime selection of WSI
2019-02-15 18:40:46 +10:00
LAGonauta
c209d07c96
Removed FFDShow DPL2 decoder
2019-02-13 22:52:41 -02:00
LAGonauta
f4cf1e4f49
Removed zeroing-out the LFE as it is not needed anymore.
...
Also removed minimum number of frames needed when decoding DPL2, and use
std::numeric_limits to clamp the samples when needed.
Clamping is still needed, but those samples are much rarer now and depend
on the game.
2019-02-13 22:52:40 -02:00
LAGonauta
fdfd9d6953
Cleaned up PulseAudio as we now use FreeSurround
2019-02-13 22:52:40 -02:00
LAGonauta
df631f0d75
Swapped FFDShow's DPL2 decoder by FreeSurround
...
Added class in AudioCommon for the surround decoder
2019-02-13 22:52:40 -02:00
JosJuice
5067e96f37
Minor fixes to translatable strings
2019-02-13 18:54:45 +01:00
Tilka
131f4931fb
Merge pull request #7792 from jordan-woyak/auto-calibration
...
DolphinQt/ControllerEmu: Add stick calibration "wizard".
2019-02-13 02:13:27 +00:00
Tilka
8d59d1bb11
Merge pull request #7798 from ShFil119/impr/empty
...
Use empty instead of size
2019-02-13 01:59:43 +00:00
Filip Gawin
49fe9f5db1
Use empty instead of size
2019-02-13 00:03:49 +01:00
Mat M
6b22693e6e
Merge pull request #7796 from stenzek/glx-context
...
GLContext: Fix shared context creation error on Mesa
2019-02-11 09:23:52 -05:00
spycrab
eb11d045d7
Merge pull request #7790 from spycrab/rp_fixes
...
ResourcePacks: Fix various bugs
2019-02-11 11:09:43 +01:00
spycrab
f86b34ceb9
ResourcePacks: Fix various bugs
2019-02-11 11:05:35 +01:00
Tilka
4d85bb2d18
Merge pull request #7782 from jordan-woyak/wiimote-emu-speaker-pan
...
WiimoteEmu: Change speaker pan to use "constant power pan law".
2019-02-11 00:20:07 +00:00
Jordan Woyak
3c77b4aa4b
WiimoteEmu: Change speaker pan to use "constant power pan law" and change UI setting max value from 127 to 100.
2019-02-10 17:55:11 -06:00
Tilka
226affe00b
Merge pull request #7788 from jordan-woyak/mapping-ui-clear-button
...
DolphinQt: Make the mapping window clear button use ControllerEmu's clear functionality.
2019-02-10 23:29:33 +00:00
Tilka
33e51da3b8
Merge pull request #7785 from Tilka/patch_editor
...
DolphinQt: limit patch padding to 8
2019-02-10 23:22:20 +00:00
Jordan Woyak
0064f70c8a
DolphinQt/ControllerEmu: Replace Input Radius/Shape settings with an input calibration "wizard".
2019-02-10 07:55:47 -06:00
Stenzek
cecefa2d97
ChunkFile: Don't access element zero of empty container
...
This was causing assertion failures in debug MSVC builds.
2019-02-10 13:28:50 +10:00
Stenzek
ef3306e954
GLContext: Fix shared context creation error on Mesa
...
This was failing if the first version tried (4.6) didn't succeed.
2019-02-09 21:51:23 +10:00
spycrab
0abb1c6ea6
Qt/LogWidget: Make logging asynchronous
2019-02-08 13:21:21 +01:00
Anthony
2987e8313a
Merge pull request #7752 from 8times9/text-tweaks
...
Qt: Minor text tweaks
2019-02-07 10:21:00 -08:00
8times9
d45dad7bf7
Qt: Minor text tweaks
2019-02-07 11:53:07 -06:00
Jordan Woyak
64c3c52ef3
DolphinQt: Make the mapping window clear button use ControllerEmu's clear functionality.
2019-02-06 17:40:58 -06:00
spycrab
63cdebba88
UICommon/AutoUpdate: Add macOS support
2019-02-06 20:50:09 +01:00
spycrab
80f4181f60
MacUpdater: Initial implementation
2019-02-06 20:50:09 +01:00
spycrab
fa01db4904
Qt/GameConfigEdit: Fix some settings being in the wrong section
2019-02-06 09:42:33 +01:00
Tillmann Karras
03a7071c57
DolphinQt: limit patch padding to 8
2019-02-05 04:59:52 +00:00
Tillmann Karras
74c5e60327
DolphinQt: show game descriptions in one line
2019-02-03 22:32:36 +00:00
Anthony
f65b3a998c
Merge pull request #7739 from zackhow/multib
...
Android: Disable backend multithreading and add option to gfx menu
2019-02-03 12:44:00 -08:00
Anthony
e05cc3f61d
Merge pull request #7718 from cristian64/display_listcolumns_via_rightclick_on_header
...
Qt/MainWindow: Also display "List Columns" menu via right-click on table's header.
2019-02-03 12:41:39 -08:00
Anthony
227a26490d
Merge pull request #7773 from spycrab/rp_compression
...
ResourcePacks: Support compression
2019-02-03 12:34:11 -08:00
Anthony
eee24cd1ce
Merge pull request #7746 from Techjar/fix-hotkey-conflicts
...
[RFC] Core/HotkeyManager: Fix default hotkey conflicts
2019-02-03 12:26:14 -08:00
Tilka
8aaebfa2b3
Merge pull request #7716 from stenzek/stereo
...
Stereoscopy regression fixes
2019-02-03 19:57:01 +00:00
Anthony
4e825beddf
Merge pull request #7757 from jordan-woyak/wiimote-connection-status-checkmarks
...
WiimoteDevice: Update UI when wiimote connection status changes.
2019-02-03 10:28:08 -08:00
Anthony
e9130734af
Merge pull request #7688 from jordan-woyak/evdev-improve
...
ControllerInterface: evdev: Cleanups and effect processing fixes.
2019-02-03 10:25:23 -08:00
Jordan Woyak
69b617ce76
WiimoteEmu: Remove redundant Matrix library and use the one in Common.
2019-02-03 12:02:02 -06:00
Jordan Woyak
b9a00a40a9
Common: Move Matrix classes out of MathUtil into their own files and make their interface more friendly.
2019-02-03 11:35:31 -06:00
Jordan Woyak
9c1a8891e5
WiimoteEmu: Code cleanups.
2019-02-02 19:40:31 -06:00
Jordan Woyak
3945aa6242
WiimoteEmu: Fix battery level handling and remove old comments.
2019-02-02 19:40:31 -06:00
Jordan Woyak
6c0902ab0a
WiimoteEmu: Add logic for enabling/disabling M+ and force it disabled for now.
2019-02-02 19:40:31 -06:00
Jordan Woyak
0d1fbe7bbc
WiimoteEmu: Major renaming and cleanup.
2019-02-02 19:40:31 -06:00
Jordan Woyak
b1f350ab1c
WiimoteEmu: Cleanups, Kill some now-redundant constants.
2019-02-02 19:40:30 -06:00
Jordan Woyak
6e5847a790
WiimoteEmu: Fix wiimote pan setting from keeping center at half volume.
2019-02-02 19:40:30 -06:00
Jordan Woyak
d3906e548d
WiimoteEmu: Cleanup ack handling. Improve accuracy of report handling with unusual values. Eliminated outdated comments.
2019-02-02 19:40:30 -06:00
Jordan Woyak
3a889c35ad
WiimoteEmu: Cleanups, Kill more magic numbers and use some enum classes.
2019-02-02 19:40:30 -06:00
Jordan Woyak
86c94b8b22
WiimoteEmu: Motion plus now works half of the time in Wii Sports Resort.
2019-02-02 19:40:30 -06:00
Jordan Woyak
0b4329e077
Implement the rest of the wiimote input reports.
2019-02-02 19:40:30 -06:00
Jordan Woyak
10c2101e72
WiimoteReal: Unbreak.
2019-02-02 19:40:30 -06:00
Jordan Woyak
42b9392784
WiimoteEmu: Cleanups and work towards making motion plus functional.
2019-02-02 19:40:30 -06:00
Jordan Woyak
a25e8cb516
Advance save state version.
2019-02-02 19:40:30 -06:00
Jordan Woyak
a0721b256f
WiimoteEmu: Cleanup, kill some magic numbers, and unbreak wiimote speaker pan setting.
2019-02-02 19:39:29 -06:00
Jordan Woyak
372b12c67f
WiimoteEmu: Emulated motion plus is detected by game now.
2019-02-02 19:39:29 -06:00
Jordan Woyak
ba936923bd
WiimoteEmu: Tweak the i2c bus code to better support motion plus and its passthrough port.
2019-02-02 19:39:29 -06:00
Jordan Woyak
84d32f6645
WiimoteEmu: Fix usage of ReportFeatures in TAS related code.
2019-02-02 19:39:29 -06:00
Jordan Woyak
4dc0aa6f8e
WiimoteEmu: Process wiimote read data requests like they are on a real wiimote. It's not a queue. New requests are ignored and input is suppressed while processing a request. This simplifies the save state code greatly.
2019-02-02 19:39:29 -06:00
Jordan Woyak
ec460da36d
WiimoteEmu: Add wiimote speaker logic to i2c bus. Temporarily break the "pan" setting.
2019-02-02 19:39:29 -06:00
Jordan Woyak
62b66580c3
WiimoteEmu: Unbreak wiimote extensions.
2019-02-02 19:39:29 -06:00
Jordan Woyak
ebc2e58fa4
WiimoteEmu: Partially emulate i2c bus to more closely simulate the real thing. Transfer most of IR camera logic to the i2c bus. Temporarily break everything else.
2019-02-02 19:39:29 -06:00
Jordan Woyak
6c40c47472
WiimoteEmu: Remove some remnants of hybrid wiimote.
2019-02-02 19:39:28 -06:00
Tilka
a95b6e1b9b
Merge pull request #7735 from spycrab/qt_modal
...
Qt: Make more messages modal
2019-02-03 01:30:03 +00:00
Tilka
cfbc852fb0
Merge pull request #7777 from jordan-woyak/input-rounding
...
ControllerEmu: Round input floats instead of casting.
2019-02-03 00:56:05 +00:00
Tilka
6ec11c6801
Merge pull request #7742 from jordan-woyak/si-device-change-fix
...
SI: Device change logic fix.
2019-02-03 00:52:23 +00:00
Jordan Woyak
3bc4968c11
ControllerEmu: Round input floats instead of casting to prevent almost-neutral values from being rounded down.
2019-02-02 15:12:07 -06:00
spycrab
b6863ff0a2
ResourcePacks: Support compression
2019-02-02 15:54:06 +01:00
Tilka
28c0b5338e
Merge pull request #7738 from spycrab/core_warnings
...
Core: Fix some warnings
2019-02-02 14:13:21 +00:00
Tilka
d55e276d0b
Merge pull request #7763 from jordan-woyak/steering-wheel-ff-fix
...
HW: SI_Device_GCSteeringWheel: Fix handling of force commands.
2019-02-02 13:12:51 +00:00
Tilka
2d75797c63
Merge pull request #7747 from stenzek/vulkan-shutdown
...
Vulkan: Shutdown fixes and cleanup/refactoring
2019-02-02 12:45:20 +00:00
Tilka
6dc16dda26
Merge pull request #7750 from jordan-woyak/gamelist-less-padding
...
DolphinQt: Reduce the padding between gamelist items.
2019-02-02 12:41:06 +00:00
Tilka
eb7135ac9b
Merge pull request #7771 from stenzek/qt-non-looping-fifoplayer
...
DolphinQt: Connect Host::RequestStop() to MainWindow::RequestStop()
2019-02-02 12:28:55 +00:00
Tilka
0115906e41
Merge pull request #7767 from Tilka/chunkfile
...
ChunkFile: treat vectors/strings as sized arrays
2019-02-02 12:25:42 +00:00
Stenzek
31a5dd15a9
DolphinQt: Connect Host::RequestStop() to MainWindow::RequestStop()
...
The fact that this wasn't connected was causing fifoplayer to hang if
looping was disabled.
2019-02-02 13:36:46 +10:00
Admiral H. Curtiss
fdd19c1b54
GCMemcard: Fix out of bounds access in F-Zero GX checksum calculation.
2019-02-01 17:50:19 +01:00
Tillmann Karras
4090c19e00
GeckoCodeConfig: fix Gecko Code downloading
...
For some reason the server always redirects once to the same location.
2019-02-01 13:44:58 +00:00
Tillmann Karras
3ff0e7dbd4
Common/HttpRequest: optionally follow redirects
2019-02-01 13:44:58 +00:00
Jordan Woyak
552392e4f6
HW: SI_Device_GCSteeringWheel: Fix handling of force commands.
2019-02-01 06:47:17 -06:00
Jordan Woyak
b0cb100958
SI: Device change logic fix.
2019-02-01 06:43:24 -06:00
Tillmann Karras
04a92482bf
ChunkFile: treat vectors/strings as sized arrays
2019-02-01 05:13:16 +00:00
JMC47
a129d60a57
Merge pull request #7762 from jordan-woyak/gcadapter-calibration
...
HW: SI_Device_GCAdapter: Restore calibration behavior for real gamecube controllers.
2019-01-31 23:47:09 -05:00
Tillmann Karras
45aeb86766
Fix -Wmissing-declarations warning
2019-02-01 03:06:01 +00:00
Mat M
e5ca338958
Merge pull request #7761 from jordan-woyak/gccontroller-minor-cleanup
...
HW: SI_Device_GCController: Minor cleanup.
2019-01-31 21:29:55 -05:00
Tillmann Karras
5b4a5ca059
DolphinQt: cache filesystem icons for speed
2019-02-01 00:15:52 +00:00
JosJuice
c1492aeb45
Merge pull request #7744 from stenzek/vsync
...
Renderer: Fix throttle-disable (TAB) hotkey when vsync is enabled
2019-01-31 22:44:10 +01:00
Jordan Woyak
cb9896618f
HW: SI_Device_GCAdapter: Restore calibration behavior for real gamecube controllers.
2019-01-31 08:38:25 -06:00
Jordan Woyak
c54cc3fa38
HW: SI_Device_GCController: Minor cleanup. Remove a member/state variable that should just be a local variable.
2019-01-31 06:30:06 -06:00
JosJuice
419ba925b7
Merge pull request #7748 from jordan-woyak/compressed-game-indicator
...
DolphinQt: Display game list compressed file sizes with an asterisk.
2019-01-30 19:47:47 +01:00
JosJuice
9340ddc7c9
Merge pull request #7726 from zackhow/rumfast
...
Android: Optimize rumble call
2019-01-30 19:37:24 +01:00
Jordan Woyak
159d2b1cc3
HW/Wiimote: Don't reconnect wiimotes on ChangeWiimoteSource when the source hasn't actually changed.
2019-01-29 10:01:35 -06:00
Jordan Woyak
4bc576472c
WiimoteDevice: Update UI when wiimote connection status changes to keep check marks in the menu bar accurate.
2019-01-29 07:57:51 -06:00
JMC47
0e1669e1c7
Merge pull request #7728 from jordan-woyak/pad-perfect-calib
...
SI_DeviceGCController: Calibrate to perfect neutral instead of initial input state.
2019-01-28 21:11:46 -05:00
JMC47
cf8da56297
Merge pull request #7751 from zackhow/motefix
...
Android: Don't grab wiimote report if size is < 1
2019-01-28 19:53:04 -05:00
Jordan Woyak
efd5c36773
DolphinQt: Display game list file sizes with an asterisk when file-size differs from volume-size (e.g. when they are compressed).
2019-01-28 14:44:25 -06:00
JMC47
7907633126
Merge pull request #7715 from Techjar/qt-delete-unparented
...
Qt/MainWindow: Directly delete unparented dialogs
2019-01-28 06:42:07 -05:00
zackhow
831ab64e1c
Android: Don't grab wiimote report if size is < 1
...
Fixes crash when using official wiimotes with the dolphin bar.
2019-01-27 16:43:19 -05:00
Jordan Woyak
3db904baba
DolphinQt: Reduce the padding between gamelist items.
2019-01-27 14:00:22 -06:00
Jordan Woyak
c386a6a875
DolphinQt: Fix selection of PP shader when using anaglyph 3D.
2019-01-27 13:23:42 -06:00
Techjar
d70ea9e4ec
Core/HotkeyManager: Fix default hotkey conflicts
2019-01-27 06:20:01 -05:00
Stenzek
3b033bf3f0
Vulkan: Move clear shader from Renderer to ShaderCache
2019-01-27 13:07:35 +10:00
Stenzek
e2cf238ec4
Vulkan: Move swapchain related members from Renderer to SwapChain
2019-01-27 12:59:57 +10:00
Stenzek
bd66db049a
Vulkan: Use device-local functions where possible
...
Avoids a call into the loader library, which may improve performance
ever-so-slightly.
2019-01-27 12:51:04 +10:00
Stenzek
ce1cc2d9fa
Vulkan: Don't execute command buffer before shutting down
...
We don't need to, and this was causing occasional crashes on Adreno.
2019-01-27 12:41:10 +10:00
Stenzek
b01df8670f
Renderer: Fix throttle-disable (TAB) hotkey when vsync is enabled
2019-01-27 12:31:12 +10:00
zackhow
4979220cf0
Android: Optimize rumble call
...
Moved rumble call to IDCache since GetMethodID is expensive
2019-01-26 09:38:35 -05:00
Techjar
408029e8a3
Qt/MainWindow: Don't unpause after confirming shutdown
...
There's no good reason to do this, as it just causes running signals to
be sent as the core is shutting down.
2019-01-26 07:27:37 -05:00
zackhow
8a1eb34c38
Android: Default backendMultithreading to false on android
2019-01-25 19:22:07 -05:00
spycrab
51a219c54d
Merge pull request #7263 from spycrab/qt_ini_edit
...
Qt/GameConfigWidget: Complete overhaul
2019-01-26 00:45:46 +01:00
spycrab
ff5556ce2f
Qt/GameConfigWidget: Complete overhaul
2019-01-26 00:41:22 +01:00
JosJuice
b14e540671
Merge pull request #7736 from stenzek/imgui-hidpi
...
RenderWidget: Fix mouse position for imgui on hidpi screens
2019-01-25 22:45:31 +01:00
spycrab
0691971d82
Core: Fix some warnings
2019-01-25 21:21:22 +01:00
spycrab
f908612452
DolphinQt: Fix some warnings
2019-01-25 17:21:38 +01:00
Stenzek
3d8145af65
RenderWidget: Fix mouse position for imgui on hidpi screens
2019-01-26 01:31:58 +10:00
spycrab
787f2c6bd7
Qt: Make more messages modal
2019-01-25 16:16:27 +01:00
spycrab
6962d5bc52
Merge pull request #7478 from stenzek/imgui
...
Replace raster font with dear imgui
2019-01-25 15:08:40 +01:00
Stenzek
774480ba23
Vulkan: Set contents scale of Metal layer to screen factor
...
This gives us a native resolution framebuffer.
2019-01-26 00:02:04 +10:00
JMC47
e060b133e3
Merge pull request #7722 from 0xFEEDC0DE64/gamecube-settings-improvements
...
General GameCubePane improvements
2019-01-25 05:40:07 -05:00
Stenzek
ee0fa548bc
Vulkan: Don't bind last descriptor set if bounding box is unsupported
...
Fixes crash on a4xx/Vulkan.
2019-01-25 11:15:57 +10:00
Stenzek
e9b02e7dd0
Vulkan: Remove unused UpdateUtilityUniformBuffer function
2019-01-25 11:15:57 +10:00
Stenzek
78588ce79d
ShaderCache: Use imgui for shader compilation dialog
2019-01-25 11:15:57 +10:00
Stenzek
e4b205c769
Decouple XFB scanout from presentation
2019-01-25 11:15:57 +10:00
Stenzek
f1e7fb505b
Renderer: Scale all imgui fonts by the backbuffer scale
2019-01-25 11:15:57 +10:00
Stenzek
c9c0b85056
VideoBackends: Store a backbuffer 'scale'
...
This is a scaling factor, used for hi-dpi configurations.
2019-01-25 11:15:57 +10:00
Stenzek
e03b8e899e
Vulkan: Move texture upload buffer to ObjectCache
2019-01-25 11:15:57 +10:00
Stenzek
36ce47635b
RenderWidget: Hook up to ImGui
2019-01-25 11:15:57 +10:00
Stenzek
63dd91628d
Remove old RasterFont classes
2019-01-25 11:15:57 +10:00
Stenzek
600d1fc0bc
Renderer: Use imgui for drawing debug text and OSD
2019-01-25 11:15:57 +10:00
Stenzek
d1868d9475
RenderBase: Implement imgui rendering
2019-01-25 11:10:49 +10:00
Stenzek
396b7c2978
OGL: Invalidate tracked state when calling ResetAPIState()
...
Due to the current design, any of the GL state can be mutated after
calling this function, so we can't assume that the tracked state will
match if we call SetPipeline() after ResetAPIState().
2019-01-25 11:10:49 +10:00
Connor McLaughlin
224b23b979
Merge pull request #7729 from stenzek/adreno-sillyness
...
ShaderGen: Fix broken rendering on Adreno Vulkan drivers
2019-01-25 11:07:12 +10:00
JMC47
ddb1fbf701
Merge pull request #7500 from zackhow/pointer
...
Android: Add IR pointer control to touch overlay
2019-01-24 20:02:23 -05:00
0xFEEDC0DE64
e1fdf4ae9a
General GameCubePane improvements (squashed commit)
2019-01-24 21:08:21 +01:00
Stenzek
1d61041985
ShaderGen: Don't use interface blocks on Vulkan without GS
...
Doing so causes the Adreno driver to choke and spew errors about
too many output locations/components, when clearly we're under
the limit.
2019-01-24 17:02:17 +10:00
zackhow
d0b42286cf
Load custom game IR values if they are not set
...
This is mostly for android so that a user can use the touchscreen to
accurately emulate pointer movements
2019-01-23 17:16:32 -05:00
Stenzek
68cb24172b
ShaderGen: Omit some unused varyings when possible
...
Removes the clipPos varying unless slow-depth is used, and the
clipDistance varyings if geometry shaders are not used.
2019-01-23 18:34:22 +10:00
Jordan Woyak
3cd3e84486
SI_DeviceGCController: Calibrate pad origin on boot to perfect neutral values instead of initial input state.
2019-01-22 15:33:04 -06:00
Christian Aguilera
9a1a98a9f6
Qt/MainWindow: Also display "List Columns" menu via right-click on table's header.
2019-01-21 21:06:04 +00:00
Cody Wilson
00f786384d
Update GeckoCodes code download to use https
...
The WiiRD codes respository at https://geckocodes.org has started using HTTPS, and 301 Redirecting traffic from HTTP to HTTPS. The HTTP client does not appear to be able to handle a 301 Redirect and instead fails when attempting to download codes. This pull request is purely a string replacement to set the URL as HTTPS.
2019-01-20 11:26:29 -05:00
zackhow
47d6406fd4
Android: Add touch to move pointer in overlay
2019-01-19 23:21:33 -05:00
Stenzek
1070192165
TextureCache: Fix a possible crash when partial updating palette textures
2019-01-19 23:38:02 +10:00
Stenzek
84bcbef944
TextureCache: Don't partial copy to non-existant texture layers
2019-01-19 23:38:00 +10:00
Stenzek
ade255a5ff
TextureCache: Fix broken XFB stitching with stereoscopy is enabled
2019-01-19 23:23:21 +10:00
Stenzek
6bfe4c83a5
OGL: Fix broken stereoscopy geometry shader for EFB copies
2019-01-19 23:22:57 +10:00
Techjar
47cc5b02e3
Qt/MainWindow: Directly delete unparented dialogs
...
Calling deleteLater in MainWindow's destructor doesn't work, as the
event loop will stop before it gets around to deleting these dialogs.
Seeing as this is a QObject destructor, we should already be on the
event loop anyways, so simply using delete should be safe.
2019-01-19 04:37:07 -05:00
Jordan Woyak
6cc8775510
ControllerInterface: evdev: Replace unclear bool parameter with enum class.
2019-01-17 12:10:50 -06:00
Jordan Woyak
52aa39991c
ControllerInterface: evdev: Cleanup rumble effect processing so effects aren't removed and re-uploaded with every SetState() call. Split the "LeftRight" output into separate "Strong" and "Weak" outputs. Other minor cleanups.
2019-01-17 12:10:50 -06:00
Léo Lam
3627ef8a04
Merge pull request #7696 from TryTwo/Debugger_Restore_Tabbed_Docking
...
Qt/Debugger restore tabbed docking
2019-01-17 13:40:02 +01:00
Léo Lam
c7373701cc
Merge pull request #7580 from Techjar/netplay-padmapping-type
...
NetPlay: Remove PadMapping type
2019-01-16 21:57:38 +01:00
Léo Lam
fd3ef7ebc5
Merge pull request #7616 from AdmiralCurtiss/memcard-cleanup
...
Clean up GCMemcard a bit.
2019-01-16 21:56:40 +01:00
Léo Lam
e19ee2ad4f
Merge pull request #7664 from jordan-woyak/kill-button-threshold
...
ControllerEmu: Killed the button group threshold setting.
2019-01-16 21:33:05 +01:00
Léo Lam
3892c3ac48
Merge pull request #7690 from NarryG/dragload-savestate
...
Reimplement savestate loading via drag and drop (resubmission of #7425 )
2019-01-16 21:32:44 +01:00
Dan B
d69740c8b4
Reimplement savestate loading via drag and drop
2019-01-16 21:19:31 +01:00
Léo Lam
a8bc6f9899
Merge pull request #7693 from jordan-woyak/hotplug-callback-fix
...
ControllerInterface: Hotplug callback fixes.
2019-01-16 21:00:48 +01:00
Léo Lam
b2de98cad1
Merge pull request #7680 from jordan-woyak/dinput-axis-range
...
DirectInput: Use more than 8 bits of precision on axis inputs.
2019-01-16 18:52:11 +01:00
Léo Lam
634ef78a26
Merge pull request #7705 from cristian64/master
...
Fixed crash when dereferencing the potential null pointer returned by GetSelectedGame().
2019-01-16 18:51:11 +01:00
Léo Lam
c785ccba27
Merge pull request #7712 from linkmauve/gcadapter-flatten
...
Flatten a GCAdapter function
2019-01-16 18:48:15 +01:00
Emmanuel Gil Peyrot
fb6fae2b2b
Flatten GCAdapter function
...
Make CheckDeviceAccess() more flat by inverting checks, reducing
indentation and removing dead code.
2019-01-16 14:20:00 +01:00
Christian Aguilera
ee5e2fd9f9
Fixed crash when dereferencing the potential null pointer returned by GetSelectedGame().
2019-01-16 09:25:47 +00:00
Connor McLaughlin
5962316068
Merge pull request #7643 from weihuoya/texture-overlap
...
Texture: fx overlap src position
2019-01-16 08:49:36 +10:00
JMC47
1d3e3de44b
Merge pull request #7629 from JosJuice/auto-disc-change
...
Automatic disc change for 2-disc games
2019-01-15 13:01:36 -05:00
TryTwo
b557faa386
Debugger restore tabbed docking
2019-01-11 14:32:27 -07:00
Jordan Woyak
b425f86121
ControllerInterface: Allow hotplug callbacks to be unregistered and don't reload the entire config from the ini file on hotplug, just update the control references. This should fix a crash on shutdown on Android.
2019-01-10 18:32:16 -06:00
JMC47
012338288e
Merge pull request #7662 from jordan-woyak/mapping-indicators-make-pretty
...
ControllerEmu: Make mapping indicators pretty
2019-01-10 19:04:27 -05:00
zackhow
078fc74b54
Android/OGL: fix bounding box for OpenGL-ES
...
OpenGL-ES does not have glGetBufferSubData, so use glMapBufferRange instead
2019-01-09 21:08:49 -05:00
JosJuice
d3e1d2ea00
Merge pull request #7666 from jordan-woyak/input-shutdown-fix
...
ControllerInterface: Shutdown order and race condition fix.
2019-01-08 14:39:47 +01:00
JosJuice
b30a338dd6
Merge pull request #7683 from zackhow/removefullanalog
...
Android: Change all AnalogInputs to just inputs
2019-01-08 14:01:26 +01:00
Connor McLaughlin
0da5929226
Merge pull request #7626 from weihuoya/vulkan-oom
...
Always clean cache on render swap
2019-01-08 21:57:25 +10:00
weihuoya
66a7db3850
Always flush on swap
2019-01-08 18:28:59 +08:00
zackhow
02c649ba20
Android: Change all analoginputs to just inputs
...
Android doesn't report values for the inputs generated by FullAnalogInput so
there isn't a reason to add them as such. This also avoids a bug(for android)
where if there are three inputs(say 12, 11, and 121), and you generate a FullAnalogInput
with 12/11 then it will create another input with the name 121 which can cause conficts
with the real 121 input. This is probably not an issue on PC since most Axis inputs
are named and not numbered.
2019-01-07 21:52:39 -05:00
JMC47
3397824601
Merge pull request #7588 from Techjar/controller-dialog-wiimote-disabled-bug
...
Qt/ControllersWindow: Fix Wiimote settings not being re-enabled after quitting NetPlay
2019-01-07 16:55:36 -05:00
Anthony
3da06970d9
Merge pull request #7605 from zackhow/jitarmconfigs
...
Android: Add Jit debug options to menu.
2019-01-07 13:50:57 -08:00
Anthony
c73adf8d8e
Merge pull request #7656 from JMC47/DanceMatFix
...
Fix Emulated Dance Mat
2019-01-07 13:48:50 -08:00
Jordan Woyak
a7c45fb49e
DirectInput: Use more than 8 bits of precision on axis inputs.
2019-01-06 08:14:37 -06:00
Admiral H. Curtiss
04bcc64e82
GCMemcard: Update formatting of memcard field comments in header.
2019-01-06 14:40:38 +01:00
Admiral H. Curtiss
e6acbf7cbe
GCMemcard: 'Broken File000' commented out code can't work anymore, but leave a comment about it.
2019-01-06 14:18:00 +01:00
Admiral H. Curtiss
41767daabc
GCMemcard: Remove obsolete commented out code, this is handled via InitActiveDirBat() and related.
2019-01-06 14:12:59 +01:00
Admiral H. Curtiss
111f0b38e0
GCMemcard: Update panic alerts and comments to refer to 1st/2nd dir/BAT blocks.
2019-01-06 14:12:59 +01:00
JMC47
0ca9accd8b
Merge pull request #7640 from jordan-woyak/input-fixes
...
ControllerInterface: Output/Rumble fixes
2019-01-05 17:16:35 -05:00
JMC47
d75e9b2d5d
Merge pull request #7677 from Techjar/netplay-peer-init-fix
...
NetPlay: Fix server peer initialization hang
2019-01-05 15:10:39 -05:00
Jordan Woyak
a995e2f5ba
ControllerInterface: Set DInput FF effect parameters sanely. This fixes a crash with periodic effects and my GCPad adapter (probably a divide by zero behind the scenes).
2019-01-05 13:00:04 -06:00
JMC47
1cd5debecf
Merge pull request #7585 from Techjar/netplay-wiimote-extension
...
NetPlay: Sync Wiimote extension
2019-01-05 05:57:36 -05:00
JosJuice
0c622929ba
Add M3U file support for automatic disc switching
2019-01-04 09:24:42 +01:00
JosJuice
352ac91a1c
Add a delay before automatically switching discs
...
Some games don't behave as expected if we eject the disc as soon as
we receive the DVDLowStopMotor command. For instance, Baten Kaitos
never shows the prompt to switch discs or the "Reading disc..." text
(but works correctly other than that).
2019-01-04 09:24:41 +01:00
JosJuice
b608e80d8e
Don't do automatic disc switching when running e.g. the Wii Menu
...
We only want automatic disc switching to happen when the game actually
is running, but software like the Wii Menu also uses DVDLowStopMotor.
2019-01-04 09:24:41 +01:00
JosJuice
bd665aad5d
Automatic disc change for 2-disc games
2019-01-04 09:24:38 +01:00
Mat M
931af76da3
Merge pull request #7668 from spycrab/rpack_fix
...
UICommon/ResourcePack: Fix packs without manifests crashing Dolphin
2019-01-03 13:59:07 -05:00
JosJuice
a8e5f2b922
Merge pull request #7230 from ligfx/remove_clamp_draw_size
...
RenderBase: don't clamp draw size to window
2019-01-03 18:26:41 +01:00
spycrab
c2c23677ed
UICommon/ResourcePack: Fix resource packs without manifests being able to crash dolphin
2019-01-02 22:47:18 +01:00
Jordan Woyak
25d43ffd98
ControllerInterface: Shutdown order and race condition fix.
2019-01-02 08:19:42 -06:00
Jordan Woyak
88e588673b
Qt Game List: Sort game titles "naturally". e.g. 10 comes after 9.
2019-01-01 06:06:02 -06:00
Jordan Woyak
df43fd9472
ControllerEmu: Killed the Buttons group threshold setting.
2018-12-31 08:35:31 -06:00
Jordan Woyak
7efa96eda9
ControllerEmu: code cleanup.
2018-12-30 10:52:45 -06:00
Jordan Woyak
1c24bef594
MappingUI: Organize some color constants and hide IR adjusted Z value when cursor is hidden.
2018-12-30 09:50:22 -06:00
Jordan Woyak
7a00f55cfa
ControllerEmu::Cursor: Add input radius/shape settings to IR Cursor mappings to allow use of round inputs in absolute mode. Make relative input option obey the center/width/height settings. Make the mapping indicator pretty and actually show what the relative/center/w/h settings are doing.
2018-12-30 09:10:32 -06:00
Jordan Woyak
247fa8c628
WiimoteEmu: Remove redundant threshold setting from hotkeys button group.
2018-12-29 16:19:28 -06:00
Jordan Woyak
c3dc3c106c
ControllerEmu: Reorganize stick reshaping code and use it for emu wiimote tilt as well. Also make the tilt mapping indicator pretty.
2018-12-29 16:06:03 -06:00
Jordan Woyak
6a6195f53c
ControllerEmu: Implement dead zone setting for triggers.
2018-12-29 13:56:35 -06:00
Jordan Woyak
def5c6e573
Mapping UI: Reorganize wiimote extension layouts a bit so things fit better.
2018-12-29 12:59:47 -06:00
Jordan Woyak
970073084a
Mapping UI: Make the mixed trigger indicator styling match that of the analog sticks.
2018-12-29 12:46:05 -06:00
spycrab
75b8824c95
Merge pull request #7658 from spycrab/debugger_show
...
Qt/Debugger: Add Show in Code / Show in Memory
2018-12-29 15:08:51 +01:00
JMC47
f8586bb83c
Fix Emulated Dance Mat
...
I have no idea how it got so broken, but this makes it so both the
Active Life and DDR Mario/Wii games can be fully configured.
2018-12-28 17:47:49 -05:00
Jordan Woyak
2765475e7b
HW: DK Bongos actual fix
2018-12-28 15:15:29 -06:00
spycrab
3e3f9565ec
Qt/Debugger: Add Show in Code / Show in Memory
2018-12-28 20:30:38 +01:00
Mat M
dd1fc70d70
Merge pull request #7644 from jordan-woyak/dk-bongos-fix
...
HW: DK Bongos clap fix and cleanup
2018-12-28 06:41:10 -05:00
Mat M
2d379446b5
Merge pull request #7642 from MerryMage/fprf-whole
...
EmuCodeBlock: Fix bug in SetFPRF: Should only consider lower double
2018-12-28 06:37:43 -05:00
Mat M
b7db1f020b
Merge pull request #7624 from lioncash/paired-single
...
PowerPC: Remove separate macros for paired singles
2018-12-28 06:32:45 -05:00
Mat M
8c9f553734
Merge pull request #7620 from lioncash/paired
...
Interpreter: Handle HID2.PSE and HID2.LSQE bits
2018-12-28 06:30:37 -05:00
Mat M
b37455ef46
Merge pull request #7652 from JMC47/NetplayWarning
...
Update Netplay Main Page Notices
2018-12-28 06:22:56 -05:00
Mat M
2749c50843
Merge pull request #7653 from jordan-woyak/ini-cleanup
...
IniFile: Minor cleanup. Removed unused function. Improved template usage.
2018-12-28 06:21:24 -05:00
Mat M
de03019c77
Merge pull request #7628 from jordan-woyak/stick-shapes
...
ControllerEmu: Add ability to reshape analog sticks. Make the mapping indicator pretty.
2018-12-28 06:18:56 -05:00
MerryMage
77e9aa48bc
Jit64: Remove Jitx86Base class
2018-12-28 09:15:26 +00:00
Jordan Woyak
c614f5f534
ControllerEmu: Allow analog stick input radius greater than one. Useful for rounded-square inputs of xbox controllers.
2018-12-27 19:16:37 -06:00
Jordan Woyak
da9bcf83ef
InputCommon: Simplified StickGate interface and moved class into its own file. Changed default input radius to perform no resizing. Tweaked the indicator colors a bit to improve visibility. Cleaned up some math and code.
2018-12-27 18:31:46 -06:00
Jordan Woyak
ceb28a2302
Add ability to reshape analog sticks from square/circle to octagon and make the analog stick mapping indicator pretty.
2018-12-27 18:31:46 -06:00
Tilka
bfb9b1aca5
Merge pull request #7602 from CrystalGamma/stop-g_jit
...
stop using g_jit outside of JitInterface
2018-12-27 23:12:14 +01:00
Tilka
89eedc8c1b
Merge pull request #7625 from jordan-woyak/emu-shake-fix
...
WiimoteEmu: Shaking emulation fix
2018-12-27 22:32:50 +01:00
MerryMage
26bc38d25d
Jit64: Fix instruction breakpoints
...
Broken by 5236dc3
.
2018-12-27 20:11:26 +00:00
Jordan Woyak
a464025bba
IniFile: Minor cleanup. Removed unused function. Improved template usage.
2018-12-26 20:15:32 -06:00
JMC47
e6b859a923
Update Netplay Main Page Warnings
...
We now support automatically syncing most things. Add Dual Core Netplay
Warning. Update Wii Remote Netplay string since it now kinda works.
2018-12-26 14:23:43 -05:00
Mat M
bd527e62ef
Merge pull request #7647 from MerryMage/emit-singles
...
x64Emitter: Add some single-precision instructions
2018-12-26 09:33:06 -05:00
JosJuice
5b97ea8b40
Merge pull request #7606 from booto/dtk_pos_align
...
DTK: Report position in increments of 0x8000
2018-12-26 10:22:40 +01:00
MerryMage
da7608ff9f
x64Emitter: Add some single-precision instructions
2018-12-26 00:23:42 +00:00
JosJuice
2ff1bfdc85
Merge pull request #7646 from leoetlino/temporary-to-permanent
...
WiiUtils: Clear IPL.TID when re-installing a title manually
2018-12-25 23:46:47 +01:00
Léo Lam
0aef6bc834
WiiUtils: Clear IPL.TID when re-installing a title manually
...
If the user tries to permanently install a title that has already been
imported, and if that title is currently marked as a temporary title
in IPL.TID, that flag should be cleared.
2018-12-25 20:49:11 +01:00
Jordan Woyak
43f5d4973e
Fix wiimote/nunchuk acceleration value clamping (off-by-one).
...
Add in shaking acceleration rather than overwritting it so it doesn't look like the device is in free-fall. This fixes shaking in "Batman: TBATB". It appears the game only detects shaking along the z-axis and expects gravity to exist.
2018-12-25 12:10:31 -06:00
Jordan Woyak
56256d8624
HW: DK Bongos clap fix and cleanup
2018-12-25 11:24:09 -06:00
Lioncash
244d083f0e
PowerPC: Remove separate macros for paired singles
...
Previously, PowerPC.h had four macros in it like so:
\#define rPS0(i) (*(double*)(&PowerPC::ppcState.ps[i][0]))
\#define rPS1(i) (*(double*)(&PowerPC::ppcState.ps[i][1]))
\#define riPS0(i) (*(u64*)(&PowerPC::ppcState.ps[i][0]))
\#define riPS1(i) (*(u64*)(&PowerPC::ppcState.ps[i][1]))
Casting between object representations like this is undefined behavior.
Given this is used heavily with the interpreter (that is, the most
accurate, but slowest CPU backend), we don't exactly want to allow
undefined behavior to creep into it.
Instead, this adds a helper struct for operating with the paired singles,
and replaces the four macros with a single macro for accessing the
paired-singles/floating-point registers.
This way, it's left up to the caller to explicitly decide how it wants to interpret
the data (and makes it more obvious where different interpretations of
the same data are occurring at, as there'll be a call to one of the
[x]AsDouble() functions).
2018-12-25 10:35:09 -05:00
JosJuice
ca2a2c98f2
Merge pull request #7627 from Techjar/netplay-disable-bt-passthrough
...
Core/BootManager: Disable bluetooth passthrough when booting NetPlay
2018-12-25 15:48:08 +01:00
JosJuice
08ae6d7706
Merge pull request #7525 from JosJuice/nand-title-region
...
Accurate region detection for NAND titles
2018-12-25 15:36:00 +01:00
weihuoya
184b2edc30
fx texture overlap
2018-12-25 21:24:25 +08:00
Jordan Woyak
0f19c4a40f
ControllerInterface: DInput: Update force feedback effects in a thread. This should prevent slowdowns experienced by a handful of users.
2018-12-24 19:40:58 -06:00
MerryMage
0deed2a5af
EmuCodeBlock: Fix bug in SetFPRF: Should only consider lower double
2018-12-24 19:02:43 +00:00
Markus Wick
e7b53540d8
Merge pull request #7634 from MerryMage/downcount-on-exit
...
Jit64: Check downcount at block exit, not block entry
2018-12-23 19:34:12 +01:00
MerryMage
5236dc31a6
Jit64: Check downcount at block exit, not block entry
2018-12-23 18:03:29 +00:00
Markus Wick
54f37c3bae
Merge pull request #7631 from MerryMage/crXXX-AeqB
...
Jit_SystemRegisters: Special-case crXXX for CRBA == CRBB
2018-12-23 17:55:09 +01:00
spycrab
fc998093cc
Merge pull request #7600 from spycrab/resource_pack
...
Implement resource packs
2018-12-23 16:04:05 +01:00
Jordan Woyak
d5df56c677
ControllerInterface: Make CoalesceExpression not set the inactive child's value (rumble) to 0. This caused rumble to not enable when a control expression was both a valid "bareword" and "complex" expression.
2018-12-22 11:17:05 -06:00
Jordan Woyak
a8d0afe219
Reduce input mapping detection time to 3 seconds because 5 seconds was ridciculously long and output (rumble) testing time to 2 seconds because 5 seconds was annoyingly long.
2018-12-22 10:58:34 -06:00
degasus
64378c90da
JitArm64: Fix RC calculation of srawix.
...
Seems like it was missed from the early implementation.
2018-12-22 17:31:14 +01:00
Jordan Woyak
3a145aeae4
ResetRumble on emu pause/stop regardless of presence of DInput/Xinput as that's not relevant. All the backends would like to stop rumbling.
2018-12-22 07:31:36 -06:00
zackhow
233b00fb7e
ConfigManager: add save/load for Jit debug options
2018-12-21 15:06:37 -05:00
MerryMage
174d2b0230
crXXX: Avoid loading twice when CRBA == CRBB
2018-12-21 11:33:18 +00:00
MerryMage
07c146e7e2
crXXX: Remove unnecessary CRBA == CRBD constraint for crclr and crset
2018-12-21 11:20:06 +00:00
spycrab
71d53c922f
Implement resource packs
2018-12-19 11:03:09 +01:00
Techjar
cf8b730c61
Core/BootManager: Disable bluetooth passthrough when booting NetPlay
...
Bluetooth passthrough does not and never will work on NetPlay, so we'll
just force the use of emulated bluetooth when booting in NetPlay.
2018-12-17 18:22:13 -05:00
Jordan Woyak
79eb065cf3
Reduce emulated shaking frequency to 6hz. (something more humanly possible) (was ~13hz)
2018-12-15 10:36:22 -06:00
Jordan Woyak
a8a6bdcdd2
Compute emulated classic controller calibration data instead of having hardcoded values.
2018-12-15 10:27:06 -06:00
Jordan Woyak
6848812a31
Produce emulated nunchuk calibration data.
2018-12-15 10:27:06 -06:00
CrystalGamma
2f490e44fb
stop using g_jit outside of JitInterface
...
Replace g_jit in x86-64 ASM routines code by m_jit member reference
2018-12-15 01:58:58 +01:00
Lioncash
6d394d03fe
Common/GLContext: Make member functions const qualified where applicable
...
These don't modify object state, so they can be const qualified.
2018-12-14 11:02:26 -05:00
Lioncash
52cae18b01
Interpreter: Handle paired-single HID2.PSE and HID2.LSQE bits
...
These bits enable or disable paired-single execution based on how
they're set. If PSE isn't set, then all paired-single instructions are
illegal. If PSE is set, but LSQE isn't set, then psq_l, psq_lu, psq_st
and psq_stu are illegal to execute.
Also thanks go out to my roommate @Veegie for letting me use his Wii as
a blasting ground for tests, since mine isn't on hand right now. It only
caught on fire twice and only burned down half of the house through the
process; what a team player.
2018-12-13 22:48:05 -05:00
Lioncash
c87a2f57b4
Interpreter_SystemRegisters: Handle reserved/read-only bits for HID2 in mtspr
2018-12-13 11:39:40 -05:00
Admiral H. Curtiss
fa6782f841
GCMemcard: Required declaration before C++17.
2018-12-10 20:24:20 +01:00
Admiral H. Curtiss
36d84c6959
GCMemcard: Slightly nicer definition of UNINITIALIZED_GAMECODE.
2018-12-10 20:24:20 +01:00
Admiral H. Curtiss
ca2c7679df
GCMemcard: Rewrite DEntry_IconFmt() and DEntry_AnimSpeed() to make more sense.
2018-12-10 20:24:20 +01:00
Admiral H. Curtiss
2351a60567
GCMemcard: Let GetDEntry() return std::optional<DEntry>.
2018-12-10 20:24:20 +01:00
Admiral H. Curtiss
860e003b0c
GCMemcard: Remove needless second definition of DENTRY_SIZE.
2018-12-09 22:28:58 +01:00
Admiral H. Curtiss
3d77a43e67
GCMemcard: Use std::array for GCMBlock.m_block.
2018-12-09 22:28:58 +01:00
Admiral H. Curtiss
ceb9cb53c6
GCMemcard: Rename GCMBlock.block to m_block to match naming conventions.
2018-12-09 22:28:58 +01:00
Admiral H. Curtiss
fc70b60d8b
GCMemcard: Access active directory/BAT via methods instead of pointers.
2018-12-09 22:28:58 +01:00
Admiral H. Curtiss
7ff65db3b2
GCMemcard: As far as I can tell, the directory and BAT blocks aren't really main and backup, but just two blocks that store data are written to alternately. So store them as an std::array of 2 blocks instead of an explicit 'backup' block.
2018-12-09 22:28:58 +01:00
Admiral H. Curtiss
0aaf24b9cc
GCMemcard: Rename GCMemcard variables to match our naming conventions.
2018-12-09 22:28:58 +01:00
Admiral H. Curtiss
4d4b5442bd
GCMemcard: Use std::array and BigEndianValue for BlockAlloc.m_map.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
eb6cc3dbab
GCMemcard: Use BigEndianValue for BlockAlloc.m_last_allocated_block.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
d3b61c3ff0
GCMemcard: Use BigEndianValue for BlockAlloc.m_free_blocks.
2018-12-09 22:28:57 +01:00