Es:players.bin
Este archivo, en Windows lo encontraras en el directorio de instalación. Y en los demás sistemas Unix en ~/.xmoto, contiene información sobre los perfiles de los jugadores y sus récords asociados. Originalmente también soportaba los niveles "Saltados" como Elasto Mania, asi que hay cierta información que no se utiliza. Es un archivo binario, a continuación tienes una descripción de su formato.
Formato
2 bytes: 0x0012 (VERSION) # indica la versión del formato de el archivo, ha sido 0x0012 desde
# Xmoto versión 0.1.9
4 bytes (NUMPROFILES) # numero de perfiles de jugadores, little-endian integer
A esto le sigue una entrada para cada perfil de usuario:
STRING (PLAYERNAME) # nombre del jugador (mira a continuación) 4 bytes (COMPLETED) # numero de niveles completados, little-endian integer 4 bytes (SKIPPED) # numero de niveles saltados, little-endian integer
Para cada nivel completado:
STRING (COMPLEVEL) # ID del nivel completado
Para cada nivel saltado:
STRING (SKIPLEVEL) # ID del nivel saltado
Entonces hay muchas entradas, cada una describe una entrada en la tabla de mejores tiempos:
STRING (LEVEL) # ID del nivel al cual hace referencia la entrada STRING (REPLAY) # nombre de la repetición (no se utiliza para nada) STRING (TIMESTAMP) # Hora y Fecha del mejor tiempo 4 bytes (TIME) # Tiempo total en segundos, little-endian float
Si la cadena de la ID de un nivel tiene longitud cero, no habrá mas entradas siguientes. A esto le seguirá el siguiente perfil de jugado, y continuara.
Las cadenas están almacenadas en forma similar al Pascal (no es que me guste el lenguaje sino la forma en la que almacena las cadenas :P), el primer byte indica la longitud de la cadena, seguido de la cadena en concreto. Fíjate que no hay ninguna marca\0 para señalar el final de cada cadena. I si, esto significa que no puede ser mas larga de 255 caracteres.