Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
f627b87
change: Add SteamClient types
FlashyReese Aug 27, 2023
d4e18c0
new: Document some SteamClient interfaces
FlashyReese Aug 27, 2023
1ed9b72
new: Document some SteamClient interfaces - part 2
FlashyReese Aug 28, 2023
82237e3
new: Document some SteamClient interfaces - part 3
FlashyReese Aug 28, 2023
484f01e
new: Document some SteamClient interfaces - part 4
FlashyReese Aug 29, 2023
2ac09e4
new: Document some SteamClient interfaces - part 5
FlashyReese Aug 30, 2023
87163f6
new: Document some SteamClient interfaces - part 6
FlashyReese Aug 30, 2023
06b0fb6
new: Document some SteamClient interfaces - part 7
FlashyReese Sep 1, 2023
db0b58a
change: Update interfaces to Steam Version 1691097434
FlashyReese Sep 1, 2023
eec1200
new: Document some SteamClient interfaces - part 8
FlashyReese Sep 2, 2023
be22953
new: Document some SteamClient interfaces - part 9
FlashyReese Sep 4, 2023
1980e07
change: Update interfaces to Steam Version 1694466342
FlashyReese Sep 12, 2023
339136d
new: Document some SteamClient interfaces - part 10
FlashyReese Sep 23, 2023
d6f16f6
new: Document some SteamClient interfaces - part 11
FlashyReese Sep 30, 2023
fffd0b5
new: Document some SteamClient interfaces - part 12
FlashyReese Oct 3, 2023
cc835dc
new: Document some SteamClient interfaces - part 13
FlashyReese Oct 4, 2023
a74109f
new: Document some SteamClient interfaces - part 14
FlashyReese Oct 16, 2023
8d845de
change: Update interfaces to Steam Version 1698260427
FlashyReese Oct 26, 2023
21747ef
new: Document some SteamClient interfaces - part 10
FlashyReese Sep 23, 2023
b23839e
change: Update interfaces to Steam Version 1700160213
FlashyReese Nov 17, 2023
93e8c31
docs(SteamClient): document some interfaces
ricewind012 Nov 26, 2023
67089bc
change: Fix formatting style
FlashyReese Nov 28, 2023
7263d28
docs(SteamClient): document protobufs & System.Report
ricewind012 Nov 30, 2023
b3c539f
docs(SteamClient): document CMsgMonitorInfo
ricewind012 Dec 1, 2023
217e5d4
docs(SteamClient): document remaining messages
ricewind012 Dec 14, 2023
54c4edb
docs(SteamClient): update interfaces to Steam Version 1702515219
ricewind012 Dec 14, 2023
d3bdf05
docs(SteamClient): update interfaces to Steam Version 1704329464
ricewind012 Jan 6, 2024
24e49f5
docs(SteamClient): update interfaces to Steam Version 1705630720
ricewind012 Jan 19, 2024
f7b346f
docs(SteamClient): update interfaces to Steam Version 1706914901
ricewind012 Feb 3, 2024
314e19c
docs(SteamClient): update interfaces to Steam Version 1709920887
ricewind012 Mar 9, 2024
caafb6c
docs(SteamClient): update interfaces to Steam Version 1710786209
ricewind012 Mar 21, 2024
620e033
docs(SteamClient): document even more interfaces
ricewind012 Mar 23, 2024
2ca0a37
new: Document some SteamClient interfaces - part 15
FlashyReese Mar 24, 2024
8bd92b5
Fix QAM button bit number
PartyWumpus Mar 24, 2024
cc40e81
new: Document some SteamClient interfaces - part 16
FlashyReese Apr 16, 2024
4a754b4
change: Update interfaces to Steam Version 1714854927
FlashyReese May 8, 2024
4293a21
change: Refactor and reorganize SteamClient
FlashyReese May 17, 2024
539e02f
docs(SteamClient): document more notification interfaces
ricewind012 Jun 2, 2024
761cdff
docs(SteamClient): document more interfaces
ricewind012 Jun 13, 2024
b62fed0
docs(SteamClient): add some descriptions
ricewind012 Jun 23, 2024
8102f28
docs(SteamClient): remove duplicate types
ricewind012 Jun 23, 2024
23f62d7
change: Fix rebase errors
FlashyReese Jun 29, 2024
e0b5c6c
Updated ControllerStateChange
isXander Jul 21, 2024
d8a1ac4
Fix typo
isXander Jul 21, 2024
35e17ab
Merge pull request #3 from isXander/patch-1
ricewind012 Jul 21, 2024
0351d83
docs(SteamClient): update interfaces to Steam Version 1723601482
ricewind012 Aug 14, 2024
a1ba6b3
docs(SteamClient): update interfaces to 1725654351
ricewind012 Sep 7, 2024
e5664a3
Merge branch 'main' into steam-client-reference
FlashyReese Oct 8, 2024
327595b
docs(SteamClient): update interfaces to 1730416762
ricewind012 Nov 3, 2024
447de96
docs(SteamClient): forgot some stuff
ricewind012 Nov 6, 2024
4aca9c2
docs(SteamClient): add missed interfaces
ricewind012 Nov 22, 2024
75e035f
docs(SteamClient): update enums
ricewind012 Jan 17, 2025
7330c88
docs(SteamClient): add some things and move stuff around
ricewind012 Feb 2, 2025
be91ec7
docs(SteamClient): move shared enums/interfaces to a separate file
ricewind012 Feb 2, 2025
f3c3d4b
docs(SteamClient): add more stuff
ricewind012 Apr 16, 2025
6f28e26
docs(SteamClient): reword some things
ricewind012 Apr 18, 2025
fd335b7
docs(SteamClient): new BrowserView things
ricewind012 Apr 21, 2025
d1ff820
docs(SteamClient): review fixes
ricewind012 Apr 23, 2025
95826ea
move to src/globals
ricewind012 Apr 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
324 changes: 4 additions & 320 deletions src/globals/SteamClient.ts
Original file line number Diff line number Diff line change
@@ -1,321 +1,5 @@
declare global {
var SteamClient: SteamClient;
}

