.osr - це формат файлу, який зберігає інформацію про osu! повтор. Його можливо використати лише якщо карта з повтору є у папці "Songs".
Назва | Кількість байтів | Опис |
---|---|---|
Byte | 1 | Одне 8-бітне значення. |
Short | 2 | 2-байтне значення з порядком від молодшого до старшого. |
Integer | 4 | 4-байтне значення з порядком від молодшого до старшого. |
Long | 8 | 8-байтне значення з порядком від молодшого до старшого. |
ULEB128 | Змінна | Ціле число змінної довжини. Деталі ULEB128. |
String | Змінна | Складається з трьох частин: одного байта, який матиме значення або 0x00, що вказуватиме на відсутність наступних двох частин, або 0x0b (в десятковій системі - 11), що вказуватиме на наявність двох наступних частин. Якщо це 0x0b, тоді далі йтиме ULEB128, представляючи довжину байтів строки, що йде слідом, і після цього сама строка, закодована у форматі UTF-8. Деталі UTF-8 |
Зсуви байтів не включені в таблицю через значення змінної довжини.
Тип даних | Опис |
---|---|
Byte | Ігровий режим повтору (0 = osu! Standard, 1 = Taiko, 2 = Catch the Beat, 3 = osu!mania) |
Integer | Версія гри, в якій створено повтор (наприклад, 20131216) |
String | MD5 хеш бітмапи osu! |
String | Нікнейм гравця |
String | MD5 хеш повтору osu! (включаючи певні властивості повтору) |
Short | Кількість 300 |
Short | Кількість 100 в стандарті, 150 в тайко, 100 у КТБ, 100 в манії |
Short | Кількість 50 в стандарті, маленьких фруктів у КТБ, 50 в манії |
Short | Кількість Гекі в стандарті, Максимальних 300 в манії |
Short | Кількість Кату в стандарті, 200 в манії |
Short | Кількість промахів |
Integer | Загальний рахунок, що відображається в звіті про скор |
Short | Найбільше комбо, що відображається в звіті про скор |
Byte | Ідеально/повне комбо (1 = немає промахів, слайдербрейків та зарано доведених слайдерів) |
Integer | Використані моди. Нижче вказанмй список значень для кожного мода. |
String | Графік індикатора життя: розділені комою пари u/v, де u - це час в мілісекундах з початку пісні, а v - значення з плаваючою комою в діапозоні від 0 до 1, що відображає кількість життя в конкретний момент часу (0 = індикатор життя пустий, 1 = індикатор життя повний) |
Long | Позначка часу (Windows такти) |
Integer | Довжина стиснутих даних повтору в байтах |
Byte Array | Стиснуті дані повтору |
Long | ID онлайн-скору |
Double | Додаткова інформація про моди. Наявна тільки якщо мод Target Practice активний. |
Додаткова інформація про моди:
Мод | Збережена інформація |
---|---|
Target Practice | Загальна точність всіх попадань. Розділивши це на кількість об'єктів на карті, можна дізнатись точність, відображену в грі. |
Дані, що залишились, зберігають інформацію про рухи миші й натискання клавіш в потоці LZMA.
При декомпресії текст, що зберігає дані, розділяється комами. Кожна ділянка позначає дію, що представлена 4-ма числами в такій формі: w | x | y | z.
Частина | Тип даних | Опис |
---|---|---|
w | Long | Час після попередньої дії в мілісекундах |
x | Float | x-координата курсору від 0 до 512 |
y | Float | y-координата курсору від 0 до 384 |
z | Integer | Побітова комбінація натискань клавіш/кнопок миші (М1 = 1, М2 = 2, К1 = 4, К2 = 8, Дим = 16) (К1 завжди використовується з М1; К2 завжди використовується з М2: 1+4=5; 2+8=10) |
На повторах, зроблених у версії гри 20130319
або пізніше, 32-бітне ціле число RNG seed, яке використовується для рахунку, буде закодовано в додатковий кадр повтору в кінці потоку LZMA в такому форматі: -12345|0|0|seed
.
Взято з osu! API.
Мод | Значення (Бітове зміщення) | Коментар |
---|---|---|
None | 0 | |
NoFail | 1 (0) | |
Easy | 2 (1) | |
TouchDevice | 4 (2) | Заміщає мод NoVideo, який не використовується |
Hidden | 8 (3) | |
HardRock | 16 (4) | |
SuddenDeath | 32 (5) | |
DoubleTime | 64 (6) | |
Relax | 128 (7) | |
HalfTime | 256 (8) | |
Nightcore | 512 (9) | завжди використовується з DT: 512 + 64 = 576 |
Flashlight | 1024 (10) | |
Autoplay | 2048 (11) | |
SpunOut | 4096 (12) | |
Relax2 | 8192 (13) | Автопілот |
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) | Кінотеатр |
TargetPractice | 8388608 (23) | тільки для osu!cuttingedge |
Key9 | 16777216 (24) | |
Coop | 33554432 (25) | |
Key1 | 67108864 (26) | |
Key3 | 134217728 (27) | |
Key2 | 268435456 (28) | |
ScoreV2 | 536870912 (29) | |
Mirror | 1073741824 (30) |