Skip to content

Commit 957b1d3

Browse files
authored
Removes steam api call RequestCurrentStats (#72)
This call should no longer be required. The stats will be loaded by steam before game launch. This patch is stil untested.
1 parent 694444d commit 957b1d3

File tree

6 files changed

+8
-59
lines changed

6 files changed

+8
-59
lines changed

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ set(breakhack_PATCH_VERSION 3)
1111
set(breakhack_RELEASE_TYPE "")
1212

1313
# Checksums
14-
set(breakhack_STEAMAPI_DLL_CHECKSUM 0x1a20dd5)
15-
set(breakhack_STEAMAPI_SO_CHECKSUM 0x19f8c71)
14+
set(breakhack_STEAMAPI_DLL_CHECKSUM 0x1a4691a)
15+
set(breakhack_STEAMAPI_SO_CHECKSUM 0x1a11b6d)
1616

1717
include(build_deps/cmake/FindCCache.cmake)
1818
include(build_deps/cmake/FindCMocka.cmake)

lib/steamworks_c_wrapper/src/CallbackHandler.cpp

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,24 +19,12 @@
1919
#include "CallbackHandler.h"
2020

2121
CallbackHandler::CallbackHandler(int64 appId) :
22-
m_CallbackUserStatsReceived(this, &CallbackHandler::OnUserStatsReceived),
2322
m_CallbackUserStatsStored(this, &CallbackHandler::OnUserStatsStored),
2423
m_AppId(appId)
2524
{
2625
// Nothing
2726
}
2827

29-
void
30-
CallbackHandler::OnUserStatsReceived(UserStatsReceived_t *pCallback)
31-
{
32-
if (m_AppId != pCallback->m_nGameID)
33-
return;
34-
35-
m_bStatsCallbackReceived = true;
36-
if (statsReceivedCb && k_EResultOK == pCallback->m_eResult)
37-
statsReceivedCb();
38-
}
39-
4028
void
4129
CallbackHandler::OnUserStatsStored(UserStatsStored_t *pCallback)
4230
{
@@ -47,11 +35,6 @@ CallbackHandler::OnUserStatsStored(UserStatsStored_t *pCallback)
4735
statsStoredCb();
4836
}
4937

50-
bool CallbackHandler::CallbackReceived() const
51-
{
52-
return m_bStatsCallbackReceived;
53-
}
54-
5538
void CallbackHandler::OnFindLeaderboard(LeaderboardFindResult_t * pCallback, bool bIOFailiure)
5639
{
5740
if (bIOFailiure || !pCallback->m_bLeaderboardFound)

lib/steamworks_c_wrapper/src/CallbackHandler.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,9 @@ class CallbackHandler
2929

3030
public:
3131
CallbackHandler(int64 appId);
32-
STEAM_CALLBACK(CallbackHandler, OnUserStatsReceived, UserStatsReceived_t, m_CallbackUserStatsReceived);
3332
STEAM_CALLBACK(CallbackHandler, OnUserStatsStored, UserStatsStored_t, m_CallbackUserStatsStored);
3433
CCallResult<CallbackHandler, LeaderboardFindResult_t> m_FindLeaderboardCallResult;
3534

36-
void(*statsReceivedCb)() = nullptr;
3735
void(*statsStoredCb)() = nullptr;
3836
void(*leaderboardReceivedCb)(int64_t, const char*) = nullptr;
3937

lib/steamworks_c_wrapper/src/steamworks_c_wrapper.cpp

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,8 @@ c_SteamAPI_RunCallbacks(void)
5959
SteamAPI_RunCallbacks();
6060
}
6161

62-
extern "C" void c_SteamAPI_SetCallbacks(void(*recvCB)(void), void(*storCB)(void), void(*recvLB)(int64_t, const char *))
62+
extern "C" void c_SteamAPI_SetCallbacks(void(*storCB)(void), void(*recvLB)(int64_t, const char *))
6363
{
64-
m_CallbackHandler->statsReceivedCb = recvCB;
6564
m_CallbackHandler->statsStoredCb = storCB;
6665
m_CallbackHandler->leaderboardReceivedCb = recvLB;
6766
}
@@ -73,21 +72,10 @@ c_SteamAPI_Shutdown()
7372
SteamAPI_Shutdown();
7473
}
7574

