feat: Durango Lib parity + remove stubs

This commit is contained in:
2026-09-12 17:31:48 -04:00
parent 0440f9974b
commit 0ef661392f
5 changed files with 59 additions and 6 deletions
+10
View File
@@ -90,3 +90,13 @@ void C_4JProfile::SetDebugFullOverride(bool bVal)
{
InternalProfileManager.m_Sys.SetDebugFullOverride(bVal);
}
bool C_4JProfile::LocaleIsUSorCanada()
{
return InternalProfileManager.m_Sys.LocaleIsUSorCanada();
}
bool C_4JProfile::LocaleIsChina()
{
return InternalProfileManager.m_Sys.LocaleIsChina();
}
+10 -2
View File
@@ -2,12 +2,20 @@
CProfile InternalProfileManager;
CProfile::CProfile()
{
m_LockedProfile = 0;
}
int CProfile::GetLockedProfile()
{
return 0;
return m_LockedProfile;
}
void CProfile::SetLockedProfile(int iProf)
{
;
if(m_LockedProfile != iProf)
{
m_LockedProfile = iProf;
}
}
+5
View File
@@ -6,11 +6,16 @@
class CProfile
{
public:
CProfile();
int GetLockedProfile();
void SetLockedProfile(int iProf);
CSys m_Sys;
CProfileData m_ProfileData;
private:
int m_LockedProfile;
};
// Singleton
+26 -4
View File
@@ -5,6 +5,11 @@ bool s_bProfileIsFullVersion = true;
char fakeGamerTag[16] = "PlayerName";
wchar_t fakeGamerTagW[16] = L"PlayerName";
CSys::CSys()
{
m_iPrimaryPad = 0;
}
bool CSys::IsSignedIn(int iQuadrant)
{
return InputManager.IsPadConnected(iQuadrant); //str1k3r - since we dont sign in like consoles just check if the pad is connected
@@ -101,12 +106,17 @@ bool CSys::AllowedToPlayMultiplayer(int iProf)
int CSys::GetPrimaryPad()
{
return 0;
return m_iPrimaryPad;
}
void CSys::SetPrimaryPad(int iPad)
{
; //str1k3r - stubbed out
m_iPrimaryPad = iPad;
}
void CSys::SetDebugFullOverride(bool bVal)
{
s_bProfileIsFullVersion = bVal;
}
bool CSys::IsFullVersion()
@@ -114,7 +124,19 @@ bool CSys::IsFullVersion()
return s_bProfileIsFullVersion;
}
void CSys::SetDebugFullOverride(bool bVal)
//str1k3r - fun fact this is 1:1 to the Durango lib
bool CSys::LocaleIsUSorCanada()
{
s_bProfileIsFullVersion = bVal;
GEOID UserGeoID;
UserGeoID = GetUserGeoID(GEOCLASS_NATION);
return UserGeoID == 39 || UserGeoID == 244;
}
bool CSys::LocaleIsChina()
{
GEOID UserGeoID;
UserGeoID = GetUserGeoID(GEOCLASS_NATION);
return UserGeoID == 45;
}
+8
View File
@@ -5,6 +5,8 @@
class CSys
{
public:
CSys();
// SIGNED IN
bool IsSignedIn(int iQuadrant);
bool IsSignedInLive(int iProf);
@@ -27,4 +29,10 @@ public:
bool IsFullVersion();
void SetDebugFullOverride(bool bVal);
// LOCALE
bool LocaleIsUSorCanada();
bool LocaleIsChina();
int m_iPrimaryPad;
};