Documentación de Steamworks
Archivos de manifiestos de acciones

Descripción general

Además de utilizar Steam Workshop para alojar configuraciones, también se puede optar por empaquetar las configuraciones del juego directamente con los repositorios de este. Alojar configuraciones en repositorios de juegos ofrece una serie de beneficios:
  • Las configuraciones oficiales se pueden verificar con Perforce u otras herramientas de control de versiones.
  • La administración de las configuraciones entre diferentes ramas del juego o entre un id. de aplicación público y uno privado es más fácil.
  • Las actualizaciones son atómicas en lugar de realizarse a través de los dos pasos de publicación en Steamworks.

Formato

El archivo de manifiesto de acciones es una extensión del archivo de acciones en el juego que incluye una sección adicional con una lista de configuraciones oficiales separadas por tipo:
"Action Manifest" { "configurations" { } "actions" { } "localization" { } }
Para obtener información sobre las secciones "action" y "localization", consulta el artículo Archivo de acciones en el juego.

Lista de configuración

En la sección de configuración del control, las configuraciones se ordenan por tipo de control y, a continuación, por prioridad de carga. El valor "path" se indica de manera relativa a la ubicación del archivo del manifiesto de acciones en el disco.
"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" { } }

Cadenas de tipos de controles compatibles:

Control de Steam Deckcontroller_neptune
Steam Controllercontroller_steamcontroller_gordon
Xbox 360controller_xbox360
Xbox Onecontroller_xboxone
Control Xbox Elitecontroller_xboxelite
Control de PlayStation 4controller_ps4
Control de PlayStation 5controller_ps5
Control Pro de Nintendo Switchcontroller_switch_pro
Controles genéricoscontroller_generic

Configuración de un archivo de manifiesto de acciones

Hay dos maneras principales de configurar un archivo de manifiesto de acciones: partiendo de cero o utilizando un archivo de acciones en el juego (IGA) ya existente.

Utilizando un archivo IGA ya existente

Paso 1: configuración del modo desarrollador para Steam Input

Antes de editar el Archivo de manifiestos de acciones, debemos activar el modo desarrollador de Steam Input para que podamos exportar configuraciones como desarrolladores y recibir mensajes de error si los cometemos al editar los manifiestos de acciones.

1) Ve al modo Big Picture de Steam ->Ajustes->Sistema y activa el modo desarrollador para Steam.

export_prestep_1.png

2) Ve a la sección de desarrolladores y activa el "Modo de desarrollo de disposiciones de Steam Input".

export_prestep_2.png

Paso 2: guarda una configuración

Si tienes un archivo IGA existente puedes guardar la configuración actual si vas a la pantalla de configuración del control.

1) Selecciona el ícono de engranaje.

export_step_1.png

2) Selecciona "Exportar disposición".

export_step_2.png

3) Selecciona un título y una descripción para tu juego y exporta la configuración.
Recordatorio: Tienes que verificar que hayas configurado tokens de localización en el manifiesto de acciones para cada idioma compatible con tu juego.

Paso 3: busca tu configuración

A continuación, tienes que ejecutar el siguiente URL de Steam para volcar la configuración en la carpeta de documentos específica de tu sistema operativo (p. ej., "Mis documentos" en Windows). URL:

Línea de comandos de Windows
start steam://dumpcontrollerconfig?appid=X
Línea de comandos de Linux
xdg-open steam://dumpcontrollerconfig?appid=X

Copia tanto la configuración como el archivo IGA ya existente en la ubicación deseada dentro de la carpeta del juego.

Paso 4: convierte el archivo IGA en archivo de manifiesto de acciones

Para convertir tu archivo IGA en un manifiesto de acciones, edita el archivo y agrega una sección "configuration" que incluya una entrada para la configuración de control que acabas de exportar. Este es un ejemplo del SDK de Steamworks:
"configurations" { "controller_xboxone" { "0" { "path" "xbox_controller.vdf" } } "controller_steamcontroller_gordon" { "0" { "path" "steam_controller.vdf" } } }

5) Establece la configuración de Steamworks.

Para establecer tu configuración de Steamworks en el sitio de asociados, navega hasta la configuración de Steam Input. A continuación, elige en el menú desplegable "Configuración personalizada (asociada con el juego)" e incluye la ruta donde se encuentra el manifiesto de acciones:

gamebundledconfigdropdown.PNG

Depuración de juegos que utilizan archivos de manifiestos de acciones

Al ejecutar el juego por Steam se extraerá el archivo de manifiesto de acciones automáticamente de los repositorios del juego. Si estás ejecutándolo en un IDE y tienes el juego instalado, Steam también usará el archivo de manifiesto de acciones en tus repositorios de Steam. Por el contrario, si estás ejecutándolo sin tener el juego instalado en Steam, o si tienes cambios locales que necesitas implementar, entonces puedes sobrescribir la ruta del archivo de manifiesto de acciones con la llamada de la API SetInputActionManfiestPath. Esta sustitución será recordada en el resto de la sesión de Steam. Hay un ejemplo de su uso en el SDK de Steamworks:
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 );