Commit graph

13172 commits

Author SHA1 Message Date
Admiral H. Curtiss
7845fb00ee
Merge pull request #11681 from iwubcode/asset_management
VideoCommon: migrate texture packs to use the asset loader system
2023-06-08 22:21:12 +02:00
JosJuice
f561bd4285
Merge pull request #11910 from lioncash/construct
PowerPC/ConditionRegister: Mark PPCToInternal() as constexpr
2023-06-08 21:26:07 +02:00
Admiral H. Curtiss
e8c87dc4fd
Merge pull request #11902 from Minty-Meeo/regex-best-practices
static const std::regex
2023-06-08 20:52:11 +02:00
Lioncash
09271f365a PowerPC/ConditionRegister: Mark PPCToInternal() as constexpr
This allows the compiler to eliminate a static constructor that
initializes the table, and instead precompute all of the data ahead of
time.

e.g. We get something like so on GCC without constexpr:

_GLOBAL__sub_I_PowerPC::ConditionRegister::s_crTable:
        movdqa  xmm0, XMMWORD PTR .LC0[rip]
        movaps  XMMWORD PTR PowerPC::ConditionRegister::s_crTable[rip], xmm0
        movdqa  xmm0, XMMWORD PTR .LC1[rip]
        movaps  XMMWORD PTR PowerPC::ConditionRegister::s_crTable[rip+16], xmm0
        movdqa  xmm0, XMMWORD PTR .LC2[rip]
        movaps  XMMWORD PTR PowerPC::ConditionRegister::s_crTable[rip+32], xmm0
        movdqa  xmm0, XMMWORD PTR .LC3[rip]
        movaps  XMMWORD PTR PowerPC::ConditionRegister::s_crTable[rip+48], xmm0
        movdqa  xmm0, XMMWORD PTR .LC4[rip]
        movaps  XMMWORD PTR PowerPC::ConditionRegister::s_crTable[rip+64], xmm0
        movdqa  xmm0, XMMWORD PTR .LC5[rip]
        movaps  XMMWORD PTR PowerPC::ConditionRegister::s_crTable[rip+80], xmm0
        movdqa  xmm0, XMMWORD PTR .LC6[rip]
        movaps  XMMWORD PTR PowerPC::ConditionRegister::s_crTable[rip+96], xmm0
        movdqa  xmm0, XMMWORD PTR .LC7[rip]
        movaps  XMMWORD PTR PowerPC::ConditionRegister::s_crTable[rip+112], xmm0
        ret
PowerPC::ConditionRegister::s_crTable:
        .zero   128
.LC0:
        .quad   -9223372032559808511
        .quad   -8646911280256385023
.LC1:
        .quad   -9223372032559808512
        .quad   -8646911280256385024
.LC2:
        .quad   4294967297
        .quad   576460756598390785
.LC3:
        .quad   4294967296
        .quad   576460756598390784
.LC4:
        .quad   -4611686014132420607
        .quad   -4035225261828997119
.LC5:
        .quad   -4611686014132420608
        .quad   -4035225261828997120
.LC6:
        .quad   4611686022722355201
        .quad   5188146775025778689
.LC7:
        .quad   4611686022722355200
        .quad   5188146775025778688

and with constexpr, this all get collapsed into:

PowerPC::ConditionRegister::s_crTable:
        .quad   -9223372032559808511
        .quad   -8646911280256385023
        .quad   -9223372032559808512
        .quad   -8646911280256385024
        .quad   4294967297
        .quad   576460756598390785
        .quad   4294967296
        .quad   576460756598390784
        .quad   -4611686014132420607
        .quad   -4035225261828997119
        .quad   -4611686014132420608
        .quad   -4035225261828997120
        .quad   4611686022722355201
        .quad   5188146775025778689
        .quad   4611686022722355200
        .quad   5188146775025778688

