Commit Graph

241 Commits

Author SHA1 Message Date
otavepto
4d2e14be3f manage overlay cursor input/clipping and internal frame processing in a better way 2024-03-15 00:03:41 +02:00
otavepto
b7c986f47c * prevent notifications that do not require interaction from stealing focus
* check for success when creating the overlay popup window

* make notifications background less transparent, for easier visibility

* show hidden achievement description in the overlay if it was unlocked

* don't fail loading both achievement icons, locked and unlocked, if eihter one of them wasn't loaded but the other was
2024-03-09 23:17:27 +02:00
otavepto
c96b8f9935 don't show notifications or run overlay callbacks when it's not ready + refactor a private function 2024-03-09 04:19:38 +02:00
otavepto
d448535021 stop frame processing on exit 2024-03-08 22:19:12 +02:00
otavepto
5447940ed1 revert back the original behavior of starting the detector immediately when the renderer detector initial delay = 0 2024-03-08 22:10:04 +02:00
otavepto
875e3e4859 allow changing the font glyph spacing 2024-03-08 18:13:29 +02:00
otavepto
65edb7081a allow controlling the renderer detector timeout via a config file 2024-03-08 18:13:29 +02:00
otavepto
3b5fea61f3 disable char8_t to be able to use u8"" strings in a normal manner for overlay translations 2024-03-08 18:13:29 +02:00
otavepto
df9cc93028 add builtin fonts to properly render all languages 2024-03-08 18:13:29 +02:00
otavepto
450f46c92c * allow popup windows to take focus
* refactoring private/public functions names
2024-03-08 18:13:29 +02:00
otavepto
b66555afbd use u8"" strings for overlay translations 2024-03-08 18:13:29 +02:00
otavepto
827f8a472a refactoring + make fonts variables static 2024-03-08 18:13:29 +02:00
otavepto
d3c4026447 fix default notification height + a potential crash when creating notification table during exit 2024-03-08 18:13:29 +02:00
otavepto
99d689118e central function to take care of frame/input processing 2024-03-08 18:13:29 +02:00
otavepto
9a73720825 * check for ImGui context before initializing it, otherwise it might crash some games like Antichamber when you alt+tab during initialization
* ignore all overlay requests if it's not ready
* when unlocking an achievement, only load it's icon if that was specified in the json
* restore the code for ImGui font builder, this is needed to load the glyphs for all languages
* revert the code which loads the achievements info even if the overlay wasn't ready
2024-03-08 18:13:29 +02:00
otavepto
c50ac8fa71 some debug messages 2024-03-08 18:13:29 +02:00
otavepto
c19fc81e84 * revert the previous change and force-display a mouse cursor inside the overlay, Truberbrook and others won't show a cursor in the overlay by default
* attempt to fix the crash when closing the app, use global object with bigger life time and avoid local states

* attempt to fix usage of invalid/outdated window size when displaying notifications

* lock overlay mutex everywhere to avoid sync problems

* lock global emu mutex in the relevant places when using client APIs

* only change the ImGui ini and round corner settings once
2024-03-08 18:13:29 +02:00
otavepto
8018df74da fix all overlay compilation warnings on Linux 2024-03-08 18:13:29 +02:00
otavepto
af383860a7 fix overlay compilation on Linux 2024-03-08 18:13:29 +02:00
otavepto
5c312306d4 use const ref in many places 2024-03-08 18:13:29 +02:00
otavepto
88ab37d78f * proper fix for the window resizing problem, thanks to Nemirtingas
* remove the code which adds custom Windows fonts but keep scaling

* only attempt to load achievements images when hook is ready

* cleanup overlay images on unhook

* free the detector when we get a renderer hook instance

* lock everywhere!

* prefix the debug messages for a cleaner debug log
2024-03-08 18:13:29 +02:00
otavepto
0955fbb77a * a hacky fix for window resizing, this will force the overlay to update its size when the game's window size is changed
* avoid spamming the call to _renderer->StartHook()

