Pokechu22
c0b6e9e69c
Treat --debugger command line as a temporary setting
...
Before, Settings::SetDebugModeEnabled was used; this calls SetBaseOrCurrent() which will usually permanently change the base configuration setting for the debugger to true. Thus, the debugger would remain active even if the --debugger command line option was removed. Now, it remains active only for the current run, like other command-line options.
Note that SetBaseOrCurrent is also used by the "Show Debugging UI" option under Options -> Interface; this means that if the debugger is turned off (or off and then back on) by the user while --debugger is specified, this will be reset to whatever the base configuration had when Dolphin is closed and reopened. This behavior is consistent with the rest of the UI.
To my understanding, the --debugger option is something from 5.0 stable/DolphinWx where there was no way to toggle the debug UI in the settings (and the command-line option was the only way of enabling it). It's less useful nowadays.
2023-04-17 23:11:26 -07:00
Admiral H. Curtiss
b2ee958058
IOS/WiiSockMan: Move instance to IOS Kernel.
2023-04-18 01:24:10 +02:00
Sketch
467b961e9c
IOS/Network/KD: Implement GetSchedulerStat
2023-04-17 11:38:42 -04:00
Admiral H. Curtiss
37a30a5e50
IOS/WiiSockMan: Remove declaration to nonexistent DecodeError().
2023-04-17 03:43:29 +02:00
Mai
1a2dcc53f2
Merge pull request #11742 from K0bin/document-provider-2
...
Android: Document Provider improvements
2023-04-16 04:21:33 -04:00
get
a5d06fde4b
Embrace nullptr over NULL and 0
2023-04-15 16:07:05 -05:00
Robin Kertels
57ed5320b5
Android: Fix various issues with the DocumentProvider
...
Fixes copying & deleting folders and copy conflict handling.
2023-04-15 20:53:01 +02:00
Lioncash
784a216927
Common/MathUtil: Move IntLog2 into MathUtil namespace
...
Gets this out of the global namespace.
2023-04-15 03:35:05 -04:00
Lioncash
5e0c20f8a5
Common/MathUtil: Remove MathFloatVectorSum()
...
This isn't used anywhere and not really a generic utility, so we can get
rid of it.
This also lets us remove MathUtil.cpp, since this was the only thing
within that file.
2023-04-15 03:25:38 -04:00
LillyJadeKatrin
31c3288fd5
Added ActivateDeactivateRichPresence to AchievementManager
...
RetroAchievements Rich Presence is a script that is run periodically on a game's memory to provide a detailed text description of what the player is doing. Existing Discord presence on Dolphin would update a player's Discord status to say not just that they are using Dolphin but that they are playing, for example, Sonic Adventure 2 Battle; Rich Presence would detail that the player is in City Escape with 5 lives and 142 rings.
Activating this in the runtime simply entails loading that text script, as returned by the FetchGameData API call, into the runtime, here only determined by whether rich presence is enabled in the achievement settings. Deactivating this is done via the same rcheevos method by setting the rich presence to an empty string.
2023-04-14 22:22:00 -04:00
LillyJadeKatrin
64e3a64c87
Added ActivateDeactivateLeaderboards to AchievementManager
...
This activates or deactivates leaderboards in the rcheevos runtime similarly to achievements. The logic is much more straightforward - all leaderboards are active together; there is nothing requiring some leaderboards to be active while others are unactive, and even a leaderboard that has been submitted to in this session is still active to be submitted to again. The only criteria are that leaderboards must be enabled in the settings, and hardcore mode must be on, the latter of which is false until a future PR.
2023-04-14 22:22:00 -04:00
LillyJadeKatrin
da1de36cb9
Added LoadUnlockData and ActivateDeactivateAchievements to AchievementManager
...
LoadUnlockData and ActivateDeactivateAchievements are the public API components responding to the FetchUnlocks and A/DAchievement (singular) private methods.
LoadUnlockData is asynchronous and performs both a hardcore and a softcore unlock call, updating the unlock map and the active status of any achievements returned from these calls.
ActivateDeactivateAchievements calls ActivateDeactivateAchievement on every achievement ID found in m_game_data, initializing the unlock map for each ID if not already found.
Both of these are currently called in LoadGameByFilenameAsync once the game has been loaded properly. There's a lock around this, to ensure that the unlock map is initialized properly by ActivateDeactivate Achievements before FetchUnlockData makes modifications to it without stalling the async portions of FetchUnlockData.
2023-04-14 22:22:00 -04:00
LillyJadeKatrin
db44e10057
Added FetchUnlockData to AchievementManager
...
FetchUnlockData is an API call to RetroAchievements that downloads a list of achievement IDs for a game that the user has already unlocked and published to the site. It accepts a parameter for whether or not hardcore or softcore achievements are being requested, so that must be provided as well. Once it has the requested list on hand, it updates each achievement's status in the unlock map and will activate or deactivate achievements as necessary.
2023-04-14 22:22:00 -04:00
LillyJadeKatrin
505f40cf9d
Added ActivateDeactivateAchievement to AchievementManager
...
ActivateDeactivateAchievement is passed an Achievement ID as returned from the FetchGameData API call and determines whether to activate it, deactivate it, or leave it where it is based on its current known state and what settings are enabled.
Activating or deactivating an achievement entails calling a method provided by rcheevos that performs this on the rcheevos runtime. Activating an achievement loads its memory signature into the runtime; now the runtime will process the achievement each time the rc_runtime_do_frame function is called (this will be in a future PR) to determine when the achievement's requirements are met. Deactivating an achievement unloads it from the runtime.
The specific logic to determine whether an achievement is active operates over many fields but is documented in detail inside the function. There are multiple settings flags for which achievements are enabled (one flag for all achievements, an "unofficial" flag for enabling achievements marked as unofficial i.e. those that have logic on the site but have not yet been officially approved, and an "encore" flag that enables achievements the player has already unlocked) and this function also evaluates whether the achievement has been unlocked in hardcore mode or softcore mode (though currently every reference to the current hardcore mode state is hardcoded as false).
2023-04-14 17:15:45 -04:00
Admiral H. Curtiss
e9dbb93cb5
Merge pull request #11756 from lioncash/ini
...
Common/IniFile: Move interface into Common namespace
2023-04-14 20:52:30 +02:00
TellowKrinkle
09c80513cd
VideoBackends:Metal: Fix perf queries
...
Fixes an issue where perf queries could end up including counts from previous queries
2023-04-14 00:25:31 -05:00
Jeffrey Bosboom
c6f9e61d38
XInput2: Accept input from keyboards other than the first master
...
XInput2 was created to support multiple pointer/keyboard pairs (often
called MPX for multi-pointer X). Dolphin's XInput2 implementation has
always supported MPX by creating a KeyboardMouse object per master
pointer. Since commit bbb12a7
, Dolphin's keyboard state is filtered by
the output of XQueryKeymap. As a core X function, XQueryKeymap queries
"the" keyboard, which by default is the first master keyboard. As a
result, Dolphin will ignore keys pressed on other master keyboards
unless the first master is simultaneously pressing the same keys.
XInput2 doesn't provide a function to query the keyboard state. There
is no XIQueryKeymap and the current state is not a member of the
XIKeyClassInfo returned by XIQueryDevice. Instead, XInput2 allows a
master pointer to be nominated as "the" pointer on a per-client basis,
with "the" keyboard automatically becoming the associated master
keyboard. The "documentation" [1] says passing None for the window is
only for debugging purposes, but it is documented in the
XISetClientPointer man page and seems to be the only way to query
keyboards beyond the first.
With this commit, Dolphin correctly reads keys from keyboards other than
the first master keyboard. To test, use the xinput command-line utility
to create a master pointer and reattach a keyboard to the associated
master keyboard.
[1]: https://who-t.blogspot.com/2009/07/xi2-recipes-part-6.html
(the XInput2 developer's blog)
2023-04-13 20:10:00 -07:00
Léo Lam
ae18aa0639
Merge pull request #11687 from Minty-Meeo/warnings
...
Resolve GCC/Clang Warnings
2023-04-14 01:29:46 +01:00
Lioncash
e4caace6bb
Common/IniFile: Move interface into Common namespace
...
Gets this out of the global namespace and into the Common namespace
2023-04-13 10:19:28 -04:00
Lioncash
f5bdfdde1a
Common/UPnP: Move interface into Common namespace
...
Keeps these utilities consistent with the rest of most of the Common
library.
2023-04-12 14:15:58 -04:00
Minty-Meeo
f29019180f
Pragma diagnostic ignore [-Wregister] is no longer needed
2023-04-12 03:59:57 -05:00
Minty-Meeo
65edfb0eed
Resolve [-Wunused-const-variable]
2023-04-12 03:59:57 -05:00
Minty-Meeo
244918acb8
Resolve [-Wdeprecated-declarations]
2023-04-12 03:59:57 -05:00
Minty-Meeo
528f7c90e9
Resolve [-Wtautological-constant-out-of-range-compare]
2023-04-12 03:59:57 -05:00
Minty-Meeo
efd06a85d2
Resolve [-Wunused-but-set-variable]
2023-04-12 03:59:57 -05:00
Minty-Meeo
678c93589a
Resolve [-Wclass-memaccess]
2023-04-12 03:59:57 -05:00
LillyJadeKatrin
8b57c4b239
Added LoadGameByFilenameAsync and CloseGame to AchievementManager
...
LoadGameByFilenameAsync sets up a volume reader and hashes the volume, then uses that hash to make the three consecutive API requests to resolve hash, start session and load game data.
CloseGame resets the m_is_game_loaded flag, wipes the queue, and destroys all the game data responses.
2023-04-12 03:08:47 -04:00
LillyJadeKatrin
bd75ce6e6d
Added FetchGameData to AchievementManager
...
FetchGameData is the big one - this retrieves the logic for all the achievements, leaderboards, and rich presence, and all the relevant metadata for the game.
2023-04-12 03:08:47 -04:00
LillyJadeKatrin
7e8a770b30
Added StartRASession to AchievementManager
...
Added a call to the RetroAchievements Start Session API to AchievementManager. This is primarily for client-side activation, so it doesn't return much of value, aside from its success/error information, but I'm storing the return structure in case this changes in the future.
2023-04-12 03:08:47 -04:00
LillyJadeKatrin
67ab4d2473
Added ResolveHash to AchievementManager
...
Added the ResolveHash method to AchievementManager. This is a blocking function to send a hash string to the RetroAchievements server to verify it and get a game ID back.
2023-04-12 03:08:47 -04:00
Admiral H. Curtiss
31d2dedcb1
Merge pull request #11749 from lioncash/copy
...
NetPlayServer: Prevent unnecessary copies in GetInterfaceSet()
2023-04-11 22:09:56 +02:00
Lioncash
09e11b8067
Common: Rename ENetUtil.cpp/.h to ENet.cpp/.h
2023-04-11 11:48:46 -04:00
Lioncash
81493ee910
NetPlayServer: Prevent unnecessary copies in GetInterfaceSet()
...
This was previously copying each pair out of the vector returned by
GetInterfaceListInternal() when we just need to emplace the first entry
of each pair.
2023-04-11 09:17:03 -04:00
Lioncash
64ce2012e3
Common/ENetUtil: Move interface into Common namespace
...
Rather than just being under a separate ENetUtil namespace, we can unify
this into the common namespace as Common::ENet.
2023-04-11 09:12:04 -04:00
Léo Lam
e225ca87a9
Merge pull request #11722 from noahpistilli/write-dl-entry
...
IOS/Network/KD: Reload DLList on call to DownloadNowEx
2023-04-11 02:08:51 +01:00
Admiral H. Curtiss
948a548fb2
Merge pull request #11720 from Pokechu22/hookable-event-recursive-mutex
...
HookableEvent: Use std::recursive_mutex instead of std::mutex
2023-04-10 22:50:44 +02:00
Minty-Meeo
2bb619a508
Resolve [-Wstringop-overflow=]
2023-04-10 14:21:15 -05:00
Minty-Meeo
3282082599
Resolve [-Wwrite-strings]
2023-04-10 14:21:15 -05:00
Minty-Meeo
d9a49c68d9
Resolve [-Wunused-lambda-capture]
2023-04-10 14:21:15 -05:00
Minty-Meeo
1cf30055b2
Resolve [-Wsign-compare]
2023-04-10 14:21:15 -05:00
Admiral H. Curtiss
5373fcc1e7
IOS/FS: Filter files exposed to the emulated system in ReadDirectory() and GetDirectoryStats().
2023-04-10 19:50:08 +02:00
Admiral H. Curtiss
5c05155828
IOS/FS: Implement GetNandStats().
2023-04-10 19:50:08 +02:00
Admiral H. Curtiss
8295d6d415
IOS/FS: More accurate cluster calculation in GetDirectoryStats().
2023-04-10 19:50:08 +02:00
Admiral H. Curtiss
69d6be09f7
IOS/FS: GetDirectoryStats() should return an error if the given path is not a directory.
2023-04-10 19:50:08 +02:00
Admiral H. Curtiss
23843583bf
PowerPC: Refactor to class, move to System.
2023-04-09 21:48:37 +02:00
JosJuice
6b73a4772b
Merge pull request #11744 from AdmiralCurtiss/ios-di-registers
...
IOS/DI: Remove RegisterWrapper.
2023-04-09 08:55:07 +02:00
TellowKrinkle
b9595a2230
CMake: Use find_package and imported targets for Iconv
...
Fixes us forgetting to add its include directories, which could result in linking to a dylib from MacPorts while using the system's header, and failing to link because they use different function names
2023-04-08 21:43:03 -05:00
Admiral H. Curtiss
fe4aadc575
IOS/DI: Remove RegisterWrapper.
2023-04-09 04:20:46 +02:00
Sketch
d11c8075e7
Reload DLList on call to KDDownload
2023-04-08 19:47:11 -04:00
Pokechu22
8b0bd31e72
OGL: Use GL_OES_texture_storage_multisample_2d_array when supported
...
See https://bugs.dolphin-emu.org/issues/13198
2023-04-08 15:32:27 -07:00
Pokechu22
3f143d1bc9
OGL: Only specify precision for sampler2DMSArray when it is defined
...
See https://bugs.dolphin-emu.org/issues/13198
2023-04-08 15:32:27 -07:00
Pokechu22
53beda526b
OGL: Remove bSupports2DTextureStorageMultisample and bSupports3DTextureStorageMultisample
...
bSupports2DTextureStorageMultisample is completely unused, while bSupports3DTextureStorageMultisample is practically unused. In the past, these were checked and fell back to sampler2DMS instead of sampler2DMSArray on GLES 3.1, but this path was removed in f039149198
and Dolphin always uses array textures now.
2023-04-08 15:32:27 -07:00
Pokechu22
c68d484a65
OGL: Convert SupportedESPointSize to an enum class
2023-04-08 15:32:27 -07:00
Admiral H. Curtiss
79b8e136b7
Merge pull request #11740 from Pokechu22/interface-pane-mouse-lock-visibility
...
DolphinQt: Fix mouse lock checkbox appearing when it shouldn't
2023-04-08 22:59:31 +02:00
Robin Kertels
1596b13743
Android: Give Debug and Benchmark builds unique names
...
on the launcher and for the DocumentsProvider
2023-04-08 15:56:44 +02:00
Admiral H. Curtiss
d5b811dd7f
Merge pull request #11738 from malleoz/malleo/tas_input_latency
...
DolphinQt: Prevent MemoryViewWidget updates when hidden
2023-04-08 13:46:56 +02:00
iwubcode
e101f7f6ae
VideoCommon: refactor GetTexture into a separate function for creation, separating the custom texture data path from the game's texture data path
2023-04-08 02:54:00 -05:00
Pokechu22
02cd8b6363
DolphinQt: Fix mouse lock checkbox appearing when it shouldn't
...
See https://bugs.dolphin-emu.org/issues/13232 ; this was introduced in 7dde0c3c31
. Apparently, providing a parent for a widget that is not visible makes your new widget visible when the parent is later made visible, in addition to managing the deletion of the widget; the documentation does not specify this (only that if the parent is visible you need to explicitly show it).
2023-04-07 22:33:40 -07:00
TellowKrinkle
ed177bdbd7
VideoBackends:Metal: Use max pixel samplers constant
2023-04-08 02:12:31 +02:00
OatmealDome
72d08f6c80
InputCommon: Remove OSX (IOKit) input backend
2023-04-07 15:40:14 -04:00
sowens99
44e3993f2f
DolphinQt: Prevent MemoryViewWidget updates when hidden
2023-04-07 11:21:19 -04:00
Mai
aaedc2827d
Merge pull request #11735 from Pokechu22/cmake-no-spirv-cross-on-linux
...
CMake: Don't include SPIRV-Cross except on Windows and macOS
2023-04-06 23:11:14 -04:00
Mai
5686c614ec
Merge pull request #11717 from AdmiralCurtiss/ppcstate-rest
...
Replace most remaining global ppcState references.
2023-04-06 22:35:32 -04:00
Mai
74da38916e
Merge pull request #11729 from AdmiralCurtiss/redundant-mov
...
Jit64: Fix possibly redundant MOV in ABI_CallFunctionPR().
2023-04-06 21:42:28 -04:00
Mai
8b9c1bff0b
Merge pull request #11731 from Pokechu22/typeutils-cc0
...
Common: Relicense TypeUtils to CC0
2023-04-06 21:41:56 -04:00
Pokechu22
56fcc97f6d
CMake: Check `WIN32` instead of `CMAKE_SYSTEM_NAME STREQUAL Windows`
2023-04-06 18:37:45 -07:00
Minty-Meeo
1312624e05
Resolve [-Wshadow]
2023-04-06 19:25:26 -05:00
sowens99
cd79207853
DolphinQt: StickWidget and IRWidget check for changed x/y before signaling change
2023-04-06 01:54:20 -04:00
Pokechu22
b08d259d5c
Common: Relicense TypeUtils to CC0
...
I am the sole contributor (apart from e149ad4f0a
which only changed the license header).
2023-04-05 19:01:11 -07:00
Admiral H. Curtiss
62de9c593b
UnitTests: Avoid ppcState global.
2023-04-05 20:09:32 +02:00
Admiral H. Curtiss
2d1f661118
DolphinQt: Avoid ppcState global.
2023-04-05 20:09:32 +02:00
Admiral H. Curtiss
192d8b6e40
VideoCommon/CommandProcessor: Pass System to HandleUnknownOpcode().
2023-04-05 20:09:32 +02:00
Admiral H. Curtiss
e5941428d1
PowerPC/PPCTables: Pass instruction address to GetOpInfo().
2023-04-05 20:09:32 +02:00
Admiral H. Curtiss
6018daa3fa
PowerPC/PPCCache: Access PowerPCState through System.
2023-04-05 20:09:32 +02:00
Admiral H. Curtiss
aec3a882d7
PowerPC/JitInterface: Access PowerPCState through System.
2023-04-05 20:09:31 +02:00
Admiral H. Curtiss
18f8ae37ab
PowerPC/Expression: Pass System to EvaluateCondition().
2023-04-05 20:09:31 +02:00
Admiral H. Curtiss
0a88c2329a
Merge pull request #11715 from JosJuice/dcbx-order
...
Jit: Change argument order for InvalidateICacheLine(s)FromJIT
2023-04-05 20:06:26 +02:00
Admiral H. Curtiss
2ac7b5a523
Jit64: Fix possibly redundant MOV in ABI_CallFunctionPR().
2023-04-05 20:00:37 +02:00
Mai
25fba7247e
Merge pull request #11726 from mackal/dolphinqt-memory-leaks
...
DolphinQt: Fix memory leaks
2023-04-05 04:18:32 -04:00
OatmealDome
2995b5e061
Merge pull request #11667 from TellowKrinkle/DontSucceedOnLinkFail
...
CMake: Use generator expressions for codesign targets
2023-04-05 05:35:58 +02:00
Michael Cook (mackal)
f424e7815a
DolphinQt: Fix memory leaks in MemoryWidget
...
QMenuBar::addMenu does not take ownership of the QMenu, setting their
parent allows them to be cleaned up
2023-04-04 16:10:31 -04:00
Michael Cook (mackal)
7dde0c3c31
DolphinQt: non-Windows builds leak in InterfacePane
...
The m_checkbox_lock_mouse QCheckBox was only conditionally being added
to the layout, leaving it unmanaged and leaking
Setting the parent will allow it to be managed.
2023-04-04 16:07:06 -04:00
Michael Cook (mackal)
e511718fbc
DolphinQt: Fix leak in LogConfigWidget
...
The m_verbosity_debug button was only conditionally being added as
widget, this was done in order to hide the object, but this left it
unmanaged.
Unconditionally adding it to the layout and controlling it's visibility
will resolve these issues
2023-04-04 16:05:23 -04:00
Pierre Bourdon
d8fabd37fb
Merge pull request #11417 from K0bin/vk-submit-thread-cleanup
...
VideoBackends:Vulkan: Clean up submission thread using WorkQueueThread
2023-04-04 22:02:39 +02:00
Pierre Bourdon
c71a4c2751
Merge pull request #11719 from AdmiralCurtiss/enet-update
...
Update ENet to 8ae0e85298fafdb20777b4eb4241218f52f775b0
2023-04-04 22:00:45 +02:00
Michael Cook (mackal)
2dca24229b
DolphinQt: Fix memory lkea in FilesystemWidget
...
QTreeView::setModel doesn't transfer ownership of the object.
Setting the parent resolves this
2023-04-04 15:59:45 -04:00
Pierre Bourdon
b63b574a3f
Merge pull request #11669 from LillyJadeKatrin/retroachievements-rcheevos-integration
...
Retroachievements rcheevos integration
2023-04-04 12:34:20 +02:00
LillyJadeKatrin
84b3df0af2
Added Achievement Manager with Login
...
Added AchievementManager class. Upon startup (currently only in DolphinQt), logs into RetroAchievements with the login credentials stored in achievements.ini.
Co-authored-by: AdmiralCurtiss <AdmiralCurtiss@users.noreply.github.com>
2023-04-03 21:17:44 -04:00
LillyJadeKatrin
07d2f3d305
Added Initial Achievement Settings
...
Added AchievementSettings in Config with RA_INTEGRATION_ENABLED, RA_USERNAME, and RA_API_TOKEN. Includes code to load and store from Achievements.ini file in config folder.
2023-04-03 21:17:44 -04:00
Michael Cook (mackal)
241a739dc2
DolphinQt: RenderWidget fix heap-use-after-free
...
The QByteArray returned by QString::toUtf8() was being freed so the char
pointer was pointing to freed memory.
Found via ASan, didn't notice any issues during normal runtime.
This was triggered after hitting a key combo with alt (ex. toggle
fullscreen) probably happens with others
2023-04-03 10:43:49 -04:00
Mai
655fca3efe
Merge pull request #11712 from AdmiralCurtiss/nand-import-bounds
...
NANDImporter: Check data bounds.
2023-04-03 08:29:57 -04:00
Pokechu22
9e0755a598
HookableEvent: Use std::recursive_mutex instead of std::mutex
...
This fixes a crash when recording fifologs, as the mutex is acquired when BPWritten calls AfterFrameEvent::Trigger, but then acquired again when FifoRecorder::EndFrame calls m_end_of_frame_event.reset(). std::mutex does not allow calling lock() if the thread already owns the mutex, while std::recursive_mutex does allow this.
This is a regression from #11522 (which introduced the HookableEvent system).
2023-04-02 15:51:21 -07:00
Admiral H. Curtiss
1e1041f299
NetPlay: Limit ENet's MTU to 1392 as a workaround for dropped packets over VPN via WireGuard, see https://github.com/lsalzman/enet/issues/132
2023-04-02 17:23:10 +02:00
LillyJadeKatrin
f3114b59f4
Added USE_RETRO_ACHIEVEMENTS compiler flag
...
Added a flag to VS and CMake for enabling RetroAchievements integration.
2023-04-02 08:28:25 -04:00
LillyJadeKatrin
2836feac71
Added rcheevos to Externals
...
Adds the rcheevos library from RetroAchievements to the Dolphin Externals as a submodule. Change was verified to import correctly and build both via Visual Studio and via cmake ninja.
2023-04-02 08:28:23 -04:00
JosJuice
6089310c80
Add Finnish translation
...
A lot of progress has been made on the Finnish translation over on
Transifex recently. Let's add it.
2023-04-02 11:33:42 +02:00
Admiral H. Curtiss
c97c80d1cb
NANDImporter: Check data bounds.
2023-04-02 03:45:34 +02:00
Admiral H. Curtiss
aaeaa9c6b6
Merge pull request #11714 from sepalani/check-wii-save-path
...
GameList: Check Wii save path
2023-04-02 02:44:29 +02:00
JosJuice
450ca0b69e
Merge pull request #11700 from AdmiralCurtiss/mmu-class
...
PowerPC/MMU: Refactor to class, move to System.
2023-04-01 18:02:04 +02:00
Admiral H. Curtiss
e24e52af3c
Jit64: Use utility function for function calls in dcbx.
...
We have these for a reason. I think this also fixes a theoretical
problem when `ABI_PARAM1 == loop_counter` where the first MOV destroys
the second's value; I'm not sure if this can actually happen in practice
though.
2023-04-01 15:30:03 +02:00
JosJuice
1bf593f65a
Jit: Change argument order for InvalidateICacheLine(s)FromJIT
2023-04-01 14:34:30 +02:00
Sepalani
9ee564dde3
GameList: Check Wii save path
...
Make the behaviour consistent with GC save
2023-04-01 16:23:37 +04:00
Pierre Bourdon
7e9a63b987
Merge pull request #11704 from AdmiralCurtiss/more-log
...
Netplay: More logging before game start.
2023-03-30 19:26:49 +02:00
Admiral H. Curtiss
0ccf24b0c5
Netplay: More logging for server and client thread main loops.
2023-03-30 16:57:39 +02:00
Markus Wick
50a45bd614
Merge pull request #11673 from K0bin/vertex-loader-micro-opt
...
Vertex Loader Microoptimization
2023-03-30 11:05:02 +02:00
Admiral H. Curtiss
bfe0940bbd
Netplay: More logging before game start.
2023-03-30 00:02:30 +02:00
Charles Lombardo
15be899580
Merge pull request #11689 from K0bin/android-open-user-folder
...
Android: Make button in the settings open user folder
2023-03-29 10:53:48 -07:00
Pierre Bourdon
d62838a2f4
Merge pull request #11690 from degasus/asciiart
...
Shaders: Reintroduce the old Ascii-Art shader.
2023-03-28 11:17:27 +02:00
Admiral H. Curtiss
8dabd1a025
PowerPC/MMU: Refactor to class, move to System.
2023-03-28 03:47:51 +02:00
Mai
98fad9004b
Merge pull request #11698 from AdmiralCurtiss/mmu-comments
...
PowerPC/MMU: Clean up old comments.
2023-03-27 10:32:19 -04:00
Mai
c096ee64f2
Merge pull request #11696 from AdmiralCurtiss/jit-interface-class
...
JitInterface: Refactor to class, move to System.
2023-03-27 10:31:53 -04:00
Robin Kertels
ee563189fd
Android: Adjust user data text to match DocumentProvider
2023-03-26 20:32:43 +02:00
Admiral H. Curtiss
d7fabf37d6
PowerPC/MMU: Clean up old comments.
2023-03-26 15:19:48 +02:00
MayImilae
0d74a8561a
Remove GCI Folder Path from the Wrote to OSD Message
...
Follow up to PR11470. Forgot to do GCI as well. Oops.
2023-03-26 06:19:17 -07:00
Admiral H. Curtiss
7f50c070b2
JitInterface: Convert m_jit to unique_ptr.
2023-03-26 14:38:07 +02:00
Admiral H. Curtiss
9217a9eba4
JitInterface: Refactor to class, move to System.
2023-03-26 14:38:07 +02:00
Admiral H. Curtiss
1885ddcde2
JitArm64: Avoid System::GetInstance() and ppcState.
2023-03-25 15:47:30 +01:00
Admiral H. Curtiss
6b44947488
Merge pull request #11677 from AdmiralCurtiss/deglobal-jit
...
Avoid System::GetInstance() and ppcState global in Jit64 and CachedInterpreter.
2023-03-25 14:52:46 +01:00
Admiral H. Curtiss
fc394bdbdb
Jit64: Avoid System::GetInstance() and ppcState.
2023-03-25 02:37:10 +01:00
Admiral H. Curtiss
dfc14db313
CachedInterpreter: Avoid System::GetInstance() and ppcState.
2023-03-25 02:37:10 +01:00
Admiral H. Curtiss
9c0226b7e3
JitBase: Avoid System::GetInstance() and ppcState.
2023-03-25 02:37:00 +01:00
Admiral H. Curtiss
b568cf5268
Interpreter: Remove remaining System::GetInstance() and global ppcState.
2023-03-24 21:58:41 +01:00
degasus
196c684ac1
Vulkan: Enable subgroupShuffle.
...
It is used as workaround for the missing subgroupBroadcastDynamicId flag on SPIR-V < 1.5.
2023-03-24 21:53:23 +01:00
JosJuice
7de01597c6
Merge pull request #11686 from t895/index-fix
...
Android: Ignore input from invalid pointer identifier
2023-03-24 17:57:19 +01:00
Admiral H. Curtiss
2edb69f89f
Merge pull request #11682 from lioncash/queue
...
Common: Move FixedSizeQueue into Common namespace
2023-03-24 12:55:10 +01:00
Robin Kertels
43d346aba4
Android: Open DocumentProvider directly when tapping the File Manager button
2023-03-24 00:33:42 +01:00
Charles Lombardo
df806125b9
Android: Ignore input from invalid pointer identifier
2023-03-22 21:44:37 -04:00
Pierre Bourdon
eb7d7836fd
Merge pull request #11685 from shuffle2/updater-test
...
test-updater.py: include space and unicode in paths to test
2023-03-22 23:40:24 +01:00
Shawn Hoffman
fdc1626308
test-updater.py: include space and unicode in paths to test
2023-03-22 11:08:58 -07:00
Shawn Hoffman
3961afdbb9
windows: temporarily hardcode VCToolsVersion to 14.34.31931.0
...
this should be reverted after next beta is built
see https://bugs.dolphin-emu.org/issues/13206
2023-03-22 10:42:32 -07:00
Lioncash
0f326c6067
Common: Move FixedSizeQueue into Common namespace
...
Gets this out of the global namespace.
2023-03-22 01:23:15 -04:00
Charles Lombardo
ce66d5875f
Android: Fix long press action for leanback game cards
2023-03-21 19:12:28 -04:00
Charles Lombardo
cf0706c239
Android: Remove deprecated use of launchWhenStarted/Resumed
2023-03-21 18:53:48 -04:00
Lioncash
0888c93d48
Common: Move FPU-related helpers into Common namespace
...
Makes these utilities' namespace consistent with the majority of the
Common library.
2023-03-21 10:58:13 -04:00
Pokechu22
df451b3d9e
msvc: Nest implot under Externals
2023-03-20 22:27:39 -07:00
Admiral H. Curtiss
8f16fd60dd
JitArm64: Use 64-bit register for pointer when falling back to interpreter.
2023-03-21 02:46:29 +01:00
Robin Kertels
93fce0e4b6
VideoCommon:VertexManagerBase: Only calculate remaining indices once
...
Before, both of those were calculated 3 times due to the ASSERTs.
2023-03-20 20:59:50 +01:00
Robin Kertels
408b09da31
VideoCommon:VertexShaderManager: Inline SetVertexFormat & UpdateValue/Offset
2023-03-20 20:59:38 +01:00
Mai
9807961ff2
Merge pull request #11671 from AdmiralCurtiss/deglobal-interpreter
...
Deglobalize Interpreter
2023-03-20 15:55:14 -04:00
Robin Kertels
c1be9628fc
VideoBackends:Vulkan: Use WorkQueueThread
2023-03-20 16:40:32 +01:00
Robin Kertels
9d422d14d5
WorkQueueThread: Fix WaitForCompletion
2023-03-20 16:31:40 +01:00
Robin Kertels
9186050daa
VideoBackends:Vulkan: Clean up submission thread BlockingLoop usage
2023-03-20 16:23:35 +01:00
Robin Kertels
7703fef3a4
VideoCommon:VertexLoaderManager: Only update vertex format in shader manager if necessary.
2023-03-20 00:41:16 +01:00
JosJuice
002a96adb0
Merge pull request #11662 from t895/kotlin-settings
...
Android: Convert Settings to Kotlin
2023-03-19 17:15:22 +01:00
Admiral H. Curtiss
454d2fd9ab
Interpreter: Avoid ppcState global (Interpreter_SystemRegisters.cpp).
2023-03-19 03:11:22 +01:00
Admiral H. Curtiss
c582aad0c7
Interpreter: Avoid ppcState global (Interpreter_Paired.cpp).
2023-03-19 03:11:18 +01:00
Admiral H. Curtiss
514a7af473
Interpreter: Avoid ppcState global (Interpreter_LoadStorePaired.cpp).
2023-03-19 03:11:13 +01:00
Admiral H. Curtiss
9af8410e4c
Interpreter: Avoid ppcState global (Interpreter_LoadStore.cpp).
2023-03-19 03:11:09 +01:00
Admiral H. Curtiss
8b13349886
Interpreter: Avoid ppcState global (Interpreter_Integer.cpp).
2023-03-19 03:11:05 +01:00
Admiral H. Curtiss
2ce86a890a
Interpreter: Avoid ppcState global (Interpreter_FloatingPoint.cpp).
2023-03-19 03:11:01 +01:00
Admiral H. Curtiss
d4ca591e02
Interpreter: Avoid ppcState global (Interpreter_Branch.cpp).
2023-03-19 03:10:56 +01:00
Admiral H. Curtiss
68ab623764
Interpreter: Avoid ppcState global (Interpreter.cpp).
2023-03-19 03:10:42 +01:00
Admiral H. Curtiss
3d67c11b91
Interpreter: Move global state into class, move instance to System.
2023-03-19 03:05:20 +01:00
Admiral H. Curtiss
919182eda2
Interpreter: Pass Interpreter to CPU instruction functions.
2023-03-19 03:05:11 +01:00
Admiral H. Curtiss
a4d3342419
Merge pull request #11665 from JosJuice/fix-movie-wii-save
...
Core: Fix starting movie recording with existing Wii save
2023-03-19 01:46:21 +01:00
Admiral H. Curtiss
fb7a371ac0
Merge pull request #11666 from AdmiralCurtiss/updater-spaces
...
WinUpdater: Quote path for args when relaunching Dolphin.
2023-03-18 18:32:35 +01:00
Pierre Bourdon
04915d6749
Merge pull request #11670 from JosJuice/android-open-mode
...
Android: Translate C++ "w" to ParcelFileDescriptor "wt"
2023-03-18 18:20:17 +01:00
JosJuice
8e363c0995
Android: Translate C++ "w" to ParcelFileDescriptor "wt"
...
Previously we were translating "w" to "w", which unlike in C++ doesn't
truncate. See https://issuetracker.google.com/issues/180526528 , and for
reference, https://en.cppreference.com/w/cpp/io/c/fopen and
https://en.cppreference.com/w/cpp/io/basic_filebuf/open .
This issue was brought to my attention by the recently published issue
CVE-2023-21036 in the screenshot editing tool on Pixel phones. I'm not
aware of any code in Dolphin that actually uses "w" with an existing
file on Android (when we ask the user for a location to save to using
SAF, a new file is always created), but still, best to fix this.
2023-03-18 13:44:01 +01:00
Admiral H. Curtiss
33d0ec97e9
WinUpdater: Quote path for args when relaunching Dolphin.
2023-03-17 12:48:39 +01:00
TellowKrinkle
d037c60caf
CMake: Use proper dependency tracking command for storyboard compiling
2023-03-17 01:28:33 -05:00
TellowKrinkle
66936f2087
CMake: Use generator expressions to get codesigning targets
...
Also works around a bug where CMake's ninja generator doesn't properly handle ||'s on POST_BUILD commands, making the || apply to the whole build like `<link> && custom0 || custom1`
2023-03-17 01:28:16 -05:00
Pokechu22
4dd658f4da
Remove PPCTables::UsesFPU
...
We don't have getters for other flags, so it's not useful to have that.
2023-03-16 18:39:41 -07:00
Pokechu22
164ea57790
Split PPCTables from Interpreter_Tables
...
This also allows use of constexpr in both places. Some additional work was needed in PPCTables due to mutable data associated with each opcode.
2023-03-16 18:36:25 -07:00
Pokechu22
cd627d1232
PPCTables: Fix OPLOG system
...
Since OPLOG is defined in PPCTables.cpp only, it isn't visible elsewhere. This broke in 3ede866c37
.
2023-03-16 18:36:25 -07:00
Pokechu22
34f39ee22e
JitArm64_Tables: Use C++20 features
2023-03-16 18:36:25 -07:00
Pokechu22
ec7432ef36
Jit64_Tables: Use C++20 features
2023-03-16 18:36:25 -07:00
Pokechu22
14a93d24e1
Common: Add constexpr Fill function
2023-03-16 18:36:25 -07:00
JosJuice
d179acef38
Core: Refactor InitializeDeterministicWiiSaves
...
Some simple deduplication.
2023-03-16 22:49:46 +01:00
JosJuice
9e7409e71e
Core: Fix starting movie recording with existing Wii save
...
A change made in 0d095b4
didn't take into account that the movie system
doesn't set sync_titles.
2023-03-16 22:45:40 +01:00
JosJuice
6b545eaada
Merge pull request #11659 from JosJuice/android-after-dirinit-runner-cleanup
...
Android: Clean up AfterDirectoryInitializationRunner
2023-03-16 17:12:58 +01:00
Pierre Bourdon
d623871f3e
Merge pull request #11664 from OatmealDome/macos-updater-test-mode
...
MacUI: Add stub implementation of UI::IsTestMode()
2023-03-16 15:24:49 +01:00
OatmealDome
bbe2bd5fec
MacUI: Add stub implementation of UI::IsTestMode()
2023-03-16 02:44:36 -04:00
Charles Lombardo
a32d66e5ec
Android: Upgrade Kotlin to 1.8.10
2023-03-15 23:58:11 -04:00
Charles Lombardo
f06c0897ab
Android: Update gradle to 8.0
2023-03-15 23:58:11 -04:00
Charles Lombardo
de34c962d7
Android: Upgrade AGP to 7.4.2
2023-03-15 23:58:11 -04:00
Charles Lombardo
7e84285047
Android: Upgrade dependencies
...
Desugar JDK 2.0.0 -> 2.0.2
Androidx Appcompat 1.6.0 -> 1.6.1
Androidx Exif Interface 1.3.5 -> 1.3.6
Material Components 1.7.0 -> 1.8.0
Androidx recyclerview 1.2.1 -> 1.3.0
Androidx viewmodel ktx 2.5.1 -> 2.6.0
Androidx viewmodel 2.5.1 -> 2.6.0
2023-03-15 23:58:11 -04:00
Charles Lombardo
805f921b55
Android: Remove unused benchmark flags
2023-03-15 23:57:47 -04:00
Charles Lombardo
2782318b8c
Android: Update ndk version to 25.2.9519653
2023-03-15 23:57:47 -04:00
Charles Lombardo
9020b6aeb9
Android: Convert SettingsAdapter to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
673c8d9cb2
Android: Convert SettingsActivity to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
4cbbe15e77
Android: Convert SettingsFragment to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
cea882181d
Android: Convert SettingsActivityPresenter to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
3b32ff6980
Android: Convert SettingsFile to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
92f39a98d6
Android: Convert SwitchSettingViewHolder to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
49e480ee53
Android: Convert SubmenuViewHolder to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
760417b08f
Android: Convert SliderViewHolder to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
9b79f5fa5d
Android: Convert SingleChoiceViewHolder to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
917a0c2287
Android: Convert SettingViewHolder to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
7b7ee13162
Android: Convert RunRunnableViewHolder to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
6a08b12c9b
Android: Convert InputStringSettingViewHolder to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
bc6d10e29a
Android: Convert HeaderViewHolder to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
789493b722
Android: Convert HeaderHyperLinkViewHolder to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
220cdafbaa
Android: Convert FilePickerViewHolder to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
f0304d80ef
Android: Convert SettingsViewModel to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
508e56e2bf
Android: Convert SettingsFragmentView to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
656d91cd18
Android: Convert SettingsFragmentPresenter to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
c78cde2e18
Android: Convert SettingsActivityView to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
dc77ee140d
Android: Convert MenuTag to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
2af8efdd72
Android: Convert SwitchSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
ab11b44938
Android: Convert SubmenuSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
065c80fb4d
Android: Convert SliderSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
3c6bb9e0c9
Android: Convert SingleChoiceSettingDynamicDescriptions to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
d51f504629
Android: Convert SingleChoiceSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
1fc9f03b27
Android: Convert RunRunnable to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
62679bacc1
Android: Convert PercentSliderSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
72be338d56
Android: Convert LogSwitchSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
56c33890b9
Android: Convert InvertedSwitchSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
2369977e14
Android: Convert IntSliderSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
826e849a7b
Android: Convert InputStringSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
fc97c4d35a
Android: Convert HyperLinkHeaderSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
f95fd7788e
Android: Convert HeaderSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
1e2e9e004b
Android: Convert FloatSliderSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
f7ad065408
Android: Convert FilePicker to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
1553477c09
Android: Convert StringSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
2c560e05a8
Android: Convert Settings to Kotlin
2023-03-15 17:35:21 -04:00
Charles Lombardo
dee85cead8
Android: Convert PostProcessing to Kotlin
2023-03-15 17:35:21 -04:00
Charles Lombardo
42f4fb815f
Android: Convert NativeConfig to Kotlin
2023-03-15 17:35:21 -04:00
Charles Lombardo
7c59640f8e
Android: Convert IntSetting to Kotlin
2023-03-15 17:35:21 -04:00
Charles Lombardo
46e68171b9
Android: Convert FloatSetting to Kotlin
2023-03-15 17:34:49 -04:00
Charles Lombardo
3ac72855e3
Android: Convert BooleanSetting to Kotlin
2023-03-15 17:34:21 -04:00
Charles Lombardo
84c23c14db
Android: Convert AdHocStringSetting to Kotlin
2023-03-15 15:49:37 -04:00
Charles Lombardo
a8f3d4291a
Android: Convert AdHocBooleanSetting to Kotlin
2023-03-15 15:49:37 -04:00
Charles Lombardo
f1028b4652
Android: Convert AbstractStringSetting to Kotlin
2023-03-15 15:49:37 -04:00
Charles Lombardo
32f9e48257
Android: Convert AbstractIntSetting to Kotlin
2023-03-15 15:49:37 -04:00
Charles Lombardo
baeeaa2a43
Android: Convert AbstractFloatSetting to Kotlin
2023-03-15 15:49:37 -04:00
Charles Lombardo
5bc2b46983
Android: Convert AbstractBooleanSetting to Kotlin
2023-03-15 15:49:37 -04:00
Charles Lombardo
21e0b5b9d9
Android: Convert AbstractSetting to Kotlin
2023-03-15 15:49:37 -04:00
Charles Lombardo
43fa5cf5e4
Android: Convert SettingsItem to Kotlin
2023-03-15 15:49:37 -04:00
Charles Lombardo
6dc6720250
Android: Convert StringSingleChoiceSetting to Kotlin
2023-03-15 15:49:37 -04:00
Charles Lombardo
98ab893be7
Android: Create extension functions for serializables
...
Getting serializables without explicitly stating the type is deprecated in Android 13. However we still need a way to get a serializable in versions below that. Now with these we can avoid repeating the same if block.
2023-03-15 14:26:37 -04:00
Pierre Bourdon
91fca0783e
Merge pull request #11647 from AdmiralCurtiss/perfquery-inconsistency
...
Fix PerfQuery inconsistencies across backends.
2023-03-15 15:20:11 +01:00
JosJuice
fe8be906f3
Android: Use LifecycleOwner instead of subtype
2023-03-14 23:03:13 +01:00
JosJuice
846f5f6671
Android: Clean up outdated comment in AfterDirectoryInitializationRunner
2023-03-14 23:03:13 +01:00
Mai
4281606838
Merge pull request #11641 from JosJuice/android-remove-old-config
...
Android: Remove support for the old config system
2023-03-14 15:48:04 -04:00
Pierre Bourdon
e83b6e19ab
Merge pull request #11655 from AdmiralCurtiss/dtk-heap
...
HW/DVDInterface: Avoid heap allocation in DTK callback.
2023-03-14 13:45:41 +01:00
Admiral H. Curtiss
4c21cdd0e6
HW/DVDInterface: Do DTK math in blocks instead of in samples.
2023-03-14 13:19:44 +01:00
Pierre Bourdon
aceafc9d26
Merge pull request #11652 from t895/header-padding
...
Android: Make header padding appear even
2023-03-14 13:03:19 +01:00
Admiral H. Curtiss
66b6a60afe
HW/DVDInterface: Avoid heap allocation in DTK callback.
2023-03-14 10:58:03 +01:00
Pierre Bourdon
3783bedc25
Merge pull request #11635 from Dentomologist/wiimote_fix_disconnection_deadlock
...
ControllerInterface: Fix deadlock when Wii Remote disconnects
2023-03-14 02:41:36 +01:00
Admiral H. Curtiss
aac9647ba2
Divide by MSAA for PerfQuery in all backends.
2023-03-14 02:13:25 +01:00
Admiral H. Curtiss
ddd2b598da
Return quarter value for PerfQuery in all backends.
2023-03-14 02:08:20 +01:00
Pierre Bourdon
970ddf0ea0
Merge pull request #11651 from JosJuice/android-profile-off-by-one
...
Android: Fix per-game profile setting off-by-one
2023-03-14 02:02:00 +01:00
Admiral H. Curtiss
43a5d506c8
Merge pull request #11644 from deReeperJosh/trapteamaudio
...
Skylander Portal: Play Trap Team Audio
2023-03-14 01:29:20 +01:00
Admiral H. Curtiss
26605c0184
Merge pull request #11649 from Pokechu22/tas-controller-input-update-widgets
...
DolphinQt: Fix TAS widgets not updating with enable controller input
2023-03-14 01:21:17 +01:00
Pierre Bourdon
5c962ea71f
Merge pull request #11650 from AdmiralCurtiss/more-system
...
More passing of System instead of using the singleton.
2023-03-13 23:36:17 +01:00
Pierre Bourdon
936c05e600
Merge pull request #11599 from shuffle2/vs17.5
...
vs: update to 17.5
2023-03-13 20:43:48 +01:00
Charles Lombardo
4f610bb354
Android: Make header padding appear even
2023-03-13 15:27:09 -04:00
JosJuice
5818685911
Android: Fix per-game profile setting off-by-one
2023-03-13 18:30:55 +01:00
Admiral H. Curtiss
3006c23c85
Core/CPUThreadGuard: Fetch System from Guard.
2023-03-13 18:13:20 +01:00
Admiral H. Curtiss
31d33d0efd
HW/ProcessorInterface: Store reference to System in class.
2023-03-13 18:13:20 +01:00
Admiral H. Curtiss
ba852a7812
HW/Memmap: Store reference to System in MemoryManager.
2023-03-13 18:13:20 +01:00
Admiral H. Curtiss
026b6a3e0f
HW: Pass System to functions.
2023-03-13 18:13:20 +01:00
Mai
137b9d1da1
Merge pull request #11646 from AdmiralCurtiss/si-class
...
HW/SerialInterface: Refactor to class.
2023-03-13 13:09:51 -04:00
Pierre Bourdon
a6b2655631
Merge pull request #11636 from shuffle2/updater-test
...
Add test for Updater
2023-03-13 15:47:37 +01:00
Pokechu22
3f6b931150
DolphinQt: Fix TAS widgets not updating with enable controller input
...
This regressed in 0300b44d23
. Specifically, the sliders and the stick/IR widgets did not update, but the spin boxes did update.
2023-03-12 17:58:48 -07:00
Joshua de Reeper
f27e8216a5
Skylander Portal: Play Trap Team Audio
...
Asserts and length handling
2023-03-13 13:01:48 +13:00
Admiral H. Curtiss
bf2f901a99
HW/SerialInterface: Refactor to class.
2023-03-12 16:08:56 +01:00
Robin Kertels
784ce78eaf
Android: Use $applicationId for DocmentProvider authority
...
Fixes side by side installation of debug, benchmark and release builds.
2023-03-12 15:28:21 +01:00
Admiral H. Curtiss
d371b17f37
HW/SerialInterface: Pass System to ISIDevice.
2023-03-12 14:19:38 +01:00
Mai
ab05dfc263
Merge pull request #11642 from shuffle2/winupdater-fail
...
winupdater: improve wording of UI::Error
2023-03-12 04:11:16 -04:00
Mai
ee28d332b0
Merge pull request #11640 from AdmiralCurtiss/vi-class
...
HW/VideoInterface: Refactor to class.
2023-03-11 18:00:24 -05:00
Shawn Hoffman
ab3da5e4ce
winupdater: improve wording of UI::Error
2023-03-11 13:25:38 -08:00
Shawn Hoffman
06cb4ffa64
winupdater: fix CR getting into parsed VCToolsUpdateURL
2023-03-11 12:58:33 -08:00
Shawn Hoffman
0a8725e4a9
updater: add test for update flow
...
currently windows-only
2023-03-11 12:58:33 -08:00
Shawn Hoffman
de0bc06856
updater: flush log after each write
2023-03-11 12:58:33 -08:00
JosJuice
804b94ee9e
Merge pull request #11524 from K0bin/document-provider
...
Android: Implement DocumentProvider
2023-03-11 19:24:19 +01:00
JosJuice
08334015f9
Android: Remove SettingsActivityView parameters from Settings
...
No longer used for anything.
2023-03-11 18:49:43 +01:00
JosJuice
99600ef781
Android: Rework the "global" settings functions
...
getXGlobal() is now identical to getX(), and setXGlobal(int, X) is now
identical to setX(int, X) in the cases where setX(int, X) exists.
We can remove/rename them.
2023-03-11 18:49:43 +01:00
JosJuice
58fc347f8d
Android: Don't require Settings object for reading a setting
...
Made unnecessary by the previous commit.
2023-03-11 18:49:43 +01:00
JosJuice
68fd133057
Android: Remove support for the old config system
...
All settings that we care about from an Android perspective are now
supported by the new config system, so we can remove all the Android code
for the old config system. This should have no impact on users.
2023-03-11 17:51:59 +01:00
JosJuice
53e7090f55
Migrate game INI profile setting to new config system
2023-03-11 17:51:58 +01:00
Admiral H. Curtiss
069280ddc6
HW/VideoInterface: Refactor to class.
2023-03-11 12:50:35 +01:00
Admiral H. Curtiss
2102e64299
HW/VideoInterface: Savestate members individually.
2023-03-11 12:48:02 +01:00
JosJuice
62ff2f1030
Merge pull request #11385 from JosJuice/android-input-overhaul
...
Android input overhaul
2023-03-11 12:37:44 +01:00
Admiral H. Curtiss
84542d915d
HW/MemoryInterface: Refactor to class.
2023-03-11 00:57:16 +01:00
Admiral H. Curtiss
bf95d4012f
HW/EXI: Refactor ExpansionInterface to class.
2023-03-11 00:56:37 +01:00
Mai
e4df388128
Merge pull request #11638 from JosJuice/tas-input-motionplus
...
DolphinQt: Add MotionPlus support to TAS input
2023-03-10 16:54:35 -05:00
Admiral H. Curtiss
d31733ce64
HW/DVD: Rename DVDThreadManager to DVDThread.
2023-03-10 20:22:29 +01:00
Admiral H. Curtiss
25e883280a
HW/DVD: Merge DVDThread namespace into DVD.
2023-03-10 20:20:19 +01:00
JosJuice
4d34f86121
DolphinQt: Add MotionPlus support to TAS input
...
Will manually controlling both an accelerometer and a gyroscope at the
same time be reasonable to do? No idea. Was this easy to implement
thanks to the input override system? Yes.
Fixes https://bugs.dolphin-emu.org/issues/12443 .
2023-03-10 19:36:17 +01:00
Admiral H. Curtiss
d26a540253
HW/DVD: Rename DVDInterfaceManager to DVDInterface.
2023-03-10 18:37:46 +01:00
Admiral H. Curtiss
ee35103ed9
HW/DVD: Rename DVDInterface namespace to DVD.
2023-03-10 18:37:18 +01:00
Admiral H. Curtiss
dca8e9dc1e
HW/DVDThread: Refactor to class.
2023-03-10 18:12:59 +01:00
Admiral H. Curtiss
eb25c46a91
HW/DVDInterface: Refactor to class.
2023-03-10 18:12:59 +01:00
Admiral H. Curtiss
929222ffbd
HW/DSP: Refactor to class.
2023-03-09 22:35:29 +01:00
Mai
40ff9b25b7
Merge pull request #11633 from AdmiralCurtiss/ai-class
...
HW/AudioInterface: Refactor to class.
2023-03-09 11:59:47 -05:00
Admiral H. Curtiss
1023e5dd4f
Merge pull request #11441 from JosJuice/jit64-lea-fixup
...
Jit64: Fix the offsetAddedToAddress correction
2023-03-09 16:13:25 +01:00
Admiral H. Curtiss
9ed388fc8a
Merge pull request #11557 from AdmiralCurtiss/split-file-reader
...
DiscIO: Add support for CleanRip-style split ISOs.
2023-03-09 16:13:15 +01:00
Admiral H. Curtiss
8c7997d6ca
Merge pull request #11601 from Dentomologist/bluetooth_adapter_missing_message
...
Config: Restore Bluetooth adapter missing message in Controller Settings
2023-03-09 16:10:14 +01:00
Admiral H. Curtiss
234c5dd90e
Merge pull request #11622 from JosJuice/tas-input-nonblocking
...
DolphinQt: Rework TAS input threading
2023-03-09 16:08:30 +01:00
Charles Lombardo
a6b1b2f9a5
Merge pull request #11631 from K0bin/pref-divider
...
Android: Only show divider in settings for headers
2023-03-08 23:56:39 -05:00
Admiral H. Curtiss
d638d2dcb7
HW/AudioInterface: Refactor to class.
2023-03-09 02:40:29 +01:00
Dentomologist
d6a8e6caaf
ControllerInterface: Fix deadlock when Wii Remote disconnects
...
In UpdateInput, lock m_devices_population_mutex before m_devices_mutex
to be consistent with other ControllerInterface functions. Normally the
former lock isn't needed in UpdateInput, but when a Wii Remote
disconnects it calls RemoveDevice which results in the mutexes being
locked in the wrong order.
2023-03-08 17:22:27 -08:00
Robin Kertels
13ed46a488
Android: Implement DocumentProvider
...
This allows users to access the Dolphin user directory.
2023-03-08 23:09:49 +01:00
Admiral H. Curtiss
a1c2651fee
HW/EXI: Pass System to IEXIDevice.
2023-03-08 22:51:17 +01:00
Admiral H. Curtiss
7044cff011
Core/Boot: Pass around System.
2023-03-08 22:41:43 +01:00
Admiral H. Curtiss
912cd456fb
Core: Add System parameter to CPUThreadGuard.
2023-03-08 22:41:42 +01:00
Robin Kertels
1b47144312
Android: Center list view headers
2023-03-08 18:57:19 +01:00
Robin Kertels
edde253724
Android: Only show divider in settings for headers
2023-03-08 18:57:08 +01:00
Mai
c592c94395
Merge pull request #11630 from AdmiralCurtiss/globals-cpu
...
HW/CPU: Refactor to class, move to System.
2023-03-08 11:52:30 -05:00
JosJuice
0300b44d23
DolphinQt: Rework TAS input threading, part 2 (analog inputs)
2023-03-08 17:49:03 +01:00
JosJuice
11e4d46927
DolphinQt: Remove unneeded out parameters in TASInputWindow
...
IIRC we needed this before the input override system was added.
2023-03-08 17:49:03 +01:00
JosJuice
3eac1fc284
DolphinQt: Rework TAS input threading, part 1 (buttons)
...
This gets rid of a blocking operation, improving performance and fixing
https://bugs.dolphin-emu.org/issues/12893 .
This also makes us no longer directly access the state of certain UI
elements from the CPU thread, which probably wasn't thread-safe but
doesn't seem to have caused any observable issues so far.
2023-03-08 17:49:02 +01:00
Admiral H. Curtiss
3b364c5c16
HW/CPU: Refactor to class, move to System.
2023-03-08 12:23:37 +01:00
Mai
f1e4b6a141
Merge pull request #11494 from t895/orientation-jank
...
Android: Rewrite Wii system updates in Kotlin
2023-03-08 01:42:53 -05:00
Admiral H. Curtiss
0b9002ec2a
Merge pull request #11568 from SMarioMan/socket-broadcast
...
Network/Socket: Enable broadcast permissions in socket requests
2023-03-08 00:11:44 +01:00
Charles Lombardo
75ce7a04ca
Android: Use coroutine for system updates
2023-03-07 15:45:41 -05:00
Charles Lombardo
d66d8210bf
Android: Switch to indeterminate progress bar on system update cancel
2023-03-07 15:45:41 -05:00
Charles Lombardo
917ca2273e
Android: Remove hardcoded strings from system update dialogs
2023-03-07 15:45:41 -05:00
Charles Lombardo
410aaef56e
Android: Remove orientation lock on system update dialog
2023-03-07 15:45:41 -05:00
Charles Lombardo
c0868f04a9
Android: Use Kotlin extensions for lifecycle components
2023-03-07 15:45:41 -05:00
Charles Lombardo
5eeb0a540b
Android: Convert OnlineUpdateRegionSelectDialogFragment to Kotlin
2023-03-07 15:45:41 -05:00
Charles Lombardo
0ac4fe763b
Android: Convert SystemMenuNotInstalledDialogFragment to Kotlin
2023-03-07 15:45:41 -05:00
Charles Lombardo
c8907349be
Android: Convert SystemUpdateResultFragment to Kotlin
2023-03-07 15:45:40 -05:00
Charles Lombardo
60cb886cd4
Android: Convert WiiUtils to Kotlin
2023-03-07 15:45:40 -05:00
Charles Lombardo
2b17e0334a
Android: Convert SystemUpdateViewModel to Kotlin
2023-03-07 15:45:40 -05:00
Charles Lombardo
6dfa555099
Android: Convert SystemUpdateProgressBarDialogFragment to Kotlin
2023-03-07 15:45:40 -05:00
Mai
16023ece6d
Merge pull request #11621 from deReeperJosh/skylandersfilefix
...
Skylander Portal: Clearing and Reloading fix
2023-03-07 15:24:46 -05:00
Admiral H. Curtiss
6d38dd9821
Qt/WatchWidget: Don't update if not paused.
2023-03-07 20:31:15 +01:00
JosJuice
75fb1a7edf
Android: Disable input device sensor input due to crash
2023-03-07 17:39:34 +01:00
JosJuice
1788a797e7
Android: Add "more settings" button to overlay control setting dialog
...
Some people might wonder where the ability to select an extension
and the Sideways Wii Remote went. This button will take them to the
general settings, which is where those settings now live.
At some point in the future, we should probably move everything to the
general settings. But this pull request is already big enough as it is!
2023-03-07 17:39:34 +01:00
JosJuice
6b5f82c12f
Android: Change how the overlay controller setting works, part 2
...
The previous commit wasn't enough for getting inputs to work for
controllers 2-4.
2023-03-07 17:39:34 +01:00
JosJuice
1b55d7c594
Android: Change how the overlay controller setting works
...
Up until now, there have been two settings on Android that stored the
selected Wii Remote extension: the normal one that's also used on PC,
and a SharedPreferences one that's used by the overlay controls to
determine what controls to show. It is possible for these two to end up
out of sync, and my input changes have made that more likely to happen.
To fix this, let's rework how the overlay controller setting works.
We don't want it to encode the currently selected Wii Remote extension.
However, we can't simply get rid of the setting, because for some Wii
games we need the ability to switch between a GameCube controller and a
Wii Remote. What this commit does is give the user the option to select
any of the 4 GameCube controllers and any of the 4 Wii Remotes. (Before,
controllers 2-4 weren't available in the overlay.) Could be useful for
things like the Psycho Mantis fight in Metal Gear Solid. I'm also
switching from SharedPreferences to Dolphin.ini while I'm at it.
2023-03-07 17:39:34 +01:00
JosJuice
4c326f2030
Android: Remove the in-emulation IR sensitivity options
...
This too can be set in the normal controller settings now.
2023-03-07 17:39:34 +01:00
JosJuice
ee2c7dc24b
Android: Remove the in-emulation motion control options
...
You can set this in the normal controller settings now.
2023-03-07 17:39:34 +01:00
JosJuice
9b9b6d97bc
Config: Simplify IsSettingSaveable's handling of Android section
...
The Android-specific controller mapping system is now gone,
so IsSettingSaveable can be greatly simplified.
2023-03-07 17:39:34 +01:00
JosJuice
32cb41007b
Android: Allow changing controller settings during emulation
2023-03-07 17:39:34 +01:00
JosJuice
c2779aef06
Android: Add the advanced input mapping dialog
...
It's missing a lot of features from the PC version for now, like
buttons for inserting functions and the ability to see what the
expression evaluates to. I mostly just wanted to get something in
place so you can set up rumble.
Co-authored-by: Charles Lombardo <clombardo169@gmail.com>
2023-03-07 17:39:30 +01:00
Admiral H. Curtiss
f389da2a33
HW/HSP: Refactor to class, move to System.
2023-03-07 02:11:39 +01:00
Admiral H. Curtiss
655cc7f75c
DiscIO: Add support for CleanRip-style split ISOs.
2023-03-05 19:23:55 +01:00
Scott Mansell
4acdbc0e84
Merge pull request #11625 from phire/eventhook_nodiscard
...
Fix KillRenderer config changed regression
2023-03-06 03:09:12 +13:00
Scott Mansell
901f12c935
HookableEvents: Add [[nodiscard]] to Register
2023-03-06 00:12:26 +13:00
Scott Mansell
b7db2510ef
Don't discard ConfigChanged callback handle
2023-03-06 00:12:26 +13:00
Scott Mansell
70cfb46f8e
Fix duplicated FPS
...
This is a small regression from KillRenderer, which caused duplicated
frames to be counted on the FPS counter when the "Skip Presenting
Duplicated Frames" option was disabled.
2023-03-05 23:31:12 +13:00
Shawn Hoffman
5bf9ad7d82
msvc: enable compiler checks added in vs 17.5
2023-03-04 14:18:18 -08:00
Shawn Hoffman
35bde3e7c8
msvc: bump required version to align with vs 17.5
2023-03-04 14:18:18 -08:00
Joshua de Reeper
2585ae9b2c
Skylander Portal: Clearing and Reloading fix
2023-03-04 20:13:54 +13:00
JosJuice
42943672bb
Android: Add selecting input profile per game
2023-03-03 22:28:25 +01:00
JosJuice
1eeded23df
Android: Add input profile management
...
Co-authored-by: Charles Lombardo <clombardo169@gmail.com>
2023-03-03 22:28:25 +01:00
JosJuice
7ef229d908
Android: Show warning when using old pre-defined controller INIs
...
Co-authored-by: Charles Lombardo <clombardo169@gmail.com>
2023-03-03 22:28:25 +01:00
JosJuice
8b78f73e80
Android: Add Default and Clear actions for controllers
2023-03-03 22:28:25 +01:00
JosJuice
ea3200d4ba
Android: Prevent showing mapping dialog with no device selected
2023-03-03 22:28:25 +01:00
JosJuice
a1cc19f443
Android: Add "Create mappings for other devices"
2023-03-03 22:28:24 +01:00
JosJuice
2b1dd52750
Android: Add input device selection
2023-03-03 22:28:24 +01:00
JosJuice
2113bf5e3a
Android: Implement enabling/disabling control groups
...
All this code for just a single checkbox... Ah well, it has to be done
2023-03-03 22:28:24 +01:00
JosJuice
a78dca5fb0
Android: Move Sideways Wii Remote setting one submenu up
...
A slight departure from DolphinQt, but I think it makes sense, because
it will make the important Sideways Wii Remote setting easier to find.
2023-03-03 22:28:24 +01:00
JosJuice
e7530a1cb9
Android: Split Wii Remote settings into submenus
...
Too much stuff on one screen otherwise. This split matches DolphinQt.
2023-03-03 22:28:24 +01:00
JosJuice
0dd8bbbbbb
Android: Add extension selection
2023-03-03 22:28:24 +01:00
JosJuice
1c26a85e35
Android: Add NumericSetting support
2023-03-03 22:28:24 +01:00
JosJuice
2c529b9db1
Android: Add new input mapping implementation
2023-03-03 22:28:24 +01:00