Skip to content

Commit 131ab4c

Browse files
FlashyReesericewind012PartyWumpusisXander
authored
feat(globals): Steam client reference (#92)
* change: Add SteamClient types Steam Version: 1690583737 Steam Client Build Date: Sat, Jul 29 02:44 UTC -08:00 * new: Document some SteamClient interfaces Using the SDH discord server, GitHub and some personal findings, I tried to document as much SteamClient functions as I can. * new: Document some SteamClient interfaces - part 2 * new: Document some SteamClient interfaces - part 3 * new: Document some SteamClient interfaces - part 4 * new: Document some SteamClient interfaces - part 5 * new: Document some SteamClient interfaces - part 6 * new: Document some SteamClient interfaces - part 7 * change: Update interfaces to Steam Version 1691097434 Steam Version: 1691097434 Steam Client Build Date: Fri, Aug 4 04:54 UTC -08:00 * new: Document some SteamClient interfaces - part 8 * new: Document some SteamClient interfaces - part 9 * change: Update interfaces to Steam Version 1694466342 Steam Version: 1694466342 Steam Client Build Date: Tue, Sep 12 04:59 UTC +08:00 * new: Document some SteamClient interfaces - part 10 * new: Document some SteamClient interfaces - part 11 * new: Document some SteamClient interfaces - part 12 * new: Document some SteamClient interfaces - part 13 * new: Document some SteamClient interfaces - part 14 * change: Update interfaces to Steam Version 1698260427 Steam Version: 1698260427 Steam Client Build Date: Thu, Oct 26 2:40 AM UTC -08:00 * new: Document some SteamClient interfaces - part 10 * change: Update interfaces to Steam Version 1700160213 Steam Version: 1700160213 Steam Client Build Date: Fri, Nov 17 2:23 AM UTC +08:00 * docs(SteamClient): document some interfaces * change: Fix formatting style * docs(SteamClient): document protobufs & System.Report * docs(SteamClient): document CMsgMonitorInfo * docs(SteamClient): document remaining messages * docs(SteamClient): update interfaces to Steam Version 1702515219 Steam Version: 1702515219 Steam Client Build Date: Thu, Dec 14 00:36 UTC -08:00 * docs(SteamClient): update interfaces to Steam Version 1704329464 Steam Version: 1704329464 Steam Client Build Date: Thu, Jan 4 12:23 AM UTC -08:00 * docs(SteamClient): update interfaces to Steam Version 1705630720 Steam Version: 1705630720 Steam Client Build Date: Fri, Jan 19 1:58 AM UTC -08:00 * docs(SteamClient): update interfaces to Steam Version 1706914901 Steam Version: 1706914901 Steam Client Build Date: Fri, Feb 2 8:46 PM UTC -08:00 * docs(SteamClient): update interfaces to Steam Version 1709920887 Steam Version: 1709920887 Steam Client Build Date: Thu, Mar 7 5:29 PM UTC -08:00 * docs(SteamClient): update interfaces to Steam Version 1710786209 Steam Version: 1710786209 Steam Client Build Date: Mon, Mar 18 7:07 PM UTC -08:00 * docs(SteamClient): document even more interfaces * new: Document some SteamClient interfaces - part 15 * Fix QAM button bit number * new: Document some SteamClient interfaces - part 16 * change: Update interfaces to Steam Version 1714854927 Steam Version: 1714854927 Steam Client Build Date: Sat, May 4 7:11 AM UTC -08:00 * change: Refactor and reorganize SteamClient * docs(SteamClient): document more notification interfaces * docs(SteamClient): document more interfaces * docs(SteamClient): add some descriptions * docs(SteamClient): remove duplicate types * change: Fix rebase errors * Updated ControllerStateChange * Fix typo * docs(SteamClient): update interfaces to Steam Version 1723601482 Steam Version: 1723601482 Steam Client Build Date: Wed, Aug 14 01:51 UTC -08:00 * docs(SteamClient): update interfaces to 1725654351 * docs(SteamClient): update interfaces to 1730416762 * docs(SteamClient): forgot some stuff * docs(SteamClient): add missed interfaces * docs(SteamClient): update enums * docs(SteamClient): add some things and move stuff around * docs(SteamClient): move shared enums/interfaces to a separate file * docs(SteamClient): add more stuff * docs(SteamClient): reword some things * docs(SteamClient): new BrowserView things * docs(SteamClient): review fixes * move to src/globals --------- Co-authored-by: ricewind012 <[email protected]> Co-authored-by: Party Wumpus <[email protected]> Co-authored-by: Xander <[email protected]>
1 parent 7e7a325 commit 131ab4c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+9781
-373
lines changed

src/globals/SteamClient.ts

Lines changed: 4 additions & 320 deletions
Original file line numberDiff line numberDiff line change
@@ -1,321 +1,5 @@
1-
declare global {
2-
var SteamClient: SteamClient;
3-
}
4-
5-
export interface Apps {
6-
RegisterForAppOverviewChanges: any;
7-
RegisterForAppDetails: any;
8-
RegisterForLocalizationChanges: any;
9-
RegisterForWorkshopChanges: any;
10-
RegisterForWorkshopItemDownloads: any;
11-
GetLibraryBootstrapData: any;
12-
RegisterForAchievementChanges: any;
13-
GetFriendAchievementsForApp: any;
14-
GetMyAchievementsForApp: any;
15-
AddUserTagToApps: any;
16-
RemoveUserTagFromApps: any;
17-
ClearUserTagsOnApps: any;
18-
ClearAndSetUserTagsOnApp: any;
19-
SetAppHidden: any;
20-
ResetHiddenState: any;
21-
SetAppLaunchOptions: any;
22-
SetAppResolutionOverride: any;
23-
SetAppCurrentLanguage: any;
24-
SetAppAutoUpdateBehavior: any;
25-
SetAppBackgroundDownloadsBehavior: any;
26-
ToggleAppFamilyBlockedState: any;
27-
ToggleAppSteamCloudEnabled: any;
28-
ToggleAppSteamCloudSyncOnSuspendEnabled: any;
29-
ToggleOverrideResolutionForInternalDisplay: any;
30-
ToggleEnableSteamOverlayForApp: any;
31-
ToggleEnableDesktopTheatreForApp: any;
32-
BrowseLocalFilesForApp: any;
33-
BrowseScreenshotsForApp: any;
34-
BrowseScreenshotForApp: any;
35-
BackupFilesForApp: any;
36-
VerifyFilesForApp: any;
37-
CreateDesktopShortcutForApp: any;
38-
JoinAppContentBeta: any;
39-
JoinAppContentBetaByPassword: any;
40-
GetAchievementsInTimeRange: any;
41-
GetSubscribedWorkshopItems: any;
42-
SubscribeWorkshopItem: any;
43-
GetDownloadedWorkshopItems: any;
44-
DownloadWorkshopItem: any;
45-
SetLocalScreenshotCaption: any;
46-
SetLocalScreenshotSpoiler: any;
47-
GetDetailsForScreenshotUpload: any;
48-
UploadLocalScreenshot: any;
49-
DeleteLocalScreenshot: any;
50-
GetScreenshotsInTimeRange: any;
51-
GetFriendsWhoPlay: any;
52-
RequestLegacyCDKeysForApp: any;
53-
GetSoundtrackDetails: any;
54-
GetStoreTagLocalization: any;
55-
GetLaunchOptionsForApp: any;
56-
GetResolutionOverrideForApp: any;
57-
ScanForShortcuts: any;
58-
GetAllShortcuts: any;
59-
GetShortcutData: any;
60-
AddShortcut: any;
61-
RemoveShortcut: any;
62-
InstallFlatpakAppAndCreateShortcut: any;
63-
ListFlatpakApps: any;
64-
UninstallFlatpakApp: any;
65-
ShowControllerConfigurator: any;
66-
SetThirdPartyControllerConfiguration: any;
67-
ToggleAllowDesktopConfiguration: any;
68-
SetControllerRumblePreference: any;
69-
GetCachedAppDetails: any;
70-
SetCachedAppDetails: any;
71-
ReportLibraryAssetCacheMiss: any;
72-
SaveAchievementProgressCache: any;
73-
SetStreamingClientForApp: any;
74-
SetCustomArtworkForApp: any;
75-
ClearCustomArtworkForApp: any;
76-
SetCustomLogoPositionForApp: any;
77-
ClearCustomLogoPositionForApp: any;
78-
RequestIconDataForApp: any;
79-
SpecifyCompatTool: any;
80-
GetAvailableCompatTools: any;
81-
SetShortcutName: any;
82-
SetShortcutExe: any;
83-
SetShortcutStartDir: any;
84-
SetShortcutLaunchOptions: any;
85-
SetShortcutIsVR: any;
86-
PromptToChangeShortcut: any;
87-
PromptToSelectShortcutIcon: any;
88-
InstallApp: any;
89-
RunGame: any;
90-
VerifyApp: any;
91-
StreamGame: any;
92-
CancelLaunch: any;
93-
TerminateApp: any;
94-
UninstallApps: any;
95-
ShowStore: any;
96-
SetDLCEnabled: any;
97-
ContinueGameAction: any;
98-
CancelGameAction: any;
99-
GetActiveGameActions: any;
100-
GetGameActionDetails: any;
101-
GetGameActionForApp: any;
102-
SkipShaderProcessing: any;
103-
MarkEulaAccepted: any;
104-
MarkEulaRejected: any;
105-
LoadEula: any;
106-
GetConflictingFileTimestamps: any;
107-
GetCloudPendingRemoteOperations: any;
108-
ClearProton: any;
109-
RegisterForMarketingMessages: any;
110-
FetchMarketingMessages: any;
111-
MarkMarketingMessageSeen: any;
112-
ReportMarketingMessageSeen: any;
113-
RegisterForGameActionStart: any;
114-
RegisterForGameActionEnd: any;
115-
RegisterForGameActionTaskChange: any;
116-
RegisterForGameActionUserRequest: any;
117-
RegisterForGameActionShowError: any;
118-
RegisterForGameActionShowUI: any;
119-
OpenAppSettingsDialog: any;
120-
}
121-
122-
export interface Window {
123-
RegisterForExternalDisplayChanged: any;
124-
SetManualDisplayScaleFactor: any;
125-
SetAutoDisplayScale: any;
126-
Minimize: any;
127-
ProcessShuttingDown: any;
128-
ToggleMaximize: any;
129-
MoveTo: any;
130-
ResizeTo: any;
131-
SetMinSize: any;
132-
SetResizeGrip: any;
133-
SetComposition: any;
134-
GamescopeBlur: any;
135-
BringToFront: any;
136-
SetForegroundWindow: any;
137-
SetKeyFocus: any;
138-
FlashWindow: any;
139-
StopFlashWindow: any;
140-
ShowWindow: any;
141-
HideWindow: any;
142-
SetWindowIcon: any;
143-
GetWindowDimensions: any;
144-
GetWindowRestoreDetails: any;
145-
PositionWindowRelative: any;
146-
GetMousePositionDetails: any;
147-
IsWindowMinimized: any;
148-
GetBrowserID: any;
149-
}
150-
151-
export interface SteamClient {
152-
Apps: Apps;
153-
Browser: any;
154-
BrowserView: any;
155-
ClientNotifications: any;
156-
Cloud: any;
157-
Console: any;
158-
Downloads: any;
159-
FamilySharing: any;
160-
FriendSettings: any;
161-
Friends: any;
162-
GameSessions: any;
163-
Input: any;
164-
InstallFolder: any;
165-
Installs: any;
166-
MachineStorage: any;
167-
Messaging: any;
168-
Notifications: any;
169-
OpenVR: any;
170-
Overlay: any;
171-
Parental: any;
172-
RegisterIFrameNavigatedCallback: any;
173-
RemotePlay: any;
174-
RoamingStorage: any;
175-
Screenshots: any;
176-
Settings: any;
177-
SharedConnection: any;
178-
Stats: any;
179-
Storage: any;
180-
Streaming: any;
181-
System: any;
182-
UI: any;
183-
URL: any;
184-
Updates: any;
185-
User: any;
186-
WebChat: any;
187-
Window: Window;
188-
}
189-
190-
export interface SteamShortcut {
191-
appid: number;
192-
data: {
193-
bIsApplication: boolean;
194-
strAppName: string;
195-
strExePath: string;
196-
strArguments: string;
197-
strShortcutPath: string;
198-
strSortAs: string;
199-
};
200-
}
201-
202-
/**
203-
* @prop unAppID is not properly set by Steam for non-steam game shortcuts, so it defaults to 0 for them
204-
*/
205-
export interface LifetimeNotification {
206-
unAppID: number;
207-
nInstanceID: number;
208-
bRunning: boolean;
209-
}
1+
import {SteamClient} from "./steam-client";
2102

211-
export type AppAchievements = {
212-
nAchieved: number;
213-
nTotal: number;
214-
vecAchievedHidden: any[];
215-
vecHighlight: any[];
216-
vecUnachieved: any[];
217-
};
218-
219-
export type AppLanguages = {
220-
strDisplayName: string;
221-
strShortName: string;
222-
};
223-
224-
export type LogoPinPositions = 'BottomLeft' | 'UpperLeft' | 'CenterCenter' | 'UpperCenter' | 'BottomCenter';
225-
226-
export interface LogoPosition {
227-
pinnedPosition: LogoPinPositions;
228-
nWidthPct: number;
229-
nHeightPct: number;
230-
}
231-
232-
export interface AppDetails {
233-
achievements: AppAchievements;
234-
bCanMoveInstallFolder: boolean;
235-
bCloudAvailable: boolean;
236-
bCloudEnabledForAccount: boolean;
237-
bCloudEnabledForApp: boolean;
238-
bCloudSyncOnSuspendAvailable: boolean;
239-
bCloudSyncOnSuspendEnabled: boolean;
240-
bCommunityMarketPresence: boolean;
241-
bEnableAllowDesktopConfiguration: boolean;
242-
bFreeRemovableLicense: boolean;
243-
bHasAllLegacyCDKeys: boolean;
244-
bHasAnyLocalContent: boolean;
245-
bHasLockedPrivateBetas: boolean;
246-
bIsExcludedFromSharing: boolean;
247-
bIsSubscribedTo: boolean;
248-
bOverlayEnabled: boolean;
249-
bOverrideInternalResolution: boolean;
250-
bRequiresLegacyCDKey: boolean;
251-
bShortcutIsVR: boolean;
252-
bShowCDKeyInMenus: boolean;
253-
bShowControllerConfig: boolean;
254-
bSupportsCDKeyCopyToClipboard: boolean;
255-
bVRGameTheatreEnabled: boolean;
256-
bWorkshopVisible: boolean;
257-
eAppOwnershipFlags: number;
258-
eAutoUpdateValue: number;
259-
eBackgroundDownloads: number;
260-
eCloudSync: number;
261-
eControllerRumblePreference: number;
262-
eDisplayStatus: number;
263-
eEnableThirdPartyControllerConfiguration: number;
264-
eSteamInputControllerMask: number;
265-
iInstallFolder: number;
266-
lDiskUsageBytes: number;
267-
lDlcUsageBytes: number;
268-
nBuildID: number;
269-
nCompatToolPriority: number;
270-
nPlaytimeForever: number;
271-
nScreenshots: number;
272-
rtLastTimePlayed: number;
273-
rtLastUpdated: number;
274-
rtPurchased: number;
275-
selectedLanguage: {
276-
strDisplayName: string;
277-
strShortName: string;
278-
};
279-
strCloudBytesAvailable: string;
280-
strCloudBytesUsed: string;
281-
strCompatToolDisplayName: string;
282-
strCompatToolName: string;
283-
strDeveloperName: string;
284-
strDeveloperURL: string;
285-
strDisplayName: string;
286-
strExternalSubscriptionURL: string;
287-
strFlatpakAppID: string;
288-
strHomepageURL: string;
289-
strLaunchOptions: string;
290-
strManualURL: string;
291-
strOwnerSteamID: string;
292-
strResolutionOverride: string;
293-
strSelectedBeta: string;
294-
strShortcutExe: string;
295-
strShortcutLaunchOptions: string;
296-
strShortcutStartDir: string;
297-
strSteamDeckBlogURL: string;
298-
unAppID: number;
299-
vecBetas: any[];
300-
vecDLC: any[];
301-
vecDeckCompatTestResults: any[];
302-
vecLanguages: AppLanguages[];
303-
vecLegacyCDKeys: any[];
304-
vecMusicAlbums: any[];
305-
vecPlatforms: string[];
306-
vecScreenShots: any[];
307-
libraryAssets?: {
308-
logoPosition?: LogoPosition;
309-
};
310-
}
311-
312-
export interface SteamAppOverview {
313-
display_name: string;
314-
gameid: string;
315-
appid: number;
316-
icon_hash: string;
317-
third_party_mod?: boolean;
318-
selected_clientid?: string;
319-
BIsModOrShortcut: () => boolean;
320-
BIsShortcut: () => boolean;
321-
}
3+
declare global {
4+
var SteamClient: SteamClient;
5+
}

0 commit comments

Comments
 (0)