281 Commits

Author SHA1 Message Date
otavepto
931959afb6 fixed a mismatching push/pop pair in the overlay style 2024-04-25 12:32:53 +02:00
otavepto
41319dd3f7 remove this debug message! 2024-04-25 11:15:39 +02:00
otavepto
21cce304e8 * revert the changes to the notifications heights + calculate all notifications heights dynamically
* added a new button to the overlay `"Test achievement"` which triggeres a test achievement
* added a new overlay appearance option `Achievement_Unlock_Datetime_Format` which allows changing the date/time format of the unlocked achievements
* removed the condition which disabled the overlay sounds when it is shown
2024-04-25 03:17:36 +02:00
schmurger
bda4fbca2c Added review suggestions 2024-04-24 19:52:05 +02:00
schmurger
d0193b953d Improve achievement notification 2024-04-24 19:52:05 +02:00
otavepto
6b71752fc0 don't bypass local_storage when saving .ini files in settings_parser 2024-04-23 02:16:02 +02:00
otavepto
0c50f6b4c7 refactor comments 2024-04-20 19:36:18 +02:00
otavepto
82ba66fbe7 removed the warning for using force_xxx.txt from the overlay 2024-04-20 00:49:28 +02:00
otavepto
466b846943 avoid potential use after free 2024-04-14 20:49:59 +02:00
otavepto
0f6b32c248 language independent time/date format 2024-04-13 11:57:49 +02:00
otavepto
75b2423a25 * corrected Turkish translation by [Clompress]
* updated changelog
2024-04-13 10:08:45 +02:00
otavepto
159c1d1d9e proper attribution for the author of the ingame overlay project (why wasn't this done long time ago?!) 2024-04-12 04:25:50 +02:00
otavepto
7a3c1b82f6 updated Turkish translation by [Clompress] + updated changelog 2024-04-11 21:56:13 +02:00
otavepto
4c116de627 Turkish translation for the overlay by [Clompress] 2024-04-11 14:41:22 +02:00
otavepto
138123b1be load overlay audio from subfolder sounds + example files 2024-04-11 00:09:18 +02:00
otavepto
3c2b849601 fix that stupid mistake in overlay when loading audio buffers 2024-04-10 12:27:37 +02:00
otavepto
9fe55f2e81 for the overlay:
* reduce code duplication
* avoid bypassing local_storage when loading sounds
* avoid alloating sound buffers via new-delete, use std::vector
* clear/reset all global objects on destroy
2024-04-10 11:05:26 +02:00
otavepto
b01486c765 * cleanup custom sound buffers on destroy + cleanup entire overlay class on destroy
* fix sound for auto-accept invites
2024-04-10 11:05:26 +02:00
otavepto
22fc5038a2 don't bypass local_storage in steam_overlay class 2024-04-10 11:05:26 +02:00
otavepto
d0d9658161 ensure renderer hook isn't null 2024-04-09 12:29:08 +02:00
otavepto
8576d149d3 remove functions names prefixes in debug logs 2024-04-06 08:30:08 +02:00
otavepto
b8d9b25a79 load achievements strings before creating fonts, so that their glyphs ranges are taken into consideration 2024-04-04 02:56:18 +02:00
otavepto
5ddbfccfdd * load overlay fonts with relative paths from steam_settings\fonts
* remove invalid parameters from `overlay_appearance.txt`
* example funny font!
2024-04-03 20:26:39 +02:00
detiam
bfdca710f4 allow load custom ttf 2024-04-03 12:19:47 +02:00
detiam
ac709e78e6 change overlay builtin font to unifont 2024-04-03 12:19:47 +02:00
detiam
22c9e8440e delete builtin font 2024-04-03 12:19:47 +02:00
otavepto
7c0758c02d return overlay state as always not ready if it was disabled 2024-04-01 19:23:55 +02:00
otavepto
e6ebe6fb6b prevent running some overlay functions if it's disabled 2024-04-01 19:23:55 +02:00
detiam
574e7a7781 add tchinese translation 2024-03-31 19:40:52 +02:00
detiam
a97ec56ea3 add schinese translation 2024-03-31 19:40:52 +02:00
otavepto
3c9b327fb5 * cleanup/remove all networking callbacks on object destruction
* reset pointers on client destruction
2024-03-26 21:39:52 +02:00
otavepto
6b721266ea allow players connections even when the overlay isn't ready
workaround #107
2024-03-26 01:33:18 +02:00
otavepto
166e7db122 more logging 2024-03-20 00:25:54 +02:00
otavepto
846fd6815e allow overlay invitations to obscure game input to be able to accept/reject the request 2024-03-18 05:57:24 +02:00
otavepto
206732dc8e don't log the periodic callback messages, they fill the log with non-useful events 2024-03-18 01:19:24 +02:00
otavepto
6611c73448 fix that printf warning 2024-03-16 11:09:28 +02:00
otavepto
0becc74280 note for later 2024-03-15 00:03:41 +02:00
otavepto
af237639d5 * initially attempt to load the icons of all achievements, this will slow things down at startup,
but avoids having to load the achievement icon during gameplay which causes micro-stutter
2024-03-15 00:03:41 +02:00
otavepto
0b86464374 * load the icons of a single achievement each overlay callback invokation, will slow things down during startup
but this avoids having to load the achievement icon during gameplay which causes micro-stutter

* avoid loading and resizing the achievement icon each time it's unlocked

* Local_Storage: avoid allocating buffers unless `stbi_load()` was successfull
2024-03-15 00:03:41 +02:00
otavepto
37426bac82 allow notifications of these types to steal input focus:
notification_type_message
notification_type_invite
2024-03-15 00:03:41 +02:00
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