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
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
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
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
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
0af025ea5d
don't load images forever to avoid a never ending slowdown
2024-02-09 20:39:01 +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
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
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
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
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
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
d6bdde0123
Update ImGui
2021-01-17 22:58:42 -05: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
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
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
20c03cda75
Update steam_overlay.cpp
2019-12-10 05:56:08 +00:00
Nemirtingas
695954e13a
Add software cursor to Linux overlay too
2019-11-08 15:56:21 +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
c006555b01
Add infos on friend game
...
Add friend appid and check if the game is compatible.
2019-10-14 16:35:53 +02:00
Nemirtingas
bce574dc43
Changed windows id and fixed chat layout
2019-10-13 12:27:48 +02:00
Nemirtingas
d467248236
Forgot to initialize overlay's close button
2019-10-13 12:27:44 +02:00
Nemirtingas
8abb0c8bc2
Add close button for overlay
2019-10-13 12:27:32 +02:00
Nemirtingas
6c09635600
Added the possibility to create new fonts.
...
Fonts cannot be created after a NewFrame call.
2019-09-05 09:00:02 +02:00
Nemirtingas
2db31928e9
Notifications
2019-09-04 19:31:31 +02:00
Nemirtingas
344674b889
revert of "Should fix the cursor until we draw our own cursor."
2019-09-03 19:22:08 +02:00
Nemirtingas
1785ae6eaf
Moved every platform specific code to their own folder
2019-09-01 20:48:27 +02:00
Nemirtingas
0573c4eb94
Windows only part
2019-09-01 20:47:00 +02:00
Nemirtingas
b6eb929383
Should fix the cursor until we draw our own cursor.
2019-08-27 21:15:58 +02:00
Nemirtingas
04847abeb7
Overlay & Hook cleanup.
2019-08-27 15:45:53 +02:00
Nemirtingas
44d583ee7d
Added class Renderer_Detector.
...
Hook_Manager now only manages hooks.
Renderer_Detector is used to detect the game's renderer. There will be 2 version of it. 1 for windows and 1 for Linux.
2019-08-27 15:38:07 +02:00
Nemirtingas
9b178146c4
Cleaned a bit hooks and added sanity checks.
2019-08-26 19:36:07 +02:00