Es:.rpl

From X-Moto
Jump to: navigation, search

English - Català

Es un archivo binario, aquí tienes una descripción de su formato.

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)

Lee También