export interface Apps {
RegisterForAppOverviewChanges: any;
RegisterForAppDetails: any;
RegisterForLocalizationChanges: any;
RegisterForWorkshopChanges: any;
RegisterForWorkshopItemDownloads: any;
GetLibraryBootstrapData: any;
RegisterForAchievementChanges: any;
GetFriendAchievementsForApp: any;
GetMyAchievementsForApp: any;
AddUserTagToApps: any;
RemoveUserTagFromApps: any;
ClearUserTagsOnApps: any;
ClearAndSetUserTagsOnApp: any;
SetAppHidden: any;
ResetHiddenState: any;
SetAppLaunchOptions: any;
SetAppResolutionOverride: any;
SetAppCurrentLanguage: any;
SetAppAutoUpdateBehavior: any;
SetAppBackgroundDownloadsBehavior: any;
ToggleAppFamilyBlockedState: any;
ToggleAppSteamCloudEnabled: any;
ToggleAppSteamCloudSyncOnSuspendEnabled: any;
ToggleOverrideResolutionForInternalDisplay: any;
ToggleEnableSteamOverlayForApp: any;
ToggleEnableDesktopTheatreForApp: any;
BrowseLocalFilesForApp: any;
BrowseScreenshotsForApp: any;
BrowseScreenshotForApp: any;
BackupFilesForApp: any;
VerifyFilesForApp: any;
CreateDesktopShortcutForApp: any;
JoinAppContentBeta: any;
JoinAppContentBetaByPassword: any;
GetAchievementsInTimeRange: any;
GetSubscribedWorkshopItems: any;
SubscribeWorkshopItem: any;
GetDownloadedWorkshopItems: any;
DownloadWorkshopItem: any;
SetLocalScreenshotCaption: any;
SetLocalScreenshotSpoiler: any;
GetDetailsForScreenshotUpload: any;
UploadLocalScreenshot: any;
DeleteLocalScreenshot: any;
GetScreenshotsInTimeRange: any;
GetFriendsWhoPlay: any;
RequestLegacyCDKeysForApp: any;
GetSoundtrackDetails: any;
GetStoreTagLocalization: any;
GetLaunchOptionsForApp: any;
GetResolutionOverrideForApp: any;
ScanForShortcuts: any;
GetAllShortcuts: any;
GetShortcutData: any;
AddShortcut: any;
RemoveShortcut: any;
InstallFlatpakAppAndCreateShortcut: any;
ListFlatpakApps: any;
UninstallFlatpakApp: any;
ShowControllerConfigurator: any;
SetThirdPartyControllerConfiguration: any;
ToggleAllowDesktopConfiguration: any;
SetControllerRumblePreference: any;
GetCachedAppDetails: any;
SetCachedAppDetails: any;
ReportLibraryAssetCacheMiss: any;
SaveAchievementProgressCache: any;
SetStreamingClientForApp: any;
SetCustomArtworkForApp: any;
ClearCustomArtworkForApp: any;
SetCustomLogoPositionForApp: any;
ClearCustomLogoPositionForApp: any;
RequestIconDataForApp: any;
SpecifyCompatTool: any;
GetAvailableCompatTools: any;
SetShortcutName: any;
SetShortcutExe: any;
SetShortcutStartDir: any;
SetShortcutLaunchOptions: any;
SetShortcutIsVR: any;
PromptToChangeShortcut: any;
PromptToSelectShortcutIcon: any;
InstallApp: any;
RunGame: any;
VerifyApp: any;
StreamGame: any;
CancelLaunch: any;
TerminateApp: any;
UninstallApps: any;
ShowStore: any;
SetDLCEnabled: any;
ContinueGameAction: any;
CancelGameAction: any;
GetActiveGameActions: any;
GetGameActionDetails: any;
GetGameActionForApp: any;
SkipShaderProcessing: any;
MarkEulaAccepted: any;
MarkEulaRejected: any;
LoadEula: any;
GetConflictingFileTimestamps: any;
GetCloudPendingRemoteOperations: any;
ClearProton: any;
RegisterForMarketingMessages: any;
FetchMarketingMessages: any;
MarkMarketingMessageSeen: any;
ReportMarketingMessageSeen: any;
RegisterForGameActionStart: any;
RegisterForGameActionEnd: any;
RegisterForGameActionTaskChange: any;
RegisterForGameActionUserRequest: any;
RegisterForGameActionShowError: any;
RegisterForGameActionShowUI: any;
OpenAppSettingsDialog: any;
}

