X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;ds=sidebyside;f=steam.h;h=e2ed9822ceed634aa84106aa87ab91cdb2e8925a;hb=5fa590f62aa7e62a8b6b07e10556c2ecc54cdca6;hp=57af4295275acf6d67894da542fa89aec3395289;hpb=0945c6c301e38138b6ac54a02d5b3aea602de526;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/steam.h b/steam.h index 57af429..e2ed982 100644 --- a/steam.h +++ b/steam.h @@ -1,61 +1,19 @@ -#ifndef STEAM_H -#define STEAM_H - -#include "vg/vg_steam.h" -#include "vg/vg_steam_networking.h" -#include "vg/vg_steam_auth.h" -#include "vg/vg_steam_http.h" - /* - * We only want to use steamworks if building for the networked version, - * theres not much point otherwise. We mainly want steamworks for setting - * achievements etc.. so that includes our own server too. - * - * This file also wraps the functions and interfaces that we want to use to - * make them a bit easier to read, since they are the flat API they have very - * long names. in non-networked builds they will return default errors or do - * nothing. + * Copyright (C) 2021-2024 Mt.ZERO Software, Harry Godden - All Rights Reserved + * All trademarks are property of their respective owners */ - -static int steam_ready = 0; -static void *hSteamNetworkingSockets, - *hSteamUser; - -static HSteamPipe hSteamClientPipe; - -static void steam_init(void) -{ -#ifdef SR_NETWORKED - if( !SteamAPI_Init() ) - { - vg_error( "Steamworks failed to initialize\n" ); - return; - } - steam_ready = 1; - - SteamAPI_ManualDispatch_Init(); - vg_success( "Steamworks API running\n" ); - - /* Connect interfaces */ - hSteamClientPipe = SteamAPI_GetHSteamPipe(); - hSteamNetworkingSockets = SteamAPI_SteamNetworkingSockets_SteamAPI(); - hSteamUser = SteamAPI_SteamUser(); -#endif -} - -static void steam_update(void) -{ - if( steam_ready ) - steamworks_event_loop( hSteamClientPipe ); -} - -static void steam_end(void) -{ - if( steam_ready ) - { - vg_info( "Shutting down\n..." ); - SteamAPI_Shutdown(); - } -} - -#endif /* STEAM_H */ +#pragma once + +extern int steam_ready, steam_stats_ready; +extern void *hSteamNetworkingSockets, *hSteamUser, *hSteamUserStats; +extern char steam_username_at_startup[128]; + +int steam_init(void); +void steam_update(void); +void steam_end(void); +u32 str_utf8_collapse( const char *str, char *buf, u32 length ); +int steam_achievement_ccmd( int argc, char const *argv[] ); +void steam_print_all_achievements(void); +void steam_clear_achievement( const char *name ); +void steam_set_achievement( const char *name ); +void steam_store_achievements(void);