Merge pull request #57 from OneFourOne/develop

Temporary fix for Steam integration
This commit is contained in:
Dss0 2020-12-17 18:01:38 +01:00 committed by GitHub
commit 4911be51b0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 16 additions and 6 deletions

View File

@ -30,23 +30,24 @@ The format is based on [Keep a Changelog v0.3.0](http://keepachangelog.com/en/0.
- Add r_specularCustomMaps Dvar (#36) - Add r_specularCustomMaps Dvar (#36)
- Unlock safeArea_horizontal and safeArea_vertical Dvars (#42) - Unlock safeArea_horizontal and safeArea_vertical Dvars (#42)
- Unlock cg_fovscale Dvar (#47) - Unlock cg_fovscale Dvar (#47)
- Print script runtime errors when developer mode is enabled (#55)
### Changed ### Changed
- Stats are now separate for each mod (#6). Player stats are copied to `fs_game` folder if no stats exist for this mod yet. Keep in mind this also means that level, XP and classes will not be synchronized with the main stats file after this point. - Stats are now separate for each mod (#6). Player stats are copied to `fs_game` folder if no stats exist for this mod yet. Keep in mind this also means that level, XP and classes will not be synchronized with the main stats file after this point.
- Reduced duration of toasts (#48) - Reduced duration of toasts (#48)
- Removed old updater functionality - Removed old updater functionality (#54)
- Use old bot names if bots.txt is not found (#46) - Use old bot names if bots.txt is not found (#46)
- Removed Steam integration because Steam updates kept breaking it (#51)
### Fixed ### Fixed
- Fixed a node system related crash (#45) - Fixed a node system related crash (#45)
- Fixed an issue that made dedicated servers crash when info was requested during map rotation (#43) - Fixed an issue that made dedicated servers crash when info was requested during map rotation (#43)
- Fixed an issue where the game was trying to decrypt gsc files which caused it to crash when loading mods (#35) - Fixed an issue where the game was trying to decrypt gsc files which caused it to crash when loading mods (#35)
- Fixed an issue causing the game to crash when Steam was running in the background (#56)
#######################End of official IW4x Development - Project goes Open Source####################### ####End of official IW4x Development - Project goes Open Source####
## [0.6.0] - 2018-12-30 ## [0.6.0] - 2018-12-30

View File

@ -10,6 +10,8 @@ namespace Steam
Interface Proxy::ClientUser; Interface Proxy::ClientUser;
Interface Proxy::ClientFriends; Interface Proxy::ClientFriends;
Interface Proxy::Placeholder;
Proxy::Handle Proxy::SteamPipe = nullptr; Proxy::Handle Proxy::SteamPipe = nullptr;
Proxy::Handle Proxy::SteamUser = nullptr; Proxy::Handle Proxy::SteamUser = nullptr;
@ -415,6 +417,9 @@ namespace Steam
Proxy::ClientUser = Proxy::ClientEngine->GetIClientUser(Proxy::SteamUser, Proxy::SteamPipe); Proxy::ClientUser = Proxy::ClientEngine->GetIClientUser(Proxy::SteamUser, Proxy::SteamPipe);
if (!Proxy::ClientUser) return false; if (!Proxy::ClientUser) return false;
//temporary fix required since Steam runtime update v0.20201203.1 (an additional function was added by steam)
Proxy::Placeholder = Proxy::ClientEngine->Placeholder(0);
Proxy::ClientFriends = Proxy::ClientEngine->GetIClientFriends(Proxy::SteamUser, Proxy::SteamPipe); Proxy::ClientFriends = Proxy::ClientEngine->GetIClientFriends(Proxy::SteamUser, Proxy::SteamPipe);
if (!Proxy::ClientFriends) return false; if (!Proxy::ClientFriends) return false;

View File

@ -55,6 +55,9 @@ namespace Steam
virtual unknown_ret GetIClientGameServer(int32, int32, const char *) = 0; virtual unknown_ret GetIClientGameServer(int32, int32, const char *) = 0;
virtual unknown_ret SetLocalIPBinding(uint32, uint16) = 0; virtual unknown_ret SetLocalIPBinding(uint32, uint16) = 0;
virtual unknown_ret GetUniverseName(int) = 0; virtual unknown_ret GetUniverseName(int) = 0;
virtual unknown_ret Placeholder(int) = 0;
virtual unknown_ret GetIClientFriends(int32, int32) = 0; virtual unknown_ret GetIClientFriends(int32, int32) = 0;
virtual unknown_ret GetIClientUtils(int32) = 0; virtual unknown_ret GetIClientUtils(int32) = 0;
virtual unknown_ret GetIClientBilling(int32, int32, const char *) = 0; virtual unknown_ret GetIClientBilling(int32, int32, const char *) = 0;
@ -291,6 +294,8 @@ namespace Steam
static User* SteamUser_; static User* SteamUser_;
static Interface ClientFriends; static Interface ClientFriends;
static Interface Placeholder;
static uint32_t AppId; static uint32_t AppId;
private: private:

View File

@ -111,8 +111,7 @@ namespace Steam
{ {
bool SteamAPI_Init() bool SteamAPI_Init()
{ {
//The latest steam update has broke IW4x's steam integration. As of now the best way of dealing with this is to just disable it. This has been commented out so that if fixed, this may be easily enabled once again. Proxy::SetGame(10190);
/*Proxy::SetGame(10190);
if (!Proxy::Inititalize()) if (!Proxy::Inititalize())
{ {
@ -123,7 +122,7 @@ namespace Steam
{ {
Proxy::SetMod("IW4x: Modern Warfare 2"); Proxy::SetMod("IW4x: Modern Warfare 2");
Proxy::RunGame(); Proxy::RunGame();
}*/ }
return true; return true;
} }