524 Commits

Author SHA1 Message Date
otavepto
e62f9251df allow injecting id string during build via command line switch +build_str <str> 2024-04-10 11:05:26 +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
048b9a94cd make sure allocated data ptr in null (not garbage) 2024-04-10 11:05:26 +02:00
otavepto
d802dba47d fix size check bug in matchmaking_servers 2024-04-10 11:05:26 +02:00
otavepto
4afa1926ad refactor settings parser code + remove deprecated setting for local save location, already saved in local_storage 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
53533ee4af don't bypass local_storage in steam_friends class 2024-04-10 11:05:26 +02:00
otavepto
28da5747db const ref args in some places 2024-04-09 19:10:04 +02:00
otavepto
2deda8a2eb disable the overlay by default, and only enable it via the config file enable_experimental_overlay.txt, avoiding many crashes 2024-04-09 15:45:54 +02:00
otavepto
b4d061e949 force add gameserver if always_lan_type was specified, not necessary but just in case 2024-04-09 11:13:36 +02:00
otavepto
c48b5c4a37 note for reference 2024-04-08 00:33:10 +02:00
otavepto
4f0df79940 properly format some debug messages in auth 2024-04-06 22:58:47 +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
0b5d38ae7e * properly implement Steam_Apps::GetAvailableGameLanguages()
* ensure current emu language is inside supported_languages list
2024-04-06 08:30:08 +02:00
otavepto
8576d149d3 remove functions names prefixes in debug logs 2024-04-06 08:30:08 +02:00
otavepto
28cdb2c74e output func name in debug log 2024-04-06 08:30:07 +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
b5b9dfe437 descriptive var name for these tests 2024-04-02 22:33:04 +02:00
otavepto
3cedf8dbe3 refactor line ending + error string 2024-04-02 02:48:57 +02:00
Detanup01
7e3f2e0900 i hate myself 2024-04-02 01:15:42 +02:00
Detanup01
bfd2235684 Update for 159 2024-04-02 01:15:42 +02:00
otavepto
0672139f46 properly implement Steam_User_Stats::ResetAllStats() 2024-04-01 19:23:55 +02:00
otavepto
51197c5348 allow user_stats to send data immediately via config file 2024-04-01 19:23:55 +02:00
otavepto
0ed6dc6808 prefer udp when sending leaderboards 2024-04-01 19:23:55 +02:00
otavepto
e31f030d55 allow gameserver to send data as soon as possible via immediate_gameserver_stats.txt 2024-04-01 19:23:55 +02:00
otavepto
2f5b0a4bea sanity check in gameserver_stats if the msg source steamid was similar to us! 2024-04-01 19:23:55 +02:00
otavepto
e143a6dd82 * new function in networking to send to all gameservers only
* broadcast user stats with gameservers only
2024-04-01 19:23:55 +02:00
otavepto
04e7a7d476 opt-in sharing leaderboards instead of opt-out 2024-04-01 19:23:55 +02:00
otavepto
93172e642e allow disabling the new options via config files 2024-04-01 19:23:55 +02:00
otavepto
a36cadbf12 allow empty board entries, don't force and entry for current user 2024-04-01 19:23:55 +02:00
otavepto
4d03c5b402 fix a memory leak 2024-04-01 19:23:55 +02:00
otavepto
d8a91edcf5 only accept leaderboards updates from the same appid 2024-04-01 19:23:55 +02:00
otavepto
caa9401369 * for gameserver_stats & user_stats: distinguish between stats update requests from server and client, avoiding a scenario where a client would overwrite another client's stats
* fixed linux compilation error
2024-04-01 19:23:55 +02:00
otavepto
995a296e59 fix that clang warning 2024-04-01 19:23:55 +02:00
otavepto
d2f23fbea5 share leaderboards scores with connected players, adjust players ranks locally, and sort entries as needed by the game 2024-04-01 19:23:55 +02:00
otavepto
c17cb8a4f7 in gameserver_stats: remove & timeout pending requests if the user disconnected 2024-04-01 19:23:55 +02:00
otavepto
f423b07eef * common function to do case insensitive compare
* some const + ref in different places
* some logs, comments & refactoring
2024-04-01 19:23:55 +02:00
otavepto
4809a7565c * separate the config file disable_leaderboards_create_unknown.txt
* some refactoring
2024-03-26 23:48:57 +02:00
otavepto
af77ce4f5a log messages 2024-03-26 21:39:52 +02:00
otavepto
dfbd928311 decrease min server latency to 2ms 2024-03-26 21:39: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
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
2427ee12fd * use const ref for get/set env var
* lock global mutex when generating steam api call id
2024-03-26 21:39:52 +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
c193a8d4ce more debug messages in matchmaking 2024-03-17 04:29:49 +02:00