.osr es un formato de archivo que contiene información sobre una repetición de osu!. Para usarlo, se necesita el beatmap especificado por el archivo en la carpeta «Songs».
Nombre | Bytes | Descripción |
---|---|---|
Byte | 1 | Un único valor de 8 bits. |
Short | 2 | Un valor little endian de 2 bytes. |
Entero | 4 | Un valor little endian de 4 bytes. |
Long | 8 | Un valor little endian de 8 bytes. |
LEB128 | Variable | Un entero de longitud variable. Véase LEB128. |
Cadena | Variable | Tiene tres partes; un solo byte que será 0x00, que indica que las dos partes siguientes no están presentes, o 0x0b (11 decimal), que indica que las dos partes siguientes están presentes. Si es 0x0b, habrá un ULEB128, que representa la longitud en bytes de la siguiente cadena, y luego la cadena en sí, codificada en UTF-8. Véase UTF-8 |
Los desplazamientos de bytes no se incluyen en esta tabla debido a los valores de longitud variable.
Tipo de dato | Descripción |
---|---|
Byte | Modo de juego de la repetición (0 = osu! Standard, 1 = Taiko, 2 = Catch the Beat, 3 = osu!mania) |
Entero | Versión del juego cuando se creó la repetición (por ejemplo, 20131216) |
Cadena | HashMD5 del beatmap de osu! |
Cadena | Nombre del jugador |
Cadena | Hash MD5 de la repetición de osu! (incluye ciertas propiedades de la repetición). |
Short | Número de 300s |
Short | Número de 100s en standard, 150s en Taiko, 100s en CTB, 100s en mania |
Short | Número de 50s en standard, frutas pequeñas en CTB, 50s en mania |
Short | Número de Gekis en standard, Max 300s en mania |
Short | Número de Katus en standard, 200s en mania |
Short | Número de fallos |
Entero | Puntuación total mostrada en el informe de la puntuación |
Short | Mayor combo mostrado en el informe de la puntuación |
Byte | Combo perfecto/completo (1 = sin fallos, sin sliders rotos y sin sliders terminados antes de tiempo) |
Entero | Mods usados. Véase a continuación la lista de valores de los mods. |
Cadena | Gráfico de la barra de vida: pares u/v separados por comas, donde u es el tiempo en milisegundos en la canción y v es un valor en coma flotante de 0 o 1 que representa la cantidad de vida que tienes en el momento dado (0 = la barra de vida está vacía, 1 = la barra de vida está llena) |
Long | Marca de tiempo (Pasos de Windows) |
Entero | Longitud en bytes de los datos comprimidos de la repetición |
Byte Array | Datos de la repetición comprimidos |
Long | ID de la puntuación en línea |
Double | Información adicional sobre los mods. Solo presente si Target Practice está activado. |
Información adicional de los mods:
Mod | Información almacenada |
---|---|
Target Practice | Precisión total de todos los golpes. Divide esto por la cantidad de objetivos en el mapa para encontrar la precisión que se muestra en el juego. |
Los datos restantes contienen información sobre el movimiento del ratón y las pulsaciones de teclas en una cadena LZMA.
Cuando se descomprime, el texto contiene datos separados por comas. Cada pieza denota una acción, representada por 4 números en la forma: w | x | y | z.
Parte | Tipo de dato | Descripción |
---|---|---|
w | Long | Tiempo en milisegundos desde la acción anterior |
x | Float | Coordenadas x del cursor de 0 a 512 |
y | Float | Coordenadas y del cursor de 0 a 384 |
z | Entero | Combinación bit a bit de teclas/botones del ratón presionados (M1 = 1, M2 = 2, K1 = 4, K2 = 8, Smoke = 16) (K1 siempre se usa con M1; K2 siempre se usa con M2: 1+4=5; 2+8=10) |
En las repeticiones creadas en la versión 20130319
o posteriores, la semilla RNG entera de 32 bits usada para la puntuación se codificará en un cuadro de adicional de la repetición al final de la cadena LZMA, con el formato -12345|0|0|seed
.
Como se ven en la API de osu!.
Mod | Valor (BitOffset) | Comentario |
---|---|---|
None | 0 | |
NoFail | 1 (0) | |
Easy | 2 (1) | |
TouchDevice | 4 (2) | Reemplaza al mod NoVideo no usado |
Hidden | 8 (3) | |
HardRock | 16 (4) | |
SuddenDeath | 32 (5) | |
DoubleTime | 64 (6) | |
Relax | 128 (7) | |
HalfTime | 256 (8) | |
Nightcore | 512 (9) | Siempre usado con DT: 512 + 64 = 576. Reemplaza al mod Taiko no usado |
Flashlight | 1024 (10) | |
Autoplay | 2048 (11) | |
SpunOut | 4096 (12) | |
Relax2 | 8192 (13) | Autopilot |
Perfect | 16384 (14) | |
Key4 | 32768 (15) | |
Key5 | 65536 (16) | |
Key6 | 131072 (17) | |
Key7 | 262144 (18) | |
Key8 | 524288 (19) | |
keyMod | 1015808 | k4+k5+k6+k7+k8 |
FadeIn | 1048576 (20) | |
Random | 2097152 (21) | |
LastMod | 4194304 (22) | Cinema |
TargetPractice | 8388608 (23) | Solo en osu!cuttingedge |
Key9 | 16777216 (24) | |
Coop | 33554432 (25) | |
Key1 | 67108864 (26) | |
Key3 | 134217728 (27) | |
Key2 | 268435456 (28) | |
ScoreV2 | 536870912 (29) | |
Mirror | 1073741824 (30) |