Commit Graph

1154 Commits

Author SHA1 Message Date
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
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
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
6b721266ea allow players connections even when the overlay isn't ready
workaround #107
2024-03-26 01:33:18 +02:00
otavepto
ac951f1a7d missing flag for win build 2024-03-25 01:27:12 +02:00
otavepto
5b55d448f7 * new stub dll GameOverlayRenderer for the experiemntal steamclient setup
* for windows build script: prevent permissive language extensions via the compiler flag `/permissive-`
2024-03-21 00:50:58 +02:00
otavepto
166e7db122 more logging 2024-03-20 00:25:54 +02:00
otavepto
a74f986b97
Update README.md 2024-03-19 13:27:28 +02:00
otavepto
aba14fed34 small correction in the main readme 2024-03-19 00:33:39 +02:00
otavepto
aa81da8482 update changelog 2024-03-19 00:30:00 +02:00
detiam
5708cbdc72 optimize deps installation
- add `-packages_skip`
- able run without root
2024-03-18 23:44:02 +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
16a241599f updated stub drm patterns (for v2) and added a workaround for older variants 2024-03-18 03:32:37 +02:00
detiam
648c19fd99 Update README.md
- correct some code block
2024-03-18 03:01:18 +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
2ba6f90904 * note about missing disable_lobby_creation.txt file
* updated Win deps build script to match the Linux one
* updated credits + readme
2024-03-18 00:58:48 +02:00
detiam
d6188a299b fix linking errors when build on archlinux 2024-03-18 00:29:41 +02:00
otavepto
afeb6638e4 added missing example file 2024-03-17 21:45:54 +02:00
otavepto
ff934bd9e9 update date 2024-03-17 04:37:49 +02:00
otavepto
c193a8d4ce more debug messages in matchmaking 2024-03-17 04:29:49 +02:00
otavepto
5417e0e4c2 Steam_Apps::GetCurrentBetaName() make sure the out buffer is null terminated 2024-03-17 01:58:57 +02:00
otavepto
f00fdac3ac update comment + changelog 2024-03-17 01:22:18 +02:00
bitsynth
5a7fa86310 fix Age of Empires 2: Definitive Edition
this game expects the current app to exist as a owned DLC. if not true, the game will only load the "Return of Rome" game mode, if that DLC is owned, or load the base game with most options disabled if it is not
2024-03-17 01:15:08 +02:00
otavepto
6611c73448 fix that printf warning 2024-03-16 11:09:28 +02:00
otavepto
55e75655b0 update chnagelog 2024-03-16 10:55:59 +02:00
otavepto
db07e4aadf in Steam_Utils::IsAPICallCompleted initialize the pFailed param to false 2024-03-16 07:14:04 +02:00
otavepto
325631e1fd * run SteamAPI_ManualDispatch_Init() only once
* don't run callbacks background thread when calling Steam_BGetCallback()
2024-03-16 05:43:44 +02:00
otavepto
28f097c9c1 log when adding callresult 2024-03-16 05:41:05 +02:00
otavepto
37261bedb8 * don't run callbacks in steam_utils::runframe()
* initialize a param in steam_utils::isapicompleted()
2024-03-16 05:20:40 +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
7700cd5dda log message 2024-03-15 15:40:33 +02:00
otavepto
3dbfbb76b1 * refactor steam_utils into a separate cpp file
* call RunCallbacks() inside Steam_Utils::RunFrame()
2024-03-15 02:43:59 +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
1518075b17 spelling 2024-03-11 01:40:47 +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
2020c514d1 prefix a debug message 2024-03-09 13:47:59 +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