a
450a345333
* add instance of game_stats for servers, client and server instances are requested by games
...
* delete ended game_stats sessions after 15 seconds to reduce memory usage
2024-08-03 16:57:30 +03:00
a
55e9ba41a9
add missing callbacks to steam_remote_storage
2024-08-03 16:57:30 +03:00
otavepto
f5ae22a1e6
basic impl for steam timeline
2024-07-07 02:39:21 +03:00
otavepto
d1d5416d62
implement isteamgamestats
2024-06-16 19:08:44 +03:00
otavepto
f81ba95732
* common helper for killable threads + remove dedicated class for background thread
...
* avoid overriding SteamPath env var in `SteamAPI_GetSteamInstallPath()`
2024-06-04 21:58:04 +03:00
otavepto
4333808646
also delete background thread instance!
2024-06-02 05:16:22 +03:00
otavepto
8022fc04f4
reduce code for deleting steamclient instances
2024-06-02 05:16:22 +03:00
otavepto
545bbd17da
spawn the background thread for gameservers as well
2024-06-02 05:16:22 +03:00
otavepto
86eb8aa2d0
refactor background thread into a separate .cpp file
2024-06-02 05:16:22 +03:00
otavepto
ba1de0165d
refactor steam_client a little + create setters/getters instead of directly modifying fields
2024-06-02 05:16:22 +03:00
otavepto
2ede507e96
* refactor Steam_Client
class implementation, by moving all interfaces getters into a separate .cpp file
...
* use C++ casts instead of C-Style casts, allowing the compiler to throw errors for invalid usages/casts
2024-05-05 17:20:18 +03:00
otavepto
e5d1a8bda7
separate .h/.cpp files
2024-05-03 03:33:46 +03:00
otavepto
68a65696e5
don't use global appdata path in matchmaking + matchmaking_servers, instead used current/active save directory, in case we're using local_save_path
2024-04-23 02:16:02 +02:00
otavepto
893f566375
workaround to make Steam Input work, not guaranteed
2024-04-20 01:13:10 +02:00
otavepto
aa53202022
some refactoring
2024-04-20 01:09:55 +02:00
otavepto
484fc2a982
* set these env vars for a more accurate emulation:
...
- `SteamAppUser`
- `SteamUser`
- `SteamClientLaunch`
- `SteamEnv`
- `SteamPath`
2024-04-13 17:35:10 +02:00
otavepto
ca8fb4bc35
increase run callbacks background thread polling time to ~200ms
2024-04-12 10:25:34 +02:00
otavepto
f315bec961
more callbacks
2024-04-11 14:08:04 +02:00
otavepto
4d895b63b0
more accurate implementation for callbacks and call results in UserStats
and GameServerStats
interfaces
2024-04-11 06:40:29 +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
53533ee4af
don't bypass local_storage in steam_friends class
2024-04-10 11:05:26 +02:00
otavepto
392305c1e3
run the background thread for callbacks earlier inside Steam_Client::ConnectToGlobalUser()
...
since some games don't call `SteamAPI_RunCallbacks()` or `SteamAPI_ManualDispatch_RunFrame()` or `Steam_BGetCallback()`
hence all run_callbacks() will never run, also networking callbacks won't run
2024-04-06 08:30:08 +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
b6c7df40b6
* implemented the missing interface ISteamGameServerStats
, allowing game servers to exchange user stats with players
...
* add rmCallback() to networking
* refactor gameserver_stats into a separate .cpp file
2024-03-26 21:39:52 +02:00
otavepto
75bb4ff03d
* missing delete for ubc_bridge in steam_client
...
* Steam_UserStats: use const ref when getting the stats list/map
* Steam_UserStats: don't fail in `GetStat()`/`GetAchievement()` if output buffer is null
* change datatype for default int stat, should be signed
* some logging & comments
2024-03-26 21:39:52 +02:00
otavepto
166e7db122
more logging
2024-03-20 00:25:54 +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
db07e4aadf
in Steam_Utils::IsAPICallCompleted initialize the pFailed param to false
2024-03-16 07:14:04 +02:00
otavepto
09979e8eca
add a param to prevent running the callbacks background thread, for manual dispatch
2024-03-16 05:19:04 +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
2020c514d1
prefix a debug message
2024-03-09 13:47:59 +02:00
otavepto
6a5fbf2b7d
formatting
2024-03-08 18:13:29 +02:00
otavepto
43debcbaf8
* local storage: allow files in root of user data
...
* common mods subscription state between ugc and remote storage
* ugc: implement SetUserItemVote(), GetUserItemVote(), AddItemToFavorites(), RemoveItemFromFavorites(), favorite mods list is now save in `favorites.txt` in the user data folder
* ugc: make sure returned mod folder from GetItemInstallInfo() is null terminated & validate arg
2024-01-20 18:46:43 +02:00
otavepto
0d1e54e9a2
* a working impl to bridge ugc/remote_storage as suggested by Detanup01
...
* edits by Kola124 + other changes in the settings parser
* random ugc mod handle at object creation
* file size using std::filesystem + fix warnings + some print + arg validation
2024-01-20 18:46:43 +02:00
otavepto
ab99591483
stub for appticket
2024-01-19 04:28:03 +02:00
otavepto
c37299013c
consistency with interfaces are accessed/casted
2024-01-05 22:10:30 +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
otavepto
d02f32327e
more accurate implementation for Steam_Client::BReleaseSteamPipe(), return true if the pipe was released successfully
2023-12-20 05:30:21 +02:00
otavepto
f397f73644
add missing env var "SteamOverlayGameId" to steam_client and client_loader
2023-12-20 05:30:21 +02:00
a
0ffc15352c
SDK v1.58a + some fixes to the APIs
2023-12-14 04:50:31 +02:00
Mr_Goldberg
475342f0d8
SDK 1.56 and 1.57
2023-05-08 22:36:51 -04:00
Mr_Goldberg
7163daa6c1
Destroy client, network sockets and other objects on shutdown.
2022-08-10 03:24:29 -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
d3e8a701dd
All interface versions from sdk 1.0 and up are now supported.
2022-07-31 15:49:45 -04:00
Mr_Goldberg
03426b217d
Set the appid env variables.
2022-05-29 15:45:39 -04:00
Mr_Goldberg
a8c03fe8cd
Fix crash with flat api.
2022-05-23 01:30:36 -04:00
Mr_Goldberg
5533a9d5b0
Make gameserver and client interfaces share the same socket pool.
...
Some games depend on this behavior.
2022-01-26 12:03:08 -05:00
Mr_Goldberg
1a411405e6
SDK 1.53 update.
2022-01-25 15:49:26 -05:00
Mr_Goldberg
98b149b9b6
SDK 1.52
2021-12-06 16:51:17 -05:00