Повод: 1.4.1 на игре 3.3.0 experimental не смогла прочитать Пространственное хранилище (Bag переписан) и при сохранении записала пустой маркер - вещи пропали навсегда. GameVersionGuard: версия из Constants.cVersionInformation (не из const cVersionMinor - та вшивается в DLL), поддерживается Major 3 и Minor/10 == 2, то есть любая 3.2.x. На другой версии в главном меню окно «мод несовместим, обновите» с единственной кнопкой «Выйти из игры» (решение пользователя), а вместо PatchAll ставятся по отдельности только окно и четыре патча сохранения хранилища. Всё, чем пользуется защита, сверено с декомпиляцией 3.3. Хранилище: непрочитанные байты (чужая версия или упавший разбор) проходят Read -> ToPlayer -> FromPlayer -> Write нетронутыми, ключ - entityId, сброс при открытии главного меню (последнее сохранение игрока делается раньше, внутри SaveAndCleanupWorld - проверено по коду игры). Пока байты не прочитаны, хранилище не открывается и не пополняется, с подсказкой. Проверено в игре на 3.2 через отладочные файлы FORCE_VAULT_UNREAD и FORCE_VERSION_GUARD (в .gitignore, в архив не попадают): 603 байта хранилища прошли сохранение и прочитались обратно совпадающими с исходными (26 ячеек, 24 предмета); окно появляется, Esc его не закрывает, кнопка закрывает игру. На настоящей 3.3 не проверено. Localization: 4 новых ключа на 13 языках, всего 165; README - статус и число ключей (было 149). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
120 KiB
120 KiB