Compare commits
2 Commits
a855cde651
...
c5f50ddb32
Author | SHA1 | Date |
---|---|---|
Mr_Goldberg | c5f50ddb32 | |
Mr_Goldberg | f041b95c86 |
|
@ -105,6 +105,11 @@ The format is: STAT_NAME=type=default value
|
|||
The type can be: int, float or avgrate
|
||||
The default value is simply a number that represents the default value for the stat.
|
||||
|
||||
Build id:
|
||||
Add a steam_settings\build_id.txt with the build id if the game doesn't show the correct build id and you want the emu to give it the correct one.
|
||||
An example can be found in steam_settings.EXAMPLE
|
||||
|
||||
|
||||
Support for CPY steam_api(64).dll cracks: See the build in the experimental folder.
|
||||
|
||||
Notes:
|
||||
|
|
|
@ -149,6 +149,12 @@ public:
|
|||
|
||||
//overlay
|
||||
bool disable_overlay = false;
|
||||
|
||||
//app build id
|
||||
int build_id = 10;
|
||||
|
||||
//make lobby creation fail in the matchmaking interface
|
||||
bool disable_lobby_creation = false;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -260,6 +260,9 @@ uint32 create_localstorage_settings(Settings **settings_client_out, Settings **s
|
|||
bool steam_offline_mode = false;
|
||||
bool disable_networking = false;
|
||||
bool disable_overlay = false;
|
||||
bool disable_lobby_creation = false;
|
||||
int build_id = 10;
|
||||
|
||||
{
|
||||
std::string steam_settings_path = Local_Storage::get_game_settings_path();
|
||||
|
||||
|
@ -272,6 +275,8 @@ uint32 create_localstorage_settings(Settings **settings_client_out, Settings **s
|
|||
disable_networking = true;
|
||||
} else if (p == "disable_overlay.txt") {
|
||||
disable_overlay = true;
|
||||
} else if (p == "disable_lobby_creation.txt") {
|
||||
disable_lobby_creation = true;
|
||||
} else if (p == "force_language.txt") {
|
||||
int len = Local_Storage::get_file_data(steam_settings_path + "force_language.txt", language, sizeof(language) - 1);
|
||||
if (len > 0) language[len] = 0;
|
||||
|
@ -290,6 +295,10 @@ uint32 create_localstorage_settings(Settings **settings_client_out, Settings **s
|
|||
char array_port[10] = {};
|
||||
int len = Local_Storage::get_file_data(steam_settings_path + "force_listen_port.txt", array_port, sizeof(array_port) - 1);
|
||||
if (len > 0) port = std::stoi(array_port);
|
||||
} else if (p == "build_id.txt") {
|
||||
char array_id[10] = {};
|
||||
int len = Local_Storage::get_file_data(steam_settings_path + "build_id.txt", array_id, sizeof(array_id) - 1);
|
||||
if (len > 0) build_id = std::stoi(array_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -304,6 +313,10 @@ uint32 create_localstorage_settings(Settings **settings_client_out, Settings **s
|
|||
settings_server->disable_networking = disable_networking;
|
||||
settings_client->disable_overlay = disable_overlay;
|
||||
settings_server->disable_overlay = disable_overlay;
|
||||
settings_client->disable_lobby_creation = disable_lobby_creation;
|
||||
settings_server->disable_lobby_creation = disable_lobby_creation;
|
||||
settings_client->build_id = build_id;
|
||||
settings_server->build_id = build_id;
|
||||
|
||||
{
|
||||
std::string dlc_config_path = Local_Storage::get_game_settings_path() + "DLC.txt";
|
||||
|
@ -503,10 +516,12 @@ uint32 create_localstorage_settings(Settings **settings_client_out, Settings **s
|
|||
line.pop_back();
|
||||
}
|
||||
|
||||
DepotId_t depot_id = stoul(line);
|
||||
settings_client->depots.push_back(depot_id);
|
||||
settings_server->depots.push_back(depot_id);
|
||||
PRINT_DEBUG("Added depot %u\n", depot_id);
|
||||
try {
|
||||
DepotId_t depot_id = std::stoul(line);
|
||||
settings_client->depots.push_back(depot_id);
|
||||
settings_server->depots.push_back(depot_id);
|
||||
PRINT_DEBUG("Added depot %u\n", depot_id);
|
||||
} catch (...) {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -525,10 +540,12 @@ uint32 create_localstorage_settings(Settings **settings_client_out, Settings **s
|
|||
line.pop_back();
|
||||
}
|
||||
|
||||
uint64 source_id = stoull(line);
|
||||
settings_client->subscribed_groups.insert(source_id);
|
||||
settings_server->subscribed_groups.insert(source_id);
|
||||
PRINT_DEBUG("Added source %llu\n", source_id);
|
||||
try {
|
||||
uint64 source_id = std::stoull(line);
|
||||
settings_client->subscribed_groups.insert(source_id);
|
||||
settings_server->subscribed_groups.insert(source_id);
|
||||
PRINT_DEBUG("Added source %llu\n", source_id);
|
||||
} catch (...) {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -262,7 +262,7 @@ bool Steam_Apps::GetDlcDownloadProgress( AppId_t nAppID, uint64 *punBytesDownloa
|
|||
int Steam_Apps::GetAppBuildId()
|
||||
{
|
||||
PRINT_DEBUG("GetAppBuildId\n");
|
||||
return 10;
|
||||
return this->settings->build_id;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -559,23 +559,35 @@ void Create_pending_lobbies()
|
|||
enter_lobby(&lobby, settings->get_local_steam_id());
|
||||
lobbies.push_back(lobby);
|
||||
|
||||
LobbyCreated_t data;
|
||||
data.m_eResult = k_EResultOK;
|
||||
data.m_ulSteamIDLobby = lobby.room_id();
|
||||
callback_results->addCallResult(p_c->api_id, data.k_iCallback, &data, sizeof(data));
|
||||
callbacks->addCBResult(data.k_iCallback, &data, sizeof(data));
|
||||
|
||||
{
|
||||
LobbyEnter_t data;
|
||||
data.m_ulSteamIDLobby = lobby.room_id();
|
||||
data.m_rgfChatPermissions = 0; //Unused - Always 0
|
||||
data.m_bLocked = false;
|
||||
data.m_EChatRoomEnterResponse = k_EChatRoomEnterResponseSuccess;
|
||||
if (settings->disable_lobby_creation) {
|
||||
LobbyCreated_t data;
|
||||
data.m_eResult = k_EResultFail;
|
||||
data.m_ulSteamIDLobby = 0;
|
||||
callback_results->addCallResult(p_c->api_id, data.k_iCallback, &data, sizeof(data));
|
||||
callbacks->addCBResult(data.k_iCallback, &data, sizeof(data));
|
||||
} else {
|
||||
LobbyCreated_t data;
|
||||
data.m_eResult = k_EResultOK;
|
||||
data.m_ulSteamIDLobby = lobby.room_id();
|
||||
callback_results->addCallResult(p_c->api_id, data.k_iCallback, &data, sizeof(data));
|
||||
callbacks->addCBResult(data.k_iCallback, &data, sizeof(data));
|
||||
|
||||
{
|
||||
LobbyEnter_t data;
|
||||
data.m_ulSteamIDLobby = lobby.room_id();
|
||||
data.m_rgfChatPermissions = 0; //Unused - Always 0
|
||||
if (p_c->eLobbyType == k_ELobbyTypePrivate)
|
||||
data.m_bLocked = true;
|
||||
else
|
||||
data.m_bLocked = false;
|
||||
data.m_EChatRoomEnterResponse = k_EChatRoomEnterResponseSuccess;
|
||||
callbacks->addCBResult(data.k_iCallback, &data, sizeof(data));
|
||||
}
|
||||
|
||||
on_self_enter_leave_lobby(lobby_id, p_c->eLobbyType, false);
|
||||
trigger_lobby_dataupdate(lobby_id, lobby_id, true);
|
||||
}
|
||||
|
||||
on_self_enter_leave_lobby(lobby_id, p_c->eLobbyType, false);
|
||||
trigger_lobby_dataupdate(lobby_id, lobby_id, true);
|
||||
p_c = pending_creates.erase(p_c);
|
||||
} else {
|
||||
++p_c;
|
||||
|
|
|
@ -591,6 +591,12 @@ SteamAPICall_t FindOrCreateLeaderboard( const char *pchLeaderboardName, ELeaderb
|
|||
{
|
||||
PRINT_DEBUG("FindOrCreateLeaderboard %s\n", pchLeaderboardName);
|
||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||
if (!pchLeaderboardName) {
|
||||
LeaderboardFindResult_t data;
|
||||
data.m_hSteamLeaderboard = 0;
|
||||
data.m_bLeaderboardFound = 0;
|
||||
return callback_results->addCallResult(data.k_iCallback, &data, sizeof(data));
|
||||
}
|
||||
|
||||
unsigned int leader = find_leaderboard(pchLeaderboardName);
|
||||
if (!leader) {
|
||||
|
@ -616,6 +622,12 @@ SteamAPICall_t FindLeaderboard( const char *pchLeaderboardName )
|
|||
{
|
||||
PRINT_DEBUG("FindLeaderboard %s\n", pchLeaderboardName);
|
||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||
if (!pchLeaderboardName) {
|
||||
LeaderboardFindResult_t data;
|
||||
data.m_hSteamLeaderboard = 0;
|
||||
data.m_bLeaderboardFound = 0;
|
||||
return callback_results->addCallResult(data.k_iCallback, &data, sizeof(data));
|
||||
}
|
||||
|
||||
auto settings_Leaderboards = settings->getLeaderboards();
|
||||
if (settings_Leaderboards.count(pchLeaderboardName)) {
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
12345
|
Loading…
Reference in New Issue