diff --git a/post_build/steam_settings.EXAMPLE/configs.app.EXAMPLE.ini b/post_build/steam_settings.EXAMPLE/configs.app.EXAMPLE.ini index ce0f49f5..3a672775 100644 --- a/post_build/steam_settings.EXAMPLE/configs.app.EXAMPLE.ini +++ b/post_build/steam_settings.EXAMPLE/configs.app.EXAMPLE.ini @@ -3,7 +3,7 @@ # ################################################################################ # [app::general] -# by default the emu will report a 'non-beta' branch when the game calls 'Steam_Apps::GetCurrentBetaName()' +# by default the emu will report a 'non-beta' branch when the game calls `Steam_Apps::GetCurrentBetaName()` # 1=make the game/app think we're playing on a beta branch # default=0 is_beta_branch=0 diff --git a/post_build/steam_settings.EXAMPLE/configs.main.EXAMPLE.ini b/post_build/steam_settings.EXAMPLE/configs.main.EXAMPLE.ini index dc358743..cac6bc86 100644 --- a/post_build/steam_settings.EXAMPLE/configs.main.EXAMPLE.ini +++ b/post_build/steam_settings.EXAMPLE/configs.main.EXAMPLE.ini @@ -20,7 +20,7 @@ enable_account_avatar=0 # default=0 immediate_gameserver_stats=0 # 1=use the proper type of the server list (internet, friends, etc...) when requested by the game -# 0=always return the type of the server list as "LAN server" +# 0=always return the type of the server list as 'LAN server' # not recommended to enable this # default=0 matchmaking_server_list_actual_type=0 @@ -35,7 +35,7 @@ matchmaking_server_details_via_source_query=0 crash_printer_location=./path/relative/to/dll/crashes.txt [main::stats] -# 1=prevent 'Steam_User_Stats::FindLeaderboard()' from always succeeding and creating the unknown leaderboard +# 1=prevent `Steam_User_Stats::FindLeaderboard()` from always succeeding and creating the unknown leaderboard # not recommended to enable this # default=0 disable_leaderboards_create_unknown=0 @@ -83,11 +83,11 @@ disable_networking=0 # change the UDP/TCP port the emulator listens on, you should probably not change this because everyone needs to use the same port or you won't find yourselves on the network # default=47584 listen_port=47584 -# 1=pretend Steam is running in offline mode, mainly affects the function 'ISteamUser::BLoggedOn()' +# 1=pretend Steam is running in offline mode, mainly affects the function `ISteamUser::BLoggedOn()` # Some games that connect to online servers might only work if the Steam emu behaves like Steam is in offline mode # default=0 offline=0 -# 1=prevent sharing stats and achievements with any game server, this also disables the interface 'ISteamGameServerStats' +# 1=prevent sharing stats and achievements with any game server, this also disables the interface `ISteamGameServerStats` # default=0 disable_sharing_stats_with_gameserver=0 # 1=do not send server details to the server browser, only works for game servers @@ -100,7 +100,7 @@ share_leaderboards_over_network=0 # 1=prevent lobby creation in the Steam matchmaking interface # default=0 disable_lobby_creation=0 -# 1=attempt to download external HTTP(S) requests made via 'Steam_HTTP::SendHTTPRequest()' inside 'steam_settings/http/' folder +# 1=attempt to download external HTTP(S) requests made via `Steam_HTTP::SendHTTPRequest()` inside 'steam_settings/http/' folder # make sure to: # * set disable_lan_only=1 # * set disable_networking=0 @@ -113,11 +113,11 @@ download_steamhttp_requests=0 ############################################ [main::misc] -# 1=force 'ISteamUserStats::SetAchievement()' to always return true +# 1=force `ISteamUserStats::SetAchievement()` to always return true # this is a workaround for some games that otherwise won't work # default=0 achievements_bypass=0 -# force the function 'Steam_HTTP::SendHTTPRequest()' to always succeed +# force the function `Steam_HTTP::SendHTTPRequest()` to always succeed # default=0 force_steamhttp_success=0 # env var 'SteamOverlayGameId' breaks Steam Input when the game is added to Steam as a non-steam game diff --git a/tools/generate_emu_config/_DEFAULT/0/steam_api.7z b/tools/generate_emu_config/_DEFAULT/0/steam_api.7z index 5a4b2f87..3d21d78c 100644 Binary files a/tools/generate_emu_config/_DEFAULT/0/steam_api.7z and b/tools/generate_emu_config/_DEFAULT/0/steam_api.7z differ diff --git a/tools/generate_emu_config/_DEFAULT/0/steam_api.dll b/tools/generate_emu_config/_DEFAULT/0/steam_api.dll index 3aa53d57..51a02055 100644 Binary files a/tools/generate_emu_config/_DEFAULT/0/steam_api.dll and b/tools/generate_emu_config/_DEFAULT/0/steam_api.dll differ diff --git a/tools/generate_emu_config/_DEFAULT/0/steam_api64.7z b/tools/generate_emu_config/_DEFAULT/0/steam_api64.7z index 3ce83742..8b98e6ef 100644 Binary files a/tools/generate_emu_config/_DEFAULT/0/steam_api64.7z and b/tools/generate_emu_config/_DEFAULT/0/steam_api64.7z differ diff --git a/tools/generate_emu_config/_DEFAULT/0/steam_api64.dll b/tools/generate_emu_config/_DEFAULT/0/steam_api64.dll index 6f99f430..bf379837 100644 Binary files a/tools/generate_emu_config/_DEFAULT/0/steam_api64.dll and b/tools/generate_emu_config/_DEFAULT/0/steam_api64.dll differ diff --git a/tools/generate_emu_config/_DEFAULT/1/steam_misc/tools/generate_interfaces/generate_interfaces.7z b/tools/generate_emu_config/_DEFAULT/1/steam_misc/tools/generate_interfaces/generate_interfaces.7z index f22a8221..05e9faab 100644 Binary files a/tools/generate_emu_config/_DEFAULT/1/steam_misc/tools/generate_interfaces/generate_interfaces.7z and b/tools/generate_emu_config/_DEFAULT/1/steam_misc/tools/generate_interfaces/generate_interfaces.7z differ diff --git a/tools/generate_emu_config/_DEFAULT/1/steam_misc/tools/lobby_connect/lobby_connect.7z b/tools/generate_emu_config/_DEFAULT/1/steam_misc/tools/lobby_connect/lobby_connect.7z index b915ab27..f08b7d73 100644 Binary files a/tools/generate_emu_config/_DEFAULT/1/steam_misc/tools/lobby_connect/lobby_connect.7z and b/tools/generate_emu_config/_DEFAULT/1/steam_misc/tools/lobby_connect/lobby_connect.7z differ diff --git a/tools/generate_emu_config/_DEFAULT/1/steam_settings/configs.app.ini b/tools/generate_emu_config/_DEFAULT/1/steam_settings/configs.app.ini index ce0f49f5..3a672775 100644 --- a/tools/generate_emu_config/_DEFAULT/1/steam_settings/configs.app.ini +++ b/tools/generate_emu_config/_DEFAULT/1/steam_settings/configs.app.ini @@ -3,7 +3,7 @@ # ################################################################################ # [app::general] -# by default the emu will report a 'non-beta' branch when the game calls 'Steam_Apps::GetCurrentBetaName()' +# by default the emu will report a 'non-beta' branch when the game calls `Steam_Apps::GetCurrentBetaName()` # 1=make the game/app think we're playing on a beta branch # default=0 is_beta_branch=0 diff --git a/tools/generate_emu_config/_DEFAULT/1/steam_settings/configs.main.ini b/tools/generate_emu_config/_DEFAULT/1/steam_settings/configs.main.ini index 93f5745e..b822babe 100644 --- a/tools/generate_emu_config/_DEFAULT/1/steam_settings/configs.main.ini +++ b/tools/generate_emu_config/_DEFAULT/1/steam_settings/configs.main.ini @@ -15,7 +15,7 @@ steam_deck=0 # 1=enable avatar functionality # default=0 enable_account_avatar=1 -# 1=synchronize user stats/achievements with game servers as soon as possible instead of caching them until the next call to 'Steam_RunCallbacks()' +# 1=synchronize user stats/achievements with game servers as soon as possible instead of caching them until the next call to `Steam_RunCallbacks()` # not recommended to enable this # default=0 immediate_gameserver_stats=0 @@ -35,7 +35,7 @@ matchmaking_server_details_via_source_query=0 crash_printer_location=./EMU_CRASHES.txt [main::stats] -# 1=prevent 'Steam_User_Stats::FindLeaderboard()' from always succeeding and creating the unknown leaderboard +# 1=prevent `Steam_User_Stats::FindLeaderboard()` from always succeeding and creating the unknown leaderboard # not recommended to enable this # default=0 disable_leaderboards_create_unknown=0 @@ -59,12 +59,16 @@ stat_achievement_progress_functionality=1 # also has no impact on the functions which directly change stats, achievements, or achievements progress # default=1 save_only_higher_stat_achievement_progress=1 -# the emulator loads the achievements icons is memory, this is needed for APIs like 'ISteamUserStats::GetAchievementIcon()' -# the loaded icon size is controlled by [overlay::appearance] -> Icon_Size, in configs.overlay.ini -# 1=load icons lazily when they are requested -# 0=load icons as soon as the interface 'ISteamUserStats' is initialized -# default=1 -lazy_load_achievements_icons=1 +# the emulator loads the achievements icons is memory, this is needed for APIs like `ISteamUserStats::GetAchievementIcon()` and the overlay +# the loaded icon size is controlled by [overlay::appearance] -> Icon_Size, in the file configs.overlay.ini +# this value controls how many icons to load each iteration when the periodic callback of the emu is triggered +# or when the app/game calls `SteamAPI_RunCallbacks()` +# each achievement has 2 icons, one when it's locked and another when it's unlocked, so a value of 10 means loading 20 icons +# increasing this value will cause a huge startup delay +# -1=disable this functionality (`ISteamUserStats::GetAchievementIcon()` and the overlay won't be able to use icons) +# 0=load the icon in memory only when it's requested +# default=10 +paginated_achievements_icons=10 [main::connectivity] # 1=prevent hooking OS networking APIs and allow any external requests @@ -79,11 +83,11 @@ disable_networking=0 # change the UDP/TCP port the emulator listens on, you should probably not change this because everyone needs to use the same port or you won't find yourselves on the network # default=47584 listen_port=47584 -# 1=pretend Steam is running in offline mode, mainly affects the function 'ISteamUser::BLoggedOn()' +# 1=pretend Steam is running in offline mode, mainly affects the function `ISteamUser::BLoggedOn()` # Some games that connect to online servers might only work if the Steam emu behaves like Steam is in offline mode # default=0 offline=0 -# 1=prevent sharing stats and achievements with any game server, this also disables the interface 'ISteamGameServerStats' +# 1=prevent sharing stats and achievements with any game server, this also disables the interface `ISteamGameServerStats` # default=0 disable_sharing_stats_with_gameserver=0 # 1=do not send server details to the server browser, only works for game servers @@ -96,7 +100,7 @@ share_leaderboards_over_network=0 # 1=prevent lobby creation in the Steam matchmaking interface # default=0 disable_lobby_creation=0 -# 1=attempt to download external HTTP(S) requests made via 'Steam_HTTP::SendHTTPRequest()' inside 'steam_settings/http/' folder +# 1=attempt to download external HTTP(S) requests made via `Steam_HTTP::SendHTTPRequest()` inside 'steam_settings/http/' folder # make sure to: # * set disable_lan_only=1 # * set disable_networking=0 @@ -109,14 +113,14 @@ download_steamhttp_requests=0 ############################################ [main::misc] -# 1=force 'ISteamUserStats::SetAchievement()' to always return true +# 1=force `ISteamUserStats::SetAchievement()` to always return true # this is a workaround for some games that otherwise won't work # default=0 achievements_bypass=0 # force the function 'Steam_HTTP::SendHTTPRequest()' to always succeed # default=0 force_steamhttp_success=0 -# env var 'SteamOverlayGameId' breaks Steam Input when the game is added to Steam as a non-steam game +# env var `SteamOverlayGameId` breaks Steam Input when the game is added to Steam as a non-steam game # 1=don't write this env var, allowing Steam Input to work # default=1 disable_steamoverlaygameid_env_var=1 @@ -126,3 +130,9 @@ disable_steamoverlaygameid_env_var=1 # https://developer.valvesoftware.com/wiki/Dedicated_Servers_List # default=0 enable_steam_preowned_ids=0 +# some Source-based games use the interface `ISteamGameStats` to report some stats +# you can make the emu save this data to a folder +# empty value = don't save anything (default) +# the emu will create the folders if they are missing but the path specified must be writable +# default= +steam_game_stats_reports_dir= diff --git a/tools/generate_emu_config/_DEFAULT/1/steam_settings/configs.overlay.ini b/tools/generate_emu_config/_DEFAULT/1/steam_settings/configs.overlay.ini index 2c2c01ab..91291489 100644 --- a/tools/generate_emu_config/_DEFAULT/1/steam_settings/configs.overlay.ini +++ b/tools/generate_emu_config/_DEFAULT/1/steam_settings/configs.overlay.ini @@ -33,6 +33,12 @@ disable_warning_bad_appid=0 # 1=disable the local_save warning in the overlay # default=0 disable_warning_local_save=0 +# by default the overlay will attempt to upload the achievements icons to the GPU +# so that they are displayed, in rare cases this might keep failing and cause FPS drop +# 0=prevent the overlay from attempting to upload the icons periodically, +# in that case achievements icons win't be displayed +# default=1 +upload_achievements_icons_to_gpu=1 [overlay::appearance] # load custom TrueType font from a path, it could be absolute, or relative