Esta es una página de documentación para el formato de archivo .bk2, diseñado para y usado por el emulador BizHawk. Este formato es un reemplazo del anterior formato .bkm, el cual se usaba hasta la versión 1.7.2.
Archivo ZIP
El archivo .bk2 es prácticamente un archivo formato zip (y puede abrirse como uno, como se puede observar en la imagen). El archivo contiene datos del archivo de película divido en varios archivos de texto o json (codificados en UTF-8).
Archivos archivados
Encabezado (Header.txt)
Este archivo tiene datos importantes de la película en sentido "clave-valor". Estos son ejemplos:
- MovieVersion (versión de la película, "BizHawk v2.0.0" en BizHawk 2.8)
- rerecordCount (conteo de re-grabaciones)
- Author (autor/autores de la película)
- emuVersion (versión del emulador)
- Platform (plataforma)
- GameName (nombre del juego, usualmente según la base de datos No-Intro)
- SHA1 (verificación de hash, también puede ser CRC-32 o MD5)
- Core (nombre del núcleo usado por BizHawk)
- StartsFromSavestate (en caso de que empiece por estado de guardado)
Si en el archivo de texto existe la línea con "StartsFromSavestate", este se establecerá como "true" aunque esté marcado con "false" (es decir, su valor no importa, el solo existir lo marca como "true").
Registro de entrada (Input Log.txt)
Como dice el nombre, contiene el registro de los botones presionados cada fotograma.
El contador de fotograma se calcula contando el número de líneas que empiezan por "|".
La primera línea es una guía para el usuario para leer el registro, ya que enlista en orden cada botón de las líneas de fotogramas. Esto significa que el emulador ignora esta línea, ya que solo es usado para ayudar al usuario, no al emulador, por lo tanto editarlo o eliminarlo no tendrá ningún efecto a la película.
Todas las líneas que empiezan por "|" son fotogramas, y es importante no borrar nada. Los botones se representan por un caracter, si es un punto ("."), no está presionado y cualquier otro caracter lo tomará como presionado. Los caracteres usados por el emulador que no sean "." son solo puestos para que el usuario pueda leerlos, ya que como mencionado antes, cualquier caracter que no sea un punto será tomado como botón presionado.
Los controles analógicos se representan por un número de 5 dígitos fijos (los espacios cuentan como dígitos), seguidos de comas.
Otro uso de los "|", cuando no comienzan una línea, representa un separador lógico entre controles o periféricos.
El orden de los botones obviamente varía entre la plataforma y las configuraciones de controles.
Comentarios (Comments.txt)
Archivo reservado para comentarios escritos por el autor (o autores) de la película, ignorado por el emulador durante la reproducción de la película.
Subtítulos (Subtitles.txt)
El archivo consiste de subtítulos (si los hay) que siguen el siguiente formato:
subtitle fotograma posiciónX posiciónY duración color texto
-
subtitle
es simplemente el texto "subtítulo" en inglés, no debe ser modificado, de lo contrario la línea será ignorada. -
fotograma
es el número de fotograma en que el subtítulo empezará a aparecer en la ventana del emulador. -
posiciónX
posición a partir del extremo izquierdo de la ventana del emulador (mientras mayor el número, estará más a la derecha). -
posiciónY
posición a partir del extremo superior de la ventana del emulador (mientras mayor el número, estará más abajo). -
duración
es la duración (en fotogramas) en que se mostrará el subtítulo (NO es el último fotograma en que el subtítulo estará visible) -
color
es el color del subtítulo en formato hexadecimal en sentido AARRGGBB. -
text
es el texto del subtítulo, a partir de aquí todo lo escrito será tomado como el texto que aparecerá en pantalla, el texto acaba en la siguiente línea (CR+FL).
Por ejemplo, para escribir un "Hola mundo!" (las comillas no son necesarias) que se mostrará desde el fotograma 210 hasta el fotograma 1212 (duración=1002) en la posición X=200 Y=100 de color morado, la línea sería la siguiente:
subtitle 210 200 100 1002 FFFF00FF Hola mundo!
Configuración de sincronización (SyncSettings.json)
El emulador cargará y aplicará este archivo configuración con ajustes del emulador que son necesarios para que la película sincronice. Otras configuraciones son normalmente ignoradas (no cambiadas/aplicadas).
Estado de guardado (normalmente Core.bin)
If this file exists, it is a savestate-anchored movie. This state will be loaded when the movie is loaded.
Si este archivo existe, la película inicia por un estado de guardado, el cual será cargado junto con la película para su reproducción. Usualmente también incluye un archivo "Framebuffer.bmp".