76-
extern "C" bool
77-
c_SteamUserStats_RequestCurrentStats()
78-
{
79-
if (NULL == SteamUserStats() || NULL == SteamUser())
80-
return false;
81-
if (!SteamUser()->BLoggedOn())
82-
return false;
83-
84-
return SteamUserStats()->RequestCurrentStats();
85-
}
86-
8775
extern "C" bool
8876
c_SteamUserStats_SetAchievement(const char *pchName)
8977
{
90-
if (m_CallbackHandler && !m_CallbackHandler->CallbackReceived())
78+
if (m_CallbackHandler == nullptr)
9179
return false;
9280

9381
bool result = SteamUserStats()->SetAchievement(pchName);

lib/steamworks_c_wrapper/src/steamworks_c_wrapper.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#pragma once
2020

2121
#include <stdint.h>
22+
#include <stdbool.h>
2223

2324
int64_t
2425
c_SteamAPI_Init(void);
@@ -33,10 +34,7 @@ void
3334
c_SteamAPI_RunCallbacks(void);
3435

3536
void
36-
c_SteamAPI_SetCallbacks(void(*recvCB)(void), void(*storCB)(void), void(*recvLB)(int64_t, const char *));
37-
38-
bool
39-
c_SteamUserStats_RequestCurrentStats(void);
37+
c_SteamAPI_SetCallbacks(void(*storCB)(void), void(*recvLB)(int64_t, const char *));
4038

4139
bool
4240
c_SteamUserStats_SetAchievement(const char *id);

src/steam/steamworks_api_wrapper.c

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ static Achievement g_Achievements[] = {
2929
static Uint8 numAchievements = 7;
3030

3131
static bool m_Initiated = false;
32-
static bool m_bStatsReceived = false;
3332
static Sint64 m_AppID = 0;
3433
static Sint64 m_hHighscoreLeaderboard = 0;
3534
static Sint64 m_hQpHighscoreLeaderboard = 0;
@@ -42,21 +41,6 @@ static Sint64 m_hWeeklyHighscore = 0;
4241

4342
static Timer *requestDataTimer = NULL;
4443

45-
static bool
46-
steam_request_stats(void)
47-
{
48-
if (m_Initiated)
49-
return c_SteamUserStats_RequestCurrentStats();
50-
return false;
51-
}
52-
53-
static void
54-
stats_received(void)
55-
{
56-
debug("Steam stats received");
57-
m_bStatsReceived = true;
58-
}
59-
6044
static void
6145
stats_stored(void)
6246
{
@@ -98,7 +82,7 @@ steam_init()
9882
m_Initiated = m_AppID != 0;
9983
lb_weekly = time_get_weekly_lb_name();
10084
if (m_Initiated)
101-
c_SteamAPI_SetCallbacks(stats_received, stats_stored, leaderboard_received);
85+
c_SteamAPI_SetCallbacks(stats_stored, leaderboard_received);
10286
requestDataTimer = _timer_create();
10387
}
10488

@@ -117,9 +101,7 @@ request_data_queue_run(void)
117101
timer_start(requestDataTimer);
118102

119103
if (timer_get_ticks(requestDataTimer) > 1000) {
120-
if (!m_bStatsReceived)
121-
steam_request_stats();
122-
else if (!m_hHighscoreLeaderboard)
104+
if (!m_hHighscoreLeaderboard)
123105
c_SteamUserStats_FindLeaderboard(LB_HIGHSCORE);
124106
else if (!m_hQpHighscoreLeaderboard)
125107
c_SteamUserStats_FindLeaderboard(LB_QUICKPLAY_HIGHSCORE);

0 commit comments

Comments
 (0)