completely eliminating the static constructor. MSVC also exhibits this,
whereas clang is a little better and does this anyway, even without
constexpr.
2023-06-08 14:33:13 -04:00
Lioncash
1044bc40ca GCMemcardUtils: Make use of std::span where applicable
Generifies bits of the interface so that some functions aren't
explicitly tied down to only using std::vector.
2023-06-08 12:59:43 -04:00
get
1df482d51f Prefer static const std::regex
std::regex has a relatively expensive constructor, and these are unchanging regexes.
2023-06-08 09:39:23 -05:00
Minty-Meeo
e92f8fcbb4 Remove old GCC version workarounds
The minimum GCC version is now GCC 10.
2023-06-06 22:49:53 -05:00
Mai
bab3229c98
Merge pull request #11874 from AdmiralCurtiss/vi-clock-bounds
VI: Prevent out-of-bounds access when clock register is a nonstandard value.
2023-06-06 20:31:42 -04:00
Admiral H. Curtiss
a7678f3210
Merge pull request #11694 from jnaidu360/skylanders-portal-window
Skylanders Portal Menu Navigational Improvements
2023-06-06 19:20:39 +02:00
Admiral H. Curtiss
afc97ec20f
Merge pull request #11895 from JosJuice/android-no-host-check
Android: Temporarily disable host thread check
2023-06-06 18:56:41 +02:00
JosJuice
361171fce0 Android: Temporarily disable host thread check
Very broken. Will investigate, but let's revert it for the time being.
2023-06-06 18:39:32 +02:00
JosJuice
6bd5473d56 Core: Declare emu thread as CPU thread while shutting down
Fixes https://bugs.dolphin-emu.org/issues/13274.
2023-06-06 18:04:21 +02:00
JosJuice
2d56daf1bb
Merge pull request #11873 from AdmiralCurtiss/pause-and-lock-host
Core: Assert that only the Host thread may call PauseAndLock().
2023-06-06 13:50:20 +02:00
Admiral H. Curtiss
3d4b4cfdc6
Merge pull request #11872 from LillyJadeKatrin/retroachievements-bugfix
RetroAchievements Bugfix: Fixed Missing DoFrame Call
2023-06-05 23:42:11 +02:00
iwubcode
f1f1ecc9d1 Core / VideoCommon: update HiresTexture to use CustomAssetLoader 2023-06-05 16:33:19 -05:00
iwubcode
5738646e3e Core: add CustomAssetLoader to System 2023-06-05 16:33:19 -05:00
jnaidu360
66f4902a1e Improved Skylanders Portal Window Navigation
Adds features to improve navigation of Skylanders portal menu, includes:
-List of Skylanders and filters for searching
-Improved buttons for faster loading options
-Added default user folder for storing .sky files
2023-06-04 18:10:08 -07:00
Shawn Hoffman
c1580ebf30 msvc: workaround optimizer bug 2023-06-04 10:57:22 -07:00
LillyJadeKatrin
e2d0ff718c Fixed Missing DoFrame Call
Somewhere in the process of getting the memory peeking right for achievements, the AchievementManager call to DoFrame went missing. This restores it properly.
2023-06-03 09:15:41 -04:00
LillyJadeKatrin
32f7873ee6 Added missing Leaderboard Canceled event 2023-06-03 09:15:41 -04:00
LillyJadeKatrin
60350635b6 Fixed Rich Presence bugs
Refactored the Rich Presence two-minute trigger to clean it up and fix it.
2023-06-03 09:15:40 -04:00
Admiral H. Curtiss
0b3d28abaf
Merge pull request #11586 from JosJuice/unknown-opcode-msg
VideoCommon: Reword the unknown opcode error message
2023-06-03 12:53:33 +02:00
Admiral H. Curtiss
ca484c7a65
Merge pull request #11609 from AdmiralCurtiss/sd-size-select
Add SD card size option for converting folder -> file.
2023-06-02 20:52:08 +02:00
Admiral H. Curtiss
10061aa22c
VI: Prevent out-of-bounds access when clock register is a nonstandard value. 2023-06-02 20:06:07 +02:00
Admiral H. Curtiss
b3c9f49cbe
Core: Assert that only the Host thread may call PauseAndLock(). 2023-06-02 18:51:43 +02:00
Admiral H. Curtiss
6302cea22c
Merge pull request #11849 from LillyJadeKatrin/retroachievements-dialog
Retroachievements dialog
2023-06-02 02:09:08 +02:00
LillyJadeKatrin
df38573ff6
Added AchievementSettingsWidget
AchievementSettingsWidget is a dialog widget in AchievementsWindow for handling RetroAchievements settings in the user interface. This class contains the physical layout, widget connections, load/save functions and button responses. AchievementsWindow now has a tabbed list that this is inserted into; other tabs will be in a later pull request.
2023-06-02 01:53:19 +02:00
joon
db712772b7 Add compression option for texture dumps.
Enable through command line options:
-C Graphics.Settings.TexturePNGCompressionLevel=[0-9]

Or from GFX.ini:
[Settings]
TexturePNGCompressionLevel=[0-9]

@see #10792
2023-06-01 16:01:11 -04:00
LillyJadeKatrin
82ff6fb0b7 Fix RetroAchievements Login Crash
Fixing a bug with the RetroAchievements integration where certain combinations of configurations would result in a malformed API request and an attempt to dereference the null response.
2023-05-28 20:53:03 -04:00
Admiral H. Curtiss
4dc4b28db4
Merge pull request #11845 from jnaidu360/skylanders-portal-hotkey
Add hotkey to open Skylanders and Infinity Menus
2023-05-28 23:27:41 +02:00
Charles Lombardo
55b9794e4b
Merge pull request #11808 from deReeperJosh/disneyinfinitybaseandroid
Android: Infinity Base UI
2023-05-28 17:09:31 -04:00
Admiral H. Curtiss
afbc604f42
Merge pull request #11839 from LillyJadeKatrin/retroachievements-popups
Retroachievements popups
2023-05-28 17:17:11 +02:00
Joshua de Reeper
2c98efaa5c Infinity Base: Figure Name Fix 2023-05-28 19:01:21 +12:00
jnaidu360
5eb1669573 Add Hotkeys for Skylanders Portal and Infinity Base Menus
Adds two new hotkeys to open the menus for emulated USB devices- Skylanders Portal of Power and the Infinity Base. (Hotkeys only active when game is running).

