Ca:.rpl
Es un arxiu binari, aquí tens una descripció del seu format.
Contents
Format
Encapçalament
n Bytes | Tipus | Nom | Valor Predeterminat | Comentari |
---|---|---|---|---|
1 | Byte | Version | 0x01 | Versió de la repetició |
4 | Little-endian integer | N/A | 0x12345678 | petita/gran entitat de seguretat |
? | STRING | Level ID | ID del Nivell | |
? | STRING | PlayerName | Nom del jugador | |
4 | Little-endian float | FrameRate | 25 | Rati de fotogrames de la repetició |
4 | Little-endian integer | StateSize | Tamany de la pantalla | |
1 | Boolean | Finished | 0x00 or 0x01 | Nivell finalitzat ? (0x01 = true) |
4 | Little-endian float | FinishTime | Temps total (en segons) |
Esdeveniments
La versió 1 dels .rpl inclou dades dels esdeveniments:
n Bytes | Tipus | Nom | Valor Predeterminat | Comentari |
---|---|---|---|---|
4 | Little-endian integer | InputEventsDataSize | Tamany d'esdeveniments sense comprimir | |
1 | Boolean | N/A | 0x00 or 0x01 | Esdeveniments comprimits? (0x01 = true) |
Si les dades dels esdeveniments estan comprimides:
n Bytes | Tipus | Nom | Valor Predeterminat | Comentari |
---|---|---|---|---|
4 | Little-endian integer | CompressedEventsSize | Tamany d'esdeveniments comprimits | |
CompressedEventsSize | BUFFER | CompressedEvents | Esdeveniments comprimits |
i si les dades no estan comprimides:
n Bytes | Tipus | Nom | Valor Predeterminat | Comentari |
---|---|---|---|---|
InputEventsDataSize | BUFFER | InputEventsData | Esdeveniments sense comprimir |
Trossos
n Bytes | Tipus | Nom | Valor Predeterminat | Comentari |
---|---|---|---|---|
4 | Little-endian integer | NumChunks | Numero de Trossos |
Per a cada Tros :
n Bytes | Tipus | Nom | Valor Predeterminat | Comentari |
---|---|---|---|---|
4 | Little-endian integer | NumStates | Numero de estats del Tros | |
1 | Boolean | N/A | 0x00 or 0x01 | Estan els estats comprimits? (0x01 = true) |
Si les dades del estat estan comprimides:
n Bytes | Tipus | Nom | Valor Predeterminat | Comentari |
---|---|---|---|---|
4 | Little-endian integer | CompressedSize | Tamany dels estats comprimits | |
CompressedSize | BUFFER | Compressed | Estats comprimits |
si les dades dels estats no estan comprimides:
n Bytes | Tipus | Nom | Valor Predeterminat | Comentari |
---|---|---|---|---|
NumStates * StateSize | BUFFER | ChunkData | Estats sense comprimir |
Explicacions
STRINGs estan emmagatzemades en forma similar al Pascal, on el primer byte indica la longitud de la cadena, seguit de la cadena. Fixa't que no hi ha cap marca \0 per senyalar el final de la cadena. I si, això significa que no pot ser mes llarga de 255 caràcters
BUFFERs son les STRINGs sense el primer byte "dient la llargada de la cadena". Fixa't que probablement no hi ha cap marca \0 per senyalar el final del buffer!
Les dades estan comprimides amb el format GZip.
Estats
Per fer
Trossos
Per fer
"States" follow "Serialized bike state". (en MotoGame.h linia ~200)