Commit graph

33761 commits

Author SHA1 Message Date
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