Portal menu: Default is <Ctrl+P>.
Infinity base: Default is <Ctrl+I>
2023-05-26 13:36:08 -07:00
LillyJadeKatrin
57290a45e8 Added Notification Popups for Game Mastery
Added OnScreenDisplay messages to HandleAchievementTriggeredEvent to display an extra congratulations message if the player has completed (unlocked all achievements in casual) or mastered (unlocked all achievements in challenge) the game. This also uses the display name retrieved when verifying credentials, which has now been added as a member field on AchievementManager.
2023-05-23 23:23:18 -04:00
LillyJadeKatrin
1841089054 Added Notification Popups for Game Start
Added an OnScreenDisplay message to LoadGameByFilenameAsync to display a message when a player starts a game with achievements, notifying them of their current score. The score displayed is challenge points if the player is in challenge mode or challenge + casual if the player is in casual mode. A second message tells the player which mode they are in. To match RetroAchievements' website interface, the messages are blue for casual and gold for challenge.
2023-05-23 23:22:22 -04:00
LillyJadeKatrin
aa0224a8ab Added TallyScore method to AchievementManager
Added a TallyScore method to AchievementManager to calculate the player's current scores (soft and hard) against the total number of points across all achievements. Includes a PointSpread structure to hold all points and counts. The Unlock Map now includes point values for each achievement to aid in this calculation; this is populated at insert time, and Unofficial achievements are tallied as zero.
2023-05-23 23:22:22 -04:00
LillyJadeKatrin
22af13f9e0 Added Notification Popups for No Achievement Data
Added OnScreenDisplay messages to LoadGameByFilenameAsync to notify the player when any of the potential failures occur.
2023-05-23 23:22:21 -04:00
LillyJadeKatrin
b0eb4ccb80 Added Notification Popup for Leaderboard Canceled
Added HandleLeaderboardStartedEvent with an OnScreenDisplay message when a player has triggered a leaderboard's failure conditions. The message includes the title of the achievement.
2023-05-23 23:22:21 -04:00
LillyJadeKatrin
a4b7f43f21 Added Notification Popup for Leaderboard Started
Added HandleLeaderboardStartedEvent with an OnScreenDisplay message when a player has triggered a leaderboard's start conditions. The message includes the title of the achievement.
2023-05-23 23:22:21 -04:00
LillyJadeKatrin
c20d0ae9e1 Added Notification Popup for Leaderboard Scored
Added an OnScreenDisplay message to HandleLeaderboardTriggeredEvent to display a message when a player has completed a leaderboard. The message includes the title of the achievement and the player's score/time.
2023-05-23 23:22:20 -04:00
LillyJadeKatrin
a7b09413f9 Added Notification Popup for Achievement Unlocked
Added an OnScreenDisplay message to HandleAchievementTriggeredEvent to display a message when a player has unlocked an achievement. The message includes the title of the achievement and its point value based on the game data. To match RetroAchievements' website interface, the message is blue if the unlock is casual and gold for challenge.
2023-05-23 23:22:14 -04:00
Franz-Josef Haider
8943a9a369 Jit: Add missing call to InitBLROptimization for extra performance 2023-05-23 23:49:29 +03:00
Franz-Josef Haider
68aab70c75 Jit: Fix block map fallback in Arm64 case. 2023-05-23 23:20:08 +03:00
Admiral H. Curtiss
df06ae2257
Merge pull request #11837 from brad0/aes_silence_warning
Silence AES warning
2023-05-23 09:20:38 +02:00
Brad Smith
49afa23f95 Silence AES warning
This warning came about after 46ad8b9d68

In file included from /home/ports/pobj/dolphin-5.0.0.20230429/dolphin-5.0.0.20230429/Source/Core/Core/IOS/WFS/WFSI.cpp:4:
/home/ports/pobj/dolphin-5.0.0.20230429/dolphin-5.0.0.20230429/Source/Core/Core/IOS/WFS/WFSI.h:54:6: warning: private field 'm_aes_key' is not used [-Wunused-private-field]
  u8 m_aes_key[0x10] = {};
     ^
2023-05-22 23:34:19 -04:00
Brad Smith
7d26f4ff8e Fix for Socket header for OpenBSD 2023-05-22 23:07:33 -04:00
Admiral H. Curtiss
68c3b1fb7d
Merge pull request #11830 from shuffle2/vs17.6
update to VS 17.6
2023-05-23 00:37:01 +02:00
Admiral H. Curtiss
8fd61d0b54
Merge pull request #11737 from krnlyng/block_map
Jit: Improve block lookup performance through a shm memory segment.
2023-05-21 04:48:23 +02:00
Admiral H. Curtiss
ef95d942e1
Merge pull request #11763 from LillyJadeKatrin/retroachievements-memory-events
RetroAchievements Memory, Events, and Awarding
2023-05-21 03:20:34 +02:00