mirror of
https://github.com/Detanup01/gbe_fork.git
synced 2024-12-25 09:54:15 +08:00
bunch of scoped debug messages
This commit is contained in:
parent
43debcbaf8
commit
45d76fbc31
@ -368,14 +368,14 @@ void SetOverrideMode( const char *pchMode )
|
|||||||
// configurations inside of the game depot instead of using the Steam Workshop
|
// configurations inside of the game depot instead of using the Steam Workshop
|
||||||
bool SetInputActionManifestFilePath( const char *pchInputActionManifestAbsolutePath )
|
bool SetInputActionManifestFilePath( const char *pchInputActionManifestAbsolutePath )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("TODO %s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_Controller::%s\n", __FUNCTION__);
|
||||||
//TODO SteamInput005
|
//TODO SteamInput005
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool BWaitForData( bool bWaitForever, uint32 unTimeout )
|
bool BWaitForData( bool bWaitForever, uint32 unTimeout )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("TODO %s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_Controller::%s\n", __FUNCTION__);
|
||||||
//TODO SteamInput005
|
//TODO SteamInput005
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -385,7 +385,7 @@ bool BWaitForData( bool bWaitForever, uint32 unTimeout )
|
|||||||
// SteamInput()->RunFrame() or SteamAPI_RunCallbacks() before this to update the data stream
|
// SteamInput()->RunFrame() or SteamAPI_RunCallbacks() before this to update the data stream
|
||||||
bool BNewDataAvailable()
|
bool BNewDataAvailable()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("TODO %s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_Controller::%s\n", __FUNCTION__);
|
||||||
//TODO SteamInput005
|
//TODO SteamInput005
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -395,7 +395,7 @@ bool BNewDataAvailable()
|
|||||||
// callback when you enable them
|
// callback when you enable them
|
||||||
void EnableDeviceCallbacks()
|
void EnableDeviceCallbacks()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("TODO %s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_Controller::%s\n", __FUNCTION__);
|
||||||
//TODO SteamInput005
|
//TODO SteamInput005
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -405,7 +405,7 @@ void EnableDeviceCallbacks()
|
|||||||
// Note: this is called within either SteamInput()->RunFrame or by SteamAPI_RunCallbacks
|
// Note: this is called within either SteamInput()->RunFrame or by SteamAPI_RunCallbacks
|
||||||
void EnableActionEventCallbacks( SteamInputActionEventCallbackPointer pCallback )
|
void EnableActionEventCallbacks( SteamInputActionEventCallbackPointer pCallback )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("TODO %s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_Controller::%s\n", __FUNCTION__);
|
||||||
//TODO SteamInput005
|
//TODO SteamInput005
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -749,7 +749,7 @@ int GetDigitalActionOrigins( InputHandle_t inputHandle, InputActionSetHandle_t a
|
|||||||
// Returns a localized string (from Steam's language setting) for the user-facing action name corresponding to the specified handle
|
// Returns a localized string (from Steam's language setting) for the user-facing action name corresponding to the specified handle
|
||||||
const char *GetStringForDigitalActionName( InputDigitalActionHandle_t eActionHandle )
|
const char *GetStringForDigitalActionName( InputDigitalActionHandle_t eActionHandle )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("TODO %s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_Controller::%s\n", __FUNCTION__);
|
||||||
//TODO SteamInput005
|
//TODO SteamInput005
|
||||||
return "Button String";
|
return "Button String";
|
||||||
}
|
}
|
||||||
@ -922,7 +922,7 @@ void Legacy_TriggerRepeatedHapticPulse( InputHandle_t inputHandle, ESteamControl
|
|||||||
// Send a haptic pulse, works on Steam Deck and Steam Controller devices
|
// Send a haptic pulse, works on Steam Deck and Steam Controller devices
|
||||||
void TriggerSimpleHapticEvent( InputHandle_t inputHandle, EControllerHapticLocation eHapticLocation, uint8 nIntensity, char nGainDB, uint8 nOtherIntensity, char nOtherGainDB )
|
void TriggerSimpleHapticEvent( InputHandle_t inputHandle, EControllerHapticLocation eHapticLocation, uint8 nIntensity, char nGainDB, uint8 nOtherIntensity, char nOtherGainDB )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("TODO %s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_Controller::%s\n", __FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Tigger a vibration event on supported controllers.
|
// Tigger a vibration event on supported controllers.
|
||||||
@ -952,7 +952,7 @@ void TriggerVibration( ControllerHandle_t controllerHandle, unsigned short usLef
|
|||||||
// Trigger a vibration event on supported controllers including Xbox trigger impulse rumble - Steam will translate these commands into haptic pulses for Steam Controllers
|
// Trigger a vibration event on supported controllers including Xbox trigger impulse rumble - Steam will translate these commands into haptic pulses for Steam Controllers
|
||||||
void TriggerVibrationExtended( InputHandle_t inputHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed, unsigned short usLeftTriggerSpeed, unsigned short usRightTriggerSpeed )
|
void TriggerVibrationExtended( InputHandle_t inputHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed, unsigned short usLeftTriggerSpeed, unsigned short usRightTriggerSpeed )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("TODO %s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_Controller::%s\n", __FUNCTION__);
|
||||||
TriggerVibration(inputHandle, usLeftSpeed, usRightSpeed);
|
TriggerVibration(inputHandle, usLeftSpeed, usRightSpeed);
|
||||||
//TODO trigger impulse rumbles
|
//TODO trigger impulse rumbles
|
||||||
}
|
}
|
||||||
@ -1026,7 +1026,7 @@ const char *GetStringForActionOrigin( EInputActionOrigin eOrigin )
|
|||||||
// Returns a localized string (from Steam's language setting) for the user-facing action name corresponding to the specified handle
|
// Returns a localized string (from Steam's language setting) for the user-facing action name corresponding to the specified handle
|
||||||
const char *GetStringForAnalogActionName( InputAnalogActionHandle_t eActionHandle )
|
const char *GetStringForAnalogActionName( InputAnalogActionHandle_t eActionHandle )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("TODO %s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_Controller::%s\n", __FUNCTION__);
|
||||||
//TODO SteamInput005
|
//TODO SteamInput005
|
||||||
return "Button String";
|
return "Button String";
|
||||||
}
|
}
|
||||||
@ -1119,7 +1119,7 @@ const char *GetGlyphForActionOrigin( EInputActionOrigin eOrigin )
|
|||||||
// Get a local path to a PNG file for the provided origin's glyph.
|
// Get a local path to a PNG file for the provided origin's glyph.
|
||||||
const char *GetGlyphPNGForActionOrigin( EInputActionOrigin eOrigin, ESteamInputGlyphSize eSize, uint32 unFlags )
|
const char *GetGlyphPNGForActionOrigin( EInputActionOrigin eOrigin, ESteamInputGlyphSize eSize, uint32 unFlags )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("TODO %s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_Controller::%s\n", __FUNCTION__);
|
||||||
//TODO SteamInput005
|
//TODO SteamInput005
|
||||||
return GetGlyphForActionOrigin(eOrigin);
|
return GetGlyphForActionOrigin(eOrigin);
|
||||||
}
|
}
|
||||||
@ -1127,7 +1127,7 @@ const char *GetGlyphPNGForActionOrigin( EInputActionOrigin eOrigin, ESteamInputG
|
|||||||
// Get a local path to a SVG file for the provided origin's glyph.
|
// Get a local path to a SVG file for the provided origin's glyph.
|
||||||
const char *GetGlyphSVGForActionOrigin( EInputActionOrigin eOrigin, uint32 unFlags )
|
const char *GetGlyphSVGForActionOrigin( EInputActionOrigin eOrigin, uint32 unFlags )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("TODO %s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_Controller::%s\n", __FUNCTION__);
|
||||||
//TODO SteamInput005
|
//TODO SteamInput005
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
@ -1210,14 +1210,14 @@ uint32 GetRemotePlaySessionID( InputHandle_t inputHandle )
|
|||||||
// Note: user can override the settings from the Steamworks Partner site so the returned values may not exactly match your default configuration
|
// Note: user can override the settings from the Steamworks Partner site so the returned values may not exactly match your default configuration
|
||||||
uint16 GetSessionInputConfigurationSettings()
|
uint16 GetSessionInputConfigurationSettings()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("TODO %s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_Controller::%s\n", __FUNCTION__);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set the trigger effect for a DualSense controller
|
// Set the trigger effect for a DualSense controller
|
||||||
void SetDualSenseTriggerEffect( InputHandle_t inputHandle, const ScePadTriggerEffectParam *pParam )
|
void SetDualSenseTriggerEffect( InputHandle_t inputHandle, const ScePadTriggerEffectParam *pParam )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("TODO %s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_Controller::%s\n", __FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RunCallbacks()
|
void RunCallbacks()
|
||||||
|
@ -92,7 +92,7 @@ struct Steam_Inventory_Requests *get_inventory_result(SteamInventoryResult_t res
|
|||||||
void read_items_db()
|
void read_items_db()
|
||||||
{
|
{
|
||||||
std::string items_db_path = Local_Storage::get_game_settings_path() + items_user_file;
|
std::string items_db_path = Local_Storage::get_game_settings_path() + items_user_file;
|
||||||
PRINT_DEBUG("Items file path: %s\n", items_db_path.c_str());
|
PRINT_DEBUG("Steam_Inventory::Items file path: %s\n", items_db_path.c_str());
|
||||||
local_storage->load_json(items_db_path, defined_items);
|
local_storage->load_json(items_db_path, defined_items);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -103,7 +103,7 @@ void read_inventory_db()
|
|||||||
{
|
{
|
||||||
// Try to load a default one
|
// Try to load a default one
|
||||||
std::string items_db_path = Local_Storage::get_game_settings_path() + items_default_file;
|
std::string items_db_path = Local_Storage::get_game_settings_path() + items_default_file;
|
||||||
PRINT_DEBUG("Default items file path: %s\n", items_db_path.c_str());
|
PRINT_DEBUG("Steam_Inventory::Default items file path: %s\n", items_db_path.c_str());
|
||||||
local_storage->load_json(items_db_path, user_items);
|
local_storage->load_json(items_db_path, user_items);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -156,7 +156,7 @@ Steam_Inventory(class Settings *settings, class SteamCallResults *callback_resul
|
|||||||
STEAM_METHOD_DESC(Find out the status of an asynchronous inventory result handle.)
|
STEAM_METHOD_DESC(Find out the status of an asynchronous inventory result handle.)
|
||||||
EResult GetResultStatus( SteamInventoryResult_t resultHandle )
|
EResult GetResultStatus( SteamInventoryResult_t resultHandle )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetResultStatus\n");
|
PRINT_DEBUG("Steam_Inventory::GetResultStatus\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
struct Steam_Inventory_Requests *request = get_inventory_result(resultHandle);
|
struct Steam_Inventory_Requests *request = get_inventory_result(resultHandle);
|
||||||
if (!request) return k_EResultInvalidParam;
|
if (!request) return k_EResultInvalidParam;
|
||||||
@ -172,7 +172,7 @@ bool GetResultItems( SteamInventoryResult_t resultHandle,
|
|||||||
STEAM_OUT_ARRAY_COUNT( punOutItemsArraySize,Output array) SteamItemDetails_t *pOutItemsArray,
|
STEAM_OUT_ARRAY_COUNT( punOutItemsArraySize,Output array) SteamItemDetails_t *pOutItemsArray,
|
||||||
uint32 *punOutItemsArraySize )
|
uint32 *punOutItemsArraySize )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetResultItems\n");
|
PRINT_DEBUG("Steam_Inventory::GetResultItems\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
struct Steam_Inventory_Requests *request = get_inventory_result(resultHandle);
|
struct Steam_Inventory_Requests *request = get_inventory_result(resultHandle);
|
||||||
if (!request) return false;
|
if (!request) return false;
|
||||||
@ -235,7 +235,7 @@ bool GetResultItems( SteamInventoryResult_t resultHandle,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PRINT_DEBUG("GetResultItems good\n");
|
PRINT_DEBUG("Steam_Inventory::GetResultItems good\n");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -257,7 +257,7 @@ bool GetResultItemProperty( SteamInventoryResult_t resultHandle,
|
|||||||
const char *pchPropertyName,
|
const char *pchPropertyName,
|
||||||
STEAM_OUT_STRING_COUNT( punValueBufferSizeOut ) char *pchValueBuffer, uint32 *punValueBufferSizeOut )
|
STEAM_OUT_STRING_COUNT( punValueBufferSizeOut ) char *pchValueBuffer, uint32 *punValueBufferSizeOut )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetResultItemProperty\n");
|
PRINT_DEBUG("Steam_Inventory::GetResultItemProperty\n");
|
||||||
//TODO
|
//TODO
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -268,7 +268,7 @@ bool GetResultItemProperty( SteamInventoryResult_t resultHandle,
|
|||||||
STEAM_METHOD_DESC(Returns the server time at which the result was generated. Compare against the value of IClientUtils::GetServerRealTime() to determine age.)
|
STEAM_METHOD_DESC(Returns the server time at which the result was generated. Compare against the value of IClientUtils::GetServerRealTime() to determine age.)
|
||||||
uint32 GetResultTimestamp( SteamInventoryResult_t resultHandle )
|
uint32 GetResultTimestamp( SteamInventoryResult_t resultHandle )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetResultTimestamp\n");
|
PRINT_DEBUG("Steam_Inventory::GetResultTimestamp\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
struct Steam_Inventory_Requests *request = get_inventory_result(resultHandle);
|
struct Steam_Inventory_Requests *request = get_inventory_result(resultHandle);
|
||||||
if (!request || !request->result_done()) return 0;
|
if (!request || !request->result_done()) return 0;
|
||||||
@ -282,7 +282,7 @@ uint32 GetResultTimestamp( SteamInventoryResult_t resultHandle )
|
|||||||
STEAM_METHOD_DESC(Returns true if the result belongs to the target steam ID or false if the result does not. This is important when using DeserializeResult to verify that a remote player is not pretending to have a different users inventory.)
|
STEAM_METHOD_DESC(Returns true if the result belongs to the target steam ID or false if the result does not. This is important when using DeserializeResult to verify that a remote player is not pretending to have a different users inventory.)
|
||||||
bool CheckResultSteamID( SteamInventoryResult_t resultHandle, CSteamID steamIDExpected )
|
bool CheckResultSteamID( SteamInventoryResult_t resultHandle, CSteamID steamIDExpected )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("CheckResultSteamID %llu\n", steamIDExpected.ConvertToUint64());
|
PRINT_DEBUG("Steam_Inventory::CheckResultSteamID %llu\n", steamIDExpected.ConvertToUint64());
|
||||||
//TODO
|
//TODO
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -292,7 +292,7 @@ bool CheckResultSteamID( SteamInventoryResult_t resultHandle, CSteamID steamIDEx
|
|||||||
STEAM_METHOD_DESC(Destroys a result handle and frees all associated memory.)
|
STEAM_METHOD_DESC(Destroys a result handle and frees all associated memory.)
|
||||||
void DestroyResult( SteamInventoryResult_t resultHandle )
|
void DestroyResult( SteamInventoryResult_t resultHandle )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("DestroyResult\n");
|
PRINT_DEBUG("Steam_Inventory::DestroyResult\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
auto request = std::find_if(inventory_requests.begin(), inventory_requests.end(), [&resultHandle](struct Steam_Inventory_Requests const& item) { return item.inventory_result == resultHandle; });
|
auto request = std::find_if(inventory_requests.begin(), inventory_requests.end(), [&resultHandle](struct Steam_Inventory_Requests const& item) { return item.inventory_result == resultHandle; });
|
||||||
if (inventory_requests.end() == request)
|
if (inventory_requests.end() == request)
|
||||||
@ -316,7 +316,7 @@ void DestroyResult( SteamInventoryResult_t resultHandle )
|
|||||||
STEAM_METHOD_DESC(Captures the entire state of the current users Steam inventory.)
|
STEAM_METHOD_DESC(Captures the entire state of the current users Steam inventory.)
|
||||||
bool GetAllItems( SteamInventoryResult_t *pResultHandle )
|
bool GetAllItems( SteamInventoryResult_t *pResultHandle )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetAllItems\n");
|
PRINT_DEBUG("Steam_Inventory::GetAllItems\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
struct Steam_Inventory_Requests* request = new_inventory_result();
|
struct Steam_Inventory_Requests* request = new_inventory_result();
|
||||||
|
|
||||||
@ -338,7 +338,7 @@ bool GetAllItems( SteamInventoryResult_t *pResultHandle )
|
|||||||
STEAM_METHOD_DESC(Captures the state of a subset of the current users Steam inventory identified by an array of item instance IDs.)
|
STEAM_METHOD_DESC(Captures the state of a subset of the current users Steam inventory identified by an array of item instance IDs.)
|
||||||
bool GetItemsByID( SteamInventoryResult_t *pResultHandle, STEAM_ARRAY_COUNT( unCountInstanceIDs ) const SteamItemInstanceID_t *pInstanceIDs, uint32 unCountInstanceIDs )
|
bool GetItemsByID( SteamInventoryResult_t *pResultHandle, STEAM_ARRAY_COUNT( unCountInstanceIDs ) const SteamItemInstanceID_t *pInstanceIDs, uint32 unCountInstanceIDs )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetItemsByID\n");
|
PRINT_DEBUG("Steam_Inventory::GetItemsByID\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (pResultHandle) {
|
if (pResultHandle) {
|
||||||
struct Steam_Inventory_Requests *request = new_inventory_result(false, pInstanceIDs, unCountInstanceIDs);
|
struct Steam_Inventory_Requests *request = new_inventory_result(false, pInstanceIDs, unCountInstanceIDs);
|
||||||
@ -368,7 +368,7 @@ bool GetItemsByID( SteamInventoryResult_t *pResultHandle, STEAM_ARRAY_COUNT( unC
|
|||||||
// an hour has elapsed. See DeserializeResult for expiration handling.
|
// an hour has elapsed. See DeserializeResult for expiration handling.
|
||||||
bool SerializeResult( SteamInventoryResult_t resultHandle, STEAM_OUT_BUFFER_COUNT(punOutBufferSize) void *pOutBuffer, uint32 *punOutBufferSize )
|
bool SerializeResult( SteamInventoryResult_t resultHandle, STEAM_OUT_BUFFER_COUNT(punOutBufferSize) void *pOutBuffer, uint32 *punOutBufferSize )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SerializeResult %i\n", resultHandle);
|
PRINT_DEBUG("Steam_Inventory::SerializeResult %i\n", resultHandle);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
//TODO
|
//TODO
|
||||||
struct Steam_Inventory_Requests *request = get_inventory_result(resultHandle);
|
struct Steam_Inventory_Requests *request = get_inventory_result(resultHandle);
|
||||||
@ -379,7 +379,7 @@ bool SerializeResult( SteamInventoryResult_t resultHandle, STEAM_OUT_BUFFER_COUN
|
|||||||
memset(buffer, 0x5F, sizeof(buffer));
|
memset(buffer, 0x5F, sizeof(buffer));
|
||||||
|
|
||||||
if (!punOutBufferSize) return false;
|
if (!punOutBufferSize) return false;
|
||||||
PRINT_DEBUG("Size %u\n", *punOutBufferSize);
|
PRINT_DEBUG(" Size %u\n", *punOutBufferSize);
|
||||||
if (!pOutBuffer) {
|
if (!pOutBuffer) {
|
||||||
*punOutBufferSize = sizeof(buffer);
|
*punOutBufferSize = sizeof(buffer);
|
||||||
return true;
|
return true;
|
||||||
@ -414,7 +414,7 @@ bool SerializeResult( SteamInventoryResult_t resultHandle, STEAM_OUT_BUFFER_COUN
|
|||||||
// could challenge the player with expired data to send an updated result set.
|
// could challenge the player with expired data to send an updated result set.
|
||||||
bool DeserializeResult( SteamInventoryResult_t *pOutResultHandle, STEAM_BUFFER_COUNT(punOutBufferSize) const void *pBuffer, uint32 unBufferSize, bool bRESERVED_MUST_BE_FALSE)
|
bool DeserializeResult( SteamInventoryResult_t *pOutResultHandle, STEAM_BUFFER_COUNT(punOutBufferSize) const void *pBuffer, uint32 unBufferSize, bool bRESERVED_MUST_BE_FALSE)
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("DeserializeResult\n");
|
PRINT_DEBUG("Steam_Inventory::DeserializeResult\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
//TODO
|
//TODO
|
||||||
if (pOutResultHandle) {
|
if (pOutResultHandle) {
|
||||||
@ -439,7 +439,7 @@ bool DeserializeResult( SteamInventoryResult_t *pOutResultHandle, STEAM_BUFFER_C
|
|||||||
// describe the quantity of each item to generate.
|
// describe the quantity of each item to generate.
|
||||||
bool GenerateItems( SteamInventoryResult_t *pResultHandle, STEAM_ARRAY_COUNT(unArrayLength) const SteamItemDef_t *pArrayItemDefs, STEAM_ARRAY_COUNT(unArrayLength) const uint32 *punArrayQuantity, uint32 unArrayLength )
|
bool GenerateItems( SteamInventoryResult_t *pResultHandle, STEAM_ARRAY_COUNT(unArrayLength) const SteamItemDef_t *pArrayItemDefs, STEAM_ARRAY_COUNT(unArrayLength) const uint32 *punArrayQuantity, uint32 unArrayLength )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GenerateItems\n");
|
PRINT_DEBUG("Steam_Inventory::GenerateItems\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -451,7 +451,7 @@ bool GenerateItems( SteamInventoryResult_t *pResultHandle, STEAM_ARRAY_COUNT(unA
|
|||||||
STEAM_METHOD_DESC(GrantPromoItems() checks the list of promotional items for which the user may be eligible and grants the items (one time only).)
|
STEAM_METHOD_DESC(GrantPromoItems() checks the list of promotional items for which the user may be eligible and grants the items (one time only).)
|
||||||
bool GrantPromoItems( SteamInventoryResult_t *pResultHandle )
|
bool GrantPromoItems( SteamInventoryResult_t *pResultHandle )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GrantPromoItems\n");
|
PRINT_DEBUG("Steam_Inventory::GrantPromoItems\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
struct Steam_Inventory_Requests* request = new_inventory_result(false);
|
struct Steam_Inventory_Requests* request = new_inventory_result(false);
|
||||||
|
|
||||||
@ -467,7 +467,7 @@ bool GrantPromoItems( SteamInventoryResult_t *pResultHandle )
|
|||||||
// showing a specific promo item to the user.
|
// showing a specific promo item to the user.
|
||||||
bool AddPromoItem( SteamInventoryResult_t *pResultHandle, SteamItemDef_t itemDef )
|
bool AddPromoItem( SteamInventoryResult_t *pResultHandle, SteamItemDef_t itemDef )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("AddPromoItem\n");
|
PRINT_DEBUG("Steam_Inventory::AddPromoItem\n");
|
||||||
//TODO
|
//TODO
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
struct Steam_Inventory_Requests* request = new_inventory_result(false);
|
struct Steam_Inventory_Requests* request = new_inventory_result(false);
|
||||||
@ -479,7 +479,7 @@ bool AddPromoItem( SteamInventoryResult_t *pResultHandle, SteamItemDef_t itemDef
|
|||||||
|
|
||||||
bool AddPromoItems( SteamInventoryResult_t *pResultHandle, STEAM_ARRAY_COUNT(unArrayLength) const SteamItemDef_t *pArrayItemDefs, uint32 unArrayLength )
|
bool AddPromoItems( SteamInventoryResult_t *pResultHandle, STEAM_ARRAY_COUNT(unArrayLength) const SteamItemDef_t *pArrayItemDefs, uint32 unArrayLength )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("AddPromoItems\n");
|
PRINT_DEBUG("Steam_Inventory::AddPromoItems\n");
|
||||||
//TODO
|
//TODO
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
struct Steam_Inventory_Requests* request = new_inventory_result(false);
|
struct Steam_Inventory_Requests* request = new_inventory_result(false);
|
||||||
@ -496,7 +496,7 @@ bool AddPromoItems( SteamInventoryResult_t *pResultHandle, STEAM_ARRAY_COUNT(unA
|
|||||||
STEAM_METHOD_DESC(ConsumeItem() removes items from the inventory permanently.)
|
STEAM_METHOD_DESC(ConsumeItem() removes items from the inventory permanently.)
|
||||||
bool ConsumeItem( SteamInventoryResult_t *pResultHandle, SteamItemInstanceID_t itemConsume, uint32 unQuantity )
|
bool ConsumeItem( SteamInventoryResult_t *pResultHandle, SteamItemInstanceID_t itemConsume, uint32 unQuantity )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("ConsumeItem %llu %u\n", itemConsume, unQuantity);
|
PRINT_DEBUG("Steam_Inventory::ConsumeItem %llu %u\n", itemConsume, unQuantity);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
auto it = user_items.find(std::to_string(itemConsume));
|
auto it = user_items.find(std::to_string(itemConsume));
|
||||||
@ -504,7 +504,7 @@ bool ConsumeItem( SteamInventoryResult_t *pResultHandle, SteamItemInstanceID_t i
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
uint32 current = it->get<int>();
|
uint32 current = it->get<int>();
|
||||||
PRINT_DEBUG("ConsumeItem previous %u\n", current);
|
PRINT_DEBUG("Steam_Inventory::ConsumeItem previous %u\n", current);
|
||||||
if (current < unQuantity) unQuantity = current;
|
if (current < unQuantity) unQuantity = current;
|
||||||
uint32 result = current - unQuantity;
|
uint32 result = current - unQuantity;
|
||||||
if (result == 0) {
|
if (result == 0) {
|
||||||
@ -540,7 +540,7 @@ bool ExchangeItems( SteamInventoryResult_t *pResultHandle,
|
|||||||
STEAM_ARRAY_COUNT(unArrayGenerateLength) const SteamItemDef_t *pArrayGenerate, STEAM_ARRAY_COUNT(unArrayGenerateLength) const uint32 *punArrayGenerateQuantity, uint32 unArrayGenerateLength,
|
STEAM_ARRAY_COUNT(unArrayGenerateLength) const SteamItemDef_t *pArrayGenerate, STEAM_ARRAY_COUNT(unArrayGenerateLength) const uint32 *punArrayGenerateQuantity, uint32 unArrayGenerateLength,
|
||||||
STEAM_ARRAY_COUNT(unArrayDestroyLength) const SteamItemInstanceID_t *pArrayDestroy, STEAM_ARRAY_COUNT(unArrayDestroyLength) const uint32 *punArrayDestroyQuantity, uint32 unArrayDestroyLength )
|
STEAM_ARRAY_COUNT(unArrayDestroyLength) const SteamItemInstanceID_t *pArrayDestroy, STEAM_ARRAY_COUNT(unArrayDestroyLength) const uint32 *punArrayDestroyQuantity, uint32 unArrayDestroyLength )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("ExchangeItems\n");
|
PRINT_DEBUG("Steam_Inventory::ExchangeItems\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -552,7 +552,7 @@ bool ExchangeItems( SteamInventoryResult_t *pResultHandle,
|
|||||||
// two, pass k_SteamItemInstanceIDInvalid for itemIdDest and a new item will be generated.
|
// two, pass k_SteamItemInstanceIDInvalid for itemIdDest and a new item will be generated.
|
||||||
bool TransferItemQuantity( SteamInventoryResult_t *pResultHandle, SteamItemInstanceID_t itemIdSource, uint32 unQuantity, SteamItemInstanceID_t itemIdDest )
|
bool TransferItemQuantity( SteamInventoryResult_t *pResultHandle, SteamItemInstanceID_t itemIdSource, uint32 unQuantity, SteamItemInstanceID_t itemIdDest )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("TransferItemQuantity\n");
|
PRINT_DEBUG("Steam_Inventory::TransferItemQuantity\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -565,7 +565,7 @@ bool TransferItemQuantity( SteamInventoryResult_t *pResultHandle, SteamItemInsta
|
|||||||
STEAM_METHOD_DESC( Deprecated method. Playtime accounting is performed on the Steam servers. )
|
STEAM_METHOD_DESC( Deprecated method. Playtime accounting is performed on the Steam servers. )
|
||||||
void SendItemDropHeartbeat()
|
void SendItemDropHeartbeat()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SendItemDropHeartbeat\n");
|
PRINT_DEBUG("Steam_Inventory::SendItemDropHeartbeat\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -581,7 +581,7 @@ void SendItemDropHeartbeat()
|
|||||||
STEAM_METHOD_DESC(Playtime credit must be consumed and turned into item drops by your game.)
|
STEAM_METHOD_DESC(Playtime credit must be consumed and turned into item drops by your game.)
|
||||||
bool TriggerItemDrop( SteamInventoryResult_t *pResultHandle, SteamItemDef_t dropListDefinition )
|
bool TriggerItemDrop( SteamInventoryResult_t *pResultHandle, SteamItemDef_t dropListDefinition )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("TriggerItemDrop %p %i\n", pResultHandle, dropListDefinition);
|
PRINT_DEBUG("Steam_Inventory::TriggerItemDrop %p %i\n", pResultHandle, dropListDefinition);
|
||||||
//TODO: if gameserver return false
|
//TODO: if gameserver return false
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
struct Steam_Inventory_Requests* request = new_inventory_result(false);
|
struct Steam_Inventory_Requests* request = new_inventory_result(false);
|
||||||
@ -598,7 +598,7 @@ bool TradeItems( SteamInventoryResult_t *pResultHandle, CSteamID steamIDTradePar
|
|||||||
STEAM_ARRAY_COUNT(nArrayGiveLength) const SteamItemInstanceID_t *pArrayGive, STEAM_ARRAY_COUNT(nArrayGiveLength) const uint32 *pArrayGiveQuantity, uint32 nArrayGiveLength,
|
STEAM_ARRAY_COUNT(nArrayGiveLength) const SteamItemInstanceID_t *pArrayGive, STEAM_ARRAY_COUNT(nArrayGiveLength) const uint32 *pArrayGiveQuantity, uint32 nArrayGiveLength,
|
||||||
STEAM_ARRAY_COUNT(nArrayGetLength) const SteamItemInstanceID_t *pArrayGet, STEAM_ARRAY_COUNT(nArrayGetLength) const uint32 *pArrayGetQuantity, uint32 nArrayGetLength )
|
STEAM_ARRAY_COUNT(nArrayGetLength) const SteamItemInstanceID_t *pArrayGet, STEAM_ARRAY_COUNT(nArrayGetLength) const uint32 *pArrayGetQuantity, uint32 nArrayGetLength )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("TradeItems\n");
|
PRINT_DEBUG("Steam_Inventory::TradeItems\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -621,7 +621,7 @@ bool TradeItems( SteamInventoryResult_t *pResultHandle, CSteamID steamIDTradePar
|
|||||||
STEAM_METHOD_DESC(LoadItemDefinitions triggers the automatic load and refresh of item definitions.)
|
STEAM_METHOD_DESC(LoadItemDefinitions triggers the automatic load and refresh of item definitions.)
|
||||||
bool LoadItemDefinitions()
|
bool LoadItemDefinitions()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("LoadItemDefinitions\n");
|
PRINT_DEBUG("Steam_Inventory::LoadItemDefinitions\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
if (!item_definitions_loaded) {
|
if (!item_definitions_loaded) {
|
||||||
@ -643,12 +643,12 @@ bool GetItemDefinitionIDs(
|
|||||||
STEAM_OUT_ARRAY_COUNT(punItemDefIDsArraySize,List of item definition IDs) SteamItemDef_t *pItemDefIDs,
|
STEAM_OUT_ARRAY_COUNT(punItemDefIDsArraySize,List of item definition IDs) SteamItemDef_t *pItemDefIDs,
|
||||||
STEAM_DESC(Size of array is passed in and actual size used is returned in this param) uint32 *punItemDefIDsArraySize )
|
STEAM_DESC(Size of array is passed in and actual size used is returned in this param) uint32 *punItemDefIDsArraySize )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetItemDefinitionIDs %p\n", pItemDefIDs);
|
PRINT_DEBUG("Steam_Inventory::GetItemDefinitionIDs %p\n", pItemDefIDs);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (!punItemDefIDsArraySize)
|
if (!punItemDefIDsArraySize)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
PRINT_DEBUG("array_size %u\n", *punItemDefIDsArraySize);
|
PRINT_DEBUG(" array_size %u\n", *punItemDefIDsArraySize);
|
||||||
|
|
||||||
if (!item_definitions_loaded)
|
if (!item_definitions_loaded)
|
||||||
return false;
|
return false;
|
||||||
@ -681,7 +681,7 @@ bool GetItemDefinitionIDs(
|
|||||||
bool GetItemDefinitionProperty( SteamItemDef_t iDefinition, const char *pchPropertyName,
|
bool GetItemDefinitionProperty( SteamItemDef_t iDefinition, const char *pchPropertyName,
|
||||||
STEAM_OUT_STRING_COUNT(punValueBufferSizeOut) char *pchValueBuffer, uint32 *punValueBufferSizeOut )
|
STEAM_OUT_STRING_COUNT(punValueBufferSizeOut) char *pchValueBuffer, uint32 *punValueBufferSizeOut )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetItemDefinitionProperty %i %s\n", iDefinition, pchPropertyName);
|
PRINT_DEBUG("Steam_Inventory::GetItemDefinitionProperty %i %s\n", iDefinition, pchPropertyName);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
auto item = defined_items.find(std::to_string(iDefinition));
|
auto item = defined_items.find(std::to_string(iDefinition));
|
||||||
@ -703,7 +703,7 @@ bool GetItemDefinitionProperty( SteamItemDef_t iDefinition, const char *pchPrope
|
|||||||
{
|
{
|
||||||
pchPropertyName = "";
|
pchPropertyName = "";
|
||||||
*punValueBufferSizeOut = 0;
|
*punValueBufferSizeOut = 0;
|
||||||
PRINT_DEBUG("Error, item: %d, attr: %s is not a string!", iDefinition, pchPropertyName);
|
PRINT_DEBUG(" Error, item: %d, attr: %s is not a string!", iDefinition, pchPropertyName);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (pchValueBuffer != nullptr)
|
if (pchValueBuffer != nullptr)
|
||||||
@ -728,7 +728,7 @@ bool GetItemDefinitionProperty( SteamItemDef_t iDefinition, const char *pchPrope
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
*punValueBufferSizeOut = 0;
|
*punValueBufferSizeOut = 0;
|
||||||
PRINT_DEBUG("Attr %s not found for item %d\n", pchPropertyName, iDefinition);
|
PRINT_DEBUG(" Attr %s not found for item %d\n", pchPropertyName, iDefinition);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -779,7 +779,7 @@ bool GetItemDefinitionProperty( SteamItemDef_t iDefinition, const char *pchPrope
|
|||||||
STEAM_CALL_RESULT( SteamInventoryEligiblePromoItemDefIDs_t )
|
STEAM_CALL_RESULT( SteamInventoryEligiblePromoItemDefIDs_t )
|
||||||
SteamAPICall_t RequestEligiblePromoItemDefinitionsIDs( CSteamID steamID )
|
SteamAPICall_t RequestEligiblePromoItemDefinitionsIDs( CSteamID steamID )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("RequestEligiblePromoItemDefinitionsIDs\n");
|
PRINT_DEBUG("Steam_Inventory::RequestEligiblePromoItemDefinitionsIDs\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -792,7 +792,7 @@ bool GetEligiblePromoItemDefinitionIDs(
|
|||||||
STEAM_OUT_ARRAY_COUNT(punItemDefIDsArraySize,List of item definition IDs) SteamItemDef_t *pItemDefIDs,
|
STEAM_OUT_ARRAY_COUNT(punItemDefIDsArraySize,List of item definition IDs) SteamItemDef_t *pItemDefIDs,
|
||||||
STEAM_DESC(Size of array is passed in and actual size used is returned in this param) uint32 *punItemDefIDsArraySize )
|
STEAM_DESC(Size of array is passed in and actual size used is returned in this param) uint32 *punItemDefIDsArraySize )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetEligiblePromoItemDefinitionIDs\n");
|
PRINT_DEBUG("Steam_Inventory::GetEligiblePromoItemDefinitionIDs\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -805,7 +805,7 @@ bool GetEligiblePromoItemDefinitionIDs(
|
|||||||
STEAM_CALL_RESULT( SteamInventoryStartPurchaseResult_t )
|
STEAM_CALL_RESULT( SteamInventoryStartPurchaseResult_t )
|
||||||
SteamAPICall_t StartPurchase( STEAM_ARRAY_COUNT(unArrayLength) const SteamItemDef_t *pArrayItemDefs, STEAM_ARRAY_COUNT(unArrayLength) const uint32 *punArrayQuantity, uint32 unArrayLength )
|
SteamAPICall_t StartPurchase( STEAM_ARRAY_COUNT(unArrayLength) const SteamItemDef_t *pArrayItemDefs, STEAM_ARRAY_COUNT(unArrayLength) const uint32 *punArrayQuantity, uint32 unArrayLength )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("StartPurchase\n");
|
PRINT_DEBUG("Steam_Inventory::StartPurchase\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -814,7 +814,7 @@ SteamAPICall_t StartPurchase( STEAM_ARRAY_COUNT(unArrayLength) const SteamItemDe
|
|||||||
STEAM_CALL_RESULT( SteamInventoryRequestPricesResult_t )
|
STEAM_CALL_RESULT( SteamInventoryRequestPricesResult_t )
|
||||||
SteamAPICall_t RequestPrices()
|
SteamAPICall_t RequestPrices()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("RequestPrices\n");
|
PRINT_DEBUG("Steam_Inventory::RequestPrices\n");
|
||||||
SteamInventoryRequestPricesResult_t data;
|
SteamInventoryRequestPricesResult_t data;
|
||||||
data.m_result = k_EResultOK;
|
data.m_result = k_EResultOK;
|
||||||
memcpy(data.m_rgchCurrency, "USD", 4);
|
memcpy(data.m_rgchCurrency, "USD", 4);
|
||||||
@ -825,7 +825,7 @@ SteamAPICall_t RequestPrices()
|
|||||||
// Returns the number of items with prices. Need to call RequestPrices() first.
|
// Returns the number of items with prices. Need to call RequestPrices() first.
|
||||||
uint32 GetNumItemsWithPrices()
|
uint32 GetNumItemsWithPrices()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetNumItemsWithPrices\n");
|
PRINT_DEBUG("Steam_Inventory::GetNumItemsWithPrices\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -834,7 +834,7 @@ bool GetItemsWithPrices( STEAM_ARRAY_COUNT(unArrayLength) STEAM_OUT_ARRAY_COUNT(
|
|||||||
STEAM_ARRAY_COUNT(unArrayLength) STEAM_OUT_ARRAY_COUNT(pPrices, List of prices for the given item defs) uint64 *pBasePrices,
|
STEAM_ARRAY_COUNT(unArrayLength) STEAM_OUT_ARRAY_COUNT(pPrices, List of prices for the given item defs) uint64 *pBasePrices,
|
||||||
uint32 unArrayLength )
|
uint32 unArrayLength )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetItemsWithPrices\n");
|
PRINT_DEBUG("Steam_Inventory::GetItemsWithPrices\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -844,13 +844,13 @@ bool GetItemsWithPrices( STEAM_ARRAY_COUNT(unArrayLength) STEAM_OUT_ARRAY_COUNT(
|
|||||||
STEAM_ARRAY_COUNT(unArrayLength) STEAM_OUT_ARRAY_COUNT(pPrices, List of prices for the given item defs) uint64 *pPrices,
|
STEAM_ARRAY_COUNT(unArrayLength) STEAM_OUT_ARRAY_COUNT(pPrices, List of prices for the given item defs) uint64 *pPrices,
|
||||||
uint32 unArrayLength )
|
uint32 unArrayLength )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetItemsWithPrices old\n");
|
PRINT_DEBUG("Steam_Inventory::GetItemsWithPrices old\n");
|
||||||
return GetItemsWithPrices(pArrayItemDefs, pPrices, NULL, unArrayLength);
|
return GetItemsWithPrices(pArrayItemDefs, pPrices, NULL, unArrayLength);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GetItemPrice( SteamItemDef_t iDefinition, uint64 *pCurrentPrice, uint64 *pBasePrice )
|
bool GetItemPrice( SteamItemDef_t iDefinition, uint64 *pCurrentPrice, uint64 *pBasePrice )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetItemPrice\n");
|
PRINT_DEBUG("Steam_Inventory::GetItemPrice\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -858,7 +858,7 @@ bool GetItemPrice( SteamItemDef_t iDefinition, uint64 *pCurrentPrice, uint64 *pB
|
|||||||
// Returns false if there is no price stored for the item definition.
|
// Returns false if there is no price stored for the item definition.
|
||||||
bool GetItemPrice( SteamItemDef_t iDefinition, uint64 *pPrice )
|
bool GetItemPrice( SteamItemDef_t iDefinition, uint64 *pPrice )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetItemPrice old\n");
|
PRINT_DEBUG("Steam_Inventory::GetItemPrice old\n");
|
||||||
return GetItemPrice(iDefinition, pPrice, NULL);
|
return GetItemPrice(iDefinition, pPrice, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -866,52 +866,52 @@ bool GetItemPrice( SteamItemDef_t iDefinition, uint64 *pPrice )
|
|||||||
// Create a request to update properties on items
|
// Create a request to update properties on items
|
||||||
SteamInventoryUpdateHandle_t StartUpdateProperties()
|
SteamInventoryUpdateHandle_t StartUpdateProperties()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("StartUpdateProperties\n");
|
PRINT_DEBUG("Steam_Inventory::StartUpdateProperties\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remove the property on the item
|
// Remove the property on the item
|
||||||
bool RemoveProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName )
|
bool RemoveProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("RemoveProperty\n");
|
PRINT_DEBUG("Steam_Inventory::RemoveProperty\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Accessor methods to set properties on items
|
// Accessor methods to set properties on items
|
||||||
bool SetProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName, const char *pchPropertyValue )
|
bool SetProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName, const char *pchPropertyValue )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetProperty\n");
|
PRINT_DEBUG("Steam_Inventory::SetProperty\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SetProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName, bool bValue )
|
bool SetProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName, bool bValue )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetProperty\n");
|
PRINT_DEBUG("Steam_Inventory::SetProperty\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SetProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName, int64 nValue )
|
bool SetProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName, int64 nValue )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetProperty\n");
|
PRINT_DEBUG("Steam_Inventory::SetProperty\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SetProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName, float flValue )
|
bool SetProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName, float flValue )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetProperty\n");
|
PRINT_DEBUG("Steam_Inventory::SetProperty\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Submit the update request by handle
|
// Submit the update request by handle
|
||||||
bool SubmitUpdateProperties( SteamInventoryUpdateHandle_t handle, SteamInventoryResult_t * pResultHandle )
|
bool SubmitUpdateProperties( SteamInventoryUpdateHandle_t handle, SteamInventoryResult_t * pResultHandle )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SubmitUpdateProperties\n");
|
PRINT_DEBUG("Steam_Inventory::SubmitUpdateProperties\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool InspectItem( SteamInventoryResult_t *pResultHandle, const char *pchItemToken )
|
bool InspectItem( SteamInventoryResult_t *pResultHandle, const char *pchItemToken )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("InspectItem\n");
|
PRINT_DEBUG("Steam_Inventory::InspectItem\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -123,11 +123,11 @@ Lobby *get_lobby(CSteamID id)
|
|||||||
|
|
||||||
void send_lobby_data()
|
void send_lobby_data()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("Sending lobbies %zu\n", lobbies.size());
|
PRINT_DEBUG("Steam_MatchMaking::Sending lobbies %zu\n", lobbies.size());
|
||||||
|
|
||||||
for(auto & l: lobbies) {
|
for(auto & l: lobbies) {
|
||||||
if (get_lobby_member(&l, settings->get_local_steam_id()) && l.owner() == settings->get_local_steam_id().ConvertToUint64() && !l.deleted()) {
|
if (get_lobby_member(&l, settings->get_local_steam_id()) && l.owner() == settings->get_local_steam_id().ConvertToUint64() && !l.deleted()) {
|
||||||
PRINT_DEBUG("Sending lobby " "%" PRIu64 "\n", l.room_id());
|
PRINT_DEBUG("Steam_MatchMaking::Sending lobby " "%" PRIu64 "\n", l.room_id());
|
||||||
Common_Message msg = Common_Message();
|
Common_Message msg = Common_Message();
|
||||||
msg.set_source_id(settings->get_local_steam_id().ConvertToUint64());
|
msg.set_source_id(settings->get_local_steam_id().ConvertToUint64());
|
||||||
msg.set_allocated_lobby(new Lobby(l));
|
msg.set_allocated_lobby(new Lobby(l));
|
||||||
@ -138,7 +138,7 @@ void send_lobby_data()
|
|||||||
|
|
||||||
void trigger_lobby_dataupdate(CSteamID lobby, CSteamID member, bool success, double cb_timeout=0.005, bool send_changed_lobby=true)
|
void trigger_lobby_dataupdate(CSteamID lobby, CSteamID member, bool success, double cb_timeout=0.005, bool send_changed_lobby=true)
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("Lobby dataupdate %llu %llu\n", lobby.ConvertToUint64(), member.ConvertToUint64());
|
PRINT_DEBUG("Steam_MatchMaking::Lobby dataupdate %llu %llu\n", lobby.ConvertToUint64(), member.ConvertToUint64());
|
||||||
LobbyDataUpdate_t data;
|
LobbyDataUpdate_t data;
|
||||||
memset(&data, 0, sizeof(data));
|
memset(&data, 0, sizeof(data));
|
||||||
|
|
||||||
@ -264,7 +264,7 @@ void remove_lobbies()
|
|||||||
auto g = std::begin(lobbies);
|
auto g = std::begin(lobbies);
|
||||||
while (g != std::end(lobbies)) {
|
while (g != std::end(lobbies)) {
|
||||||
if (g->members().size() == 0 || (g->deleted() && (g->time_deleted() + LOBBY_DELETED_TIMEOUT < current_time))) {
|
if (g->members().size() == 0 || (g->deleted() && (g->time_deleted() + LOBBY_DELETED_TIMEOUT < current_time))) {
|
||||||
PRINT_DEBUG("REMOVING LOBBY " "%" PRIu64 "\n", g->room_id());
|
PRINT_DEBUG("Steam_MatchMaking::REMOVING LOBBY " "%" PRIu64 "\n", g->room_id());
|
||||||
self_lobby_member_data.erase(g->room_id());
|
self_lobby_member_data.erase(g->room_id());
|
||||||
g = lobbies.erase(g);
|
g = lobbies.erase(g);
|
||||||
} else {
|
} else {
|
||||||
@ -289,7 +289,7 @@ void on_self_enter_leave_lobby(CSteamID id, int type, bool leaving)
|
|||||||
public:
|
public:
|
||||||
static void steam_matchmaking_callback(void *object, Common_Message *msg)
|
static void steam_matchmaking_callback(void *object, Common_Message *msg)
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("steam_matchmaking_callback\n");
|
PRINT_DEBUG("Steam_MatchMaking::steam_matchmaking_callback\n");
|
||||||
|
|
||||||
Steam_Matchmaking *steam_matchmaking = (Steam_Matchmaking *)object;
|
Steam_Matchmaking *steam_matchmaking = (Steam_Matchmaking *)object;
|
||||||
steam_matchmaking->Callback(msg);
|
steam_matchmaking->Callback(msg);
|
||||||
@ -297,7 +297,7 @@ static void steam_matchmaking_callback(void *object, Common_Message *msg)
|
|||||||
|
|
||||||
static void steam_matchmaking_run_every_runcb(void *object)
|
static void steam_matchmaking_run_every_runcb(void *object)
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("steam_matchmaking_run_every_runcb\n");
|
PRINT_DEBUG("Steam_MatchMaking::steam_matchmaking_run_every_runcb\n");
|
||||||
|
|
||||||
Steam_Matchmaking *steam_matchmaking = (Steam_Matchmaking *)object;
|
Steam_Matchmaking *steam_matchmaking = (Steam_Matchmaking *)object;
|
||||||
steam_matchmaking->RunCallbacks();
|
steam_matchmaking->RunCallbacks();
|
||||||
@ -342,7 +342,7 @@ static Lobby_Member *get_lobby_member(Lobby *lobby, CSteamID user_id)
|
|||||||
// returns the number of favorites servers the user has stored
|
// returns the number of favorites servers the user has stored
|
||||||
int GetFavoriteGameCount()
|
int GetFavoriteGameCount()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetFavoriteGameCount\n");
|
PRINT_DEBUG("Steam_MatchMaking::GetFavoriteGameCount\n");
|
||||||
std::string file_path = Local_Storage::get_user_appdata_path() + "/7/" + Local_Storage::remote_storage_folder + "/serverbrowser_favorites.txt";
|
std::string file_path = Local_Storage::get_user_appdata_path() + "/7/" + Local_Storage::remote_storage_folder + "/serverbrowser_favorites.txt";
|
||||||
unsigned long long file_size = file_size_(file_path);
|
unsigned long long file_size = file_size_(file_path);
|
||||||
if (file_size) {
|
if (file_size) {
|
||||||
@ -364,7 +364,7 @@ int GetFavoriteGameCount()
|
|||||||
// *pRTime32LastPlayedOnServer is filled in the with the Unix time the favorite was added
|
// *pRTime32LastPlayedOnServer is filled in the with the Unix time the favorite was added
|
||||||
bool GetFavoriteGame( int iGame, AppId_t *pnAppID, uint32 *pnIP, uint16 *pnConnPort, uint16 *pnQueryPort, uint32 *punFlags, uint32 *pRTime32LastPlayedOnServer )
|
bool GetFavoriteGame( int iGame, AppId_t *pnAppID, uint32 *pnIP, uint16 *pnConnPort, uint16 *pnQueryPort, uint32 *punFlags, uint32 *pRTime32LastPlayedOnServer )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetFavoriteGame\n");
|
PRINT_DEBUG("Steam_MatchMaking::GetFavoriteGame\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -372,7 +372,7 @@ bool GetFavoriteGame( int iGame, AppId_t *pnAppID, uint32 *pnIP, uint16 *pnConnP
|
|||||||
// adds the game server to the local list; updates the time played of the server if it already exists in the list
|
// adds the game server to the local list; updates the time played of the server if it already exists in the list
|
||||||
int AddFavoriteGame( AppId_t nAppID, uint32 nIP, uint16 nConnPort, uint16 nQueryPort, uint32 unFlags, uint32 rTime32LastPlayedOnServer )
|
int AddFavoriteGame( AppId_t nAppID, uint32 nIP, uint16 nConnPort, uint16 nQueryPort, uint32 unFlags, uint32 rTime32LastPlayedOnServer )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("AddFavoriteGame %u %u %hu %hu %u %u\n", nAppID, nIP, nConnPort, nQueryPort, unFlags, rTime32LastPlayedOnServer);
|
PRINT_DEBUG("Steam_MatchMaking::AddFavoriteGame %u %u %hu %hu %u %u\n", nAppID, nIP, nConnPort, nQueryPort, unFlags, rTime32LastPlayedOnServer);
|
||||||
|
|
||||||
std::string file_path;
|
std::string file_path;
|
||||||
unsigned long long file_size;
|
unsigned long long file_size;
|
||||||
@ -445,7 +445,7 @@ int AddFavoriteGame( AppId_t nAppID, uint32 nIP, uint16 nConnPort, uint16 nQuery
|
|||||||
// removes the game server from the local storage; returns true if one was removed
|
// removes the game server from the local storage; returns true if one was removed
|
||||||
bool RemoveFavoriteGame( AppId_t nAppID, uint32 nIP, uint16 nConnPort, uint16 nQueryPort, uint32 unFlags )
|
bool RemoveFavoriteGame( AppId_t nAppID, uint32 nIP, uint16 nConnPort, uint16 nQueryPort, uint32 unFlags )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("RemoveFavoriteGame\n");
|
PRINT_DEBUG("Steam_MatchMaking::RemoveFavoriteGame\n");
|
||||||
|
|
||||||
std::string file_path;
|
std::string file_path;
|
||||||
unsigned long long file_size;
|
unsigned long long file_size;
|
||||||
@ -530,7 +530,7 @@ bool RemoveFavoriteGame( AppId_t nAppID, uint32 nIP, uint16 nConnPort, uint16 nQ
|
|||||||
STEAM_CALL_RESULT( LobbyMatchList_t )
|
STEAM_CALL_RESULT( LobbyMatchList_t )
|
||||||
SteamAPICall_t RequestLobbyList()
|
SteamAPICall_t RequestLobbyList()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("RequestLobbyList\n");
|
PRINT_DEBUG("Steam_MatchMaking::RequestLobbyList\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
filtered_lobbies.clear();
|
filtered_lobbies.clear();
|
||||||
lobby_last_search = std::chrono::high_resolution_clock::now();
|
lobby_last_search = std::chrono::high_resolution_clock::now();
|
||||||
@ -558,7 +558,7 @@ void RequestLobbyList_OLD()
|
|||||||
// these are cleared on each call to RequestLobbyList()
|
// these are cleared on each call to RequestLobbyList()
|
||||||
void AddRequestLobbyListStringFilter( const char *pchKeyToMatch, const char *pchValueToMatch, ELobbyComparison eComparisonType )
|
void AddRequestLobbyListStringFilter( const char *pchKeyToMatch, const char *pchValueToMatch, ELobbyComparison eComparisonType )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("AddRequestLobbyListStringFilter %s %s %i\n", pchKeyToMatch, pchValueToMatch, eComparisonType);
|
PRINT_DEBUG("Steam_MatchMaking::AddRequestLobbyListStringFilter %s %s %i\n", pchKeyToMatch, pchValueToMatch, eComparisonType);
|
||||||
if (!pchValueToMatch) return;
|
if (!pchValueToMatch) return;
|
||||||
|
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
@ -574,7 +574,7 @@ void AddRequestLobbyListStringFilter( const char *pchKeyToMatch, const char *pch
|
|||||||
// numerical comparison
|
// numerical comparison
|
||||||
void AddRequestLobbyListNumericalFilter( const char *pchKeyToMatch, int nValueToMatch, ELobbyComparison eComparisonType )
|
void AddRequestLobbyListNumericalFilter( const char *pchKeyToMatch, int nValueToMatch, ELobbyComparison eComparisonType )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("AddRequestLobbyListNumericalFilter %s %i %i\n", pchKeyToMatch, nValueToMatch, eComparisonType);
|
PRINT_DEBUG("Steam_MatchMaking::AddRequestLobbyListNumericalFilter %s %i %i\n", pchKeyToMatch, nValueToMatch, eComparisonType);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
struct Filter_Values fv;
|
struct Filter_Values fv;
|
||||||
fv.key = std::string(pchKeyToMatch);
|
fv.key = std::string(pchKeyToMatch);
|
||||||
@ -588,7 +588,7 @@ void AddRequestLobbyListNumericalFilter( const char *pchKeyToMatch, int nValueTo
|
|||||||
// returns results closest to the specified value. Multiple near filters can be added, with early filters taking precedence
|
// returns results closest to the specified value. Multiple near filters can be added, with early filters taking precedence
|
||||||
void AddRequestLobbyListNearValueFilter( const char *pchKeyToMatch, int nValueToBeCloseTo )
|
void AddRequestLobbyListNearValueFilter( const char *pchKeyToMatch, int nValueToBeCloseTo )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("AddRequestLobbyListNearValueFilter %s %u\n", pchKeyToMatch, nValueToBeCloseTo);
|
PRINT_DEBUG("Steam_MatchMaking::AddRequestLobbyListNearValueFilter %s %u\n", pchKeyToMatch, nValueToBeCloseTo);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
|
|
||||||
@ -597,7 +597,7 @@ void AddRequestLobbyListNearValueFilter( const char *pchKeyToMatch, int nValueTo
|
|||||||
// returns only lobbies with the specified number of slots available
|
// returns only lobbies with the specified number of slots available
|
||||||
void AddRequestLobbyListFilterSlotsAvailable( int nSlotsAvailable )
|
void AddRequestLobbyListFilterSlotsAvailable( int nSlotsAvailable )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("AddRequestLobbyListFilterSlotsAvailable %i\n", nSlotsAvailable);
|
PRINT_DEBUG("Steam_MatchMaking::AddRequestLobbyListFilterSlotsAvailable %i\n", nSlotsAvailable);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
|
|
||||||
@ -606,7 +606,7 @@ void AddRequestLobbyListFilterSlotsAvailable( int nSlotsAvailable )
|
|||||||
// sets the distance for which we should search for lobbies (based on users IP address to location map on the Steam backed)
|
// sets the distance for which we should search for lobbies (based on users IP address to location map on the Steam backed)
|
||||||
void AddRequestLobbyListDistanceFilter( ELobbyDistanceFilter eLobbyDistanceFilter )
|
void AddRequestLobbyListDistanceFilter( ELobbyDistanceFilter eLobbyDistanceFilter )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("AddRequestLobbyListDistanceFilter %i\n", eLobbyDistanceFilter);
|
PRINT_DEBUG("Steam_MatchMaking::AddRequestLobbyListDistanceFilter %i\n", eLobbyDistanceFilter);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
|
|
||||||
@ -615,7 +615,7 @@ void AddRequestLobbyListDistanceFilter( ELobbyDistanceFilter eLobbyDistanceFilte
|
|||||||
// sets how many results to return, the lower the count the faster it is to download the lobby results & details to the client
|
// sets how many results to return, the lower the count the faster it is to download the lobby results & details to the client
|
||||||
void AddRequestLobbyListResultCountFilter( int cMaxResults )
|
void AddRequestLobbyListResultCountFilter( int cMaxResults )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("AddRequestLobbyListResultCountFilter %i\n", cMaxResults);
|
PRINT_DEBUG("Steam_MatchMaking::AddRequestLobbyListResultCountFilter %i\n", cMaxResults);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
filter_max_results = cMaxResults;
|
filter_max_results = cMaxResults;
|
||||||
|
|
||||||
@ -624,7 +624,7 @@ void AddRequestLobbyListResultCountFilter( int cMaxResults )
|
|||||||
|
|
||||||
void AddRequestLobbyListCompatibleMembersFilter( CSteamID steamIDLobby )
|
void AddRequestLobbyListCompatibleMembersFilter( CSteamID steamIDLobby )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("AddRequestLobbyListCompatibleMembersFilter\n");
|
PRINT_DEBUG("Steam_MatchMaking::AddRequestLobbyListCompatibleMembersFilter\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
|
|
||||||
@ -651,11 +651,11 @@ void AddRequestLobbyListSlotsAvailableFilter()
|
|||||||
// the returned CSteamID::IsValid() will be false if iLobby is out of range
|
// the returned CSteamID::IsValid() will be false if iLobby is out of range
|
||||||
CSteamID GetLobbyByIndex( int iLobby )
|
CSteamID GetLobbyByIndex( int iLobby )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetLobbyByIndex %i\n", iLobby);
|
PRINT_DEBUG("Steam_MatchMaking::GetLobbyByIndex %i\n", iLobby);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
CSteamID id = k_steamIDNil;
|
CSteamID id = k_steamIDNil;
|
||||||
if (0 <= iLobby && iLobby < filtered_lobbies.size()) id = filtered_lobbies[iLobby];
|
if (0 <= iLobby && iLobby < filtered_lobbies.size()) id = filtered_lobbies[iLobby];
|
||||||
PRINT_DEBUG("Lobby %llu\n", id.ConvertToUint64());
|
PRINT_DEBUG(" Lobby %llu\n", id.ConvertToUint64());
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -743,7 +743,7 @@ void Create_pending_lobbies()
|
|||||||
STEAM_CALL_RESULT( LobbyCreated_t )
|
STEAM_CALL_RESULT( LobbyCreated_t )
|
||||||
SteamAPICall_t CreateLobby( ELobbyType eLobbyType, int cMaxMembers )
|
SteamAPICall_t CreateLobby( ELobbyType eLobbyType, int cMaxMembers )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("CreateLobby type: %i max_members: %i\n", eLobbyType, cMaxMembers);
|
PRINT_DEBUG("Steam_MatchMaking::CreateLobby type: %i max_members: %i\n", eLobbyType, cMaxMembers);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
struct Pending_Creates p_c;
|
struct Pending_Creates p_c;
|
||||||
p_c.api_id = callback_results->reserveCallResult();
|
p_c.api_id = callback_results->reserveCallResult();
|
||||||
@ -776,7 +776,7 @@ void CreateLobby( bool bPrivate )
|
|||||||
STEAM_CALL_RESULT( LobbyEnter_t )
|
STEAM_CALL_RESULT( LobbyEnter_t )
|
||||||
SteamAPICall_t JoinLobby( CSteamID steamIDLobby )
|
SteamAPICall_t JoinLobby( CSteamID steamIDLobby )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("JoinLobby %llu\n", steamIDLobby.ConvertToUint64());
|
PRINT_DEBUG("Steam_MatchMaking::JoinLobby %llu\n", steamIDLobby.ConvertToUint64());
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
auto pj = std::find_if(pending_joins.begin(), pending_joins.end(), [&steamIDLobby](Pending_Joins const& item) {return item.lobby_id == steamIDLobby;});
|
auto pj = std::find_if(pending_joins.begin(), pending_joins.end(), [&steamIDLobby](Pending_Joins const& item) {return item.lobby_id == steamIDLobby;});
|
||||||
@ -804,22 +804,22 @@ void JoinLobby_OLD( CSteamID steamIDLobby )
|
|||||||
// other users in the lobby will be notified by a LobbyChatUpdate_t callback
|
// other users in the lobby will be notified by a LobbyChatUpdate_t callback
|
||||||
void LeaveLobby( CSteamID steamIDLobby )
|
void LeaveLobby( CSteamID steamIDLobby )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("LeaveLobby\n");
|
PRINT_DEBUG("Steam_MatchMaking::LeaveLobby\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
PRINT_DEBUG("LeaveLobby pass mutex\n");
|
PRINT_DEBUG("Steam_MatchMaking::LeaveLobby pass mutex\n");
|
||||||
Lobby *lobby = get_lobby(steamIDLobby);
|
Lobby *lobby = get_lobby(steamIDLobby);
|
||||||
if (lobby) {
|
if (lobby) {
|
||||||
if (!lobby->deleted()) {
|
if (!lobby->deleted()) {
|
||||||
on_self_enter_leave_lobby((uint64)lobby->room_id(), lobby->type(), true);
|
on_self_enter_leave_lobby((uint64)lobby->room_id(), lobby->type(), true);
|
||||||
self_lobby_member_data.erase(lobby->room_id());
|
self_lobby_member_data.erase(lobby->room_id());
|
||||||
if (lobby->owner() != settings->get_local_steam_id().ConvertToUint64()) {
|
if (lobby->owner() != settings->get_local_steam_id().ConvertToUint64()) {
|
||||||
PRINT_DEBUG("LeaveLobby not owner\n");
|
PRINT_DEBUG("Steam_MatchMaking::LeaveLobby not owner\n");
|
||||||
leave_lobby(&(*lobby), settings->get_local_steam_id());
|
leave_lobby(&(*lobby), settings->get_local_steam_id());
|
||||||
Lobby_Messages *message = new Lobby_Messages();
|
Lobby_Messages *message = new Lobby_Messages();
|
||||||
message->set_type(Lobby_Messages::LEAVE);
|
message->set_type(Lobby_Messages::LEAVE);
|
||||||
send_owner_packet(steamIDLobby, message);
|
send_owner_packet(steamIDLobby, message);
|
||||||
} else {
|
} else {
|
||||||
PRINT_DEBUG("LeaveLobby owner\n");
|
PRINT_DEBUG("Steam_MatchMaking::LeaveLobby owner\n");
|
||||||
Lobby_Messages *message = new Lobby_Messages();
|
Lobby_Messages *message = new Lobby_Messages();
|
||||||
message->set_type(Lobby_Messages::LEAVE);
|
message->set_type(Lobby_Messages::LEAVE);
|
||||||
|
|
||||||
@ -836,7 +836,7 @@ void LeaveLobby( CSteamID steamIDLobby )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PRINT_DEBUG("LeaveLobby Done\n");
|
PRINT_DEBUG("Steam_MatchMaking::LeaveLobby Done\n");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -849,7 +849,7 @@ void LeaveLobby( CSteamID steamIDLobby )
|
|||||||
// or if the game isn't running yet the game will be launched with the parameter +connect_lobby <64-bit lobby id>
|
// or if the game isn't running yet the game will be launched with the parameter +connect_lobby <64-bit lobby id>
|
||||||
bool InviteUserToLobby( CSteamID steamIDLobby, CSteamID steamIDInvitee )
|
bool InviteUserToLobby( CSteamID steamIDLobby, CSteamID steamIDInvitee )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("InviteUserToLobby\n");
|
PRINT_DEBUG("Steam_MatchMaking::InviteUserToLobby\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
Lobby *lobby = get_lobby(steamIDLobby);
|
Lobby *lobby = get_lobby(steamIDLobby);
|
||||||
if (!lobby) return false;
|
if (!lobby) return false;
|
||||||
@ -873,13 +873,13 @@ bool InviteUserToLobby( CSteamID steamIDLobby, CSteamID steamIDInvitee )
|
|||||||
// returns the number of users in the specified lobby
|
// returns the number of users in the specified lobby
|
||||||
int GetNumLobbyMembers( CSteamID steamIDLobby )
|
int GetNumLobbyMembers( CSteamID steamIDLobby )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetNumLobbyMembers %llu\n", steamIDLobby.ConvertToUint64());
|
PRINT_DEBUG("Steam_MatchMaking::GetNumLobbyMembers %llu\n", steamIDLobby.ConvertToUint64());
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
Lobby *lobby = get_lobby(steamIDLobby);
|
Lobby *lobby = get_lobby(steamIDLobby);
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
if (lobby) ret = lobby->members().size();
|
if (lobby) ret = lobby->members().size();
|
||||||
|
|
||||||
PRINT_DEBUG("Number: %i\n", ret);
|
PRINT_DEBUG("Steam_MatchMaking::GetNumLobbyMembers Number: %i\n", ret);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -888,12 +888,12 @@ int GetNumLobbyMembers( CSteamID steamIDLobby )
|
|||||||
// note that the current user must be in a lobby to retrieve CSteamIDs of other users in that lobby
|
// note that the current user must be in a lobby to retrieve CSteamIDs of other users in that lobby
|
||||||
CSteamID GetLobbyMemberByIndex( CSteamID steamIDLobby, int iMember )
|
CSteamID GetLobbyMemberByIndex( CSteamID steamIDLobby, int iMember )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetLobbyMemberByIndex %llu %i\n", steamIDLobby.ConvertToUint64(), iMember);
|
PRINT_DEBUG("Steam_MatchMaking::GetLobbyMemberByIndex %llu %i\n", steamIDLobby.ConvertToUint64(), iMember);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
Lobby *lobby = get_lobby(steamIDLobby);
|
Lobby *lobby = get_lobby(steamIDLobby);
|
||||||
CSteamID id = k_steamIDNil;
|
CSteamID id = k_steamIDNil;
|
||||||
if (lobby && !lobby->deleted() && lobby->members().size() > iMember && iMember >= 0) id = (uint64)lobby->members(iMember).id();
|
if (lobby && !lobby->deleted() && lobby->members().size() > iMember && iMember >= 0) id = (uint64)lobby->members(iMember).id();
|
||||||
PRINT_DEBUG("Member: %llu\n", id.ConvertToUint64());
|
PRINT_DEBUG("Steam_MatchMaking::GetLobbyMemberByIndex Member: %llu\n", id.ConvertToUint64());
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -903,7 +903,7 @@ CSteamID GetLobbyMemberByIndex( CSteamID steamIDLobby, int iMember )
|
|||||||
// "" will be returned if no value is set, or if steamIDLobby is invalid
|
// "" will be returned if no value is set, or if steamIDLobby is invalid
|
||||||
const char *GetLobbyData( CSteamID steamIDLobby, const char *pchKey )
|
const char *GetLobbyData( CSteamID steamIDLobby, const char *pchKey )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetLobbyData %llu %s\n", steamIDLobby.ConvertToUint64(), pchKey);
|
PRINT_DEBUG("Steam_MatchMaking::GetLobbyData %llu %s\n", steamIDLobby.ConvertToUint64(), pchKey);
|
||||||
if (!pchKey) return "";
|
if (!pchKey) return "";
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
Lobby *lobby = get_lobby(steamIDLobby);
|
Lobby *lobby = get_lobby(steamIDLobby);
|
||||||
@ -913,7 +913,7 @@ const char *GetLobbyData( CSteamID steamIDLobby, const char *pchKey )
|
|||||||
if (result != lobby->values().end()) ret = result->second.c_str();
|
if (result != lobby->values().end()) ret = result->second.c_str();
|
||||||
}
|
}
|
||||||
|
|
||||||
PRINT_DEBUG("returned %s\n", ret);
|
PRINT_DEBUG("Steam_MatchMaking::GetLobbyData returned %s\n", ret);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -924,7 +924,7 @@ const char *GetLobbyData( CSteamID steamIDLobby, const char *pchKey )
|
|||||||
// other users in the lobby will receive notification of the lobby data change via a LobbyDataUpdate_t callback
|
// other users in the lobby will receive notification of the lobby data change via a LobbyDataUpdate_t callback
|
||||||
bool SetLobbyData( CSteamID steamIDLobby, const char *pchKey, const char *pchValue )
|
bool SetLobbyData( CSteamID steamIDLobby, const char *pchKey, const char *pchValue )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetLobbyData %llu %s %s\n", steamIDLobby.ConvertToUint64(), pchKey, pchValue);
|
PRINT_DEBUG("Steam_MatchMaking::SetLobbyData %llu %s %s\n", steamIDLobby.ConvertToUint64(), pchKey, pchValue);
|
||||||
if (!pchKey) return false;
|
if (!pchKey) return false;
|
||||||
char empty_string[] = "";
|
char empty_string[] = "";
|
||||||
if (!pchValue) pchValue = empty_string;
|
if (!pchValue) pchValue = empty_string;
|
||||||
@ -957,7 +957,7 @@ bool SetLobbyData( CSteamID steamIDLobby, const char *pchKey, const char *pchVal
|
|||||||
// returns the number of metadata keys set on the specified lobby
|
// returns the number of metadata keys set on the specified lobby
|
||||||
int GetLobbyDataCount( CSteamID steamIDLobby )
|
int GetLobbyDataCount( CSteamID steamIDLobby )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetLobbyDataCount\n");
|
PRINT_DEBUG("Steam_MatchMaking::GetLobbyDataCount\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
Lobby *lobby = get_lobby(steamIDLobby);
|
Lobby *lobby = get_lobby(steamIDLobby);
|
||||||
int size = 0;
|
int size = 0;
|
||||||
@ -971,7 +971,7 @@ int GetLobbyDataCount( CSteamID steamIDLobby )
|
|||||||
// returns a lobby metadata key/values pair by index, of range [0, GetLobbyDataCount())
|
// returns a lobby metadata key/values pair by index, of range [0, GetLobbyDataCount())
|
||||||
bool GetLobbyDataByIndex( CSteamID steamIDLobby, int iLobbyData, char *pchKey, int cchKeyBufferSize, char *pchValue, int cchValueBufferSize )
|
bool GetLobbyDataByIndex( CSteamID steamIDLobby, int iLobbyData, char *pchKey, int cchKeyBufferSize, char *pchValue, int cchValueBufferSize )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetLobbyDataByIndex\n");
|
PRINT_DEBUG("Steam_MatchMaking::GetLobbyDataByIndex\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
Lobby *lobby = get_lobby(steamIDLobby);
|
Lobby *lobby = get_lobby(steamIDLobby);
|
||||||
bool ret = false;
|
bool ret = false;
|
||||||
@ -985,7 +985,7 @@ bool GetLobbyDataByIndex( CSteamID steamIDLobby, int iLobbyData, char *pchKey, i
|
|||||||
if (cchValueBufferSize) strncpy(pchValue, lobby_data->second.c_str(), cchValueBufferSize - 1);
|
if (cchValueBufferSize) strncpy(pchValue, lobby_data->second.c_str(), cchValueBufferSize - 1);
|
||||||
pchValue[cchValueBufferSize - 1] = 0;
|
pchValue[cchValueBufferSize - 1] = 0;
|
||||||
|
|
||||||
PRINT_DEBUG("GetLobbyDataByIndex ret %s %s\n", pchKey, pchValue);
|
PRINT_DEBUG("Steam_MatchMaking::GetLobbyDataByIndex ret %s %s\n", pchKey, pchValue);
|
||||||
ret = true;
|
ret = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -997,7 +997,7 @@ bool GetLobbyDataByIndex( CSteamID steamIDLobby, int iLobbyData, char *pchKey, i
|
|||||||
// removes a metadata key from the lobby
|
// removes a metadata key from the lobby
|
||||||
bool DeleteLobbyData( CSteamID steamIDLobby, const char *pchKey )
|
bool DeleteLobbyData( CSteamID steamIDLobby, const char *pchKey )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("DeleteLobbyData\n");
|
PRINT_DEBUG("Steam_MatchMaking::DeleteLobbyData\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
Lobby *lobby = get_lobby(steamIDLobby);
|
Lobby *lobby = get_lobby(steamIDLobby);
|
||||||
if (!lobby || lobby->owner() != settings->get_local_steam_id().ConvertToUint64() || lobby->deleted()) {
|
if (!lobby || lobby->owner() != settings->get_local_steam_id().ConvertToUint64() || lobby->deleted()) {
|
||||||
@ -1014,7 +1014,7 @@ bool DeleteLobbyData( CSteamID steamIDLobby, const char *pchKey )
|
|||||||
// Gets per-user metadata for someone in this lobby
|
// Gets per-user metadata for someone in this lobby
|
||||||
const char *GetLobbyMemberData( CSteamID steamIDLobby, CSteamID steamIDUser, const char *pchKey )
|
const char *GetLobbyMemberData( CSteamID steamIDLobby, CSteamID steamIDUser, const char *pchKey )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetLobbyMemberData %s %llu %llu\n", pchKey, steamIDLobby.ConvertToUint64(), steamIDUser.ConvertToUint64());
|
PRINT_DEBUG("Steam_MatchMaking::GetLobbyMemberData %s %llu %llu\n", pchKey, steamIDLobby.ConvertToUint64(), steamIDUser.ConvertToUint64());
|
||||||
if (!pchKey) return "";
|
if (!pchKey) return "";
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
struct Lobby_Member *member = get_lobby_member(get_lobby(steamIDLobby), steamIDUser);
|
struct Lobby_Member *member = get_lobby_member(get_lobby(steamIDLobby), steamIDUser);
|
||||||
@ -1035,14 +1035,14 @@ const char *GetLobbyMemberData( CSteamID steamIDLobby, CSteamID steamIDUser, con
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PRINT_DEBUG("GetLobbyMemberData res %s\n", ret);
|
PRINT_DEBUG("Steam_MatchMaking::GetLobbyMemberData res %s\n", ret);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sets per-user metadata (for the local user implicitly)
|
// Sets per-user metadata (for the local user implicitly)
|
||||||
void SetLobbyMemberData( CSteamID steamIDLobby, const char *pchKey, const char *pchValue )
|
void SetLobbyMemberData( CSteamID steamIDLobby, const char *pchKey, const char *pchValue )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetLobbyMemberData %s %s\n", pchKey, pchValue);
|
PRINT_DEBUG("Steam_MatchMaking::SetLobbyMemberData %s %s\n", pchKey, pchValue);
|
||||||
if (!pchKey) return;
|
if (!pchKey) return;
|
||||||
char empty_string[] = "";
|
char empty_string[] = "";
|
||||||
if (!pchValue) pchValue = empty_string;
|
if (!pchValue) pchValue = empty_string;
|
||||||
@ -1092,7 +1092,7 @@ void SetLobbyMemberData( CSteamID steamIDLobby, const char *pchKey, const char *
|
|||||||
// if pvMsgBody is text, cubMsgBody should be strlen( text ) + 1, to include the null terminator
|
// if pvMsgBody is text, cubMsgBody should be strlen( text ) + 1, to include the null terminator
|
||||||
bool SendLobbyChatMsg( CSteamID steamIDLobby, const void *pvMsgBody, int cubMsgBody )
|
bool SendLobbyChatMsg( CSteamID steamIDLobby, const void *pvMsgBody, int cubMsgBody )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SendLobbyChatMsg %i\n", cubMsgBody);
|
PRINT_DEBUG("Steam_MatchMaking::SendLobbyChatMsg %i\n", cubMsgBody);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
Lobby *lobby = get_lobby(steamIDLobby);
|
Lobby *lobby = get_lobby(steamIDLobby);
|
||||||
if (!lobby || lobby->deleted()) return false;
|
if (!lobby || lobby->deleted()) return false;
|
||||||
@ -1110,7 +1110,7 @@ bool SendLobbyChatMsg( CSteamID steamIDLobby, const void *pvMsgBody, int cubMsgB
|
|||||||
// return value is the number of bytes written into the buffer
|
// return value is the number of bytes written into the buffer
|
||||||
int GetLobbyChatEntry( CSteamID steamIDLobby, int iChatID, STEAM_OUT_STRUCT() CSteamID *pSteamIDUser, void *pvData, int cubData, EChatEntryType *peChatEntryType )
|
int GetLobbyChatEntry( CSteamID steamIDLobby, int iChatID, STEAM_OUT_STRUCT() CSteamID *pSteamIDUser, void *pvData, int cubData, EChatEntryType *peChatEntryType )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetLobbyChatEntry %llu %i %p %p %i %p\n", steamIDLobby.ConvertToUint64(), iChatID, pSteamIDUser, pvData, cubData, peChatEntryType);
|
PRINT_DEBUG("Steam_MatchMaking::GetLobbyChatEntry %llu %i %p %p %i %p\n", steamIDLobby.ConvertToUint64(), iChatID, pSteamIDUser, pvData, cubData, peChatEntryType);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (iChatID >= chat_entries.size() || iChatID < 0 || cubData < 0) return 0;
|
if (iChatID >= chat_entries.size() || iChatID < 0 || cubData < 0) return 0;
|
||||||
if (chat_entries[iChatID].lobby_id != steamIDLobby) return 0;
|
if (chat_entries[iChatID].lobby_id != steamIDLobby) return 0;
|
||||||
@ -1120,7 +1120,7 @@ int GetLobbyChatEntry( CSteamID steamIDLobby, int iChatID, STEAM_OUT_STRUCT() CS
|
|||||||
if (chat_entries[iChatID].message.size() <= cubData) {
|
if (chat_entries[iChatID].message.size() <= cubData) {
|
||||||
cubData = chat_entries[iChatID].message.size();
|
cubData = chat_entries[iChatID].message.size();
|
||||||
memcpy(pvData, chat_entries[iChatID].message.data(), cubData);
|
memcpy(pvData, chat_entries[iChatID].message.data(), cubData);
|
||||||
PRINT_DEBUG("Returned chat of len: %i\n", cubData);
|
PRINT_DEBUG(" Returned chat of len: %i\n", cubData);
|
||||||
return cubData;
|
return cubData;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1138,7 +1138,7 @@ int GetLobbyChatEntry( CSteamID steamIDLobby, int iChatID, STEAM_OUT_STRUCT() CS
|
|||||||
// if the specified lobby doesn't exist, LobbyDataUpdate_t::m_bSuccess will be set to false
|
// if the specified lobby doesn't exist, LobbyDataUpdate_t::m_bSuccess will be set to false
|
||||||
bool RequestLobbyData( CSteamID steamIDLobby )
|
bool RequestLobbyData( CSteamID steamIDLobby )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("RequestLobbyData\n");
|
PRINT_DEBUG("Steam_MatchMaking::RequestLobbyData\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
struct Data_Requested requested;
|
struct Data_Requested requested;
|
||||||
requested.lobby_id = steamIDLobby;
|
requested.lobby_id = steamIDLobby;
|
||||||
@ -1152,7 +1152,7 @@ bool RequestLobbyData( CSteamID steamIDLobby )
|
|||||||
// either the IP/Port or the steamID of the game server has to be valid, depending on how you want the clients to be able to connect
|
// either the IP/Port or the steamID of the game server has to be valid, depending on how you want the clients to be able to connect
|
||||||
void SetLobbyGameServer( CSteamID steamIDLobby, uint32 unGameServerIP, uint16 unGameServerPort, CSteamID steamIDGameServer )
|
void SetLobbyGameServer( CSteamID steamIDLobby, uint32 unGameServerIP, uint16 unGameServerPort, CSteamID steamIDGameServer )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetLobbyGameServer %llu %llu %hhu.%hhu.%hhu.%hhu:%hu\n", steamIDLobby.ConvertToUint64(), steamIDGameServer.ConvertToUint64(), ((unsigned char *)&unGameServerIP)[3], ((unsigned char *)&unGameServerIP)[2], ((unsigned char *)&unGameServerIP)[1], ((unsigned char *)&unGameServerIP)[0], unGameServerPort);
|
PRINT_DEBUG("Steam_MatchMaking::SetLobbyGameServer %llu %llu %hhu.%hhu.%hhu.%hhu:%hu\n", steamIDLobby.ConvertToUint64(), steamIDGameServer.ConvertToUint64(), ((unsigned char *)&unGameServerIP)[3], ((unsigned char *)&unGameServerIP)[2], ((unsigned char *)&unGameServerIP)[1], ((unsigned char *)&unGameServerIP)[0], unGameServerPort);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
Lobby *lobby = get_lobby(steamIDLobby);
|
Lobby *lobby = get_lobby(steamIDLobby);
|
||||||
if (lobby) {
|
if (lobby) {
|
||||||
@ -1173,7 +1173,7 @@ void SetLobbyGameServer( CSteamID steamIDLobby, uint32 unGameServerIP, uint16 un
|
|||||||
// returns the details of a game server set in a lobby - returns false if there is no game server set, or that lobby doesn't exist
|
// returns the details of a game server set in a lobby - returns false if there is no game server set, or that lobby doesn't exist
|
||||||
bool GetLobbyGameServer( CSteamID steamIDLobby, uint32 *punGameServerIP, uint16 *punGameServerPort, STEAM_OUT_STRUCT() CSteamID *psteamIDGameServer )
|
bool GetLobbyGameServer( CSteamID steamIDLobby, uint32 *punGameServerIP, uint16 *punGameServerPort, STEAM_OUT_STRUCT() CSteamID *psteamIDGameServer )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetLobbyGameServer\n");
|
PRINT_DEBUG("Steam_MatchMaking::GetLobbyGameServer\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
Lobby *lobby = get_lobby(steamIDLobby);
|
Lobby *lobby = get_lobby(steamIDLobby);
|
||||||
if (!lobby) {
|
if (!lobby) {
|
||||||
@ -1198,7 +1198,7 @@ bool GetLobbyGameServer( CSteamID steamIDLobby, uint32 *punGameServerIP, uint16
|
|||||||
// set the limit on the # of users who can join the lobby
|
// set the limit on the # of users who can join the lobby
|
||||||
bool SetLobbyMemberLimit( CSteamID steamIDLobby, int cMaxMembers )
|
bool SetLobbyMemberLimit( CSteamID steamIDLobby, int cMaxMembers )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetLobbyMemberLimit\n");
|
PRINT_DEBUG("Steam_MatchMaking::SetLobbyMemberLimit\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
Lobby *lobby = get_lobby(steamIDLobby);
|
Lobby *lobby = get_lobby(steamIDLobby);
|
||||||
if (!lobby || lobby->owner() != settings->get_local_steam_id().ConvertToUint64() || lobby->deleted()) {
|
if (!lobby || lobby->owner() != settings->get_local_steam_id().ConvertToUint64() || lobby->deleted()) {
|
||||||
@ -1215,26 +1215,26 @@ bool SetLobbyMemberLimit( CSteamID steamIDLobby, int cMaxMembers )
|
|||||||
// returns the current limit on the # of users who can join the lobby; returns 0 if no limit is defined
|
// returns the current limit on the # of users who can join the lobby; returns 0 if no limit is defined
|
||||||
int GetLobbyMemberLimit( CSteamID steamIDLobby )
|
int GetLobbyMemberLimit( CSteamID steamIDLobby )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetLobbyMemberLimit\n");
|
PRINT_DEBUG("Steam_MatchMaking::GetLobbyMemberLimit\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
Lobby *lobby = get_lobby(steamIDLobby);
|
Lobby *lobby = get_lobby(steamIDLobby);
|
||||||
int limit = 0;
|
int limit = 0;
|
||||||
if (lobby) limit = lobby->member_limit();
|
if (lobby) limit = lobby->member_limit();
|
||||||
|
|
||||||
PRINT_DEBUG("limit %i\n", limit);
|
PRINT_DEBUG(" limit %i\n", limit);
|
||||||
return limit;
|
return limit;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetLobbyVoiceEnabled( CSteamID steamIDLobby, bool bVoiceEnabled )
|
void SetLobbyVoiceEnabled( CSteamID steamIDLobby, bool bVoiceEnabled )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetLobbyVoiceEnabled\n");
|
PRINT_DEBUG("Steam_MatchMaking::SetLobbyVoiceEnabled\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
// updates which type of lobby it is
|
// updates which type of lobby it is
|
||||||
// only lobbies that are k_ELobbyTypePublic or k_ELobbyTypeInvisible, and are set to joinable, will be returned by RequestLobbyList() calls
|
// only lobbies that are k_ELobbyTypePublic or k_ELobbyTypeInvisible, and are set to joinable, will be returned by RequestLobbyList() calls
|
||||||
bool SetLobbyType( CSteamID steamIDLobby, ELobbyType eLobbyType )
|
bool SetLobbyType( CSteamID steamIDLobby, ELobbyType eLobbyType )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetLobbyType %i\n", eLobbyType);
|
PRINT_DEBUG("Steam_MatchMaking::SetLobbyType %i\n", eLobbyType);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
Lobby *lobby = get_lobby(steamIDLobby);
|
Lobby *lobby = get_lobby(steamIDLobby);
|
||||||
if (!lobby || lobby->owner() != settings->get_local_steam_id().ConvertToUint64() || lobby->deleted()) {
|
if (!lobby || lobby->owner() != settings->get_local_steam_id().ConvertToUint64() || lobby->deleted()) {
|
||||||
@ -1258,7 +1258,7 @@ bool SetLobbyType( CSteamID steamIDLobby, ELobbyType eLobbyType )
|
|||||||
// if set to false, no user can join, even if they are a friend or have been invited
|
// if set to false, no user can join, even if they are a friend or have been invited
|
||||||
bool SetLobbyJoinable( CSteamID steamIDLobby, bool bLobbyJoinable )
|
bool SetLobbyJoinable( CSteamID steamIDLobby, bool bLobbyJoinable )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetLobbyJoinable %u\n", bLobbyJoinable);
|
PRINT_DEBUG("Steam_MatchMaking::SetLobbyJoinable %u\n", bLobbyJoinable);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
Lobby *lobby = get_lobby(steamIDLobby);
|
Lobby *lobby = get_lobby(steamIDLobby);
|
||||||
if (!lobby || lobby->owner() != settings->get_local_steam_id().ConvertToUint64() || lobby->deleted()) {
|
if (!lobby || lobby->owner() != settings->get_local_steam_id().ConvertToUint64() || lobby->deleted()) {
|
||||||
@ -1280,7 +1280,7 @@ bool SetLobbyJoinable( CSteamID steamIDLobby, bool bLobbyJoinable )
|
|||||||
// it is possible (bur rare) to join a lobby just as the owner is leaving, thus entering a lobby with self as the owner
|
// it is possible (bur rare) to join a lobby just as the owner is leaving, thus entering a lobby with self as the owner
|
||||||
CSteamID GetLobbyOwner( CSteamID steamIDLobby )
|
CSteamID GetLobbyOwner( CSteamID steamIDLobby )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetLobbyOwner %llu\n", steamIDLobby.ConvertToUint64());
|
PRINT_DEBUG("Steam_MatchMaking::GetLobbyOwner %llu\n", steamIDLobby.ConvertToUint64());
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
Lobby *lobby = get_lobby(steamIDLobby);
|
Lobby *lobby = get_lobby(steamIDLobby);
|
||||||
if (!lobby || lobby->deleted()) return k_steamIDNil;
|
if (!lobby || lobby->deleted()) return k_steamIDNil;
|
||||||
@ -1295,7 +1295,7 @@ CSteamID GetLobbyOwner( CSteamID steamIDLobby )
|
|||||||
// filters don't apply to lobbies (currently)
|
// filters don't apply to lobbies (currently)
|
||||||
bool RequestFriendsLobbies()
|
bool RequestFriendsLobbies()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("RequestFriendsLobbies\n");
|
PRINT_DEBUG("Steam_MatchMaking::RequestFriendsLobbies\n");
|
||||||
RequestFriendsLobbiesResponse_t data = {};
|
RequestFriendsLobbiesResponse_t data = {};
|
||||||
callbacks->addCBResult(data.k_iCallback, &data, sizeof(data));
|
callbacks->addCBResult(data.k_iCallback, &data, sizeof(data));
|
||||||
return true;
|
return true;
|
||||||
@ -1303,7 +1303,7 @@ bool RequestFriendsLobbies()
|
|||||||
|
|
||||||
float GetLobbyDistance( CSteamID steamIDLobby )
|
float GetLobbyDistance( CSteamID steamIDLobby )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetLobbyDistance %llu\n", steamIDLobby.ConvertToUint64());
|
PRINT_DEBUG("Steam_MatchMaking::GetLobbyDistance %llu\n", steamIDLobby.ConvertToUint64());
|
||||||
return 0.0;
|
return 0.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1312,7 +1312,7 @@ float GetLobbyDistance( CSteamID steamIDLobby )
|
|||||||
// after completion, the local user will no longer be the owner
|
// after completion, the local user will no longer be the owner
|
||||||
bool SetLobbyOwner( CSteamID steamIDLobby, CSteamID steamIDNewOwner )
|
bool SetLobbyOwner( CSteamID steamIDLobby, CSteamID steamIDNewOwner )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetLobbyOwner\n");
|
PRINT_DEBUG("Steam_MatchMaking::SetLobbyOwner\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
Lobby *lobby = get_lobby(steamIDLobby);
|
Lobby *lobby = get_lobby(steamIDLobby);
|
||||||
if (!lobby || lobby->owner() != settings->get_local_steam_id().ConvertToUint64() || lobby->deleted()) return false;
|
if (!lobby || lobby->owner() != settings->get_local_steam_id().ConvertToUint64() || lobby->deleted()) return false;
|
||||||
@ -1333,7 +1333,7 @@ bool SetLobbyOwner( CSteamID steamIDLobby, CSteamID steamIDNewOwner )
|
|||||||
// you must be the lobby owner of both lobbies
|
// you must be the lobby owner of both lobbies
|
||||||
bool SetLinkedLobby( CSteamID steamIDLobby, CSteamID steamIDLobbyDependent )
|
bool SetLinkedLobby( CSteamID steamIDLobby, CSteamID steamIDLobbyDependent )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetLinkedLobby\n");
|
PRINT_DEBUG("Steam_MatchMaking::SetLinkedLobby\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1353,41 +1353,41 @@ void RunCallbacks()
|
|||||||
RunBackground();
|
RunBackground();
|
||||||
|
|
||||||
if (searching) {
|
if (searching) {
|
||||||
PRINT_DEBUG("Searching for lobbies %zu\n", lobbies.size());
|
PRINT_DEBUG("Steam_MatchMaking::Searching for lobbies %zu\n", lobbies.size());
|
||||||
for(auto & l: lobbies) {
|
for(auto & l: lobbies) {
|
||||||
bool use = l.joinable() && (l.type() == k_ELobbyTypePublic || l.type() == k_ELobbyTypeInvisible || l.type() == k_ELobbyTypeFriendsOnly) && !l.deleted();
|
bool use = l.joinable() && (l.type() == k_ELobbyTypePublic || l.type() == k_ELobbyTypeInvisible || l.type() == k_ELobbyTypeFriendsOnly) && !l.deleted();
|
||||||
PRINT_DEBUG("use lobby: %u, filters: %zu, joinable: %u, type: %u, deleted: %u\n", use, filter_values_copy.size(), l.joinable(), l.type(), l.deleted());
|
PRINT_DEBUG("Steam_MatchMaking use lobby: %u, filters: %zu, joinable: %u, type: %u, deleted: %u\n", use, filter_values_copy.size(), l.joinable(), l.type(), l.deleted());
|
||||||
for (auto & f : filter_values_copy) {
|
for (auto & f : filter_values_copy) {
|
||||||
PRINT_DEBUG("%s:%s/%i %u %i\n", f.key.c_str(), f.value_string.c_str(), f.value_int, f.is_int, f.eComparisonType);
|
PRINT_DEBUG("Steam_MatchMaking %s:%s/%i %u %i\n", f.key.c_str(), f.value_string.c_str(), f.value_int, f.is_int, f.eComparisonType);
|
||||||
auto value = caseinsensitive_find(l.values(), f.key);
|
auto value = caseinsensitive_find(l.values(), f.key);
|
||||||
if (value != l.values().end()) {
|
if (value != l.values().end()) {
|
||||||
//TODO: eComparisonType
|
//TODO: eComparisonType
|
||||||
if (!f.is_int) {
|
if (!f.is_int) {
|
||||||
PRINT_DEBUG("Compare Values %s %s\n", value->second.c_str(), f.value_string.c_str());
|
PRINT_DEBUG("Steam_MatchMaking Compare Values %s %s\n", value->second.c_str(), f.value_string.c_str());
|
||||||
if (f.eComparisonType == k_ELobbyComparisonEqual) {
|
if (f.eComparisonType == k_ELobbyComparisonEqual) {
|
||||||
if (value->second == f.value_string) {
|
if (value->second == f.value_string) {
|
||||||
PRINT_DEBUG("Equal\n");
|
PRINT_DEBUG("Steam_MatchMaking Equal\n");
|
||||||
//use = use;
|
//use = use;
|
||||||
} else {
|
} else {
|
||||||
PRINT_DEBUG("Not Equal\n");
|
PRINT_DEBUG("Steam_MatchMaking Not Equal\n");
|
||||||
use = false;
|
use = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
PRINT_DEBUG("%s\n", value->second.c_str());
|
PRINT_DEBUG("Steam_MatchMaking %s\n", value->second.c_str());
|
||||||
int compare_to = 0;
|
int compare_to = 0;
|
||||||
//TODO: check if this is how real steam behaves
|
//TODO: check if this is how real steam behaves
|
||||||
if (value->second.size()) {
|
if (value->second.size()) {
|
||||||
compare_to = std::stoll(value->second, 0, 0);
|
compare_to = std::stoll(value->second, 0, 0);
|
||||||
}
|
}
|
||||||
PRINT_DEBUG("Compare Values %i %i\n", compare_to, f.value_int);
|
PRINT_DEBUG("Steam_MatchMaking Compare Values %i %i\n", compare_to, f.value_int);
|
||||||
if (f.eComparisonType == k_ELobbyComparisonEqual) {
|
if (f.eComparisonType == k_ELobbyComparisonEqual) {
|
||||||
if (compare_to == f.value_int) {
|
if (compare_to == f.value_int) {
|
||||||
PRINT_DEBUG("Equal\n");
|
PRINT_DEBUG("Steam_MatchMaking Equal\n");
|
||||||
//use = use;
|
//use = use;
|
||||||
} else {
|
} else {
|
||||||
PRINT_DEBUG("Not Equal\n");
|
PRINT_DEBUG("Steam_MatchMaking Not Equal\n");
|
||||||
use = false;
|
use = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1398,7 +1398,7 @@ void RunCallbacks()
|
|||||||
//TODO: add more comparisons
|
//TODO: add more comparisons
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
PRINT_DEBUG("Compare Key not in lobby\n");
|
PRINT_DEBUG("Steam_MatchMaking Compare Key not in lobby\n");
|
||||||
if (f.eComparisonType == k_ELobbyComparisonEqual) {
|
if (f.eComparisonType == k_ELobbyComparisonEqual) {
|
||||||
//If the key is not in the lobby do we take it into account?
|
//If the key is not in the lobby do we take it into account?
|
||||||
use = false;
|
use = false;
|
||||||
@ -1406,7 +1406,7 @@ void RunCallbacks()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PRINT_DEBUG("Lobby " "%" PRIu64 " use %u\n", l.room_id(), use);
|
PRINT_DEBUG("Steam_MatchMaking Lobby " "%" PRIu64 " use %u\n", l.room_id(), use);
|
||||||
if (use) PUSH_BACK_IF_NOT_IN(filtered_lobbies, (uint64)l.room_id());
|
if (use) PUSH_BACK_IF_NOT_IN(filtered_lobbies, (uint64)l.room_id());
|
||||||
if (filtered_lobbies.size() >= filter_max_results_copy) {
|
if (filtered_lobbies.size() >= filter_max_results_copy) {
|
||||||
searching = false;
|
searching = false;
|
||||||
@ -1420,7 +1420,7 @@ void RunCallbacks()
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (searching && check_timedout(lobby_last_search, LOBBY_SEARCH_TIMEOUT)) {
|
if (searching && check_timedout(lobby_last_search, LOBBY_SEARCH_TIMEOUT)) {
|
||||||
PRINT_DEBUG("LOBBY_SEARCH_TIMEOUT %zu\n", filtered_lobbies.size());
|
PRINT_DEBUG("Steam_MatchMaking LOBBY_SEARCH_TIMEOUT %zu\n", filtered_lobbies.size());
|
||||||
LobbyMatchList_t data;
|
LobbyMatchList_t data;
|
||||||
data.m_nLobbiesMatching = filtered_lobbies.size();
|
data.m_nLobbiesMatching = filtered_lobbies.size();
|
||||||
callback_results->addCallResult(search_call_api_id, data.k_iCallback, &data, sizeof(data));
|
callback_results->addCallResult(search_call_api_id, data.k_iCallback, &data, sizeof(data));
|
||||||
@ -1432,7 +1432,7 @@ void RunCallbacks()
|
|||||||
auto g = std::begin(pending_joins);
|
auto g = std::begin(pending_joins);
|
||||||
while (g != std::end(pending_joins)) {
|
while (g != std::end(pending_joins)) {
|
||||||
if (!g->message_sent) {
|
if (!g->message_sent) {
|
||||||
PRINT_DEBUG("Resend join lobby\n");
|
PRINT_DEBUG("Steam_MatchMaking Resend join lobby\n");
|
||||||
Lobby_Messages *message = new Lobby_Messages();
|
Lobby_Messages *message = new Lobby_Messages();
|
||||||
message->set_type(Lobby_Messages::JOIN);
|
message->set_type(Lobby_Messages::JOIN);
|
||||||
g->message_sent = send_owner_packet(g->lobby_id, message);
|
g->message_sent = send_owner_packet(g->lobby_id, message);
|
||||||
@ -1471,7 +1471,7 @@ void RunCallbacks()
|
|||||||
callback_results->addCallResult(g->api_id, data.k_iCallback, &data, sizeof(data));
|
callback_results->addCallResult(g->api_id, data.k_iCallback, &data, sizeof(data));
|
||||||
callbacks->addCBResult(data.k_iCallback, &data, sizeof(data));
|
callbacks->addCBResult(data.k_iCallback, &data, sizeof(data));
|
||||||
g = pending_joins.erase(g);
|
g = pending_joins.erase(g);
|
||||||
PRINT_DEBUG("PENDING_JOIN_TIMEOUT\n");
|
PRINT_DEBUG("Steam_MatchMaking PENDING_JOIN_TIMEOUT\n");
|
||||||
} else {
|
} else {
|
||||||
++g;
|
++g;
|
||||||
}
|
}
|
||||||
@ -1501,7 +1501,7 @@ void RunCallbacks()
|
|||||||
void Callback(Common_Message *msg)
|
void Callback(Common_Message *msg)
|
||||||
{
|
{
|
||||||
if (msg->has_lobby()) {
|
if (msg->has_lobby()) {
|
||||||
PRINT_DEBUG("GOT A LOBBY appid: %u\n", msg->lobby().appid());
|
PRINT_DEBUG("Steam_MatchMaking GOT A LOBBY appid: %u\n", msg->lobby().appid());
|
||||||
if (msg->lobby().owner() != settings->get_local_steam_id().ConvertToUint64() && msg->lobby().appid() == settings->get_local_game_id().AppID()) {
|
if (msg->lobby().owner() != settings->get_local_steam_id().ConvertToUint64() && msg->lobby().appid() == settings->get_local_game_id().AppID()) {
|
||||||
Lobby *lobby = get_lobby((uint64)msg->lobby().room_id());
|
Lobby *lobby = get_lobby((uint64)msg->lobby().room_id());
|
||||||
if (!lobby) {
|
if (!lobby) {
|
||||||
@ -1588,24 +1588,24 @@ void Callback(Common_Message *msg)
|
|||||||
|
|
||||||
|
|
||||||
if (msg->has_lobby_messages()) {
|
if (msg->has_lobby_messages()) {
|
||||||
PRINT_DEBUG("LOBBY MESSAGE %u " "%" PRIu64 "\n", msg->lobby_messages().type(), msg->lobby_messages().id());
|
PRINT_DEBUG("Steam_MatchMaking LOBBY MESSAGE %u " "%" PRIu64 "\n", msg->lobby_messages().type(), msg->lobby_messages().id());
|
||||||
Lobby *lobby = get_lobby((uint64)msg->lobby_messages().id());
|
Lobby *lobby = get_lobby((uint64)msg->lobby_messages().id());
|
||||||
if (lobby && !lobby->deleted()) {
|
if (lobby && !lobby->deleted()) {
|
||||||
bool we_are_in_lobby = !!get_lobby_member(lobby, settings->get_local_steam_id());
|
bool we_are_in_lobby = !!get_lobby_member(lobby, settings->get_local_steam_id());
|
||||||
if (lobby->owner() == settings->get_local_steam_id().ConvertToUint64()) {
|
if (lobby->owner() == settings->get_local_steam_id().ConvertToUint64()) {
|
||||||
if (msg->lobby_messages().type() == Lobby_Messages::JOIN) {
|
if (msg->lobby_messages().type() == Lobby_Messages::JOIN) {
|
||||||
PRINT_DEBUG("LOBBY MESSAGE: JOIN\n");
|
PRINT_DEBUG("Steam_MatchMaking LOBBY MESSAGE: JOIN\n");
|
||||||
if (enter_lobby(lobby, (uint64)msg->source_id())) {
|
if (enter_lobby(lobby, (uint64)msg->source_id())) {
|
||||||
trigger_lobby_member_join_leave((uint64)lobby->room_id(), (uint64)msg->source_id(), false, true, 0.01);
|
trigger_lobby_member_join_leave((uint64)lobby->room_id(), (uint64)msg->source_id(), false, true, 0.01);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (msg->lobby_messages().type() == Lobby_Messages::MEMBER_DATA) {
|
if (msg->lobby_messages().type() == Lobby_Messages::MEMBER_DATA) {
|
||||||
PRINT_DEBUG("LOBBY MESSAGE: MEMBER_DATA\n");
|
PRINT_DEBUG("Steam_MatchMaking LOBBY MESSAGE: MEMBER_DATA\n");
|
||||||
Lobby_Member *member = get_lobby_member(lobby, (uint64)msg->source_id());
|
Lobby_Member *member = get_lobby_member(lobby, (uint64)msg->source_id());
|
||||||
if (member) {
|
if (member) {
|
||||||
for (auto const &p : msg->lobby_messages().map()) {
|
for (auto const &p : msg->lobby_messages().map()) {
|
||||||
PRINT_DEBUG("member data %s:%s\n", p.first.c_str(), p.second.c_str());
|
PRINT_DEBUG("Steam_MatchMaking member data %s:%s\n", p.first.c_str(), p.second.c_str());
|
||||||
auto result = caseinsensitive_find(member->values(), p.first);
|
auto result = caseinsensitive_find(member->values(), p.first);
|
||||||
if (result == member->values().end()) {
|
if (result == member->values().end()) {
|
||||||
(*member->mutable_values())[p.first] = p.second;
|
(*member->mutable_values())[p.first] = p.second;
|
||||||
@ -1620,19 +1620,19 @@ void Callback(Common_Message *msg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (msg->lobby_messages().type() == Lobby_Messages::LEAVE) {
|
if (msg->lobby_messages().type() == Lobby_Messages::LEAVE) {
|
||||||
PRINT_DEBUG("LOBBY MESSAGE: LEAVE " "%" PRIu64 "\n", msg->source_id());
|
PRINT_DEBUG("Steam_MatchMaking LOBBY MESSAGE: LEAVE " "%" PRIu64 "\n", msg->source_id());
|
||||||
leave_lobby(lobby, (uint64)msg->source_id());
|
leave_lobby(lobby, (uint64)msg->source_id());
|
||||||
if (we_are_in_lobby) trigger_lobby_member_join_leave((uint64)lobby->room_id(), (uint64)msg->source_id(), true, true, 0.2);
|
if (we_are_in_lobby) trigger_lobby_member_join_leave((uint64)lobby->room_id(), (uint64)msg->source_id(), true, true, 0.2);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (msg->lobby_messages().type() == Lobby_Messages::CHANGE_OWNER) {
|
if (msg->lobby_messages().type() == Lobby_Messages::CHANGE_OWNER) {
|
||||||
PRINT_DEBUG("LOBBY MESSAGE: CHANGE OWNER\n");
|
PRINT_DEBUG("Steam_MatchMaking LOBBY MESSAGE: CHANGE OWNER\n");
|
||||||
lobby->set_owner(msg->lobby_messages().idata());
|
lobby->set_owner(msg->lobby_messages().idata());
|
||||||
if (we_are_in_lobby) trigger_lobby_dataupdate((uint64)lobby->room_id(), (uint64)lobby->room_id(), true);
|
if (we_are_in_lobby) trigger_lobby_dataupdate((uint64)lobby->room_id(), (uint64)lobby->room_id(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (msg->lobby_messages().type() == Lobby_Messages::CHAT_MESSAGE) {
|
if (msg->lobby_messages().type() == Lobby_Messages::CHAT_MESSAGE) {
|
||||||
PRINT_DEBUG("LOBBY MESSAGE: CHAT MESSAGE\n");
|
PRINT_DEBUG("Steam_MatchMaking LOBBY MESSAGE: CHAT MESSAGE\n");
|
||||||
if (we_are_in_lobby) {
|
if (we_are_in_lobby) {
|
||||||
struct Chat_Entry entry;
|
struct Chat_Entry entry;
|
||||||
entry.type = k_EChatEntryTypeChatMsg;
|
entry.type = k_EChatEntryTypeChatMsg;
|
||||||
|
@ -31,7 +31,7 @@ public ISteamTV
|
|||||||
public:
|
public:
|
||||||
static void steam_callback(void *object, Common_Message *msg)
|
static void steam_callback(void *object, Common_Message *msg)
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("steam_tv_callback\n");
|
PRINT_DEBUG("TODO Steam_TV::steam_tv_callback\n");
|
||||||
|
|
||||||
Steam_TV *steam_parties = (Steam_TV *)object;
|
Steam_TV *steam_parties = (Steam_TV *)object;
|
||||||
steam_parties->Callback(msg);
|
steam_parties->Callback(msg);
|
||||||
@ -65,39 +65,39 @@ Steam_TV(class Settings *settings, class Networking *network, class SteamCallRes
|
|||||||
|
|
||||||
bool IsBroadcasting(int *pnNumViewers)
|
bool IsBroadcasting(int *pnNumViewers)
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_TV::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AddBroadcastGameData(const char * pchKey, const char * pchValue)
|
void AddBroadcastGameData(const char * pchKey, const char * pchValue)
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_TV::%s\n", __FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RemoveBroadcastGameData(const char * pchKey)
|
void RemoveBroadcastGameData(const char * pchKey)
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_TV::%s\n", __FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AddTimelineMarker(const char * pchTemplateName, bool bPersistent, uint8 nColorR, uint8 nColorG, uint8 nColorB)
|
void AddTimelineMarker(const char * pchTemplateName, bool bPersistent, uint8 nColorR, uint8 nColorG, uint8 nColorB)
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_TV::%s\n", __FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RemoveTimelineMarker()
|
void RemoveTimelineMarker()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_TV::%s\n", __FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32 AddRegion(const char * pchElementName, const char * pchTimelineDataSection, const SteamTVRegion_t * pSteamTVRegion, ESteamTVRegionBehavior eSteamTVRegionBehavior)
|
uint32 AddRegion(const char * pchElementName, const char * pchTimelineDataSection, const SteamTVRegion_t * pSteamTVRegion, ESteamTVRegionBehavior eSteamTVRegionBehavior)
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_TV::%s\n", __FUNCTION__);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void RemoveRegion(uint32 unRegionHandle)
|
void RemoveRegion(uint32 unRegionHandle)
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_TV::%s\n", __FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RunCallbacks()
|
void RunCallbacks()
|
||||||
|
@ -68,7 +68,7 @@ Steam_User(Settings *settings, Local_Storage *local_storage, class Networking *n
|
|||||||
// this is only used internally by the API, and by a few select interfaces that support multi-user
|
// this is only used internally by the API, and by a few select interfaces that support multi-user
|
||||||
HSteamUser GetHSteamUser()
|
HSteamUser GetHSteamUser()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetHSteamUser\n");
|
PRINT_DEBUG("Steam_User::GetHSteamUser\n");
|
||||||
return CLIENT_HSTEAMUSER;
|
return CLIENT_HSTEAMUSER;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -112,7 +112,7 @@ CSteamID GetSteamID()
|
|||||||
|
|
||||||
int InitiateGameConnection( void *pAuthBlob, int cbMaxAuthBlob, CSteamID steamIDGameServer, uint32 unIPServer, uint16 usPortServer, bool bSecure )
|
int InitiateGameConnection( void *pAuthBlob, int cbMaxAuthBlob, CSteamID steamIDGameServer, uint32 unIPServer, uint16 usPortServer, bool bSecure )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("InitiateGameConnection %i %llu %u %u %u %p\n", cbMaxAuthBlob, steamIDGameServer.ConvertToUint64(), unIPServer, usPortServer, bSecure, pAuthBlob);
|
PRINT_DEBUG("Steam_User::InitiateGameConnection %i %llu %u %u %u %p\n", cbMaxAuthBlob, steamIDGameServer.ConvertToUint64(), unIPServer, usPortServer, bSecure, pAuthBlob);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (cbMaxAuthBlob < INITIATE_GAME_CONNECTION_TICKET_SIZE) return 0;
|
if (cbMaxAuthBlob < INITIATE_GAME_CONNECTION_TICKET_SIZE) return 0;
|
||||||
if (!pAuthBlob) return 0;
|
if (!pAuthBlob) return 0;
|
||||||
@ -131,7 +131,7 @@ int InitiateGameConnection( void *pAuthBlob, int cbMaxAuthBlob, CSteamID steamID
|
|||||||
// needs to occur when the game client leaves the specified game server, needs to match with the InitiateGameConnection() call
|
// needs to occur when the game client leaves the specified game server, needs to match with the InitiateGameConnection() call
|
||||||
void TerminateGameConnection( uint32 unIPServer, uint16 usPortServer )
|
void TerminateGameConnection( uint32 unIPServer, uint16 usPortServer )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("TerminateGameConnection\n");
|
PRINT_DEBUG("Steam_User::TerminateGameConnection\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Legacy functions
|
// Legacy functions
|
||||||
@ -139,7 +139,7 @@ void TerminateGameConnection( uint32 unIPServer, uint16 usPortServer )
|
|||||||
// used by only a few games to track usage events
|
// used by only a few games to track usage events
|
||||||
void TrackAppUsageEvent( CGameID gameID, int eAppUsageEvent, const char *pchExtraInfo)
|
void TrackAppUsageEvent( CGameID gameID, int eAppUsageEvent, const char *pchExtraInfo)
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("TrackAppUsageEvent\n");
|
PRINT_DEBUG("Steam_User::TrackAppUsageEvent\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
void RefreshSteam2Login()
|
void RefreshSteam2Login()
|
||||||
@ -151,7 +151,7 @@ void RefreshSteam2Login()
|
|||||||
// this will usually be something like "C:\Progam Files\Steam\userdata\<SteamID>\<AppID>\local"
|
// this will usually be something like "C:\Progam Files\Steam\userdata\<SteamID>\<AppID>\local"
|
||||||
bool GetUserDataFolder( char *pchBuffer, int cubBuffer )
|
bool GetUserDataFolder( char *pchBuffer, int cubBuffer )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetUserDataFolder\n");
|
PRINT_DEBUG("Steam_User::GetUserDataFolder\n");
|
||||||
if (!cubBuffer) return false;
|
if (!cubBuffer) return false;
|
||||||
|
|
||||||
std::string user_data = local_storage->get_path(Local_Storage::user_data_storage);
|
std::string user_data = local_storage->get_path(Local_Storage::user_data_storage);
|
||||||
@ -163,7 +163,7 @@ bool GetUserDataFolder( char *pchBuffer, int cubBuffer )
|
|||||||
// Starts voice recording. Once started, use GetVoice() to get the data
|
// Starts voice recording. Once started, use GetVoice() to get the data
|
||||||
void StartVoiceRecording( )
|
void StartVoiceRecording( )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("StartVoiceRecording\n");
|
PRINT_DEBUG("Steam_User::StartVoiceRecording\n");
|
||||||
last_get_voice = std::chrono::high_resolution_clock::now();
|
last_get_voice = std::chrono::high_resolution_clock::now();
|
||||||
recording = true;
|
recording = true;
|
||||||
//TODO:fix
|
//TODO:fix
|
||||||
@ -175,7 +175,7 @@ void StartVoiceRecording( )
|
|||||||
// k_eVoiceResultNotRecording
|
// k_eVoiceResultNotRecording
|
||||||
void StopVoiceRecording( )
|
void StopVoiceRecording( )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("StopVoiceRecording\n");
|
PRINT_DEBUG("Steam_User::StopVoiceRecording\n");
|
||||||
recording = false;
|
recording = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -185,7 +185,7 @@ void StopVoiceRecording( )
|
|||||||
// below for further explanation of "uncompressed" data.
|
// below for further explanation of "uncompressed" data.
|
||||||
EVoiceResult GetAvailableVoice( uint32 *pcbCompressed, uint32 *pcbUncompressed_Deprecated, uint32 nUncompressedVoiceDesiredSampleRate_Deprecated )
|
EVoiceResult GetAvailableVoice( uint32 *pcbCompressed, uint32 *pcbUncompressed_Deprecated, uint32 nUncompressedVoiceDesiredSampleRate_Deprecated )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetAvailableVoice\n");
|
PRINT_DEBUG("Steam_User::GetAvailableVoice\n");
|
||||||
if (pcbCompressed) *pcbCompressed = 0;
|
if (pcbCompressed) *pcbCompressed = 0;
|
||||||
if (pcbUncompressed_Deprecated) *pcbUncompressed_Deprecated = 0;
|
if (pcbUncompressed_Deprecated) *pcbUncompressed_Deprecated = 0;
|
||||||
if (!recording) return k_EVoiceResultNotRecording;
|
if (!recording) return k_EVoiceResultNotRecording;
|
||||||
@ -225,7 +225,7 @@ EVoiceResult GetAvailableVoice(uint32 *pcbCompressed, uint32 *pcbUncompressed)
|
|||||||
// using the DecompressVoice function below.
|
// using the DecompressVoice function below.
|
||||||
EVoiceResult GetVoice( bool bWantCompressed, void *pDestBuffer, uint32 cbDestBufferSize, uint32 *nBytesWritten, bool bWantUncompressed_Deprecated, void *pUncompressedDestBuffer_Deprecated , uint32 cbUncompressedDestBufferSize_Deprecated , uint32 *nUncompressBytesWritten_Deprecated , uint32 nUncompressedVoiceDesiredSampleRate_Deprecated )
|
EVoiceResult GetVoice( bool bWantCompressed, void *pDestBuffer, uint32 cbDestBufferSize, uint32 *nBytesWritten, bool bWantUncompressed_Deprecated, void *pUncompressedDestBuffer_Deprecated , uint32 cbUncompressedDestBufferSize_Deprecated , uint32 *nUncompressBytesWritten_Deprecated , uint32 nUncompressedVoiceDesiredSampleRate_Deprecated )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetVoice\n");
|
PRINT_DEBUG("Steam_User::GetVoice\n");
|
||||||
if (!recording) return k_EVoiceResultNotRecording;
|
if (!recording) return k_EVoiceResultNotRecording;
|
||||||
double seconds = std::chrono::duration_cast<std::chrono::duration<double>>(std::chrono::high_resolution_clock::now() - last_get_voice).count();
|
double seconds = std::chrono::duration_cast<std::chrono::duration<double>>(std::chrono::high_resolution_clock::now() - last_get_voice).count();
|
||||||
if (bWantCompressed) {
|
if (bWantCompressed) {
|
||||||
@ -236,7 +236,7 @@ EVoiceResult GetVoice( bool bWantCompressed, void *pDestBuffer, uint32 cbDestBuf
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (bWantUncompressed_Deprecated) {
|
if (bWantUncompressed_Deprecated) {
|
||||||
PRINT_DEBUG("Wanted Uncompressed\n");
|
PRINT_DEBUG("Steam_User::GetVoice Wanted Uncompressed\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
last_get_voice = std::chrono::high_resolution_clock::now();
|
last_get_voice = std::chrono::high_resolution_clock::now();
|
||||||
@ -263,7 +263,7 @@ EVoiceResult GetCompressedVoice( void *pDestBuffer, uint32 cbDestBufferSize, uin
|
|||||||
// It is suggested to start with a 20kb buffer and reallocate as necessary.
|
// It is suggested to start with a 20kb buffer and reallocate as necessary.
|
||||||
EVoiceResult DecompressVoice( const void *pCompressed, uint32 cbCompressed, void *pDestBuffer, uint32 cbDestBufferSize, uint32 *nBytesWritten, uint32 nDesiredSampleRate )
|
EVoiceResult DecompressVoice( const void *pCompressed, uint32 cbCompressed, void *pDestBuffer, uint32 cbDestBufferSize, uint32 *nBytesWritten, uint32 nDesiredSampleRate )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("DecompressVoice\n");
|
PRINT_DEBUG("Steam_User::DecompressVoice\n");
|
||||||
if (!recording) return k_EVoiceResultNotRecording;
|
if (!recording) return k_EVoiceResultNotRecording;
|
||||||
uint32 uncompressed = (double)cbCompressed * ((double)nDesiredSampleRate / 8192.0);
|
uint32 uncompressed = (double)cbCompressed * ((double)nDesiredSampleRate / 8192.0);
|
||||||
if(nBytesWritten) *nBytesWritten = uncompressed;
|
if(nBytesWritten) *nBytesWritten = uncompressed;
|
||||||
@ -294,7 +294,7 @@ EVoiceResult DecompressVoice( void *pCompressed, uint32 cbCompressed, void *pDes
|
|||||||
// which is usually 48000 or 44100.
|
// which is usually 48000 or 44100.
|
||||||
uint32 GetVoiceOptimalSampleRate()
|
uint32 GetVoiceOptimalSampleRate()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetVoiceOptimalSampleRate\n");
|
PRINT_DEBUG("Steam_User::GetVoiceOptimalSampleRate\n");
|
||||||
return 48000;
|
return 48000;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -368,7 +368,7 @@ EUserHasLicenseForAppResult UserHasLicenseForApp( CSteamID steamID, AppId_t appI
|
|||||||
// (i.e a SteamServersConnected_t has been issued) and may not catch all forms of NAT.
|
// (i.e a SteamServersConnected_t has been issued) and may not catch all forms of NAT.
|
||||||
bool BIsBehindNAT()
|
bool BIsBehindNAT()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BIsBehindNAT\n");
|
PRINT_DEBUG("Steam_User::BIsBehindNAT\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -377,7 +377,7 @@ bool BIsBehindNAT()
|
|||||||
// uint32 unIPServer, uint16 usPortServer - the IP address of the game server
|
// uint32 unIPServer, uint16 usPortServer - the IP address of the game server
|
||||||
void AdvertiseGame( CSteamID steamIDGameServer, uint32 unIPServer, uint16 usPortServer )
|
void AdvertiseGame( CSteamID steamIDGameServer, uint32 unIPServer, uint16 usPortServer )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("AdvertiseGame\n");
|
PRINT_DEBUG("Steam_User::AdvertiseGame\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
Gameserver *server = new Gameserver();
|
Gameserver *server = new Gameserver();
|
||||||
server->set_id(steamIDGameServer.ConvertToUint64());
|
server->set_id(steamIDGameServer.ConvertToUint64());
|
||||||
@ -468,14 +468,14 @@ bool GetEncryptedAppTicket( void *pTicket, int cbMaxTicket, uint32 *pcbTicket )
|
|||||||
// the user has can have two different badges for a series; the regular (max level 5) and the foil (max level 1)
|
// the user has can have two different badges for a series; the regular (max level 5) and the foil (max level 1)
|
||||||
int GetGameBadgeLevel( int nSeries, bool bFoil )
|
int GetGameBadgeLevel( int nSeries, bool bFoil )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetGameBadgeLevel\n");
|
PRINT_DEBUG("Steam_User::GetGameBadgeLevel\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// gets the Steam Level of the user, as shown on their profile
|
// gets the Steam Level of the user, as shown on their profile
|
||||||
int GetPlayerSteamLevel()
|
int GetPlayerSteamLevel()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetPlayerSteamLevel\n");
|
PRINT_DEBUG("Steam_User::GetPlayerSteamLevel\n");
|
||||||
return 100;
|
return 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -492,42 +492,42 @@ int GetPlayerSteamLevel()
|
|||||||
STEAM_CALL_RESULT( StoreAuthURLResponse_t )
|
STEAM_CALL_RESULT( StoreAuthURLResponse_t )
|
||||||
SteamAPICall_t RequestStoreAuthURL( const char *pchRedirectURL )
|
SteamAPICall_t RequestStoreAuthURL( const char *pchRedirectURL )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("RequestStoreAuthURL\n");
|
PRINT_DEBUG("Steam_User::RequestStoreAuthURL\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// gets whether the users phone number is verified
|
// gets whether the users phone number is verified
|
||||||
bool BIsPhoneVerified()
|
bool BIsPhoneVerified()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BIsPhoneVerified\n");
|
PRINT_DEBUG("Steam_User::BIsPhoneVerified\n");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// gets whether the user has two factor enabled on their account
|
// gets whether the user has two factor enabled on their account
|
||||||
bool BIsTwoFactorEnabled()
|
bool BIsTwoFactorEnabled()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BIsTwoFactorEnabled\n");
|
PRINT_DEBUG("Steam_User::BIsTwoFactorEnabled\n");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// gets whether the users phone number is identifying
|
// gets whether the users phone number is identifying
|
||||||
bool BIsPhoneIdentifying()
|
bool BIsPhoneIdentifying()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BIsPhoneIdentifying\n");
|
PRINT_DEBUG("Steam_User::BIsPhoneIdentifying\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// gets whether the users phone number is awaiting (re)verification
|
// gets whether the users phone number is awaiting (re)verification
|
||||||
bool BIsPhoneRequiringVerification()
|
bool BIsPhoneRequiringVerification()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BIsPhoneRequiringVerification\n");
|
PRINT_DEBUG("Steam_User::BIsPhoneRequiringVerification\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
STEAM_CALL_RESULT( MarketEligibilityResponse_t )
|
STEAM_CALL_RESULT( MarketEligibilityResponse_t )
|
||||||
SteamAPICall_t GetMarketEligibility()
|
SteamAPICall_t GetMarketEligibility()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetMarketEligibility\n");
|
PRINT_DEBUG("Steam_User::GetMarketEligibility\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -535,7 +535,7 @@ SteamAPICall_t GetMarketEligibility()
|
|||||||
STEAM_CALL_RESULT( DurationControl_t )
|
STEAM_CALL_RESULT( DurationControl_t )
|
||||||
SteamAPICall_t GetDurationControl()
|
SteamAPICall_t GetDurationControl()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetDurationControl\n");
|
PRINT_DEBUG("Steam_User::GetDurationControl\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -544,7 +544,7 @@ SteamAPICall_t GetDurationControl()
|
|||||||
// playtime limits.
|
// playtime limits.
|
||||||
bool BSetDurationControlOnlineState( EDurationControlOnlineState eNewState )
|
bool BSetDurationControlOnlineState( EDurationControlOnlineState eNewState )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BSetDurationControlOnlineState\n");
|
PRINT_DEBUG("Steam_User::BSetDurationControlOnlineState\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -176,7 +176,7 @@ std::vector<Steam_Leaderboard_Score> load_leaderboard_scores(std::string name)
|
|||||||
i += 1;
|
i += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
PRINT_DEBUG("loaded leaderboard score %llu %u\n", score.steam_id.ConvertToUint64(), score.score);
|
PRINT_DEBUG("Steam_User_Stats::loaded leaderboard score %llu %u\n", score.steam_id.ConvertToUint64(), score.score);
|
||||||
out.push_back(score);
|
out.push_back(score);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -295,7 +295,7 @@ bool RequestCurrentStats()
|
|||||||
// Data accessors
|
// Data accessors
|
||||||
bool GetStat( const char *pchName, int32 *pData )
|
bool GetStat( const char *pchName, int32 *pData )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetStat int32 %s\n", pchName);
|
PRINT_DEBUG("Steam_User_Stats::GetStat int32 %s\n", pchName);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
if (!pchName || !pData) return false;
|
if (!pchName || !pData) return false;
|
||||||
@ -332,7 +332,7 @@ bool GetStat( const char *pchName, int32 *pData )
|
|||||||
|
|
||||||
bool GetStat( const char *pchName, float *pData )
|
bool GetStat( const char *pchName, float *pData )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetStat float %s\n", pchName);
|
PRINT_DEBUG("Steam_User_Stats::GetStat float %s\n", pchName);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
if (!pchName || !pData) return false;
|
if (!pchName || !pData) return false;
|
||||||
@ -371,7 +371,7 @@ bool GetStat( const char *pchName, float *pData )
|
|||||||
// Set / update data
|
// Set / update data
|
||||||
bool SetStat( const char *pchName, int32 nData )
|
bool SetStat( const char *pchName, int32 nData )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetStat int32 %s\n", pchName);
|
PRINT_DEBUG("Steam_User_Stats::SetStat int32 %s\n", pchName);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
if (!pchName) return false;
|
if (!pchName) return false;
|
||||||
@ -401,7 +401,7 @@ bool SetStat( const char *pchName, int32 nData )
|
|||||||
|
|
||||||
bool SetStat( const char *pchName, float fData )
|
bool SetStat( const char *pchName, float fData )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetStat float %s\n", pchName);
|
PRINT_DEBUG("Steam_User_Stats::SetStat float %s\n", pchName);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
if (!pchName) return false;
|
if (!pchName) return false;
|
||||||
@ -431,7 +431,7 @@ bool SetStat( const char *pchName, float fData )
|
|||||||
|
|
||||||
bool UpdateAvgRateStat( const char *pchName, float flCountThisSession, double dSessionLength )
|
bool UpdateAvgRateStat( const char *pchName, float flCountThisSession, double dSessionLength )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("UpdateAvgRateStat %s\n", pchName);
|
PRINT_DEBUG("Steam_User_Stats::UpdateAvgRateStat %s\n", pchName);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
if (!pchName) return false;
|
if (!pchName) return false;
|
||||||
@ -466,7 +466,7 @@ bool UpdateAvgRateStat( const char *pchName, float flCountThisSession, double dS
|
|||||||
// Achievement flag accessors
|
// Achievement flag accessors
|
||||||
bool GetAchievement( const char *pchName, bool *pbAchieved )
|
bool GetAchievement( const char *pchName, bool *pbAchieved )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetAchievement %s\n", pchName);
|
PRINT_DEBUG("Steam_User_Stats::GetAchievement %s\n", pchName);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
if (pchName == nullptr) return false;
|
if (pchName == nullptr) return false;
|
||||||
@ -490,7 +490,7 @@ bool GetAchievement( const char *pchName, bool *pbAchieved )
|
|||||||
|
|
||||||
bool SetAchievement( const char *pchName )
|
bool SetAchievement( const char *pchName )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetAchievement %s\n", pchName);
|
PRINT_DEBUG("Steam_User_Stats::SetAchievement %s\n", pchName);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
if (pchName == nullptr) return false;
|
if (pchName == nullptr) return false;
|
||||||
@ -521,7 +521,7 @@ bool SetAchievement( const char *pchName )
|
|||||||
|
|
||||||
bool ClearAchievement( const char *pchName )
|
bool ClearAchievement( const char *pchName )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("ClearAchievement %s\n", pchName);
|
PRINT_DEBUG("Steam_User_Stats::ClearAchievement %s\n", pchName);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
if (pchName == nullptr) return false;
|
if (pchName == nullptr) return false;
|
||||||
@ -548,7 +548,7 @@ bool ClearAchievement( const char *pchName )
|
|||||||
// began tracking achievement unlock times (December 2009). Time is seconds since January 1, 1970.
|
// began tracking achievement unlock times (December 2009). Time is seconds since January 1, 1970.
|
||||||
bool GetAchievementAndUnlockTime( const char *pchName, bool *pbAchieved, uint32 *punUnlockTime )
|
bool GetAchievementAndUnlockTime( const char *pchName, bool *pbAchieved, uint32 *punUnlockTime )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetAchievementAndUnlockTime\n");
|
PRINT_DEBUG("Steam_User_Stats::GetAchievementAndUnlockTime\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
if (pchName == nullptr) return false;
|
if (pchName == nullptr) return false;
|
||||||
@ -581,7 +581,7 @@ bool GetAchievementAndUnlockTime( const char *pchName, bool *pbAchieved, uint32
|
|||||||
// The stats should be re-iterated to keep in sync.
|
// The stats should be re-iterated to keep in sync.
|
||||||
bool StoreStats()
|
bool StoreStats()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("StoreStats\n");
|
PRINT_DEBUG("Steam_User_Stats::StoreStats\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
UserStatsStored_t data;
|
UserStatsStored_t data;
|
||||||
@ -600,7 +600,7 @@ bool StoreStats()
|
|||||||
// specified achievement.
|
// specified achievement.
|
||||||
int GetAchievementIcon( const char *pchName )
|
int GetAchievementIcon( const char *pchName )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetAchievementIcon\n");
|
PRINT_DEBUG("Steam_User_Stats::GetAchievementIcon\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (pchName == nullptr) return 0;
|
if (pchName == nullptr) return 0;
|
||||||
|
|
||||||
@ -629,7 +629,7 @@ std::string get_achievement_icon_name( const char *pchName, bool pbAchieved )
|
|||||||
// - "hidden" for retrieving if an achievement is hidden (returns "0" when not hidden, "1" when hidden)
|
// - "hidden" for retrieving if an achievement is hidden (returns "0" when not hidden, "1" when hidden)
|
||||||
const char * GetAchievementDisplayAttribute( const char *pchName, const char *pchKey )
|
const char * GetAchievementDisplayAttribute( const char *pchName, const char *pchKey )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetAchievementDisplayAttribute %s %s\n", pchName, pchKey);
|
PRINT_DEBUG("Steam_User_Stats::GetAchievementDisplayAttribute %s %s\n", pchName, pchKey);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
if (pchName == nullptr) return "";
|
if (pchName == nullptr) return "";
|
||||||
@ -671,7 +671,7 @@ const char * GetAchievementDisplayAttribute( const char *pchName, const char *pc
|
|||||||
// Calling this w/ N out of N progress will NOT set the achievement, the game must still do that.
|
// Calling this w/ N out of N progress will NOT set the achievement, the game must still do that.
|
||||||
bool IndicateAchievementProgress( const char *pchName, uint32 nCurProgress, uint32 nMaxProgress )
|
bool IndicateAchievementProgress( const char *pchName, uint32 nCurProgress, uint32 nMaxProgress )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("IndicateAchievementProgress %s\n", pchName);
|
PRINT_DEBUG("Steam_User_Stats::IndicateAchievementProgress %s\n", pchName);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
if (pchName == nullptr) return false;
|
if (pchName == nullptr) return false;
|
||||||
@ -718,7 +718,7 @@ bool IndicateAchievementProgress( const char *pchName, uint32 nCurProgress, uint
|
|||||||
// list of existing achievements compiled into them
|
// list of existing achievements compiled into them
|
||||||
uint32 GetNumAchievements()
|
uint32 GetNumAchievements()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetNumAchievements\n");
|
PRINT_DEBUG("Steam_User_Stats::GetNumAchievements\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return defined_achievements.size();
|
return defined_achievements.size();
|
||||||
}
|
}
|
||||||
@ -726,7 +726,7 @@ uint32 GetNumAchievements()
|
|||||||
// Get achievement name iAchievement in [0,GetNumAchievements)
|
// Get achievement name iAchievement in [0,GetNumAchievements)
|
||||||
const char * GetAchievementName( uint32 iAchievement )
|
const char * GetAchievementName( uint32 iAchievement )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetAchievementName\n");
|
PRINT_DEBUG("Steam_User_Stats::GetAchievementName\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (iAchievement >= sorted_achievement_names.size()) {
|
if (iAchievement >= sorted_achievement_names.size()) {
|
||||||
return "";
|
return "";
|
||||||
@ -765,7 +765,7 @@ SteamAPICall_t RequestUserStats( CSteamID steamIDUser )
|
|||||||
// requests stat information for a user, usable after a successful call to RequestUserStats()
|
// requests stat information for a user, usable after a successful call to RequestUserStats()
|
||||||
bool GetUserStat( CSteamID steamIDUser, const char *pchName, int32 *pData )
|
bool GetUserStat( CSteamID steamIDUser, const char *pchName, int32 *pData )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetUserStat %s %llu\n", pchName, steamIDUser.ConvertToUint64());
|
PRINT_DEBUG("Steam_User_Stats::GetUserStat %s %llu\n", pchName, steamIDUser.ConvertToUint64());
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
if (pchName == nullptr) return false;
|
if (pchName == nullptr) return false;
|
||||||
@ -781,7 +781,7 @@ bool GetUserStat( CSteamID steamIDUser, const char *pchName, int32 *pData )
|
|||||||
|
|
||||||
bool GetUserStat( CSteamID steamIDUser, const char *pchName, float *pData )
|
bool GetUserStat( CSteamID steamIDUser, const char *pchName, float *pData )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetUserStat %s %llu\n", pchName, steamIDUser.ConvertToUint64());
|
PRINT_DEBUG("Steam_User_Stats::GetUserStat %s %llu\n", pchName, steamIDUser.ConvertToUint64());
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
if (pchName == nullptr) return false;
|
if (pchName == nullptr) return false;
|
||||||
@ -797,7 +797,7 @@ bool GetUserStat( CSteamID steamIDUser, const char *pchName, float *pData )
|
|||||||
|
|
||||||
bool GetUserAchievement( CSteamID steamIDUser, const char *pchName, bool *pbAchieved )
|
bool GetUserAchievement( CSteamID steamIDUser, const char *pchName, bool *pbAchieved )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetUserAchievement %s\n", pchName);
|
PRINT_DEBUG("Steam_User_Stats::GetUserAchievement %s\n", pchName);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
if (pchName == nullptr) return false;
|
if (pchName == nullptr) return false;
|
||||||
@ -812,7 +812,7 @@ bool GetUserAchievement( CSteamID steamIDUser, const char *pchName, bool *pbAchi
|
|||||||
// See notes for GetAchievementAndUnlockTime above
|
// See notes for GetAchievementAndUnlockTime above
|
||||||
bool GetUserAchievementAndUnlockTime( CSteamID steamIDUser, const char *pchName, bool *pbAchieved, uint32 *punUnlockTime )
|
bool GetUserAchievementAndUnlockTime( CSteamID steamIDUser, const char *pchName, bool *pbAchieved, uint32 *punUnlockTime )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetUserAchievementAndUnlockTime %s\n", pchName);
|
PRINT_DEBUG("Steam_User_Stats::GetUserAchievementAndUnlockTime %s\n", pchName);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
if (pchName == nullptr) return false;
|
if (pchName == nullptr) return false;
|
||||||
@ -827,7 +827,7 @@ bool GetUserAchievementAndUnlockTime( CSteamID steamIDUser, const char *pchName,
|
|||||||
// Reset stats
|
// Reset stats
|
||||||
bool ResetAllStats( bool bAchievementsToo )
|
bool ResetAllStats( bool bAchievementsToo )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("ResetAllStats\n");
|
PRINT_DEBUG("Steam_User_Stats::ResetAllStats\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
//TODO
|
//TODO
|
||||||
if (bAchievementsToo) {
|
if (bAchievementsToo) {
|
||||||
@ -848,7 +848,7 @@ bool ResetAllStats( bool bAchievementsToo )
|
|||||||
STEAM_CALL_RESULT(LeaderboardFindResult_t)
|
STEAM_CALL_RESULT(LeaderboardFindResult_t)
|
||||||
SteamAPICall_t FindOrCreateLeaderboard( const char *pchLeaderboardName, ELeaderboardSortMethod eLeaderboardSortMethod, ELeaderboardDisplayType eLeaderboardDisplayType )
|
SteamAPICall_t FindOrCreateLeaderboard( const char *pchLeaderboardName, ELeaderboardSortMethod eLeaderboardSortMethod, ELeaderboardDisplayType eLeaderboardDisplayType )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("FindOrCreateLeaderboard %s\n", pchLeaderboardName);
|
PRINT_DEBUG("Steam_User_Stats::FindOrCreateLeaderboard %s\n", pchLeaderboardName);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (!pchLeaderboardName) {
|
if (!pchLeaderboardName) {
|
||||||
LeaderboardFindResult_t data;
|
LeaderboardFindResult_t data;
|
||||||
@ -888,7 +888,7 @@ SteamAPICall_t FindOrCreateLeaderboard( const char *pchLeaderboardName, ELeaderb
|
|||||||
STEAM_CALL_RESULT( LeaderboardFindResult_t )
|
STEAM_CALL_RESULT( LeaderboardFindResult_t )
|
||||||
SteamAPICall_t FindLeaderboard( const char *pchLeaderboardName )
|
SteamAPICall_t FindLeaderboard( const char *pchLeaderboardName )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("FindLeaderboard %s\n", pchLeaderboardName);
|
PRINT_DEBUG("Steam_User_Stats::FindLeaderboard %s\n", pchLeaderboardName);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (!pchLeaderboardName) {
|
if (!pchLeaderboardName) {
|
||||||
LeaderboardFindResult_t data;
|
LeaderboardFindResult_t data;
|
||||||
@ -915,7 +915,7 @@ SteamAPICall_t FindLeaderboard( const char *pchLeaderboardName )
|
|||||||
// returns the name of a leaderboard
|
// returns the name of a leaderboard
|
||||||
const char * GetLeaderboardName( SteamLeaderboard_t hSteamLeaderboard )
|
const char * GetLeaderboardName( SteamLeaderboard_t hSteamLeaderboard )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetLeaderboardName\n");
|
PRINT_DEBUG("Steam_User_Stats::GetLeaderboardName\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
if (hSteamLeaderboard > leaderboards.size() || hSteamLeaderboard <= 0) return "";
|
if (hSteamLeaderboard > leaderboards.size() || hSteamLeaderboard <= 0) return "";
|
||||||
@ -926,7 +926,7 @@ const char * GetLeaderboardName( SteamLeaderboard_t hSteamLeaderboard )
|
|||||||
// returns the total number of entries in a leaderboard, as of the last request
|
// returns the total number of entries in a leaderboard, as of the last request
|
||||||
int GetLeaderboardEntryCount( SteamLeaderboard_t hSteamLeaderboard )
|
int GetLeaderboardEntryCount( SteamLeaderboard_t hSteamLeaderboard )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetLeaderboardEntryCount\n");
|
PRINT_DEBUG("Steam_User_Stats::GetLeaderboardEntryCount\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -934,7 +934,7 @@ int GetLeaderboardEntryCount( SteamLeaderboard_t hSteamLeaderboard )
|
|||||||
// returns the sort method of the leaderboard
|
// returns the sort method of the leaderboard
|
||||||
ELeaderboardSortMethod GetLeaderboardSortMethod( SteamLeaderboard_t hSteamLeaderboard )
|
ELeaderboardSortMethod GetLeaderboardSortMethod( SteamLeaderboard_t hSteamLeaderboard )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetLeaderboardSortMethod\n");
|
PRINT_DEBUG("Steam_User_Stats::GetLeaderboardSortMethod\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (hSteamLeaderboard > leaderboards.size() || hSteamLeaderboard <= 0) return k_ELeaderboardSortMethodNone;
|
if (hSteamLeaderboard > leaderboards.size() || hSteamLeaderboard <= 0) return k_ELeaderboardSortMethodNone;
|
||||||
return leaderboards[hSteamLeaderboard - 1].sort_method;
|
return leaderboards[hSteamLeaderboard - 1].sort_method;
|
||||||
@ -944,7 +944,7 @@ ELeaderboardSortMethod GetLeaderboardSortMethod( SteamLeaderboard_t hSteamLeader
|
|||||||
// returns the display type of the leaderboard
|
// returns the display type of the leaderboard
|
||||||
ELeaderboardDisplayType GetLeaderboardDisplayType( SteamLeaderboard_t hSteamLeaderboard )
|
ELeaderboardDisplayType GetLeaderboardDisplayType( SteamLeaderboard_t hSteamLeaderboard )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetLeaderboardDisplayType\n");
|
PRINT_DEBUG("Steam_User_Stats::GetLeaderboardDisplayType\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (hSteamLeaderboard > leaderboards.size() || hSteamLeaderboard <= 0) return k_ELeaderboardDisplayTypeNone;
|
if (hSteamLeaderboard > leaderboards.size() || hSteamLeaderboard <= 0) return k_ELeaderboardDisplayTypeNone;
|
||||||
return leaderboards[hSteamLeaderboard - 1].display_type;
|
return leaderboards[hSteamLeaderboard - 1].display_type;
|
||||||
@ -962,7 +962,7 @@ ELeaderboardDisplayType GetLeaderboardDisplayType( SteamLeaderboard_t hSteamLead
|
|||||||
STEAM_CALL_RESULT( LeaderboardScoresDownloaded_t )
|
STEAM_CALL_RESULT( LeaderboardScoresDownloaded_t )
|
||||||
SteamAPICall_t DownloadLeaderboardEntries( SteamLeaderboard_t hSteamLeaderboard, ELeaderboardDataRequest eLeaderboardDataRequest, int nRangeStart, int nRangeEnd )
|
SteamAPICall_t DownloadLeaderboardEntries( SteamLeaderboard_t hSteamLeaderboard, ELeaderboardDataRequest eLeaderboardDataRequest, int nRangeStart, int nRangeEnd )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("DownloadLeaderboardEntries %llu %i %i %i\n", hSteamLeaderboard, eLeaderboardDataRequest, nRangeStart, nRangeEnd);
|
PRINT_DEBUG("Steam_User_Stats::DownloadLeaderboardEntries %llu %i %i %i\n", hSteamLeaderboard, eLeaderboardDataRequest, nRangeStart, nRangeEnd);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (hSteamLeaderboard > leaderboards.size() || hSteamLeaderboard <= 0) return k_uAPICallInvalid; //might return callresult even if hSteamLeaderboard is invalid
|
if (hSteamLeaderboard > leaderboards.size() || hSteamLeaderboard <= 0) return k_uAPICallInvalid; //might return callresult even if hSteamLeaderboard is invalid
|
||||||
|
|
||||||
@ -981,7 +981,7 @@ STEAM_CALL_RESULT( LeaderboardScoresDownloaded_t )
|
|||||||
SteamAPICall_t DownloadLeaderboardEntriesForUsers( SteamLeaderboard_t hSteamLeaderboard,
|
SteamAPICall_t DownloadLeaderboardEntriesForUsers( SteamLeaderboard_t hSteamLeaderboard,
|
||||||
STEAM_ARRAY_COUNT_D(cUsers, Array of users to retrieve) CSteamID *prgUsers, int cUsers )
|
STEAM_ARRAY_COUNT_D(cUsers, Array of users to retrieve) CSteamID *prgUsers, int cUsers )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("DownloadLeaderboardEntriesForUsers %i %llu\n", cUsers, cUsers > 0 ? prgUsers[0].ConvertToUint64() : 0);
|
PRINT_DEBUG("Steam_User_Stats::DownloadLeaderboardEntriesForUsers %i %llu\n", cUsers, cUsers > 0 ? prgUsers[0].ConvertToUint64() : 0);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (hSteamLeaderboard > leaderboards.size() || hSteamLeaderboard <= 0) return k_uAPICallInvalid; //might return callresult even if hSteamLeaderboard is invalid
|
if (hSteamLeaderboard > leaderboards.size() || hSteamLeaderboard <= 0) return k_uAPICallInvalid; //might return callresult even if hSteamLeaderboard is invalid
|
||||||
|
|
||||||
@ -1016,7 +1016,7 @@ SteamAPICall_t DownloadLeaderboardEntriesForUsers( SteamLeaderboard_t hSteamLead
|
|||||||
// once you've accessed all the entries, the data will be free'd, and the SteamLeaderboardEntries_t handle will become invalid
|
// once you've accessed all the entries, the data will be free'd, and the SteamLeaderboardEntries_t handle will become invalid
|
||||||
bool GetDownloadedLeaderboardEntry( SteamLeaderboardEntries_t hSteamLeaderboardEntries, int index, LeaderboardEntry_t *pLeaderboardEntry, int32 *pDetails, int cDetailsMax )
|
bool GetDownloadedLeaderboardEntry( SteamLeaderboardEntries_t hSteamLeaderboardEntries, int index, LeaderboardEntry_t *pLeaderboardEntry, int32 *pDetails, int cDetailsMax )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetDownloadedLeaderboardEntry\n");
|
PRINT_DEBUG("Steam_User_Stats::GetDownloadedLeaderboardEntry\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (hSteamLeaderboardEntries > leaderboards.size() || hSteamLeaderboardEntries <= 0) return false;
|
if (hSteamLeaderboardEntries > leaderboards.size() || hSteamLeaderboardEntries <= 0) return false;
|
||||||
if (index > 0) return false;
|
if (index > 0) return false;
|
||||||
@ -1041,7 +1041,7 @@ bool GetDownloadedLeaderboardEntry( SteamLeaderboardEntries_t hSteamLeaderboardE
|
|||||||
STEAM_CALL_RESULT( LeaderboardScoreUploaded_t )
|
STEAM_CALL_RESULT( LeaderboardScoreUploaded_t )
|
||||||
SteamAPICall_t UploadLeaderboardScore( SteamLeaderboard_t hSteamLeaderboard, ELeaderboardUploadScoreMethod eLeaderboardUploadScoreMethod, int32 nScore, const int32 *pScoreDetails, int cScoreDetailsCount )
|
SteamAPICall_t UploadLeaderboardScore( SteamLeaderboard_t hSteamLeaderboard, ELeaderboardUploadScoreMethod eLeaderboardUploadScoreMethod, int32 nScore, const int32 *pScoreDetails, int cScoreDetailsCount )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("UploadLeaderboardScore %i\n", nScore);
|
PRINT_DEBUG("Steam_User_Stats::UploadLeaderboardScore %i\n", nScore);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (hSteamLeaderboard > leaderboards.size() || hSteamLeaderboard <= 0) return k_uAPICallInvalid; //TODO: might return callresult even if hSteamLeaderboard is invalid
|
if (hSteamLeaderboard > leaderboards.size() || hSteamLeaderboard <= 0) return k_uAPICallInvalid; //TODO: might return callresult even if hSteamLeaderboard is invalid
|
||||||
|
|
||||||
@ -1093,7 +1093,7 @@ SteamAPICall_t UploadLeaderboardScore( SteamLeaderboard_t hSteamLeaderboard, int
|
|||||||
STEAM_CALL_RESULT( LeaderboardUGCSet_t )
|
STEAM_CALL_RESULT( LeaderboardUGCSet_t )
|
||||||
SteamAPICall_t AttachLeaderboardUGC( SteamLeaderboard_t hSteamLeaderboard, UGCHandle_t hUGC )
|
SteamAPICall_t AttachLeaderboardUGC( SteamLeaderboard_t hSteamLeaderboard, UGCHandle_t hUGC )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("AttachLeaderboardUGC\n");
|
PRINT_DEBUG("Steam_User_Stats::AttachLeaderboardUGC\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
LeaderboardUGCSet_t data = {};
|
LeaderboardUGCSet_t data = {};
|
||||||
if (hSteamLeaderboard > leaderboards.size() || hSteamLeaderboard <= 0) {
|
if (hSteamLeaderboard > leaderboards.size() || hSteamLeaderboard <= 0) {
|
||||||
@ -1112,7 +1112,7 @@ SteamAPICall_t AttachLeaderboardUGC( SteamLeaderboard_t hSteamLeaderboard, UGCHa
|
|||||||
STEAM_CALL_RESULT( NumberOfCurrentPlayers_t )
|
STEAM_CALL_RESULT( NumberOfCurrentPlayers_t )
|
||||||
SteamAPICall_t GetNumberOfCurrentPlayers()
|
SteamAPICall_t GetNumberOfCurrentPlayers()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetNumberOfCurrentPlayers\n");
|
PRINT_DEBUG("Steam_User_Stats::GetNumberOfCurrentPlayers\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
NumberOfCurrentPlayers_t data;
|
NumberOfCurrentPlayers_t data;
|
||||||
data.m_bSuccess = 1;
|
data.m_bSuccess = 1;
|
||||||
@ -1127,7 +1127,7 @@ SteamAPICall_t GetNumberOfCurrentPlayers()
|
|||||||
STEAM_CALL_RESULT( GlobalAchievementPercentagesReady_t )
|
STEAM_CALL_RESULT( GlobalAchievementPercentagesReady_t )
|
||||||
SteamAPICall_t RequestGlobalAchievementPercentages()
|
SteamAPICall_t RequestGlobalAchievementPercentages()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("RequestGlobalAchievementPercentages\n");
|
PRINT_DEBUG("Steam_User_Stats::RequestGlobalAchievementPercentages\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1137,7 +1137,7 @@ SteamAPICall_t RequestGlobalAchievementPercentages()
|
|||||||
// percentages (ie, you haven't called RequestGlobalAchievementPercentages and waited on the callback).
|
// percentages (ie, you haven't called RequestGlobalAchievementPercentages and waited on the callback).
|
||||||
int GetMostAchievedAchievementInfo( char *pchName, uint32 unNameBufLen, float *pflPercent, bool *pbAchieved )
|
int GetMostAchievedAchievementInfo( char *pchName, uint32 unNameBufLen, float *pflPercent, bool *pbAchieved )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetMostAchievedAchievementInfo\n");
|
PRINT_DEBUG("Steam_User_Stats::GetMostAchievedAchievementInfo\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1147,7 +1147,7 @@ int GetMostAchievedAchievementInfo( char *pchName, uint32 unNameBufLen, float *p
|
|||||||
// achievement has been iterated.
|
// achievement has been iterated.
|
||||||
int GetNextMostAchievedAchievementInfo( int iIteratorPrevious, char *pchName, uint32 unNameBufLen, float *pflPercent, bool *pbAchieved )
|
int GetNextMostAchievedAchievementInfo( int iIteratorPrevious, char *pchName, uint32 unNameBufLen, float *pflPercent, bool *pbAchieved )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetNextMostAchievedAchievementInfo\n");
|
PRINT_DEBUG("Steam_User_Stats::GetNextMostAchievedAchievementInfo\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1155,7 +1155,7 @@ int GetNextMostAchievedAchievementInfo( int iIteratorPrevious, char *pchName, ui
|
|||||||
// Returns the percentage of users who have achieved the specified achievement.
|
// Returns the percentage of users who have achieved the specified achievement.
|
||||||
bool GetAchievementAchievedPercent( const char *pchName, float *pflPercent )
|
bool GetAchievementAchievedPercent( const char *pchName, float *pflPercent )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetAchievementAchievedPercent\n");
|
PRINT_DEBUG("Steam_User_Stats::GetAchievementAchievedPercent\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1167,7 +1167,7 @@ bool GetAchievementAchievedPercent( const char *pchName, float *pflPercent )
|
|||||||
STEAM_CALL_RESULT( GlobalStatsReceived_t )
|
STEAM_CALL_RESULT( GlobalStatsReceived_t )
|
||||||
SteamAPICall_t RequestGlobalStats( int nHistoryDays )
|
SteamAPICall_t RequestGlobalStats( int nHistoryDays )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("RequestGlobalStats %i\n", nHistoryDays);
|
PRINT_DEBUG("Steam_User_Stats::RequestGlobalStats %i\n", nHistoryDays);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
GlobalStatsReceived_t data;
|
GlobalStatsReceived_t data;
|
||||||
data.m_nGameID = settings->get_local_game_id().ToUint64();
|
data.m_nGameID = settings->get_local_game_id().ToUint64();
|
||||||
@ -1179,13 +1179,13 @@ SteamAPICall_t RequestGlobalStats( int nHistoryDays )
|
|||||||
// Gets the lifetime totals for an aggregated stat
|
// Gets the lifetime totals for an aggregated stat
|
||||||
bool GetGlobalStat( const char *pchStatName, int64 *pData )
|
bool GetGlobalStat( const char *pchStatName, int64 *pData )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetGlobalStat %s\n", pchStatName);
|
PRINT_DEBUG("Steam_User_Stats::GetGlobalStat %s\n", pchStatName);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GetGlobalStat( const char *pchStatName, double *pData )
|
bool GetGlobalStat( const char *pchStatName, double *pData )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetGlobalStat %s\n", pchStatName);
|
PRINT_DEBUG("Steam_User_Stats::GetGlobalStat %s\n", pchStatName);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1196,13 +1196,13 @@ bool GetGlobalStat( const char *pchStatName, double *pData )
|
|||||||
// elements actually set.
|
// elements actually set.
|
||||||
int32 GetGlobalStatHistory( const char *pchStatName, STEAM_ARRAY_COUNT(cubData) int64 *pData, uint32 cubData )
|
int32 GetGlobalStatHistory( const char *pchStatName, STEAM_ARRAY_COUNT(cubData) int64 *pData, uint32 cubData )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetGlobalStatHistory int64 %s\n", pchStatName);
|
PRINT_DEBUG("Steam_User_Stats::GetGlobalStatHistory int64 %s\n", pchStatName);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32 GetGlobalStatHistory( const char *pchStatName, STEAM_ARRAY_COUNT(cubData) double *pData, uint32 cubData )
|
int32 GetGlobalStatHistory( const char *pchStatName, STEAM_ARRAY_COUNT(cubData) double *pData, uint32 cubData )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetGlobalStatHistory double %s\n", pchStatName);
|
PRINT_DEBUG("Steam_User_Stats::GetGlobalStatHistory double %s\n", pchStatName);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1211,13 +1211,13 @@ int32 GetGlobalStatHistory( const char *pchStatName, STEAM_ARRAY_COUNT(cubData)
|
|||||||
// have been made, to show a progress notification to the user.
|
// have been made, to show a progress notification to the user.
|
||||||
bool GetAchievementProgressLimits( const char *pchName, int32 *pnMinProgress, int32 *pnMaxProgress )
|
bool GetAchievementProgressLimits( const char *pchName, int32 *pnMinProgress, int32 *pnMaxProgress )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetAchievementProgressLimits int\n");
|
PRINT_DEBUG("Steam_User_Stats::GetAchievementProgressLimits int\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GetAchievementProgressLimits( const char *pchName, float *pfMinProgress, float *pfMaxProgress )
|
bool GetAchievementProgressLimits( const char *pchName, float *pfMinProgress, float *pfMaxProgress )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetAchievementProgressLimits float\n");
|
PRINT_DEBUG("Steam_User_Stats::GetAchievementProgressLimits float\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,8 +19,6 @@
|
|||||||
#include "local_storage.h"
|
#include "local_storage.h"
|
||||||
#include "overlay/steam_overlay.h"
|
#include "overlay/steam_overlay.h"
|
||||||
|
|
||||||
static std::chrono::time_point<std::chrono::steady_clock> app_initialized_time = std::chrono::steady_clock::now();
|
|
||||||
|
|
||||||
|
|
||||||
class Steam_Utils :
|
class Steam_Utils :
|
||||||
public ISteamUtils002,
|
public ISteamUtils002,
|
||||||
@ -48,13 +46,15 @@ Steam_Utils(Settings *settings, class SteamCallResults *callback_results, Steam_
|
|||||||
// return the number of seconds since the user
|
// return the number of seconds since the user
|
||||||
uint32 GetSecondsSinceAppActive()
|
uint32 GetSecondsSinceAppActive()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetSecondsSinceAppActive\n");
|
PRINT_DEBUG("Steam_Utils::GetSecondsSinceAppActive\n");
|
||||||
return std::chrono::duration_cast<std::chrono::seconds>(std::chrono::steady_clock::now() - app_initialized_time).count();
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
return std::chrono::duration_cast<std::chrono::seconds>(std::chrono::system_clock::now() - startup_time).count();
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32 GetSecondsSinceComputerActive()
|
uint32 GetSecondsSinceComputerActive()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetSecondsSinceComputerActive\n");
|
PRINT_DEBUG("Steam_Utils::GetSecondsSinceComputerActive\n");
|
||||||
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return GetSecondsSinceAppActive() + 2000;
|
return GetSecondsSinceAppActive() + 2000;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -62,7 +62,8 @@ uint32 GetSecondsSinceComputerActive()
|
|||||||
// the universe this client is connecting to
|
// the universe this client is connecting to
|
||||||
EUniverse GetConnectedUniverse()
|
EUniverse GetConnectedUniverse()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetConnectedUniverse\n");
|
PRINT_DEBUG("Steam_Utils::GetConnectedUniverse\n");
|
||||||
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return k_EUniversePublic;
|
return k_EUniversePublic;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,9 +71,9 @@ EUniverse GetConnectedUniverse()
|
|||||||
// Steam server time. Number of seconds since January 1, 1970, GMT (i.e unix time)
|
// Steam server time. Number of seconds since January 1, 1970, GMT (i.e unix time)
|
||||||
uint32 GetServerRealTime()
|
uint32 GetServerRealTime()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetServerRealTime\n");
|
PRINT_DEBUG("Steam_Utils::GetServerRealTime\n");
|
||||||
uint32 server_time = std::chrono::duration_cast<std::chrono::duration<uint32>>(std::chrono::system_clock::now().time_since_epoch()).count();
|
uint32 server_time = std::chrono::duration_cast<std::chrono::duration<uint32>>(std::chrono::system_clock::now().time_since_epoch()).count();
|
||||||
PRINT_DEBUG("Time %u\n", server_time);
|
PRINT_DEBUG("Steam_Utils::GetServerRealTime Time %u\n", server_time);
|
||||||
return server_time;
|
return server_time;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -81,14 +82,15 @@ uint32 GetServerRealTime()
|
|||||||
// e.g "US" or "UK".
|
// e.g "US" or "UK".
|
||||||
const char *GetIPCountry()
|
const char *GetIPCountry()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetIPCountry\n");
|
PRINT_DEBUG("Steam_Utils::GetIPCountry\n");
|
||||||
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return "US";
|
return "US";
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns true if the image exists, and valid sizes were filled out
|
// returns true if the image exists, and valid sizes were filled out
|
||||||
bool GetImageSize( int iImage, uint32 *pnWidth, uint32 *pnHeight )
|
bool GetImageSize( int iImage, uint32 *pnWidth, uint32 *pnHeight )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetImageSize %i\n", iImage);
|
PRINT_DEBUG("Steam_Utils::GetImageSize %i\n", iImage);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
if (!iImage || !pnWidth || !pnHeight) return false;
|
if (!iImage || !pnWidth || !pnHeight) return false;
|
||||||
@ -106,7 +108,7 @@ bool GetImageSize( int iImage, uint32 *pnWidth, uint32 *pnHeight )
|
|||||||
// the destination buffer size should be 4 * height * width * sizeof(char)
|
// the destination buffer size should be 4 * height * width * sizeof(char)
|
||||||
bool GetImageRGBA( int iImage, uint8 *pubDest, int nDestBufferSize )
|
bool GetImageRGBA( int iImage, uint8 *pubDest, int nDestBufferSize )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetImageRGBA %i\n", iImage);
|
PRINT_DEBUG("Steam_Utils::GetImageRGBA %i\n", iImage);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
if (!iImage || !pubDest || !nDestBufferSize) return false;
|
if (!iImage || !pubDest || !nDestBufferSize) return false;
|
||||||
@ -123,7 +125,8 @@ bool GetImageRGBA( int iImage, uint8 *pubDest, int nDestBufferSize )
|
|||||||
// returns the IP of the reporting server for valve - currently only used in Source engine games
|
// returns the IP of the reporting server for valve - currently only used in Source engine games
|
||||||
bool GetCSERIPPort( uint32 *unIP, uint16 *usPort )
|
bool GetCSERIPPort( uint32 *unIP, uint16 *usPort )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetCSERIPPort\n");
|
PRINT_DEBUG("Steam_Utils::GetCSERIPPort\n");
|
||||||
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -131,7 +134,8 @@ bool GetCSERIPPort( uint32 *unIP, uint16 *usPort )
|
|||||||
// return the amount of battery power left in the current system in % [0..100], 255 for being on AC power
|
// return the amount of battery power left in the current system in % [0..100], 255 for being on AC power
|
||||||
uint8 GetCurrentBatteryPower()
|
uint8 GetCurrentBatteryPower()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetCurrentBatteryPower\n");
|
PRINT_DEBUG("Steam_Utils::GetCurrentBatteryPower\n");
|
||||||
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return 255;
|
return 255;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -139,7 +143,7 @@ uint8 GetCurrentBatteryPower()
|
|||||||
// returns the appID of the current process
|
// returns the appID of the current process
|
||||||
uint32 GetAppID()
|
uint32 GetAppID()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetAppID\n");
|
PRINT_DEBUG("Steam_Utils::GetAppID\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return settings->get_local_game_id().AppID();
|
return settings->get_local_game_id().AppID();
|
||||||
}
|
}
|
||||||
@ -149,7 +153,7 @@ uint32 GetAppID()
|
|||||||
// This position is per-game and if this function is called from outside of a game context it will do nothing.
|
// This position is per-game and if this function is called from outside of a game context it will do nothing.
|
||||||
void SetOverlayNotificationPosition( ENotificationPosition eNotificationPosition )
|
void SetOverlayNotificationPosition( ENotificationPosition eNotificationPosition )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetOverlayNotificationPosition\n");
|
PRINT_DEBUG("Steam_Utils::SetOverlayNotificationPosition\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
overlay->SetNotificationPosition(eNotificationPosition);
|
overlay->SetNotificationPosition(eNotificationPosition);
|
||||||
}
|
}
|
||||||
@ -159,7 +163,7 @@ void SetOverlayNotificationPosition( ENotificationPosition eNotificationPosition
|
|||||||
// can be used directly, but more commonly used via the callback dispatch API (see steam_api.h)
|
// can be used directly, but more commonly used via the callback dispatch API (see steam_api.h)
|
||||||
bool IsAPICallCompleted( SteamAPICall_t hSteamAPICall, bool *pbFailed )
|
bool IsAPICallCompleted( SteamAPICall_t hSteamAPICall, bool *pbFailed )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("IsAPICallCompleted: %llu\n", hSteamAPICall);
|
PRINT_DEBUG("Steam_Utils::IsAPICallCompleted: %llu\n", hSteamAPICall);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (hSteamAPICall == 1) { //bug ? soul calibur 6 calls this function with the return value 1 of Steam_User_Stats::RequestCurrentStats and expects this function to return true
|
if (hSteamAPICall == 1) { //bug ? soul calibur 6 calls this function with the return value 1 of Steam_User_Stats::RequestCurrentStats and expects this function to return true
|
||||||
if (pbFailed) *pbFailed = true;
|
if (pbFailed) *pbFailed = true;
|
||||||
@ -173,17 +177,18 @@ bool IsAPICallCompleted( SteamAPICall_t hSteamAPICall, bool *pbFailed )
|
|||||||
|
|
||||||
ESteamAPICallFailure GetAPICallFailureReason( SteamAPICall_t hSteamAPICall )
|
ESteamAPICallFailure GetAPICallFailureReason( SteamAPICall_t hSteamAPICall )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetAPICallFailureReason\n");
|
PRINT_DEBUG("Steam_Utils::GetAPICallFailureReason\n");
|
||||||
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return k_ESteamAPICallFailureNone;
|
return k_ESteamAPICallFailureNone;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GetAPICallResult( SteamAPICall_t hSteamAPICall, void *pCallback, int cubCallback, int iCallbackExpected, bool *pbFailed )
|
bool GetAPICallResult( SteamAPICall_t hSteamAPICall, void *pCallback, int cubCallback, int iCallbackExpected, bool *pbFailed )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetAPICallResult %llu %i %i %p\n", hSteamAPICall, cubCallback, iCallbackExpected, pbFailed);
|
PRINT_DEBUG("Steam_Utils::GetAPICallResult %llu %i %i %p\n", hSteamAPICall, cubCallback, iCallbackExpected, pbFailed);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (callback_results->callback_result(hSteamAPICall, pCallback, cubCallback)) {
|
if (callback_results->callback_result(hSteamAPICall, pCallback, cubCallback)) {
|
||||||
if (pbFailed) *pbFailed = false;
|
if (pbFailed) *pbFailed = false;
|
||||||
PRINT_DEBUG("GetAPICallResult Succeeded\n");
|
PRINT_DEBUG("Steam_Utils::GetAPICallResult Succeeded\n");
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
@ -204,7 +209,8 @@ STEAM_PRIVATE_API( void RunFrame()
|
|||||||
// control how often you do them.
|
// control how often you do them.
|
||||||
uint32 GetIPCCallCount()
|
uint32 GetIPCCallCount()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetIPCCallCount\n");
|
PRINT_DEBUG("Steam_Utils::GetIPCCallCount\n");
|
||||||
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
static int i = 0;
|
static int i = 0;
|
||||||
i += 123;
|
i += 123;
|
||||||
return i; //TODO
|
return i; //TODO
|
||||||
@ -225,7 +231,7 @@ void SetWarningMessageHook( SteamAPIWarningMessageHook_t pFunction )
|
|||||||
// start & hook the game process, so this function will initially return false while the overlay is loading.
|
// start & hook the game process, so this function will initially return false while the overlay is loading.
|
||||||
bool IsOverlayEnabled()
|
bool IsOverlayEnabled()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("IsOverlayEnabled\n");
|
PRINT_DEBUG("Steam_Utils::IsOverlayEnabled\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return overlay->Ready();
|
return overlay->Ready();
|
||||||
}
|
}
|
||||||
@ -242,7 +248,7 @@ bool IsOverlayEnabled()
|
|||||||
// refresh the screen with Present or SwapBuffers to allow the overlay to do it's work.
|
// refresh the screen with Present or SwapBuffers to allow the overlay to do it's work.
|
||||||
bool BOverlayNeedsPresent()
|
bool BOverlayNeedsPresent()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BOverlayNeedsPresent\n");
|
PRINT_DEBUG("Steam_Utils::BOverlayNeedsPresent\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return overlay->NeedPresent();
|
return overlay->NeedPresent();
|
||||||
}
|
}
|
||||||
@ -259,7 +265,7 @@ bool BOverlayNeedsPresent()
|
|||||||
STEAM_CALL_RESULT( CheckFileSignature_t )
|
STEAM_CALL_RESULT( CheckFileSignature_t )
|
||||||
SteamAPICall_t CheckFileSignature( const char *szFileName )
|
SteamAPICall_t CheckFileSignature( const char *szFileName )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("CheckFileSignature\n");
|
PRINT_DEBUG("Steam_Utils::CheckFileSignature\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
CheckFileSignature_t data;
|
CheckFileSignature_t data;
|
||||||
data.m_eCheckFileSignature = k_ECheckFileSignatureValidSignature;
|
data.m_eCheckFileSignature = k_ECheckFileSignatureValidSignature;
|
||||||
@ -270,7 +276,8 @@ SteamAPICall_t CheckFileSignature( const char *szFileName )
|
|||||||
// Activates the Big Picture text input dialog which only supports gamepad input
|
// Activates the Big Picture text input dialog which only supports gamepad input
|
||||||
bool ShowGamepadTextInput( EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, const char *pchDescription, uint32 unCharMax, const char *pchExistingText )
|
bool ShowGamepadTextInput( EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, const char *pchDescription, uint32 unCharMax, const char *pchExistingText )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("ShowGamepadTextInput\n");
|
PRINT_DEBUG("Steam_Utils::ShowGamepadTextInput\n");
|
||||||
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -284,13 +291,15 @@ bool ShowGamepadTextInput( EGamepadTextInputMode eInputMode, EGamepadTextInputLi
|
|||||||
// Returns previously entered text & length
|
// Returns previously entered text & length
|
||||||
uint32 GetEnteredGamepadTextLength()
|
uint32 GetEnteredGamepadTextLength()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetEnteredGamepadTextLength\n");
|
PRINT_DEBUG("Steam_Utils::GetEnteredGamepadTextLength\n");
|
||||||
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GetEnteredGamepadTextInput( char *pchText, uint32 cchText )
|
bool GetEnteredGamepadTextInput( char *pchText, uint32 cchText )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetEnteredGamepadTextInput\n");
|
PRINT_DEBUG("Steam_Utils::GetEnteredGamepadTextInput\n");
|
||||||
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -298,7 +307,7 @@ bool GetEnteredGamepadTextInput( char *pchText, uint32 cchText )
|
|||||||
// returns the language the steam client is running in, you probably want ISteamApps::GetCurrentGameLanguage instead, this is for very special usage cases
|
// returns the language the steam client is running in, you probably want ISteamApps::GetCurrentGameLanguage instead, this is for very special usage cases
|
||||||
const char *GetSteamUILanguage()
|
const char *GetSteamUILanguage()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetSteamUILanguage\n");
|
PRINT_DEBUG("Steam_Utils::GetSteamUILanguage\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return settings->get_language();
|
return settings->get_language();
|
||||||
}
|
}
|
||||||
@ -307,7 +316,7 @@ const char *GetSteamUILanguage()
|
|||||||
// returns true if Steam itself is running in VR mode
|
// returns true if Steam itself is running in VR mode
|
||||||
bool IsSteamRunningInVR()
|
bool IsSteamRunningInVR()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("IsSteamRunningInVR\n");
|
PRINT_DEBUG("Steam_Utils::IsSteamRunningInVR\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -316,7 +325,7 @@ bool IsSteamRunningInVR()
|
|||||||
// Sets the inset of the overlay notification from the corner specified by SetOverlayNotificationPosition.
|
// Sets the inset of the overlay notification from the corner specified by SetOverlayNotificationPosition.
|
||||||
void SetOverlayNotificationInset( int nHorizontalInset, int nVerticalInset )
|
void SetOverlayNotificationInset( int nHorizontalInset, int nVerticalInset )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetOverlayNotificationInset\n");
|
PRINT_DEBUG("Steam_Utils::SetOverlayNotificationInset\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
overlay->SetNotificationInset(nHorizontalInset, nVerticalInset);
|
overlay->SetNotificationInset(nHorizontalInset, nVerticalInset);
|
||||||
}
|
}
|
||||||
@ -327,7 +336,7 @@ void SetOverlayNotificationInset( int nHorizontalInset, int nVerticalInset )
|
|||||||
// a game can be added as a non-steam game to the developers library to test this feature
|
// a game can be added as a non-steam game to the developers library to test this feature
|
||||||
bool IsSteamInBigPictureMode()
|
bool IsSteamInBigPictureMode()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("IsSteamInBigPictureMode\n");
|
PRINT_DEBUG("Steam_Utils::IsSteamInBigPictureMode\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -336,14 +345,15 @@ bool IsSteamInBigPictureMode()
|
|||||||
// ask SteamUI to create and render its OpenVR dashboard
|
// ask SteamUI to create and render its OpenVR dashboard
|
||||||
void StartVRDashboard()
|
void StartVRDashboard()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("StartVRDashboard\n");
|
PRINT_DEBUG("Steam_Utils::StartVRDashboard\n");
|
||||||
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Returns true if the HMD content will be streamed via Steam In-Home Streaming
|
// Returns true if the HMD content will be streamed via Steam In-Home Streaming
|
||||||
bool IsVRHeadsetStreamingEnabled()
|
bool IsVRHeadsetStreamingEnabled()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("IsVRHeadsetStreamingEnabled\n");
|
PRINT_DEBUG("Steam_Utils::IsVRHeadsetStreamingEnabled\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -356,13 +366,14 @@ bool IsVRHeadsetStreamingEnabled()
|
|||||||
// (this is useful for games that have asymmetric multiplayer gameplay)
|
// (this is useful for games that have asymmetric multiplayer gameplay)
|
||||||
void SetVRHeadsetStreamingEnabled( bool bEnabled )
|
void SetVRHeadsetStreamingEnabled( bool bEnabled )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetVRHeadsetStreamingEnabled\n");
|
PRINT_DEBUG("Steam_Utils::SetVRHeadsetStreamingEnabled\n");
|
||||||
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns whether this steam client is a Steam China specific client, vs the global client.
|
// Returns whether this steam client is a Steam China specific client, vs the global client.
|
||||||
bool IsSteamChinaLauncher()
|
bool IsSteamChinaLauncher()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("IsSteamChinaLauncher\n");
|
PRINT_DEBUG("Steam_Utils::IsSteamChinaLauncher\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -371,7 +382,7 @@ bool IsSteamChinaLauncher()
|
|||||||
// Returns false if filtering is unavailable for the language the user is currently running in.
|
// Returns false if filtering is unavailable for the language the user is currently running in.
|
||||||
bool InitFilterText()
|
bool InitFilterText()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("InitFilterText old\n");
|
PRINT_DEBUG("Steam_Utils::InitFilterText old\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -381,7 +392,7 @@ bool InitFilterText()
|
|||||||
// Returns false if filtering is unavailable for the language the user is currently running in.
|
// Returns false if filtering is unavailable for the language the user is currently running in.
|
||||||
bool InitFilterText( uint32 unFilterOptions )
|
bool InitFilterText( uint32 unFilterOptions )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("InitFilterText\n");
|
PRINT_DEBUG("Steam_Utils::InitFilterText\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -394,7 +405,7 @@ bool InitFilterText( uint32 unFilterOptions )
|
|||||||
// Returns the number of characters (not bytes) filtered.
|
// Returns the number of characters (not bytes) filtered.
|
||||||
int FilterText( char* pchOutFilteredText, uint32 nByteSizeOutFilteredText, const char * pchInputMessage, bool bLegalOnly )
|
int FilterText( char* pchOutFilteredText, uint32 nByteSizeOutFilteredText, const char * pchInputMessage, bool bLegalOnly )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("FilterText old\n");
|
PRINT_DEBUG("Steam_Utils::FilterText old\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return FilterText(k_ETextFilteringContextUnknown, CSteamID(), pchInputMessage, pchOutFilteredText, nByteSizeOutFilteredText );
|
return FilterText(k_ETextFilteringContextUnknown, CSteamID(), pchInputMessage, pchOutFilteredText, nByteSizeOutFilteredText );
|
||||||
}
|
}
|
||||||
@ -408,7 +419,7 @@ int FilterText( char* pchOutFilteredText, uint32 nByteSizeOutFilteredText, const
|
|||||||
// Returns the number of characters (not bytes) filtered
|
// Returns the number of characters (not bytes) filtered
|
||||||
int FilterText( ETextFilteringContext eContext, CSteamID sourceSteamID, const char *pchInputMessage, char *pchOutFilteredText, uint32 nByteSizeOutFilteredText )
|
int FilterText( ETextFilteringContext eContext, CSteamID sourceSteamID, const char *pchInputMessage, char *pchOutFilteredText, uint32 nByteSizeOutFilteredText )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("FilterText\n");
|
PRINT_DEBUG("Steam_Utils::FilterText\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (!nByteSizeOutFilteredText) return 0;
|
if (!nByteSizeOutFilteredText) return 0;
|
||||||
unsigned len = strlen(pchInputMessage);
|
unsigned len = strlen(pchInputMessage);
|
||||||
@ -427,7 +438,7 @@ int FilterText( ETextFilteringContext eContext, CSteamID sourceSteamID, const ch
|
|||||||
// This does NOT tell you if the Steam client is currently connected to Steam via ipv6.
|
// This does NOT tell you if the Steam client is currently connected to Steam via ipv6.
|
||||||
ESteamIPv6ConnectivityState GetIPv6ConnectivityState( ESteamIPv6ConnectivityProtocol eProtocol )
|
ESteamIPv6ConnectivityState GetIPv6ConnectivityState( ESteamIPv6ConnectivityProtocol eProtocol )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetIPv6ConnectivityState\n");
|
PRINT_DEBUG("Steam_Utils::GetIPv6ConnectivityState\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return k_ESteamIPv6ConnectivityState_Unknown;
|
return k_ESteamIPv6ConnectivityState_Unknown;
|
||||||
}
|
}
|
||||||
@ -435,7 +446,8 @@ ESteamIPv6ConnectivityState GetIPv6ConnectivityState( ESteamIPv6ConnectivityProt
|
|||||||
// returns true if currently running on the Steam Deck device
|
// returns true if currently running on the Steam Deck device
|
||||||
bool IsSteamRunningOnSteamDeck()
|
bool IsSteamRunningOnSteamDeck()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s %i\n", __FUNCTION__, (int)settings->steam_deck);
|
PRINT_DEBUG("Steam_Utils::%s %i\n", __FUNCTION__, (int)settings->steam_deck);
|
||||||
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return settings->steam_deck;
|
return settings->steam_deck;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -443,19 +455,22 @@ bool IsSteamRunningOnSteamDeck()
|
|||||||
// The text field position is specified in pixels relative the origin of the game window and is used to position the floating keyboard in a way that doesn't cover the text field
|
// The text field position is specified in pixels relative the origin of the game window and is used to position the floating keyboard in a way that doesn't cover the text field
|
||||||
bool ShowFloatingGamepadTextInput( EFloatingGamepadTextInputMode eKeyboardMode, int nTextFieldXPosition, int nTextFieldYPosition, int nTextFieldWidth, int nTextFieldHeight )
|
bool ShowFloatingGamepadTextInput( EFloatingGamepadTextInputMode eKeyboardMode, int nTextFieldXPosition, int nTextFieldYPosition, int nTextFieldWidth, int nTextFieldHeight )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("Steam_Utils::%s\n", __FUNCTION__);
|
||||||
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// In game launchers that don't have controller support you can call this to have Steam Input translate the controller input into mouse/kb to navigate the launcher
|
// In game launchers that don't have controller support you can call this to have Steam Input translate the controller input into mouse/kb to navigate the launcher
|
||||||
void SetGameLauncherMode( bool bLauncherMode )
|
void SetGameLauncherMode( bool bLauncherMode )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("Steam_Utils::%s\n", __FUNCTION__);
|
||||||
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DismissFloatingGamepadTextInput()
|
bool DismissFloatingGamepadTextInput()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("Steam_Utils::%s\n", __FUNCTION__);
|
||||||
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,43 +30,43 @@ Steam_Apps::Steam_Apps(Settings *settings, class SteamCallResults *callback_resu
|
|||||||
int Steam_Apps::GetAppData( AppId_t nAppID, const char *pchKey, char *pchValue, int cchValueMax )
|
int Steam_Apps::GetAppData( AppId_t nAppID, const char *pchKey, char *pchValue, int cchValueMax )
|
||||||
{
|
{
|
||||||
//TODO
|
//TODO
|
||||||
PRINT_DEBUG("GetAppData %u %s\n", nAppID, pchKey);
|
PRINT_DEBUG("Steam_Apps::GetAppData %u %s\n", nAppID, pchKey);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_Apps::BIsSubscribed()
|
bool Steam_Apps::BIsSubscribed()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BIsSubscribed\n");
|
PRINT_DEBUG("Steam_Apps::BIsSubscribed\n");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_Apps::BIsLowViolence()
|
bool Steam_Apps::BIsLowViolence()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BIsLowViolence\n");
|
PRINT_DEBUG("Steam_Apps::BIsLowViolence\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_Apps::BIsCybercafe()
|
bool Steam_Apps::BIsCybercafe()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BIsCybercafe\n");
|
PRINT_DEBUG("Steam_Apps::BIsCybercafe\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_Apps::BIsVACBanned()
|
bool Steam_Apps::BIsVACBanned()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BIsVACBanned\n");
|
PRINT_DEBUG("Steam_Apps::BIsVACBanned\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *Steam_Apps::GetCurrentGameLanguage()
|
const char *Steam_Apps::GetCurrentGameLanguage()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetCurrentGameLanguage\n");
|
PRINT_DEBUG("Steam_Apps::GetCurrentGameLanguage\n");
|
||||||
return settings->get_language();
|
return settings->get_language();
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *Steam_Apps::GetAvailableGameLanguages()
|
const char *Steam_Apps::GetAvailableGameLanguages()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetAvailableGameLanguages\n");
|
PRINT_DEBUG("Steam_Apps::GetAvailableGameLanguages\n");
|
||||||
//TODO?
|
//TODO?
|
||||||
return settings->get_language();
|
return settings->get_language();
|
||||||
}
|
}
|
||||||
@ -75,7 +75,7 @@ const char *Steam_Apps::GetAvailableGameLanguages()
|
|||||||
// only use this member if you need to check ownership of another game related to yours, a demo for example
|
// only use this member if you need to check ownership of another game related to yours, a demo for example
|
||||||
bool Steam_Apps::BIsSubscribedApp( AppId_t appID )
|
bool Steam_Apps::BIsSubscribedApp( AppId_t appID )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BIsSubscribedApp %u\n", appID);
|
PRINT_DEBUG("Steam_Apps::BIsSubscribedApp %u\n", appID);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (appID == 0) return true; //I think appid 0 is always owned
|
if (appID == 0) return true; //I think appid 0 is always owned
|
||||||
if (appID == UINT32_MAX) return false; // check Steam_Apps::BIsAppInstalled()
|
if (appID == UINT32_MAX) return false; // check Steam_Apps::BIsAppInstalled()
|
||||||
@ -87,7 +87,7 @@ bool Steam_Apps::BIsSubscribedApp( AppId_t appID )
|
|||||||
// Takes AppID of DLC and checks if the user owns the DLC & if the DLC is installed
|
// Takes AppID of DLC and checks if the user owns the DLC & if the DLC is installed
|
||||||
bool Steam_Apps::BIsDlcInstalled( AppId_t appID )
|
bool Steam_Apps::BIsDlcInstalled( AppId_t appID )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BIsDlcInstalled %u\n", appID);
|
PRINT_DEBUG("Steam_Apps::BIsDlcInstalled %u\n", appID);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (appID == 0) return true;
|
if (appID == 0) return true;
|
||||||
if (appID == UINT32_MAX) return false; // check Steam_Apps::BIsAppInstalled()
|
if (appID == UINT32_MAX) return false; // check Steam_Apps::BIsAppInstalled()
|
||||||
@ -99,7 +99,7 @@ bool Steam_Apps::BIsDlcInstalled( AppId_t appID )
|
|||||||
// returns the Unix time of the purchase of the app
|
// returns the Unix time of the purchase of the app
|
||||||
uint32 Steam_Apps::GetEarliestPurchaseUnixTime( AppId_t nAppID )
|
uint32 Steam_Apps::GetEarliestPurchaseUnixTime( AppId_t nAppID )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetEarliestPurchaseUnixTime\n");
|
PRINT_DEBUG("Steam_Apps::GetEarliestPurchaseUnixTime\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (nAppID == 0) return 0; //TODO is this correct?
|
if (nAppID == 0) return 0; //TODO is this correct?
|
||||||
if (nAppID == UINT32_MAX) return 0; // check Steam_Apps::BIsAppInstalled() TODO is this correct?
|
if (nAppID == UINT32_MAX) return 0; // check Steam_Apps::BIsAppInstalled() TODO is this correct?
|
||||||
@ -122,7 +122,7 @@ uint32 Steam_Apps::GetEarliestPurchaseUnixTime( AppId_t nAppID )
|
|||||||
// Before using, please ask your Valve technical contact how to package and secure your free weekened
|
// Before using, please ask your Valve technical contact how to package and secure your free weekened
|
||||||
bool Steam_Apps::BIsSubscribedFromFreeWeekend()
|
bool Steam_Apps::BIsSubscribedFromFreeWeekend()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BIsSubscribedFromFreeWeekend\n");
|
PRINT_DEBUG("Steam_Apps::BIsSubscribedFromFreeWeekend\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -130,7 +130,7 @@ bool Steam_Apps::BIsSubscribedFromFreeWeekend()
|
|||||||
// Returns the number of DLC pieces for the running app
|
// Returns the number of DLC pieces for the running app
|
||||||
int Steam_Apps::GetDLCCount()
|
int Steam_Apps::GetDLCCount()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetDLCCount\n");
|
PRINT_DEBUG("Steam_Apps::GetDLCCount\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return settings->DLCCount();
|
return settings->DLCCount();
|
||||||
}
|
}
|
||||||
@ -139,7 +139,7 @@ int Steam_Apps::GetDLCCount()
|
|||||||
// Returns metadata for DLC by index, of range [0, GetDLCCount()]
|
// Returns metadata for DLC by index, of range [0, GetDLCCount()]
|
||||||
bool Steam_Apps::BGetDLCDataByIndex( int iDLC, AppId_t *pAppID, bool *pbAvailable, char *pchName, int cchNameBufferSize )
|
bool Steam_Apps::BGetDLCDataByIndex( int iDLC, AppId_t *pAppID, bool *pbAvailable, char *pchName, int cchNameBufferSize )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BGetDLCDataByIndex\n");
|
PRINT_DEBUG("Steam_Apps::BGetDLCDataByIndex\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
AppId_t appid;
|
AppId_t appid;
|
||||||
bool available;
|
bool available;
|
||||||
@ -165,14 +165,14 @@ bool Steam_Apps::BGetDLCDataByIndex( int iDLC, AppId_t *pAppID, bool *pbAvailabl
|
|||||||
// Install/Uninstall control for optional DLC
|
// Install/Uninstall control for optional DLC
|
||||||
void Steam_Apps::InstallDLC( AppId_t nAppID )
|
void Steam_Apps::InstallDLC( AppId_t nAppID )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("InstallDLC\n");
|
PRINT_DEBUG("Steam_Apps::InstallDLC\n");
|
||||||
// we lock here because the API is supposed to modify the DLC list
|
// we lock here because the API is supposed to modify the DLC list
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Steam_Apps::UninstallDLC( AppId_t nAppID )
|
void Steam_Apps::UninstallDLC( AppId_t nAppID )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("UninstallDLC\n");
|
PRINT_DEBUG("Steam_Apps::UninstallDLC\n");
|
||||||
// we lock here because the API is supposed to modify the DLC list
|
// we lock here because the API is supposed to modify the DLC list
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
}
|
}
|
||||||
@ -207,7 +207,7 @@ static void FillProofOfPurchaseKey( AppProofOfPurchaseKeyResponse_t& data, AppId
|
|||||||
// the key is available (which may be immediately).
|
// the key is available (which may be immediately).
|
||||||
void Steam_Apps::RequestAppProofOfPurchaseKey( AppId_t nAppID )
|
void Steam_Apps::RequestAppProofOfPurchaseKey( AppId_t nAppID )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("TODO RequestAppProofOfPurchaseKey\n");
|
PRINT_DEBUG("Steam_Apps::TODO RequestAppProofOfPurchaseKey\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
AppProofOfPurchaseKeyResponse_t data{};
|
AppProofOfPurchaseKeyResponse_t data{};
|
||||||
@ -231,7 +231,7 @@ void Steam_Apps::RequestAppProofOfPurchaseKey( AppId_t nAppID )
|
|||||||
// https://partner.steamgames.com/doc/api/ISteamApps
|
// https://partner.steamgames.com/doc/api/ISteamApps
|
||||||
bool Steam_Apps::GetCurrentBetaName( char *pchName, int cchNameBufferSize )
|
bool Steam_Apps::GetCurrentBetaName( char *pchName, int cchNameBufferSize )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetCurrentBetaName %i\n", cchNameBufferSize);
|
PRINT_DEBUG("Steam_Apps::GetCurrentBetaName %i\n", cchNameBufferSize);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (pchName && cchNameBufferSize > settings->current_branch_name.size()) {
|
if (pchName && cchNameBufferSize > settings->current_branch_name.size()) {
|
||||||
memcpy(pchName, settings->current_branch_name.c_str(), settings->current_branch_name.size());
|
memcpy(pchName, settings->current_branch_name.c_str(), settings->current_branch_name.size());
|
||||||
@ -243,7 +243,7 @@ bool Steam_Apps::GetCurrentBetaName( char *pchName, int cchNameBufferSize )
|
|||||||
// signal Steam that game files seems corrupt or missing
|
// signal Steam that game files seems corrupt or missing
|
||||||
bool Steam_Apps::MarkContentCorrupt( bool bMissingFilesOnly )
|
bool Steam_Apps::MarkContentCorrupt( bool bMissingFilesOnly )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("MarkContentCorrupt\n");
|
PRINT_DEBUG("Steam_Apps::MarkContentCorrupt\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
//TODO: warn user
|
//TODO: warn user
|
||||||
return true;
|
return true;
|
||||||
@ -252,7 +252,7 @@ bool Steam_Apps::MarkContentCorrupt( bool bMissingFilesOnly )
|
|||||||
// return installed depots in mount order
|
// return installed depots in mount order
|
||||||
uint32 Steam_Apps::GetInstalledDepots( AppId_t appID, DepotId_t *pvecDepots, uint32 cMaxDepots )
|
uint32 Steam_Apps::GetInstalledDepots( AppId_t appID, DepotId_t *pvecDepots, uint32 cMaxDepots )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetInstalledDepots %u, %u\n", appID, cMaxDepots);
|
PRINT_DEBUG("Steam_Apps::GetInstalledDepots %u, %u\n", appID, cMaxDepots);
|
||||||
//TODO not sure about the behavior of this function, I didn't actually test this.
|
//TODO not sure about the behavior of this function, I didn't actually test this.
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (!pvecDepots) return 0;
|
if (!pvecDepots) return 0;
|
||||||
@ -264,14 +264,14 @@ uint32 Steam_Apps::GetInstalledDepots( AppId_t appID, DepotId_t *pvecDepots, uin
|
|||||||
|
|
||||||
uint32 Steam_Apps::GetInstalledDepots( DepotId_t *pvecDepots, uint32 cMaxDepots )
|
uint32 Steam_Apps::GetInstalledDepots( DepotId_t *pvecDepots, uint32 cMaxDepots )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetInstalledDepots old\n");
|
PRINT_DEBUG("Steam_Apps::GetInstalledDepots old\n");
|
||||||
return GetInstalledDepots( settings->get_local_game_id().AppID(), pvecDepots, cMaxDepots );
|
return GetInstalledDepots( settings->get_local_game_id().AppID(), pvecDepots, cMaxDepots );
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns current app install folder for AppID, returns folder name length
|
// returns current app install folder for AppID, returns folder name length
|
||||||
uint32 Steam_Apps::GetAppInstallDir( AppId_t appID, char *pchFolder, uint32 cchFolderBufferSize )
|
uint32 Steam_Apps::GetAppInstallDir( AppId_t appID, char *pchFolder, uint32 cchFolderBufferSize )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetAppInstallDir %u %p %u\n", appID, pchFolder, cchFolderBufferSize);
|
PRINT_DEBUG("Steam_Apps::GetAppInstallDir %u %p %u\n", appID, pchFolder, cchFolderBufferSize);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
//TODO return real path instead of dll path
|
//TODO return real path instead of dll path
|
||||||
std::string installed_path = settings->getAppInstallPath(appID);
|
std::string installed_path = settings->getAppInstallPath(appID);
|
||||||
@ -279,7 +279,7 @@ uint32 Steam_Apps::GetAppInstallDir( AppId_t appID, char *pchFolder, uint32 cchF
|
|||||||
if (installed_path.size() == 0) {
|
if (installed_path.size() == 0) {
|
||||||
std::string dll_path = get_full_program_path();
|
std::string dll_path = get_full_program_path();
|
||||||
std::string current_path = get_current_path();
|
std::string current_path = get_current_path();
|
||||||
PRINT_DEBUG("paths %s %s\n", dll_path.c_str(), current_path.c_str());
|
PRINT_DEBUG("Steam_Apps::paths %s %s\n", dll_path.c_str(), current_path.c_str());
|
||||||
|
|
||||||
//Just pick the smallest path, it has the most chances of being the good one
|
//Just pick the smallest path, it has the most chances of being the good one
|
||||||
if (dll_path.size() > current_path.size() && current_path.size()) {
|
if (dll_path.size() > current_path.size() && current_path.size()) {
|
||||||
@ -289,7 +289,7 @@ uint32 Steam_Apps::GetAppInstallDir( AppId_t appID, char *pchFolder, uint32 cchF
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PRINT_DEBUG("path %s\n", installed_path.c_str());
|
PRINT_DEBUG("Steam_Apps::path %s\n", installed_path.c_str());
|
||||||
if (cchFolderBufferSize && pchFolder) {
|
if (cchFolderBufferSize && pchFolder) {
|
||||||
snprintf(pchFolder, cchFolderBufferSize, "%s", installed_path.c_str());
|
snprintf(pchFolder, cchFolderBufferSize, "%s", installed_path.c_str());
|
||||||
}
|
}
|
||||||
@ -302,7 +302,7 @@ uint32 Steam_Apps::GetAppInstallDir( AppId_t appID, char *pchFolder, uint32 cchF
|
|||||||
// https://partner.steamgames.com/doc/api/ISteamApps
|
// https://partner.steamgames.com/doc/api/ISteamApps
|
||||||
bool Steam_Apps::BIsAppInstalled( AppId_t appID )
|
bool Steam_Apps::BIsAppInstalled( AppId_t appID )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BIsAppInstalled %u\n", appID);
|
PRINT_DEBUG("Steam_Apps::BIsAppInstalled %u\n", appID);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
// "0 Base Goldsource Shared Binaries"
|
// "0 Base Goldsource Shared Binaries"
|
||||||
@ -324,7 +324,7 @@ bool Steam_Apps::BIsAppInstalled( AppId_t appID )
|
|||||||
// returns the SteamID of the original owner. If different from current user, it's borrowed
|
// returns the SteamID of the original owner. If different from current user, it's borrowed
|
||||||
CSteamID Steam_Apps::GetAppOwner()
|
CSteamID Steam_Apps::GetAppOwner()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetAppOwner\n");
|
PRINT_DEBUG("Steam_Apps::GetAppOwner\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return settings->get_local_steam_id();
|
return settings->get_local_steam_id();
|
||||||
}
|
}
|
||||||
@ -335,7 +335,7 @@ CSteamID Steam_Apps::GetAppOwner()
|
|||||||
// but it is advised that you not param names beginning with an underscore for your own features.
|
// but it is advised that you not param names beginning with an underscore for your own features.
|
||||||
const char *Steam_Apps::GetLaunchQueryParam( const char *pchKey )
|
const char *Steam_Apps::GetLaunchQueryParam( const char *pchKey )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetLaunchQueryParam\n");
|
PRINT_DEBUG("Steam_Apps::GetLaunchQueryParam\n");
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -343,7 +343,7 @@ const char *Steam_Apps::GetLaunchQueryParam( const char *pchKey )
|
|||||||
// get download progress for optional DLC
|
// get download progress for optional DLC
|
||||||
bool Steam_Apps::GetDlcDownloadProgress( AppId_t nAppID, uint64 *punBytesDownloaded, uint64 *punBytesTotal )
|
bool Steam_Apps::GetDlcDownloadProgress( AppId_t nAppID, uint64 *punBytesDownloaded, uint64 *punBytesTotal )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetDlcDownloadProgress\n");
|
PRINT_DEBUG("Steam_Apps::GetDlcDownloadProgress\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -352,7 +352,7 @@ bool Steam_Apps::GetDlcDownloadProgress( AppId_t nAppID, uint64 *punBytesDownloa
|
|||||||
// return the buildid of this app, may change at any time based on backend updates to the game
|
// return the buildid of this app, may change at any time based on backend updates to the game
|
||||||
int Steam_Apps::GetAppBuildId()
|
int Steam_Apps::GetAppBuildId()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetAppBuildId\n");
|
PRINT_DEBUG("Steam_Apps::GetAppBuildId\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return this->settings->build_id;
|
return this->settings->build_id;
|
||||||
}
|
}
|
||||||
@ -364,7 +364,7 @@ int Steam_Apps::GetAppBuildId()
|
|||||||
// member is k_uAppIdInvalid (zero).
|
// member is k_uAppIdInvalid (zero).
|
||||||
void Steam_Apps::RequestAllProofOfPurchaseKeys()
|
void Steam_Apps::RequestAllProofOfPurchaseKeys()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("TODO RequestAllProofOfPurchaseKeys\n");
|
PRINT_DEBUG("Steam_Apps::TODO RequestAllProofOfPurchaseKeys\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
// current app
|
// current app
|
||||||
{
|
{
|
||||||
@ -399,7 +399,7 @@ void Steam_Apps::RequestAllProofOfPurchaseKeys()
|
|||||||
STEAM_CALL_RESULT( FileDetailsResult_t )
|
STEAM_CALL_RESULT( FileDetailsResult_t )
|
||||||
SteamAPICall_t Steam_Apps::GetFileDetails( const char* pszFileName )
|
SteamAPICall_t Steam_Apps::GetFileDetails( const char* pszFileName )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetFileDetails %s\n", pszFileName);
|
PRINT_DEBUG("Steam_Apps::GetFileDetails %s\n", pszFileName);
|
||||||
FileDetailsResult_t data = {};
|
FileDetailsResult_t data = {};
|
||||||
//TODO? this function should only return found if file is actually part of the steam depots
|
//TODO? this function should only return found if file is actually part of the steam depots
|
||||||
if (file_exists_(pszFileName)) {
|
if (file_exists_(pszFileName)) {
|
||||||
@ -428,14 +428,14 @@ SteamAPICall_t Steam_Apps::GetFileDetails( const char* pszFileName )
|
|||||||
// If game was already running and launched again, the NewUrlLaunchParameters_t will be fired.
|
// If game was already running and launched again, the NewUrlLaunchParameters_t will be fired.
|
||||||
int Steam_Apps::GetLaunchCommandLine( char *pszCommandLine, int cubCommandLine )
|
int Steam_Apps::GetLaunchCommandLine( char *pszCommandLine, int cubCommandLine )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("TODO GetLaunchCommandLine\n");
|
PRINT_DEBUG("Steam_Apps::TODO GetLaunchCommandLine\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if user borrowed this game via Family Sharing, If true, call GetAppOwner() to get the lender SteamID
|
// Check if user borrowed this game via Family Sharing, If true, call GetAppOwner() to get the lender SteamID
|
||||||
bool Steam_Apps::BIsSubscribedFromFamilySharing()
|
bool Steam_Apps::BIsSubscribedFromFamilySharing()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BIsSubscribedFromFamilySharing\n");
|
PRINT_DEBUG("Steam_Apps::BIsSubscribedFromFamilySharing\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -443,7 +443,7 @@ bool Steam_Apps::BIsSubscribedFromFamilySharing()
|
|||||||
// check if game is a timed trial with limited playtime
|
// check if game is a timed trial with limited playtime
|
||||||
bool Steam_Apps::BIsTimedTrial( uint32* punSecondsAllowed, uint32* punSecondsPlayed )
|
bool Steam_Apps::BIsTimedTrial( uint32* punSecondsAllowed, uint32* punSecondsPlayed )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BIsTimedTrial\n");
|
PRINT_DEBUG("Steam_Apps::BIsTimedTrial\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -451,7 +451,7 @@ bool Steam_Apps::BIsTimedTrial( uint32* punSecondsAllowed, uint32* punSecondsPla
|
|||||||
// set current DLC AppID being played (or 0 if none). Allows Steam to track usage of major DLC extensions
|
// set current DLC AppID being played (or 0 if none). Allows Steam to track usage of major DLC extensions
|
||||||
bool Steam_Apps::SetDlcContext( AppId_t nAppID )
|
bool Steam_Apps::SetDlcContext( AppId_t nAppID )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetDlcContext %u\n", nAppID);
|
PRINT_DEBUG("Steam_Apps::SetDlcContext %u\n", nAppID);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -47,7 +47,7 @@ std::vector<std::pair<CSteamID, Gameserver_Player_Info_t>>* Steam_GameServer::ge
|
|||||||
/// This is called by SteamGameServer_Init, and you will usually not need to call it directly
|
/// This is called by SteamGameServer_Init, and you will usually not need to call it directly
|
||||||
bool Steam_GameServer::InitGameServer( uint32 unIP, uint16 usGamePort, uint16 usQueryPort, uint32 unFlags, AppId_t nGameAppId, const char *pchVersionString )
|
bool Steam_GameServer::InitGameServer( uint32 unIP, uint16 usGamePort, uint16 usQueryPort, uint32 unFlags, AppId_t nGameAppId, const char *pchVersionString )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("InitGameServer\n");
|
PRINT_DEBUG("Steam_GameServer::InitGameServer\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
if (logged_in) return false; // may not be changed after logged in.
|
if (logged_in) return false; // may not be changed after logged in.
|
||||||
@ -59,7 +59,7 @@ bool Steam_GameServer::InitGameServer( uint32 unIP, uint16 usGamePort, uint16 us
|
|||||||
try {
|
try {
|
||||||
server_data.set_version(std::stoi(version));
|
server_data.set_version(std::stoi(version));
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
PRINT_DEBUG("InitGameServer: not a number: %s\n", pchVersionString);
|
PRINT_DEBUG("Steam_GameServer::InitGameServer: not a number: %s\n", pchVersionString);
|
||||||
server_data.set_version(0);
|
server_data.set_version(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -86,7 +86,7 @@ bool Steam_GameServer::InitGameServer( uint32 unIP, uint16 usGamePort, uint16 us
|
|||||||
/// It's a required field, but will eventually will go away, and the AppID will be used for this purpose.
|
/// It's a required field, but will eventually will go away, and the AppID will be used for this purpose.
|
||||||
void Steam_GameServer::SetProduct( const char *pszProduct )
|
void Steam_GameServer::SetProduct( const char *pszProduct )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetProduct\n");
|
PRINT_DEBUG("Steam_GameServer::SetProduct\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
// pszGameDescription should be used instead of pszProduct for accurate information
|
// pszGameDescription should be used instead of pszProduct for accurate information
|
||||||
// Example: 'Counter-Strike: Source' instead of 'cstrike'
|
// Example: 'Counter-Strike: Source' instead of 'cstrike'
|
||||||
@ -98,7 +98,7 @@ void Steam_GameServer::SetProduct( const char *pszProduct )
|
|||||||
/// This is a required field, but it will go away eventually, as the data should be determined from the AppID.
|
/// This is a required field, but it will go away eventually, as the data should be determined from the AppID.
|
||||||
void Steam_GameServer::SetGameDescription( const char *pszGameDescription )
|
void Steam_GameServer::SetGameDescription( const char *pszGameDescription )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetGameDescription\n");
|
PRINT_DEBUG("Steam_GameServer::SetGameDescription\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
server_data.set_game_description(pszGameDescription);
|
server_data.set_game_description(pszGameDescription);
|
||||||
//server_data.set_product(pszGameDescription);
|
//server_data.set_product(pszGameDescription);
|
||||||
@ -111,7 +111,7 @@ void Steam_GameServer::SetGameDescription( const char *pszGameDescription )
|
|||||||
/// @see k_cbMaxGameServerGameDir
|
/// @see k_cbMaxGameServerGameDir
|
||||||
void Steam_GameServer::SetModDir( const char *pszModDir )
|
void Steam_GameServer::SetModDir( const char *pszModDir )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetModDir\n");
|
PRINT_DEBUG("Steam_GameServer::SetModDir\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
server_data.set_mod_dir(pszModDir);
|
server_data.set_mod_dir(pszModDir);
|
||||||
}
|
}
|
||||||
@ -120,7 +120,7 @@ void Steam_GameServer::SetModDir( const char *pszModDir )
|
|||||||
/// Is this is a dedicated server? The default value is false.
|
/// Is this is a dedicated server? The default value is false.
|
||||||
void Steam_GameServer::SetDedicatedServer( bool bDedicated )
|
void Steam_GameServer::SetDedicatedServer( bool bDedicated )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetDedicatedServer\n");
|
PRINT_DEBUG("Steam_GameServer::SetDedicatedServer\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
server_data.set_dedicated_server(bDedicated);
|
server_data.set_dedicated_server(bDedicated);
|
||||||
}
|
}
|
||||||
@ -138,7 +138,7 @@ void Steam_GameServer::SetDedicatedServer( bool bDedicated )
|
|||||||
/// @see SteamServersDisconnected_t
|
/// @see SteamServersDisconnected_t
|
||||||
void Steam_GameServer::LogOn( const char *pszToken )
|
void Steam_GameServer::LogOn( const char *pszToken )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("LogOn %s\n", pszToken);
|
PRINT_DEBUG("Steam_GameServer::LogOn %s\n", pszToken);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
call_servers_connected = true;
|
call_servers_connected = true;
|
||||||
logged_in = true;
|
logged_in = true;
|
||||||
@ -149,7 +149,7 @@ void Steam_GameServer::LogOn(
|
|||||||
const char *pszPassword
|
const char *pszPassword
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("LogOn %s %s\n", pszAccountName, pszPassword);
|
PRINT_DEBUG("Steam_GameServer::LogOn %s %s\n", pszAccountName, pszPassword);
|
||||||
LogOn(pszAccountName);
|
LogOn(pszAccountName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -159,7 +159,7 @@ void Steam_GameServer::LogOn(
|
|||||||
/// but this is no longer the case.
|
/// but this is no longer the case.
|
||||||
void Steam_GameServer::LogOnAnonymous()
|
void Steam_GameServer::LogOnAnonymous()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("LogOnAnonymous\n");
|
PRINT_DEBUG("Steam_GameServer::LogOnAnonymous\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
call_servers_connected = true;
|
call_servers_connected = true;
|
||||||
logged_in = true;
|
logged_in = true;
|
||||||
@ -167,14 +167,14 @@ void Steam_GameServer::LogOnAnonymous()
|
|||||||
|
|
||||||
void Steam_GameServer::LogOn()
|
void Steam_GameServer::LogOn()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("LogOn\n");
|
PRINT_DEBUG("Steam_GameServer::LogOn\n");
|
||||||
LogOnAnonymous();
|
LogOnAnonymous();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Begin process of logging game server out of steam
|
/// Begin process of logging game server out of steam
|
||||||
void Steam_GameServer::LogOff()
|
void Steam_GameServer::LogOff()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("LogOff\n");
|
PRINT_DEBUG("Steam_GameServer::LogOff\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (logged_in) {
|
if (logged_in) {
|
||||||
call_servers_disconnected = true;
|
call_servers_disconnected = true;
|
||||||
@ -194,7 +194,7 @@ bool Steam_GameServer::BLoggedOn()
|
|||||||
|
|
||||||
bool Steam_GameServer::BSecure()
|
bool Steam_GameServer::BSecure()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BSecure\n");
|
PRINT_DEBUG("Steam_GameServer::BSecure\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (!policy_response_called) {
|
if (!policy_response_called) {
|
||||||
server_data.set_secure(0);
|
server_data.set_secure(0);
|
||||||
@ -218,7 +218,7 @@ CSteamID Steam_GameServer::GetSteamID()
|
|||||||
/// Only returns true once per request.
|
/// Only returns true once per request.
|
||||||
bool Steam_GameServer::WasRestartRequested()
|
bool Steam_GameServer::WasRestartRequested()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("WasRestartRequested\n");
|
PRINT_DEBUG("Steam_GameServer::WasRestartRequested\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -231,7 +231,7 @@ bool Steam_GameServer::WasRestartRequested()
|
|||||||
/// Max player count that will be reported to server browser and client queries
|
/// Max player count that will be reported to server browser and client queries
|
||||||
void Steam_GameServer::SetMaxPlayerCount( int cPlayersMax )
|
void Steam_GameServer::SetMaxPlayerCount( int cPlayersMax )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetMaxPlayerCount\n");
|
PRINT_DEBUG("Steam_GameServer::SetMaxPlayerCount\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
server_data.set_max_player_count(cPlayersMax);
|
server_data.set_max_player_count(cPlayersMax);
|
||||||
}
|
}
|
||||||
@ -240,7 +240,7 @@ void Steam_GameServer::SetMaxPlayerCount( int cPlayersMax )
|
|||||||
/// Number of bots. Default value is zero
|
/// Number of bots. Default value is zero
|
||||||
void Steam_GameServer::SetBotPlayerCount( int cBotplayers )
|
void Steam_GameServer::SetBotPlayerCount( int cBotplayers )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetBotPlayerCount\n");
|
PRINT_DEBUG("Steam_GameServer::SetBotPlayerCount\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
server_data.set_bot_player_count(cBotplayers);
|
server_data.set_bot_player_count(cBotplayers);
|
||||||
}
|
}
|
||||||
@ -251,7 +251,7 @@ void Steam_GameServer::SetBotPlayerCount( int cBotplayers )
|
|||||||
/// @see k_cbMaxGameServerName
|
/// @see k_cbMaxGameServerName
|
||||||
void Steam_GameServer::SetServerName( const char *pszServerName )
|
void Steam_GameServer::SetServerName( const char *pszServerName )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetServerName\n");
|
PRINT_DEBUG("Steam_GameServer::SetServerName\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
server_data.set_server_name(pszServerName);
|
server_data.set_server_name(pszServerName);
|
||||||
}
|
}
|
||||||
@ -262,7 +262,7 @@ void Steam_GameServer::SetServerName( const char *pszServerName )
|
|||||||
/// @see k_cbMaxGameServerName
|
/// @see k_cbMaxGameServerName
|
||||||
void Steam_GameServer::SetMapName( const char *pszMapName )
|
void Steam_GameServer::SetMapName( const char *pszMapName )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetMapName\n");
|
PRINT_DEBUG("Steam_GameServer::SetMapName\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
server_data.set_map_name(pszMapName);
|
server_data.set_map_name(pszMapName);
|
||||||
}
|
}
|
||||||
@ -271,7 +271,7 @@ void Steam_GameServer::SetMapName( const char *pszMapName )
|
|||||||
/// Let people know if your server will require a password
|
/// Let people know if your server will require a password
|
||||||
void Steam_GameServer::SetPasswordProtected( bool bPasswordProtected )
|
void Steam_GameServer::SetPasswordProtected( bool bPasswordProtected )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetPasswordProtected\n");
|
PRINT_DEBUG("Steam_GameServer::SetPasswordProtected\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
server_data.set_password_protected(bPasswordProtected);
|
server_data.set_password_protected(bPasswordProtected);
|
||||||
}
|
}
|
||||||
@ -281,7 +281,7 @@ void Steam_GameServer::SetPasswordProtected( bool bPasswordProtected )
|
|||||||
/// is not used.
|
/// is not used.
|
||||||
void Steam_GameServer::SetSpectatorPort( uint16 unSpectatorPort )
|
void Steam_GameServer::SetSpectatorPort( uint16 unSpectatorPort )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetSpectatorPort\n");
|
PRINT_DEBUG("Steam_GameServer::SetSpectatorPort\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
server_data.set_spectator_port(unSpectatorPort);
|
server_data.set_spectator_port(unSpectatorPort);
|
||||||
}
|
}
|
||||||
@ -292,7 +292,7 @@ void Steam_GameServer::SetSpectatorPort( uint16 unSpectatorPort )
|
|||||||
/// @see k_cbMaxGameServerMapName
|
/// @see k_cbMaxGameServerMapName
|
||||||
void Steam_GameServer::SetSpectatorServerName( const char *pszSpectatorServerName )
|
void Steam_GameServer::SetSpectatorServerName( const char *pszSpectatorServerName )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetSpectatorServerName\n");
|
PRINT_DEBUG("Steam_GameServer::SetSpectatorServerName\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
server_data.set_spectator_server_name(pszSpectatorServerName);
|
server_data.set_spectator_server_name(pszSpectatorServerName);
|
||||||
}
|
}
|
||||||
@ -301,7 +301,7 @@ void Steam_GameServer::SetSpectatorServerName( const char *pszSpectatorServerNam
|
|||||||
/// Call this to clear the whole list of key/values that are sent in rules queries.
|
/// Call this to clear the whole list of key/values that are sent in rules queries.
|
||||||
void Steam_GameServer::ClearAllKeyValues()
|
void Steam_GameServer::ClearAllKeyValues()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("ClearAllKeyValues\n");
|
PRINT_DEBUG("Steam_GameServer::ClearAllKeyValues\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
server_data.clear_values();
|
server_data.clear_values();
|
||||||
}
|
}
|
||||||
@ -310,7 +310,7 @@ void Steam_GameServer::ClearAllKeyValues()
|
|||||||
/// Call this to add/update a key/value pair.
|
/// Call this to add/update a key/value pair.
|
||||||
void Steam_GameServer::SetKeyValue( const char *pKey, const char *pValue )
|
void Steam_GameServer::SetKeyValue( const char *pKey, const char *pValue )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetKeyValue %s %s\n", pKey, pValue);
|
PRINT_DEBUG("Steam_GameServer::SetKeyValue %s %s\n", pKey, pValue);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
(*server_data.mutable_values())[std::string(pKey)] = std::string(pValue);
|
(*server_data.mutable_values())[std::string(pKey)] = std::string(pValue);
|
||||||
}
|
}
|
||||||
@ -322,7 +322,7 @@ void Steam_GameServer::SetKeyValue( const char *pKey, const char *pValue )
|
|||||||
/// @see k_cbMaxGameServerTags
|
/// @see k_cbMaxGameServerTags
|
||||||
void Steam_GameServer::SetGameTags( const char *pchGameTags )
|
void Steam_GameServer::SetGameTags( const char *pchGameTags )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetGameTags\n");
|
PRINT_DEBUG("Steam_GameServer::SetGameTags\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
server_data.set_tags(pchGameTags);
|
server_data.set_tags(pchGameTags);
|
||||||
}
|
}
|
||||||
@ -336,7 +336,7 @@ void Steam_GameServer::SetGameTags( const char *pchGameTags )
|
|||||||
/// @see k_cbMaxGameServerGameData
|
/// @see k_cbMaxGameServerGameData
|
||||||
void Steam_GameServer::SetGameData( const char *pchGameData )
|
void Steam_GameServer::SetGameData( const char *pchGameData )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetGameData\n");
|
PRINT_DEBUG("Steam_GameServer::SetGameData\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
server_data.set_gamedata(pchGameData);
|
server_data.set_gamedata(pchGameData);
|
||||||
}
|
}
|
||||||
@ -345,7 +345,7 @@ void Steam_GameServer::SetGameData( const char *pchGameData )
|
|||||||
/// Region identifier. This is an optional field, the default value is empty, meaning the "world" region
|
/// Region identifier. This is an optional field, the default value is empty, meaning the "world" region
|
||||||
void Steam_GameServer::SetRegion( const char *pszRegion )
|
void Steam_GameServer::SetRegion( const char *pszRegion )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetRegion\n");
|
PRINT_DEBUG("Steam_GameServer::SetRegion\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
server_data.set_region(pszRegion);
|
server_data.set_region(pszRegion);
|
||||||
}
|
}
|
||||||
@ -366,7 +366,7 @@ void Steam_GameServer::SetRegion( const char *pszRegion )
|
|||||||
// for the user has succeeded or failed (the steamid in the callback will match the one returned by this call)
|
// for the user has succeeded or failed (the steamid in the callback will match the one returned by this call)
|
||||||
bool Steam_GameServer::SendUserConnectAndAuthenticate( uint32 unIPClient, const void *pvAuthBlob, uint32 cubAuthBlobSize, CSteamID *pSteamIDUser )
|
bool Steam_GameServer::SendUserConnectAndAuthenticate( uint32 unIPClient, const void *pvAuthBlob, uint32 cubAuthBlobSize, CSteamID *pSteamIDUser )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SendUserConnectAndAuthenticate %u %u\n", unIPClient, cubAuthBlobSize);
|
PRINT_DEBUG("Steam_GameServer::SendUserConnectAndAuthenticate %u %u\n", unIPClient, cubAuthBlobSize);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
bool res = auth_manager->SendUserConnectAndAuthenticate(unIPClient, pvAuthBlob, cubAuthBlobSize, pSteamIDUser);
|
bool res = auth_manager->SendUserConnectAndAuthenticate(unIPClient, pvAuthBlob, cubAuthBlobSize, pSteamIDUser);
|
||||||
@ -394,7 +394,7 @@ void Steam_GameServer::SendUserConnectAndAuthenticate( CSteamID steamIDUser, uin
|
|||||||
// when this user leaves the server just like you would for a real user.
|
// when this user leaves the server just like you would for a real user.
|
||||||
CSteamID Steam_GameServer::CreateUnauthenticatedUserConnection()
|
CSteamID Steam_GameServer::CreateUnauthenticatedUserConnection()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("CreateUnauthenticatedUserConnection\n");
|
PRINT_DEBUG("Steam_GameServer::CreateUnauthenticatedUserConnection\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
CSteamID bot_id = auth_manager->fakeUser();
|
CSteamID bot_id = auth_manager->fakeUser();
|
||||||
@ -414,7 +414,7 @@ CSteamID Steam_GameServer::CreateUnauthenticatedUserConnection()
|
|||||||
// account being logged into multiple servers, showing who is currently on a server, etc.
|
// account being logged into multiple servers, showing who is currently on a server, etc.
|
||||||
void Steam_GameServer::SendUserDisconnect( CSteamID steamIDUser )
|
void Steam_GameServer::SendUserDisconnect( CSteamID steamIDUser )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SendUserDisconnect\n");
|
PRINT_DEBUG("Steam_GameServer::SendUserDisconnect\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
auto player_it = std::find_if(players.begin(), players.end(), [&steamIDUser](std::pair<CSteamID, Gameserver_Player_Info_t>& player)
|
auto player_it = std::find_if(players.begin(), players.end(), [&steamIDUser](std::pair<CSteamID, Gameserver_Player_Info_t>& player)
|
||||||
@ -438,7 +438,7 @@ void Steam_GameServer::SendUserDisconnect( CSteamID steamIDUser )
|
|||||||
// Return Value: true if successful, false if failure (ie, steamIDUser wasn't for an active player)
|
// Return Value: true if successful, false if failure (ie, steamIDUser wasn't for an active player)
|
||||||
bool Steam_GameServer::BUpdateUserData( CSteamID steamIDUser, const char *pchPlayerName, uint32 uScore )
|
bool Steam_GameServer::BUpdateUserData( CSteamID steamIDUser, const char *pchPlayerName, uint32 uScore )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BUpdateUserData %llu %s %u\n", steamIDUser.ConvertToUint64(), pchPlayerName, uScore);
|
PRINT_DEBUG("Steam_GameServer::BUpdateUserData %llu %s %u\n", steamIDUser.ConvertToUint64(), pchPlayerName, uScore);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
auto player_it = std::find_if(players.begin(), players.end(), [&steamIDUser](std::pair<CSteamID, Gameserver_Player_Info_t>& player)
|
auto player_it = std::find_if(players.begin(), players.end(), [&steamIDUser](std::pair<CSteamID, Gameserver_Player_Info_t>& player)
|
||||||
@ -476,7 +476,7 @@ bool Steam_GameServer::BUpdateUserData( CSteamID steamIDUser, const char *pchPla
|
|||||||
bool Steam_GameServer::BSetServerType( uint32 unServerFlags, uint32 unGameIP, uint16 unGamePort,
|
bool Steam_GameServer::BSetServerType( uint32 unServerFlags, uint32 unGameIP, uint16 unGamePort,
|
||||||
uint16 unSpectatorPort, uint16 usQueryPort, const char *pchGameDir, const char *pchVersion, bool bLANMode )
|
uint16 unSpectatorPort, uint16 usQueryPort, const char *pchGameDir, const char *pchVersion, bool bLANMode )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BSetServerType\n");
|
PRINT_DEBUG("Steam_GameServer::BSetServerType\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
server_data.set_ip(unGameIP);
|
server_data.set_ip(unGameIP);
|
||||||
server_data.set_port(unGamePort);
|
server_data.set_port(unGamePort);
|
||||||
@ -504,7 +504,7 @@ void Steam_GameServer::UpdateServerStatus( int cPlayers, int cPlayersMax, int cB
|
|||||||
const char *pchServerName, const char *pSpectatorServerName,
|
const char *pchServerName, const char *pSpectatorServerName,
|
||||||
const char *pchMapName )
|
const char *pchMapName )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("UpdateServerStatus\n");
|
PRINT_DEBUG("Steam_GameServer::UpdateServerStatus\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
server_data.set_num_players(cPlayers);
|
server_data.set_num_players(cPlayers);
|
||||||
server_data.set_max_player_count(cPlayersMax);
|
server_data.set_max_player_count(cPlayersMax);
|
||||||
@ -517,7 +517,7 @@ void Steam_GameServer::UpdateServerStatus( int cPlayers, int cPlayersMax, int cB
|
|||||||
// This can be called if spectator goes away or comes back (passing 0 means there is no spectator server now).
|
// This can be called if spectator goes away or comes back (passing 0 means there is no spectator server now).
|
||||||
void Steam_GameServer::UpdateSpectatorPort( uint16 unSpectatorPort )
|
void Steam_GameServer::UpdateSpectatorPort( uint16 unSpectatorPort )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("UpdateSpectatorPort\n");
|
PRINT_DEBUG("Steam_GameServer::UpdateSpectatorPort\n");
|
||||||
SetSpectatorPort(unSpectatorPort);
|
SetSpectatorPort(unSpectatorPort);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -525,14 +525,14 @@ void Steam_GameServer::UpdateSpectatorPort( uint16 unSpectatorPort )
|
|||||||
// it allows users to filter in the matchmaking/server-browser interfaces based on the value
|
// it allows users to filter in the matchmaking/server-browser interfaces based on the value
|
||||||
void Steam_GameServer::SetGameType( const char *pchGameType )
|
void Steam_GameServer::SetGameType( const char *pchGameType )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetGameType\n");
|
PRINT_DEBUG("Steam_GameServer::SetGameType\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ask if a user has a specific achievement for this game, will get a callback on reply
|
// Ask if a user has a specific achievement for this game, will get a callback on reply
|
||||||
bool Steam_GameServer::BGetUserAchievementStatus( CSteamID steamID, const char *pchAchievementName )
|
bool Steam_GameServer::BGetUserAchievementStatus( CSteamID steamID, const char *pchAchievementName )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BGetUserAchievementStatus\n");
|
PRINT_DEBUG("Steam_GameServer::BGetUserAchievementStatus\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -622,7 +622,7 @@ EUserHasLicenseForAppResult Steam_GameServer::UserHasLicenseForApp( CSteamID ste
|
|||||||
// returns false if we're not connected to the steam servers and thus cannot ask
|
// returns false if we're not connected to the steam servers and thus cannot ask
|
||||||
bool Steam_GameServer::RequestUserGroupStatus( CSteamID steamIDUser, CSteamID steamIDGroup )
|
bool Steam_GameServer::RequestUserGroupStatus( CSteamID steamIDUser, CSteamID steamIDGroup )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("RequestUserGroupStatus\n");
|
PRINT_DEBUG("Steam_GameServer::RequestUserGroupStatus\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -633,14 +633,14 @@ bool Steam_GameServer::RequestUserGroupStatus( CSteamID steamIDUser, CSteamID st
|
|||||||
// they will be removed in a future version of the SDK
|
// they will be removed in a future version of the SDK
|
||||||
void Steam_GameServer::GetGameplayStats( )
|
void Steam_GameServer::GetGameplayStats( )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetGameplayStats\n");
|
PRINT_DEBUG("Steam_GameServer::GetGameplayStats\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
}
|
}
|
||||||
|
|
||||||
STEAM_CALL_RESULT( GSReputation_t )
|
STEAM_CALL_RESULT( GSReputation_t )
|
||||||
SteamAPICall_t Steam_GameServer::GetServerReputation()
|
SteamAPICall_t Steam_GameServer::GetServerReputation()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetServerReputation\n");
|
PRINT_DEBUG("Steam_GameServer::GetServerReputation\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -651,16 +651,16 @@ SteamAPICall_t Steam_GameServer::GetServerReputation()
|
|||||||
// connect to
|
// connect to
|
||||||
uint32 Steam_GameServer::GetPublicIP_old()
|
uint32 Steam_GameServer::GetPublicIP_old()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetPublicIP_old\n");
|
PRINT_DEBUG("Steam_GameServer::GetPublicIP_old\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
uint32 ip = network->getOwnIP();
|
uint32 ip = network->getOwnIP();
|
||||||
PRINT_DEBUG("%X\n", ip);
|
PRINT_DEBUG(" %X\n", ip);
|
||||||
return ip;
|
return ip;
|
||||||
}
|
}
|
||||||
|
|
||||||
SteamIPAddress_t Steam_GameServer::GetPublicIP()
|
SteamIPAddress_t Steam_GameServer::GetPublicIP()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetPublicIP\n");
|
PRINT_DEBUG("Steam_GameServer::GetPublicIP\n");
|
||||||
SteamIPAddress_t ip = SteamIPAddress_t::IPv4Any();
|
SteamIPAddress_t ip = SteamIPAddress_t::IPv4Any();
|
||||||
ip.m_unIPv4 = GetPublicIP_old();
|
ip.m_unIPv4 = GetPublicIP_old();
|
||||||
return ip;
|
return ip;
|
||||||
@ -668,7 +668,7 @@ SteamIPAddress_t Steam_GameServer::GetPublicIP()
|
|||||||
|
|
||||||
void Steam_GameServer::GetPublicIP_fix(SteamIPAddress_t *out)
|
void Steam_GameServer::GetPublicIP_fix(SteamIPAddress_t *out)
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetPublicIP_fix\n");
|
PRINT_DEBUG("Steam_GameServer::GetPublicIP_fix\n");
|
||||||
if (out) *out = GetPublicIP();
|
if (out) *out = GetPublicIP();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -689,7 +689,7 @@ void Steam_GameServer::GetPublicIP_fix(SteamIPAddress_t *out)
|
|||||||
// it's for us.
|
// it's for us.
|
||||||
bool Steam_GameServer::HandleIncomingPacket( const void *pData, int cbData, uint32 srcIP, uint16 srcPort )
|
bool Steam_GameServer::HandleIncomingPacket( const void *pData, int cbData, uint32 srcIP, uint16 srcPort )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("HandleIncomingPacket %i %X %i\n", cbData, srcIP, srcPort);
|
PRINT_DEBUG("Steam_GameServer::HandleIncomingPacket %i %X %i\n", cbData, srcIP, srcPort);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (settings->disable_source_query) return true;
|
if (settings->disable_source_query) return true;
|
||||||
|
|
||||||
@ -713,7 +713,7 @@ bool Steam_GameServer::HandleIncomingPacket( const void *pData, int cbData, uint
|
|||||||
// Call this each frame until it returns 0.
|
// Call this each frame until it returns 0.
|
||||||
int Steam_GameServer::GetNextOutgoingPacket( void *pOut, int cbMaxOut, uint32 *pNetAdr, uint16 *pPort )
|
int Steam_GameServer::GetNextOutgoingPacket( void *pOut, int cbMaxOut, uint32 *pNetAdr, uint16 *pPort )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetNextOutgoingPacket\n");
|
PRINT_DEBUG("Steam_GameServer::GetNextOutgoingPacket\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
if (settings->disable_source_query) return 0;
|
if (settings->disable_source_query) return 0;
|
||||||
if (outgoing_packets.size() == 0) return 0;
|
if (outgoing_packets.size() == 0) return 0;
|
||||||
@ -735,7 +735,7 @@ int Steam_GameServer::GetNextOutgoingPacket( void *pOut, int cbMaxOut, uint32 *p
|
|||||||
// you want it to be active (default: off).
|
// you want it to be active (default: off).
|
||||||
void Steam_GameServer::EnableHeartbeats( bool bActive )
|
void Steam_GameServer::EnableHeartbeats( bool bActive )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("EnableHeartbeats\n");
|
PRINT_DEBUG("Steam_GameServer::EnableHeartbeats\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Indicate whether you wish to be listed on the master server list
|
/// Indicate whether you wish to be listed on the master server list
|
||||||
@ -748,7 +748,7 @@ void Steam_GameServer::EnableHeartbeats( bool bActive )
|
|||||||
/// the old name was just confusing.)
|
/// the old name was just confusing.)
|
||||||
void Steam_GameServer::SetAdvertiseServerActive( bool bActive )
|
void Steam_GameServer::SetAdvertiseServerActive( bool bActive )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetAdvertiseServerActive\n");
|
PRINT_DEBUG("Steam_GameServer::SetAdvertiseServerActive\n");
|
||||||
EnableHeartbeats(bActive);
|
EnableHeartbeats(bActive);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -757,24 +757,24 @@ void Steam_GameServer::SetAdvertiseServerActive( bool bActive )
|
|||||||
// Some mods change this.
|
// Some mods change this.
|
||||||
void Steam_GameServer::SetHeartbeatInterval( int iHeartbeatInterval )
|
void Steam_GameServer::SetHeartbeatInterval( int iHeartbeatInterval )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetHeartbeatInterval\n");
|
PRINT_DEBUG("Steam_GameServer::SetHeartbeatInterval\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
void Steam_GameServer::SetMasterServerHeartbeatInterval_DEPRECATED( int iHeartbeatInterval )
|
void Steam_GameServer::SetMasterServerHeartbeatInterval_DEPRECATED( int iHeartbeatInterval )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetMasterServerHeartbeatInterval_DEPRECATED\n");
|
PRINT_DEBUG("Steam_GameServer::SetMasterServerHeartbeatInterval_DEPRECATED\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Force a heartbeat to steam at the next opportunity
|
// Force a heartbeat to steam at the next opportunity
|
||||||
void Steam_GameServer::ForceHeartbeat()
|
void Steam_GameServer::ForceHeartbeat()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("ForceHeartbeat\n");
|
PRINT_DEBUG("Steam_GameServer::ForceHeartbeat\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
void Steam_GameServer::ForceMasterServerHeartbeat_DEPRECATED()
|
void Steam_GameServer::ForceMasterServerHeartbeat_DEPRECATED()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("ForceMasterServerHeartbeat_DEPRECATED\n");
|
PRINT_DEBUG("Steam_GameServer::ForceMasterServerHeartbeat_DEPRECATED\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -782,7 +782,7 @@ void Steam_GameServer::ForceMasterServerHeartbeat_DEPRECATED()
|
|||||||
STEAM_CALL_RESULT( AssociateWithClanResult_t )
|
STEAM_CALL_RESULT( AssociateWithClanResult_t )
|
||||||
SteamAPICall_t Steam_GameServer::AssociateWithClan( CSteamID steamIDClan )
|
SteamAPICall_t Steam_GameServer::AssociateWithClan( CSteamID steamIDClan )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("AssociateWithClan\n");
|
PRINT_DEBUG("Steam_GameServer::AssociateWithClan\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -792,7 +792,7 @@ SteamAPICall_t Steam_GameServer::AssociateWithClan( CSteamID steamIDClan )
|
|||||||
STEAM_CALL_RESULT( ComputeNewPlayerCompatibilityResult_t )
|
STEAM_CALL_RESULT( ComputeNewPlayerCompatibilityResult_t )
|
||||||
SteamAPICall_t Steam_GameServer::ComputeNewPlayerCompatibility( CSteamID steamIDNewPlayer )
|
SteamAPICall_t Steam_GameServer::ComputeNewPlayerCompatibility( CSteamID steamIDNewPlayer )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("ComputeNewPlayerCompatibility\n");
|
PRINT_DEBUG("Steam_GameServer::ComputeNewPlayerCompatibility\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -33,7 +33,7 @@ Steam_GameServerStats::Steam_GameServerStats(class Settings *settings, class Net
|
|||||||
STEAM_CALL_RESULT( GSStatsReceived_t )
|
STEAM_CALL_RESULT( GSStatsReceived_t )
|
||||||
SteamAPICall_t Steam_GameServerStats::RequestUserStats( CSteamID steamIDUser )
|
SteamAPICall_t Steam_GameServerStats::RequestUserStats( CSteamID steamIDUser )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("RequestUserStats\n");
|
PRINT_DEBUG("Steam_GameServerStats::RequestUserStats\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
GSStatsReceived_t data;
|
GSStatsReceived_t data;
|
||||||
@ -46,19 +46,19 @@ SteamAPICall_t Steam_GameServerStats::RequestUserStats( CSteamID steamIDUser )
|
|||||||
// requests stat information for a user, usable after a successful call to RequestUserStats()
|
// requests stat information for a user, usable after a successful call to RequestUserStats()
|
||||||
bool Steam_GameServerStats::GetUserStat( CSteamID steamIDUser, const char *pchName, int32 *pData )
|
bool Steam_GameServerStats::GetUserStat( CSteamID steamIDUser, const char *pchName, int32 *pData )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetUserStat\n");
|
PRINT_DEBUG("Steam_GameServerStats::GetUserStat\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_GameServerStats::GetUserStat( CSteamID steamIDUser, const char *pchName, float *pData )
|
bool Steam_GameServerStats::GetUserStat( CSteamID steamIDUser, const char *pchName, float *pData )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetUserStat\n");
|
PRINT_DEBUG("Steam_GameServerStats::GetUserStat\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_GameServerStats::GetUserAchievement( CSteamID steamIDUser, const char *pchName, bool *pbAchieved )
|
bool Steam_GameServerStats::GetUserAchievement( CSteamID steamIDUser, const char *pchName, bool *pbAchieved )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetUserAchievement\n");
|
PRINT_DEBUG("Steam_GameServerStats::GetUserAchievement\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,32 +69,32 @@ bool Steam_GameServerStats::GetUserAchievement( CSteamID steamIDUser, const char
|
|||||||
// Set the IP range of your official servers on the Steamworks page
|
// Set the IP range of your official servers on the Steamworks page
|
||||||
bool Steam_GameServerStats::SetUserStat( CSteamID steamIDUser, const char *pchName, int32 nData )
|
bool Steam_GameServerStats::SetUserStat( CSteamID steamIDUser, const char *pchName, int32 nData )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetUserStat\n");
|
PRINT_DEBUG("Steam_GameServerStats::SetUserStat\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_GameServerStats::SetUserStat( CSteamID steamIDUser, const char *pchName, float fData )
|
bool Steam_GameServerStats::SetUserStat( CSteamID steamIDUser, const char *pchName, float fData )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetUserStat\n");
|
PRINT_DEBUG("Steam_GameServerStats::SetUserStat\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_GameServerStats::UpdateUserAvgRateStat( CSteamID steamIDUser, const char *pchName, float flCountThisSession, double dSessionLength )
|
bool Steam_GameServerStats::UpdateUserAvgRateStat( CSteamID steamIDUser, const char *pchName, float flCountThisSession, double dSessionLength )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("UpdateUserAvgRateStat\n");
|
PRINT_DEBUG("Steam_GameServerStats::UpdateUserAvgRateStat\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool Steam_GameServerStats::SetUserAchievement( CSteamID steamIDUser, const char *pchName )
|
bool Steam_GameServerStats::SetUserAchievement( CSteamID steamIDUser, const char *pchName )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetUserAchievement\n");
|
PRINT_DEBUG("Steam_GameServerStats::SetUserAchievement\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_GameServerStats::ClearUserAchievement( CSteamID steamIDUser, const char *pchName )
|
bool Steam_GameServerStats::ClearUserAchievement( CSteamID steamIDUser, const char *pchName )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("ClearUserAchievement\n");
|
PRINT_DEBUG("Steam_GameServerStats::ClearUserAchievement\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -108,7 +108,7 @@ bool Steam_GameServerStats::ClearUserAchievement( CSteamID steamIDUser, const ch
|
|||||||
STEAM_CALL_RESULT( GSStatsStored_t )
|
STEAM_CALL_RESULT( GSStatsStored_t )
|
||||||
SteamAPICall_t Steam_GameServerStats::StoreUserStats( CSteamID steamIDUser )
|
SteamAPICall_t Steam_GameServerStats::StoreUserStats( CSteamID steamIDUser )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("StoreUserStats\n");
|
PRINT_DEBUG("Steam_GameServerStats::StoreUserStats\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
GSStatsStored_t data;
|
GSStatsStored_t data;
|
||||||
|
@ -38,7 +38,7 @@ Steam_Http_Request *Steam_HTTP::get_request(HTTPRequestHandle hRequest)
|
|||||||
// or such.
|
// or such.
|
||||||
HTTPRequestHandle Steam_HTTP::CreateHTTPRequest( EHTTPMethod eHTTPRequestMethod, const char *pchAbsoluteURL )
|
HTTPRequestHandle Steam_HTTP::CreateHTTPRequest( EHTTPMethod eHTTPRequestMethod, const char *pchAbsoluteURL )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("CreateHTTPRequest %i %s\n", eHTTPRequestMethod, pchAbsoluteURL);
|
PRINT_DEBUG("Steam_HTTP::CreateHTTPRequest %i %s\n", eHTTPRequestMethod, pchAbsoluteURL);
|
||||||
if (!pchAbsoluteURL) return INVALID_HTTPREQUEST_HANDLE;
|
if (!pchAbsoluteURL) return INVALID_HTTPREQUEST_HANDLE;
|
||||||
std::string url = pchAbsoluteURL;
|
std::string url = pchAbsoluteURL;
|
||||||
unsigned url_index = 0;
|
unsigned url_index = 0;
|
||||||
@ -111,7 +111,7 @@ HTTPRequestHandle Steam_HTTP::CreateHTTPRequest( EHTTPMethod eHTTPRequestMethod,
|
|||||||
// sending the request. This is just so the caller can easily keep track of which callbacks go with which request data.
|
// sending the request. This is just so the caller can easily keep track of which callbacks go with which request data.
|
||||||
bool Steam_HTTP::SetHTTPRequestContextValue( HTTPRequestHandle hRequest, uint64 ulContextValue )
|
bool Steam_HTTP::SetHTTPRequestContextValue( HTTPRequestHandle hRequest, uint64 ulContextValue )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetHTTPRequestContextValue\n");
|
PRINT_DEBUG("Steam_HTTP::SetHTTPRequestContextValue\n");
|
||||||
Steam_Http_Request *request = get_request(hRequest);
|
Steam_Http_Request *request = get_request(hRequest);
|
||||||
if (!request) {
|
if (!request) {
|
||||||
return false;
|
return false;
|
||||||
@ -127,7 +127,7 @@ bool Steam_HTTP::SetHTTPRequestContextValue( HTTPRequestHandle hRequest, uint64
|
|||||||
// has already been sent.
|
// has already been sent.
|
||||||
bool Steam_HTTP::SetHTTPRequestNetworkActivityTimeout( HTTPRequestHandle hRequest, uint32 unTimeoutSeconds )
|
bool Steam_HTTP::SetHTTPRequestNetworkActivityTimeout( HTTPRequestHandle hRequest, uint32 unTimeoutSeconds )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetHTTPRequestNetworkActivityTimeout\n");
|
PRINT_DEBUG("Steam_HTTP::SetHTTPRequestNetworkActivityTimeout\n");
|
||||||
Steam_Http_Request *request = get_request(hRequest);
|
Steam_Http_Request *request = get_request(hRequest);
|
||||||
if (!request) {
|
if (!request) {
|
||||||
return false;
|
return false;
|
||||||
@ -141,7 +141,7 @@ bool Steam_HTTP::SetHTTPRequestNetworkActivityTimeout( HTTPRequestHandle hReques
|
|||||||
// return false if the handle is invalid or the request is already sent.
|
// return false if the handle is invalid or the request is already sent.
|
||||||
bool Steam_HTTP::SetHTTPRequestHeaderValue( HTTPRequestHandle hRequest, const char *pchHeaderName, const char *pchHeaderValue )
|
bool Steam_HTTP::SetHTTPRequestHeaderValue( HTTPRequestHandle hRequest, const char *pchHeaderName, const char *pchHeaderValue )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetHTTPRequestHeaderValue %s %s\n", pchHeaderName, pchHeaderValue);
|
PRINT_DEBUG("Steam_HTTP::SetHTTPRequestHeaderValue %s %s\n", pchHeaderName, pchHeaderValue);
|
||||||
Steam_Http_Request *request = get_request(hRequest);
|
Steam_Http_Request *request = get_request(hRequest);
|
||||||
if (!request) {
|
if (!request) {
|
||||||
return false;
|
return false;
|
||||||
@ -156,7 +156,7 @@ bool Steam_HTTP::SetHTTPRequestHeaderValue( HTTPRequestHandle hRequest, const ch
|
|||||||
// handle is invalid or the request is already sent.
|
// handle is invalid or the request is already sent.
|
||||||
bool Steam_HTTP::SetHTTPRequestGetOrPostParameter( HTTPRequestHandle hRequest, const char *pchParamName, const char *pchParamValue )
|
bool Steam_HTTP::SetHTTPRequestGetOrPostParameter( HTTPRequestHandle hRequest, const char *pchParamName, const char *pchParamValue )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetHTTPRequestGetOrPostParameter\n");
|
PRINT_DEBUG("Steam_HTTP::SetHTTPRequestGetOrPostParameter\n");
|
||||||
Steam_Http_Request *request = get_request(hRequest);
|
Steam_Http_Request *request = get_request(hRequest);
|
||||||
if (!request) {
|
if (!request) {
|
||||||
return false;
|
return false;
|
||||||
@ -173,7 +173,7 @@ bool Steam_HTTP::SetHTTPRequestGetOrPostParameter( HTTPRequestHandle hRequest, c
|
|||||||
// header and only do a local cache lookup rather than sending any actual remote request.
|
// header and only do a local cache lookup rather than sending any actual remote request.
|
||||||
bool Steam_HTTP::SendHTTPRequest( HTTPRequestHandle hRequest, SteamAPICall_t *pCallHandle )
|
bool Steam_HTTP::SendHTTPRequest( HTTPRequestHandle hRequest, SteamAPICall_t *pCallHandle )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SendHTTPRequest %u %p\n", hRequest, pCallHandle);
|
PRINT_DEBUG("Steam_HTTP::SendHTTPRequest %u %p\n", hRequest, pCallHandle);
|
||||||
Steam_Http_Request *request = get_request(hRequest);
|
Steam_Http_Request *request = get_request(hRequest);
|
||||||
if (!request) {
|
if (!request) {
|
||||||
return false;
|
return false;
|
||||||
@ -205,7 +205,7 @@ bool Steam_HTTP::SendHTTPRequest( HTTPRequestHandle hRequest, SteamAPICall_t *pC
|
|||||||
// HTTPRequestDataReceived_t callbacks while streaming.
|
// HTTPRequestDataReceived_t callbacks while streaming.
|
||||||
bool Steam_HTTP::SendHTTPRequestAndStreamResponse( HTTPRequestHandle hRequest, SteamAPICall_t *pCallHandle )
|
bool Steam_HTTP::SendHTTPRequestAndStreamResponse( HTTPRequestHandle hRequest, SteamAPICall_t *pCallHandle )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SendHTTPRequestAndStreamResponse\n");
|
PRINT_DEBUG("Steam_HTTP::SendHTTPRequestAndStreamResponse\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -214,7 +214,7 @@ bool Steam_HTTP::SendHTTPRequestAndStreamResponse( HTTPRequestHandle hRequest, S
|
|||||||
// the specified request to the tail of the queue. Returns false on invalid handle, or if the request is not yet sent.
|
// the specified request to the tail of the queue. Returns false on invalid handle, or if the request is not yet sent.
|
||||||
bool Steam_HTTP::DeferHTTPRequest( HTTPRequestHandle hRequest )
|
bool Steam_HTTP::DeferHTTPRequest( HTTPRequestHandle hRequest )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("DeferHTTPRequest\n");
|
PRINT_DEBUG("Steam_HTTP::DeferHTTPRequest\n");
|
||||||
Steam_Http_Request *request = get_request(hRequest);
|
Steam_Http_Request *request = get_request(hRequest);
|
||||||
if (!request) {
|
if (!request) {
|
||||||
return false;
|
return false;
|
||||||
@ -228,7 +228,7 @@ bool Steam_HTTP::DeferHTTPRequest( HTTPRequestHandle hRequest )
|
|||||||
// the specified request to the head of the queue. Returns false on invalid handle, or if the request is not yet sent.
|
// the specified request to the head of the queue. Returns false on invalid handle, or if the request is not yet sent.
|
||||||
bool Steam_HTTP::PrioritizeHTTPRequest( HTTPRequestHandle hRequest )
|
bool Steam_HTTP::PrioritizeHTTPRequest( HTTPRequestHandle hRequest )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("PrioritizeHTTPRequest\n");
|
PRINT_DEBUG("Steam_HTTP::PrioritizeHTTPRequest\n");
|
||||||
Steam_Http_Request *request = get_request(hRequest);
|
Steam_Http_Request *request = get_request(hRequest);
|
||||||
if (!request) {
|
if (!request) {
|
||||||
return false;
|
return false;
|
||||||
@ -243,7 +243,7 @@ bool Steam_HTTP::PrioritizeHTTPRequest( HTTPRequestHandle hRequest )
|
|||||||
// GetHTTPResponseHeaderValue.
|
// GetHTTPResponseHeaderValue.
|
||||||
bool Steam_HTTP::GetHTTPResponseHeaderSize( HTTPRequestHandle hRequest, const char *pchHeaderName, uint32 *unResponseHeaderSize )
|
bool Steam_HTTP::GetHTTPResponseHeaderSize( HTTPRequestHandle hRequest, const char *pchHeaderName, uint32 *unResponseHeaderSize )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetHTTPResponseHeaderSize\n");
|
PRINT_DEBUG("Steam_HTTP::GetHTTPResponseHeaderSize\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -253,7 +253,7 @@ bool Steam_HTTP::GetHTTPResponseHeaderSize( HTTPRequestHandle hRequest, const ch
|
|||||||
// BGetHTTPResponseHeaderSize to check for the presence of the header and to find out the size buffer needed.
|
// BGetHTTPResponseHeaderSize to check for the presence of the header and to find out the size buffer needed.
|
||||||
bool Steam_HTTP::GetHTTPResponseHeaderValue( HTTPRequestHandle hRequest, const char *pchHeaderName, uint8 *pHeaderValueBuffer, uint32 unBufferSize )
|
bool Steam_HTTP::GetHTTPResponseHeaderValue( HTTPRequestHandle hRequest, const char *pchHeaderName, uint8 *pHeaderValueBuffer, uint32 unBufferSize )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetHTTPResponseHeaderValue\n");
|
PRINT_DEBUG("Steam_HTTP::GetHTTPResponseHeaderValue\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -262,7 +262,7 @@ bool Steam_HTTP::GetHTTPResponseHeaderValue( HTTPRequestHandle hRequest, const c
|
|||||||
// handle is invalid.
|
// handle is invalid.
|
||||||
bool Steam_HTTP::GetHTTPResponseBodySize( HTTPRequestHandle hRequest, uint32 *unBodySize )
|
bool Steam_HTTP::GetHTTPResponseBodySize( HTTPRequestHandle hRequest, uint32 *unBodySize )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetHTTPResponseBodySize\n");
|
PRINT_DEBUG("Steam_HTTP::GetHTTPResponseBodySize\n");
|
||||||
Steam_Http_Request *request = get_request(hRequest);
|
Steam_Http_Request *request = get_request(hRequest);
|
||||||
if (!request) {
|
if (!request) {
|
||||||
return false;
|
return false;
|
||||||
@ -278,7 +278,7 @@ bool Steam_HTTP::GetHTTPResponseBodySize( HTTPRequestHandle hRequest, uint32 *un
|
|||||||
// the correct buffer size to use.
|
// the correct buffer size to use.
|
||||||
bool Steam_HTTP::GetHTTPResponseBodyData( HTTPRequestHandle hRequest, uint8 *pBodyDataBuffer, uint32 unBufferSize )
|
bool Steam_HTTP::GetHTTPResponseBodyData( HTTPRequestHandle hRequest, uint8 *pBodyDataBuffer, uint32 unBufferSize )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetHTTPResponseBodyData\n");
|
PRINT_DEBUG("Steam_HTTP::GetHTTPResponseBodyData\n");
|
||||||
Steam_Http_Request *request = get_request(hRequest);
|
Steam_Http_Request *request = get_request(hRequest);
|
||||||
if (!request) {
|
if (!request) {
|
||||||
return false;
|
return false;
|
||||||
@ -298,7 +298,7 @@ bool Steam_HTTP::GetHTTPResponseBodyData( HTTPRequestHandle hRequest, uint8 *pBo
|
|||||||
// do not match the size and offset sent in HTTPRequestDataReceived_t.
|
// do not match the size and offset sent in HTTPRequestDataReceived_t.
|
||||||
bool Steam_HTTP::GetHTTPStreamingResponseBodyData( HTTPRequestHandle hRequest, uint32 cOffset, uint8 *pBodyDataBuffer, uint32 unBufferSize )
|
bool Steam_HTTP::GetHTTPStreamingResponseBodyData( HTTPRequestHandle hRequest, uint32 cOffset, uint8 *pBodyDataBuffer, uint32 unBufferSize )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetHTTPStreamingResponseBodyData\n");
|
PRINT_DEBUG("Steam_HTTP::GetHTTPStreamingResponseBodyData\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -307,7 +307,7 @@ bool Steam_HTTP::GetHTTPStreamingResponseBodyData( HTTPRequestHandle hRequest, u
|
|||||||
// callback and finishing using the response.
|
// callback and finishing using the response.
|
||||||
bool Steam_HTTP::ReleaseHTTPRequest( HTTPRequestHandle hRequest )
|
bool Steam_HTTP::ReleaseHTTPRequest( HTTPRequestHandle hRequest )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("ReleaseHTTPRequest\n");
|
PRINT_DEBUG("Steam_HTTP::ReleaseHTTPRequest\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
auto c = std::begin(requests);
|
auto c = std::begin(requests);
|
||||||
@ -329,7 +329,7 @@ bool Steam_HTTP::ReleaseHTTPRequest( HTTPRequestHandle hRequest )
|
|||||||
// zero for the duration of the request as the size is unknown until the connection closes.
|
// zero for the duration of the request as the size is unknown until the connection closes.
|
||||||
bool Steam_HTTP::GetHTTPDownloadProgressPct( HTTPRequestHandle hRequest, float *pflPercentOut )
|
bool Steam_HTTP::GetHTTPDownloadProgressPct( HTTPRequestHandle hRequest, float *pflPercentOut )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetHTTPDownloadProgressPct\n");
|
PRINT_DEBUG("Steam_HTTP::GetHTTPDownloadProgressPct\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -339,7 +339,7 @@ bool Steam_HTTP::GetHTTPDownloadProgressPct( HTTPRequestHandle hRequest, float *
|
|||||||
// parameter will set the content-type header for the request so the server may know how to interpret the body.
|
// parameter will set the content-type header for the request so the server may know how to interpret the body.
|
||||||
bool Steam_HTTP::SetHTTPRequestRawPostBody( HTTPRequestHandle hRequest, const char *pchContentType, uint8 *pubBody, uint32 unBodyLen )
|
bool Steam_HTTP::SetHTTPRequestRawPostBody( HTTPRequestHandle hRequest, const char *pchContentType, uint8 *pubBody, uint32 unBodyLen )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetHTTPRequestRawPostBody %s\n", pchContentType);
|
PRINT_DEBUG("Steam_HTTP::SetHTTPRequestRawPostBody %s\n", pchContentType);
|
||||||
Steam_Http_Request *request = get_request(hRequest);
|
Steam_Http_Request *request = get_request(hRequest);
|
||||||
if (!request) {
|
if (!request) {
|
||||||
return false;
|
return false;
|
||||||
@ -356,7 +356,7 @@ bool Steam_HTTP::SetHTTPRequestRawPostBody( HTTPRequestHandle hRequest, const ch
|
|||||||
// repeat executions of your process.
|
// repeat executions of your process.
|
||||||
HTTPCookieContainerHandle Steam_HTTP::CreateCookieContainer( bool bAllowResponsesToModify )
|
HTTPCookieContainerHandle Steam_HTTP::CreateCookieContainer( bool bAllowResponsesToModify )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("CreateCookieContainer\n");
|
PRINT_DEBUG("Steam_HTTP::CreateCookieContainer\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -364,7 +364,7 @@ HTTPCookieContainerHandle Steam_HTTP::CreateCookieContainer( bool bAllowResponse
|
|||||||
// Release a cookie container you are finished using, freeing it's memory
|
// Release a cookie container you are finished using, freeing it's memory
|
||||||
bool Steam_HTTP::ReleaseCookieContainer( HTTPCookieContainerHandle hCookieContainer )
|
bool Steam_HTTP::ReleaseCookieContainer( HTTPCookieContainerHandle hCookieContainer )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("ReleaseCookieContainer\n");
|
PRINT_DEBUG("Steam_HTTP::ReleaseCookieContainer\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -372,7 +372,7 @@ bool Steam_HTTP::ReleaseCookieContainer( HTTPCookieContainerHandle hCookieContai
|
|||||||
// Adds a cookie to the specified cookie container that will be used with future requests.
|
// Adds a cookie to the specified cookie container that will be used with future requests.
|
||||||
bool Steam_HTTP::SetCookie( HTTPCookieContainerHandle hCookieContainer, const char *pchHost, const char *pchUrl, const char *pchCookie )
|
bool Steam_HTTP::SetCookie( HTTPCookieContainerHandle hCookieContainer, const char *pchHost, const char *pchUrl, const char *pchCookie )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetCookie\n");
|
PRINT_DEBUG("Steam_HTTP::SetCookie\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -380,7 +380,7 @@ bool Steam_HTTP::SetCookie( HTTPCookieContainerHandle hCookieContainer, const ch
|
|||||||
// Set the cookie container to use for a HTTP request
|
// Set the cookie container to use for a HTTP request
|
||||||
bool Steam_HTTP::SetHTTPRequestCookieContainer( HTTPRequestHandle hRequest, HTTPCookieContainerHandle hCookieContainer )
|
bool Steam_HTTP::SetHTTPRequestCookieContainer( HTTPRequestHandle hRequest, HTTPCookieContainerHandle hCookieContainer )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetHTTPRequestCookieContainer\n");
|
PRINT_DEBUG("Steam_HTTP::SetHTTPRequestCookieContainer\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -388,7 +388,7 @@ bool Steam_HTTP::SetHTTPRequestCookieContainer( HTTPRequestHandle hRequest, HTTP
|
|||||||
// Set the extra user agent info for a request, this doesn't clobber the normal user agent, it just adds the extra info on the end
|
// Set the extra user agent info for a request, this doesn't clobber the normal user agent, it just adds the extra info on the end
|
||||||
bool Steam_HTTP::SetHTTPRequestUserAgentInfo( HTTPRequestHandle hRequest, const char *pchUserAgentInfo )
|
bool Steam_HTTP::SetHTTPRequestUserAgentInfo( HTTPRequestHandle hRequest, const char *pchUserAgentInfo )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetHTTPRequestUserAgentInfo\n");
|
PRINT_DEBUG("Steam_HTTP::SetHTTPRequestUserAgentInfo\n");
|
||||||
Steam_Http_Request *request = get_request(hRequest);
|
Steam_Http_Request *request = get_request(hRequest);
|
||||||
if (!request) {
|
if (!request) {
|
||||||
return false;
|
return false;
|
||||||
@ -401,7 +401,7 @@ bool Steam_HTTP::SetHTTPRequestUserAgentInfo( HTTPRequestHandle hRequest, const
|
|||||||
// Set that https request should require verified SSL certificate via machines certificate trust store
|
// Set that https request should require verified SSL certificate via machines certificate trust store
|
||||||
bool Steam_HTTP::SetHTTPRequestRequiresVerifiedCertificate( HTTPRequestHandle hRequest, bool bRequireVerifiedCertificate )
|
bool Steam_HTTP::SetHTTPRequestRequiresVerifiedCertificate( HTTPRequestHandle hRequest, bool bRequireVerifiedCertificate )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetHTTPRequestRequiresVerifiedCertificate\n");
|
PRINT_DEBUG("Steam_HTTP::SetHTTPRequestRequiresVerifiedCertificate\n");
|
||||||
Steam_Http_Request *request = get_request(hRequest);
|
Steam_Http_Request *request = get_request(hRequest);
|
||||||
if (!request) {
|
if (!request) {
|
||||||
return false;
|
return false;
|
||||||
@ -415,7 +415,7 @@ bool Steam_HTTP::SetHTTPRequestRequiresVerifiedCertificate( HTTPRequestHandle hR
|
|||||||
// which can bump everytime we get more data
|
// which can bump everytime we get more data
|
||||||
bool Steam_HTTP::SetHTTPRequestAbsoluteTimeoutMS( HTTPRequestHandle hRequest, uint32 unMilliseconds )
|
bool Steam_HTTP::SetHTTPRequestAbsoluteTimeoutMS( HTTPRequestHandle hRequest, uint32 unMilliseconds )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetHTTPRequestAbsoluteTimeoutMS\n");
|
PRINT_DEBUG("Steam_HTTP::SetHTTPRequestAbsoluteTimeoutMS\n");
|
||||||
Steam_Http_Request *request = get_request(hRequest);
|
Steam_Http_Request *request = get_request(hRequest);
|
||||||
if (!request) {
|
if (!request) {
|
||||||
return false;
|
return false;
|
||||||
@ -428,7 +428,7 @@ bool Steam_HTTP::SetHTTPRequestAbsoluteTimeoutMS( HTTPRequestHandle hRequest, ui
|
|||||||
// Check if the reason the request failed was because we timed it out (rather than some harder failure)
|
// Check if the reason the request failed was because we timed it out (rather than some harder failure)
|
||||||
bool Steam_HTTP::GetHTTPRequestWasTimedOut( HTTPRequestHandle hRequest, bool *pbWasTimedOut )
|
bool Steam_HTTP::GetHTTPRequestWasTimedOut( HTTPRequestHandle hRequest, bool *pbWasTimedOut )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetHTTPRequestWasTimedOut\n");
|
PRINT_DEBUG("Steam_HTTP::GetHTTPRequestWasTimedOut\n");
|
||||||
Steam_Http_Request *request = get_request(hRequest);
|
Steam_Http_Request *request = get_request(hRequest);
|
||||||
if (!request) {
|
if (!request) {
|
||||||
return false;
|
return false;
|
||||||
|
@ -37,8 +37,11 @@ static int server_list_request;
|
|||||||
|
|
||||||
HServerListRequest Steam_Matchmaking_Servers::RequestServerList(AppId_t iApp, ISteamMatchmakingServerListResponse *pRequestServersResponse, EMatchMakingType type)
|
HServerListRequest Steam_Matchmaking_Servers::RequestServerList(AppId_t iApp, ISteamMatchmakingServerListResponse *pRequestServersResponse, EMatchMakingType type)
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("RequestServerList %u\n", iApp);
|
PRINT_DEBUG("Steam_Matchmaking_Servers::RequestServerList %u %p, %i\n", iApp, pRequestServersResponse, (int)type);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
++server_list_request;
|
||||||
|
HServerListRequest id = (char *)0 + server_list_request; // (char *)0 silences the compiler warning
|
||||||
|
|
||||||
struct Steam_Matchmaking_Request request;
|
struct Steam_Matchmaking_Request request;
|
||||||
request.appid = iApp;
|
request.appid = iApp;
|
||||||
request.callbacks = pRequestServersResponse;
|
request.callbacks = pRequestServersResponse;
|
||||||
@ -46,11 +49,9 @@ HServerListRequest Steam_Matchmaking_Servers::RequestServerList(AppId_t iApp, IS
|
|||||||
request.cancelled = false;
|
request.cancelled = false;
|
||||||
request.completed = false;
|
request.completed = false;
|
||||||
request.type = type;
|
request.type = type;
|
||||||
|
request.id = id;
|
||||||
requests.push_back(request);
|
requests.push_back(request);
|
||||||
++server_list_request;
|
PRINT_DEBUG("Steam_Matchmaking_Servers::request id: %p\n", id);
|
||||||
requests[requests.size() - 1].id = (char *)0 + server_list_request; // (char *)0 silences the compiler warning
|
|
||||||
HServerListRequest id = requests[requests.size() - 1].id;
|
|
||||||
PRINT_DEBUG("request id: %p\n", id);
|
|
||||||
|
|
||||||
if (type == eLANServer) return id;
|
if (type == eLANServer) return id;
|
||||||
|
|
||||||
@ -68,7 +69,7 @@ HServerListRequest Steam_Matchmaking_Servers::RequestServerList(AppId_t iApp, IS
|
|||||||
g2.server = server;
|
g2.server = server;
|
||||||
g2.type = type;
|
g2.type = type;
|
||||||
gameservers.push_back(g2);
|
gameservers.push_back(g2);
|
||||||
PRINT_DEBUG("SERVER ADDED\n");
|
PRINT_DEBUG(" eFriendsServer SERVER ADDED\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return id;
|
return id;
|
||||||
@ -87,6 +88,7 @@ HServerListRequest Steam_Matchmaking_Servers::RequestServerList(AppId_t iApp, IS
|
|||||||
file_size = file_size_(file_path);
|
file_size = file_size_(file_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PRINT_DEBUG("Steam_Matchmaking_Servers::Server list file '%s' [%llu bytes]\n", file_path.c_str(), file_size);
|
||||||
std::string list;
|
std::string list;
|
||||||
if (file_size) {
|
if (file_size) {
|
||||||
list.resize(file_size);
|
list.resize(file_size);
|
||||||
@ -129,7 +131,7 @@ HServerListRequest Steam_Matchmaking_Servers::RequestServerList(AppId_t iApp, IS
|
|||||||
g.server = server;
|
g.server = server;
|
||||||
g.type = type;
|
g.type = type;
|
||||||
gameservers.push_back(g);
|
gameservers.push_back(g);
|
||||||
PRINT_DEBUG("SERVER ADDED\n");
|
PRINT_DEBUG(" SERVER ADDED\n");
|
||||||
|
|
||||||
list_ip = "";
|
list_ip = "";
|
||||||
}
|
}
|
||||||
@ -142,43 +144,43 @@ HServerListRequest Steam_Matchmaking_Servers::RequestServerList(AppId_t iApp, IS
|
|||||||
// Request object must be released by calling ReleaseRequest( hServerListRequest )
|
// Request object must be released by calling ReleaseRequest( hServerListRequest )
|
||||||
HServerListRequest Steam_Matchmaking_Servers::RequestInternetServerList( AppId_t iApp, STEAM_ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse )
|
HServerListRequest Steam_Matchmaking_Servers::RequestInternetServerList( AppId_t iApp, STEAM_ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("RequestInternetServerList\n");
|
PRINT_DEBUG("Steam_Matchmaking_Servers::RequestInternetServerList\n");
|
||||||
return RequestServerList(iApp, pRequestServersResponse, eInternetServer);
|
return RequestServerList(iApp, pRequestServersResponse, eInternetServer);
|
||||||
}
|
}
|
||||||
|
|
||||||
HServerListRequest Steam_Matchmaking_Servers::RequestLANServerList( AppId_t iApp, ISteamMatchmakingServerListResponse *pRequestServersResponse )
|
HServerListRequest Steam_Matchmaking_Servers::RequestLANServerList( AppId_t iApp, ISteamMatchmakingServerListResponse *pRequestServersResponse )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("RequestLANServerList\n");
|
PRINT_DEBUG("Steam_Matchmaking_Servers::RequestLANServerList\n");
|
||||||
return RequestServerList(iApp, pRequestServersResponse, eLANServer);
|
return RequestServerList(iApp, pRequestServersResponse, eLANServer);
|
||||||
}
|
}
|
||||||
|
|
||||||
HServerListRequest Steam_Matchmaking_Servers::RequestFriendsServerList( AppId_t iApp, STEAM_ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse )
|
HServerListRequest Steam_Matchmaking_Servers::RequestFriendsServerList( AppId_t iApp, STEAM_ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("RequestFriendsServerList\n");
|
PRINT_DEBUG("Steam_Matchmaking_Servers::RequestFriendsServerList\n");
|
||||||
return RequestServerList(iApp, pRequestServersResponse, eFriendsServer);
|
return RequestServerList(iApp, pRequestServersResponse, eFriendsServer);
|
||||||
}
|
}
|
||||||
|
|
||||||
HServerListRequest Steam_Matchmaking_Servers::RequestFavoritesServerList( AppId_t iApp, STEAM_ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse )
|
HServerListRequest Steam_Matchmaking_Servers::RequestFavoritesServerList( AppId_t iApp, STEAM_ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("RequestFavoritesServerList\n");
|
PRINT_DEBUG("Steam_Matchmaking_Servers::RequestFavoritesServerList\n");
|
||||||
return RequestServerList(iApp, pRequestServersResponse, eFavoritesServer);
|
return RequestServerList(iApp, pRequestServersResponse, eFavoritesServer);
|
||||||
}
|
}
|
||||||
|
|
||||||
HServerListRequest Steam_Matchmaking_Servers::RequestHistoryServerList( AppId_t iApp, STEAM_ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse )
|
HServerListRequest Steam_Matchmaking_Servers::RequestHistoryServerList( AppId_t iApp, STEAM_ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("RequestHistoryServerList\n");
|
PRINT_DEBUG("Steam_Matchmaking_Servers::RequestHistoryServerList\n");
|
||||||
return RequestServerList(iApp, pRequestServersResponse, eHistoryServer);
|
return RequestServerList(iApp, pRequestServersResponse, eHistoryServer);
|
||||||
}
|
}
|
||||||
|
|
||||||
HServerListRequest Steam_Matchmaking_Servers::RequestSpectatorServerList( AppId_t iApp, STEAM_ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse )
|
HServerListRequest Steam_Matchmaking_Servers::RequestSpectatorServerList( AppId_t iApp, STEAM_ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("RequestSpectatorServerList\n");
|
PRINT_DEBUG("Steam_Matchmaking_Servers::RequestSpectatorServerList\n");
|
||||||
return RequestServerList(iApp, pRequestServersResponse, eSpectatorServer);
|
return RequestServerList(iApp, pRequestServersResponse, eSpectatorServer);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Steam_Matchmaking_Servers::RequestOldServerList(AppId_t iApp, ISteamMatchmakingServerListResponse001 *pRequestServersResponse, EMatchMakingType type)
|
void Steam_Matchmaking_Servers::RequestOldServerList(AppId_t iApp, ISteamMatchmakingServerListResponse001 *pRequestServersResponse, EMatchMakingType type)
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("RequestOldServerList %u\n", iApp);
|
PRINT_DEBUG("Steam_Matchmaking_Servers::RequestOldServerList %u\n", iApp);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
auto g = std::begin(requests);
|
auto g = std::begin(requests);
|
||||||
while (g != std::end(requests)) {
|
while (g != std::end(requests)) {
|
||||||
@ -202,42 +204,42 @@ void Steam_Matchmaking_Servers::RequestOldServerList(AppId_t iApp, ISteamMatchma
|
|||||||
|
|
||||||
void Steam_Matchmaking_Servers::RequestInternetServerList( AppId_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse001 *pRequestServersResponse )
|
void Steam_Matchmaking_Servers::RequestInternetServerList( AppId_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse001 *pRequestServersResponse )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s old\n", __FUNCTION__);
|
PRINT_DEBUG("Steam_Matchmaking_Servers::%s old\n", __FUNCTION__);
|
||||||
//TODO
|
//TODO
|
||||||
RequestOldServerList(iApp, pRequestServersResponse, eInternetServer);
|
RequestOldServerList(iApp, pRequestServersResponse, eInternetServer);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Steam_Matchmaking_Servers::RequestLANServerList( AppId_t iApp, ISteamMatchmakingServerListResponse001 *pRequestServersResponse )
|
void Steam_Matchmaking_Servers::RequestLANServerList( AppId_t iApp, ISteamMatchmakingServerListResponse001 *pRequestServersResponse )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s old\n", __FUNCTION__);
|
PRINT_DEBUG("Steam_Matchmaking_Servers::%s old\n", __FUNCTION__);
|
||||||
//TODO
|
//TODO
|
||||||
RequestOldServerList(iApp, pRequestServersResponse, eLANServer);
|
RequestOldServerList(iApp, pRequestServersResponse, eLANServer);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Steam_Matchmaking_Servers::RequestFriendsServerList( AppId_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse001 *pRequestServersResponse )
|
void Steam_Matchmaking_Servers::RequestFriendsServerList( AppId_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse001 *pRequestServersResponse )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s old\n", __FUNCTION__);
|
PRINT_DEBUG("Steam_Matchmaking_Servers::%s old\n", __FUNCTION__);
|
||||||
//TODO
|
//TODO
|
||||||
RequestOldServerList(iApp, pRequestServersResponse, eFriendsServer);
|
RequestOldServerList(iApp, pRequestServersResponse, eFriendsServer);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Steam_Matchmaking_Servers::RequestFavoritesServerList( AppId_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse001 *pRequestServersResponse )
|
void Steam_Matchmaking_Servers::RequestFavoritesServerList( AppId_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse001 *pRequestServersResponse )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s old\n", __FUNCTION__);
|
PRINT_DEBUG("Steam_Matchmaking_Servers::%s old\n", __FUNCTION__);
|
||||||
//TODO
|
//TODO
|
||||||
RequestOldServerList(iApp, pRequestServersResponse, eFavoritesServer);
|
RequestOldServerList(iApp, pRequestServersResponse, eFavoritesServer);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Steam_Matchmaking_Servers::RequestHistoryServerList( AppId_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse001 *pRequestServersResponse )
|
void Steam_Matchmaking_Servers::RequestHistoryServerList( AppId_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse001 *pRequestServersResponse )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s old\n", __FUNCTION__);
|
PRINT_DEBUG("Steam_Matchmaking_Servers::%s old\n", __FUNCTION__);
|
||||||
//TODO
|
//TODO
|
||||||
RequestOldServerList(iApp, pRequestServersResponse, eHistoryServer);
|
RequestOldServerList(iApp, pRequestServersResponse, eHistoryServer);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Steam_Matchmaking_Servers::RequestSpectatorServerList( AppId_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse001 *pRequestServersResponse )
|
void Steam_Matchmaking_Servers::RequestSpectatorServerList( AppId_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse001 *pRequestServersResponse )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s old\n", __FUNCTION__);
|
PRINT_DEBUG("Steam_Matchmaking_Servers::%s old\n", __FUNCTION__);
|
||||||
//TODO
|
//TODO
|
||||||
RequestOldServerList(iApp, pRequestServersResponse, eSpectatorServer);
|
RequestOldServerList(iApp, pRequestServersResponse, eSpectatorServer);
|
||||||
}
|
}
|
||||||
@ -247,7 +249,7 @@ void Steam_Matchmaking_Servers::RequestSpectatorServerList( AppId_t iApp, MatchM
|
|||||||
// RefreshComplete callback is not posted when request is released.
|
// RefreshComplete callback is not posted when request is released.
|
||||||
void Steam_Matchmaking_Servers::ReleaseRequest( HServerListRequest hServerListRequest )
|
void Steam_Matchmaking_Servers::ReleaseRequest( HServerListRequest hServerListRequest )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("ReleaseRequest %p\n", hServerListRequest);
|
PRINT_DEBUG("Steam_Matchmaking_Servers::ReleaseRequest %p\n", hServerListRequest);
|
||||||
auto g = std::begin(requests);
|
auto g = std::begin(requests);
|
||||||
while (g != std::end(requests)) {
|
while (g != std::end(requests)) {
|
||||||
if (g->id == hServerListRequest) {
|
if (g->id == hServerListRequest) {
|
||||||
@ -420,7 +422,7 @@ void Steam_Matchmaking_Servers::server_details(Gameserver *g, gameserveritem_t *
|
|||||||
server->m_nServerVersion = g->version();
|
server->m_nServerVersion = g->version();
|
||||||
server->SetName(g->server_name().c_str());
|
server->SetName(g->server_name().c_str());
|
||||||
server->m_steamID = CSteamID((uint64)g->id());
|
server->m_steamID = CSteamID((uint64)g->id());
|
||||||
PRINT_DEBUG("server_details " "%" PRIu64 "\n", g->id());
|
PRINT_DEBUG("Steam_Matchmaking_Servers::server_details " "%" PRIu64 "\n", g->id());
|
||||||
|
|
||||||
strncpy(server->m_szGameTags, g->tags().c_str(), k_cbMaxGameServerTags - 1);
|
strncpy(server->m_szGameTags, g->tags().c_str(), k_cbMaxGameServerTags - 1);
|
||||||
server->m_szGameTags[k_cbMaxGameServerTags - 1] = 0;
|
server->m_szGameTags[k_cbMaxGameServerTags - 1] = 0;
|
||||||
@ -457,7 +459,7 @@ void Steam_Matchmaking_Servers::server_details_players(Gameserver *g, Steam_Matc
|
|||||||
if (ssq != NULL) ssq_server_free(ssq);
|
if (ssq != NULL) ssq_server_free(ssq);
|
||||||
}
|
}
|
||||||
|
|
||||||
PRINT_DEBUG("server_details_players " "%" PRIu64 "\n", g->id());
|
PRINT_DEBUG("Steam_Matchmaking_Servers::server_details_players " "%" PRIu64 "\n", g->id());
|
||||||
}
|
}
|
||||||
|
|
||||||
void Steam_Matchmaking_Servers::server_details_rules(Gameserver *g, Steam_Matchmaking_Servers_Direct_IP_Request *r)
|
void Steam_Matchmaking_Servers::server_details_rules(Gameserver *g, Steam_Matchmaking_Servers_Direct_IP_Request *r)
|
||||||
@ -491,7 +493,7 @@ void Steam_Matchmaking_Servers::server_details_rules(Gameserver *g, Steam_Matchm
|
|||||||
if (ssq != NULL) ssq_server_free(ssq);
|
if (ssq != NULL) ssq_server_free(ssq);
|
||||||
}
|
}
|
||||||
|
|
||||||
PRINT_DEBUG("server_details_rules " "%" PRIu64 "\n", g->id());
|
PRINT_DEBUG("Steam_Matchmaking_Servers::server_details_rules " "%" PRIu64 "\n", g->id());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get details on a given server in the list, you can get the valid range of index
|
// Get details on a given server in the list, you can get the valid range of index
|
||||||
@ -499,16 +501,16 @@ void Steam_Matchmaking_Servers::server_details_rules(Gameserver *g, Steam_Matchm
|
|||||||
// ISteamMatchmakingServerListResponse::ServerResponded() callbacks
|
// ISteamMatchmakingServerListResponse::ServerResponded() callbacks
|
||||||
gameserveritem_t *Steam_Matchmaking_Servers::GetServerDetails( HServerListRequest hRequest, int iServer )
|
gameserveritem_t *Steam_Matchmaking_Servers::GetServerDetails( HServerListRequest hRequest, int iServer )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetServerDetails %p %i\n", hRequest, iServer);
|
PRINT_DEBUG("Steam_Matchmaking_Servers::GetServerDetails %p %i\n", hRequest, iServer);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
|
|
||||||
std::vector <struct Steam_Matchmaking_Servers_Gameserver> gameservers_filtered;
|
std::vector <struct Steam_Matchmaking_Servers_Gameserver> gameservers_filtered;
|
||||||
auto g = std::begin(requests);
|
auto g = std::begin(requests);
|
||||||
while (g != std::end(requests)) {
|
while (g != std::end(requests)) {
|
||||||
PRINT_DEBUG("equal? %p %p\n", hRequest, g->id);
|
PRINT_DEBUG(" equal? %p %p\n", hRequest, g->id);
|
||||||
if (g->id == hRequest) {
|
if (g->id == hRequest) {
|
||||||
gameservers_filtered = g->gameservers_filtered;
|
gameservers_filtered = g->gameservers_filtered;
|
||||||
PRINT_DEBUG("found %zu\n", gameservers_filtered.size());
|
PRINT_DEBUG(" found %zu\n", gameservers_filtered.size());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -522,7 +524,7 @@ gameserveritem_t *Steam_Matchmaking_Servers::GetServerDetails( HServerListReques
|
|||||||
Gameserver *gs = &gameservers_filtered[iServer].server;
|
Gameserver *gs = &gameservers_filtered[iServer].server;
|
||||||
gameserveritem_t *server = new gameserveritem_t(); //TODO: is the new here ok?
|
gameserveritem_t *server = new gameserveritem_t(); //TODO: is the new here ok?
|
||||||
server_details(gs, server);
|
server_details(gs, server);
|
||||||
PRINT_DEBUG("Returned server details\n");
|
PRINT_DEBUG(" Returned server details\n");
|
||||||
return server;
|
return server;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -535,7 +537,7 @@ gameserveritem_t *Steam_Matchmaking_Servers::GetServerDetails( HServerListReques
|
|||||||
// The request handle must be released using ReleaseRequest( hRequest )
|
// The request handle must be released using ReleaseRequest( hRequest )
|
||||||
void Steam_Matchmaking_Servers::CancelQuery( HServerListRequest hRequest )
|
void Steam_Matchmaking_Servers::CancelQuery( HServerListRequest hRequest )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("CancelQuery %p\n", hRequest);
|
PRINT_DEBUG("Steam_Matchmaking_Servers::CancelQuery %p\n", hRequest);
|
||||||
auto g = std::begin(requests);
|
auto g = std::begin(requests);
|
||||||
while (g != std::end(requests)) {
|
while (g != std::end(requests)) {
|
||||||
if (g->id == hRequest) {
|
if (g->id == hRequest) {
|
||||||
@ -554,14 +556,14 @@ void Steam_Matchmaking_Servers::CancelQuery( HServerListRequest hRequest )
|
|||||||
// is released with ReleaseRequest( hRequest )
|
// is released with ReleaseRequest( hRequest )
|
||||||
void Steam_Matchmaking_Servers::RefreshQuery( HServerListRequest hRequest )
|
void Steam_Matchmaking_Servers::RefreshQuery( HServerListRequest hRequest )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("RefreshQuery %p\n", hRequest);
|
PRINT_DEBUG("Steam_Matchmaking_Servers::RefreshQuery %p\n", hRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Returns true if the list is currently refreshing its server list
|
// Returns true if the list is currently refreshing its server list
|
||||||
bool Steam_Matchmaking_Servers::IsRefreshing( HServerListRequest hRequest )
|
bool Steam_Matchmaking_Servers::IsRefreshing( HServerListRequest hRequest )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("IsRefreshing %p\n", hRequest);
|
PRINT_DEBUG("Steam_Matchmaking_Servers::IsRefreshing %p\n", hRequest);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -569,7 +571,7 @@ bool Steam_Matchmaking_Servers::IsRefreshing( HServerListRequest hRequest )
|
|||||||
// How many servers in the given list, GetServerDetails above takes 0... GetServerCount() - 1
|
// How many servers in the given list, GetServerDetails above takes 0... GetServerCount() - 1
|
||||||
int Steam_Matchmaking_Servers::GetServerCount( HServerListRequest hRequest )
|
int Steam_Matchmaking_Servers::GetServerCount( HServerListRequest hRequest )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetServerCount %p\n", hRequest);
|
PRINT_DEBUG("Steam_Matchmaking_Servers::GetServerCount %p\n", hRequest);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
int size = 0;
|
int size = 0;
|
||||||
auto g = std::begin(requests);
|
auto g = std::begin(requests);
|
||||||
@ -589,7 +591,7 @@ int Steam_Matchmaking_Servers::GetServerCount( HServerListRequest hRequest )
|
|||||||
// Refresh a single server inside of a query (rather than all the servers )
|
// Refresh a single server inside of a query (rather than all the servers )
|
||||||
void Steam_Matchmaking_Servers::RefreshServer( HServerListRequest hRequest, int iServer )
|
void Steam_Matchmaking_Servers::RefreshServer( HServerListRequest hRequest, int iServer )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("RefreshServer %p\n", hRequest);
|
PRINT_DEBUG("Steam_Matchmaking_Servers::RefreshServer %p\n", hRequest);
|
||||||
//TODO
|
//TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -608,7 +610,7 @@ static HServerQuery new_server_query()
|
|||||||
// Request updated ping time and other details from a single server
|
// Request updated ping time and other details from a single server
|
||||||
HServerQuery Steam_Matchmaking_Servers::PingServer( uint32 unIP, uint16 usPort, ISteamMatchmakingPingResponse *pRequestServersResponse )
|
HServerQuery Steam_Matchmaking_Servers::PingServer( uint32 unIP, uint16 usPort, ISteamMatchmakingPingResponse *pRequestServersResponse )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("PingServer %hhu.%hhu.%hhu.%hhu:%hu\n", ((unsigned char *)&unIP)[3], ((unsigned char *)&unIP)[2], ((unsigned char *)&unIP)[1], ((unsigned char *)&unIP)[0], usPort);
|
PRINT_DEBUG("Steam_Matchmaking_Servers::PingServer %hhu.%hhu.%hhu.%hhu:%hu\n", ((unsigned char *)&unIP)[3], ((unsigned char *)&unIP)[2], ((unsigned char *)&unIP)[1], ((unsigned char *)&unIP)[0], usPort);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
Steam_Matchmaking_Servers_Direct_IP_Request r;
|
Steam_Matchmaking_Servers_Direct_IP_Request r;
|
||||||
r.id = new_server_query();
|
r.id = new_server_query();
|
||||||
@ -623,7 +625,7 @@ HServerQuery Steam_Matchmaking_Servers::PingServer( uint32 unIP, uint16 usPort,
|
|||||||
// Request the list of players currently playing on a server
|
// Request the list of players currently playing on a server
|
||||||
HServerQuery Steam_Matchmaking_Servers::PlayerDetails( uint32 unIP, uint16 usPort, ISteamMatchmakingPlayersResponse *pRequestServersResponse )
|
HServerQuery Steam_Matchmaking_Servers::PlayerDetails( uint32 unIP, uint16 usPort, ISteamMatchmakingPlayersResponse *pRequestServersResponse )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("PlayerDetails %hhu.%hhu.%hhu.%hhu:%hu\n", ((unsigned char *)&unIP)[3], ((unsigned char *)&unIP)[2], ((unsigned char *)&unIP)[1], ((unsigned char *)&unIP)[0], usPort);
|
PRINT_DEBUG("Steam_Matchmaking_Servers::PlayerDetails %hhu.%hhu.%hhu.%hhu:%hu\n", ((unsigned char *)&unIP)[3], ((unsigned char *)&unIP)[2], ((unsigned char *)&unIP)[1], ((unsigned char *)&unIP)[0], usPort);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
Steam_Matchmaking_Servers_Direct_IP_Request r;
|
Steam_Matchmaking_Servers_Direct_IP_Request r;
|
||||||
r.id = new_server_query();
|
r.id = new_server_query();
|
||||||
@ -639,7 +641,7 @@ HServerQuery Steam_Matchmaking_Servers::PlayerDetails( uint32 unIP, uint16 usPor
|
|||||||
// Request the list of rules that the server is running (See ISteamGameServer::SetKeyValue() to set the rules server side)
|
// Request the list of rules that the server is running (See ISteamGameServer::SetKeyValue() to set the rules server side)
|
||||||
HServerQuery Steam_Matchmaking_Servers::ServerRules( uint32 unIP, uint16 usPort, ISteamMatchmakingRulesResponse *pRequestServersResponse )
|
HServerQuery Steam_Matchmaking_Servers::ServerRules( uint32 unIP, uint16 usPort, ISteamMatchmakingRulesResponse *pRequestServersResponse )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("ServerRules %hhu.%hhu.%hhu.%hhu:%hu\n", ((unsigned char *)&unIP)[3], ((unsigned char *)&unIP)[2], ((unsigned char *)&unIP)[1], ((unsigned char *)&unIP)[0], usPort);
|
PRINT_DEBUG("Steam_Matchmaking_Servers::ServerRules %hhu.%hhu.%hhu.%hhu:%hu\n", ((unsigned char *)&unIP)[3], ((unsigned char *)&unIP)[2], ((unsigned char *)&unIP)[1], ((unsigned char *)&unIP)[0], usPort);
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
Steam_Matchmaking_Servers_Direct_IP_Request r;
|
Steam_Matchmaking_Servers_Direct_IP_Request r;
|
||||||
r.id = new_server_query();
|
r.id = new_server_query();
|
||||||
@ -657,7 +659,7 @@ HServerQuery Steam_Matchmaking_Servers::ServerRules( uint32 unIP, uint16 usPort,
|
|||||||
// to one of the above calls to avoid crashing when callbacks occur.
|
// to one of the above calls to avoid crashing when callbacks occur.
|
||||||
void Steam_Matchmaking_Servers::CancelServerQuery( HServerQuery hServerQuery )
|
void Steam_Matchmaking_Servers::CancelServerQuery( HServerQuery hServerQuery )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("CancelServerQuery\n");
|
PRINT_DEBUG("Steam_Matchmaking_Servers::CancelServerQuery\n");
|
||||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||||
auto r = std::find_if(direct_ip_requests.begin(), direct_ip_requests.end(), [&hServerQuery](Steam_Matchmaking_Servers_Direct_IP_Request const& item) { return item.id == hServerQuery; });
|
auto r = std::find_if(direct_ip_requests.begin(), direct_ip_requests.end(), [&hServerQuery](Steam_Matchmaking_Servers_Direct_IP_Request const& item) { return item.id == hServerQuery; });
|
||||||
if (direct_ip_requests.end() == r) return;
|
if (direct_ip_requests.end() == r) return;
|
||||||
@ -673,30 +675,30 @@ void Steam_Matchmaking_Servers::RunCallbacks()
|
|||||||
while (g != std::end(gameservers)) {
|
while (g != std::end(gameservers)) {
|
||||||
if (check_timedout(g->last_recv, SERVER_TIMEOUT)) {
|
if (check_timedout(g->last_recv, SERVER_TIMEOUT)) {
|
||||||
g = gameservers.erase(g);
|
g = gameservers.erase(g);
|
||||||
PRINT_DEBUG("SERVER TIMEOUT\n");
|
PRINT_DEBUG("Steam_Matchmaking_Servers::SERVER TIMEOUT\n");
|
||||||
} else {
|
} else {
|
||||||
++g;
|
++g;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PRINT_DEBUG("REQUESTS %zu gs: %zu\n", requests.size(), gameservers.size());
|
PRINT_DEBUG("Steam_Matchmaking_Servers::REQUESTS %zu gs: %zu\n", requests.size(), gameservers.size());
|
||||||
|
|
||||||
for (auto &r : requests) {
|
for (auto &r : requests) {
|
||||||
if (r.cancelled || r.completed) continue;
|
if (r.cancelled || r.completed) continue;
|
||||||
|
|
||||||
r.gameservers_filtered.clear();
|
r.gameservers_filtered.clear();
|
||||||
for (auto &g : gameservers) {
|
for (auto &g : gameservers) {
|
||||||
PRINT_DEBUG("game_server_check %u %u\n", g.server.appid(), r.appid);
|
PRINT_DEBUG("Steam_Matchmaking_Servers::game_server_check %u %u\n", g.server.appid(), r.appid);
|
||||||
if ((g.server.appid() == r.appid) && (g.type == r.type)) {
|
if ((g.server.appid() == r.appid) && (g.type == r.type)) {
|
||||||
PRINT_DEBUG("REQUESTS server found\n");
|
PRINT_DEBUG("Steam_Matchmaking_Servers::REQUESTS server found\n");
|
||||||
r.gameservers_filtered.push_back(g);
|
r.gameservers_filtered.push_back(g);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector <struct Steam_Matchmaking_Request> requests_temp(requests);
|
std::vector <struct Steam_Matchmaking_Request> requests_temp(requests);
|
||||||
PRINT_DEBUG("REQUESTS_TEMP %zu\n", requests_temp.size());
|
PRINT_DEBUG("Steam_Matchmaking_Servers::REQUESTS_TEMP %zu\n", requests_temp.size());
|
||||||
for (auto &r : requests) {
|
for (auto &r : requests) {
|
||||||
r.completed = true;
|
r.completed = true;
|
||||||
}
|
}
|
||||||
@ -707,7 +709,7 @@ void Steam_Matchmaking_Servers::RunCallbacks()
|
|||||||
|
|
||||||
if (r.callbacks) {
|
if (r.callbacks) {
|
||||||
for (auto &g : r.gameservers_filtered) {
|
for (auto &g : r.gameservers_filtered) {
|
||||||
PRINT_DEBUG("REQUESTS server responded cb %p\n", r.id);
|
PRINT_DEBUG("Steam_Matchmaking_Servers::REQUESTS server responded cb %p\n", r.id);
|
||||||
r.callbacks->ServerResponded(r.id, i);
|
r.callbacks->ServerResponded(r.id, i);
|
||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
@ -721,7 +723,7 @@ void Steam_Matchmaking_Servers::RunCallbacks()
|
|||||||
|
|
||||||
if (r.old_callbacks) {
|
if (r.old_callbacks) {
|
||||||
for (auto &g : r.gameservers_filtered) {
|
for (auto &g : r.gameservers_filtered) {
|
||||||
PRINT_DEBUG("old REQUESTS server responded cb %p\n", r.id);
|
PRINT_DEBUG("Steam_Matchmaking_Servers::old REQUESTS server responded cb %p\n", r.id);
|
||||||
r.old_callbacks->ServerResponded(i);
|
r.old_callbacks->ServerResponded(i);
|
||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
@ -746,9 +748,9 @@ void Steam_Matchmaking_Servers::RunCallbacks()
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (auto &r : direct_ip_requests_temp) {
|
for (auto &r : direct_ip_requests_temp) {
|
||||||
PRINT_DEBUG("dip request: %u:%hu\n", r.ip, r.port);
|
PRINT_DEBUG("Steam_Matchmaking_Servers::dip request: %u:%hu\n", r.ip, r.port);
|
||||||
for (auto &g : gameservers) {
|
for (auto &g : gameservers) {
|
||||||
PRINT_DEBUG("server: %u:%u\n", g.server.ip(), g.server.query_port());
|
PRINT_DEBUG("Steam_Matchmaking_Servers::server: %u:%u\n", g.server.ip(), g.server.query_port());
|
||||||
uint16 query_port = g.server.query_port();
|
uint16 query_port = g.server.query_port();
|
||||||
if (query_port == 0xFFFF) {
|
if (query_port == 0xFFFF) {
|
||||||
query_port = g.server.port();
|
query_port = g.server.port();
|
||||||
@ -785,7 +787,7 @@ void Steam_Matchmaking_Servers::RunCallbacks()
|
|||||||
void Steam_Matchmaking_Servers::Callback(Common_Message *msg)
|
void Steam_Matchmaking_Servers::Callback(Common_Message *msg)
|
||||||
{
|
{
|
||||||
if (msg->has_gameserver() && msg->gameserver().type() != eFriendsServer) {
|
if (msg->has_gameserver() && msg->gameserver().type() != eFriendsServer) {
|
||||||
PRINT_DEBUG("got SERVER " "%" PRIu64 ", offline:%u\n", msg->gameserver().id(), msg->gameserver().offline());
|
PRINT_DEBUG("Steam_Matchmaking_Servers::got SERVER " "%" PRIu64 ", offline:%u\n", msg->gameserver().id(), msg->gameserver().offline());
|
||||||
if (msg->gameserver().offline()) {
|
if (msg->gameserver().offline()) {
|
||||||
for (auto &g : gameservers) {
|
for (auto &g : gameservers) {
|
||||||
if (g.server.id() == msg->gameserver().id()) {
|
if (g.server.id() == msg->gameserver().id()) {
|
||||||
@ -812,7 +814,7 @@ void Steam_Matchmaking_Servers::Callback(Common_Message *msg)
|
|||||||
g.server.set_ip(msg->source_ip());
|
g.server.set_ip(msg->source_ip());
|
||||||
g.type = eLANServer;
|
g.type = eLANServer;
|
||||||
gameservers.push_back(g);
|
gameservers.push_back(g);
|
||||||
PRINT_DEBUG("SERVER ADDED\n");
|
PRINT_DEBUG("Steam_Matchmaking_Servers::SERVER ADDED\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -36,20 +36,20 @@ void Steam_Music::change_playstate(int new_playing)
|
|||||||
|
|
||||||
bool Steam_Music::BIsEnabled()
|
bool Steam_Music::BIsEnabled()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("Steam_Music::BIsEnabled\n");
|
PRINT_DEBUG("TODO Steam_Music::BIsEnabled\n");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_Music::BIsPlaying()
|
bool Steam_Music::BIsPlaying()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("Steam_Music::BIsPlaying\n");
|
PRINT_DEBUG("TODO Steam_Music::BIsPlaying\n");
|
||||||
return playing > 0;
|
return playing > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
AudioPlayback_Status Steam_Music::GetPlaybackStatus()
|
AudioPlayback_Status Steam_Music::GetPlaybackStatus()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("Steam_Music::GetPlaybackStatus\n");
|
PRINT_DEBUG("TODO Steam_Music::GetPlaybackStatus\n");
|
||||||
if (playing == 0) {
|
if (playing == 0) {
|
||||||
return AudioPlayback_Idle;
|
return AudioPlayback_Idle;
|
||||||
}
|
}
|
||||||
@ -67,25 +67,25 @@ AudioPlayback_Status Steam_Music::GetPlaybackStatus()
|
|||||||
|
|
||||||
void Steam_Music::Play()
|
void Steam_Music::Play()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("Steam_Music::Play\n");
|
PRINT_DEBUG("TODO Steam_Music::Play\n");
|
||||||
change_playstate(2);
|
change_playstate(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Steam_Music::Pause()
|
void Steam_Music::Pause()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("Steam_Music::Pause\n");
|
PRINT_DEBUG("TODO Steam_Music::Pause\n");
|
||||||
change_playstate(1);
|
change_playstate(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Steam_Music::PlayPrevious()
|
void Steam_Music::PlayPrevious()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("Steam_Music::PlayPrevious\n");
|
PRINT_DEBUG("TODO Steam_Music::PlayPrevious\n");
|
||||||
change_playstate(2);
|
change_playstate(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Steam_Music::PlayNext()
|
void Steam_Music::PlayNext()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("Steam_Music::PlayNext\n");
|
PRINT_DEBUG("TODO Steam_Music::PlayNext\n");
|
||||||
change_playstate(2);
|
change_playstate(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ void Steam_Music::PlayNext()
|
|||||||
// volume is between 0.0 and 1.0
|
// volume is between 0.0 and 1.0
|
||||||
void Steam_Music::SetVolume( float flVolume )
|
void Steam_Music::SetVolume( float flVolume )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("Steam_Music::SetVolume\n");
|
PRINT_DEBUG("TODO Steam_Music::SetVolume\n");
|
||||||
|
|
||||||
if (flVolume > 1.0)
|
if (flVolume > 1.0)
|
||||||
flVolume = 1.0;
|
flVolume = 1.0;
|
||||||
@ -111,6 +111,6 @@ void Steam_Music::SetVolume( float flVolume )
|
|||||||
|
|
||||||
float Steam_Music::GetVolume()
|
float Steam_Music::GetVolume()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("Steam_Music::GetVolume\n");
|
PRINT_DEBUG("TODO Steam_Music::GetVolume\n");
|
||||||
return volume;
|
return volume;
|
||||||
}
|
}
|
||||||
|
@ -20,38 +20,38 @@
|
|||||||
// Service Definition
|
// Service Definition
|
||||||
bool Steam_MusicRemote::RegisterSteamMusicRemote( const char *pchName )
|
bool Steam_MusicRemote::RegisterSteamMusicRemote( const char *pchName )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_MusicRemote::DeregisterSteamMusicRemote()
|
bool Steam_MusicRemote::DeregisterSteamMusicRemote()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_MusicRemote::BIsCurrentMusicRemote()
|
bool Steam_MusicRemote::BIsCurrentMusicRemote()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_MusicRemote::BActivationSuccess( bool bValue )
|
bool Steam_MusicRemote::BActivationSuccess( bool bValue )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool Steam_MusicRemote::SetDisplayName( const char *pchDisplayName )
|
bool Steam_MusicRemote::SetDisplayName( const char *pchDisplayName )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_MusicRemote::SetPNGIcon_64x64( void *pvBuffer, uint32 cbBufferLength )
|
bool Steam_MusicRemote::SetPNGIcon_64x64( void *pvBuffer, uint32 cbBufferLength )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -59,37 +59,37 @@ bool Steam_MusicRemote::SetPNGIcon_64x64( void *pvBuffer, uint32 cbBufferLength
|
|||||||
// Abilities for the user interface
|
// Abilities for the user interface
|
||||||
bool Steam_MusicRemote::EnablePlayPrevious(bool bValue)
|
bool Steam_MusicRemote::EnablePlayPrevious(bool bValue)
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_MusicRemote::EnablePlayNext( bool bValue )
|
bool Steam_MusicRemote::EnablePlayNext( bool bValue )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_MusicRemote::EnableShuffled( bool bValue )
|
bool Steam_MusicRemote::EnableShuffled( bool bValue )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_MusicRemote::EnableLooped( bool bValue )
|
bool Steam_MusicRemote::EnableLooped( bool bValue )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_MusicRemote::EnableQueue( bool bValue )
|
bool Steam_MusicRemote::EnableQueue( bool bValue )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_MusicRemote::EnablePlaylists( bool bValue )
|
bool Steam_MusicRemote::EnablePlaylists( bool bValue )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -97,25 +97,25 @@ bool Steam_MusicRemote::EnablePlaylists( bool bValue )
|
|||||||
// Status
|
// Status
|
||||||
bool Steam_MusicRemote::UpdatePlaybackStatus( AudioPlayback_Status nStatus )
|
bool Steam_MusicRemote::UpdatePlaybackStatus( AudioPlayback_Status nStatus )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_MusicRemote::UpdateShuffled( bool bValue )
|
bool Steam_MusicRemote::UpdateShuffled( bool bValue )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_MusicRemote::UpdateLooped( bool bValue )
|
bool Steam_MusicRemote::UpdateLooped( bool bValue )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_MusicRemote::UpdateVolume( float flValue )
|
bool Steam_MusicRemote::UpdateVolume( float flValue )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// volume is between 0.0 and 1.0
|
// volume is between 0.0 and 1.0
|
||||||
@ -123,37 +123,37 @@ bool Steam_MusicRemote::UpdateVolume( float flValue )
|
|||||||
// Current Entry
|
// Current Entry
|
||||||
bool Steam_MusicRemote::CurrentEntryWillChange()
|
bool Steam_MusicRemote::CurrentEntryWillChange()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_MusicRemote::CurrentEntryIsAvailable( bool bAvailable )
|
bool Steam_MusicRemote::CurrentEntryIsAvailable( bool bAvailable )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_MusicRemote::UpdateCurrentEntryText( const char *pchText )
|
bool Steam_MusicRemote::UpdateCurrentEntryText( const char *pchText )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_MusicRemote::UpdateCurrentEntryElapsedSeconds( int nValue )
|
bool Steam_MusicRemote::UpdateCurrentEntryElapsedSeconds( int nValue )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_MusicRemote::UpdateCurrentEntryCoverArt( void *pvBuffer, uint32 cbBufferLength )
|
bool Steam_MusicRemote::UpdateCurrentEntryCoverArt( void *pvBuffer, uint32 cbBufferLength )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_MusicRemote::CurrentEntryDidChange()
|
bool Steam_MusicRemote::CurrentEntryDidChange()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -161,31 +161,31 @@ bool Steam_MusicRemote::CurrentEntryDidChange()
|
|||||||
// Queue
|
// Queue
|
||||||
bool Steam_MusicRemote::QueueWillChange()
|
bool Steam_MusicRemote::QueueWillChange()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_MusicRemote::ResetQueueEntries()
|
bool Steam_MusicRemote::ResetQueueEntries()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_MusicRemote::SetQueueEntry( int nID, int nPosition, const char *pchEntryText )
|
bool Steam_MusicRemote::SetQueueEntry( int nID, int nPosition, const char *pchEntryText )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_MusicRemote::SetCurrentQueueEntry( int nID )
|
bool Steam_MusicRemote::SetCurrentQueueEntry( int nID )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_MusicRemote::QueueDidChange()
|
bool Steam_MusicRemote::QueueDidChange()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -193,30 +193,30 @@ bool Steam_MusicRemote::QueueDidChange()
|
|||||||
// Playlist
|
// Playlist
|
||||||
bool Steam_MusicRemote::PlaylistWillChange()
|
bool Steam_MusicRemote::PlaylistWillChange()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_MusicRemote::ResetPlaylistEntries()
|
bool Steam_MusicRemote::ResetPlaylistEntries()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_MusicRemote::SetPlaylistEntry( int nID, int nPosition, const char *pchEntryText )
|
bool Steam_MusicRemote::SetPlaylistEntry( int nID, int nPosition, const char *pchEntryText )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_MusicRemote::SetCurrentPlaylistEntry( int nID )
|
bool Steam_MusicRemote::SetCurrentPlaylistEntry( int nID )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_MusicRemote::PlaylistDidChange()
|
bool Steam_MusicRemote::PlaylistDidChange()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("%s\n", __FUNCTION__);
|
PRINT_DEBUG("TODO Steam_MusicRemote::%s\n", __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -19,38 +19,38 @@
|
|||||||
|
|
||||||
bool Steam_Parental::BIsParentalLockEnabled()
|
bool Steam_Parental::BIsParentalLockEnabled()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BIsParentalLockEnabled\n");
|
PRINT_DEBUG("TODO Steam_Parental::BIsParentalLockEnabled\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_Parental::BIsParentalLockLocked()
|
bool Steam_Parental::BIsParentalLockLocked()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BIsParentalLockLocked\n");
|
PRINT_DEBUG("TODO Steam_Parental::BIsParentalLockLocked\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool Steam_Parental::BIsAppBlocked( AppId_t nAppID )
|
bool Steam_Parental::BIsAppBlocked( AppId_t nAppID )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BIsAppBlocked\n");
|
PRINT_DEBUG("TODO Steam_Parental::BIsAppBlocked\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_Parental::BIsAppInBlockList( AppId_t nAppID )
|
bool Steam_Parental::BIsAppInBlockList( AppId_t nAppID )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BIsAppInBlockList\n");
|
PRINT_DEBUG("TODO Steam_Parental::BIsAppInBlockList\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool Steam_Parental::BIsFeatureBlocked( EParentalFeature eFeature )
|
bool Steam_Parental::BIsFeatureBlocked( EParentalFeature eFeature )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BIsFeatureBlocked\n");
|
PRINT_DEBUG("TODO Steam_Parental::BIsFeatureBlocked\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_Parental::BIsFeatureInBlockList( EParentalFeature eFeature )
|
bool Steam_Parental::BIsFeatureInBlockList( EParentalFeature eFeature )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("BIsFeatureInBlockList\n");
|
PRINT_DEBUG("TODO Steam_Parental::BIsFeatureInBlockList\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -33,7 +33,7 @@ ScreenshotHandle Steam_Screenshots::create_screenshot_handle()
|
|||||||
// The return value is a handle that is valid for the duration of the game process and can be used to apply tags.
|
// The return value is a handle that is valid for the duration of the game process and can be used to apply tags.
|
||||||
ScreenshotHandle Steam_Screenshots::WriteScreenshot( void *pubRGB, uint32 cubRGB, int nWidth, int nHeight )
|
ScreenshotHandle Steam_Screenshots::WriteScreenshot( void *pubRGB, uint32 cubRGB, int nWidth, int nHeight )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("WriteScreenshot\n");
|
PRINT_DEBUG("Steam_Screenshots::WriteScreenshot\n");
|
||||||
|
|
||||||
char buff[128];
|
char buff[128];
|
||||||
auto now = std::chrono::system_clock::now();
|
auto now = std::chrono::system_clock::now();
|
||||||
@ -60,7 +60,7 @@ ScreenshotHandle Steam_Screenshots::WriteScreenshot( void *pubRGB, uint32 cubRGB
|
|||||||
// JPEG, TGA, and PNG formats are supported.
|
// JPEG, TGA, and PNG formats are supported.
|
||||||
ScreenshotHandle Steam_Screenshots::AddScreenshotToLibrary( const char *pchFilename, const char *pchThumbnailFilename, int nWidth, int nHeight )
|
ScreenshotHandle Steam_Screenshots::AddScreenshotToLibrary( const char *pchFilename, const char *pchThumbnailFilename, int nWidth, int nHeight )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("AddScreenshotToLibrary\n");
|
PRINT_DEBUG("Steam_Screenshots::AddScreenshotToLibrary\n");
|
||||||
|
|
||||||
if (pchFilename == nullptr)
|
if (pchFilename == nullptr)
|
||||||
return INVALID_SCREENSHOT_HANDLE;
|
return INVALID_SCREENSHOT_HANDLE;
|
||||||
@ -91,7 +91,7 @@ ScreenshotHandle Steam_Screenshots::AddScreenshotToLibrary( const char *pchFilen
|
|||||||
// Causes the Steam overlay to take a screenshot. If screenshots are being hooked by the game then a ScreenshotRequested_t callback is sent back to the game instead.
|
// Causes the Steam overlay to take a screenshot. If screenshots are being hooked by the game then a ScreenshotRequested_t callback is sent back to the game instead.
|
||||||
void Steam_Screenshots::TriggerScreenshot()
|
void Steam_Screenshots::TriggerScreenshot()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("TriggerScreenshot\n");
|
PRINT_DEBUG("Steam_Screenshots::TriggerScreenshot\n");
|
||||||
|
|
||||||
if (hooked)
|
if (hooked)
|
||||||
{
|
{
|
||||||
@ -100,7 +100,7 @@ void Steam_Screenshots::TriggerScreenshot()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("TODO: Make the overlay take a screenshot");
|
PRINT_DEBUG(" TODO: Make the overlay take a screenshot");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -110,7 +110,7 @@ void Steam_Screenshots::TriggerScreenshot()
|
|||||||
// in response.
|
// in response.
|
||||||
void Steam_Screenshots::HookScreenshots( bool bHook )
|
void Steam_Screenshots::HookScreenshots( bool bHook )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("HookScreenshots\n");
|
PRINT_DEBUG("Steam_Screenshots::HookScreenshots\n");
|
||||||
hooked = bHook;
|
hooked = bHook;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -118,7 +118,7 @@ void Steam_Screenshots::HookScreenshots( bool bHook )
|
|||||||
// Sets metadata about a screenshot's location (for example, the name of the map)
|
// Sets metadata about a screenshot's location (for example, the name of the map)
|
||||||
bool Steam_Screenshots::SetLocation( ScreenshotHandle hScreenshot, const char *pchLocation )
|
bool Steam_Screenshots::SetLocation( ScreenshotHandle hScreenshot, const char *pchLocation )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("SetLocation\n");
|
PRINT_DEBUG("Steam_Screenshots::SetLocation\n");
|
||||||
|
|
||||||
auto it = _screenshots.find(hScreenshot);
|
auto it = _screenshots.find(hScreenshot);
|
||||||
if (it == _screenshots.end())
|
if (it == _screenshots.end())
|
||||||
@ -134,7 +134,7 @@ bool Steam_Screenshots::SetLocation( ScreenshotHandle hScreenshot, const char *p
|
|||||||
// Tags a user as being visible in the screenshot
|
// Tags a user as being visible in the screenshot
|
||||||
bool Steam_Screenshots::TagUser( ScreenshotHandle hScreenshot, CSteamID steamID )
|
bool Steam_Screenshots::TagUser( ScreenshotHandle hScreenshot, CSteamID steamID )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("TagUser\n");
|
PRINT_DEBUG("Steam_Screenshots::TagUser\n");
|
||||||
|
|
||||||
auto it = _screenshots.find(hScreenshot);
|
auto it = _screenshots.find(hScreenshot);
|
||||||
if (it == _screenshots.end())
|
if (it == _screenshots.end())
|
||||||
@ -150,7 +150,7 @@ bool Steam_Screenshots::TagUser( ScreenshotHandle hScreenshot, CSteamID steamID
|
|||||||
// Tags a published file as being visible in the screenshot
|
// Tags a published file as being visible in the screenshot
|
||||||
bool Steam_Screenshots::TagPublishedFile( ScreenshotHandle hScreenshot, PublishedFileId_t unPublishedFileID )
|
bool Steam_Screenshots::TagPublishedFile( ScreenshotHandle hScreenshot, PublishedFileId_t unPublishedFileID )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("TagPublishedFile\n");
|
PRINT_DEBUG("Steam_Screenshots::TagPublishedFile\n");
|
||||||
|
|
||||||
auto it = _screenshots.find(hScreenshot);
|
auto it = _screenshots.find(hScreenshot);
|
||||||
if (it == _screenshots.end())
|
if (it == _screenshots.end())
|
||||||
@ -166,7 +166,7 @@ bool Steam_Screenshots::TagPublishedFile( ScreenshotHandle hScreenshot, Publishe
|
|||||||
// Returns true if the app has hooked the screenshot
|
// Returns true if the app has hooked the screenshot
|
||||||
bool Steam_Screenshots::IsScreenshotsHooked()
|
bool Steam_Screenshots::IsScreenshotsHooked()
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("IsScreenshotsHooked\n");
|
PRINT_DEBUG("Steam_Screenshots::IsScreenshotsHooked\n");
|
||||||
return hooked;
|
return hooked;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -178,7 +178,7 @@ bool Steam_Screenshots::IsScreenshotsHooked()
|
|||||||
// JPEG, TGA, and PNG formats are supported.
|
// JPEG, TGA, and PNG formats are supported.
|
||||||
ScreenshotHandle Steam_Screenshots::AddVRScreenshotToLibrary( EVRScreenshotType eType, const char *pchFilename, const char *pchVRFilename )
|
ScreenshotHandle Steam_Screenshots::AddVRScreenshotToLibrary( EVRScreenshotType eType, const char *pchFilename, const char *pchVRFilename )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("AddVRScreenshotToLibrary\n");
|
PRINT_DEBUG("Steam_Screenshots::AddVRScreenshotToLibrary\n");
|
||||||
return INVALID_SCREENSHOT_HANDLE;
|
return INVALID_SCREENSHOT_HANDLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,14 +20,14 @@
|
|||||||
// Get a URL suitable for streaming the given Video app ID's video
|
// Get a URL suitable for streaming the given Video app ID's video
|
||||||
void Steam_Video::GetVideoURL( AppId_t unVideoAppID )
|
void Steam_Video::GetVideoURL( AppId_t unVideoAppID )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetVideoURL\n");
|
PRINT_DEBUG("TODO Steam_Video::GetVideoURL\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// returns true if user is uploading a live broadcast
|
// returns true if user is uploading a live broadcast
|
||||||
bool Steam_Video::IsBroadcasting( int *pnNumViewers )
|
bool Steam_Video::IsBroadcasting( int *pnNumViewers )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("IsBroadcasting\n");
|
PRINT_DEBUG("TODO Steam_Video::IsBroadcasting\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -36,11 +36,11 @@ bool Steam_Video::IsBroadcasting( int *pnNumViewers )
|
|||||||
STEAM_CALL_BACK( GetOPFSettingsResult_t )
|
STEAM_CALL_BACK( GetOPFSettingsResult_t )
|
||||||
void Steam_Video::GetOPFSettings( AppId_t unVideoAppID )
|
void Steam_Video::GetOPFSettings( AppId_t unVideoAppID )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetOPFSettings\n");
|
PRINT_DEBUG("TODO Steam_Video::GetOPFSettings\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Steam_Video::GetOPFStringForApp( AppId_t unVideoAppID, char *pchBuffer, int32 *pnBufferSize )
|
bool Steam_Video::GetOPFStringForApp( AppId_t unVideoAppID, char *pchBuffer, int32 *pnBufferSize )
|
||||||
{
|
{
|
||||||
PRINT_DEBUG("GetOPFStringForApp\n");
|
PRINT_DEBUG("TODO Steam_Video::GetOPFStringForApp\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user