Steamworks-dokumentation
Handlingsmanifestfiler

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-controllercontroller_neptune
Steam Controllercontroller_steamcontroller_gordon
Xbox 360controller_xbox360
Xbox Onecontroller_xboxone
Xbox One Elite-controllercontroller_xboxelite
PlayStation 4-controllercontroller_ps4
PlayStation 5-controllercontroller_ps5
Nintendo Switch Pro-controllercontroller_switch_pro
Almindelig gamepadcontroller_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

export_prestep_1.png

2) Gå til udviklersektionen og aktiver "Steam Input-layout – Udviklertilstand"

export_prestep_2.png

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

export_step_1.png

2) Vælg "Eksporter layout"

export_step_2.png

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:

gamebundledconfigdropdown.PNG

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 );