RAD Debugger

Очень интересный проект от Epic Games — визуальный отладчик под x64, работающий с файлами PDB. Оказалось, что отлично совместим с D, так как windows-версии компиляторов как раз и выдают отладочную инфу в этом формате. Показывает не просто функцию, в которой произошло исключение, но и прямо конкретное его место в коде.

https://github.com/EpicGamesExt/raddebugger

dlib 1.4.0

На днях вышла новая версия dlib — в нее вошли новые модули, которые изначально были частью Dagon:

  • dlib.memory.arena — универсальный арена-аллокатор;
  • dlib.container.spscqueue — SPSC-очередь для межпоточного взаимодействия;
  • dlib.container.mappedlist — список с символьным доступом к элементам.

Также добавлена новая функция wrapAngle в dlib.math.utils. Matrix.isAffine, Matrix.inverse, Matrix.getColumn, Quaternion.toMatrix4x4, Quaternion.toMatrix3x3 помечены как const.

Dagon 0.36.0

Вышла новая версия движка — скорее всего, это последний релиз в 2025 году.

Добавлен новый тип событий EventType.HardwareSpecific для поддержки кастомных устройств ввода. Это событие не имеет определенной спецификации — данные события зависят от типа устройства. Обработчик события, onHardwareSpecificEvent, принимает индекс устройства, пользовательский код и непрозрачный указатель void*, по которому могут быть любые данные.

Добавлен EventManager.tmpHeap — арена-аллокатор для короткоживущих объектов (строк, массивов и структур, создаваемых для событий). Он сбрасывается, когда обработаны все пользовательские события.

EventDispatcher.onUserEvent теперь принимает вторым параметром указатель void* для пользовательских данных.

Реализован новый класс приложений BaseGame, который не включает рендер, но включает управление сценой. Game теперь наследует от него. Renderer теперь принимает объект Application в конструкторе для потенциально более глубокой интеграции рендера с приложением.

Добавлено новое расширение dagon:openvr, реализующее базовую поддержку гарнитур виртуальной реальности через API OpenVR. Поддерживается синхронизация с HMD и отправка текстур для вывода. К сожалению, стандартный рендер-пайплайн Dagon в настоящее время несовместим с VR, он для этого нуждается в серьезной переделке. Для тестов в расширении реализован простейший StereoRenderer. Подробности о том, как работать с VR, вскоре будут в отдельном посте.