Es:.rpl
Es un archivo binario, aquí tienes una descripción de su formato.
Contents
Formato
Encabezado
n Bytes | Tipo | Nombre | Valor por defecto | Comentario |
---|---|---|---|---|
1 | Byte | Version | 0x01 | Versión de la repetición |
4 | Little-endian integer | N/A | 0x12345678 | Little/big endian de seguridad |
? | STRING | LevelID | ID del Nivel | |
? | STRING | PlayerName | Nombre del Jugador | |
4 | Little-endian float | FrameRate | 25 | Ratio de fotogramas de la repetición |
4 | Little-endian integer | StateSize | Tamanyo del estado | |
1 | Boolean | Finished | 0x00 or 0x01 | Nivel completado ? (0x01 = true) |
4 | Little-endian float | FinishTime | Tiempo total (en segundos |
Eventos
.rpl versión 1 incluye datos de eventos :
n Bytes | Tipo | Nombre | Valor por defecto | Comentario |
---|---|---|---|---|
4 | Little-endian integer | InputEventsDataSize | Tamaño del evento sin comprimir | |
1 | Boolean | N/A | 0x00 or 0x01 | Esta el evento comprimido ? (0x01 = true) |
Si los datos del evento estan comprimidos :
n Bytes | Tipo | Nombre | Valor por defecto | Comentario |
---|---|---|---|---|
4 | Little-endian integer | CompressedEventsSize | Tamaño de los datos comprimidos | |
CompressedEventsSize | BUFFER | CompressedEvents | Eventos comprimidos |
por lo contrario, si no estan comprimidos :
n Bytes | Tipo | Nombre | Valor por defecto | Comentario |
---|---|---|---|---|
InputEventsDataSize | BUFFER | InputEventsData | Eventos sin comprimir |
Trozos
n Bytes | Tipo | Nombre | Valor por defecto | Comentario |
---|---|---|---|---|
4 | Little-endian integer | NumChunks | Numero de trozos |
Para cada trozo :
n Bytes | Tipo | Nombre | Valor por defecto | Comentario |
---|---|---|---|---|
4 | Little-endian integer | NumStates | Numero de estados del trozo | |
1 | Boolean | N/A | 0x00 or 0x01 | Estan los estados comprimidos ? (0x01 = true) |
Si los estados estan comprimidos :
n Bytes | Tipo | Nombre | Valor por defecto | Comentario |
---|---|---|---|---|
4 | Little-endian integer | CompressedSize | Tamaño de los estados comprimidos | |
CompressedSize | BUFFER | Compressed | Estados comprimidos |
y si no estan comprimidos :
n Bytes | Tipo | Nombre | Valor por defecto | Comentario |
---|---|---|---|---|
NumStates * StateSize | BUFFER | ChunkData | Estados sin comprimir |
Algunas Explicaciones
Las cadenas estan guardadas en formato Pascal, donde el primer tells indica la longitud de la cadena, seguido de la cadena en question. Fijate que no existe ninguna marca \0 para anunciar el final de la cadena. Y si, esto quiere decir que la longitud de la cadena no puede superar los 255 caracteres.
Los BUFFERs son como las STRINGs pero sin el primer "anunciando la longitud de la cadena". Fijate que posiblemente no haya la marca tailing \0 al final del buffer !
Los datos comprimidos estan en formato GZip.
Estados
TODO
Trozos
TODO
"States" follow "Serialized bike state". (in MotoGame.h line ~200)