zds-booster
🚀 Модифицированный движок ZDSimulator с расширенными возможностями
- Active · last change 9-25-2026
- ★ 1 on GitHub
README

ZDS-Booster
Кинематографичный движок и расширения для ZDSimulator
О проекте • Возможности • Установка • Управление • Конфиги • Поддержка
📖 О проекте
ZDS-Booster — модифицированный DGLEngine.dll для ZDSimulator, который добавляет в симулятор современный графический pipeline, свободную камеру, расширенную информацию в кабине, систему АЛС-ЕН и кучу других возможностей. Никаких внешних зависимостей — просто заменяешь DLL и сразу получаешь всё.
🔗 Базовый, не модифицированный движок (для сравнения и backup): maisvendoo/DGLEngine
✨ Возможности
🎬 Cinematic PostFX render-graphСовременный конвейер пост-эффектов поверх рендера ZDSimulator. Все эффекты переключаются на лету из меню Tier 1 — цветовой пост:
Tier 2 — depth-aware:
|
🎥 Свободная камера (Freecam)
📊 Расширенная кабина (только ЧС7)
🚦 Система АЛС-ЕН (только ЧС7)
🌅 Карусель неба
|
🛠️ Установка
# 1. Резервная копия оригинального DLL
copy DGLEngine.dll DGLEngine_backup.dll
# 2. Замени DGLEngine.dll на бустер-версию
# 3. Запусти игру — zdbooster.cfg создастся автоматически💡 Все настройки в
zdbooster.cfgсохраняются автоматически из менюF12. Файл можно редактировать руками для тонкого тюнинга.
🎮 Управление
Глобальные хоткеи
| Действие | Хоткей |
|---|---|
| Открыть/закрыть меню | F12 |
| Включить / выключить фрикам | Alt+X |
| World-anchor для фрикама | Alt+Shift+X |
| АЛС-ЕН (только ЧС7) | 137 + Enter |
В режиме фрикама
| Действие | Клавиша |
|---|---|
| Движение | W A S D |
| Подъём / спуск | Space / Ctrl |
| Ускорение (×N) | Shift |
| Поворот камеры | мышь |
Гизмо для редактирования 3D-текстов / картинок (RA-3 кабина)
| Режим | Что делает |
|---|---|
| T (translate) | стрелки X/Y/Z для перемещения |
| R (rotate) | кольца для вращения по осям |
| S (scale) | кубики для масштабирования |
| Shift при drag | snap к шагу (5мм / 5° / 0.05×) |
| Ctrl при drag | precision mode (×0.2) |
| Esc при drag | отмена и откат к началу drag'а |
📁 Структура файлов
ZDSimulator/
????????? DGLEngine.dll # ??? ????????????
????????? zdbooster.cfg # ?????????????? ???????????? (autosave ???? F12)
???
????????? data/<??????_??????>/<??????????>/
??? ????????? loc/ # ?????????????????? ????????????
??? ??? ????????? kolpara_*.dmd
??? ??? ????????? klub_ls_*.dmd # ??????-???? ??????????
??? ??? ????????? strelka_skor.dmd
??? ??? ????????? pisec*.dmd
??? ????????? raildriver/
??? ????????? booster.txt # ??????????-?????????? (???????????? ????7)
??? ????????? custom_texts.cfg # 3D-???????????? ?? ???????????? (per-loco)
??? ????????? custom_images.cfg # 3D-???????????????? ?? ???????????? (per-loco)
???
????????? routes/<??????????????>/
????????? textures/
??? ????????? sky_sunriseDawn.bmp # ???????????????????????????? ??????????????
??? ????????? sky_sunsetTwilight.bmp # ???????????????? ??????????????
??? ????????? sky_sunriseDawn_snow.bmp # ??? ????????
??? ????????? sky_sunsetTwilight_snow.bmp
????????? models/
????????? sky.dmd # ?????????????????????? ?????????? ???????? (?????? ??????????????????)⚙️ Конфигурация
📝 raildriver/booster.txt — отображение элементов в кабине ЧС7
saut: 0 # Отображение данных САУТ
bgsd: 1 # Отображение монитора УСАВПП
stupen: 1 # Отображение уровня ступени🎬 zdbooster.cfg — PostFX render-graph (autosave)
# Master
postfx: 1 # 0/1 — весь PostFX-chain (если 0 → fallback на старый Bloom + FXAA)
# Tier 1 — цвет
fxaa: 1 # FXAA 3.11
bloom: 1 # HDR Bloom
tonemap: 1 # ACES Filmic
sharpen: 1 # CAS sharpening
vignette: 1 # виньетирование
grain: 1 # film grain
# Tier 2 — depth-aware
ssao: 1 # SSAO (требует depth)
fog: 0 # атмосферная дымка
dof: 0 # depth of fieldКаждый toggle живой — переключаешь и сразу видишь результат. Master-toggle postfx: 0 отрубает весь chain и возвращает старый Bloom + FXAA fallback.
📍 custom_texts.cfg / custom_images.cfg — пользовательские 3D-объекты в кабине (per-loco)
Любой текст из KLUB-данных (скорость / давление / координаты / время / лимиты) или произвольную BMP/JPG/TGA картинку можно разместить 3D в кабине через DevEditor (F12 → Locomotive → «Open Full Dev Editor»).
Редактор поддерживает:
- gizmo translate / rotate / scale
- ввод чисел руками в ячейки
- per-loco сохранение (своя конфигурация для каждого
<тип_лок>/<номер>) - magenta-key прозрачность ($FF00FF) для картинок
⚠️ Важно: Расширенная информация в кабине и АЛС-ЕН (HookKLUB) работают только на ЧС7 (тип 822). Все остальные функции (фрикам, PostFX, новое небо, кастомные 3D-объекты, гизмо) работают на всех локомотивах.
🐛 Диагностика
Все сообщения движка пишутся в DGLEngine_Log.txt рядом с игрой.
HookKLUB не работает
В логе должно быть:
Hook activated for locomotive type 822 (CS7)Если нет — используется не ЧС7, или айди локомотива не 822.
Фрикам не активируется
В zdbooster.cfg:
freecam: 1В логе:
Freecam initialized for locomotive type ...Не загружаются кастомные модели
Проверь структуру:
data/chs7/<??????????>/loc/В логе должно быть:
???????????? <????????????????> ??????????????????, ID: <??????????>Не меняются текстуры карусели неба
Должны лежать в routes/<маршрут>/textures/:
sky_sunriseDawn.bmpsky_sunsetTwilight.bmpsky_sunriseDawn_snow.bmp(зима)sky_sunsetTwilight_snow.bmp(зима)
И в zdbooster.cfg:
newsky: 1🔧 Техническая информация
Стек
- IDE: CodeGear Delphi 2007 (
dcc32.exe) - Язык: Object Pascal
- API: OpenGL 1.x + GLSL для PostFX-шейдеров
- Целевая платформа: Windows 10 / 11 (x86)
Методы патчинга
| Техника | Назначение |
|---|---|
VirtualProtect + Move |
Изменение байтов в .text секции Launcher.exe |
| Перехват CALL | Переписывание E8 rel32 на адрес собственной функции в DLL |
| Function pointer hooks | Регистрация Pascal-процедур через RegProcedure (game callback) |
FlushInstructionCache |
Гарантия видимости новых байт CPU после patching |
Что делает бустер с памятью игры
- Расширяет дальность видимости (
gluPerspective(zFar)иfcompdistance constants) - Подавляет сброс камеры при ЛКМ-в-центре когда мышь над кабинными элементами
- Подменяет вызов
DrawSkyна собственную карусель текстур - Хукает
HookKLUB(только ЧС7) для отрисовки расширенной информации - Перехватывает
SetFog/SetCutingPlanesдля тюнинга визуала
⚠️ Все патчи делаются с
VirtualProtect(PAGE_EXECUTE_READWRITE)и автоматически восстанавливаются если соответствующая опция отключена в меню. Для самозащиты — обязательно делай резервную копиюDGLEngine.dllперед заменой.
📞 Поддержка
При возникновении проблем:
- 📋 Проверь
DGLEngine_Log.txt - ⚙️ Убедись что
zdbooster.cfgсодержит нужные тоггл-флаги - 🚂 Для ЧС7 — проверь активацию HookKLUB в логе
- 🐛 Создай Issue с описанием и логом
- 💬 Или напиши в группу VK • RailDriver с приложенным
DGLEngine_Log.txt
📜 Лицензия
GPL-2.0 — свободное ПО, любой может изучать, изменять и распространять. См. LICENSE и LICENSE-Russian.
ZDS-Booster — для энтузиастов железнодорожного моделирования
💜 Поддержать проект • 🚂 VK RailDriver • 🔧 Базовый DGLEngine
HookKLUB работает только на ЧС7 • Все остальное — на всех локомотивах • Made with ☕ in Pascal

