Documentación de Steamworks
Archivos de manifiestos de acciones

Introducción

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. Hacer esto último ofrece una serie de ventajas:
  • 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 mando/control, las configuraciones se ordenan por tipo de mando/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 mandos/controles compatibles:

Mando/Control de Steam Deckcontroller_neptune
Steam Controllercontroller_steamcontroller_gordon
Xbox 360controller_xbox360
Xbox Onecontroller_xboxone
Mando/Control Xbox Elitecontroller_xboxelite
Mando/Control de PlayStation 4controller_ps4
Mando/Control de PlayStation 5controller_ps5
Mando/Control Pro de Nintendo Switchcontroller_switch_pro
Mandos/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 del manifiesto de acciones, tenemos que activar el modo desarrollador de Steam Input para poder exportar las configuraciones como si fuéramos el desarrollador y recibir mensajes de error si cometemos errores al editar el manifiesto de acciones.

1) Ve a «Modo Big Picture» > «Parámetros» > «Sistema» y activa el modo desarrollador para Steam.

export_prestep_1.png

2) Ve a la sección de desarrollador y activa el «Modo de desarrollo de disposiciones de Steam Input».

export_prestep_2.png

Paso 2: guarda la configuración

Si tienes un archivo IGA, puedes guardar la configuración actual en la pantalla de configuración del mando.

1) Selecciona el icono del engranaje.

export_step_1.png

2) Selecciona «Exportar disposición».

export_step_2.png

3) Elige un título y una descripción para tu juego y exporta la configuración.
Recordatorio: comprueba que has configurado tokens de localización en el manifiesto de acciones para cada idioma disponible en tu juego.

Paso 3: busca tu configuración

A continuación, ejecutarás el siguiente URL de Steam para volcar la configuración en la carpeta de documentos específica de tu sistema operativo (p. ej., «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 la configuración y 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 añade una sección «configuration» que incluya una entrada para la configuración de mando/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" } } }

Paso 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, en el menú desplegable, selecciona «Configuración personalizada (incluida con el juego)» e introduce la ruta donde se encuentra el manifiesto de acciones:

gamebundledconfigdropdown.PNG

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

Cuando el juego se ejecute mediante 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 de 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 a la API SetInputActionManfiestPath. Esta sustitución se recordará durante el resto de la sesión de Steam. Este es 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 );