Fake ``Callresults`` are not implemented in the fake Steamworks extension

Reporter: k0T0z  |  Status: open  |  Last Modified: November 18, 2023, 09:00:20 am

About the fake Steamworks API:

ENIGMA's CI needs the fake API in order to run the tests without any problems. The real Steamworks API requires connecting to Steam servers which means the CI will fail which explains why we have that fake API.

The fake API MUST simulate the real API's behavior. You will need to replicate the behavior by understanding about Callresults. Callresults are very similar to Callbacks which are already implemented so you might take it as a reference.

Currently, the Callbacks are implemented in the fake API but the Callresults aren't, which is not good.

See

// TODO: Implement this function.
void SteamAPI_RegisterCallResult(class CCallbackBase *pCallback, SteamAPICall_t hAPICall) {
// switch (pCallback->GetICallback()) {
// case (int)(k_iSteamUserStatsCallbacks + 4):
// FakeSteamUserStats::GetInstance()->RegisterLeaderboardFindResultCallresult(pCallback, hAPICall);
// break;
// case (int)(k_iSteamUserStatsCallbacks + 5):
// FakeSteamUserStats::GetInstance()->RegisterLeaderboardScoresDownloadedCallresult(pCallback, hAPICall);
// break;
// case (int)(k_iSteamUserStatsCallbacks + 6):
// FakeSteamUserStats::GetInstance()->RegisterLeaderboardScoreUploadedCallresult(pCallback, hAPICall);
// break;
// default:
// break;
// }
}

Please sign in to post comments, or you can view this issue on GitHub.