aboutsummaryrefslogtreecommitdiff
path: root/steamworks-sys/src
diff options
context:
space:
mode:
authorMatthew Collins <[email protected]>2018-08-28 01:13:39 +0100
committerMatthew Collins <[email protected]>2018-08-28 01:13:39 +0100
commit9974fb675c5ed70327124e515a0e118695030a53 (patch)
tree53fed215dde3c8d2583e05f98ba5dea3957b242a /steamworks-sys/src
parentVersion 0.4.1 (diff)
downloadsteamworks-rs-9974fb675c5ed70327124e515a0e118695030a53.tar.xz
steamworks-rs-9974fb675c5ed70327124e515a0e118695030a53.zip
Add basic leaderboard handling (Work on #4)
Diffstat (limited to 'steamworks-sys/src')
-rw-r--r--steamworks-sys/src/lib.cpp1
-rw-r--r--steamworks-sys/src/lib.rs9
2 files changed, 10 insertions, 0 deletions
diff --git a/steamworks-sys/src/lib.cpp b/steamworks-sys/src/lib.cpp
index 655eaf4..8736544 100644
--- a/steamworks-sys/src/lib.cpp
+++ b/steamworks-sys/src/lib.cpp
@@ -83,6 +83,7 @@ extern "C" {
ISteamApps* steam_rust_get_apps() { return SteamApps(); }
ISteamFriends* steam_rust_get_friends() { return SteamFriends(); }
ISteamUser* steam_rust_get_user() { return SteamUser(); }
+ ISteamUserStats* steam_rust_get_user_stats() { return SteamUserStats(); }
ISteamGameServer* steam_rust_get_server() { return SteamGameServer(); }
ISteamApps* steam_rust_get_server_apps() { return SteamGameServerApps(); }
} \ No newline at end of file
diff --git a/steamworks-sys/src/lib.rs b/steamworks-sys/src/lib.rs
index a89a14d..e9473f1 100644
--- a/steamworks-sys/src/lib.rs
+++ b/steamworks-sys/src/lib.rs
@@ -25,6 +25,8 @@ pub struct ISteamMatchmaking(c_void);
#[repr(C)]
pub struct ISteamUser(c_void);
#[repr(C)]
+pub struct ISteamUserStats(c_void);
+#[repr(C)]
pub struct ISteamGameServer(c_void);
#[repr(C)]
pub struct ISteamNetworking(c_void);
@@ -53,6 +55,7 @@ extern "C" {
pub fn steam_rust_get_apps() -> *mut ISteamApps;
pub fn steam_rust_get_friends() -> *mut ISteamFriends;
pub fn steam_rust_get_user() -> *mut ISteamUser;
+ pub fn steam_rust_get_user_stats() -> *mut ISteamUserStats;
pub fn steam_rust_get_server() -> *mut ISteamGameServer;
pub fn steam_rust_get_server_apps() -> *mut ISteamApps;
pub fn steam_rust_get_networking() -> *mut ISteamNetworking;
@@ -136,6 +139,12 @@ extern "C" {
pub fn SteamAPI_ISteamUser_EndAuthSession(instance: *mut ISteamUser, steam_id: u64);
pub fn SteamAPI_ISteamUser_CancelAuthTicket(instance: *mut ISteamUser, auth_ticket: HAuthTicket);
+ pub fn SteamAPI_ISteamUserStats_FindLeaderboard(instance: *mut ISteamUserStats, name: *const c_char) -> SteamAPICall;
+ pub fn SteamAPI_ISteamUserStats_FindOrCreateLeaderboard(instance: *mut ISteamUserStats, name: *const c_char, sort_method: ELeaderboardSortMethod, display_type: ELeaderboardDisplayType) -> SteamAPICall;
+ pub fn SteamAPI_ISteamUserStats_UploadLeaderboardScore(instance: *mut ISteamUserStats, leaderboard: u64, method: ELeaderboardUploadScoreMethod, score: i32, details: *const i32, details_count: c_int) -> SteamAPICall;
+ pub fn SteamAPI_ISteamUserStats_DownloadLeaderboardEntries(instance: *mut ISteamUserStats, leaderboard: u64, data_request: ELeaderboardDataRequest, start: c_int, end: c_int) -> SteamAPICall;
+ pub fn SteamAPI_ISteamUserStats_GetDownloadedLeaderboardEntry(instance: *mut ISteamUserStats, entries: SteamLeaderboardEntries_t, index: c_int, entry: *mut LeaderboardEntry_t, details: *mut i32, details_max: c_int) -> u8;
+
pub fn SteamAPI_ISteamGameServer_LogOnAnonymous(instance: *mut ISteamGameServer);
pub fn SteamAPI_ISteamGameServer_SetProduct(instance: *mut ISteamGameServer, product: *const c_char);
pub fn SteamAPI_ISteamGameServer_SetGameDescription(instance: *mut ISteamGameServer, description: *const c_char);