В Dagon значительно обновляется система конфигурации. Многие опции из settings.conf я вынес в отдельные конфиги — render.conf и audio.conf. Также наконец-то появилась поддержка переопределения опций в конфигах на разных уровнях фиртуальной файловой системы — то есть, если создать settings.conf в APPDATA/<game>, то в нем можно переопределить опции, заданные в корневом settings.conf в папке с приложением. Корневой конфиг теперь загружается на ранней стадии инициализации, что позволяет задать в нем настройки логгера и вообще переопределить практически все доступные параметры приложения. Можно даже задать кастомные пути к SDL2, SDL2_Image и FreeType, что полезно под Linux.
Список новых опций settings.conf: log.enabled, log.level, log.toStdout, log.file, log.timestampTags, log.levelTags, appDataFolder, window.resizable, window.x, window.y, window.highDPI, vsync, stepFrequency, gl.debugOutput, font.sans, font.monospace, font.size, SDL2.path, SDL2Image.path, FreeType.path. Последние три поддерживают ОС-постфиксы (SDL2.path.windows, SDL2.path.linux), чтобы задавать разные пути в зависимости от платформы. Опции windowWidth, windowHeight, windowTitle заменены на window.width, window.height и window.title.
В dagon:audio внесены исправления для корректной поддержки многоканальных профилей (5.1, 7.1). Количество каналов можно указать в конфиге audio.conf, например для 5.1:
channels: 6;
Но самое крупное обновление — это поддержка дисплеев с высокой плотностью пикселей (HiDPI). Теперь можно создать окно с фреймбуфером больше, чем само окно, задав в конфиге
window.highDPI: 1;
Фактический размер области рисования окна можно узнать через свойства Application.drawableWidth и Application.drawableHeight, а отношение физических пикселей экрана к логическим — через Application.pixelRatio.
На картинке ниже показано, как отличается вывод одного и того же спрайта в обычном режиме (слева) и в HiDPI-режиме (справа).
Большая часть движка уже поддерживает HiDPI из коробки, за исключением HUDRenderer.

