Commit Graph

33034 Commits

Author SHA1 Message Date
Admiral H. Curtiss 8032a71c4c
Merge pull request #11471 from MayImilae/dont-update-titlebar-with-osd-messages
Don't Write OSD Messages to the Titlebar
2023-01-23 06:46:32 +01:00
MayImilae 9df1f0276d Don't Write OSD Messages to the titlebar
Turns out all OSD messages, every single one, are written to the titlebar. We've just never seen them because the FPS is in the title bar and it replaces it in a fraction of a second. This was only visible when saving savestates because it halts emulation for a moment while writing.

This is dumb, let's not do that anymore.
2023-01-22 00:19:51 -08:00
Pierre Bourdon 0eb984f030
Merge pull request #11470 from MayImilae/remove-memory-card-path-from-osd-message
Remove Memory Card Path from the Wrote to OSD Message
2023-01-22 08:13:51 +01:00
MayImilae ef0d386954 Remove Memory Card Path from the Wrote OSD Message
A few weeks ago, a vtuber tweeted that they had to remove a vod of their stream because Dolphin Emulator showed some personal information during the steam, and left a warning to everyone else that Dolphin shows the account name of the computer. And yea, we do, we show the full directory of the memory card every time a memory card is written, and due to mandatory Microsoft account nonsense, that is very likely to contain someone’s real name.

Fortunately this is very easy for us to solve. This change simply removes the filename from wrote memory card contents string. That’s it. All functionality of the wrote memory card OSD message remains the same, it just doesn’t say where the memory card is anymore.

There are lots of other potential solutions to this but after talking on IRC it seems the simplest one is the best.
2023-01-21 21:19:51 -08:00
Joshua de Reeper 18fd0d7dcd Use Core timing instead of thread
Skylander code tidy ups

Convert c array to std::array and fix comments

Formatting fixes/review changes

Variable comment

Migrate portal to System Impl and code tidy ups

Use struct

Restore review changes

Minor fix to schedule transfer method

Change descriptors to hex and fix comments
2023-01-22 14:50:30 +13:00
Joshua de Reeper f76a6789a0 Emulate Skylanders within Dolphin
Ported the code from RPCS3, with improvements made to the handling of control messages and audio transfers, Co-Authored with @mandar1jn

Missing new line chars

Co-Authored-By: mandar1jn <49076509+mandar1jn@users.noreply.github.com>
2023-01-22 14:50:30 +13:00
Pierre Bourdon 9fe1d80920
Merge pull request #11457 from delroth/remove-stable-track
DolphinQt/Settings: remove 'stable' track from auto-updater options
2023-01-21 06:48:04 +01:00
Pokechu22 597f8f1b87 Externals: Convert gtest to a submodule and update to v1.12.1 2023-01-20 11:43:34 -08:00
OatmealDome d40dbe4670 DolphinQt: Add workaround for Qt 6.3+ bug on Linux
See https://bugs.dolphin-emu.org/issues/12913 for more information.
2023-01-20 03:06:04 -05:00
shockdude a32b85691b Fix Turntable extension's table range 2023-01-18 19:17:09 -08:00
Pierre Bourdon 8d5edb13a9
Merge pull request #11367 from Sam-Belliveau/lagbegone
VideoCommon: VI Skip
2023-01-19 01:20:01 +01:00
Charles Lombardo b598b6ec72 Android: Add about dialog 2023-01-18 15:58:06 -05:00
Pierre Bourdon 1cd11b8f3a
Merge pull request #11381 from skyfloogle/traversal-fix-1
Netplay: Fix traversal connections occasionally not working
2023-01-17 23:40:24 +01:00
Pierre Bourdon a7d1683149
Merge pull request #11432 from Pokechu22/generic-vertex-loader-test-error
VertexLoader: Fix loading tangent/binormal caches with NormalIndex3
2023-01-17 23:30:29 +01:00
Pierre Bourdon 686ac363ba
Merge pull request #11456 from MayImilae/remove-boot-from-dvd
Remove Boot from DVD Backup
2023-01-17 23:27:59 +01:00
Pierre Bourdon c527aea40d
Merge pull request #11453 from JosJuice/revert-open-user-dir-qt-hotfix
Revert "MenuBar: Tweak string for open user folder option"
2023-01-17 23:27:09 +01:00
Shawn Hoffman dff7f20f9d windows: prefer os version from registry
this value is not modified by compatibility mode
drop reporting service pack numbers. no longer used
2023-01-17 01:38:00 -08:00
Pierre Bourdon 3342947446
DolphinQt/Settings: remove 'stable' track from auto-updater options
We've decided this track will never be used in the future. Releases will
continue using the "beta" branch internally, though we'll have the
user-visible strings use a different name instead.

(Note: Dolphin provided builds have always defaulted to 'beta' as the
auto-update track, so anyone who set 'stable' did so manually.)
2023-01-17 08:34:55 +01:00
Pierre Bourdon 10fd768898
Merge pull request #11420 from t895/copy-profile
Android: Copy baseline profile during release builds
2023-01-17 04:48:30 +01:00
MayImilae dcc10cff11 Remove Boot from DVD Backup
This should be a fairly easy merge, assuming I didn’t mess anything up. TL:DR no one uses it and it’s not great.

Boot from DVD Backup is an ancient feature with origins in the Megacommit. Back then, GameCube and Wii games were quite large relative to drives of the time. For example, in 2008, the most common hard drive sizes were 320GB and 512GB. On the 320GB drive I personally had at the time, as little as 42 Wii ISOs could have filled it entirely! And that’s ignoring any other files one might want to put onto a drive. Backup DVDs allowed users to burn relatively cheap DVD media and store their GameCube and Wii dumps in a Dolphin accessible way that didn’t eat into their precious HDD space. It had compromises, even then, but in 2008… I mean honestly users probably wouldn’t even notice those compromises with how Dolphin barely even worked at all back then.

Obviously, today the storage space concerns are not as big of an issue. According to seagate the average hard drive it sells today is 8TB. For typical laptops purchased now, the -minimum- selection for storage is usually 1TB. You can even buy a name brand 4TB external hard drive for $100. GC and Wii ISOs are not as big as they once were, relatively anyway. Plus flash drives and SD cards are super cheap and way faster than disc drives ever were. For anyone that has limited drive space, removable flash media can fulfill this offloading role far better than backup DVD media ever could.

Also no one has DVD drives anymore. That’s kind of an important detail.

But to see if Booting from DVD Backup even still worked, I decided to give it a try. I have an ASUS BW-16D1HT, a badass Bluray XL reading and burning drive, connected to my Windows 11 Threadripper 5975WX machine. A super fast drive on a super fast machine is as good as it possibly can get for this feature. So I bought a spindle of DVD-Rs, burned a couple of discs and gave it a try. Surprisingly, it does still work. However, as expected, it introduces a lot of stuttering. Testing Prime 1 and Prime 3, in both games stuttering was introduced whenever the DVD Drive had to suddenly seek. Spikes of 50ms occurred constantly, but I observed 150ms and even over 1000ms stutters! The worst was a three second stutter, when loading Elysia in Prime 3. I could even hear the stutters - any time the drive suddenly made a harsh seeking noise, the game would have a hard stutter. It worked but, it has some serious compromises.

Boot from DVD Backup isn’t great, using removable flash media or external hard drives is a FAR better option for anyone with limited storage space today, and no one can even use this feature anymore because their computers don’t even have disc drives. It’s time for Boot from DVD Backup to go!

So I did my best on the cleanup but I’m bound to have left some bits. Especially in translation - I didn’t get any warnings or anything there that could help point me to where to clean that up. Please review!
2023-01-16 18:32:43 -08:00
JosJuice 716dabde96
Merge pull request #11447 from t895/save-state-fix
Android: Fix large strings in save/load savestate fragment
2023-01-16 19:09:37 +01:00
JosJuice 59b276ea87
Merge pull request #11448 from t895/nav-fix-api-26
Android: Fix navigation bar buttons appearing invisible on API 26
2023-01-16 18:45:06 +01:00
JosJuice 8f88297122 Revert "MenuBar: Tweak string for open user folder option"
This reverts commit 6788bda6c9.

The user folder can be either global or local. If it is local,
we shouldn't call it global.

See also da0be24b2f.
2023-01-16 18:31:16 +01:00
Pierre Bourdon aacd66bd5b
Merge pull request #11451 from OatmealDome/open-user-dir-qt-hotfix
MenuBar: Tweak string for open user folder option
2023-01-16 10:47:27 +01:00
Pierre Bourdon bb64b0ee44
Merge pull request #10708 from OatmealDome/win-user-dir
UICommon: Change default user directory location to AppData on Windows
2023-01-16 10:34:41 +01:00
OatmealDome 6788bda6c9 MenuBar: Tweak string for open user folder option 2023-01-16 04:31:12 -05:00
OatmealDome 869aa9eb55 MenuBar: Add action which opens the user folder 2023-01-16 04:08:19 -05:00
OatmealDome cc68d5321f UICommon: Set UserConfigPath in the registry to AppData User for backwards compatibility 2023-01-16 01:37:14 -05:00
OatmealDome 3896934d5e UICommon: Use the old User directory in Documents if it exists 2023-01-16 01:37:14 -05:00
OatmealDome 75d87ff90e UICommon: Change default User directory location to AppData 2023-01-16 01:37:14 -05:00
Charles Lombardo b1e05c9125 Android: Remove pre-generated baseline profile 2023-01-15 21:16:55 -05:00
Charles Lombardo 19aa9247be Android: Copy baseline profile during release builds 2023-01-15 21:16:55 -05:00
Scott Mansell 7c202ab411 Reset throttle on savestate load 2023-01-16 14:18:42 +13:00
Charles Lombardo dbe03a4f76 Android: Fix navigation bar buttons appearing invisible on API 26 2023-01-15 18:36:22 -05:00
Charles Lombardo 76ca57ef2e Android: Fix large strings in save/load savestate fragment 2023-01-15 17:49:48 -05:00
JMC47 30f0051f9c
Merge pull request #11440 from JosJuice/jit64-negative-guard
Core: Allocate 2 GiB of guard pages below fastmem area
2023-01-14 19:19:53 -05:00
Charles Lombardo 33c5f7a129 Android: Update benchmark module dependencies
Androidx JUnit 1.1.4 -> 1.1.5
Androidx Espresso 3.5.0 -> 3.5.1
2023-01-14 18:41:18 -05:00
Charles Lombardo 005d7574aa Android: Update app module dependencies
Androidx Fragment 1.5.4 -> 1.5.5
Androidx AppCompat 1.5.1 -> 1.6.0
Androidx Profile Installer 1.2.1 -> 1.2.2
Core android library desugaring libraries 1.1.5 -> 2.0.0
2023-01-14 18:39:43 -05:00
Charles Lombardo 45cdc7357a Android: Upgrade Java bytecode from 1.8 to 11 2023-01-14 18:35:32 -05:00
Charles Lombardo 27466fd5f9 Android: Upgrade AGP from 7.3.1 to 7.4.0 2023-01-14 18:30:07 -05:00
Charles Lombardo 054b2219d4 Android: Upgrade gradle from 7.5.1 to 7.6 2023-01-14 18:29:39 -05:00
JosJuice 4fa9fa997e Core: Allocate 2 GiB of guard pages below fastmem area
See the comment added by this commit. We were previously guarding against
overshooting in address calculations, but not against undershooting.
Perhaps someone assumed that the displacement of an x86 loadstore was
treated as unsigned?

