Commit Graph

40000 Commits

Author SHA1 Message Date
LillyJadeKatrin 22ee729055 Added GenerateRichPresence to AchievementManager
GenerateRichPresence calls rc_runtime_get_richpresence in rhceevos on the achievement runtime to get the current Rich Presence string, a description of the player's current in-game state based on its memory as fed into a custom-developed script downloaded via FetchGameData. This gets passed into PingRichPresence, but is separated into its own method so it can be used elsewhere locally.
2023-05-11 07:56:12 -04:00
LillyJadeKatrin 1b880564cb Added MemoryPeeker to AchievementManager
MemoryPeeker is a function passed by pointer into rcheevos DoFrame functionality that forms the lynchpin of the rcheevos runtime - it provides the interface by which rcheevos accesses memory and determines if the fields provided by achievement, leaderboard, and rich presence definitions are meeting the criteria needed.
2023-05-11 07:56:12 -04:00
LillyJadeKatrin ed121a4033 Added AchievementEventHandler to AchievementManager
AchievementEventHandler simply checks which kind of event is triggered and calls the appropriate function. Its primary purpose is as a function to be pointed to.
2023-05-11 07:56:11 -04:00
LillyJadeKatrin a48fab0abf Added HandleLeaderboardTriggeredEvent to AchievementManager
HandleLeaderboardTriggeredEvent processes a leaderboard event and asynchronizes via the work queue a synchronous call to SubmitLeaderboard.
2023-05-11 07:56:11 -04:00
LillyJadeKatrin 637ca82fc1 Added HandleAchievementTriggeredEvent to AchievementManager
HandleAchievementTriggeredEvent is an asynchronous method that processes an event and places a synchronous AwardAchievement call on the work queue. In the process, it also updates the unlock map and makes the ActivateDeactivateAchievement call to determine and adjust the achievement's current active state.
2023-05-11 07:56:11 -04:00
LillyJadeKatrin 66b8731bdb Added PingRichPresence to AchievementManager
PingRichPresence makes a "ping" API request to the RetroAchievements website with the provided RichPresence string parameter. While there has been talk about tying ping in with session, in its current state the primary purpose of ping is to send the player's Rich Presence to the website.
2023-05-11 07:56:11 -04:00
OatmealDome 33c4e84f35
Merge pull request #11821 from 0x647262/chore/2023-05-08-gcc13-compilation-fix
Chore: Update Externals/VulkanMemoryAllocator to 498e20d to fix compi…
2023-05-11 09:08:05 +02:00
Sketch a383e0cfd5 UICommon:DiscordPresence: Use GameTDB covers for RPC 2023-05-10 23:55:34 -04:00
LillyJadeKatrin 69014e1359 Added SubmitLeaderboard to AchievementManager
SubmitLeaderboard submits the player's score/time to a leaderboard on the website via an API call.
2023-05-10 21:15:40 -04:00
LillyJadeKatrin 9a57216fd0 Added AwardAchievement to AchievementManager
AwardAchievement performs the API call to notify the site that an achievement has been unlocked. As one of the parameters is the game hash (something I overlooked previously; I thought it was the game ID) this change also moves the game hash into a member field.
2023-05-10 21:15:40 -04:00
Admiral H. Curtiss ab98db445d
Common/MemArenaAndroid: Keep fastmem region mapped. 2023-05-11 03:01:05 +02:00
R c5d2ad99d2 Support Steam Deck controls directly through hidraw
This reads Steam Deck controls bypassing Steam Input. This allows for access to
motion controls as well as independent access to thumb sticks, trackpads, and
back grip buttons.
2023-05-10 13:28:32 +01:00
Admiral H. Curtiss 8c67083c87
Merge pull request #11813 from lioncash/insert
PPCSymbolDB: Use emplace() where applicable
2023-05-09 18:48:06 +02:00
Admiral H. Curtiss c766b2f8a2
Merge pull request #11815 from lioncash/ppcinc
PPCTables: Remove unnecessary includes
2023-05-09 18:45:45 +02:00
Dan R Beste 57e1e412c4
Chore: Update Externals/VulkanMemoryAllocator to 498e20d to fix compilation with GCC 13
https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/issues/312
2023-05-08 09:02:22 -05:00
Admiral H. Curtiss 2e9b7f1192
Merge pull request #11817 from Pokechu22/solitaire-and-mahjong-bounding-box
GameINI: Enable bounding box for "Solitaire & Mahjong"
2023-05-07 19:16:38 +02:00
Admiral H. Curtiss 99d7fe33c5
Merge pull request #11818 from CasualPokePlayer/pokemon_cull_vertices_cpu
Add CPUCull to Pokemon Colosseum and Pokemon XD inis.
2023-05-07 19:07:04 +02:00
JosJuice 82f70cdf94 ControllerInterface/Android: Add some missing DeleteLocalRef calls 2023-05-07 18:44:43 +02:00
JosJuice 24a697514e ControllerInterface/Android: Use InputEvent.getDeviceId
Instead of InputEvent.getDevice followed by InputDevice.getId.
Should hopefully fix https://bugs.dolphin-emu.org/issues/13237,
while also being simpler.
2023-05-07 18:40:28 +02:00
CasualPokePlayer a64657c1e9 Add CPUCull to Pokemon Colosseum and Pokemon XD inis.
These games seem to constantly have unused vertices, and this is worst shown in the Shadow Pokemon purification cutscene. The Shadow Pokemon purification cutscene is even worse on XD with forced single core mode, as instead of having FPS dropping with VPS staying 60ish, it will drop both, resulting in audio stuttering. Turning on CPUCall seems to have a 7/8 reduction of draw calls for that cutscene (~800 -> ~100), doubling performance. Many other areas of the game seem to benefit from this setting too, having some kind of performance boost.
2023-05-06 22:54:15 -07:00
Pokechu22 749c51978d GameINI: Enable bounding box for "Solitaire & Mahjong"
See https://bugs.dolphin-emu.org/issues/13248. This is needed for the menus to work properly (not run at 1FPS and render incorrectly). Additionally, immediate XFB causes flickering.
2023-05-06 18:09:30 -07:00
Pokechu22 810eb70f0e DolphinAnalytics: Add READS_BOUNDING_BOX game quirk 2023-05-06 17:18:17 -07:00
Nayla bd62e9fc5d
Update GMPE01.ini 2023-05-05 20:06:43 -04:00
Lioncash 2561028b91 PPCTables: Remove unnecessary includes
Gets rid of a lingering dependency on the interpreter in common code and
a bunch of indirect inclusions.
2023-05-03 21:47:10 -04:00
JosJuice 2319210d85
Merge pull request #11810 from lioncash/jitreg
Common/JitRegister: Move interface into Common namespace
2023-05-03 17:43:01 +02:00
JosJuice c6510f2bf4
Merge pull request #11812 from lioncash/jitacc
JitInterface: Remove global system accessor
2023-05-03 17:42:48 +02:00
Lioncash 15d1ae3a8a SymbolDB: Add constructors to Symbol
Allows for much more convenient in-place construction.
2023-05-02 16:04:47 -04:00
Lioncash a14d8003f4 PPCSymbolDB: Use emplace() where applicable
Avoids default constructing an entry in the map that just gets
immediately overwritten. Also gets rid of some redundant map lookups.
2023-05-02 15:51:52 -04:00
Lioncash 56775e4901 JitInterface: Remove global system accessor
We can use JitInterface's system member variable to avoid needing this
2023-05-02 15:21:58 -04:00
Mai 0b9b09ad32
Merge pull request #11796 from sepalani/gecko-sort
Gecko/ARCode: Add sort by enabled state
2023-05-02 14:59:08 -04:00
Sepalani 2635595737 ARCode: Add sort by enabled state 2023-05-02 22:24:21 +04:00
Sepalani 81ec90be9c GeckoCode: Add sort by enabled state 2023-05-02 22:23:43 +04:00
JosJuice 20e14aab06 Revert "DolphinQt: use default dpi rounding mode (passthrough)"
This reverts commit cfe3683668.

