QoL обновление
Это небольшое обновление, но оно улучшает работу с модом и исправляет некоторые баги. Мы также внесли несколько изменений для повышения производительности.
Общие оптимизации
Мы поработали над ускорением и повышением эффективности мода. Одним из значимых изменений стало то, что мы впервые оптимизировали LuaVM. Эти изменения могут быть неочевидными сразу, но вы заметите, что всё работает более плавно, особенно при выполнении сложных задач.
Оптимизация LuaVM
При добавлении поддержки изображений мы использовали одну длинную строку для обработки данных изображений. Это вызывало значительные замедления, особенно с большими изображениями (например, 256x256). Проблема была в интерпретаторе Yueliang для LuaVM, который плохо справлялся с длинными строками.
После оптимизации от VeraDev разница стала колоссальной. Посмотрите на график производительности ниже:
Каждая точка показывает тест на чтение строки размером 100 КБ.
Как вы можете видеть, это значительное улучшение. Теперь можно хранить и обрабатывать большие объёмы данных, не замедляя работу компьютера. (До тех пор, пока Scrap Mechanic не испортит их)
Полуавтоматическая подсветка синтаксиса
Мы добавили Полуавтоматическую подсветку синтаксиса для компьютера в игре. Это значительно облегчает чтение и понимание вашего кода.
Подсветка синтаксиса работает автоматически во время набора текста, но из-за игровых ограничений она работает только при вводе текста в конце всего кода. Вы можете вручную обновить подсветку, нажав на кнопку.
Подсветка синтаксиса также помогает быстрее находить ошибки. Взгляните на этот пример:
Строка с ошибкой становится красной, а связанные с ней функции отображаются тёмно-красным. Это значительно упрощает поиск и исправление ошибок.
Поддержка перевода
Мы добавили LanguageManager, так что теперь вы можете добавлять переводы в мод. Вы можете добавить любой язык, даже тот, который не поддерживается Scrap Mechanic. Однако некоторые шрифты могут не работать, если игра их не поддерживает, особенно для нелатинских языков.
Примечание: Это не работает для описаний в инвентаре, т.к они хранятся в формате JSON, а мы не можем измен ять их с помощью Lua.
Аддоны теперь могут добавлять примеры
(Для разработчиков аддонов)
Мы добавили ExampleManager, он позволяет разработчикам аддонов добавлять примеры кода в компьютер. Это простая функция, позволяющая пользователям легче освоить использование ваших аддонов.
Новые шрифты
В этом обновлении мы добавили новые шрифты. Хотя 4 старых шрифта были удалены, мы добавили 5 новых. 4 из них взяты из Minecraft, а последний — это кастомный шрифт от VeraDev, предназначенный для небольших экранов.