otavepto / gbe_fork

Fork of https://gitlab.com/Mr_Goldberg/goldberg_emulator
https://gitlab.com/Mr_Goldberg/goldberg_emulator
GNU Lesser General Public License v3.0
191 stars 55 forks source link

Skyrim SE Overlay Works Randomly #98

Open Pallina84 opened 3 months ago

Pallina84 commented 3 months ago

This is an old issue with Skyrim Special Edition, i can make the overlay work only 1 time for session of the game. Shift+Tab works only for entering the first time in the overlay and for exit i have to press the "x" in top right of the overlay, but after that i can't re-enter in anymore, only restarting the game. Anyway the achievements pop ups works normally.

otavepto commented 3 months ago

Please post the debug logs after performing these steps exactly. Keep it as short as possible, so don't perform these steps multiple times or do any other actions in game. Then close the game immediately and attach the logs.

I doubt this will help, but in a separate session try increasing the overlay hook delay.

Pallina84 commented 3 months ago

After 3 or 4 tries of restarting the game the overlay worked but as usual only for entering with shift+tab, here is the debug file. STEAM_LOG.txt

otavepto commented 3 months ago

After some time, the hook state is changed to Removing (value 2) and it never reverts back to the normal state, this is a sample from the log

[35401 ms, 35401457 us] [tid 5340] Steam_Overlay hook state changed to <2>
[35401 ms, 35401715 us] [tid 5340] Steam_Overlay::overlay_state_hook 0

You can see it near the bottom of the log 2 times, one per each run/session when it breaks, there's nothing unfortunately I can do about it. All I do is setting a callback for the renderer hook state, and once I get a notification, I'm setting the overlay state accordingly https://github.com/otavepto/gbe_fork/blob/206732dc8e27b61e501635b6fdc0bfd3a177b575/overlay_experimental/steam_overlay.cpp#L219-L222

Pallina84 commented 3 months ago

So there's no solution? Also do you know what trigger the overlay to work the first time without restarting the game?

otavepto commented 3 months ago

Yes

Pallina84 commented 3 months ago

Also do you know what trigger the overlay to work the first time without restarting the game? If i remember correctly smartsteamemu works fine, maybe you can get some ideas from it?

otavepto commented 3 months ago

In the logs you can see the callback initially got a notification that the state was Ready, but afterwards for some reason the state flips to Removing. This is why it works initially. SSE isn't open source as far as I know, can't really do anything.

Pallina84 commented 3 months ago

Ok, thanks for your support.