On Windows systems with 125% DPI scaling, this was causing both icons
and the OSD to be upscaled by 25% using nearest neighbor scaling, which
looks really bad. shuffle2 has said that this will be improved later,
but we should revert it for now for the sake of the upcoming beta build.
2023-05-02 20:18:56 +02:00
JosJuice ddce941bf1 Translation resources sync with Transifex 2023-05-02 20:11:25 +02:00
Lioncash 4db186f9ff Common/JitRegister: Move interface into Common namespace
Makes the namespace consistent with other common utilities.
2023-05-02 12:00:05 -04:00
Admiral H. Curtiss 2fa84c73f1
Merge pull request #11809 from malleoz/malleo/savestate-action-cancel-upstream
Qt: Prevent savestate load/save on empty filename
2023-05-02 17:31:35 +02:00
sowens99 9b1d657614 Qt: Prevent savestate load/save on empty filename 2023-05-01 19:57:58 -04:00
Admiral H. Curtiss b514df1227
Merge pull request #10969 from phire/minimum_compilers
Enforce minimum supported versions of GCC and Clang
2023-05-01 03:03:05 +02:00
Léo Lam 0eeeac2487
Merge pull request #11736 from noahpistilli/get-scheduler-stat
IOS/Network/KD: Implement GetSchedulerStat
2023-05-01 01:19:11 +01:00
Léo Lam 2e39c79984
Merge pull request #11805 from Dentomologist/remove_graphicswidget
Qt: Remove GraphicsWidget class
2023-04-30 02:15:30 +01:00
Léo Lam 3c9162f35e
Merge pull request #11807 from brad0/openbsd_thread_cpp_build_fix
Fix building on OpenBSD
2023-04-30 02:14:41 +01:00
Léo Lam f36e05ad3e
Merge pull request #11546 from deReeperJosh/disneyinfinitybase
Feature: Emulate Infinity Base
2023-04-30 02:13:39 +01:00
Brad Smith 29a8226ac5 Fix building on OpenBSD
86c1f6e1e7 introduced code that had not
been build tested on OpenBSD.

