Skip to content
Nikita Krapivin edited this page Jul 5, 2022 · 3 revisions

Welcome to the Parworks wiki!

Parworks is designed to add new functionality to the YoYoGames's Steamworks Extension, nothing more.

It is designed to interop with the existing YoYoGames's extension, and build on top of it.

You can add Parworks to an existing Steamworks Ext. project with no issues and it will work, plus extra functionality that YYG will only deliver in 2023...?

Parworks conventions

  • All methods are bound as-is in the Steamworks headers
  • If an array of handles is written to by Steamworks, the Parworks method takes a GML array as input
  • If a method returns a struct, Parworks returns a GML struct with fields exactly the same as in the headers
  • If a method writes into some non-array argument by reference, the GML function takes a struct, and sets the .refval member to that value.

Please see the Steamworks SDK documentation for more information about implemented methods:

https://partner.steamgames.com/doc/api

What works?

What's implemented:

  • ISteamInput

    Everything. Every method. I did not sleep for this.

  • ISteamUtils

    IsSteamRunningOnSteamDeck, ShowFloatingGamepadTextInput, SetGameLauncherMode, DismissFloatingGamepadTextInput, GetIPv6ConnectivityState, FilterText, InitFilterText, IsSteamChinaLauncher, SetVRHeadsetStreamingEnabled, IsVRHeadsetStreamingEnabled, StartVRDashboard, IsSteamInBigPictureMode, SetOverlayNotificationInset, IsSteamRunningInVR, GetSteamUILanguage, GetEnteredGamepadTextInput, GetEnteredGamepadTextLength, ShowGamepadTextInput.

    +callbacks dispatched by ShowFloatingGamepadTextInput and ShowGamepadTextInput.

  • ISteamRemoteStorage

    BeginFileWriteBatch, EndFileWriteBatch, GetLocalFileChangeCount, GetLocalFileChange and the OnRemoteStorageLocalFileChange callback. (For Steam Cloud Dynamic)