steamworks-ffi-node 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,84 +1,43 @@
1
- export interface SteamAchievement {
2
- apiName: string;
3
- displayName: string;
4
- description: string;
5
- unlocked: boolean;
6
- unlockTime: number;
7
- hidden?: boolean;
8
- }
9
- export interface SteamInitOptions {
10
- appId: number;
11
- }
12
- export interface SteamStatus {
13
- initialized: boolean;
14
- appId: number;
15
- steamId: string;
16
- }
17
- export interface AchievementProgressLimits {
18
- minProgress: number;
19
- maxProgress: number;
20
- }
21
- export interface UserAchievement {
22
- steamId: string;
23
- apiName: string;
24
- displayName: string;
25
- description: string;
26
- unlocked: boolean;
27
- unlockTime: number;
28
- }
29
- export interface AchievementGlobalStats {
30
- apiName: string;
31
- displayName: string;
32
- description: string;
33
- unlocked: boolean;
34
- globalUnlockPercentage: number;
35
- }
36
- export interface AchievementWithIcon extends SteamAchievement {
37
- iconHandle: number;
38
- }
39
- export interface SteamStat {
40
- name: string;
41
- value: number;
42
- type: 'int' | 'float';
43
- }
44
- export interface GlobalStat {
45
- name: string;
46
- value: number;
47
- type: 'int64' | 'double';
48
- }
49
- export interface GlobalStatHistory {
50
- name: string;
51
- history: number[];
52
- type: 'int64' | 'double';
53
- }
54
- export interface UserStat {
55
- steamId: string;
56
- name: string;
57
- value: number;
58
- type: 'int' | 'float';
59
- }
1
+ /**
2
+ * Leaderboard-related types for the SteamLeaderboardManager
3
+ */
4
+ /**
5
+ * Leaderboard sort methods
6
+ */
60
7
  export declare enum LeaderboardSortMethod {
61
8
  None = 0,
62
9
  Ascending = 1,// Top score is lowest number
63
10
  Descending = 2
64
11
  }
12
+ /**
13
+ * Leaderboard display types
14
+ */
65
15
  export declare enum LeaderboardDisplayType {
66
16
  None = 0,
67
17
  Numeric = 1,// Simple numerical score
68
18
  TimeSeconds = 2,// Score represents time in seconds
69
19
  TimeMilliseconds = 3
70
20
  }
21
+ /**
22
+ * Leaderboard data request types
23
+ */
71
24
  export declare enum LeaderboardDataRequest {
72
25
  Global = 0,// Top entries from full leaderboard
73
26
  GlobalAroundUser = 1,// Entries around current user
74
27
  Friends = 2,// Entries for friends only
75
28
  Users = 3
76
29
  }
30
+ /**
31
+ * Leaderboard upload score methods
32
+ */
77
33
  export declare enum LeaderboardUploadScoreMethod {
78
34
  None = 0,
79
35
  KeepBest = 1,// Keep user's best score
80
36
  ForceUpdate = 2
81
37
  }
