Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HUD Free screenshot doesn't work #209

Open
nikolay-borzov opened this issue Sep 29, 2024 · 6 comments
Open

HUD Free screenshot doesn't work #209

nikolay-borzov opened this issue Sep 29, 2024 · 6 comments

Comments

@nikolay-borzov
Copy link

nikolay-borzov commented Sep 29, 2024

Special K: 24.9.26
SKIF: 1.1.5.2
OS: Windows 10 Pro (10.0.19045 Build 19045)
Injection method: Global (via Playnite add-on)
Tested on game: None Shall Intrude: Descent

d3d11_shaders.ini:

[DrawState.Vertex]
5034700a=HUD
6ec32cf8=HUD
b5b1e11e=HUD
b70aff71=HUD

There are several issues:

  1. There is no input to set HUDFree keybind
    image
  2. When pressing default HUDFree keybind Num - a screenshot is made, but it contains HUD. Toggle HUD hides UI though

logs.zip
SpecialK.zip

@Kaldaien
Copy link
Member

Kaldaien commented Sep 29, 2024

Ugh, I should just revert the code changes responsible for this.
I hid the HUD Free keybind when the shaders weren't detected because people were complaining.

I can confirm that the keybind option no longer shows up.

These changes were like 6 months ago though.

@Kaldaien
Copy link
Member

Well, I feel dumb now.

    static std::set <SK_ConfigSerializedKeybind *>
      keybinds = {
        &config.screenshots.sk_osd_free_keybind,
        &config.screenshots.sk_osd_insertion_keybind,
        &config.screenshots.no_3rd_party_keybind,
        &config.screenshots.clipboard_only_keybind,
        &config.screenshots.snipping_keybind
      };
      
    // Add a HUD Free Screenshot keybind option if HUD shaders are present
    if (rb.api == SK_RenderAPI::D3D11 && keybinds.size () == 4 && ReadAcquire (&SK_D3D11_TrackingCount->Conditional) > 0)
        keybinds.emplace (&config.screenshots.game_hud_free_keybind);

This broke when I added the new keybind for screenshot snipping.
Thank you for reporting this, I'll fix it.

Similarly, the actual HUD free capture is broken by the fact that there's one additional type of screenshot now :)

@nikolay-borzov
Copy link
Author

I think we can keep HUDFree set keybind option always visible if we provide contextual help through a tooltip explaining how it works

@Kaldaien
Copy link
Member

I have fixed the missing keybind option, however, am having difficulty reproducing the HUD appearing in the screenshot.

SpecialK64.zip

Can you confirm that the HUD toggle keybind itself is working for you? Alt+Shift+H

The only thing I can think of here is that the game uses more SwapChain backbuffers than usual and I need to add an extra frame of latency before attempting to capture the screenshot.

@nikolay-borzov
Copy link
Author

Alt+Shift+H hides shaders marked Belongs to HUD.

The only thing I can think of here is that the game uses more SwapChain backbuffers than usual and I need to add an extra frame of latency before attempting to capture the screenshot.

Yeah, it looks like HUD is hidden and shown quickly and then screenshot is captured. Maybe it's possible to configure a delay before showing HUD or somehow track "screenshot is made" moment and then show HUD

@nikolay-borzov
Copy link
Author

Nightmare Reaper Demo is another game where HUD stays on HUD-Free screenshots. Alt+Shift+H works well. Maybe it's somehow related to a display refresh rate (mine is 270Hz)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants