Oversigt
Udover at bruge Steam-værkstedet til at hoste konfigurationer kan spil også vælge at samle deres konfigurationer direkte med spildepoterne. Der er en række fordele ved at samle konfigurationer i dine spildepoter:
- Officielle konfigurationer kan tjekkes i Perforce eller andre værktøjer til versionsstyring
- Det er nemmere at administrere konfigurationer mellem forskellige grene af dit spil eller mellem et offentligt og privat app-ID
- Opdateringer er udelelige i stedet for at blive udført via to udgivelsestrin i Steamworks
Format
Handlingsmanifestfilen er en udvidelse af
Spilhandlingsfil, som inkluderer en ekstra sektion med en liste over officielle konfigurationer opdelt efter type:
"Action Manifest"
{
"configurations"
{
}
"actions"
{
}
"localization"
{
}
}
Se dokumentationen
Spilhandlingsfil for oplysninger om handlings- og lokaliseringssektioner.
Konfigurationsliste
Under sektionen for controllerkonfiguration findes konfigurationerne på en liste sorteret efter controllertype og derefter ud fra indlæsningsprioritet. "Path"-værdien vises relativt til placeringen af handlingsmanifestets fil på disken.
"Action Manifest"
{
"configurations"
{
"controller_xboxone"
{
"0"
{
"path" "xbox_controller.vdf"
}
}
"controller_steamcontroller_gordon"
{
"0"
{
"path" "steam_controller.vdf"
}
"1"
{
"path" "steam_controller_motion_controls.vdf"
}
}
}
"actions"
{
}
"localization"
{
}
}
Understøttede controllertypestrenge:
Steam Deck-controller | controller_neptune |
Steam Controller | controller_steamcontroller_gordon |
Xbox 360 | controller_xbox360 |
Xbox One | controller_xboxone |
Xbox One Elite-controller | controller_xboxelite |
PlayStation 4-controller | controller_ps4 |
PlayStation 5-controller | controller_ps5 |
Nintendo Switch Pro-controller | controller_switch_pro |
Almindelig gamepad | controller_generic |
Opsætning af en handlingsmanifestfil
Der er to primære måder at opsætte din handlingsmanifestfil: enten fra bunden eller ved at bruge en allerede eksisterende IGA-fil.
Start med en spilhandlingsfil
Trin 1 – Opsætning af udviklertilstand til Steam Input
Før vi redigerer handlingsmanifestfilen, bliver vi nødt til at aktivere Steam Input-udviklertilstand, så vi kan eksportere konfigurationer som en udvikler og modtage fejlbeskeder, hvis vi laver fejl under redigering af handlingsmanifestet.
1) Gå til Steams Big Picture-tilstand -> Indstillinger -> System, og aktiver udviklertilstand for Steam
2) Gå til udviklersektionen og aktiver "Steam Input-layout – Udviklertilstand"
Trin 2 – Gem en konfiguration
Hvis du har en eksisterende IGA-fil, kan du gemme din nuværende konfiguration på controllerkonfigurationsskærmen.
1) Vælg tandhjulsikonet
2) Vælg "Eksporter layout"
3) Vælg en titel og beskrivelse til dit spil, og eksporter konfigurationen.
Husk: Du skal dobbelttjekke, at du har konfigureret lokaliseringstokens i handlingsmanifestet for alle sprog, som dit spil understøtter
Trin 3 – Find din konfiguration
Som det næste skal du køre nedenstående Steam-URL for at anbringe filen i dit operativsystems dokumentmappe. I Windows er det f.eks. mappen "Dokumenter". URL:
Kommando i Windows
start steam://dumpcontrollerconfig?appid=X
Kommando i Linux
xdg-open steam://dumpcontrollerconfig?appid=X
Kopiér både konfigurationen og din nuværende IGA-fil til den ønskede lokation i spilmappen.
Trin 4 – Konvertér IGA-filen til en handlingsmanifestfil
For at angive dine Steamworks-indstillinger på partnersiden skal du åbne indstillingerne for Steam Input. I rullemenuen skal du derefter vælge "Tilpasset konfiguration (pakket med spillet)" og indtaste stien til handlingsmanifestet:
"configurations"
{
"controller_xboxone"
{
"0"
{
"path" "xbox_controller.vdf"
}
}
"controller_steamcontroller_gordon"
{
"0"
{
"path" "steam_controller.vdf"
}
}
}
Trin 5 – Angiv Steamworks-indstillingerne
For at angive dine Steamworks-indstillinger på partnersiden skal du åbne indstillingerne for Steam Input. I rullemenuen skal du derefter vælge "Tilpasset konfiguration (pakket med spillet)" og indtaste stien til handlingsmanifestet:
Fejlfinding af et spil, der anvender en handlingsmanifestfil
Når spillet køres gennem Steam, hentes handlingsmanifestfilen automatisk fra dine spildepoter. Hvis du kører via IDE'en, og spillet er installeret, vil Steam også anvende handlingsmanifestfilen fra dine Steam-depoter. Hvis du dog kører uden at have spillet installeret i Steam, eller hvis du har lokale ændringer, der skal foretages, så kan du tilsidesætte stien til handlingsmanifestet med API-kaldet SetInputActionManifestPath. Denne tilsidesættelse beholdes i resten af Steam-sessionen. Fra Steamworks-SDK'en er der et eksempel på dens anvendelse:
char rgchCWD[1024];
if ( !_getcwd( rgchCWD, sizeof( rgchCWD ) ) )
{
strcpy( rgchCWD, "." );
}
char rgchFullPath[1024];
#if defined(_WIN32)
_snprintf( rgchFullPath, sizeof( rgchFullPath ), "%s\\%s", rgchCWD, "steam_input_manifest.vdf" );
#elif defined(OSX)
_snprintf( rgchFullPath, sizeof( rgchFullPath ), "%s/steamworksexample.app/Contents/Resources/%s", rgchCWD, "steam_input_manifest.vdf" );
#else
_snprintf( rgchFullPath, sizeof( rgchFullPath ), "%s/%s", rgchCWD, "steam_input_manifest.vdf" );
#endif
SteamInput()->SetInputActionManifestFilePath( rgchFullPath );