export interface Window {
RegisterForExternalDisplayChanged: any;
SetManualDisplayScaleFactor: any;
SetAutoDisplayScale: any;
Minimize: any;
ProcessShuttingDown: any;
ToggleMaximize: any;
MoveTo: any;
ResizeTo: any;
SetMinSize: any;
SetResizeGrip: any;
SetComposition: any;
GamescopeBlur: any;
BringToFront: any;
SetForegroundWindow: any;
SetKeyFocus: any;
FlashWindow: any;
StopFlashWindow: any;
ShowWindow: any;
HideWindow: any;
SetWindowIcon: any;
GetWindowDimensions: any;
GetWindowRestoreDetails: any;
PositionWindowRelative: any;
GetMousePositionDetails: any;
IsWindowMinimized: any;
GetBrowserID: any;
}

export interface SteamClient {
Apps: Apps;
Browser: any;
BrowserView: any;
ClientNotifications: any;
Cloud: any;
Console: any;
Downloads: any;
FamilySharing: any;
FriendSettings: any;
Friends: any;
GameSessions: any;
Input: any;
InstallFolder: any;
Installs: any;
MachineStorage: any;
Messaging: any;
Notifications: any;
OpenVR: any;
Overlay: any;
Parental: any;
RegisterIFrameNavigatedCallback: any;
RemotePlay: any;
RoamingStorage: any;
Screenshots: any;
Settings: any;
SharedConnection: any;
Stats: any;
Storage: any;
Streaming: any;
System: any;
UI: any;
URL: any;
Updates: any;
User: any;
WebChat: any;
Window: Window;
}