Note: While the comment says we can undershoot by up to 2 GiB, in
practice Jit64 as it currently behaves won't actually undershoot by more
than 0x8000 if my analysis is correct. But address space is cheap, so
let's guard the full 2 GiB.
2023-01-14 20:35:50 +01:00
JosJuice 9c90b31e6a Memmap: Remove some remnants from the 32-bit JITs 2023-01-14 11:46:37 +01:00
JosJuice 9d350fd56b
Merge pull request #11437 from t895/grid-options-fix
Android: Fix grid options text borders
2023-01-14 09:42:56 +01:00
Sam Belliveau 23ad07b368 Add VISkip 2023-01-14 01:56:37 -05:00
JMC47 8a1cac9be1
Merge pull request #11348 from Sam-Belliveau/improved-pacing
CoreTiming: Throttle Before Every Event Using std::chrono
2023-01-13 21:52:07 -05:00
Pokechu22 3910bdd68b VertexLoader: Don't write position_cache if vertex is skipped
This is the behavior in the x64 and ARM64 vertex loaders. I don't know if it makes sense (the whole skipped vertex system seems jank, but several games behave incorrectly without it).
2023-01-13 15:38:00 -08:00
Pokechu22 16c0593a52 VertexLoader: Fix loading tangent/binormal caches with NormalIndex3 2023-01-13 15:38:00 -08:00
Pokechu22 2d53b73643 VertexLoaderTester: Add assertions for position/binormal/tangent caches 2023-01-13 15:38:00 -08:00
Pokechu22 c681d96d46 VertexLoaderTester: Use asserts instead of logs
Logs don't show up in unit tests, and since this is debugging functionality (though not enabled for tests by default) it's better to do it this way.
2023-01-13 15:38:00 -08:00
Pokechu22 92b6446da1 UnitTests: Add custom main that calls RegisterMsgAlertHandler
This prevents a failed assertion from hanging on the MSVC buildbots.
2023-01-13 15:38:00 -08:00
Sam Belliveau e849172dc9 Limit Throttling to 1200hz 2023-01-13 18:17:24 -05:00
Charles Lombardo 4f397edab3 Android: Fix grid options text borders
Previously on displays with a small width, text would appear under the switch. Now the text will break into a new line.
2023-01-13 17:02:53 -05:00
Charles Lombardo 937e08980e Android: Change slider step size based on range
Credit to JosJuice for the slider formula
2023-01-13 16:32:09 -05:00
Charles Lombardo e70b57fe8a Android: Adjust width of slider value text view 2023-01-13 16:32:09 -05:00
Charles Lombardo 27e64e6855 Android: Add Performance Sample Window slider 2023-01-13 16:32:09 -05:00
Sam Belliveau e95c1d55e8 Limit Sleep Calls to 8192hz at most 2023-01-13 11:59:32 -05:00
Shawn Hoffman 2a5c699489 msvc: note some things to enable in vs 17.5 2023-01-13 01:36:03 -08:00
Shawn Hoffman 9723dba780 msvc: set /Zc:enumTypes 2023-01-13 01:35:17 -08:00
Shawn Hoffman 07de7337eb msvc: dont explicitly set /Zc:lambda
it's implied by /std
2023-01-13 01:26:23 -08:00
Pokechu22 7abee1a97b DolphinQt: Fix typo in GBA TAS input window
This generated a warning on GCC about the operation being potentially undefined (-Wsequence-point). I'm not sure if that was actually the case, but either way it is a mistake.
2023-01-12 14:33:58 -08:00
OatmealDome 5c80a9fd87 CMakeLists: Copy LICENSE files when building for Steam Runtime 2023-01-10 23:21:24 -05:00
OatmealDome fff13c385f CMakeLists: Copy entire plugins folder on Steam Runtime build 2023-01-10 23:21:24 -05:00
JosJuice 9d81c84db0
Merge pull request #11427 from UltraHDR/patch-1
Set LSApplicationCategoryType to games
2023-01-10 19:00:26 +01:00
Charles Lombardo 6b97b64e93 Android: Ignore workaround view height if 0 2023-01-10 12:01:54 -05:00
Shawn Hoffman d51e4e5236 get rid of HAS_STD_FILESYSTEM
just use std::filesystem
2023-01-10 05:17:43 -08:00
UltraHDR 18454906cf
Set LSApplicationCategoryType to games
https://developer.apple.com/documentation/bundleresources/information_property_list/lsapplicationcategorytype
This makes it show up in the Launchpad Games folder
2023-01-10 11:34:42 +00:00
Charles Lombardo 7fe2faff4a Android: Expose "Log Render Time to File" toggle 2023-01-09 23:29:31 -05:00
Charles Lombardo f49f3441b3 Android: Disable focus on workaround view 2023-01-09 14:20:50 -05:00
Charles Lombardo 72176641ef Android: Revert "Make the header focusable" 2023-01-09 14:20:34 -05:00
Admiral H. Curtiss 653e0ccf28
Merge pull request #11365 from iwubcode/cheat_manager_freeze_value
DolphinQt: add ability to lock / freeze values in the watches window
2023-01-09 18:41:28 +01:00
Admiral H. Curtiss 993d2ab173
PatchEngine: Use std::span in ApplyMemoryPatches(). 2023-01-09 17:24:41 +01:00
Admiral H. Curtiss 21c29bad6b
Merge pull request #11407 from AdmiralCurtiss/globals-gpfifo
HW/GPFifo: Refactor to class, move to Core::System.
2023-01-09 17:09:48 +01:00
Admiral H. Curtiss eeeab3c3be
Merge pull request #11183 from TheLordScruffy/write-back-cache
Implement PowerPC data cache
2023-01-09 17:09:32 +01:00
Sam Belliveau 901e4c7697 Reset Throttle Variables In Init 2023-01-09 11:06:12 -05:00
JosJuice 1af8602530
Merge pull request #11411 from t895/managed-device-update
Android: Update managed device for baseline profile generation
2023-01-08 13:37:41 +01:00
Sam Belliveau f7de0e4147 Fix issue that would disable Throttling 2023-01-08 01:20:19 -05:00
TheLordScruffy d85f6c8298 DolphinAnalytics: Remove ICACHE_MATTERS 2023-01-08 00:17:46 -05:00
TheLordScruffy 825bacde43 PPCCache: Change u32 to u8 for plru, valid, modified 2023-01-07 20:18:59 -05:00
JosJuice dcded04719
Merge pull request #11410 from t895/fullscreen-fix
Android: Fix use of fullscreen modes on Cheats Activity
2023-01-07 19:27:30 +01:00
Charles Lombardo d32cc1e5eb Android: Fix workaround view in cheats activity
When using a fullscreen mode on some phones that remove the navigation bar, inset callbacks will not be fired. To account for this we set the workaround view at a height of 1px to prevent the view from filling the entire screen due to this activity using a Constraint layout.
2023-01-07 13:08:51 -05:00
TheLordScruffy 811d942222 Improve PPCCache lookup table 2023-01-07 07:30:42 -05:00
Pokechu22 d20b71c296 Move x64 DSP JIT into DolphinLib.x64.props
Before, it was also compiled on ARM builds, but since it was unused it wasn't linked (and thus its dependency on the nonexistent x64Emitter didn't cause any link issues).
2023-01-06 22:42:21 -08:00
Charles Lombardo 6fe46fcf03 Android: Update managed device for baseline profile generation 2023-01-06 18:33:51 -05:00
Sam Belliveau bc1cc9eeb4 CoreTiming: Throttle Before Every Event Using Chrono 2023-01-06 17:21:17 -05:00
Charles Lombardo 4d86e44c12 Android: Add hints to allow cheats activity to be previewed 2023-01-06 15:58:29 -05:00
Sam Belliveau 588a72a4fc
PerformanceTracker: Add ownership of m_log_name. 2023-01-06 20:27:25 +01:00
Sam Belliveau bc46089ab0
PerformanceTracker: Use shared_mutex instead of mutex so multiple threads can read at the same time. 2023-01-06 20:27:25 +01:00
Sam Belliveau 9143eb00fb
PerformanceMetrics: Fix Line Width Issue on Non HiDPI Screens 2023-01-06 20:27:17 +01:00
Admiral H. Curtiss d33416fc35
HW/Memmap: Zero-initialize members by default. 2023-01-06 05:33:21 +01:00
Admiral H. Curtiss fbcaf83d30
HW/GPFifo: Refactor to class, move to Core::System. 2023-01-06 05:33:21 +01:00
Mai cc14d60bbb
Merge pull request #11402 from Pokechu22/too-many-indices
IndexGenerator: Fix off-by-one in GetRemainingIndices
2023-01-05 15:15:09 +00:00
Admiral H. Curtiss 7b04a6b958
Merge pull request #11089 from sepalani/pcap-share
NetworkCaptureLogger: Allow PCAP shared read access on Windows
2023-01-05 04:06:35 +01:00
Pokechu22 cefcd9c93c IndexGenerator: Fix off-by-one in GetRemainingIndices
Fixes https://bugs.dolphin-emu.org/issues/13136.
2023-01-04 10:42:00 -08:00
Pokechu22 6c58ba353c IndexGenerator: Add assertion for overflow in GetRemainingIndices
This assertion is currently triggered by Pocoyo Racing (https://bugs.dolphin-emu.org/issues/13136).
2023-01-04 10:41:14 -08:00
Admiral H. Curtiss 2fdaf0a86e
HW/ProcessorInterface: Rename member variables to fit naming convention. 2023-01-04 03:17:26 +01:00
Admiral H. Curtiss 74e1577a2c
HW/ProcessorInterface: Refactor to class, move to Core::System. 2023-01-04 03:00:10 +01:00
Pokechu22 d91f340c86 VertexManagerBase: Move free space check to after the buffer is reset
Fixes incorrect logspam when the buffer needed to be reset on flushes (which we already were doing, but 52feed04db moved it to after the check was made). This is https://bugs.dolphin-emu.org/issues/10312.

I also converted it to an assert, as if this does happen, things are going to render incorrectly, so we want to make it obvious.
2023-01-03 17:06:51 -08:00
Admiral H. Curtiss 908cec04cb
Merge pull request #11396 from Pokechu22/fbfetch-analytics
DolphinAnalytics: Track support of framebuffer fetch
2023-01-03 18:11:17 +01:00
Admiral H. Curtiss ed9915308b
Merge pull request #11386 from Pokechu22/manual-texture-sampling-stereoscopic-layer-bounds-check
PixelShaderGen: Clamp texture layer when using manual texture sampling with stereoscopic 3D
2023-01-03 18:07:06 +01:00