38
+ /**
39
+ * Single leaderboard entry
40
+ */
82
41
  export interface LeaderboardEntry {
83
42
  steamId: string;
84
43
  globalRank: number;
@@ -86,6 +45,9 @@ export interface LeaderboardEntry {
86
45
  details: number[];
87
46
  ugcHandle: bigint;
88
47
  }
48
+ /**
49
+ * Leaderboard information
50
+ */
89
51
  export interface LeaderboardInfo {
90
52
  handle: bigint;
91
53
  name: string;
@@ -93,6 +55,9 @@ export interface LeaderboardInfo {
93
55
  sortMethod: LeaderboardSortMethod;
94
56
  displayType: LeaderboardDisplayType;
95
57
  }
58
+ /**
59
+ * Result of score upload
60
+ */
96
61
  export interface LeaderboardScoreUploadResult {
97
62
  success: boolean;
98
63
  leaderboardHandle: bigint;
@@ -104,6 +69,7 @@ export interface LeaderboardScoreUploadResult {
104
69
  /**
105
70
  * LeaderboardFindResult_t - Result of FindOrCreateLeaderboard/FindLeaderboard
106
71
  * Callback ID: k_iSteamUserStatsCallbacks + 4 = 1104
72
+ * @internal
107
73
  */
108
74
  export interface LeaderboardFindResultType {
109
75
  m_hSteamLeaderboard: bigint;
@@ -112,6 +78,7 @@ export interface LeaderboardFindResultType {
112
78
  /**
113
79
  * LeaderboardScoreUploaded_t - Result of UploadLeaderboardScore
114
80
  * Callback ID: k_iSteamUserStatsCallbacks + 6 = 1106
81
+ * @internal
115
82
  */
116
83
  export interface LeaderboardScoreUploadedType {
117
84
  m_bSuccess: number;
@@ -124,6 +91,7 @@ export interface LeaderboardScoreUploadedType {
124
91
  /**
125
92
  * LeaderboardScoresDownloaded_t - Result of DownloadLeaderboardEntries
126
93
  * Callback ID: k_iSteamUserStatsCallbacks + 5 = 1105
94
+ * @internal
127
95
  */
128
96
  export interface LeaderboardScoresDownloadedType {
129
97
  m_hSteamLeaderboard: bigint;
@@ -133,6 +101,7 @@ export interface LeaderboardScoresDownloadedType {
133
101
  /**
134
102
  * LeaderboardUGCSet_t - Result of AttachLeaderboardUGC
135
103
  * Callback ID: k_iSteamUserStatsCallbacks + 11 = 1111
104
+ * @internal
136
105
  */
137
106
  export interface LeaderboardUGCSetType {
138
107
  m_eResult: number;
@@ -140,6 +109,7 @@ export interface LeaderboardUGCSetType {
140
109
  }
141
110
  /**
142
111
  * LeaderboardEntry_t - Individual leaderboard entry data (from Steam)
112
+ * @internal
143
113
  */
144
114
  export interface LeaderboardEntryType {
145
115
  m_steamIDUser: bigint;
@@ -148,4 +118,4 @@ export interface LeaderboardEntryType {
148
118
  m_cDetails: number;
149
119
  m_hUGC: bigint;
150
120
  }
151
- //# sourceMappingURL=types.d.ts.map
121
+ //# sourceMappingURL=leaderboards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leaderboards.d.ts","sourceRoot":"","sources":["../../src/types/leaderboards.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,oBAAY,qBAAqB;IAC/B,IAAI,IAAI;IACR,SAAS,IAAI,CAAI,6BAA6B;IAC9C,UAAU,IAAI;CACf;AAED;;GAEG;AACH,oBAAY,sBAAsB;IAChC,IAAI,IAAI;IACR,OAAO,IAAI,CAAY,yBAAyB;IAChD,WAAW,IAAI,CAAQ,mCAAmC;IAC1D,gBAAgB,IAAI;CACrB;AAED;;GAEG;AACH,oBAAY,sBAAsB;IAChC,MAAM,IAAI,CAAa,oCAAoC;IAC3D,gBAAgB,IAAI,CAAG,8BAA8B;IACrD,OAAO,IAAI,CAAY,2BAA2B;IAClD,KAAK,IAAI;CACV;AAED;;GAEG;AACH,oBAAY,4BAA4B;IACtC,IAAI,IAAI;IACR,QAAQ,IAAI,CAAO,yBAAyB;IAC5C,WAAW,IAAI;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,qBAAqB,CAAC;IAClC,WAAW,EAAE,sBAAsB,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,+BAA+B;IAC9C,mBAAmB,EAAE,MAAM,CAAC;IAC5B,0BAA0B,EAAE,MAAM,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -1,17 +1,21 @@
1
1
  "use strict";
2
+ /**
3
+ * Leaderboard-related types for the SteamLeaderboardManager
4
+ */
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.LeaderboardUploadScoreMethod = exports.LeaderboardDataRequest = exports.LeaderboardDisplayType = exports.LeaderboardSortMethod = void 0;
4
- // ========================================
5
- // Leaderboard API Types
6
- // ========================================
7
- // Leaderboard sort methods
7
+ /**
8
+ * Leaderboard sort methods
9
+ */
8
10
  var LeaderboardSortMethod;
9
11
  (function (LeaderboardSortMethod) {
10
12
  LeaderboardSortMethod[LeaderboardSortMethod["None"] = 0] = "None";
11
13
  LeaderboardSortMethod[LeaderboardSortMethod["Ascending"] = 1] = "Ascending";
12
14
  LeaderboardSortMethod[LeaderboardSortMethod["Descending"] = 2] = "Descending"; // Top score is highest number
13
15
  })(LeaderboardSortMethod || (exports.LeaderboardSortMethod = LeaderboardSortMethod = {}));
14
- // Leaderboard display types
16
+ /**
17
+ * Leaderboard display types
18
+ */
15
19
  var LeaderboardDisplayType;
16
20
  (function (LeaderboardDisplayType) {
17
21
  LeaderboardDisplayType[LeaderboardDisplayType["None"] = 0] = "None";
@@ -19,7 +23,9 @@ var LeaderboardDisplayType;
19
23
  LeaderboardDisplayType[LeaderboardDisplayType["TimeSeconds"] = 2] = "TimeSeconds";
20
24
  LeaderboardDisplayType[LeaderboardDisplayType["TimeMilliseconds"] = 3] = "TimeMilliseconds"; // Score represents time in milliseconds
21
25
  })(LeaderboardDisplayType || (exports.LeaderboardDisplayType = LeaderboardDisplayType = {}));
22
- // Leaderboard data request types
26
+ /**
27
+ * Leaderboard data request types
28
+ */
23
29
  var LeaderboardDataRequest;
24
30
  (function (LeaderboardDataRequest) {
25
31
  LeaderboardDataRequest[LeaderboardDataRequest["Global"] = 0] = "Global";
@@ -27,11 +33,13 @@ var LeaderboardDataRequest;
27
33
  LeaderboardDataRequest[LeaderboardDataRequest["Friends"] = 2] = "Friends";
28
34
  LeaderboardDataRequest[LeaderboardDataRequest["Users"] = 3] = "Users"; // Entries for specific users
29
35
  })(LeaderboardDataRequest || (exports.LeaderboardDataRequest = LeaderboardDataRequest = {}));
30
- // Leaderboard upload score methods
36
+ /**
37
+ * Leaderboard upload score methods
38
+ */
31
39
  var LeaderboardUploadScoreMethod;
32
40
  (function (LeaderboardUploadScoreMethod) {
33
41
  LeaderboardUploadScoreMethod[LeaderboardUploadScoreMethod["None"] = 0] = "None";
34
42
  LeaderboardUploadScoreMethod[LeaderboardUploadScoreMethod["KeepBest"] = 1] = "KeepBest";
35
43
  LeaderboardUploadScoreMethod[LeaderboardUploadScoreMethod["ForceUpdate"] = 2] = "ForceUpdate"; // Always replace with new score
36
44
  })(LeaderboardUploadScoreMethod || (exports.LeaderboardUploadScoreMethod = LeaderboardUploadScoreMethod = {}));
37
- //# sourceMappingURL=types.js.map
45
+ //# sourceMappingURL=leaderboards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leaderboards.js","sourceRoot":"","sources":["../../src/types/leaderboards.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH;;GAEG;AACH,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,iEAAQ,CAAA;IACR,2EAAa,CAAA;IACb,6EAAc,CAAA,CAAG,8BAA8B;AACjD,CAAC,EAJW,qBAAqB,qCAArB,qBAAqB,QAIhC;AAED;;GAEG;AACH,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC,mEAAQ,CAAA;IACR,yEAAW,CAAA;IACX,iFAAe,CAAA;IACf,2FAAoB,CAAA,CAAG,wCAAwC;AACjE,CAAC,EALW,sBAAsB,sCAAtB,sBAAsB,QAKjC;AAED;;GAEG;AACH,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC,uEAAU,CAAA;IACV,2FAAoB,CAAA;IACpB,yEAAW,CAAA;IACX,qEAAS,CAAA,CAAc,6BAA6B;AACtD,CAAC,EALW,sBAAsB,sCAAtB,sBAAsB,QAKjC;AAED;;GAEG;AACH,IAAY,4BAIX;AAJD,WAAY,4BAA4B;IACtC,+EAAQ,CAAA;IACR,uFAAY,CAAA;IACZ,6FAAe,CAAA,CAAI,gCAAgC;AACrD,CAAC,EAJW,4BAA4B,4CAA5B,4BAA4B,QAIvC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Stats-related types for the SteamStatsManager
3
+ */
4
+ /**
5
+ * User stat value (can be int or float)
6
+ */
7
+ export interface SteamStat {
8
+ name: string;
9
+ value: number;
10
+ type: 'int' | 'float';
11
+ }
12
+ /**
13
+ * Global stat value from Steam servers
14
+ */
15
+ export interface GlobalStat {
16
+ name: string;
17
+ value: number;
18
+ type: 'int64' | 'double';
19
+ }
20
+ /**
21
+ * Global stat with historical data
22
+ */
23
+ export interface GlobalStatHistory {
24
+ name: string;
25
+ history: number[];
26
+ type: 'int64' | 'double';
27
+ }
28
+ /**
29
+ * User stat for another user (friend)
30
+ */
31
+ export interface UserStat {
32
+ steamId: string;
33
+ name: string;
34
+ value: number;
35
+ type: 'int' | 'float';
36
+ }
37
+ //# sourceMappingURL=stats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/types/stats.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;CACvB"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Stats-related types for the SteamStatsManager
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=stats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/types/stats.ts"],"names":[],"mappings":";AAAA;;GAEG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "steamworks-ffi-node",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Real Steamworks SDK wrapper using FFI for Node.js/Electron - Full Steam Integration",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAmFA,2CAA2C;AAC3C,wBAAwB;AACxB,2CAA2C;AAE3C,2BAA2B;AAC3B,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,iEAAQ,CAAA;IACR,2EAAa,CAAA;IACb,6EAAc,CAAA,CAAG,8BAA8B;AACjD,CAAC,EAJW,qBAAqB,qCAArB,qBAAqB,QAIhC;AAED,4BAA4B;AAC5B,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC,mEAAQ,CAAA;IACR,yEAAW,CAAA;IACX,iFAAe,CAAA;IACf,2FAAoB,CAAA,CAAG,wCAAwC;AACjE,CAAC,EALW,sBAAsB,sCAAtB,sBAAsB,QAKjC;AAED,iCAAiC;AACjC,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC,uEAAU,CAAA;IACV,2FAAoB,CAAA;IACpB,yEAAW,CAAA;IACX,qEAAS,CAAA,CAAc,6BAA6B;AACtD,CAAC,EALW,sBAAsB,sCAAtB,sBAAsB,QAKjC;AAED,mCAAmC;AACnC,IAAY,4BAIX;AAJD,WAAY,4BAA4B;IACtC,+EAAQ,CAAA;IACR,uFAAY,CAAA;IACZ,6FAAe,CAAA,CAAI,gCAAgC;AACrD,CAAC,EAJW,4BAA4B,4CAA5B,4BAA4B,QAIvC"}
@@ -1,82 +0,0 @@
1
- # Steamworks SDK Setup
2
-
3
- This directory should contain the Steamworks SDK files for real Steam integration.
4
-
5
- ## 📥 How to Get Steamworks SDK
6
-
7
- 1. **Register as Steam Partner**: Go to https://partner.steamgames.com/
8
- 2. **Download Steamworks SDK**: Available in the partner portal after registration
9
- 3. **Extract SDK**: Place the extracted files in this directory
10
-
11
- ## 📁 Required Directory Structure
12
-
13
- ```
14
- steamworks_sdk/
15
- ├── public/
16
- │ └── steam/
17
- │ ├── steam_api.h
18
- │ ├── isteamuserstate.h
19
- │ └── ... (other header files)
20
- └── redistributable_bin/
21
- ├── win64/
22
- │ └── steam_api64.dll # Windows 64-bit
23
- ├── steam_api.dll # Windows 32-bit
24
- ├── osx/
25
- │ └── libsteam_api.dylib # macOS
26
- └── linux64/
27
- └── libsteam_api.so # Linux 64-bit
28
- ```
29
-
30
- ## 🔑 Steam App ID
31
-
32
- You'll also need a valid Steam App ID:
33
-
34
- 1. **Get App ID**: Register your application on Steamworks
35
- 2. **Create steam_appid.txt**: Place your App ID in this file in the project root
36
- 3. **Environment Variable**: The wrapper will set `SteamAppId` automatically
37
-
38
- ## 🎮 Testing Without Real App ID
39
-
40
- For testing purposes, you can use Steam's test App ID `480` (Spacewar), but this requires:
41
- - Steam client running
42
- - Being logged into Steam
43
- - Having Spacewar in your library (it's free)
44
-
45
- ## ⚡ Quick Setup
46
-
47
- 1. Download Steamworks SDK from Steam Partner portal
48
- 2. Extract to this directory maintaining the structure above
49
- 3. Run: `npm run setup` to verify everything is configured
50
- 4. Run: `npm install` to build FFI dependencies
51
- 5. Run: `npm start` to test with real Steam integration
52
-
53
- ## 🚨 Important Notes
54
-
55
- - **Keep SDK Private**: Steamworks SDK is under NDA - don't commit it to public repos
56
- - **Platform Specific**: Make sure to include binaries for all target platforms
57
- - **Steam Client Required**: Real integration requires Steam client to be running
58
- - **Valid App ID**: Production use requires a registered Steam application
59
-
60
- ## 🔧 Troubleshooting
61
-
62
- **"Library not found" Error**:
63
- - Verify SDK files are in correct locations
64
- - Check file permissions
65
- - Ensure Visual Studio C++ Redistributable is installed
66
-
67
- **"SteamAPI_Init failed" Error**:
68
- - Make sure Steam client is running
69
- - Verify you're logged into Steam
70
- - Check that steam_appid.txt contains valid App ID
71
- - For App ID 480, make sure Spacewar is in your Steam library
72
-
73
- **Build Errors**:
74
- - Install Visual Studio Build Tools with C++ workload
75
- - Make sure Python is installed
76
- - Try running as Administrator
77
-
78
- ## 📚 Documentation
79
-
80
- - **Steamworks API Reference**: https://partner.steamgames.com/doc/api
81
- - **Steam Partner Documentation**: Available after partner registration
82
- - **Integration Guides**: Check the official Steamworks documentation