Dentomologist
7dfb23d38c
CheatSearchWidget: Don't recreate table when refreshing values
...
The table only needs to be recreated when the displayed addresses might
change. If we're just refreshing the current values then update those
table cells and leave the rest of the table alone.
2023-10-30 17:18:18 -07:00
Dentomologist
fa7c969e15
CheatSearch: Use index range for ClonePartial
...
Specify the begin and end indices instead of filling a vector with all
the indices which are continuous anyway.
2023-10-30 12:58:38 -07:00
Admiral H. Curtiss
03f8ec09eb
Merge pull request #12261 from TryTwo/Bugfix_GetAddress
...
PPCDebugInterface: Tweak regex in GetMemoryAddressFromInstruction to fix bugs
2023-10-30 10:49:13 +01:00
Admiral H. Curtiss
045868bbb4
Merge pull request #12256 from malleoz/savestate_read_header_fix
...
Core: Fix UI slowdown for savestate timestamp reads
2023-10-30 10:45:14 +01:00
TryTwo
490e4b78a7
Bugfixes for PPCDebugInterface::GetMemoryAddressFromInstruction
...
FromChars cannot return a value prefixed with 0x.
Possible regex failures on rX, rY, rZ
2023-10-29 22:54:45 -07:00
Tilka
220988d064
Merge pull request #12161 from krnlyng/tools_no_show_raw_insn
...
Tools: fix perf-disassemble.sh.
2023-10-28 03:28:28 +01:00
Tilka
2ccc2bfb2e
Merge pull request #12250 from Sintendo/dcbx-nit
...
Jit_LoadStore: Minor dcbx register optimizations
2023-10-28 02:33:51 +01:00
Tilka
9bea807732
Merge pull request #12249 from Sintendo/frsqrte-nit
...
PowerPC: Negate m_dec values in frsqrte table
2023-10-28 02:15:05 +01:00
Tilka
2212a5b225
Merge pull request #12254 from AdmiralCurtiss/savestate-no-xfb-stride
...
VideoCommon: Don't swap on state load when there's no XFB.
2023-10-28 02:14:30 +01:00
Tilka
7c243a110a
Merge pull request #12253 from TellowKrinkle/AsahiGL
...
Fix shader compiles on Asahi Linux
2023-10-28 02:12:40 +01:00
Tilka
ef447bb40b
Merge pull request #12248 from Dentomologist/cheatsearch_use_std_comparison_functions
...
CheatSearch: Use std comparison function objects
2023-10-28 02:11:18 +01:00
Tilka
ce895f1205
Merge pull request #12255 from jordan-woyak/sdl-360
...
ControllerInterface/SDL: Remove Xbox 360 controller disabling hack.
2023-10-28 02:10:46 +01:00
Tilka
6bac012001
Merge pull request #12251 from Dentomologist/skylanderportal_make_protected_variables_private
...
SkylanderPortal: Make protected variables private
2023-10-28 02:09:28 +01:00
sowens99
cddc75c28b
Core: Fix UI slowdown for savestate timestamp reads
2023-10-26 22:32:47 -04:00
Jordan Woyak
30ce1f2ec2
ControllerInterface/SDL: Remove Xbox 360 controller disabling hack.
2023-10-26 18:04:11 -05:00
JosJuice
3454bc4c3c
Translation resources sync with Transifex
2023-10-25 22:43:24 +02:00
Admiral H. Curtiss
4f0c8b1657
VideoCommon: Don't swap on state load when there's no XFB.
...
This triggers an assert in TCacheEntry::SetXfbCopy() otherwise if you load a savestate that was made before the first XFB has been rendered.
2023-10-25 18:24:42 +02:00
TellowKrinkle
4f2a79058a
VideoBackends:OGL: Handle when SSBOs are only supported in some shader stages
2023-10-25 17:47:04 +02:00
TellowKrinkle
323aea60d6
VideoCommon: Fix VS point/line on older GLSL
2023-10-24 23:18:01 -05:00
Sintendo
171f76ae07
Jit_LoadStore: Another minor dcbx optimization
...
The multiplication needs the value from RSCRATCH2, but shouldn't
overwrite it as it is still needed later. The original code solved this
by copying RSCRATCH2 to another register first.
As it turns out, the other register involved in the multiplication can
safely be overwritten, so we can swap the operands around and use
RSCRATCH2 directly without making a copy.
Before:
33 D2 xor edx,edx
8B 45 64 mov eax,dword ptr [rbp+64h]
85 C0 test eax,eax
7E 30 jle 000002D4DF373F6B
44 8B B5 D4 02 00 00 mov r14d,dword ptr [rbp+2D4h]
44 8B E8 mov r13d,eax
BF 07 00 00 00 mov edi,7
F7 F7 div eax,edi
41 8D 56 FF lea edx,[r14-1]
3B C2 cmp eax,edx
0F 42 D0 cmovb edx,eax
44 2B F2 sub r14d,edx
44 89 B5 D4 02 00 00 mov dword ptr [rbp+2D4h],r14d
8B C2 mov eax,edx
0F AF C7 imul eax,edi
44 2B E8 sub r13d,eax
44 89 6D 64 mov dword ptr [rbp+64h],r13d
44 8D 72 01 lea r14d,[rdx+1]
After:
33 D2 xor edx,edx
8B 45 64 mov eax,dword ptr [rbp+64h]
85 C0 test eax,eax
7E 2E jle 0000021C01013F69
44 8B B5 D4 02 00 00 mov r14d,dword ptr [rbp+2D4h]
44 8B E8 mov r13d,eax
BF 07 00 00 00 mov edi,7
F7 F7 div eax,edi
41 8D 56 FF lea edx,[r14-1]
3B C2 cmp eax,edx
0F 42 D0 cmovb edx,eax
44 2B F2 sub r14d,edx
44 89 B5 D4 02 00 00 mov dword ptr [rbp+2D4h],r14d
0F AF FA imul edi,edx
44 2B EF sub r13d,edi
44 89 6D 64 mov dword ptr [rbp+64h],r13d
44 8D 72 01 lea r14d,[rdx+1]
2023-10-24 00:42:35 +02:00
Dentomologist
3ba5cd30ff
SkylanderPortal: Make protected variables private
...
SkylanderPortal is final, so having member variables be protected
instead of private is just misleading.
2023-10-22 12:00:49 -07:00
Sintendo
dd58a8d65e
Jit_LoadStore: Minor dcbx register optimization
...
Instructions referencing registers r8-r15 take an additional byte to
encode. `reg_downcount` may be assigned to one of these registers, so it
is a small size win to store the downcount value in `RSCRATCH` first.
Before:
33 D2 xor edx,edx
44 8B 6D 64 mov r13d,dword ptr [rbp+64h]
45 85 ED test r13d,r13d
7E 30 jle 0000023546B43F6D
44 8B B5 D4 02 00 00 mov r14d,dword ptr [rbp+2D4h]
41 8B C5 mov eax,r13d
BF 07 00 00 00 mov edi,7
F7 F7 div eax,edi
After:
33 D2 xor edx,edx
8B 45 64 mov eax,dword ptr [rbp+64h]
85 C0 test eax,eax
7E 30 jle 000001AFBBAE359D
44 8B B5 D4 02 00 00 mov r14d,dword ptr [rbp+2D4h]
44 8B E8 mov r13d,eax
BF 07 00 00 00 mov edi,7
F7 F7 div eax,edi
2023-10-22 15:13:52 +02:00
Sintendo
3c3168706c
PowerPC: Negate m_dec values in frsqrte table
...
This value is used in a multiplication. The result of this
multiplication is then subtracted from m_base. By negating m_dec, we are
free to use an addition instead.
On x64, this saves an instruction.
2023-10-21 21:08:21 +02:00
Dentomologist
c5a8a3fd4a
CheatSearch: Use std comparison function objects
2023-10-20 16:05:47 -07:00
Admiral H. Curtiss
60e3b4c093
Merge pull request #12196 from LillyJadeKatrin/retroachievements-on-screen-images
...
RetroAchievements - On Screen Images
2023-10-19 19:29:56 +02:00
LillyJadeKatrin
db78437498
Refactored welcome message to render after game start
...
Split the "welcome" messages letting players know achievements are active into a separate method that gets called (currently) after a number of frames to ensure that the emulator has started properly and has somewhere to display the messages.
2023-10-19 19:21:12 +02:00
LillyJadeKatrin
a3d561fdff
Add badges to achievement messages
...
Updated OSD::AddMessage calls for achievements and game start to pass in the badges intended to be shown.
2023-10-19 19:13:20 +02:00
Admiral H. Curtiss
c87b2e46b4
Merge pull request #12242 from AdmiralCurtiss/osd-icons
...
VideoCommon: Add support for icons in OSD messages.
2023-10-17 12:46:36 +02:00
Admiral H. Curtiss
53ea7aee1b
Merge pull request #12239 from AdmiralCurtiss/achievementprogresswidget-clearlayout
...
DolphinQt/AchievementProgressWidget: Use ClearLayoutRecursively() to clear layout.
2023-10-17 12:45:40 +02:00
Admiral H. Curtiss
cb13ad7a5f
VideoCommon: Add support for icons in OSD messages.
2023-10-17 02:47:29 +02:00
Admiral H. Curtiss
7122c7e872
Merge pull request #12243 from iwubcode/tolower_assets
...
VideoCommon: use ToLower function in assets when parsing json
2023-10-17 02:34:18 +02:00
iwubcode
b292022bc7
VideoCommon: use ToLower function in assets when parsing json, for proper locale independent behavior
2023-10-16 19:23:00 -05:00
Admiral H. Curtiss
2ae9771a30
Merge pull request #12241 from iwubcode/shader_asset_additoinal_properties
...
VideoCommon: add additional properties to ShaderAsset to support custom shader uniforms
2023-10-17 02:16:40 +02:00
iwubcode
fec2a8af8c
VideoCommon: add additional properties to ShaderAsset to support custom shader uniforms
2023-10-16 19:02:27 -05:00
Admiral H. Curtiss
3873664143
DolphinQt/AchievementProgressWidget: Use ClearLayoutRecursively() to clear layout.
2023-10-15 22:54:40 +02:00
Admiral H. Curtiss
bbf3fed93c
Merge pull request #12027 from LillyJadeKatrin/retroachievements-leaderboards-tab
...
RetroAchievements - Leaderboards Tab
2023-10-15 21:40:58 +02:00
LillyJadeKatrin
b824d55093
Add Leaderboards tab to Achievement dialog
...
A new tab is added to the Achievements dialog to chart out the leaderboards in a table. Each row of the table contains the leaderboard information and up to four relevant entries, varying based on how many entries are in the leaderboard, whether or not the player has a submitted score, and where in the leaderboard the player's score is.
2023-10-15 21:28:40 +02:00
LillyJadeKatrin
04df930e0d
Added FetchBoardInfo to AchievementManager
...
FetchBoardInfo is called (via the work queue asynchronously) on a leaderboard every time it is activated or submitted to. It makes two calls to the RetroAchievements API for fetching leaderboard info, one that requests the top four entries in the leaderboard and another that requests the player's entry, the two entries above the player and the two entries below. All of these are inserted into a single map (resolving any overlaps) so the result can be exposed to the UI.
2023-10-15 21:28:40 +02:00
LillyJadeKatrin
61dded7043
Added Leaderboard info map to AchievementManager
...
The leaderboard map created here contains information useful to displaying leaderboard stats in the Achievement dialog, including each leaderboard's name and description and a partial list of entries for display. The entire map is exposed to the UI in a single call for simplicity.
2023-10-15 21:28:40 +02:00
Admiral H. Curtiss
daf9ff012a
Merge pull request #12229 from AdmiralCurtiss/achievement-load-async-lock
...
AchievementManager: Call ActivateDeactivateLeaderboards() and ActivateDeactivateRichPresence() under lock.
2023-10-15 21:27:41 +02:00
JosJuice
b3b660b446
Merge pull request #12236 from AdmiralCurtiss/qt-clear-layout
...
DolphinQt: Move GraphicsModListWidget::ClearLayoutRecursively() to QtUtils.
2023-10-15 19:17:01 +02:00
Admiral H. Curtiss
1645b1ed62
AchievementManager: Call ActivateDeactivateLeaderboards() and ActivateDeactivateRichPresence() under lock.
...
Both of these functions access `m_game_data` and don't lock themselves, so they must be called in a way that guarantees that `m_game_data` is not modified during the call.
2023-10-15 18:59:36 +02:00
Admiral H. Curtiss
4b2dad074a
DolphinQt: Move GraphicsModListWidget::ClearLayoutRecursively() to QtUtils.
2023-10-15 18:39:05 +02:00
Admiral H. Curtiss
2677fd9a8e
Merge pull request #12185 from iwubcode/custom_shader_uniform_backend_support
...
VideoBackends / VideoCommon: add support for custom shader uniforms to D3D, Vulkan, OGL
2023-10-15 00:21:56 +02:00
Admiral H. Curtiss
5195446ddb
Merge pull request #12233 from AdmiralCurtiss/libcurl840
...
Externals: Update libcurl to 8.4.0
2023-10-14 18:42:00 +02:00
JosJuice
47396650bf
Merge pull request #12232 from Dentomologist/convert_objectsubtype_to_enum_class
...
IOSC: Convert ObjectSubType to enum class
2023-10-13 21:54:23 +02:00
Admiral H. Curtiss
ac0f1b8b0d
Externals: Update libcurl to 8.4.0
2023-10-12 21:45:50 +02:00
Dentomologist
b2a8f7e276
IOS: Convert ObjectSubType to enum class
2023-10-11 14:21:29 -07:00
Admiral H. Curtiss
1c0605d1c4
Merge pull request #12228 from AdmiralCurtiss/achievement-callback-scope
...
AchievementManager: Don't store pointer to rc_runtime_event_t in lambda.
2023-10-11 14:40:06 +02:00
Admiral H. Curtiss
111c1ab531
AchievementManager: Don't store pointer to rc_runtime_event_t in lambda.
...
Scope issue in the event callback from `rc_runtime_do_frame()`. The pointer points to a variable on the stack from inside `rc_runtime_do_frame()`, so that's a race condition between the thread calling `rc_runtime_do_frame()` and the event queue thread.
2023-10-11 10:32:11 +02:00