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