Skip to content

OSD: Add warning for hash cache setting overriding texture replace/dump#13492

Open
TheTechnician27 wants to merge 1 commit intoPCSX2:masterfrom
TheTechnician27:hash-cache
Open

OSD: Add warning for hash cache setting overriding texture replace/dump#13492
TheTechnician27 wants to merge 1 commit intoPCSX2:masterfrom
TheTechnician27:hash-cache

Conversation

@TheTechnician27
Copy link
Copy Markdown
Contributor

@TheTechnician27 TheTechnician27 commented Nov 5, 2025

Description of Changes

  • Make the warning for Texture Preloading not Full account for if the user has texture replacement/dumping on.
    • According to @JordanTheToaster and @RedPanda4552, neither of these options will actually work while the hash cache isn't full.
    • The user should be informed if their settings will not work for some reason.
    • There's a special warning if it's caused by the GameDB rather than user choice.
  • Grey out options for texture replacement if texture preloading set to none or partial by user.
    • I could've just hidden the whole tab, but the search directory widget is still active.
    • Still need the OSD message since:
      1. greying out the options doesn't mean they weren't on before.
      2. you can edit settings from the .ini file.
    • This behavior is mirrored in BPM.
  • Add two functions to GameDatabaseSchema::Entry which let you look up speed hack and GS HW fix values.
    • Unlike the other values in Entry, speed hacks and GS HW fixes are in a vector of pairs.
    • Thus, fetching their associated values if they exist is annoying.
    • There's no good reason why something with access to the entry shouldn't be able to easily just query this.
  • Make it so that OSD hardware settings warnings do not appear when using the Null Renderer.
    • It is just as unaffected by these as the Software Renderer is.

Example Screenshots

Ignore the first two lacking an icon; this is from an earlier build.
image
image
image

Took up what I thought was a reasonable suggestion from RedPanda4552.

Suggested Testing Steps

  • Make sure that the message works.
  • For testing the GameDB one specifically, I recommend just editing the DB yourself.
    • Games which actually don't use full hash cache are scarce.
  • Make sure that the option greying out works.
  • The game entry query functions are pretty straightforward.
    • There shouldn't be a need to test these if you just look at them.

Did you use AI to help find, test, or implement this issue or feature?

No.

Copy link
Copy Markdown
Contributor

@RedPanda4552 RedPanda4552 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, review only, can't smoke test right now.

@TheTechnician27 TheTechnician27 marked this pull request as draft November 6, 2025 00:23
@TheTechnician27 TheTechnician27 marked this pull request as ready for review November 6, 2025 01:57
@TheTechnician27 TheTechnician27 force-pushed the hash-cache branch 2 times, most recently from 7c81df0 to 281c092 Compare November 6, 2025 02:26
@JordanTheToaster JordanTheToaster added this to the Release 2.6 milestone Nov 6, 2025
@TheTechnician27 TheTechnician27 force-pushed the hash-cache branch 6 times, most recently from 29634f3 to 4164598 Compare November 8, 2025 22:06
Copy link
Copy Markdown
Contributor

@kamfretoz kamfretoz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

Image

{
for (const auto& speed_hack : speedHacks)
{
if (speed_hack.first == queried_speed_hack)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spaces used for indent.

{
for (const auto& hardware_fix : gsHWFixes)
{
if (hardware_fix.first == queried_hardware_fix)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spaces used for indent.

@F0bes F0bes modified the milestones: Release 2.6, Release 2.8 Dec 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants