mirror of
https://github.com/Detanup01/gbe_fork.git
synced 2024-11-27 05:04:01 +08:00
moved functions around for a clearer context
This commit is contained in:
parent
681fbc4ecb
commit
23c435bfea
16
dll/auth.cpp
16
dll/auth.cpp
@ -1,5 +1,21 @@
|
|||||||
#include "auth.h"
|
#include "auth.h"
|
||||||
|
|
||||||
|
static inline int generate_random_int() {
|
||||||
|
int a;
|
||||||
|
randombytes((char *)&a, sizeof(a));
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
|
||||||
|
static uint32 generate_steam_ticket_id() {
|
||||||
|
/* not random starts with 2? */
|
||||||
|
static uint32 a = 1;
|
||||||
|
++a;
|
||||||
|
// this must never return 0, it is reserved for "k_HAuthTicketInvalid" when the auth APIs fail
|
||||||
|
if (a == 0) ++a;
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static void steam_auth_manager_ticket_callback(void *object, Common_Message *msg)
|
static void steam_auth_manager_ticket_callback(void *object, Common_Message *msg)
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("steam_auth_manager_ticket_callback\n");
|
PRINT_DEBUG("steam_auth_manager_ticket_callback\n");
|
||||||
|
63
dll/base.cpp
63
dll/base.cpp
@ -19,8 +19,7 @@
|
|||||||
|
|
||||||
#ifdef __WINDOWS__
|
#ifdef __WINDOWS__
|
||||||
|
|
||||||
static void
|
void randombytes(char *buf, size_t size)
|
||||||
randombytes(char * const buf, const size_t size)
|
|
||||||
{
|
{
|
||||||
// NT_SUCCESS is: return value >= 0, including Ntdef.h causes so many errors
|
// NT_SUCCESS is: return value >= 0, including Ntdef.h causes so many errors
|
||||||
while (BCryptGenRandom(NULL, (PUCHAR) buf, (ULONG) size, BCRYPT_USE_SYSTEM_PREFERRED_RNG) < 0) {
|
while (BCryptGenRandom(NULL, (PUCHAR) buf, (ULONG) size, BCRYPT_USE_SYSTEM_PREFERRED_RNG) < 0) {
|
||||||
@ -51,7 +50,7 @@ bool set_env_variable(std::string name, std::string value)
|
|||||||
|
|
||||||
static int fd = -1;
|
static int fd = -1;
|
||||||
|
|
||||||
static void randombytes(char *buf, size_t size)
|
void randombytes(char *buf, size_t size)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@ -104,29 +103,7 @@ const std::chrono::time_point<std::chrono::system_clock> startup_time = std::chr
|
|||||||
const std::string dbg_log_file = get_full_program_path() + "STEAM_LOG.txt";
|
const std::string dbg_log_file = get_full_program_path() + "STEAM_LOG.txt";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
SteamAPICall_t generate_steam_api_call_id() {
|
unsigned generate_account_id()
|
||||||
static SteamAPICall_t a;
|
|
||||||
randombytes((char *)&a, sizeof(a));
|
|
||||||
++a;
|
|
||||||
if (a == 0) ++a;
|
|
||||||
return a;
|
|
||||||
}
|
|
||||||
|
|
||||||
int generate_random_int() {
|
|
||||||
int a;
|
|
||||||
randombytes((char *)&a, sizeof(a));
|
|
||||||
return a;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32 generate_steam_ticket_id() {
|
|
||||||
/* not random starts with 2? */
|
|
||||||
static uint32 a = 1;
|
|
||||||
++a;
|
|
||||||
if (a == 0) ++a;
|
|
||||||
return a;
|
|
||||||
}
|
|
||||||
|
|
||||||
static unsigned generate_account_id()
|
|
||||||
{
|
{
|
||||||
int a;
|
int a;
|
||||||
randombytes((char *)&a, sizeof(a));
|
randombytes((char *)&a, sizeof(a));
|
||||||
@ -135,16 +112,24 @@ static unsigned generate_account_id()
|
|||||||
return a;
|
return a;
|
||||||
}
|
}
|
||||||
|
|
||||||
CSteamID generate_steam_id_user()
|
|
||||||
{
|
|
||||||
return CSteamID(generate_account_id(), k_unSteamUserDefaultInstance, k_EUniversePublic, k_EAccountTypeIndividual);
|
|
||||||
}
|
|
||||||
|
|
||||||
CSteamID generate_steam_anon_user()
|
CSteamID generate_steam_anon_user()
|
||||||
{
|
{
|
||||||
return CSteamID(generate_account_id(), k_unSteamUserDefaultInstance, k_EUniversePublic, k_EAccountTypeAnonUser);
|
return CSteamID(generate_account_id(), k_unSteamUserDefaultInstance, k_EUniversePublic, k_EAccountTypeAnonUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SteamAPICall_t generate_steam_api_call_id() {
|
||||||
|
static SteamAPICall_t a;
|
||||||
|
randombytes((char *)&a, sizeof(a));
|
||||||
|
++a;
|
||||||
|
if (a == 0) ++a;
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
|
||||||
|
CSteamID generate_steam_id_user()
|
||||||
|
{
|
||||||
|
return CSteamID(generate_account_id(), k_unSteamUserDefaultInstance, k_EUniversePublic, k_EAccountTypeIndividual);
|
||||||
|
}
|
||||||
|
|
||||||
CSteamID generate_steam_id_server()
|
CSteamID generate_steam_id_server()
|
||||||
{
|
{
|
||||||
return CSteamID(generate_account_id(), k_unSteamUserDefaultInstance, k_EUniversePublic, k_EAccountTypeGameServer);
|
return CSteamID(generate_account_id(), k_unSteamUserDefaultInstance, k_EUniversePublic, k_EAccountTypeGameServer);
|
||||||
@ -160,22 +145,6 @@ CSteamID generate_steam_id_lobby()
|
|||||||
return CSteamID(generate_account_id(), k_EChatInstanceFlagLobby | k_EChatInstanceFlagMMSLobby, k_EUniversePublic, k_EAccountTypeChat);
|
return CSteamID(generate_account_id(), k_EChatInstanceFlagLobby | k_EChatInstanceFlagMMSLobby, k_EUniversePublic, k_EAccountTypeChat);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string uint8_vector_to_hex_string(std::vector<uint8_t>& v)
|
|
||||||
{
|
|
||||||
std::string result;
|
|
||||||
result.reserve(v.size() * 2); // two digits per character
|
|
||||||
|
|
||||||
static constexpr char hex[] = "0123456789ABCDEF";
|
|
||||||
|
|
||||||
for (uint8_t c : v)
|
|
||||||
{
|
|
||||||
result.push_back(hex[c / 16]);
|
|
||||||
result.push_back(hex[c % 16]);
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool check_timedout(std::chrono::high_resolution_clock::time_point old, double timeout)
|
bool check_timedout(std::chrono::high_resolution_clock::time_point old, double timeout)
|
||||||
{
|
{
|
||||||
if (timeout == 0.0) return true;
|
if (timeout == 0.0) return true;
|
||||||
|
@ -26,6 +26,7 @@ extern std::recursive_mutex global_mutex;
|
|||||||
extern const std::chrono::time_point<std::chrono::high_resolution_clock> startup_counter;
|
extern const std::chrono::time_point<std::chrono::high_resolution_clock> startup_counter;
|
||||||
extern const std::chrono::time_point<std::chrono::system_clock> startup_time;
|
extern const std::chrono::time_point<std::chrono::system_clock> startup_time;
|
||||||
|
|
||||||
|
void randombytes(char *buf, size_t size);
|
||||||
std::string get_env_variable(std::string name);
|
std::string get_env_variable(std::string name);
|
||||||
bool set_env_variable(std::string name, std::string value);
|
bool set_env_variable(std::string name, std::string value);
|
||||||
bool check_timedout(std::chrono::high_resolution_clock::time_point old, double timeout);
|
bool check_timedout(std::chrono::high_resolution_clock::time_point old, double timeout);
|
||||||
@ -94,15 +95,13 @@ struct Steam_Call_Result {
|
|||||||
int iCallback;
|
int iCallback;
|
||||||
};
|
};
|
||||||
|
|
||||||
uint32 generate_steam_ticket_id();
|
unsigned generate_account_id();
|
||||||
int generate_random_int();
|
CSteamID generate_steam_anon_user();
|
||||||
SteamAPICall_t generate_steam_api_call_id();
|
SteamAPICall_t generate_steam_api_call_id();
|
||||||
CSteamID generate_steam_id_user();
|
CSteamID generate_steam_id_user();
|
||||||
CSteamID generate_steam_anon_user();
|
|
||||||
CSteamID generate_steam_id_server();
|
CSteamID generate_steam_id_server();
|
||||||
CSteamID generate_steam_id_anonserver();
|
CSteamID generate_steam_id_anonserver();
|
||||||
CSteamID generate_steam_id_lobby();
|
CSteamID generate_steam_id_lobby();
|
||||||
std::string uint8_vector_to_hex_string(std::vector<uint8_t>& v);
|
|
||||||
std::string get_full_lib_path();
|
std::string get_full_lib_path();
|
||||||
std::string get_full_program_path();
|
std::string get_full_program_path();
|
||||||
std::string get_current_path();
|
std::string get_current_path();
|
||||||
@ -306,7 +305,6 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
struct Steam_Call_Back {
|
struct Steam_Call_Back {
|
||||||
std::vector<class CCallbackBase *> callbacks;
|
std::vector<class CCallbackBase *> callbacks;
|
||||||
std::vector<std::vector<char>> results;
|
std::vector<std::vector<char>> results;
|
||||||
|
@ -217,6 +217,22 @@ static inline void thisThreadYieldFor(std::chrono::microseconds u)
|
|||||||
PRINT_DEBUG("Thread finished waiting\n");
|
PRINT_DEBUG("Thread finished waiting\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static std::string uint8_vector_to_hex_string(std::vector<uint8_t>& v)
|
||||||
|
{
|
||||||
|
std::string result;
|
||||||
|
result.reserve(v.size() * 2); // two digits per character
|
||||||
|
|
||||||
|
static constexpr char hex[] = "0123456789ABCDEF";
|
||||||
|
|
||||||
|
for (uint8_t c : v)
|
||||||
|
{
|
||||||
|
result.push_back(hex[c / 16]);
|
||||||
|
result.push_back(hex[c % 16]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
// Emulator includes
|
// Emulator includes
|
||||||
// add them here after the inline functions definitions
|
// add them here after the inline functions definitions
|
||||||
#include "net.pb.h"
|
#include "net.pb.h"
|
||||||
|
Loading…
Reference in New Issue
Block a user