summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/Achievements/AchievementHeaderWidget.cpp
AgeCommit message (Collapse)Author
2026-01-25Remove unused importsMartino Fontana
Yellow squiggly lines begone! Done automatically on .cpp files through `run-clang-tidy`, with manual corrections to the mistakes. If an import is directly used, but is technically unnecessary since it's recursively imported by something else, it is *not* removed. The tool doesn't touch .h files, so I did some of them by hand while fixing errors due to old recursive imports. Not everything is removed, but the cleanup should be substantial enough. Because this done on Linux, code that isn't used on it is mostly untouched. (Hopefully no open PR is depending on these imports...)
2024-08-15Fixed missing game badge in achievements dialogLillyJadeKatrin
2024-07-15Qt/AchievementHeaderWidget: Don't crash when we get an empty player or game ↵Admiral H. Curtiss
badge
2024-07-10Update game progress bar to match achievement progress barLillyJadeKatrin
2024-06-15Add word wrap to Achievement Dialog textLillyJadeKatrin
2024-05-23Remove names from badge objectsLillyJadeKatrin
The names attached to the BadgeStatus object are obsolete and unneeded and are removed from everything that uses them. All BadgeStatus references are updated to just Badge.
2024-05-23Refactored Achievement Badges into Texture LayersLillyJadeKatrin
Achievement badges/icons are refactored into the type CustomTextureData::ArraySlice::Level as that is the data type images loaded from the filesystem will be. This includes everything that uses the badges in the Qt UI and OnScreenDisplay, and similarly removes the OSD::Icon type because Level already contains that information.
2024-05-23Remove Badges Enabled option from AchievementsLillyJadeKatrin
Was informed by the RetroAchievements team that this isn't an option in most emulators, and as the next commits will be to enable default icons, there will always be something to display.
2024-05-03Hide Achievement Dialog Header When DisabledLillyJadeKatrin
If achievements were disabled but a player token is in settings, prior to this change the Achievement Manager dialog would show a box with no player name and score zero, which is unnecessary.
2024-05-01Remove Achievements/Leaderboards/RP Enabled settingsLillyJadeKatrin
The RetroAchievements client object now handles these three settings as a singular "spectator" mode that will be added in a future commit.
2024-05-01Added Change Media client functionality to AchievementManangerLillyJadeKatrin
The client can handle media changes natively so disabling can take place internally. This code uses the same external calls to load data, but will call either BeginLoad or BeginChangeMedia based on whether any media is already loaded. Due to the client's handling of media changes (it simply disables hardcore if an unknown media is detected) the existing functionality for "disabling" the achievements is no longer necessary and can be deleted.
2024-05-01Update Achievement Dialog Header to use rc_clientLillyJadeKatrin
Two portions of this need updating. Anything related to points and unlock counts and scoring uses game_summary now instead of the TallyScore method. Unfortunately this comes with the drawback that I cannot easily at this time access the number of points/unlocks from the other hardcore mode, so things like the second progress bar have been deleted. Rich presence, which no longer needs to be stored, but can be calculated at request. As the AchievementHeader can now update just the Rich Presence, DoFrame can now simply call a header update with .rp=true and the current Rich Presence will be calculated immediately. As the two items above are the last remaining things to use a number of the components in AchievementManager, this also deletes: Request V1 (V2 is renamed accordingly), ResponseType, PointSpread, TallyScore, UnlockStatus, and the RP generation and ping methods.
2024-05-01Refactor AchievementsWindow::UpdateData to take a partial update parameterLillyJadeKatrin
UpdateData in AchievementsWindow now only updates the components being requested, massively improving the window's performance. The parameter is UpdatedItems in AchievementManager, which tracks which portions of the system have been updated for every update callback.
2024-05-01Updated GetGameDisplayName to use rc_clientLillyJadeKatrin
2024-05-01Get display name and score from clientLillyJadeKatrin
Delete m_display_name and m_player_score fields and retrieve those values directly from the client's user information.
2024-05-01Refactored Achievement Manager Login to use rc_clientLillyJadeKatrin
LoginCallback was created to handle the results of the asynchronous client login calls; VerifyCredentials was deleted as no longer necessary.
2024-02-15Improved achievements disabled messagingLillyJadeKatrin
Most obviously, there is no longer a warning message to the player in the achievement window that achievements are disabled if a game is not currently running.
2023-12-11AchievementManager: Return by reference from GetLock()Lioncash
This makes the API a little nicer to use, since you don't need to do a mandatory dereference when passing the lock into any kind of scope guard.
2023-12-11DolphinQT: Remove unnecessary includes from achievement filesLioncash
Reduces the amount of dependencies being pulled in on both local and external headers.
2023-12-11AchievementManager: Make GetInstance() return a referenceLioncash
The internal static member will always have a valid lifetime. Makes this consistent with other instance based objects in our code.
2023-12-05Added Disabled flag to Achievement ManagerLillyJadeKatrin
The Disabled state sits between Game Closed and completely Shutdown - stronger than the former, as it refuses to let a game be opened again until AchievementManager is restored (which only happens upon a fresh core boot) but it isn't completely shut down and will still allow the player to be logged in and access the achievement settings and their (global) achievement header.
2023-10-15DolphinQt/AchievementHeaderWidget: Fix wrong label for hard unlock count.Admiral H. Curtiss
2023-09-30Added colored borders to badges in achievements dialogLillyJadeKatrin
The achievement badges will now have a blue or gold border to identify whether they have been unlocked in softcore or hardcore mode. Similarly, the game badge will have a blue border if all achievements have been unlocked in either mode or a gold border if all achievements have been unlocked in hardcore mode.
2023-09-30Added player and game badges to Achievements dialog headerLillyJadeKatrin
Provided badges are turned on, if there's a player logged in their RetroAchievements icon will appear next to their player info in the header of the Achievements dialog. If they're playing a game, so will the icon for the game. Also performed some refactoring and reorganizing to the header as a whole so that it looks consistent whether a game is running or not.
2023-09-26Reorganized the first-round AchievementsWindow startup to prevent items from ↵LillyJadeKatrin
being visible before their parents, thus getting rid of the rapid popups.
2023-09-06Add Rich Presence to Achievement Dialog HeaderLillyJadeKatrin
This refactors the Rich Presence generation to store to a member field that can be exposed to the UI to display the Rich Presence in the achievement header. It still updates at its original rate of once per two minutes, but calls an update on the dialog when that ticks.
2023-07-01Added AchievementHeaderWidget to AchievementsWindowLillyJadeKatrin
This widget displays a header on the AchievementsWindow dialog above the tabs that shows the currently logged in user (if there is one) and the game they are playing (if there is one).