From 0974ff30789a215a31255080251c01eaaf9a5297 Mon Sep 17 00:00:00 2001 From: Aldrik Ramaekers Date: Thu, 5 Dec 2024 11:42:11 +0100 Subject: link with steam sdk and create bindings --- src/intermediate.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/intermediate.c (limited to 'src/intermediate.c') diff --git a/src/intermediate.c b/src/intermediate.c new file mode 100644 index 0000000..09edf10 --- /dev/null +++ b/src/intermediate.c @@ -0,0 +1,45 @@ +#include "steam/steam_api_flat.h" + +extern "C" char STEAM_SteamAPI_Init() +{ + return SteamAPI_Init(); +} + +extern "C" void STEAM_SteamAPI_Shutdown() +{ + return SteamAPI_Shutdown(); +} + +extern "C" void STEAM_SteamAPI_ReleaseCurrentThreadMemory() +{ + return SteamAPI_ReleaseCurrentThreadMemory(); +} + +extern "C" char STEAM_SteamAPI_RestartAppIfNecessary(uint32 unOwnAppID) +{ + return SteamAPI_RestartAppIfNecessary(unOwnAppID); +} + +extern "C" void STEAM_SteamAPI_RunCallbacks() +{ + SteamAPI_RunCallbacks(); +} + +extern "C" uint64_steamid STEAM_SteamAPI_RequestUserStats() +{ + uint64_steamid id = SteamAPI_ISteamUser_GetSteamID(SteamAPI_SteamUser()); + ISteamUserStats* stats = SteamAPI_SteamUserStats(); + SteamAPI_ISteamUserStats_RequestUserStats(stats, id); + return id; +} + +extern "C" void STEAM_SteamAPI_UnlockAchievement(const char* name) +{ + ISteamUserStats* stats = SteamAPI_SteamUserStats(); + + bool alreadyAchieved; + SteamAPI_ISteamUserStats_GetAchievement(stats, name, &alreadyAchieved); + SteamAPI_ISteamUserStats_SetAchievement(stats, name); + + if (!alreadyAchieved) SteamAPI_ISteamUserStats_StoreStats(stats); +} \ No newline at end of file -- cgit v1.2.3-70-g09d2