{"id":4098,"url":"\/distributions\/4098\/click?bit=1&hash=4a2746815553d402e055c9b00a2035b35e47c0edcda5fd7253d5e57f885e8ecc","title":"\u0410\u0444\u0435\u0440\u0438\u0441\u0442\u043a\u0430, \u0440\u0435\u0431\u0451\u043d\u043e\u043a \u0438 \u043f\u0430\u043d\u043a \u2014 \u0447\u0442\u043e \u043e\u0434\u0435\u0436\u0434\u0430 \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0430\u0445?","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"e6048338-fd6d-53fa-aaf4-387384748bf7"}

[Техпоп] Что такое «Семантическое Версионирование» или почему с обновлением BSIPA до 4.0.2 сломались моды для Beat Saber

На днях Beat Saber обновился до 1.8.0, а BSIPA (библиотека, которая добавляет моды в игру) — до 4.0.2. Вероломно. Без объявления войны. Сломали мои моды.

На самом деле, в самой игре серьезных изменений для модов не было, весь сок в обновлении BSIPA. Прошлая версия была 3.13.7, а новая — 4.0.2. Изменение первой цифры с 3 на 4 означает, что изменения были критическими, поэтому не удивительно, что старые моды внезапно отвалились.

Если вы не знаете, что такое BSIPA, то про это можно прочитать в моем лонге. Там много сложных и интересных букв, которые, правда, не обязательны для понимания этого текста. Если коротко, то BSIPA взламывает Beat Saber и добавляет туда поддержку пользовательских модов.

Семантическое Версионирование

Семантическое Версионирование (Semantic Versioning или же просто SemVer) — это стандарт для нумерации версий программ. И игр, они же тоже программы. По этому стандарту в номере версии должно быть три цифры: мажорная, минорная и патч — например, 3.13.7.

  • Мажорная версия (major) — серьезные изменения. Например, переписали формат уровней, и теперь все новые уровни не будут загружаться в старой версии. Про такие изменения говорят, что они «без обратной совместимости».
  • Минорная версия (minor) — обычные такие, рядовые изменения. Новое меню добавили, новый пак уровней, новые анимации, новый контент. Это изменения «с обратной совместимостью».
  • Патч-версия (patch) — просто исправление багов или небольшие внутренние изменения. В самой игре ничего не меняется, большинство игроков даже не заметят, что игра обновилась.

Получается, обновление BSIPA с 3.x.x до 4.x.x — это мажорное обновление. СемВер удобен тем, что достаточно посмотреть на номер версии, чтобы понять, что твои моды для BSIPA 3 обречены.

И оказалось, что да, так и есть. В BSIPA 3 чтобы сделать мод, нужно было написать класс с интерфейсом IBeatSaberPlugin, а в BSIPA 4 они вообще удалили IBeatSaberPlugin. Теперь вместо интерфейса там используются атрибуты класса ([Plugin]) и методов ([OnStart] и [OnExit]).

0
Комментарии
-7 комментариев
Раскрывать всегда
null