export interface SteamShortcut {
appid: number;
data: {
bIsApplication: boolean;
strAppName: string;
strExePath: string;
strArguments: string;
strShortcutPath: string;
strSortAs: string;
};
}

/**
* @prop unAppID is not properly set by Steam for non-steam game shortcuts, so it defaults to 0 for them
*/
export interface LifetimeNotification {
unAppID: number;
nInstanceID: number;
bRunning: boolean;
}
import {SteamClient} from "./steam-client";

export type AppAchievements = {
nAchieved: number;
nTotal: number;
vecAchievedHidden: any[];
vecHighlight: any[];
vecUnachieved: any[];
};

export type AppLanguages = {
strDisplayName: string;
strShortName: string;
};

export type LogoPinPositions = 'BottomLeft' | 'UpperLeft' | 'CenterCenter' | 'UpperCenter' | 'BottomCenter';

export interface LogoPosition {
pinnedPosition: LogoPinPositions;
nWidthPct: number;
nHeightPct: number;
}

export interface AppDetails {
achievements: AppAchievements;
bCanMoveInstallFolder: boolean;
bCloudAvailable: boolean;
bCloudEnabledForAccount: boolean;
bCloudEnabledForApp: boolean;
bCloudSyncOnSuspendAvailable: boolean;
bCloudSyncOnSuspendEnabled: boolean;
bCommunityMarketPresence: boolean;
bEnableAllowDesktopConfiguration: boolean;
bFreeRemovableLicense: boolean;
bHasAllLegacyCDKeys: boolean;
bHasAnyLocalContent: boolean;
bHasLockedPrivateBetas: boolean;
bIsExcludedFromSharing: boolean;
bIsSubscribedTo: boolean;
bOverlayEnabled: boolean;
bOverrideInternalResolution: boolean;
bRequiresLegacyCDKey: boolean;
bShortcutIsVR: boolean;
bShowCDKeyInMenus: boolean;
bShowControllerConfig: boolean;
bSupportsCDKeyCopyToClipboard: boolean;
bVRGameTheatreEnabled: boolean;
bWorkshopVisible: boolean;
eAppOwnershipFlags: number;
eAutoUpdateValue: number;
eBackgroundDownloads: number;
eCloudSync: number;
eControllerRumblePreference: number;
eDisplayStatus: number;
eEnableThirdPartyControllerConfiguration: number;
eSteamInputControllerMask: number;
iInstallFolder: number;
lDiskUsageBytes: number;
lDlcUsageBytes: number;
nBuildID: number;
nCompatToolPriority: number;
nPlaytimeForever: number;
nScreenshots: number;
rtLastTimePlayed: number;
rtLastUpdated: number;
rtPurchased: number;
selectedLanguage: {
strDisplayName: string;
strShortName: string;
};
strCloudBytesAvailable: string;
strCloudBytesUsed: string;
strCompatToolDisplayName: string;
strCompatToolName: string;
strDeveloperName: string;
strDeveloperURL: string;
strDisplayName: string;
strExternalSubscriptionURL: string;
strFlatpakAppID: string;
strHomepageURL: string;
strLaunchOptions: string;
strManualURL: string;
strOwnerSteamID: string;
strResolutionOverride: string;
strSelectedBeta: string;
strShortcutExe: string;
strShortcutLaunchOptions: string;
strShortcutStartDir: string;
strSteamDeckBlogURL: string;
unAppID: number;
vecBetas: any[];
vecDLC: any[];
vecDeckCompatTestResults: any[];
vecLanguages: AppLanguages[];
vecLegacyCDKeys: any[];
vecMusicAlbums: any[];
vecPlatforms: string[];
vecScreenShots: any[];
libraryAssets?: {
logoPosition?: LogoPosition;
};
}

export interface SteamAppOverview {
display_name: string;
gameid: string;
appid: number;
icon_hash: string;
third_party_mod?: boolean;
selected_clientid?: string;
BIsModOrShortcut: () => boolean;
BIsShortcut: () => boolean;
}
declare global {
var SteamClient: SteamClient;
}
Loading