788 Commits

Author SHA1 Message Date
universal963
ff5ef4f721
One more fix 2024-10-15 23:45:32 +08:00
universal963
4823a2be70
Fix possible memory leak 2024-10-14 13:40:21 +08:00
a
2d69eb2164 implement ISteamAppDisableUpdate001 2024-10-09 22:34:03 +03:00
universal963
cbef1d49e9 Correct undocumented api in ISteamNetworkingSockets010 and ISteamNetworkingSockets011 2024-09-16 13:06:42 +08:00
M4RCK5
a68259d7cd
MELTY BLOOD TYPE LUMINA Fix
[Requested by wizark](https://cs.rin.ru/forum/viewtopic.php?p=3124996#p3124996)
2024-09-14 01:59:57 -03:00
Detanup01
dcc1a5c63f
Merge pull request #35 from Sak32009/patch-stb-image-resize2-as-static
compile stb_image_resize2 as static library
2024-09-02 10:46:35 +02:00
Sak32009
b3582bf31c compile stb_image_resize2 as static library 2024-09-01 08:17:23 +02:00
Sak32009
c3d8217629 fixed msbuild warnings 2024-09-01 07:24:16 +02:00
universal963
fd1af0d7ff
More accurate api behaviors 2024-08-27 02:08:13 +08:00
Sak32009
935d3405a9 fix msbuild warnings 2024-08-24 19:57:23 +02:00
Detanup01
f981989926
Merge pull request #27 from otavepto/remote_aa/patch-overlay-background-upload
Dramatically decrease the startup locking/halt time when the overlay is enabled
2024-08-22 20:39:06 +02:00
a
4017266241 * deprecate lazy_load_achievements_icons in favor of paginated_achievements_icons
* new option `upload_achievements_icons_to_gpu` in `configs.main.ini` which controls whether the overlay should upload the achievements icons to the GPU and display them or not
* synchronize overlay proc with the periodic steam callback in a better way to avoid FPS drop
* prevent overlay flickering regression
* upload achievements icons to the GPU in the overlay proc periodically, this dramatically decreased the startup locking/halt time
* fix a potential deadlock scenario in the overlay as a result of synchonizing with 2 mutex objects
2024-08-21 23:56:52 +03:00
a
4b9f88d8ec * change return type of all client functions from bool to steam_bool to avoid inconsistency problem in the client library
* implement missing client functions
  - `Breakpad_SteamSendMiniDump()`
  - `Steam_IsKnownInterface()`
  - `Steam_NotifyMissingInterface()`
2024-08-21 22:45:02 +03:00
Detanup01
a8bebdde0a
Merge pull request #7 from otavepto/patch-game-stats-csv
Allow saving stats from `ISteamGameStats` to .csv files
2024-08-18 20:53:05 +02:00
Detanup01
c1a3856b20
Merge pull request #12 from Sak32009/dev
Updated third-party and libs deps + improved package_win_release.bat and build_win_premake.bat + added generate_credits.bat from SOURCE.txt files.
2024-08-18 20:49:58 +02:00
Detanup01
557aa0237f
Merge pull request #10 from otavepto/patch-steam-http
Fixes for `Steam_Http` class
2024-08-18 20:49:37 +02:00
Detanup01
f1d4ba689b
Merge pull request #9 from otavepto/patch-user-stats-icon
Implement `Steam_User_Stats::GetAchievementIcon()`
2024-08-18 19:02:45 +02:00
Sak32009
f4d9f23ac6 update stb lib 2024-08-18 11:05:49 +02:00
a
6328061212 fix vs warnings 2024-08-18 05:07:15 +03:00
a
6066d0cbe8 move the ini option steam_game_stats_reports_dir to the section [main::misc] 2024-08-18 05:06:53 +03:00
a
a372a2ddb4 save statistics from ISteamGameStats to disk in a csv file 2024-08-18 05:06:20 +03:00
a
a647c6cfdd new ini option steam_game_stats_reports_dir to define a folder where statistics from ISteamGameStats will be saved 2024-08-18 05:06:14 +03:00
a
97bec67073 split steam_user_stats class into multiple files for readability 2024-08-18 05:02:40 +03:00
a
530a26f07b * don't load achievements icons in the constructor of steam_user_stats, instead wait for the next call to the run callback
* fix a bug where loaded image handle wasn't being saved
2024-08-18 05:01:46 +03:00
a
573e17b45a * new option to lazy load achievements icons in memory when they're requested, rather than loading them on the next call to the run callback
* move stats options in the ini to a separate section [main::stats]
2024-08-18 05:01:39 +03:00
a
167a64a496 generate random number for each debug log file 2024-08-18 05:01:32 +03:00
a
e04b6c9575 use a global constant for invalid image handle 2024-08-18 05:01:18 +03:00
a
4e5aa8085e * implement Steam_User_Stats::GetAchievementIcon()
* load all achievements icons in memory when loading the achievements schema
2024-08-18 05:00:21 +03:00
a
4d06c010a3 * encapsulate image load/get functions + fix access in current code
* don't add new image resource if current one exists
2024-08-18 04:59:52 +03:00
a
c65e0fc36a fix a bug in Steam_HTTP::SendHTTPRequest() where the ID of the triggered call-result from online requests was completely unrelated to the original request, resulting in timeout 2024-08-18 04:54:21 +03:00
a
afee4c4a72 workaround a problem in Steam_HTTP::SetHTTPRequestHeaderValue() where some games set a cache-control policy which allows only reponses from previous requests 2024-08-18 04:54:14 +03:00
a
d7fb8403d1 bypass ssl verification in steam_http when downloading requests 2024-08-18 04:53:40 +03:00
a
ed1eec0983 fix a buffer overrun bug in steam_http where the buffer size wasn't set correctly 2024-08-18 04:53:34 +03:00
a
50066cc105 verbose curl logging 2024-08-18 04:52:37 +03:00
a
72f4b85924 proper handling for SteamNetworkingSockets007 2024-08-18 04:48:57 +03:00
a
e8d36b3353 implement undocumented interfaces ISteamRemoteStorage015 + ISteamUGC011 2024-08-18 04:48:40 +03:00
a
b8869b60b0 implement undocumented interfaces ISteamNetworkingSockets010 + ISteamNetworkingSockets011 2024-08-18 04:48:31 +03:00
a
a450edfe28 minor missing implementation in CreateInterface() 2024-08-18 04:46:47 +03:00
Detanup01
79ee1dd707
Merge pull request #4 from otavepto/patch-2
Allow disabling the internal functionality which reports an achievement progress for stats that are tied to achievements
2024-08-03 20:54:11 +02:00
a
ee5c2bb4f9 allow disabling the internal functionality which reports an achievement progress for stats that are tied to achievements 2024-08-03 21:16:49 +03:00
a
97032cdc33 fix an inverted condition when parsing the ini option matchmaking_server_list_actual_type in configs.main.ini 2024-08-03 19:23:46 +03:00
a
bf55cecac2 fix a bad print modifier resulting in crash 2024-08-03 16:57:30 +03:00
a
26905df507 * add a new timeline state when game calls Steam_Timeline::SetTimelineGameMode()
* mimic real behavior in `Steam_Timeline::AddTimelineEvent()`
2024-08-03 16:57:30 +03:00
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
19b5ea2e23 * add missing callback to steam_friends
* remove duplicate callback triggered in `Steam_Friends::SetPersonaName()`
2024-08-03 16:57:30 +03:00
a
f73d73e1bd * add missing callback to steam_user
* fix a potential problem in `Steam_User::GetUserDataFolder()` where an incomplete path might be copied
2024-08-03 16:57:30 +03:00
a
7b9bc9b3fe fix a scenario where call results might not be triggered in steam_http if the function arg was null 2024-08-03 16:57:30 +03:00
a
c207359bf7 add potentially missing callback to steam_networking_socketserialized 2024-08-03 16:57:30 +03:00
a
f14d9e8bf8 add missing callback to steam_utils 2024-08-03 16:57:30 +03:00
a
3c938208c2 add missing callbacks to steam_ugc 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
a
c61294bdcd * fix crash due to invalid usage of union in steam_remote_storage
* fix invalid overlapping of data in steam_remote_storage due to invalid usage of union
2024-08-03 16:57:30 +03:00
a
3369c046a9 fix crash due to invalid usage of union in steam_gamestats 2024-08-03 16:57:30 +03:00
Detanup01
fa75c9acb9
fixing STEAMTIMELINE_INTERFACE hopefully 2024-07-25 21:25:30 +02:00
Detanup01
5028aade9e
Fixing Steam Datagram Error. 2024-07-25 15:14:09 +02:00
Detanup01
4c0e1558ea
Adding STEAMTIMELINE_INTERFACE_VERSION check in GetISteamGenericInterface 2024-07-24 12:19:08 +02:00
otavepto
fd0126ee25 change Steam_Apps::SetDlcContext() according to review notes by universal963 2024-07-07 02:39:21 +03:00
otavepto
61d519bf0e fix the condition of Steam_Apps::SetActiveBeta() as noted by universal963 + remove deprecated build_id from gen_emu_config 2024-07-07 02:39:21 +03:00
otavepto
9443afbd00 * add 2 new properties to mods.json min_game_branch and max_game_branch according to sdk v1.60, no idea what they do
* make sure buffer is null terminated in `Steam_UGC::GetQueryUGCPreviewURL()`
* implement 2 new useless ugc stuff + use an already made function to check for handle validity
2024-07-07 02:39:21 +03:00
otavepto
3f7ec00719 * parse and use branches data from branches.json
* deprecate build_id in the .ini file
* change Steam_Apps::SetDlcContext() to mimic Steam_Apps::BIsDlcInstalled(), not sure if that's correct
2024-07-07 02:39:21 +03:00
otavepto
7f940079d1 * update the method of reading json to be less wasteful + get path as const ref whe loading json
* fix vs warnings in gamestats interface
* refactor logger slightly
2024-07-07 02:39:21 +03:00
otavepto
6c7f263810 thanks visual studio, dubious in so many ways! 2024-07-07 02:39:21 +03:00
otavepto
9076519a3c missing class resolution operator + todo/notes 2024-07-07 02:39:21 +03:00
otavepto
f3c6707219 add missing inheritance from steam ugc 018 + new apis declarations 2024-07-07 02:39:21 +03:00
otavepto
7f59c27adc add missing inheritance from steam video 002 2024-07-07 02:39:21 +03:00
otavepto
a307cc13e5 new option in mods.json for the new param of total files sizes 2024-07-07 02:39:21 +03:00
otavepto
f5ae22a1e6 basic impl for steam timeline 2024-07-07 02:39:21 +03:00
otavepto
ddda06d248 fix flat api 2024-07-07 02:39:21 +03:00
otavepto
89842a3f76 sanity check the arguments + print debug args + todo notes + add missing semicolon 2024-07-07 02:39:21 +03:00
otavepto
6abb636309 missing declarations + use same #ifdef + remove inline timeline interface accessor 2024-07-07 02:39:21 +03:00
Detanup01
a78a27f21f steam api 1.60 2024-07-07 02:39:21 +03:00
otavepto
6840b20bcb fix conditions for:
* Steam_Apps::BIsSubscribedApp
* Steam_Apps::BIsDlcInstalled
* Steam_Apps::BIsAppInstalled
2024-06-30 05:46:47 +03:00
otavepto
2556db1f84 use keyword auto for simplicity and avoiding false positive results when searching via ctrl+f 2024-06-30 03:18:39 +03:00
otavepto
638eb78f0f use the new logger in all dll code base 2024-06-30 03:18:39 +03:00
otavepto
26b8baefa6 use utfcpp lib to convert utf8<->utf16 strings instead of Windows specific apis 2024-06-30 03:18:39 +03:00
otavepto
e03ed9e1cd separate header file for OS detection 2024-06-30 03:18:39 +03:00
otavepto
92a38b2f2f settings_parser: use multibyte std::string 2024-06-30 03:18:39 +03:00
otavepto
e35e2e5a4e compare language value of steam_settings/achievements.json case-insensitive 2024-06-30 03:18:39 +03:00
otavepto
433dc405bd gen_emu_config: make sure each line in supported languages is lowercase 2024-06-30 03:18:39 +03:00
otavepto
4b49edbf5e improve usage of std::string_view, passing them as const ref is useless since they don't allocated anything and cheap to copy (no allocations) 2024-06-30 03:18:39 +03:00
otavepto
caea115cf7 update readmes + changlog & credits 2024-06-24 22:27:31 +03:00
otavepto
02432c7f8f fix that comment 2024-06-23 19:16:44 +03:00
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