https://bugs.dolphin-emu.org/issues/13241
2023-04-29 19:21:48 -04:00
OatmealDome eb30aba552
Merge pull request #11804 from TellowKrinkle/FixStoryboard
CMake: Fix storyboard copying
2023-04-30 01:01:21 +02:00
TellowKrinkle f92dde26a3 CMake: Fix storyboard copying 2023-04-29 16:10:38 -05:00
Dentomologist 5ca0430cb2 Qt: Remove GraphicsWidget class
The old tooltip description box used GraphicsWidget to provide shared
code to the Graphics config panes for adding descriptions to their
settings.

The description box has been replaced by BalloonTips and serves no
further purpose, so remove it and have the Graphics panes derive from
QWidget instead.
2023-04-29 14:10:37 -07:00
Mai d95a85212f
Merge pull request #11793 from brad0/openbsd_iconv_build_fix
Fix build of iconv code on OpenBSD
2023-04-29 17:08:36 -04:00
Mai ad1240e72f
Merge pull request #11801 from Dentomologist/rename_graphicsinteger_to_configinteger
Qt: Rename GraphicsInteger to ConfigInteger
2023-04-29 17:08:17 -04:00
Dentomologist 57a1339cfb Qt: Rename GraphicsInteger to ConfigInteger
GraphicsInteger is used by the panes in the Graphics config window to
create spin boxes that change their associated config setting, and
update their own state when something else changes the config setting.

Despite its current name nothing about this class is particular to the
Graphics window, so renaming it to ConfigInteger better reflects its
purpose. This should also make it less confusing when ConfigIntegers
are added to other config windows.
2023-04-29 11:09:59 -07:00
Admiral H. Curtiss 6e6865a63a
Merge pull request #11785 from shuffle2/qtnext3
DolphinQt: cache icons instead of single pixmaps
2023-04-29 17:32:29 +02:00