Commit Graph

706 Commits

Author SHA1 Message Date
otavepto
6ee0628750 add a new option save_only_higher_stat_achievement_progress and enable it by default toa void progress spam from stats which are tied to an achievement 2024-06-23 19:16:44 +03:00
otavepto
ace1a591e5 in Steam_User_Stats::ResetAllStats() reset progress only if it was defined in the original schema 2024-06-23 19:16:44 +03:00
otavepto
6bf45a35e2 avoid a scenario where progress might exist but not max_progress is user data 2024-06-23 19:16:44 +03:00
otavepto
de03379602 add an option to allow the game to change unknown stats 2024-06-23 19:16:44 +03:00
otavepto
b67cb48f38 change default notification duration 2024-06-21 21:53:53 +03:00
otavepto
fcb40ac86d allow specifying durations for each notification type 2024-06-20 21:49:22 +03:00
otavepto
0e47a2bd73 revert sharing progress with gameserver, pointless 2024-06-19 15:09:19 +03:00
otavepto
cd21b54e6b * always trigger UserStatsStored_t and UserAchievementStored_t callbacks in Steam_User_Stats::IndicateAchievementProgress() even if value wasn't updated, games my halt otherwise
* return false in Steam_User_Stats::GetAchievementProgressLimits() if the achievement has no progress
* share progress info with gameservers
2024-06-19 15:09:19 +03:00
otavepto
aa791b5256 * remove invalid condition when resetiing stats, only write to disk and share with gameserver if value isn't already the default
* try-catch access to progress and max_progress durong construction since they throw exception for achievements with no progress, making them standalone/safe
2024-06-19 15:09:19 +03:00
otavepto
9e15af4ec8 fix the conditions for progress indication + remove invalid code when resetting stats 2024-06-19 15:09:19 +03:00
otavepto
706422661a wrap proto includes to avoid build warnings 2024-06-16 19:09:01 +03:00
otavepto
eb78b5bf0b wrap mbedtls includes to avoid build warnings 2024-06-16 19:09:01 +03:00
otavepto
3bc609c9a3 move gamepad to libs/ 2024-06-16 19:09:01 +03:00
otavepto
d1d5416d62 implement isteamgamestats 2024-06-16 19:08:44 +03:00
Detanup01
65521debe6 fix those requests 2024-06-14 19:10:12 +03:00
Detanup01
4390cc1616 isteamvideo001 interface added 2024-06-14 19:10:12 +03:00
otavepto
0e7c4fef8b clear achievement progress in Steam_User_Stats::ResetAllStats() 2024-06-08 18:04:36 +03:00
otavepto
bb57733a8a ensure all default values are added to a user achievement on load 2024-06-08 18:04:10 +03:00
otavepto
c1cf889751 ensure binary mode for json read/write 2024-06-08 18:03:02 +03:00
otavepto
b75b5ee282 exit on missing interface instead of returning a pointer 2024-06-08 16:14:12 +03:00
otavepto
f2e9062242 refactor the PRINT_DEBUG, only one definition, and make the function name macro public 2024-06-07 20:20:41 +03:00
otavepto
2cd5f15376 allow the achievement clear function to reflect the status in the overlay 2024-06-07 19:57:14 +03:00
otavepto
06189e303f don't allow achievement trigger to propagate its error to next lines, this allows ahievements to be initialzied properly 2024-06-07 19:56:35 +03:00
otavepto
f7c7d79e0a restore accidentally removed flag for ipv6 for SteamClient020 + VS warning fix + small refactor 2024-06-07 19:55:30 +03:00
otavepto
57846cb133 fix more VS warnings 2024-06-06 23:19:13 +03:00
otavepto
05b6ccdcf8 implement the other overload of Steam_User_Stats::GetAchievementProgressLimits() 2024-06-06 23:19:13 +03:00
otavepto
9ee40181b1 * allow test achievement to include a progress randomly
* allow showing the progress indicator in the achievement notifications, not only in the achievements list
* don't play sound when showing progress notifications
* disable progress notifications if the setting in the .ini was set
2024-06-06 23:19:13 +03:00
otavepto
663f1a9350 new option to disable overlay progress notifications 2024-06-06 23:19:13 +03:00
otavepto
a384994ac2 fix gameid decoding bug in matchmaking servers 2024-06-04 21:58:04 +03:00
otavepto
c28a1f1f52 fix more VS2022 warnings 2024-06-04 21:58:04 +03:00
otavepto
5268683850 * make the overlay object oriented, that way when app shutdown then re-init steam api it would hold its own local state, avoiding racing troubles
* return early if the overlay was disabled without locking
* remove external checks for the disable_overlay flag, check for it inside the overlay code
2024-06-04 21:58:04 +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
d769cbe419 log crash dump messages 2024-06-02 21:24:55 +03:00
otavepto
ad84a60912 properly declare then define the damn export g_pSteamClientGameServer, microsoft's compiler is dubious 2024-06-02 09:11:06 +03:00
otavepto
5def4c4148 fix api build error because of g_pSteamClientGameServer (defined as export & initialized) 2024-06-02 08:28:17 +03:00
otavepto
e63dcc8811 do a sanity check when shutting down, some apps despite being a regular client (not a gameserver) will still call gameserver_shutdown() 2024-06-02 05:16:22 +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
5da9e44344 static_cast instance getter vs c-style cast 2024-06-02 05:16:22 +03:00
otavepto
cae3e5617f added a way to pretty-print functions for MinGw 2024-06-02 05:15:45 +03:00
otavepto
d2ee753b78 win32_lean_and_mean 2024-06-02 05:15:45 +03:00
otavepto
e38172dc1b fix steamclient_experimental compilation with mingw 2024-06-02 05:15:45 +03:00
otavepto
9289cc9528 add missing functions (SDK) defs for msys2 (GNU/Windows) on windows 2024-06-02 05:15:45 +03:00
otavepto
10f1e89736 fix a buffer overrun in Steam_User_Stats::UpdateAvgRateStat 2024-06-02 05:15:45 +03:00
otavepto
36943fbfe6 trial to see if this dummy implementation will fix msys2 compilation on windows 2024-06-02 05:15:45 +03:00
otavepto
77c2d76bb2 fix inverted condition resulting in a missing import for the api dll 2024-06-01 02:19:42 +03:00
Detanup01
1fde9f21f1 addrsize fix on network 2024-05-27 23:24:38 +03:00
Detanup01
e4f488bbdc Fix errrors in network.
(linux and windows C++ things arent the same [I HATE BOTH OF YOU WHY NOT STANDARDIZE!])
revert "&" checks on type instead of "=="
2024-05-27 23:24:38 +03:00
Detanup01
7c5b4e5325 Its done
(only left like the >or < comparision with unsigned/signed)
steam_matchmaking.cpp(241,40) has C4244 issue, look into it!
2024-05-27 23:24:38 +03:00
Detanup01
3a6a7cef73 more stuff 2024-05-27 23:24:38 +03:00
Detanup01
6a464fd295 fixing some errors via types
(might ebe worng)
2024-05-27 23:24:38 +03:00
otavepto
6c1ea7edd5 solve compile error due to usage of microsoft-specific constructor when building on win with msys2 2024-05-22 05:29:20 +03:00
otavepto
1f51518734 use the macro extension ##__VA_ARGS on windows to allow gcc compilation via msys2 2024-05-22 03:27:47 +03:00
otavepto
7b3b9f89ee fix compilation when gnu++17 c++ variant is used on linux 2024-05-21 23:38:22 +03:00
schmurger
7b37cdd181 Use integer instead of floats for achievement progress. 2024-05-21 19:29:20 +03:00
schmurger
5aa1e2d08d Initialize user achievement stats correctly 2024-05-21 19:29:20 +03:00
schmurger
e30cc2957f Removed update_achievement_progress function 2024-05-21 19:29:20 +03:00
schmurger
6b26ca1b4c Fix build 2024-05-21 19:29:20 +03:00
schmurger
b0cffd485b Added realtime progress update 2024-05-21 19:29:20 +03:00
schmurger
4e8f2505b5 Add achievement progress 2024-05-21 19:29:20 +03:00
otavepto
fd522b36c9 fix usage of uninit var 2024-05-17 13:53:16 +03:00
otavepto
f2579ee7f8 nah screw it 2024-05-12 19:38:16 +03:00
otavepto
8e73e0c516 todo note to detect macos during build 2024-05-12 05:33:23 +03:00
otavepto
25043697c3 ensure GNUC is defined for linux builds + warn for unrecognized os 2024-05-12 05:03:56 +03:00
otavepto
efbd091a80 Revert all fake changes 2024-05-11 17:38:32 +03:00
otavepto
a65d6852ad simulate any change 2024-05-11 17:38:32 +03:00
Detanup01
c477a031ac steam screenshot 2024-05-10 19:43:03 +03:00
Detanup01
a01c35187d note on interface versions 2024-05-10 19:15:27 +03:00
otavepto
27a8bba702 * corrected callbacks vs call results + a missing callback in UGC
* another missed spam in overlay
2024-05-07 06:22:34 +03:00
otavepto
6fbc37630b * special function for the overlay Steam_Friends::get_friend_rich_presence_silent to avoid spamming the debug log
* refactor private method name
2024-05-06 21:29:59 +03:00
otavepto
f660b29100 decrease this spam debug message 2024-05-06 21:16:45 +03:00
otavepto
d662d0ec8e initialize all temp pointers to null 2024-05-05 17:20:18 +03:00
otavepto
e92bf25f02 more missed c-style casts, no more (void*) casts are left 2024-05-05 17:20:18 +03:00
otavepto
856449597e print k_iCallback for call result and call complete 2024-05-05 17:20:18 +03:00
otavepto
86fbd21ec0 reduce this annoying spam 2024-05-05 17:20:18 +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
60e003a925 added missing inheritance from interface ISteamUser022 to the class Steam_User 2024-05-05 17:20:18 +03:00
otavepto
06c2bfd0a3 lots of comments and notes in the callsystem 2024-05-05 17:20:18 +03:00
otavepto
e5d1a8bda7 separate .h/.cpp files 2024-05-03 03:33:46 +03:00
otavepto
6e4c42410c * added 2 new options to the overlay appearance Notification_Margin_x and Notification_Margin_y
* updated the built-in overlay appearance & the example overlay ini file with a darker look and feel + changed some defaults
2024-04-30 08:38:38 +03:00
otavepto
5cd5f814e6 * use corresponding steam types for auth functions
* corrected the ticket size in `Auth_Manager::getWebApiTicket`
2024-04-30 00:26:43 +03:00
Detanup01
d6a4b7f0ba no more copy if the size is bigger than the ticket 2024-04-29 22:52:33 +03:00
Detanup01
be42ac9b13 Checking if its bigger than max
and returning 0 if it is
2024-04-29 22:52:33 +03:00
Detanup01
5e4eafd6fb ) bonus removed 2024-04-29 22:52:33 +03:00
Detanup01
5d3a749fe1 Fix allocating the size for the ticket. 2024-04-29 22:52:33 +03:00
otavepto
e2980d100e * use std::filesystem::u8path to support utf-8
* don't sanitize paths in settings_parser since it removes the colon ':', preventing the usage of absolute paths on Windows like 'C:\aa\bb'
2024-04-28 19:44:56 +03:00
otavepto
303cdd2878 * don't merge steam preowned ids with user dlc list or installed apps list
* disable steam preowned ids by default and make it an opt-in option
* deprecate `disable_steam_preowned_ids` in favor of `enable_steam_preowned_ids`
2024-04-28 19:44:10 +03:00
otavepto
9f1e09b97a * fix the animation timing, the notification start_time must be in millisec to avoid losing precision
* convert the animation duration to millisec once during settings parsing
* decrease the notification margin from 10.0 to 5.0, it looked way shifted on larger screens
* pass around instances on std::chrono instead of float, use float in the final stage when processing/operating-on the time (if needed)
* decrease the animation duration to 0.35 sec, looks more swishy!
2024-04-28 10:30:01 +03:00
schmurger
2eab708bb6 Added configuration for notification animation duration 2024-04-28 10:30:01 +03:00
otavepto
1b07a290f2 some logs 2024-04-27 01:52:17 +03: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
12fe4b9796 minor formatting fix 2024-04-24 19:52:05 +02:00
schmurger
d0193b953d Improve achievement notification 2024-04-24 19:52:05 +02:00
otavepto
36ccb0b34c fixed the behavior of local save + prevent loading global settings/configs in that case for a true portable behavior 2024-04-23 05:03:39 +02:00
otavepto
ad07ff0fb1 revert the changes to the old steam interfaces parser 2024-04-23 04:58:36 +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
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