* remove the code which changes the cursor
2024-03-08 18:13:29 +02:00
otavepto
74a85fb38c * update the steam_overlay.c/.h code to accommodate the changes in the ImGui lib & the ingame overlay project/dependency
* remove the now non-compiling (and awful) code which locks the cursor inside the overlay

* workaround for the deprecated ImGui function BeginListBox()

* formatting
2024-03-08 18:13:29 +02:00
otavepto
c81842bd2f update vulkan .h files, copied from ingame overlay project/dependency 2024-03-08 18:13:29 +02:00
otavepto
4aa0f58199 remove the source files of the ingame overlay project, now it's a dependency 2024-03-08 18:13:29 +02:00
otavepto
0db011f94b reset images textures on window resize 2024-02-10 06:23:08 +02:00
otavepto
0af025ea5d don't load images forever to avoid a never ending slowdown 2024-02-09 20:39:01 +02:00
otavepto
8f62d7d487 remove unused line 2024-02-09 20:39:01 +02:00
otavepto
dd870c1339 fix compilation 2024-02-09 20:39:01 +02:00
otavepto
b92a70e9ac a hacky fix for the overlay on dx12 2024-02-09 20:39:01 +02:00
otavepto
7c1f7dc4ab updated updated translations for Czech by Olivander 2024-02-04 22:26:46 +02:00
otavepto
e3b80fe072 updated translations for Brazilian Portuguese by Vlxst 2024-02-04 22:23:53 +02:00
otavepto
1bba2c09b0 * allow setting the achievements notifications via config file
* fixed a mistake when discarding ut8 bom marker
2024-01-26 14:37:17 +02:00
otavepto
5ec61403f5 don't spam loading achievements forever on failure 2024-01-24 22:57:32 +02:00
otavepto
b8e305bc41 allow copying own id and a friend's ID 2024-01-24 22:57:32 +02:00
otavepto
9eee49d6af add a button to invite all friends playing same game 2024-01-24 22:57:32 +02:00
otavepto
d73faeff38 use the new functions to check for friend ID in the auto accept list 2024-01-24 22:57:32 +02:00
otavepto
a98baef856 fixed a casting mistake when displaying friend ID 2024-01-24 22:57:32 +02:00
otavepto
6864aafc12 restored missing files! why! 2024-01-24 22:57:32 +02:00
otavepto
628d5001a6 don't open the overlay when auto accept is used 2024-01-24 22:57:32 +02:00
otavepto
21545509fd new type of notification when the auto accept config file is used 2024-01-24 22:57:32 +02:00
otavepto
9d533cd945 new string to translate! 2024-01-24 22:57:32 +02:00
otavepto
0b8e5cb283 use the new flags in the overlay 2024-01-24 22:57:32 +02:00
otavepto
f8bb8b2285 fixed the overlay crash when an invitation is sent (on guest side)
(cherry picked from commit fc4fbb33b11e03946bb158c465ce3cb8e02b3f45)
2024-01-19 03:51:44 +02:00
otavepto
440d8335e2 fixed a bunch of includes 2023-12-28 01:30:46 +02:00
otavepto
541d809364 relocate overlay .h files 2023-12-28 01:30:46 +02:00
otavepto
1ed450b8e9 fixed all non-void functions missing return values + removed the compiler flag -Wno-return-type 2023-12-25 04:09:49 +02:00
otavepto
4fb6dcb3fa + learned the lesson, lock the global mutex in different other places just to be on the safe side, after lego 2k I am hesitent about all APIs, will this slow things down?
+ refactor some debug messages
2023-12-20 05:32:17 +02:00
a
5f004ab471 (RIN forum) added updated translations for Russian to the overlay by GogoVan from https://cs.rin.ru/forum/viewtopic.php?p=2939565#p2939565 2023-12-14 04:49:52 +02:00
a
e7a277678b (RIN forum) added updated translations for Spanish + Latin American to the overlay by dragonslayer609 from https://cs.rin.ru/forum/viewtopic.php?p=2936892#p2936892 2023-12-14 04:49:49 +02:00
a
439ffa5237 (RIN forum) added cvsR4U1 by ce20fdf2 from https://cs.rin.ru/forum/viewtopic.php?p=2936697#p2936697 2023-12-14 04:49:15 +02:00
a
62a92e5bf6 (RIN forum) added new release 4 by ce20fdf2 from https://cs.rin.ru/forum/viewtopic.php?p=2933673#p2933673 2023-12-14 04:45:59 +02:00
a
4399c0b12b (RIN forum) added hotfix 2 by ce20fdf2: https://cs.rin.ru/forum/viewtopic.php?p=2884110#p2884110
* + avoid unnecessary locks in experimental overlay if the functionality is disabled
2023-12-14 04:44:39 +02:00
a
75e6d7c8ab (RIN forum) add initial hotfix by ce20fdf2
* + revert the change to SetProduct() and SetGameDescription()

* + less verbose return in Steam_GameServer::BSecure()

* + add missing note in ReadMe about libssq
2023-12-14 04:40:25 +02:00
Mr_Goldberg
475342f0d8
SDK 1.56 and 1.57 2023-05-08 22:36:51 -04:00
Mr_Goldberg
b1986dfe38
Overlay chat window improvements. 2022-09-03 04:13:58 -04:00
Mr_Goldberg
c9a102ee30
Use shared font atlas and fix crash when opening overlay in some games. 2022-08-21 03:45:11 -04:00
Mr_Goldberg
de6805dd8b
Update nemirtingas overlay to latest. 2022-08-21 03:43:24 -04:00
Mr_Goldberg
077e532bd2
Fix overlay getting stuck if stopped to quickly after being started. 2022-08-16 12:32:28 -04:00
Mr_Goldberg
276a9902df
Update nemirtingas overlay to latest to fix clipcursor related issue. 2022-08-16 12:29:58 -04:00
Mr_Goldberg
0a80b60b6c
Use windows fonts in overlay if present. 2022-08-13 14:35:59 -04:00
Mr_Goldberg
743a810463
Update nemirtingas overlay. 2022-08-13 14:32:43 -04:00
Mr_Goldberg
04022c005f
Update nemirtingas overlay to latest. 2022-08-10 03:22:23 -04:00
Mr_Goldberg
7c419e0afe
Fix overlay crash in games that load then unload steam api dll. 2022-08-07 23:11:21 -04:00
Mr_Goldberg
eef92f1fe6
Add early version of script to generate emu config.
Only generates achievements and stats configs at the moment.
2022-08-06 05:23:49 -04:00
Mr_Goldberg
ad66573a20
Fix crashes. 2022-08-05 18:45:33 -04:00
Mr_Goldberg
5e880cd974
Add achievements display to overlay and ability to change some settings. 2022-08-05 02:09:43 -04:00
Mr_Goldberg
c17fb0c931
Update Nemirtingas overlay to latest. 2022-08-05 02:06:42 -04:00
Nemirtingas
76c9e7a9ee Fix game crash.
WHen overlay is shown, you have at least 1 friend connected and you resize the game window smaller to the friend list position, it crashes because ImGui::ListBoxHeader returns false when its clipped and ImGui::ListBoxFooter shouldn't be called.
2021-05-09 10:11:35 +02:00
Mr_Goldberg
8a5e49251c
Remove hex symbols in overlay chat window. 2021-04-02 23:40:54 -04:00
Mr_Goldberg
3f06dd8576
Call GameLobbyJoinRequested_t if a lobby exists when joining with rich presence. 2021-03-07 19:04:01 -05:00
Mr_Goldberg
5f8a454e3f
Fixed mouse getting stuck in the middle of the overlay in some games. 2021-02-06 22:38:51 -05:00
Mr_Goldberg
cfff531a23
Put back the if new frame for overlay. 2021-01-23 16:46:44 -05:00
Mr_Goldberg
d6bdde0123
Update ImGui 2021-01-17 22:58:42 -05:00
Nemirtingas
e100c89160 Remove some other headers that are in common_includes.h 2020-07-16 20:25:14 +02:00
Nemirtingas
fe9bbd1104 Add a common include file. 2020-07-16 11:56:24 +02:00
Mr_Goldberg
2c95011e73
Fix mouse cursor showing up in some games due to overlay. 2020-02-14 15:03:20 -05:00
Mr_Goldberg
b4205535fb
Only allow people to join lobbies with the overlay if they have been invited first. 2020-02-02 19:07:30 -05:00
Mr_Goldberg
245d379720
Fix overlay not working in barotrauma. 2020-02-02 19:06:44 -05:00
Mr_Goldberg
39d1d8dcdf
Add a notifications mutex to the overlay. 2020-01-26 17:24:16 -05:00
Mr_Goldberg
eace15df47
Thread related overlay improvements. 2020-01-26 09:46:57 -05:00
Mr_Goldberg
e0af318948
Try to fix overlay related lag. 2020-01-25 15:23:16 -05:00
Mr_Goldberg
43a5b13302
Use different mutex for overlay to try to fix lag. 2020-01-20 11:47:12 -05:00
Nemirtingas
1dc5bcc5c1
Fix hooks not working
Even if dxgi is hooked, it will not be rehooked, HookDXGIPresent has a check, but different dx versions need a call to loadFunctions.
2020-01-20 11:45:04 -05:00
Mr_Goldberg
db2a803cf7
A few improvements to the overlay merge request.
NO_OVERLAY define becomes EMU_OVERLAY which enables the overlay instead of disabling it.

disable_overlay.txt moved to steam_settings.
2020-01-19 12:55:14 -05:00
Nemirtingas
dc3dee9ce8 Added more prebuilt shader
Skyrim deployed its own d3dcompile dll that nullifies shaders compilation, so you either have to load the one in C:\Windows\System32|SysWow64 or use prebuilt.
I use prebuilt
2020-01-11 14:42:00 +01:00
Nemirtingas
0711c83440 Check if we actually created a new frame 2020-01-10 08:10:33 +01:00
Nemirtingas
20c03cda75 Update steam_overlay.cpp 2019-12-10 05:56:08 +00:00
Nemirtingas
4c2484cdef Update Renderer_Detector.cpp
DX12 hook
2019-12-09 11:06:43 +00:00
Nemirtingas
02924d986e Update Renderer_Detector.cpp 2019-12-08 21:20:23 +00:00
Nemirtingas
547cbdbb4e Added barrier to DX12 overlay.
Gears5 seems to have a problem with the overlay. While loading and in the main menu, it works fine, but if you press enter, it crashes saying the GPU is not responding. Can't debug it with CODEX, it checks for a debugger.
Works fine on sniper elite5.
2019-11-08 15:56:30 +01:00
Nemirtingas
695954e13a Add software cursor to Linux overlay too 2019-11-08 15:56:21 +01:00
Nemirtingas
1af7902aae Add dummy funcs. 2019-11-08 15:56:00 +01:00
Nemirtingas
dd1a21dae9 Clean Linux hook, not needed
Linux uses LD_PRELOAD to load the overlay
2019-11-08 15:55:18 +01:00
Nemirtingas
55ba49c957 Clean a bit Linux Overlay 2019-11-08 15:54:48 +01:00
Nemirtingas
1edbdd8a35 Free DX12 devices on destroy 2019-11-08 15:53:08 +01:00
Nemirtingas
cf3dea2bbe Allow ImGui to process events if the overlay is hidden
This is used for the notifications when overlay is off.
2019-11-08 15:52:50 +01:00
Nemirtingas
ce79df1c26 Added customizable notification
Notification can have a type depending on what to show.
2019-11-08 15:52:38 +01:00
Nemirtingas
982ec56007 Enable DX12 overlay 2019-11-08 15:46:57 +01:00
Nemirtingas
c667dbd3af Rework DX12 overlay to use Present to render the overlay 2019-11-08 15:45:52 +01:00