# Список изменений [English](../.github/CHANGELOG.md) | Русский Полный список изменений проекта _IX-Ray_ 1.6 ## Версия 1.2.3 (Сентябрь 2025) ### Общие изменения - Исправлена сборка с обновленным компилятором Visual Studio (@ForserX) - Исправлен запуск на Linux (@wasertech) - Обновлен стандарт компилятора до последней версии (@ForserX) - Обновлен NVIDIA DLSS до версии 310.4 (@ForserX) - Обновлены пайплайны (@Drombeys, @dependabot[bot]) - Обновлен основные документы (@Drombeys) ### Движок - Добавлены новые псевдонимы для стандартных контейнеров (@Drombeys) - Добавлена поддержка интро локаций из SoC/CS (@Drombeys) - Отключена избыточная проверка ограничителей (@Drombeys) - Расширение регистрации ошибок в Lua (@Drombeys) - Расширение регистрации в методе `build_level_path` (@Drombeys) - Расширение поддержки стека трассировки для luabind (@ForserX) - Исправление сбоя для юнитов в недопустимых положениях за пределами AI-Map (@ForserX) - Реализация fast_dynamic_cast без исключений для релизных сборок (@v2v3v4) - Реализована нефатальная инициализация XML (@St4lker0k765) - Реализовано обнаружение Wine и Proton (@ForserX) - Улучшено сообщение об ошибке отсутствия шрифта (@St4lker0k765) - Оптимизирован алгоритм поиска `ILevelGraph` (@ForserX) - Оптимизирована реализация парсинга рестрикторов (@Drombeys) - Удален мертвый код (@ForserX) - Удалены ненужные сообщения консоли и отрефакторен код (@v2v3v4) ### Геймплей - Добавлено сохранение и загрузка топлива (@ForserX) - Добавлена проверка безопасности для метода `CUIGameCustom::Render()` (@Drombeys) - Применен параметр `use_condition` для ножа и бинокля (@Drombeys) - Исправлена реализация `osoznanie mode` (@St4lker0k765) - Исправлены проблемы со стабильностью A-Life (@St4lker0k765) - Исправлена неработающая музыкальное зацикливание в главном меню (@St4lker0k765) - Исправлена ошибка двойного сжатия иконок предметов в вертикальных слотах (@SergeiTeplov) - Исправлена реализация стака предметов (@Shtrecker) - Исправлен сбой nullptr в объекте ALife и операциях с инвентарем (@hkuprin) - Исправлены цветовые значения статистики КПК (@St4lker0k765) - Исправлено распространение громкости звука от источника к игроку (@Peter, @v2v3v4) - Исправлен механизм блокировки пользовательского интерфейса (@FFx0001) - Реализовано сохранение состояния инвентаря и КПК (@St4lker0k765) - Реализовано создание точек/меток без описания (@Graff46) - Удалена система пакетов оружия (@Shtrecker) ### Графика (рендеринг, шейдеры) - Исправлена совместимость DXVK с D3D11 (@ForserX) - Исправлена быстрая загрузка геометрии теней (@SkyLoaderr) - Исправлено отображение партиклов на R4 (@Hozar2002) - Реализован эффект искажения HUD карты (@Drombeys) - Реализована проверка THM (@ForserX, @Drombeys) - Реализовано потокобезопасное вычисление костей (@v2v3v4) - Оптимизирована загрузка частиц с резервированием памяти (@v2v3v4) ### Набор инструментов (внутриигровые инструменты, редакторы) - Исправлена реализация метода `add_mp_stuff` (@Drombeys) - Исправлено пропускание текстур BC7 в редакторах (@ForserX) - Исправлена загрузка детейлов в редакторах (@ForserX) - Исправлено отсутствие вывода имени THM при компиляции спавна (@mnelenpridumivat) - Исправлены действия удаления в `Particle Editor` (@ForserX) - Реализована проверка наличия иконки в Spawn Manager (@Drombeys) ## Выпуск 1.2.2 (Август 2025) ### Общие изменения - Обновлены основные документы (@Drombeys) - DLSS обновлен до версии 310.2.1.0 (@ForserX) ### Движок - Добавлен параметр для скрытия панели отладки (@St4lker0k765, @Drombeys) - Добавлены проверки безопасности для голосового чата (@St4lker0k765) - Настроено масштабирование шрифтов ImGui для дисплеев с высоким разрешением (@ViHtarb) - Исправлено поведение сброса ввода консоли во время выполнения скриптов (@ForserX) - Исправлено дублирование сообщений в отладчике MSVC (@St4lker0k765) - Исправлено сохранение файлов в аддонах (@Drombeys) - Реализовано восстановление недействительных символьных ссылок (@ForserX) - Улучшено логирование ошибок скриптов (@Drombeys) - Удалены избыточные проверки в физике и CDB (@Drombeys) - Принудительно использованы строчные буквы для включения путей в конфигах (@Drombeys) ### Геймплей - Исправлен вылет при отсутствии `hud_step_sound_vol_k` (@St4lker0k765) - Исправлен вылет при отсутствии раздела торговых предметов (@St4lker0k765) - Исправлен вылет при удалении точки на карте (@ForserX) - Исправлено некорректное поведение интерфейса после скрытия (@Shtrecker) - Исправлены проблемы с отображением подсказок в игре (@mnelenpridumivat, @Drombeys) - Исправлено расстояние между буквами в цветном тексте (@ForserX) - Исправлено игнорирование типа рестриктора (@ForserX) - Исправлено вертикальное позиционирование текста в элементах интерфейса (@ViHtarb) - Улучшено форматирование вывода консоли (@ViHtarb) - Улучшено логирование в модуле `Artefact` (@Drombeys) - Улучшено логирование в модуле `Weapon` (@Drombeys) - Улучшено логирование об отсутствующих костях у источников света (@Drombeys) - Восстановлено исходное поведение детекторов (@Shtrecker) ### Графика (рендеринг, шейдеры) - Добавлен хак для яркости спекуляра на r2 (@Drombeys) - Добавлено логирование отсутствующих бампов и текстур детейлов в файле `.thm` (@Drombeys) - Добавлена дополнительная информация об AGS ошибках (@ForserX) - Добавлено логирование ошибок шейдинга (@Drombeys, @Hozar2002) - Применены отражения для луж (@Hozar2002) - Исправлено мерцание геометрии в шейдере lightplane (@ForserX, @Hozar2002) - Исправлен шейдинг с некорректными thm (@Drombeys, @Hozar2002) - Исправлена загрузка несуществующих бампов (@Drombeys) - Исправлено отсутствие символов после рендеринга шрифта (@ForserX) - Исправлено обновление привью сохранения при последующих сохранениях игры (@Drombeys, @Hozar2002) - Улучшено логирование загружаемых текстур (@Drombeys) - Возвращена плавная полоса прогресса загрузки экрана из оригинала (@St4lker0k765) ### Набор инструментов (внутриигровые инструменты, редакторы) - Добавлены исправления текста в редакторах (@St4lker0k765) - Настроено масштабирование `UITopBarForm` для дисплеев с высоким разрешением (@ViHtarb) - Исправлена визуализация последней строки в таблице спавнера (@Drombeys) - Переработано распределение предметов из многопользовательского режима в спавнере (@Drombeys) ## Выпуск 1.2.1 (Июнь 2025) ### Общие - Обновлена публикация на пайплайнах (@Drombeys, @ForserX) - Обновлен основные документы (@Drombeys, @ggGhosTt, @GladiatorVS) ### Движок - Добавлена подсказка для панели отладки (@Drombeys) - Добавлена поддержка межбуквенных интервалов в шрифтах (@Drombeys, @ForserX) - Добавлена поддержка SSE в CRC32 (@v2v3v4) - Удалена статистика памяти в логе (@Drombeys, @St4lker0k765) - Исправлено двойное обновление частиц (@ForserX) - Исправлено получение размера пикселей из строки для китайской локали (@ForserX) - Исправлена генерация луж (@ForserX) - Сделано потокобезопасным `ParticleGroup` (@Drombeys, @v2v3v4) - Конвертация глифов теперь учитывает CP1251, но не ломает Unicode (@Drombeys) - Сделано потокобезопасное отображение UI (@Drombeys, @v2v3v4) - Обновлены манифесты (@Drombeys) ### Геймплей - Добавлена ​​возможность применять глобальный масштаб для XML-текстур (@St4lker0k765) - Добавлена поддержка дополнительных клавиш диалогового окна (@ForserX) - Добавлена проверка на существование кости`shell_bone` (@Drombeys) - Добавлена проверка безопасности для метода `Manager::upgrade_install` (@Drombeys) - Применен нижний регистр для путей в спавнере (@ForserX) - Исправлена работа метода `CharacterCommunity` для мутантов (@Drombeys) - Исправлен потенциальный вылет после интенсивного боя (@St4lker0k765) - Исправлено появление перекрестия при активном загрузочном экране (@St4lker0k765) - Исправлены значения по умолчанию для потребностей персонажа (@Drombeys) - Исправлен выход из диалога после паузы (@Drombeys) - Исправлен размер HD иконок в менеджере спавна (@St4lker0k765) - Исправлена схема перезарядки магазина для класса `CWeaponRG6` (@Shtrecker) - Исправлен фокус прокрутки в списках (@Drombeys, @Hozar2002) - Исправлено смещение текста (@Drombeys) - Исправлена иконка патронов оружия, если включены HD иконки (@St4lker0k765) - Исправлено сворачивание окна для спавн менеджера (@wh1t3lord) - Улучшено логирование ошибок, нарушающих анимацию торса NPC (@Drombeys) - Заблокированы консольные команды `ai_aim_*` (@Drombeys) ### Ресурсы - Исправлено расположение миникарты на широкоформатных мониторах (@OldSerpskiStalker) - Заменен шрифт по умолчанию на `Roboto Condensed` (@hkuprin) - Обновлен игровой сплеш (@GladiatorVS) ## Выпуск 1.2 (Апрель 2025) ### Общие - Добавлены сборочные конвейеры для редакторов и плагинов (@acidicMercury8, @Drombeys) - Добавлен стиль кода для C++ (@acidicMercury8, @Drombeys, @ForserX, @ggGhosTt) - Добавлены пресеты редакторов (@Drombeys, @acidicMercury8) - Добавлен NuGet пакет Optick (@Drombeys) - Добавлен Python скрипт для валидации включений (@ForserX) - Добавлен Python скрипт для UTF-8 кодировки (@ForserX) - Добавлена зависимость на xrGame в xrServer (@ForserX) - Применён рефакторинг для существующих конвейеров (@acidicMercury8) - Конвертирован исходный код в UTF-8 (@ForserX) - Выключен `cximage` проект без флага `IXRAY_MP` (@Drombeys) - Включена упаковка rawdata в сборочном конвейере редакторов (@acidicMercury8, @Drombeys) - Исправлена сборка с обновлённым компилятором Visual Studio (@ForserX, @Drombeys, @St4lker0k765) - Исправлены условия для пресетов плагинов (@acidicMercury8) - Исправлены проблемы кодировки текстов (@ForserX) - Исправлены предупреждения (@Drombeys, @v2v3v4, @ForserX) - Реализована поддержка профилировщика Optick (@ForserX) - Перемещены базовые виджеты в библиотеку xrUI (@ForserX) - Перемещены другие базовые UI виджеты в xrUI (@ForserX) - Переконфигурирован CMake для MSVC (@Drombeys, @ForserX) - Переконфигурировано подключение статических библиотек (@Drombeys) - Переделаны включения в Unix стиле (@ForserX) - Удалены неиспользуемые файлы (@ForserX) - Переключены конвейеры плагинов на цели (@acidicMercury8) - Обновлены документы стиля кода (@ggGhosTt, @acidicMercury8) - Обновлен пакет LuaJIT (@Drombeys, @acidicMercury8) ### Движок - Добавлено чтение `bool` для парсера XML (@ForserX) - Добавлены примитивы синхронизации `pthread` для `Linux` (@ggGhosTt) - Добавлен асинхронный доступ к `ISpatial_DB` (@v2v3v4) - Добавлен пользовательский размер атласа шрифтов (@ForserX) - Добавлено кеширование данных для системы XMLLOverride (@ForserX) - Добавлены конструкторы по умолчанию для математических структур (@ForserX, @moscowlights) - Добавлена поддержка масок для #include в XML-файлах (@Drombeys) - Добавлен новый планировщик объектов (@isoboleskiy) - Добавлен поиск информации о модулях и пользователях для конкретной платформы (@ggGhosTt) - Добавлены маркеры профилировщика (@ForserX, @v2v3v4) - Добавлена поддержка маски для загрузки `*.omf` (@Drombeys) - Отключен `std::terminate` в LuaBind (@v2v3v4) - Отключена библиотека mimalloc (@ForserX) - Включен вывод стека ошибок Lua (@Drombeys) - Улучшено логирование ошибок (@Drombeys) - Исправлена повторная инициализация `actor_menu_item.xml` (@Drombeys) - Исправлена проверка типа RTTI в `IReaderBase` (@ForserX) - Исправлено добавление дочерних элементов в систему XMLLOverride (@Drombeys) - Исправлена порча сохранений (@ForserX) - Исправлена команда отрисовки выделенного сервера (@ForserX) - Исправлено некорректное изменение метода масштабирования изображения (@Hozar2002) - Исправлено сканирование аддонов (@Drombeys) - Исправлено обновление пользовательского интерфейса дважды за кадр (@v2v3v4) - Добавлено игнорирование чтения файлов Markdown (@Drombeys) - Реализована блокировка `xrSRWLock` и `xrSRWLockGuard` (@v2v3v4) - Реализовано редактирование корневых элементов XML (@Drombeys) - Улучшены и стабилизированы LuaBind и LuaJIT (@ForserX) - Улучшена загрузка файлов `*.ltx` по маске (@Drombeys) - Улучшена система XML Expression (@Drombeys, @ForserX) - Кнопка `Continue` по умолчанию в диалоговом окне ошибки (@Drombeys) - Сделано потокобезопасное вычисление костей (@v2v3v4) - Сделан потокобезопасный `ISpatial` компонент (@ForserX) - Оптимизировано использование `EngineExternal` (@Drombeys) - Перенесено сообщение о фатальной ошибке в SDL (@St4lker0k765) - Переработаны шаблоны потоков (@ForserX) - Переписан Agent Manager Planar без Goap (@isoboleskiy) - Переписан алгоритм AStar (@isoboleskiy) - Удалены не синглтон объекты `CStringTable` (@Drombeys) - Заменен символ тире в игровом тексте на символ бесконечности (@St4lker0k765) - Вернуть инициализацию конструктора `CALifeSimulatorBase` (@Drombeys) - Переработана система многопоточности и улучшена стабильность (@v2v3v4, @ForserX, @Drombeys) - Установите значения по умолчанию для `EngineExternal` (@Drombeys) - Упрощена настройка игрового курсора (@Drombeys, @Hozar2002) ### Графика (рендеры, шейдеры) - Добавлена отрисовка `level_changer` в режиме отладки (@Drombeys) - Добавлена консольная команда `r__fast_details_update` (@v2v3v4) - Добавлена консольная команда `r2_lights_details` (@v2v3v4) - Добавлена оптимизация максимально высоких теней от солнца (@ForserX, @Zagolski) - Добавлен учет тумана для травы на статического освещения (@Drombeys) - Добавлена принудительная очистка `occq` (@v2v3v4) - Добавлена функция обнаружения последнего сектора (@v2v3v4) - Добавлен опциональный шейдер `depth nearclip` (@Hozar2002) - Добавлены флаги создания целей рендера (@Hozar2002) - Добавлен эффект рассеивания света для каустики воды (@LVutner) - Добавлена проверка кратности размера текстуры на D3D11 (@ForserX) - Добавлен компилятор XML blends (@ForserX) - Исправлена выборка карты теней (@Drombeys, @Hozar2002) - Декомпозирован `PixEventWrapper` (@Drombeys) - Удалена поддержка DX10.0 (@Hozar2002) - Удален программный рендеринг деталей (@ForserX) - Включено отбрасывание теней от устройств (@v2v3v4) - Улучшено динамическое освещение и решены проблемы с тенями в режиме HUD (@v2v3v4) - Исправлена загрузка моделей с большим количеством костей (@ForserX) - Исправлен вылет при некорректной работе анизотропной фильтрации (@Drombeys) - Исправлен шейдер DoF на D3D11 (@Hozar2002) - Исправлен рендер объемного дыма (@ForserX) - Исправлена некорректная работа MipBias на D3D11 (@Hozar2002) - Исправлено пересечение стадий расчета частиц (@v2v3v4) - Исправлены тени от источников света под определенным углом (@Drombeys, @v2v3v4) - Исправлен цвет дождя (@Drombeys, @Hozar2002) - Исправлены состояния сэмплера в шейдере `smaa` (@LVutner) - Исправлена привязка shadowmap для объемного освещения (@LVutner) - Исправлено дрожание тесселированных моделей (@Hozar2002) - Реализована поддержка луж на D3D11 (@LVutner, @Hozar2002) - Улучшен рендер внутриигровой отладки (@Hozar2002) - Улучшены отражения на воде (@Hozar2002) - Улучшено качество SSAO (@Hozar2002) - Оптимизировано и доработано динамическое освещение (@v2v3v4) - Оптимизирован расчет векторов движений (@Hozar2002) - Оптимизированы шейдеры на D3D11 (@Hozar2002) - Оптимизированы вычисления xform для динамического освещения (@v2v3v4) - Реструктуризован xrRender (@v2v3v4) - Переработан ambient occlusion (@Hozar2002) - Переработаны многопоточные партиклы (@ForserX) ### Геймплей - Добавлен параметр `player_hud_default` для указания стандартного hud рук (@Drombeys) - Добавлен экспорт метода `SetSelectedIndex` в Lua (@ForserX) - Добавлена возможность изменять параметры профиля персонажа через Lua (@St4lker0k765, @Alundaio) - Добавлена возможность удалять кастомные метки в ПДА (@ForserX) - Добавлена возможность задавать `can_trade` для предметов (@St4lker0k765) - Добавлена проверка существования анимации (@Drombeys) - Добавлены кастомные привязки клавиш (@St4lker0k765, @Alundaio) - Добавлен экспорт метода `is_ladder` в Lua (@ForserX, @Drombeys) - Добавлен экспорт метода `jump_to_level` в Lua (@St4lker0k765, @Alundaio) - Добавлен экспорт метода `show_legs` в Lua (@ForserX) - Добавлена блокировка изменения визуала протагониста (@ForserX) - Добавлен хак для скриптовых диалогов (@Drombeys) - Добавлены экспорты мыши в Lua (@St4lker0k765, @avoitishin) - Добавлены новые возможности для мультиплеера (@MiX225) - Добавлены проверки безопасности в игровой модуль (@ForserX, @Drombeys) - Добавлены звуковые слои (@St4lker0k765, @Alundaio) - Добавлена поддержка кастомизации SSA фактора в секции объектов (@v2v3v4) - Добавлены экспорты UI и геймплей в Lua (@St4lker0k765, @Alundaio) - Подкорректирован путь к серверу и конфигурации (@kola2451) - Разрешено назначать конкретные кости для привязки партиклов к артефактам (@v2v3v4) - Добавлена очистка старых `ancors` для рук (@Mortan) - Удалена избыточная сортировка в gspawn (@v2v3v4) - Отключено обновление мощности в автомобиле (@ForserX) - Отключен `anm_bore` для детекторов (@Drombeys) - Включена блокировка использования предметов, если активен hud-аниматор (@Shtrecker) - Исправлен скриптовой экспорт `CUIGameCustom` (@Drombeys) - Исправлен спам `Invalid level vertex` сообщением (@Drombeys) - Испралено сообщение `no motion alias defined` (@St4lker0k765) - Исправлена ошибка с `T-Pos` при смерти актера (@ForserX) - Исправлены общие экспорты в Lua (@ForserX, @Drombeys) - Исправлены условия для еды с маленьким количеством порций (@Shtrecker) - Исправлено условие для порций еды (@ForserX) - Исправлен вылет при переключении атаки контроллера (@Drombeys, @ForserX) - Исправлен вылет при создании дефолтного сервера (@kola2451) - Исправлен вылет при открытии PDA в мультиплеере (@kola2451) - Исправлен вылет с кастомной моделью hud игрока (@Hozar2002) - Исправлен ввод цифры 8 в окне сохранений (@Drombeys) - Исправлено уничтожение hud-аниматора в безопасных зонах (@Shtrecker) - Исправлена загрузка состояния жажды и усталости (@ForserX) - Исправлены отсутствующие символы на разных разрешениях (@ForserX) - Исправлены отношения между мутантами (@Shtrecker, @VOIN101) - Исправлено расстояние для разговора с НПС (@Drombeys, @Hozar2002) - Исправлены определения объектов рядом с актером (@ForserX, @Hozar2002) - Исправлено проигрывание скриптовых партиклов после перезагрузки игры (@mnelenpridumivat) - Исправлено проигрывание звука фонарика (@Shtrecker) - Исправлен ray pick (@ForserX) - Исправлено зависание спринта после прыжка (@Drombeys, @ggGhosTt) - Исправлена позиция звука при разговоре с торговцев (@St4lker0k765) - Исправлен перенос предметов в инвентарь мертвого НПС (@ForserX) - Реализована консольная команда `set_game_time` (@Drombeys) - Реализовано скрытие фонарика, если он выключен в мультиплеере (@kola2451) - Кнопка `putall_button` сделана опциональной (@Drombeys) - Убраны ненужные проверки для анимаций (@Drombeys) - Восстановлен класс `CAmebaZone` (@Drombeys) - Восстановлено использование стационарного пулемета (@St4lker0k765, @Alundaio) - Установлено значение по умолчанию для `attach_place_idx` (@Drombeys) - Установлены значения по умолчанию для `offset_right` и `offset_left` (@Drombeys) ### Ресурсы - Добавлен отсутствующий метод `keep_saved_data_anyway` в Lua (@wh1t3lord) - Добавлены новые опции в настройки графики (@Drombeys) - Добавлены проверки безопасности в скрипт `smart_terrain` (@Drombeys) - Добавлен UI макет для `FreeMP` (@kola2451) - Добавлен ультра пресет настроек графики (@Drombeys) - Изменена директория настроек игры по умолчанию (@St4lker0k765, @Drombeys) - Декомпозирован XML конфиг `ui_icons_npc` (@Drombeys) - Исправлен символ бесконечности в шрифте Letterica (@St4lker0k765) - Исправлен рендеринг отрядов в ПДА в режиме отладки Lua (@isoboleskiy) - Исправлена работа скриптов в редакторах (@ForserX) - Перенесена мультиплеерная совместимость в отдельный аддон (@Drombeys) - Перенесено плавное затухание экрана в отдельный аддон (@Drombeys) - Перенесены исправления оригинального оружия в отдельный аддон (@Drombeys) - Удалены скриптовые вызовы метода `is_god_mode` в Lua (@Drombeys) - Удален вызов метода `save.call_error` в скриптах (@Drombeys) - Удалены скриптовые вызовы для отключения тени актера в кат-сценах (@Drombeys, @Hozar2002) - Отменены изменения в менеджере погоды (@Drombeys) - Упрощена адаптация скриптов (@Drombeys) - Перенесены изменения оригинальных файлов в конфиг `mod_system_ixray` (@Drombeys) ### Инструментарий (внутриигровые инструменты, редакторы, утилиты) - Добавлена поддержка `.wav` в Content Browser (@GladiatorVS) - Добавлены `$env_mod` и `$rpoint` в Content Browser (@ForserX, @VodkaNET) - Добавлен окно `About` (@ForserX) - Добавлено окно `IconPicker` (@GladiatorVS) - Добавлена кнопка `Recalculate Portals` в Level Editor (@ForserX) - Добавлена кнопка `Stop` для `Play in Editor` (@ForserX) - Добавлена иконка для Preferences (@GladiatorVS) - Добавлены манифесты для приложения (@St4lker0k765) - Добавлена асинхронная загрузка уровня (@ForserX) - Добавлен базовый код `Macro Editor` в Level Editor (@ForserX) - Добавлен базовый код для экспорта сцен Level Editor (@ForserX) - Добавлена базовая реализация Spawn Elements в `Content Browser` (@ForserX) - Добавлена поддержка создания костей и назначения мешей в Actor Editor (@ForserX) - Добавлена подпись к поиску в `Object List` (@Drombeys) - Добавлена адаптация цвета для иконок в `Content Browser` (@Hozar2002) - Добавлен параметр цвета в контекстное меню Theme Editor (@Seakad) - Добавлены пути до компиляторов в редакторах (@ForserX) - Добавлена настраиваемая цветовая схема для сообщений логов в редакторах (@St4lker0k765) - Добавлена функция поиска дубликатов в Level Editor (@Seakad) - Добавлено создание папок в `Content Browser` и `Skip All` для отсутствующих объектов сцены (@GladiatorVS) - Добавлена поддержка групповых объектов для `Content Browser` (@ForserX) - Добавлен хак для материала `def_aref` (@ForserX, @Hozar2002) - Добавлены вспомогательные функции для DXT (@ForserX) - Добавлены подсказки для `Content Browser` (@ForserX) - Добавлены манипуляторы ImGuizmo в редакторах (@Romann, @BORSCHT) - Добавлен код импорта партиклов из SoC для Particle и Level Editor (@ForserX) - Добавлена инвалидация рендер-таргета в `Play in Editor` (@ForserX) - Добавлен режим списка для Content Browser (@ForserX) - Добавлен недостающий выбор типа игры `FreeMP` (@ForserX) - Добавлено использование `fast dynamic cast` (@ForserX) - Добавлено больше опций настройки темы для редакторов (@St4lker0k765) - Добавлена поддержка перемещения AI-карты с помощью Gizmo (@ForserX) - Добавлен мультиобъектный заменитель ссылок (@ForserX) - Добавлен множественный выбор по `kShift` для `Library Editor` (@ForserX) - Добавлена поддержка мультиплеера для `MinimapEditor` (@ForserX) - Добавлена многопоточная декомпрессия архивов (@Drombeys) - Добавлены новые иконки для редакторов (@St4lker0k765) - Добавлены новые иконки для `Content Browser` (@Hozar2002) - Добавлена опция `Build artefact spawn positions` для `Play in Editor` (@ForserX) - Добавлен вывод имени материала в лог ошибок (@Drombeys) - Добавлены пути к компиляторам в редакторах (@VodkaNET) - Добавлен инструмент пипетки для свойств `Object Library` (@ForserX) - Добавлено выделение ранее выбранных элементов при открытии `ChooseForm` (@tsmp) - Добавлена поддержка системы луж в Level Editor (@ForserX) - Добавлена перезагрузка текстур при открытии `ChooseForm` (@ForserX) - Добавлена поддержка русской раскладки для редакторов (@ForserX) - Добавлено сохранение `ignore materials` в данных уровня (@ForserX) - Добавлено сохранение и загрузка свойств `Random Append` (@ForserX) - Добавлена проверка валидации масштаба (@ForserX) - Добавлен второй вьюпорт для Library Editor (@ForserX, @GladiatorVS) - Добавлен флаг пропуска оптимизации модели для Actor Editor (@ForserX) - Добавлено сохранение параметра списка привязки (@ugozapad) - Добавлена поддержка звуковых зон в `Play in Editor` (@ForserX) - Добавлена поддержка синхронизации мягких звуков (@ForserX) - Добавлен слайдер громкости звука в Level Editor (@ForserX) - Добавлена сортировка элементов спавна (@ForserX) - Добавлен экран загрузки для Level Editor (@GladiatorVS) - Добавлен вывод статуса на экран загрузки (@GladiatorVS) - Добавлена поддержка Lua-шейдеров в редакторах (@ForserX) - Добавлен GPU Skinning для редакторов (@ForserX, @ugozapad, @Hozar2002) - Добавлен редактор тем для Actor Editor, Particle Editor и Shader Editor (@St4lker0k765) - Добавлен просмотр THM в Level Editor (@ForserX) - Добавлены подсказки в Level Editor (@St4lker0k765) - Добавлено визуальное изменение размера для `MinimapEditor` (@GladiatorVS) - Удален модуль `D3DX_Wrapper` (@Drombeys) - Удален файловый диалог ImGui (@ForserX) - Удалены легаси редакторы (@ForserX) - Удалены THM-файлы при копировании текстур (@GladiatorVS) - Отключены отсутствующие корневые папки в Content Browser (@GladiatorVS) - Отключена оптимизация идентичных текстур (@ForserX, @VaIeroK) - Отключен второй вьюпорт в `Play in Editor` (@ForserX) - Включено открытие временных файлов в Level Editor (@ForserX) - Расширен выбор осей для других меню (@GladiatorVS) - Расширены ограничения позиций в редакторах (@St4lker0k765) - Исправлена загрузка `*.dti` файлов (@ForserX) - Исправлено изменение свойства `Cone Angle` (@ForserX) - Исправлен размер `dockspace` в редакторах (@ForserX) - Исправлена прозрачность `EditorWnd` (@GladiatorVS) - Исправлена загрузка `ETextureThumbnail` (@ForserX) - Исправлена кнопка `Header Color` (@ForserX) - Исправлен стиль `ItemList` в xrEProps (@GladiatorVS) - Исправлено сообщение `Material [65535] not found in library!` (@St4lker0k765) - Исправлена прозрачность фона `Object List` (@ForserX) - Исправлен запуск `Play in Editor` (@Hozar2002) - Исправлены каналы `PROP_COLOR` (@ForserX) - Исправлена кнопка `Undo` в Particle Editor (@ForserX) - Исправлена проблема случайного выхода в редакторах (@St4lker0k765) - Исправлен альфа-канал в миниатюрах (@ForserX) - Исправлен шейдер вершин `aref` в редакторах (@St4lker0k765) - Исправлены ошибки ASAN в Level Editor (@ForserX) - Исправлен рендеринг прикрепленных объектов в Level Editor (@ForserX) - Исправлена генерация разрушаемых объектов (@ForserX) - Исправлены кнопки в окне `Object List` (@ForserX) - Исправлен рендеринг консоли в `Play in Editor` (@Hozar2002) - Исправлено контекстное меню и выбор в `Play in Editor` (@ugozapad) - Исправлен вылет в методе `GetDrawText` (@Drombeys) - Исправлены катсцены в `Play in Editor` (@ForserX) - Исправлена загрузка DDS в форме `ChooseForm` (@ForserX) - Исправлен рендеринг деталей в редакторах (@ForserX, @Hozar2002) - Исправлены строки имен DLL для редакторов (@St4lker0k765) - Исправлен размер вьюпорта редактора (@ForserX) - Исправлены привязки клавиш в редакторах (@ForserX) - Исправлен включенный список привязки (@ugozapad) - Исправлен вывод сообщения об ошибке отсутствующем партикле (@ForserX) - Исправлены ошибки в сообщениях (@Drombeys) - Исправлены события в просмотре `LightAnim` (@ForserX) - Исправлено исключение при воспроизведении сломанных анимаций (@ForserX) - Исправлены исключения в `Content Browser` (@ForserX) - Исправлено фокусирование окна (@Drombeys) - Исправлено значение FOV в настройках редакторов (@St4lker0k765) - Исправлены привязки клавиш в Particle Editor (@ForserX) - Исправлен запуск standalone-игры в редакторе (@VodkaNET) - Исправлена загрузка и работа парного материала в Shader Editor (@ForserX) - Исправлена загрузка анимации камеры в Level Editor (@ForserX) - Исправлена генерация LOD (@ForserX) - Исправлен низкий FPS при изменении размера вьюпорта (@Hozar2002) - Исправлено отображение сообщений в `MessageBox` (@Drombeys) - Исправлены мелкие баги и проблемы в Level Editor (@ForserX) - Исправлена отрисовка отметок движений (@ForserX) - Исправлено чтение userdata в OGF (@VodkaNET) - Исправлено контекстное меню элементов в Particle Editor (@GladiatorVS) - Исправлена перезагрузка частиц при воспроизведении (@ForserX) - Исправлен и оптимизирован рендеринг частиц в `Play in Editor` (@Hozar2002) - Исправлена низкая производительность в `Play in Editor` (@VodkaNET) - Исправлен PostProcess Editor (@ForserX) - Частично исправлены проблемы в Level Editor (@ForserX) - Исправлено чтение уникального пути `$game_data$` в Particle Editor (@VodkaNET) - Исправлена корневая папка в окне `Content Browser` (@Hozar2002) - Исправлена позиция спавна в режиме `Play in Editor` (@ForserX) - Исправлен вылет с метками при запуске `Play in Editor` (@VodkaNET) - Исправлен рендеринг двухстороннего меша в Actor Editor (@ForserX) - Исправлено сообщение о типе измененной сцены (@Drombeys) - Исправлена небезопасная перезагрузка текстур (@Hozar2002) - Исправлено установление строки UTF8 в `RTextValue` (@ForserX) - Исправлен рендеринг wallmark в редакторах (@St4lker0k765) - Исправлено перемещение waypoint (@ForserX) - Исправлено открытие окна при запуске (@ForserX) - Исправлена работа xrLC и xrAI (@ForserX) - Реализован представление `Content Browser` (@ForserX) - Реализован `Garbage Generator` в Level Editor (@ForserX, BORSCHT) - Реализован `Global Map Editor` (@GladiatorVS) - Реализованы действия для папок и файлов, перемещение файлов через drag and drop (@GladiatorVS) - Реализован базовый динамический рендеринг в `Play in Editor` (@Hozar2002) - Реализована поддержка Box mode для `$env_mod` (@Seakad, @saas) - Реализованы команды копирования и вставки в Content Browser (@GladiatorVS) - Реализовано сохранение и загрузка пользовательских тем (@St4lker0k765) - Реализован drag and drop для папок в Content Browser (@GladiatorVS) - Реализован поиск файлов в Content Browser (@ForserX) - Реализованы внутриигровые менеджеры (@wh1t3lord, @Drombeys, @Hozar2002) - Реализовано действие переименования в Content Browser (@GladiatorVS) - Реализовано сохранение свойства `Preview` в `Library Editor` (@ForserX) - Реализована поддержка кеша шейдеров в редакторах (@VodkaNET) - Улучшено представление `Actor InfoPortions` (@wh1t3lord) - Улучшен `Play in Editor` и исправлено положение подсказки в `Content Browser` (@ForserX) - Улучшены вводы в `Play in Editor` (@ForserX, @Hozar2002) - Улучшен Library Editor (@ForserX) - Улучшен бэкенд редактора нод (@ForserX) - Увеличен лимит объектов в процессе построения сцены (@Seakad) - Увеличено качество текстур до максимума в редакторах (@St4lker0k765) - Увеличено максимальное количество объектов деталей до 512 (@Romann) - Сделано `MinimapEditor` немодальным (@ForserX) - Сделана потокобезопасной загрузка уровня (@ForserX) - Перемещены настройки в TopBar (@GladiatorVS) - Перемещены THM для сохранения групп в папку групп (@Romann) - Оптимизирован рендеринг graph point (@ForserX) - Удалена проверка lights и glow в редакторах (@St4lker0k765) - Удален сброс формы выбора (@ForserX) - Удалены ненужные подключения include в редакторах (@Drombeys) - Реализован рендеринг скелета в 1 вызов на отрисовку (@ForserX) - Заменен `D3DXGetFVFVertexSize()` на аналог DirectXMesh (@Drombeys) - Заменен устаревший диалог сохранения на новый (@St4lker0k765) - Заменена нулевая текстура для управления `UIChooseForm` (@St4lker0k765) - Восстановлен сектор `CSceneObject` с измененной ссылкой на объект (@ForserX) - Восстановлена функциональность `Locking` (@Seakad) - Восстановлена функция `Multi Rename` (@ForserX) - Восстановлено автофокусирование элемента в `Object List` (@ForserX) - Восстановлены настройки горячих клавиш по умолчанию (@ForserX) - Восстановлена статистика движка для редакторов (@ForserX) - Восстановлен старый `VCPacked` (@ForserX) - Восстановлена сводная информация (@ForserX) - Возвращено имя объекта в заголовке окна (@St4lker0k765) - Возвращены старые элементы управления Gizmo (@Romann) - Переработан модуль `xrDXT` (@ForserX) - Переработано окно инструментов DO (@ForserX) - Переработаны окна сообщений редакторов (@ForserX) - Переработана верхняя панель Level Editor (@ForserX) - Переработаны инструменты объектов (@ForserX) - Переработан экран загрузки с использованием SDL (@GladiatorVS) - Создана отдельная папка для пользовательских тем в редакторах (@St4lker0k765) - Поменяны местами меню `Edit` и `Visibility` в контекстом меню (@St4lker0k765) - Использован зарезервированный пул памяти для рендеринга сцены (@ForserX) ## Релиз 1.1.1 (Август 2024) ### Графика - Добавлена версия движка в путь шейдер кеша (@Drombeys) - Исправлена работа консольной команды `r__detail_density` (@Drombeys) ## Релиз 1.1 (Август 2024) ### Общее - Включен `/EHsc` для всех конфигураций (@ForserX) ### Движок (ядро, звук, мультиплеер) - Добавлена поддержка глифов шрифта для дополнительных кодовых страниц (@ForserX) - Добавлена поддержка подкаталогов для папки аддонов (@ForserX) - Исправлены кнопки `mouse4` и `mouse5` (@ForserX) - Исправлен перевод имени клавиши (@ForserX) - Исправлены проблемы с UTF8 (@ForserX) - Уменьшен `hud viewport near` до `0.01` (@Drombeys) - Отключен вылет связанный с частотой звука 44100 Гц (@Hozar2002) - Добавлен ресайз размера вектора вместо очистки, где это возможно (@Drombeys) - Восстановлено использование клавиши Alt для релизной конфигурации (@ForserX) ### Графика (рендеры, шейдеры, текстуры) - Добавлен учет `r2_lumscale_sky` на D3D9 (@Drombeys) - Добавлена горячая перезагрузка для травы (@Drombeys) - Исправлена консольная команда `vid_scale_mode` (@Drombeys, @Hozar2002) - Исправлена поддержка 127 костей (@Hozar2002) - Исправлен оригинальный баг с отсечением света (@v2v3v4) - Исправлен некорректный размер массива деталей на D3D9 (@Hozar2002) - Исправлена активация occlusion (@ForserX) - Исправлен рендеринг объемного дыма (@ForserX, @Hozar2002, @SkyLoaderr) - Добавлена консольная команда `r__detail_radius` (@Drombeys) - Улучшен туман для форвард геометрии (@Hozar2002, @Drombeys) - Улучшен рендеринг травы на D3D9 (@Hozar2002, @Drombeys) - Отключен рендер травы в помещениях (@v2v3v4) - Отключено проигрывание погодных эффектов, когда актёр находится внутри помещения (@v2v3v4) - Разделены шейдеры насыщенности и виньетки (@Drombeys, @Hozar2002) ### Геймплей - Добавлена дополнительная информация о персонаже в инвентарь (@Drombeys, @Hozar2002) - Добавлены дополнительные кнопки для менеджмента инвентаря (@Hozar2002) - Добавлена базовая поддержка моделей ног SWM 2.1 (@Hozar2002) - Добавлена ​​игровая конфигурация по умолчанию (@ForserX) - Добавлена поддержка синхронизации анимаций монстров в мультиплеере (@MiX225) - Добавлена консольная команда mp (@MiX225) - Добавлена поддержка меток пользователей на карте (@ForserX) - Добавлено опциональное создание ранга и репутации в профилях NPC (@Drombeys, @Hozar2002) - Экспортирован `CMapManager` в LUA (@ForserX) - Исправлено чтение параметра `hud_fov` из конфига (@Drombeys) - Реализована система ног от первого лица (@Hozar2002) - Портированы функции OMP для режима `freemp` (@MiX225) - Переработана выдача `anim_fake` объекта (@Drombeys) - Обновлена панель приборов автомобиля (@Hozar2002) ### Ресурсы - Добавлен `r2_saturation` в графические опции (@Drombeys) - Добавлена модель рук по умолчанию (@Hozar2002) - Отделен скриптовый функционал (@ForserX) ### Тулчейн (внутриигровые инструменты, редакторы, утилиты, плагины) - Добавлен класс `CLevelEditor` для PIE (@ForserX) - Добавлена поддержка `Ignore Materials` для LevelEditor (@ForserX) - Добавлено отображение позиции камеры (@ForserX) - Добавлены комьюнити фиксы для LevelEditor (@ForserX) - Добавлено перетаскивание для BoneParts (@ForserX, @abramcumner, @Romann) - Добавлена кнопка выхода в меню отладки (@Drombeys) - Добавлена поддержка Lua сниппетов (@Drombeys) - Добавлена поддержка PIE для xrGame (@isoboleskiy) - Добавлены свойства и мультивыбор для редактора библиотеки (@ForserX) - Добавлена поддержка перемещения манипулятора к позиции мыши с помощью горячих клавиш (@ForserX) - Добавлен редактор тем (@ForserX) - Добавлена прозрачность неактивных окон и докинг в `Light Anim Editor` (@Romann) - Добавлена прозрачность окон без фокуса и докинг (@ForserX) - Исправлена загрузка параметров звуковой среды (@ForserX) - Исправлена отмена сборки уровня при сбое сборки объединенной текстуры LOD (@VodkaNET) - Исправлено перемещение мыши в вьюпорте с другим монитором (@ForserX) - Исправлено обновление позиции мыши в окне редактора (@ForserX) - Настроены цвета в инструментах (@Romann) - Реализовано окно `Move Camera To` (@ForserX) - Улучшено окно `Library Editor` (@ForserX) - Переименованы инструменты на странице `Edit Mode` (@Drombeys) - Заменено окно сообщения `object[%s] already in group` на Msg (@ForserX) - Восстановлена форма выбора звуковой среды (@ForserX) - Переработана основная панель инструментов в Level Editor (@Drombeys) - Переработан интерфейс в LevelEditor (@ForserX) ## Релиз 1.0 (Июль 2024) ### Общее - Добавлены пакеты oneTBB для платформы Windows (@ForserX) - Применено форматирование кода для шейдеров (@acidicMercury8, @Drombeys) - Удалены устаревшие плагины (@ForserX) - Отключен конфиг сборки x86 (@ForserX) - Включен Dependabot (@acidicMercury8) - Включены пресеты Linux для компрессора в рабочем процессе сборки (@acidicMercury8) - Исправлены настройки MarkdownLint (@acidicMercury8) - Исправлены порчи памяти (@ForserX) - Исправлены пути вывода и проблемы с runpath на Linux (@acidicMercury8) - Улучшены проекты CMake (@ForserX) - Переименованы расширения шейдеров (@Drombeys) - Заменён Luabind (@ForserX) - Заменён LuaJIT (@ForserX, @Drombeys, @acidicMercury8, @abramcumner) - Заменён LZO на NuGet пакет (@acidicMercury8) - Переработана линковка на Linux для избежания использования символических ссылок (@acidicMercury8) - Разделены пресеты компрессора по системам (@acidicMercury8) - Обновлено кэширование пакетов в рабочем процессе сборки (@acidicMercury8) - Обновлены общие документы и конфиги (@acidicMercury8, @Drombeys, @ggGhosTt) - Обновлён конфиг игнорирования Git (@Drombeys) - Обновлены пресеты и названия артефактов (@acidicMercury8) ### Движок (ядро, звук, мультиплеер) - Добавлена поддержка `CCC_Boolean` в опции меню (@ForserX) - Добавлена поддержка `CCC_Mask16` для `Flags16` (@ForserX) - Добавлен экспорт `is_actor_shadow` в Lua (@ggGhosTt) - Добавлен экспорт `set_actor_shadow` в Lua (@ggGhosTt) - Добавлена проверка на наличие модуля мультиплеера (@ForserX) - Добавлена консольная команда ограничения FPS (@v2v3v4) - Добавлено сообщение в лог о дублирующемся раздела XML (@Drombeys) - Добавлены платформозависимые функции для получения путей (@ggGhosTt) - Добавлена поддержка аллокатора памяти mimalloc (@ForserX, @Drombeys, @acidicMercury8) - Отключён полноэкранный режим в не релизном конфиге (@Drombeys) - Отключена регистрация MP команд в одиночном режиме (@Drombeys) - Отключена телепортация с помощью команды `demo_record` (@Drombeys) - Исправлена и упрощена смена и изменение размера оконного режима (@ggGhosTt) - Исправлен автоматический выбор разрешения (@Drombeys, @Hozar2002, @ugozapad) - Исправлена ошибка с `m_max_depth` равным `-1` (@ForserX) - Исправлен механизм отключения коллизий (@v2v3v4) - Исправлено скрытие окон ImGui (@ForserX) - Исправлена сборка на Linux (@ggGhosTt) - Исправлено обращение к `xr_resource` из разных потоков (@ForserX) - Перемещены позиции статистики (@Drombeys) - Реализовано глобальное влияние фактора времени на звук (@v2v3v4) - Удалена зависимость от Loki в регистраторе классов (@ForserX) - Удалены лишние расчёты костей (@v2v3v4) - Переименован файл лога (@Drombeys) - Заменены типы сообщений в логгировании (@Drombeys) ### Графика (рендеры, шейдеры, текстуры) - Добавлен `jitter` в рендер (@Hozar2002) - Добавлена команда `rs_render_portals` (@v2v3v4) - Добавлена возможность настройки параметров объёмного света для `CCustomZone` (@ForserX) - Добавлено ассерты для неправильного использования `addShaderOption` (@Hozar2002) - Добавлен базовый PBS (@Hozar2002) - Добавлен расчёт векторов движения (@Hozar2002) - Добавлены текстуры каустики для нового шейдера воды (@Hozar2002) - Добавлены пост-обработки хроматической аберрации и виньетки (@ForserX, @Drombeys) - Добавлено контрастное адаптивное повышение резкости (@LVutner) - Добавлена зависимость тумана от множителя дальности прорисовки (@Hozar2002) - Добавлен GTAO (@LVutner) - Добавлено хешированное альфа-тестирование (@LVutner, @Hozar2002) - Добавлен умный переключатель HUD матрицы (@Hozar2002) - Добавлено сглаживание партиклов (@v2v3v4) - Удалён HBAO (@ForserX) - Удалён неиспользуемый непрямой GI свет (@Drombeys) - Удалены неиспользуемые консольные команды (@Drombeys) - Удалены неиспользуемые шейдеры (@Hozar2002) - Включена отладка материалов без Master Gold (@Hozar2002, @Drombeys) - Исправлены тени актёра на статическом освещении (@v2v3v4) - Исправлены размытые шрифты (@Hozar2002) - Исправлено сломанное превью сохранённой игры на D3D9 (@Hozar2002) - Исправлен вылет при создании с `D3D_USAGE_DEFAULT` (@Hozar2002) - Исправлено дальние каскады (@Drombeys) - Исправлена загрузка роликов на RDNA2 архитектурах видеокарт (@ForserX) - Исправлена инициализация NVAPI (@ForserX) - Исправлено выделение объектов (@Hozar2002) - Исправлена видимость порталов в тумане (@v2v3v4) - Исправлена установка флага `RFLAG_CLOUD_SHADOWS` (@Drombeys) - Исправлена проблема с черными квадратами солнечных лучей при низком расстоянии рендеринга (@Hozar2002) - Исправлена интенсивность солнечной маски (@Hozar2002) - Исправлена пост-обработка текстур (@Hozar2002) - Исправлена работа на D3D10 Feature Level (@Hozar2002) - Реализованы контактные тени на HUD игрока на D3D11 (@Hozar2002) - Реализована поддержка DLSS (@Hozar2002, @Drombeys, @Vertver) - Реализована поддержка FSR2 (@Hozar2002) - Реализованы новые функции упаковки G-буфера (@Hozar2002) - Реализован новый алгоритм step параллакса (@Hozar2002, @Baryshev194) - Реализовано масштабирование разрешения (@Hozar2002) - Реализована детальная отбраковка на основе сектора (@v2v3v4) - Реализован SSLR воды (@Hozar2002) - Реализовано подповерхностное рассеивание на листьях на D3D11 (@Hozar2002) - Улучшена функциональность тумана на R2 (@Hozar2002) - Улучшено масштабирование шрифтов с высоким DPI (@Hozar2002) - Улучшено рендеринг текстур со сжатием DXT1 Alpha (@Hozar2002) - Увеличено количество костей для D3D11 (@Hozar2002) - Увеличена виртуальная высота освещения (@Hozar2002, @Drombeys) - Оптимизированы рендеры (@v2v3v4) - Отрефакторены все шейдеры (@Hozar2002) - Отрефакторены блендеры теней (@Hozar2002) - Удалены оптимизации G-буфера из рендеров и шейдеров (@Hozar2002) - Переименованы и перегруппированы консольные команды в рендерах (@Drombeys) - Заменен стандартный SSAO шейдер GSC (@Hozar2002, @nuclearfag) - Заменена позиция на аппаратную глубину (@Hozar2002) - Переработаны все шейдеры (@Hozar2002) - Переработан перенос определений в шейдеры (@Hozar2002) - Разделена статистика на экране (@Hozar2002) - Использован стандартный аллокатор памяти для рендеров (@ForserX) - Перенесён рендеринг неба на начало кадра (@Hozar2002) - Перенесена тонемапинг после форвардного рендеринга (@Hozar2002) - Унифицированы и переработаны форвардные и теневые блендеры (@Hozar2002) - Разблокирована многопоточная загрузка текстур (@Drombeys) - Обновлены шейдеры для форвардного прохода (@Hozar2002) - Обновлены шейдеры для новой системы рендеринга (@Hozar2002) ### Геймплей - Добавлено свойство `use_text` для модуля `CEatableItem` (@ForserX) - Добавлена возможность определения `phantom_section` в конфигурации `psy-dog` (@OldSerpskiStalker) - Добавлен экспорт `is_actor_outdoors()` в Lua (@OldSerpskiStalker) - Добавлен ассерт `foot bone not found` (@ForserX) - Добавлена проверка режима автосохранения в менеджере (@Drombeys) - Добавлена поддержка кастомного стиля интерфейса для элитного детектора (@v2v3v4) - Добавлено текстовое поле к трекбару (@ForserX) - Добавлен эффект начала игры (@VOIN101) - Добавлен хак для загрузки старых моделей (@OldSerpskiStalker) - Добавлены вспомогательные консольные команды (@v2v3v4) - Добавлены инерция и внешние коллизии (@Shtrecker) - Добавлены Lua экспорты использования предметов (@ForserX) - Присоединена модель детектора в режиме вида от третьего лица (@v2v3v4) - Включен `ai_obstacle` для аномалий и повреждений для сталкеров от них (@v2v3v4) - Включен `anm_bore` для биноклей (@v2v3v4) - Исправлены векторы стрельбы оружия актера (@v2v3v4) - Исправлено смешивание анимаций (@v2v3v4) - Исправлено обновление состояния актёра во время катсцен (@ForserX) - Исправлен сбой при неизвестном параметре `icon` в характеристике мутантов (@OldSerpskiStalker) - Исправлено поведение AI ворон при полете (@v2v3v4) - Исправлено переключение детекторов (@v2v3v4) - Исправлено управление переключением детекторов (@v2v3v4) - Исправлен расчёт веса еды (@ForserX) - Исправлены скрытые метки NPC на карте (@Drombeys) - Исправлено отсутствие значка задачи после изменения задачи (@Drombeys) - Исправлены объекты, подбираемые вне видимости (@v2v3v4) - Исправлено поведение сталкеров, смотрящих на пол/потолок во время боя (@OldSerpskiStalker) - Исправлено использование строкового выражения в элементе управления ProgressBar (@ForserX) - Игнорируются предметы инвентаря при подборе предметов (@v2v3v4) - Реализовано отключение счетчика FPS (@Drombeys) - Реализован HUD аниматор (@ForserX, @v2v3v4, @Shtrecker) - Реализован мультиспавн для инвентаря мутантов (@OldSerpskiStalker) - Реализована коллизия камеры и инерция в режиме вида от третьего лица (@v2v3v4) - Улучшены схемы `stalker_combat_actions` (@OldSerpskiStalker) - Улучшен AI сталкеров (@v2v3v4) - Улучшен вид камеры от третьего лица (@v2v3v4) - Перемещён `RotationFactor` в `updateCL` в режиме вида от третьего лица (@v2v3v4) - Перемещён вывод версии движка в модуль `MainMenu` (@Drombeys) - Перемещён вывод версии движка на правую сторону главного меню (@Drombeys) - Оптимизированы тени от солнца на траве (@v2v3v4) - Отрефакторен модуль детектора (@v2v3v4) - Отменено, чтобы IK останавливался дальше 100 м от позиции актера (@Drombeys) - Обновлена HUD система (@v2v3v4) ### Ресурсы - Добавлены дополнительные локализации для `ui_st_ixray.xml` (@ggGhosTt, @nikitalebedin, @acidicMercury8) - Добавлен GTAO в опции (@ForserX, @Drombeys) - Добавлены заголовки для группировки опций (@Drombeys, @Hozar2002) - Добавлено блокирование зависимых графических опций (@Drombeys) - Добавлены новые графические опции в настройки (@Drombeys) - Добавлены опции масштабирования в настройки графики (@Drombeys, @Hozar2002) - Уменьшен шаг регулировки громкости (@Drombeys) - Удалён `g_autoreload` из настроек геймплея (@Drombeys) - Отключен DoF при перезарядке RG-6 (@Drombeys) - Исправлен вылет с английской локалью (@Drombeys) - Перемещены добавленные локализации в общий файл (@Drombeys) - Перемещены настройки VSync в видеоопции (@Drombeys) - Отменены правки в менеджере выброса (@ForserX) - Переработаны опции графики (@Drombeys, @Hozar2002) - Переработаны новые иконки (@Drombeys) - Переработаны пресеты настроек графики (@Drombeys) - Загружены дополнительные файлы локализации (@ggGhosTt) ### Тулчейн (внутриигровые инструменты, редакторы, утилиты, плагины) - Добавлена тема `Darkness Embrace` (@ForserX) - Добавлена поддержка `PreviewObject` для Actor Editor (@ForserX) - Добавлена поддержка 32-битных анимаций в Actor Editor (@ForserX) - Добавлены исправления Actor Editor (@VaIeroK) - Добавлена возможность указания пути к OMF для моделей (@v2v3v4) - Добавлена поддержка ассоциированных файлов для Actor Editor (@ForserX) - Добавлен базовый плагин для 3ds Max (@ForserX) - Добавлена базовая система нод (@ForserX) - Добавлен просмотрщик эффекторов камеры (@ForserX) - Добавлена поддержка докинга для Image Editor (@ForserX) - Добавлена поддержка перетаскивания объектов для OMF и SKL файлов (@ForserX) - Добавлен хак для анимаций Gunslinger в Actor Editor (@ForserX) - Добавлен хак для обновления свойств после изменения (@ForserX) - Добавлена сериализация JSON для редакторов (@ForserX) - Добавлен плагин Maya 2024 от Ray of Hope (@ForserX) - Добавлена сортировка анимаций (@ForserX) - Добавлена PBR модель света в THM (@Hozar2002) - Добавлен исходный код редактора PostProcess (@ForserX) - Добавлена подсветка выбранного перемещения в элементе управления `CUIToolbar` (@ForserX) - Добавлены исправления статистики и файловой системы (@ForserX) - Добавлена поддержка экспорта для 32-битных анимаций (@Mortan) - Добавлена поддержка отображения/скрытия вьюпорта рендертаргета в отладчике шейдеров (@ForserX) - Удалён код сетевой компиляции (@DimaKuzmin, @ForserX) - Исправлен экспорт формата DM (@ForserX, @saas) - Исправлены элементы управления ввода в редакторах Shader и Particle (@VodkaNET) - Исправлено создание текстур кубических карт (@ForserX) - Исправлены стандартные ограничения в редакторе погоды (@Drombeys) - Исправлено сжатие моделей (@ForserX) - Исправлена работа ввода мыши (@ForserX) - Исправлен многопоточный лог в SDK (@ForserX) - Реализованы кнопки создания/клонирования/удаления партиклов (@ForserX) - Увеличено количество костей в редакторах (@ForserX) - Объединены редакторы PostProcess и Actor Editor (@ForserX) - Перемещена кнопка `Make Thumbnail` на верхнюю панель (@ForserX) - Портированы базовые редакторы на Visual Studio 2022 (@isoboleskiy, @ForserX) - Реализовано переподключение к LuaPanda при смене уровня (@ForserX) - Восстановлена оптимизация фейсов в редакторе акторов (@ForserX) - Обновлён плагин Maya (@ForserX, @abramcumner, @StalkMen, Moddera) ## Релиз 0.10 (Апрель 2024) ### Общее - Добавлена опция компрессора в CMake (@ForserX) - Добавлена конфиг GDB (@ForserX, @vertver) - Добавлены исходники LuaPanda (@ForserX) - Добавлены исходники LuaSocket (@ForserX) - Добавлен плагин LuaUtf8 (@ForserX) - Добавлен плагин LuaXML (@ForserX) - Добавлены исходники LZO (@ForserX) - Добавлен NuGet пакет oneTBB (@ForserX, @acidicMercury8) - Обновлены файлы OPCODE (@ForserX) - Отключен отладочный рендер ImGui на Release сборке (@ForserX) - Включена публикация RelWithDebInfo конфига в задаче `publish-engine` (@Drombeys) - Исправлены предупреждения (@Drombeys, @ForserX) - Реализована базовая поддержка Linux (@ForserX) - Реализован билдер списка изменений (@Drombeys) - Улучшена структура проектов CMake (@ForserX) - Перемещён MagicFM в директорию 3rd Party (@ForserX) - Заменено использование `xr_new` на переопределенный аллокатор (@ForserX) - Заменён DirectPlay 8 на GameNetworkingSockets в xrNetServer (@ForserX, @acidicMercury8) - Обновлена зависимость `magic_enum` (@ForserX) - Обновлена иконка приложения (@Drombeys) ### Движок - Добавлен `$arch_dir_addons$` для аддонов (@ForserX) - Добавлен `parallel_for` в метод `compute_static_cover` (@ForserX) - Добавлены базовые многопоточные типы (@ForserX) - Добавлен расчёт размера файла (@ForserX) - Добавлены шрифты из файловой системы X-Ray для ImGUI (@ForserX, @Drombeys) - Добавлен новый проект LZO (@ForserX) - Добавлена заглушка для игровой фабрики (@ForserX) - Добавлен итератор объектов в Luabind (@ForserX) - Добавлены вспомогательные функции UTF8 (@ForserX) - Добавлена поддержка кодовой страницы Win1252 (@ForserX, @ggGhosTt) - Удалён проект `D3D9-Null` (@ForserX) - Удалён мёртвый код в `NET_Packet` (@ForserX) - Удалены устаревшие `__stdcall` обращения (@ForserX) - Удалены устаревшие инструменты отладки Lua (@ForserX) - Включена опция компиляции `/sdl` (@Drombeys) - Включена поддержка исключения файлов в файловой системе (@ForserX) - Включен вывод информации о GPU в лог (@v2v3v4) - Включены Steam Sockets только при заданной опции `IXRAY_MP` (@ForserX) - Исправлена работа горячих клавиш `Alt+I` и `Ctrl+Alt+I` (@ForserX) - Исправлен метод `CLocatorAPI::Recurse` (@ForserX) - Исправлено некорректное завершение приложения по запросу диспетчера окон (@ggGhosTt) - Исправлена активация Discord при запуске игры (@ForserX) - Исправлен двойное преобразование UTF8 (@ForserX) - Исправлена очистка лога при закрытии приложения (@Hozar2002) - Исправлено некорректное использование hook stack (@ForserX) - Исправлено определение итераторов (@Drombeys) - Исправлена работа функции в модуле `_cylinder` (@Drombeys) - Исправлена работа XML Expression без указателя `Actor` (@ForserX) - Исправлена сборка xrCore на ARM64 (@ForserX) - Реализована система кэширования CDB (@ForserX, @Drombeys) - Реализована перегрузка устройств (@ForserX) - Реализована поддержка DLTX (@ForserX) - Реализован счетчик FPS (@OldSerpskiStalker, @ForserX) - Реализован гетерогенный поиск для `shared_str` и `xr_string` (@ForserX) - Реализованы гарантии безопасности для обработки пользовательских настроек (@ForserX) - Реализована консольная команда для спавна партиклов (@v2v3v4) - Реализована поддержка LuaSockets и LuaPanda (@ForserX) - Реализовано потокобезопасное приведение типов для преобразования UTF-8 (@ForserX) - Реализована подсистема XMLOverride (@ForserX) - Улучшен вывод `StackTrace` в лог (@OldSerpskiStalker) - Начата поддержка геймпада (@ForserX) - Сделан `CObjectSpace` потокобезопасным (@ForserX) - Сделан `ray_collider` не шаблоном (@ForserX) - Перенесено логгирование в отдельный поток (@Drombeys, @Giperion, @ForserX) - Проведена очистка кода в xrPhysics (@ForserX) - Рефакторинг `g_actor` external (@Hozar2002) - Удалено `.0000` из преобразования `float`/`double` в `xr_string` (@ForserX) - Заменён `__super` на `inherited` в классе `CGamePersistent` (@ugozapad) - Заменены вызовы `GetTickCount` на `SDL_GetTicks` (@ForserX) - Исправлены множественные ошибки повреждения памяти (@ForserX) - Переработано использование `Core.Params` (@ForserX) - Переработан аллокатор doug lea (@ForserX) - Переработана интеграция ImGUI (@ForserX, @ugozapad) - Перенесён код на базовые типы и функции X-Ray (@ForserX) - Обновлён xrCDB для использования нового OPCODE (@ForserX) ### Графика (рендеры, шейдеры) - Добавлена консольная команда `mtParticles` (@v2v3v4) - Добавлена консольная команда `r_particles_real_dt` (@v2v3v4) - Добавлена поддержка 32-битных анимаций (@ForserX) - Добавлена принудительная синхронизация окна (@Drombeys, @ForserX) - Добавлена опциональная продолжительность эффекта частиц в режиме реального времени (@v2v3v4) - Отключены оптимизации расписания для метода `CTorridzone::net_destroy()` (@v2v3v4) - Исправлен рендеринг следов пуль (@Hozar2002) - Исправлена отрисовка консоли в режиме отладки (@ugozapad) - Исправлено перетаскивание курсора при центрировании (@ggGhosTt) - Исправлен отладочный рендер (@ugozapad) - Исправлено позиционирование деталей на изогнутых поверхностях (@v2v3v4) - Исправлена нумерация режимов отображения (@ugozapad) - Исправлено поведение полноэкранного режима (@ggGhosTt, @Drombeys, @ugozapad) - Исправлены утечки памяти при создании шрифтов (@Drombeys) - Исправлена работа объемного тумана без текстуры (@ForserX) - Исправлено изменение размера окна (@ugozapad) - Реализована функция `D3D9FindShaderComment` и утилиты для шейдеров (@Drombeys) - Реализована отсечка геометрии (@tatarinrafa, @ggGhosTt) - Реализован экран загрузки в XML (@ggGhosTt) - Реализована многопоточная обработка партиклов (@ForserX) - Интегрирована библиотека DxErr для отладки ошибок DirectX (@ForserX) - Сделано использование кэша шейдеров опциональным (@MAYLAYSHEZ) - Исключено создание контейнеров из стека (@ForserX) - Отрефакторен модуль `dx9Texture` (@Drombeys) - Удалён хардкод типов меток (@ForserX) - Заменён D3DX на DirectXTex для создания текстур (@Drombeys, @Hozar2002) - Заменён D3DX на DirectXTex для загрузки текстур (@Drombeys, @Hozar2002, @ugozapad) - Восстановлена параллельная загрузка текстур (@ForserX, @Drombeys) - Переработан переключатель обновления партиклов (@ForserX) ### Геймплей - Добавлен параметр `disable_bore` (@Shtrecker) - Добавлена возможность активации реакции аномалий на NPC (@MAYLAYSHEZ) - Добавлена возможность активации взгляда NPC на актера (@ggGhosTt, @v2v3v4) - Добавлена базовая синхронизация мутантов в мультиплеере (@Hozar2002, @pavelspitsin) - Добавлено управление сменой камеры в автомобиле (@ggGhosTt) - Добавлен индикатор света автомобиля (@ForserX) - Добавлено настраиваемое время респауна для smart terrain (@OldSerpskiStalker) - Добавлены пользовательские обратные вызовы использования автомобилей (@ForserX) - Добавлена система смены звукового устройства по умолчанию (@ForserX) - Добавлен режим FreeMP (@ForserX) - Добавлены локализуемые строки для сохранений (@Drombeys) - Добавлено наклонение оружия при движении (@ShokerStlk) - Добавлена функция множественного спавна (@OldSerpskiStalker) - Добавлена возможность множественного спавна предметов в консольную команду `g_spawn` (@Drombeys) - Добавлены название и иконка автомобиля (@ForserX) - Добавлена опциональная настройка перекрытия звука в HUD (@Shtrecker, @ggGhosTt) - Добавлен множитель скорости для движений HUD моделей (@ggGhosTt) - Добавлена возможность использования багажника автомобиля (@ForserX) - Добавлена система коллизий оружия (@Shtrecker, @ShokerStlk) - Добавлена инерция оружия (@Shtrecker, @ShokerStlk) - Добавлено решение для вылета `border.empty()` (@ForserX, @Alundaio) - Добавлена поддержка XML Expression для класса `CUIStatic` (@ForserX) - Применено `psSoundRolloff` для линейного затухания (@ForserX) - Отключить смерть актера во время выброса при включенном режиме бога (@ggGhosTt) - Удалены команды `snd_targets` и `snd_cache_size` (@Shtrecker) - Удалена проверка в методе `CExplosive::GenExplodeEvent` (@Drombeys) - Включен `hud_adjust` на RelWithDebInfo конфиге (@ForserX) - Улучшена функциональность режима FreeMP (@ForserX) - Исправлена ошибка `cannot find rank for` (@Drombeys) - Исправлен метод стрельбы класса `CWeaponRG6` (@Shtrecker) - Исправлен парсинг параметра `explosion_hit_types` (@Shtrecker) - Исправлены координаты слотов 4:3 (@ForserX) - Исправлены анимации автомобиля актера (@ggGhosTt, @v2v3v4) - Исправлено условие артефакта в инвентаре (@OldSerpskiStalker) - Исправлены базовые ошибки транспорта (@ForserX) - Исправлен вылет в методе `CCC_ALifeTimeFactor::Info` (@ugozapad) - Исправлена функциональность выделенного сервера (@ForserX) - Исправлена работа выделенного сервера (@ForserX) - Исправлена ошибка лифта (@v2v3v4) - Исправлена стрельба из пустой бочки для оружия класса `CWeaponRG6` (@Shtrecker) - Исправлена ошибка при смерти актёра в автомобиле (@MAYLAYSHEZ) - Исправлен период времени вспышки для простого детектора (@Shtrecker, @gunslingermod) - Исправлена некорректная загрузка опоры рук (@ForserX) - Исправлено анимации убирания (@Shtrecker) - Исправлена некорректная отрисовка позиций аддонов в UI (@ForserX) - Исправлен некорректный вызов загрузки AI (@ForserX) - Исправлены проблемы с гранатами (@ForserX) - Исправлен сброс состояния misfire при загрузке (@Shtrecker) - Исправлено перемещение фиксированных элементов (@v2v3v4) - Исправлена функциональность сервера мультиплеера (@ForserX) - Исправлена деактивация ночного видения при потере шлема (@Shtrecker) - Исправлена реакция NPC в модуле `CarWeapon` (@MAYLAYSHEZ) - Исправлен сброс параметров при событии перемещения в локацию (@Shtrecker, @mortany) - Исправлен урон стомпа псевдогиганта при прыжке актёра (@Shtrecker) - Исправлен размер полосы прокрутки после изменения окна (@ForserX) - Исправлена стрельба из оружия классов `CWeaponRPG7` и `CWeaponRG6` (@Shtrecker) - Исправлено состояние стрельбы (@Shtrecker) - Исправлено воспроизведение звука торговца (@MAYLAYSHEZ) - Исправлен текст отладки UI (@ugozapad) - Исправлена перезарядка оружия (@Shtrecker) - Исправлен сброс фактора увеличения при загрузке (@Shtrecker) - Реализована UI панель транспорта (@ForserX) - Увеличен размер целей звука (@Shtrecker) - Сделан автоматический режим перезарядки опциональным (@Shtrecker) - Сделана приборная панель автомобиля (@ForserX) - Сделаны двери автомобиля используемыми (@ForserX, @v2v3v4) - Сделан опциональный обыск мутантов (@ForserX) - Сделано блокирование спринта во время перезарядки опциональным (@Shtrecker) - Оптимизировано создание текстуры атласа шрифтов (@Hozar2002) - Отрефакторена остановка бега при стрельбе (@Shtrecker) - Отрефакторена перезарядка в трёх состояниях (@Shtrecker) - Удалено рисование частиц артефактов на актёре в MP (@ForserX) - Удалена пауза при перезарядке в первой анимации (@Shtrecker) - Переработан геттер состояния актера (@Shtrecker) - Пропущены некорректные имена действий (@ForserX) - Остановлены `damage_particles` при взрыве автомобиля (@MAYLAYSHEZ) ### Инструментарий (инструменты в игре, редакторы) - Добавлен параметр `trees_amplitude` в редактор погоды (@ForserX) - Добавлена возможность отключения `InfoPortion` в представлении `Actor InfoPortions` (@Drombeys) - Добавлены базовые пропсы для редакторов (@ForserX) - Добавлены проекты EditorRender и EditorEngineAPI (@ForserX) - Добавлен проект EditorsProps (@ForserX) - Добавлено окно для Lua кода (@ForserX) - Включена опция `IXRAY_USE_R1` в пресетах утилит (@Drombeys, @acidicMercury8) - Исправлена работа метода `CPostProcessValue::get_value` (@ForserX) - Исправлено инвертирование цветов неба в редакторе погоды (@Drombeys) - Исправлена корректировка позиции солнца в редакторе погоды (@ggGhosTt) - Реализован базовый PPE UI (@ForserX) - Реализован просмотрщик сцен ImGui (@Drombeys) - Реализована нерекурсивная версия метода `OA_Unwarp` (@ForserX, @range-vs) - Реализован вывод заданного `InfoPortion` (@ForserX) - Реализована утилита копирования текстур (@Hozar2002) - Перенесён базовый код xrECore (@ForserX) ### Ресурсы - Добавлено значение `graffiti22` (@ForserX) - Добавлен экспорт функции `hide_detector` в Lua (@ForserX) - Добавлена возможность изменения переменных `CSE_AlifeObject` в Lua (@ForserX) - Добавлены файлы данных при удалении соответствующих сохранений (@ggGhosTt) - Добавлен экспорт кнопок `kQUICK_SAVE` и `kQUICK_LOAD` в скрипты (@Drombeys) - Добавлена иконка в раздел `m_burer_e` (@Drombeys) - Добавлены экспорты управления погодой (@ggGhosTt) - Удалён стрейф в прицеливании (@VOIN101) - Включено создание каталога сохранений, если он отсутствует (@ggGhosTt) - Экспортированы состояния движения актера (@Shtrecker) - Экспортированы бустеры в Lua скрипты (@Shtrecker) - Экспортирована проверка состояния бога в Lua (@ggGhosTt) - Экспортированы события сохранения/загрузки и получение названий сохранений в Lua (@ggGhosTt) - Экспортирован звук щелчка фонарика в конфигурацию (@ForserX) - Экспортированы методы оружия в Lua скрипты (@ForserX, @Alundaio) - Исправлены анимации дробовика (@VOIN101) - Реализованы утилиты Lua Marshal для сохранения/загрузки (@ggGhosTt) - Сопоставлены сохранения и сериализованные таблицы (@ggGhosTt) - Перемещён экспорт базовых типов из xrGame в xrScripts (@ForserX) - Переработан скрипт извлечения зависимостей (@ForserX) - Сохранённые данные в папке сохранений хранятся в виде одного файла (@ggGhosTt) - Оптимизирован Lua менеджер выбросов (@ggGhosTt) - Оптимизирован Lua менеджер погоды (@ggGhosTt) ## Релиз 0.9 (Март 2024) ### Общее - Добавлены файлы GPU SDK (@ForserX) - Добавлена зависимость magic_enum (@Drombeys) - Добавлен проект xrScripts (@ForserX) - Удалён старый код редактора погоды (@ForserX) - Удалён проект xrCPU_Pipe (@v2v3v4, @ForserX) - Исправлены предупреждения (@Drombeys, @ForserX) - Реализован GitParser с CMake и командами Git (@acidicMercury8) - Улучшена структура проектов CMake (@ForserX) - Обновлён скрипт упаковки артефактов (@acidicMercury8) ### Движок - Добавлены псевдонимы и вспомогательные функции `xr_shared_ptr` и `xr_unique_ptr` (@ForserX) - Добавлены цвета для отладочной консоли (@Vertver) - Добавлена внутриигровая отладочная панель инструментов (@Vertver) - Добавлены токены для консольных переменных (@Vertver) - Удалён вызов функции `SetThreadAffinityMask` (@v2v3v4) - Исправлены утечки памяти и копипасты (@MAYLAYSHEZ) - Реализован класс `CCC_Boolean` для булевых консольных переменных (@ForserX) - Реализован метод `invert44` в модуле матриц (@v2v3v4) - Реализован метод `OrthographicOffCenterLH` в модуле матриц (@v2v3v4) - Реализована поддержка SDL3 (@Vertver) - Реализован переход на унифицированный SDL ввод (@ggGhosTt) - Реализован редактор погоды с использованием ImGUI (@ForserX) - Заменена рефлексия перечислений в стиле C на magic_enum (@ForserX) - Упрощён API событий (@ForserX) - Реализована поддержка симуляции A-Life в многопользовательском режиме (@ForserX) - Реализована загрузка спавна в многопользовательском режиме с использованием `alife` (@ForserX) - Объединена функциональность A-Life для одиночного и многопользовательского режимов (@ForserX) ### Графика - Добавлен отладочный рендерер для RelWithDebInfo конфига (@ForserX) - Добавлено рендеринг с использованием ImGUI (@Vertver) - Включена тень актера при динамическом освещении (@MAYLAYSHEZ) - Реализована поддержка AMD AGS на D3D11 (@ForserX) - Реализована отладка с использованием ImGUI (@Vertver, @Hozar2002) - Реализована система шрифтов с использованием FreeType (@ForserX) - Реализована графическая отладка с использованием ImGUI (@Vertver) - Рефакторинг аппаратного рендеринга на D3D9 и D3D11 (@Vertver) ### Геймплей - Добавлена функция `get_compass_direction` для экспорта в Lua (@ForserX) - Добавлена функция `ray` для `CObject` в Lua (@ForserX) - Добавлен контроль переключения камеры для смены между `cam_1` и `cam_2` (@ggGhosTt) - Добавлена коллизия для `CCameraLook2` (@ggGhosTt, @v2v3v4) - Добавлен класс компаса (@ForserX) - Добавлены экспорты состояний камеры в Lua (@ggGhosTt) - Добавлены пространства имен INI (@ForserX) - Добавлены обратные вызовы Lua (@ForserX) - Добавлены пространства имен marshalling и LFS в Lua (@ForserX) - Добавлены метод экспорта из класса `CEatableItem` (@ForserX) - Добавлены метод экспорта из класса `CUIWindow` (@ForserX) - Добавлено пространство имен nearest в Lua (@ForserX) - Добавлено возвращение к `WeaponMagazined`, когда `inventory_owner` не имеет `active_item` (@MAYLAYSHEZ) - Добавлены проверки безопасности (@MAYLAYSHEZ) - Добавлены скриптовые обратные вызовы для событий нажатия, отпускания и удерживания кнопки (@ggGhosTt) - Добавлена упрощённая система зависимости (@ForserX) - Добавлены жажда и сонливость к внешним характеристикам (@ForserX) - Удалён код автонаведения (@ggGhosTt) - Отключена инерция спринта для вида от третьего лица (@ggGhosTt) - Расширено пространство имен `alife` в Lua (@ForserX) - Расширено пространство имен `level` в Lua (@ForserX) - Исправлены анимации вида от третьего лица для актера (@ggGhosTt) - Исправлено изменение типа боеприпасов (@Shtrecker) - Исправлена ошибка с аурой псевдособаки (@OldSerpskiStalker) - Исправлена ошибка с бесконечным увеличением при прицеливании (@MAYLAYSHEZ) - Исправлена обработка катсцен в виде от третьего лица (@ggGhosTt) - Исправлена анимация бездействия после разгрузки (@Shtrecker) - Исправлена анимация бездействия при лазании в виде от третьего лица (@ggGhosTt) - Исправлено неправильное отображение двух и более типов боеприпасов (@MAYLAYSHEZ) - Исправлены некорректные расчёты веса оружия (@MAYLAYSHEZ) - Исправлен ввод в консоли `bind_console` (@v2v3v4) - Исправлена инверсия патронов и их сохранение (@Shtrecker) - Исправлена пропажа гранаты из подствольного гранатомета (@MAYLAYSHEZ) - Исправлен парсинг в методе `CCC_Vector3::Execute` (@ForserX) - Исправлена застрявшая анимация бега (@MAYLAYSHEZ) - Исправлена функциональность игрового процесса от третьего лица (@ggGhosTt) - Исправлена задержка оружия при низком FPS (@v2v3v4) - Исправлено управление оружием в виде от третьего лица (@ggGhosTt) - Исправлена работа `eMonsterSoundIdle` в многопользовательском режиме (@ForserX) - Реализовано сохранение смещения плеча для `CCameraLook2` (@ggGhosTt) - Реализована функция `xr_strconcat` (@ForserX) - Реализована блокировка всех слотов при лазании (@ggGhosTt) - Реализовано сохранение позиции и типа камеры (@ggGhosTt) - Реализована смена позиции камеры вместо выглядывания в виде от третьего лица (@ggGhosTt) - Реализован парсинг смещения конфигурации `CCameraLook2` (@ggGhosTt) - Реализован динамический расчёт `slots_count` (@ForserX) - Реализована кастомизация инвентаря (@ForserX) - Реализовано новое noclip движение (@v2v3v4) - Реализована автоматическая система слотов в интерфейсе (@ForserX) - Реализованы видимые модели закрепленного оружия в виде от третьего лица (@ggGhosTt) - Объединена и почищена функциональность `-psp` (@ggGhosTt) - Перенесены функции алкоголя в новую систему (@ForserX) - Перемещена команда `read_sun_config` в `engine_external` конфиг (@Drombeys) - Перенесена поддержка шума камеры из `CCameraFirstEye` в `CCameraLook2` (@ggGhosTt) - Заменены `THROW` на `VERIFY` в `CSpaceRestrictionAbstract` и `UIGameTutorial` (@MAYLAYSHEZ) - Установлено значение наклона торса в ноль для невооружённого актера в виде от третьего лица (@ggGhosTt) - Упрощена регистрация обновлений в инвентаре (@ForserX) ## Релиз 0.8 (Март 2024) ### Общее - Добавлен конфиг Native Visualization (@ForserX) - Добавлен пайплан не Unity сборки (@acidicMercury8) - Добавлен Shipping конфиг в CMake (@ForserX) - Исправлены предупреждения (@Drombeys, @ForserX) - Реализована поддержка Discord Game SDK (@ForserX, @Drombeys) - Реализована поддержка UnityBuild для проекта xrGame (@ForserX) - Улучшена структура проектов CMake (@ForserX) - Заменена оригинальная иконка (@Drombeys, @Z3SA) - Заменена оригинальная заставка (@Z3SA) - Обновлён скрипт паковки артефактов (@acidicMercury8) ### Движок - Добавлен контроль активного состояния устройства через консольную команду `rs_device_active` (@MAYLAYSHEZ, @ForserX) - Добавлена информация о потенциальной ошибке `xr_ini` (@MAYLAYSHEZ) - Исправлена печать стека вызовов в режиме отладки (@ForserX) - Отключен `dump_file_mappings` на Debug конфиге (@ForserX) - Отключено сообщение ассерта в проекте ODE (@Drombeys) - Отключен вывод дампа текстур в конфигурации Release (@Drombeys) - Включено отладочное прерывание для отложенного утверждения (@ForserX) - Исправлен метод `parse_level_version` (@ForserX) - Исправлена порча данных в `CConsole::ExecuteCommand` при вводе неверного имени команды (@MAYLAYSHEZ) - Исправлено сопоставление файлов на x64 конфиге (@ForserX) - Исправлено потенциальное переполнение стека (@MAYLAYSHEZ) - Исправлено переполнение стека в `CConsole::ExecuteCommand` (ошибка приводила к краху в конфигурации Debug на x64) (@MAYLAYSHEZ) - Исправлены проблемы инициализации окна (@ForserX, @MAYLAYSHEZ) - Реализован синглтон `CStringTable` (@ForserX) - Реализован экран загрузки с поддержкой формата PNG (@MAYLAYSHEZ, @ForserX) - Реализована возможность играть без библиотеки xrGameSpy (@ForserX) - Реализована совместимость с x64 для `doug_lea_allocator` (@ForserX) - Реализована система XML Expression (@ForserX, @Giperion) - Выведено имя команды при отключении команды (@MAYLAYSHEZ) - Удалена избыточная проверка в `CDestroyablePhysicsObject::OnChangeVisual` (@MAYLAYSHEZ) ### Графика (рендеры, шейдеры) - Добавлена возможность управления подсказками на экране загрузки через `engine_external.ltx` (@MAYLAYSHEZ) - Добавлена фаза рендеринга ландшафта (@ForserX) - Добавлено умножение на цвет солнца для солнечных лучей (@MAYLAYSHEZ) - Добавлен контроль размера SMAP `r__smap_size` [1024 > 4096] (@MAYLAYSHEZ) - Удалена опция управления `rs_refresh_60hz` из ресурсов (@MAYLAYSHEZ) - Отключено отображение SMAA в xrRender_R1 (@Drombeys) - Включен макрос `NO_MULTI_INSTANCES` для Release конфига (@Drombeys) - Включено связывание времени жизни меток на динамических объектах с `r__wallmark_ttl` (@MAYLAYSHEZ) - Включена очистка G-буфера на каждом кадре для предотвращения `ghostings` (@MAYLAYSHEZ) - Включен вывод имен THM при загрузке в режиме отладки (@MAYLAYSHEZ) - Включено освобождение системного курсора при флаге `rsDeviceActive` (@MAYLAYSHEZ) - Исправлена очистка `occRasterizer` (@ForserX) - Исправлен `parallax_h`, который не был захардкожен, и решение проблемы с консольными командами (@MAYLAYSHEZ) - Исправлено отображение вращения крепления (@v2v3v4) - Исправлена некорректная инициализация в `VertexCache` конструкторе по умолчанию (@MAYLAYSHEZ) - Исправлено сравнение значений разных типов перечислений в `dxUIRender::StartPrimitive` (@MAYLAYSHEZ) - Исправлено перечисление определений опций на D3D10+ (@Drombeys) - Исправлено окно и сообщение об ошибке неудачной компиляции шейдера (@MAYLAYSHEZ) - Исправлено затуманивание в шейдере `model_distort4ghost` (@ForserX) - Исправлен вылет игры при рендеринге меток на стенах (@MAYLAYSHEZ) - Исправлена неправильная инициализация трафарета глубины в `dx10StateUtils::ValidateState` (@MAYLAYSHEZ) - Исправлен порядок инициализации массива `L_spot_s` (@MAYLAYSHEZ) - Исправлены лимиты для `r__detail_density` (@MAYLAYSHEZ) - Исправлена загрузка неподдерживаемых текстур (@Hozar2002) - Исправлена утечка памяти для вершинных буферов в `dx103DFluidGrid` (@MAYLAYSHEZ) - Исправлен виртуальный размер точечных источников света (@MAYLAYSHEZ) - Дана возможность `DXGI` самому рассчитывать частоту обновления для повышения производительности (@MAYLAYSHEZ) - Сделано, что шрифты не меняют состояние, если нет текста для отображения (@MAYLAYSHEZ) - Оптимизирован рендеринг динамических объектов (@VaIeroK) - Переработана тень актера для R2-R4 (@MAYLAYSHEZ, @v2v3v4) - Заменён `D3DFORMAT` на `DxgiFormat` в проекте xrRender_R4 (@Vertver, @Drombeys) - Возвращено определение шейдера `FORCE_GLOSS` для R4 (@MAYLAYSHEZ) - Переработан контроль мип-карт (@Drombeys) ### Геймплей - Добавлено исправление счетчика `crow` (@MAYLAYSHEZ) - Добавлена консольная команда `enable_dof_reload` (@ForserX) - Добавлен экспорт функции `is_accessible_vertex_id` в Lua (@Drombeys) - Добавлен экспорт функции `valid_vertex_id` в Lua (@Drombeys) - Добавлена возможность перезагрузки системного конфига через консольную команду `reload_system_ltx` (@MAYLAYSHEZ) - Добавлено плавное приседание актёра (@MAYLAYSHEZ) - Добавлено плавное движение актёра по склонам (@MAYLAYSHEZ) - Добавлена проверка на существование объекта в методе `CheckObjectVisibility` (@Drombeys) - Добавлен ранний выход в `NvStripifier::RemoveSmallStrips` с пустым списком (@MAYLAYSHEZ) - Добавлен инициализатор для дверей (@Drombeys) - Добавлено блокирование и разблокирование `level_vertex_id` (@Drombeys) - Добавлен Lua экспорт для управления глобальным фактором времени (@MAYLAYSHEZ) - Применены различные исправления к классу `crow` (@MAYLAYSHEZ) - Исправлен обработчик команд масштабирования (@MAYLAYSHEZ) - Уменьшена скорость движения актёра после прыжка (@MAYLAYSHEZ) - Отключены команды читов на Release конфиге (@Drombeys) - Отключен бесполезный и ненужный спам `item place` (@ForserX) - Включен расчет расстояния до врага монстрами, которые создали слышимый звук (@MAYLAYSHEZ) - Включена очистка объектов и моделей между загрузками уровней (@MAYLAYSHEZ) - Обеспечены точные результаты для метода `npc:path_completed()` (@Drombeys) - Исправлен метод `CCameraManager::UpdatePPEffectors()` (@Drombeys) - Исправлен вылет `CHangingLamp` (@MAYLAYSHEZ) - Исправлен расчёт сдвига для IK (@ForserX) - Исправлен вылет при недоступности врага (@Drombeys) - Исправлен вылет в методе `CPlanner::update` (@Drombeys) - Исправлен вылет при нажатии на несовместимое сохранение (@MAYLAYSHEZ) - Исправлен вылет, когда NPC пытается использовать уничтоженный объект (@v2v3v4) - Исправлен вылет при попытке остановить неактивный таймер профиля скрипта (@MAYLAYSHEZ) - Исправлен дублирующий Lua экспорт для функции `set_smart_cover_target_idle` (@MAYLAYSHEZ) - Исправлена ошибка в модуле `stalker_animation_global` при отсутствии оружия у NPC (@MAYLAYSHEZ) - Исправлено отсутствие возможности бросать болты и гранаты в анимации `bore` (@MAYLAYSHEZ) - Исправлено, что запись демо не начинается, если уровень не загружен (@MAYLAYSHEZ) - Исправлен неверный счётчик стадий загрузки (@MAYLAYSHEZ) - Исправлено некорректное название Lua экспорта в `CALifeMonsterDetailPathManager` (@MAYLAYSHEZ) - Исправлена некорректная загрузка памяти NPC (@MAYLAYSHEZ) - Исправлено некорректное масштабирование после прикрепления пользовательского прицела к оружию (@MAYLAYSHEZ) - Исправлен индикатор яркости после загрузки сохранения (@MAYLAYSHEZ) - Исправлена ошибка памяти при попытке загрузки уровня, когда какой-либо уровень уже загружен (@MAYLAYSHEZ) - Исправлен порядок сообщений в PDA (@MAYLAYSHEZ) - Исправлено, что мутанты не могут атаковать актера через объект (@MAYLAYSHEZ) - Исправлено, что мутанты бегут на месте (@Drombeys) - Исправлена потенциальная ошибка после загрузки сохранения с мёртвым `psy-dog` (@MAYLAYSHEZ) - Исправлен вывод значения `UICost` (@ForserX) - Исправлена избыточная проверка `list_idx == e_outfit` в `UIMpTradeWnd_misc` (@MAYLAYSHEZ) - Исправлены анимации бега NPC в состоянии паники (@MAYLAYSHEZ) - Исправлено вращение фонаря на `cam_2` (@ForserX) - Исправлен эффектор камеры оружия (@MAYLAYSHEZ) - Исправлен нулевой `scope_zoom_factor` (@xrEugene) - Реализованы XML Expression для MP режима (@ForserX) - Очищены векторы уровней при выходе из игры (@MAYLAYSHEZ) - Перемещены описания зон глаза детектора в одно место (@ForserX) - Предотвращён вылет из-за вызова `reserve()` с `arg < 0` (@MAYLAYSHEZ) - Удалён дублирующий `mstate_r1&mcLanding` в условии в `ActorAnimation` (@MAYLAYSHEZ) - Восстановлена возможность установки более одной метки на сущность или боеприпасы и взрывчатку (@MAYLAYSHEZ) ### Звук - Добавлены `SNDENV_VER_IXR` и приведение значений EAX к EFX в `SoundRender` (@ForserX) - Добавлено устройство по умолчанию в список звуковых устройств (@ForserX) - Добавлено влияние глобального фактора времени на звук (@MAYLAYSHEZ) - Добавлен звук включения фонаря (@ForserX) - Добавлен звук прицеливания оружия (@xrEugene) - Применены звуковые эффекты для звукового источника (@ForserX) - Отключен EFX для видео и музыки (@ForserX) - Исправлена неоднозначность с `set_volume` в модуле `HudSound` (@MAYLAYSHEZ) - Принудительно выключены все звуки при загрузке сохранения (@MAYLAYSHEZ) - Реализована возможность отключения EFX (@ForserX) ### Утилиты - Реализован пропуск сжатия текстур лайтмапов (@Drombeys) - Реализован пропуск subdivide геометрии (@Drombeys) - Реализован пропуск тесселяции геометрии (@Drombeys) ## Релиз 0.7 (Март 2024) ### Общее - Удалены файлы Boost (@ForserX) - Включена поддержка C++20 для всех проектов (@ForserX) - Включен вывод лога компрессора на пайплайне (@Drombeys) - Глобально включена поддержка Unicode (@ForserX) - Исправлены проблемы сборки утилит (@ForserX, @Drombeys, @acidicMercury8, @vadvalskiy) - Исправлены проблемы с x64 на рантайме (@ForserX, @Drombeys) - Улучшена структура проектов (@ForserX, @Drombeys, @acidicMercury8) - Заменён DirectXTex на nvtt в проекте xrDXT (@ForserX) - Заменён FreeImage на NuGet пакет (@ForserX, @acidicMercury8) - Заменён Luabind на версию без Boost (@ForserX) - Заменён LuaJIT на NuGet пакет (@ForserX, @acidicMercury8) - Перестроены сборочные процессы и пайплайны (@acidicMercury8, @Drombeys) - Переструктурированы папки с рендерами с рефакторингом (@Drombeys) - Переработан аллокатор и модуль памяти (@ForserX) ### Движок - Добавлено отложенное событие `R_ASSERT` (@ForserX) - Добавлено состояние инвалидности для дождя (@MAYLAYSHEZ) - Удалён модуль `ttapi` (@Drombeys) - Удалён хардкод коллизии для локаций (@ForserX) - Отключено чтение конфига `user.ltx` из корневой папки (@Drombeys) - Включен вывод ошибок ID класса в лог на релизном конфиге (@ForserX) - Включен вывод информации стека Lua и переменных в лог (@ForserX) - Включены макросы логирования погоды в конфигах, отличных от `MASTER_GOLD` (@MAYLAYSHEZ) - Включена минимизация окна при вызовах `do_exit` и `terminate` (@MAYLAYSHEZ) - Исправлено падение FPS из-за некорректной позиции появления объекта (@OldSerpskiStalker) - Исправлено закрытие игры после ошибки при отсутствии подключенного отладчика (@MAYLAYSHEZ) - Исправлен бесконечный цикл обработчика необработанных сбоев (@MAYLAYSHEZ) - Исправлен звук дождя после загрузки или смены уровня (@MAYLAYSHEZ) - Исправлен размер буфера звука (@ForserX) - Исправлено использование системных устройств через OpenAL Soft (@ForserX) - Исправлена загрузка циклов погоды (@MAYLAYSHEZ) - Исправлена необработанная ошибка минимизации окна (@MAYLAYSHEZ) - Исправлено некорректное назначение имени переменной в звуковой среде (@johncurley) - Реализован новый обходчик стека (@ForserX) - Реализована задержка начала дождя и молний (@MAYLAYSHEZ) - Перемещён xrXMLParser в xrCore (@ForserX) - Оптимизировано обновление звуков оружия (@VaIeroK) - Переписан модуль CPUID (@ForserX) - Переписан CRC32 без Boost (@ForserX) - Переписан итератор рендеров (@Drombeys, @Hozar2002) - Переписаны таймеры (@mortany, @ForserX) - Задана специальная функция для завершения (@MAYLAYSHEZ) ### Графика (рендеры, шейдеры) - Добавлен ключ `-dxdebug` вместо флага отладки DirectX (@Drombeys) - Добавлена поддержка volumemap в рендере D3D11 (@Vertver) - Удалены связанные с `*_nomsaa` шейдеры (@Drombeys) - Удалена опция `advancedpp` (@Drombeys) - Удалена опция `albedo_wo` (@Drombeys) - Удалена опция `blur` (@Drombeys) - Удалена команда `r__supersample` (@Drombeys) - Удалена команда `r3_msaa_alphatest` (@Drombeys) - Удалён модуль `xrSkin2W_SSE` (@Drombeys) - Удалён MSAA в рендере (@Drombeys) - Удалён MSAA в ресурсах (@Drombeys) - Удалён неиспользуемый модуль `ConsoleRender` (@Drombeys) - Исправлен вылет при синхронизации костей (@Drombeys) - Исправлено искажённое отображение стекла на статическом освещении (@Hozar2002) - Исправлено двойное создание `ShaderResourceView` (@Vertver) - Исправлена утечка памяти в классе `CDetailManager` (@Drombeys) - Исправлена загрузка мип-карт (@Drombeys) - Исправлены солнечные тени в xrRender_R2 (@Drombeys) - Исправлены метки на стенах на динамических объектах (@OldSerpskiStalker) - Реализована поддержка `D3D_FEATURE_LEVEL_11_1` (@Vertver) - Реализована команда `r2_cloud_shadows` (@Drombeys, @Hozar2002) - Реализована команда `r2_def_aref_quality` (@Drombeys, @Hozar2002) - Реализовано отключение чтения кеша шейдеров (@Hozar2002) - Реализовано отображение имени узла окна при фокусе курсора (@Hrusteckiy) - Реализован FXAA на статическом освещении (@Hozar2002) - Реализована опциональная параллельная загрузка текстур (@MAYLAYSHEZ) - Реализована поддержка RenderDoc (@ForserX) - Реализовано получение разрешения рендертаргета (@Vertver, @Drombeys) - Реализован SMAA в xrRender_R2 (@Hozar2002) - Реализован контроль текстурного стейджинга для всех рендеров (@MAYLAYSHEZ) - Увеличено значение переменной `rsDVB_Size` (@Drombeys) - Заданы начальные значения переменных класса `CROS_impl` (@Drombeys) - Задано максимальное качество текстур по умолчанию (@MAYLAYSHEZ) ### Геймплей - Добавлен параметр `checkout_bones` для класса `CMissile` (@Shtrecker) - Добавлены команды разработчика с плавающей точкой (@Hrusteckiy) - Добавлено сообщение об исключении в метод `SetCharacterCommunity` (@Drombeys) - Добавлена матрица трансформации левой руки (@Hozar2002, @ForserX) - Добавлен метод для быстрой добавки любого кастомного статика (@Hrusteckiy) - Добавлена проверка существования объекта (@Drombeys) - Добавлена проверка на недогрузку буфера для исправления ошибки воспроизведения (@johncurley) - Удалена команда `dump_infos` из функции `actor_binder:update` (@ForserX) - Удалено дублирование `Fvector2` в методе `CUICellContainer::PlaceItemAtPos` (@ForserX) - Удалён R_ASSERT2 в методе `CUIDialogWnd::HideDialog` (@ForserX) - Включен рэгдолл для тел (@ForserX) - Исправлен экспорт функции `get_wnd_pos` (@Drombeys) - Исправлена команда `hud_fov` (@Shtrecker) - Исправлен расчет позиции предметов в инвентарной сетке (@ForserX) - Исправлены вылеты на несуществующем узле `UIItemInfo` (@Hrusteckiy) - Исправлено отображение аддонов на оружии (@OldSerpskiStalker) - Исправлено отсечение HUD моделей (@Shtrecker) - Исправлено некорректное вращение головы торговца (@Hrusteckiy) - Исправлен некорректный тип, передаваемый в обратный вызов `GameObject::eDeath` (@Drombeys) - Исправлена ошибка недопустимого ID вершины графа уровня (@ForserX) - Исправлено поведение кнопки загрузки последнего сохранения после загрузки уровня (@Hrusteckiy) - Исправлен вывод сообщений в функции `show_dialog` (@Drombeys) - Исправлено перемещение предметов в быстрый слот, если сетка больше сетки слота (@ForserX) - Исправлена логика мутантов в рестрикторах (@ForserX) - Исправлена дисперсия NPC по рангу (@Hrusteckiy, @SurDno) - Исправлено открытие дверей NPC (@ForserX) - Исправлен спавн гранаты после её смены (@Shtrecker) - Исправлены ошибки, связанные с путями спавна (@Drombeys) - Исправлено срабатывание добавления контактов монстров (@ForserX) - Исправлено перемещение в состоянии `mcLookout` (@Shtrecker) - Исправлена подсветка оружия (@ForserX) - Реализован параметр оружия `hud_fov_zoom` (@Drombeys, @Hozar2002) - Реализован элемент управления перекрестия в интерфейсе настройки (@Shtrecker) - Реализована функция пользовательской метки (@Hrusteckiy) - Реализована функция пользовательского текста (@Hrusteckiy) - Реализована настройка элемента управления `UICursor` (@Hrusteckiy) - Реализована настройка элемента управления `UITrackBar` (@Hrusteckiy) - Реализован взрыв гранаты при попадании (@Shtrecker) - Реализована новая система внешних функций (@ForserX) - Реализована остановка анимации получения детектора (@ForserX) - Реализован таймер для новой игры и загрузки сохранения (@MAYLAYSHEZ) - Сделано, чтобы IK останавливался дальше 100 м от позиции актера (@MAYLAYSHEZ) - Перемещён актёр в начало спавна (@ForserX) - Заменён отсутствующий звук на заглушку при использовании в скриптах (@Drombeys) - Заданы начальные значения переменных класса `CStreamReader` (@OldSerpskiStalker) ### Инструментарий (утилиты, плагины) - Добавлен ключ `-all` компиляторам и включены режимы `-do -ai -lc` (@ForserX) - Добавлен исходный код утилиты EFC (@acidicMercury8, @ForserX) - Добавлен проект CMake для MagicFM (@acidicMercury8) - Добавлен проект CMake для Max Material (@ForserX) - Применены мелкие исправления для плагина Max Export (@DJYar, @ForserX) - Применены патчи к плагинам (@DJYar, @ForserX) - Изменён алгоритм расчёта площади треугольника (@abramcumner) - Создана папка плагинов в CMake (@ForserX) - Удалены дублирующиеся и устаревшие файлы из xrAI (@ForserX) - Удалён лимит потоков в утилитах (@ForserX) - Включено резервирование памяти для сжатых узлов в `xrSaveNodes` (@abramcumner) - Включено использование статического буфера в `setup_recalculationflags_file` (@abramcumner) - Исправлены проблемы сборки EFC (@ForserX) - Исправлен цикл в методе `CGraphMerger` (@Drombeys) - Исправлена задание прогресса в `xrPhase_UVmap` (@abramcumner) - Исправлено сохранение файла `build.cform` в xrLC (@ForserX) - Исправлен xrCompress для поддержки многобайтовых функций WinAPI (@ForserX) - Реализован новый алгоритм сохранения лайтмапов (@DimaKuzmin) - Реализовано отображение всех отсутствующих TGA текстур и THM файлов (@ForserX) - Реализован пропуск искажённых фейсов в xrLC (@Drombeys) - Объединены компиляторы в один проект (@ForserX) - Портирован MagicFM на C++20 (@ForserX) - Портирован Max Material плагин на C++20 (@ForserX) - Портированы плагины на х64 (@DJYar, @ForserX) - Портированы плагины на C++20 (@ForserX) - Заменён MMX на SSE в функции `Place_Perpixel` (@ForserX) - Заменён ключ `-keep_temp_files` на `-clear_temp_files` (@ForserX) - Обновлён 3D SDK (@DJYar, @ForserX) - Обновлён проект LW Server (@ForserX) ## Выпуск 0.6.1 (Сентябрь 2023) ### Общее - Добавлены иконки логотипов и TortoiseGit конфиг (@acidicMercury8) - Исправлены ссылки на проекты (@acidicMercury8) ### Движок - Удалён связанный с `boost::noncopyable` код из xrGame (@Drombeys) - Удалена функция `ComputeModuleHash` (@Drombeys) - Удалён модуль `CopyProtection` (@Drombeys) - Удалена функция `is_enough_address_space_available` (@Drombeys) - Удалена функция `IsPCAccessAllowed` (@Drombeys) - Удалён неиспользуемый указатель `pSettingsAuth` (@Drombeys) - Удалены неиспользуемые включения `ttapi` (@Drombeys) - Исправлено неправильное включение заголовка `FastDelegate` (@Drombeys) - Заменен `_snprintf` на `_snprintf_s` в ODE (@Drombeys) - Исправлено неправильное включение файлов заголовков в проекте xrGame (@Drombeys) ### Графика (рендеры, шейдеры) - Исправлено отображение тумана на статическом освещении (@Hozar2002) - Исправлено неправильное включение файлов заголовков в проектах рендеров (@Drombeys) ### Геймплей - Исправлена перезарядка дробовика (@Shtrecker) ## Выпуск 0.6 (Август 2023) ### Общее - Добавлена конфигурация Visual Studio Install (@acidicMercury8) - Добавлены фильтры решений Visual Studio (@acidicMercury8) - Удалены скрипты для получения зависимостей (@acidicMercury8) - Включено получение и кэширование пакетов NuGet в GitHub Actions (@acidicMercury8) - Исправлена большая часть предупреждений (@acidicMercury8, @Drombeys) - Заменен DirectX SDK на NuGet пакет и Windows SDK (@acidicMercury8, @Drombeys) - Заменен DirectXMesh на NuGet пакет (@acidicMercury8, @Drombeys) - Заменен DirectXTex на NuGet пакет (@acidicMercury8, @Drombeys) - Заменен DockPanelSuite на пакет NuGet (@acidicMercury8) - Заменен Flobbster.Windows.Forms на NuGet пакет (@acidicMercury8) - Заменены библиотеки Xiph на NuGet пакеты (@acidicMercury8) - Заменен zlib на NuGet пакет (@acidicMercury8) - Заменены директивы компоновщика ссылками на проекты (@acidicMercury8) - Задана последняя версия Windows SDK (@acidicMercury8) - Разделены пути конфигураций проекта (@acidicMercury8) ### Движок - Удалена библиотека ATI MGPU с сопутствующим кодом (@Drombeys) - Удалена библиотека NVAPI с сопутствующим кодом (@Drombeys) - Удалён связанный с SecuROM код (@Drombeys) - Удалены случаи использования `boost::noncopyable` из редактора и xrPhysics (@Drombeys) - Удалён модуль `dedicated_server_only` и макросы `PROTECT_API` (@Drombeys) - Удалена функция `get_ref_count` (@Drombeys) - Удалён модуль `mailSlot` (@Drombeys) - Удалён модуль `no_single` (@Drombeys) - Удалены случаи использования `std::binary_function` (@Drombeys) - Удалены случаи использования `std::unary_function` (@Drombeys) - Удалён модуль `xrTheora_Surface_mmx` (@Drombeys) - Удалён связанный с лаунчером код (@Drombeys) - Удалены директивы `pragma deprecations` (@acidicMercury8) - Удалён избыточный `DEBUG_INVOKE` (@MAYLAYSHEZ) - Удалено неиспользуемое поле `dwFrame` класса `xrCore` (@Drombeys) - Удалены неиспользуемые модули из xrSound (@vadvalskiy) - Включен вывод лога для подключенного отладчика (@MAYLAYSHEZ) - Исправлена команда консоли `cam_inert` (@MAYLAYSHEZ) - Исправлены случаи использования `std::unique_ptr` (@acidicMercury8) - Исправлена синхронизация костей (@xrLil-Batya) - Исправлены ошибки при пропуске процесса (@MAYLAYSHEZ) - Исправлено игнорирование временных файлов и файлов метаданных локатором (@MAYLAYSHEZ) - Исправлен связанный с OGG код в xrSound (@vadvalskiy) - Реализованы команды консоли `g_info` и `d_info` (@Drombeys) - Реализована команда консоли `g_money` (@Drombeys) - Реализованы команды консоли `g_spawn` и `g_spawn_inv` (@Drombeys, @Hozar2002) - Реализован параметр элемента `hud_fov` (@Shtrecker) - Интегрирован OpenAL Soft с расширениями EFX (@johncurley) - Отрефакторен модуль цветовой математики (@Drombeys) - Отрефакторены некоторые звуковые модули (@johncurley, @vadvalskiy) - Переименован `xrDebugNew` модуль в `xrDebug` (@MAYLAYSHEZ) - Заменены ассемблерные инструкции аналогами (@Drombeys) - Заменено ключевое слово `__interface` на `class` (@Drombeys) - Заменён `__uuidof` на `IID_PPV_ARGS` (@Drombeys) - Заменён `_snprintf` на функцию `_snprintf_s` (@Drombeys) - Заменён ключ `-nointro` на команду `keypress_on_start` (@Drombeys) - Заменены макросы `D3DCOLOR_RGBA`, `D3DCOLOR_ARGB` и `D3DCOLOR_XRGB` (@Drombeys) - Заменён макрос `FS_DEBUG` на `DEBUG` (@Drombeys) - Заменена функция `GetCLK` на унифицированный аналог (@Drombeys) - Заменена функция `GetTickCount` на `GetTickCount64` (@Drombeys) - Заменён `STATIC_CHECK` на `static_assert` (@Drombeys) - Заменены указатели `std::auto_ptr` на `std::unique_ptr` (@Drombeys) - Заменены `std::bind1st` и `std::bind2nd` на лямбда-функции (@Drombeys) - Заменён устаревший DirectX Math на DirectXMath аналог (@Drombeys) - Разделены приложения игрового движка и сервера (@acidicMercury8) ### Графика (рендеры, шейдеры) - Добавлена команда `r2_use_bump` для отключения бампов на R2+ рендерах (@DanceManiac) - Декомпозированы методы создания скриншотов (@Drombeys) - Удалены зависимости Direct3D 10 (@Drombeys) - Удалён связанный с Intel GMA код (@Drombeys) - Удалены неиспользуемые опции во всех рендерах (@Drombeys) - Удалены неиспользуемые методы `accum_direct` (@Drombeys) - Удалён неиспользуемый mipped шум (@Drombeys) - Исправлен сбой HDAO при отключенной оптимизации G-Buffer (@morrazzzz) - Исправлен параметр `MaxAnisotropy` для Shader Model 5 (@OldSerpskiStalker) - Исправлено перечисление определений опций на Direct3D 10+ (@OldSerpskiStalker) - Исправлены некоторые утечки памяти (@OldSerpskiStalker, @Drombeys) - Исправлены солнечные лучи при включенном шейдере `accum_sun_near_nomsaa_minmax` (@OldSerpskiStalker) - Исправлено изменение качества текстур в D3D11 (@Drombeys, @Hozar2002, @mortany) - Исправлено отображение прозрачности на статическом освещении (@Hozar2002) - Исправлено неправильное затухание дальних солнечных теней (@Hozar2002) - Реализована поддержка FXAA (@OldSerpskiStalker, @Drombeys, @Hozar2002) - Реализована поддержка FXAA в ассетах (@OldSerpskiStalker, @Drombeys, @Hozar2002) - Реализована поддержка SMAA (@OldSerpskiStalker, @Drombeys, @Hozar2002) - Реализована поддержка SMAA в ассетах (@OldSerpskiStalker, @Drombeys, @Hozar2002) - Реализован сеттер свойства `mipLodBias` для Direct3D 10+ (@Drombeys) - Реализовано отключение анизотропной фильтрации в Direct3D 10+ (@Drombeys) - Реализован туманный шейдер на статическом освещении (@Hozar2002) - Реализована перезагрузка текстур прямо в игре (@MAYLAYSHEZ) - Улучшена обработка формата буфера глубины (@Drombeys) - Отрефакторен класс `dx11Texture` (@Drombeys) - Заменён блок `asm` на стандартные математические функции (@Drombeys) - Заменён устаревший компилятор шейдеров аналогичным из Windows SDK (@Drombeys) - Заменён устаревший загрузчик текстур на DirectXTex аналог (@Drombeys) - Задан флаг `DXGI_ENUM_MODES_INTERLACED` (@Drombeys) - Разблокирован MSAA x8 (@OldSerpskiStalker) - Обновлены шейдеры до Shader Model 3.0 (@Drombeys, @Hozar2002) ### Геймплей - Включено управление инерцией HUD моделей (@Hozar2002, @Drombeys) - Исправлен индикатор видимости актера после быстрой загрузки (@Hrusteckiy) - Исправлено воспроизведение анимации присоединённого подствольного гранатомета (@Shtrecker) - Исправлены вылеты в режиме настройки HUD моделей (@Shtrecker) - Исправлены вылеты раздвижных дверей (@Drombeys) - Исправлено воспроизведение анимации детектора (@Shtrecker) - Исправлено мерцание предмета после использования (@Drombeys) - Исправлена полёт гранаты (@Shtrecker) - Исправлено действие подствольного гранатомета (@Shtrecker) - Исправлена загрузка боеприпасов в режиме гранатомета (@Shtrecker) - Исправлено смещение номера диалога (@Hrusteckiy) - Исправлено воспроизведение анимации бездействия в пустом состоянии (@Shtrecker) - Исправлено обновление ассортимента у торговцев (@mortany) - Исправлено воспроизведение анимации перезарядки с активным детектором (@Shtrecker) - Исправлены строки и столбцы пояса артефактов (@DanceManiac) - Исправлены заикания после перезарядки подствольного гранатомета (@Shtrecker) - Исправлено воспроизведение анимации переключения (@Shtrecker) - Реализована поддержка иконок 100x100 (@Hrusteckiy, @DanceManiac) - Реализована блокировка движений актера (@Drombeys) - Реализована автоматическая перезарядка подствольного гранатомета (@Shtrecker) - Реализована автоматическая перезарядка оружия (@Shtrecker) - Реализована задержка перед перезарядкой с активным детектором (@Shtrecker) - Реализована полная и неполная перезарядка оружия (@Shtrecker) - Реализован осечка оружия (@Shtrecker) - Реализованы перезарядки для подствольных гранатометов (@Shtrecker) - Реализована блокировка клавишь с помощью скриптов (@Drombeys) - Рефакторинг методов некоторых оружий и детекторов (@Shtrecker) ### Ресурсы - Исправлено условие `object_alive` в скрипте `bind_monster` (@Hozar2002) - Исправлено выравнивание строк текста для диалогов (@Hrusteckiy) - Заданы параметры автоматической перезарядки оружия (@Shtrecker) ### Редакторы - Удалены неиспользуемые файлы ресурсов из редактора погоды (@vadvalskiy) - Исправлено преобразование типов с плавающей точкой в редакторе погоды (@vadvalskiy) - Исправлен проект редактора погоды (@vadvalskiy) ## Выпуск 0.5 (Март 2023) ### Общее - Включена упаковка ассетов (@acidicMercury8) - Частично интегрирован DirectXMesh (@Drombeys) - Заменён `dxerr` на Windows SDK аналог (@Drombeys) - Заменён `stricmp` на POSIX аналог (@Drombeys) - Упрощён запуск скрипта `get-dependencies` (@acidicMercury8) ### Движок - Исправлено переключение языковой раскладки консоли в игре (@Drombeys) - Заменён оператор `delete` на функцию `xr_delete()` в xrXMLParser (@Drombeys) - Заменён вылет на предупреждение при отсутствии звука (@Drombeys) ### Геймплей - Разрешено изменение цвета значка улучшения в конфигах (@Hrusteckiy) - Разрешено использование минимальных и максимальных цветов для двойного индикатора прогресса (@Hrusteckiy) - Отключена подсветка боеприпасов для ножа и бинокля (@Hrusteckiy) - Отключены статы по классу, а не по разделу (@Hrusteckiy) - Включены автосохранения (@Drombeys) - Включено изменение состояния предметов с помощью Num7 и Num8 (@Hrusteckiy) - Включена очистка списков выделения при каждом действии в инвентаре (@Hrusteckiy) - Исправлен цвет иконки персонажа (@Hrusteckiy) - Исправлено воспроизведение анимаций поднятия оружия (@Drombeys, @Hozar2002) - Исправлен индикатор прогресса при необязательном использование `middle_color` (@Hrusteckiy) - Реализована консольная команда `ui_reload` (@Hrusteckiy) ### Графика (рендеры, шейдеры) - Добавлен захват скриншотов в оконном режиме на Direct3D 9 (@Drombeys) - Удалён xrRender_R3 (@Drombeys) - Удалена команда консоли `r2_shadow_cascede_old` (@Drombeys) - Удалены устаревшие алгоритмы TSM во всех рендерах (@Drombeys) - Включено учёт тумана для травы на статическом освещении (@Drombeys, @Hozar2002) - Включено учёт тумана для партиклов (@Drombeys, @Hozar2002) - Включено учёт тумана для валлмарок на статическом освещении (@Drombeys, @Hozar2002) - Включены статические солнечные тени при отключенных каскадах (@Hozar2002) - Исправлены искажения партиклов на Direct3D 10+ (@Drombeys, @Hozar2002) - Исправлен `sload` для правильного отображения ближайших бампов (@Hozar2002) - Исправлен учёт тумана для костров и аномалий (@Drombeys, @Hozar2002) - Исправлены инвертированные цвета и размытость неба на Direct3D 10+ (@MAYLAYSHEZ) - Исправлено отображение партиклов при стрельбе (@Drombeys) - Исправлена потенциальная утечка памяти в диспетчере ресурсов DirectX 10 (@Drombeys) - Исправлено отображение воды на статическом освещении (@Drombeys, @Hozar2002) - Реализована инициализация Direct3D 10 поверх Direct3D 11 (@Drombeys, @Hozar2002) - Реализована тень от актера (@Hozar2002) - Улучшены объемные солнечные лучи на Direct3D 9 (@Drombeys) - Предотвращена запись геометрии с альфа-смешиванием в буфер глубины (@Hozar2002) - Восстановлены тени от травы (@Hozar2002) ### Ресурсы - Добавлено уведомление о перезапуске для команды `r2_sun` (@Drombeys) - Реализован параметр `use_condition` (@Hrusteckiy) - Реализован класс параметров ножа и связанных с ним функций (@Hrusteckiy) ## Версия 0.4 (Сентябрь 2022) ### Общее - Добавлен базовый editorconfig (@acidicMercury8) - Нормализованы окончания строк для корневых файлов (@acidicMercury8) ### Движок - Добавлена консольная команда `read_sun_config` (@Drombeys) - Добавлена консольная команда `set_weather` (@Drombeys) - Добавлена опция `trees_amplitude` к настройкам погоды (@Drombeys) - Добавлен инвентарь для обыска мутантов (@Drombeys) - Отключен `r3_minmax_sm` по умолчанию (@Drombeys) - Отключены случаи использования `MSAA_ATEST_DX10_1_NATIVE` (@Drombeys) - Включен EAX (@Hozar2002) - Включена глубина резкости при перезарядке оружия (@Drombeys) - Включен телепорт с использованием `demo_record` (@Drombeys) - Исправлены ошибки камеры (@Hozar2002) - Исправлено закрытие движка из меню панели задач (@Hozar2002) - Установлено ограничение FPS при отображение интерфейса (@Drombeys, @Hozar2002) ### Графика (рендеры, шейдеры) - Добавлен шейдер для корректного отображения LOD при включенном MSAA альфатесте в Direct3D 10 (@Hozar2002) - Добавлена поддержка захвата кубической карты и карты местности на Direct3D 10+ (@Drombeys, @Hozar2002) - Добавлена поддержка маски рельефа для статического освещения (@Hozar2002) - Включен шейдер `water_soft` для `water_studen` и `water_ryaska` (@Drombeys) - Исправлен MSAA (переопределение `Texture2DMS`) (@Hozar2002) - Исправлено сравнение, приводившее к бесконечному созданию новых объектов на Direct3D 10+ (@Hozar2002) - Исправлен сбой при рендеринге объемного тумана на Direct3D 11 (@Hozar2002) - Исправлено отображение прозрачных поверхностей на HUD моделях (@Hozar2002) - Исправлено отображение водной пены (@Drombeys, @Hozar2002) - Исправлены динамические мокрые поверхности (@Hozar2002) - Исправлен выбор разрешения экрана при отсутствии `user.ltx` (@Drombeys) - Исправлена последовательность инициализации API видеокарт (@Drombeys) - Исправлено отображение скайкубов на поверхности воды с солнечными лучами (@Drombeys) - Исправлены солнечные лучи для различного качества солнца (@Drombeys) - Исправлена прозрачность для статического освещения (@Hozar2002) - Реализована возможность переключения точки входа на определенную версию Shader Model (@Drombeys) - Реализован учёт тумана для воды на Direct3D 9 (@Drombeys, @Hozar2002) - Реализован учёт света для водной пены (@Drombeys, @Hozar2002) - Реализовано учёт skyblend для солнечных лучей (@Drombeys) - Увеличен диапазон ближних каскадов (@Drombeys) - Переопределена точка входа в шейдерах 3D Fluid (@Drombeys) ### Ресурсы - Добавлена подсказка для обыска мутантов (@Drombeys) - Нормализованы окончания строк шейдеров (@acidicMercury8) ## Версия 0.3 (Май 2022) ### Общее - Обновлён `TargetFramework` до .NET Framework 4.7.2 (@acidicMercury8) - Удалена неиспользуемая функциональность Intel VTune (@acidicMercury8) - Удалена неиспользуемая функциональность OpenAutomate (@Drombeys) - Отключена отладка и инкрементальная информация для всех проектов (@acidicMercury8) - Включены GitHub Actions (@acidicMercury8) - Включена x86-64 тулчейн для всех проектов (@acidicMercury8) - Включена многопоточная сборка для всех проектов (@acidicMercury8) - Исправлено множество проблем с линковкой (@acidicMercury8) - Исправлены ошибки компиляции (@acidicMercury8) - Миграция на Visual Studio 2022 (@acidicMercury8) - Заменен dockpanelsuite и обновлен до версии 3.1 (@acidicMercury8) - Заменен бинарный файл Flobbster.Windows.Forms (@acidicMercury8) ### Движок - Удалены макросы `DEF_*` и `DEFINE_*` из расширений STL (@Drombeys) - Исправлено диалоговое окно смены уровня (@Drombeys) - Частично заменены псевдонимы расширений STL на `using` аналоги (@Drombeys) - Метод `clear_and_reserve()` класса `xr_vector` вынесен в отдельную функцию `clear_and_reserve` (@acidicMercury8) - Заменены кастомные `xr_deque` и `xr_vector` на псевдонимы `std::deque` и `std::vector` (@acidicMercury8) ### Графика - Исправлен VSync на всех рендерах (@Drombeys) - Исправлено размытие шрифтов на D3D11 (@Hozar2002) - Исправлена ошибка экспорта света в рендер (@Hozar2002) - Заменён путь к `shaders_cache` во всех рендерах (@Drombeys) ### Ресурсы - Добавлены игровые ресурсы (@acidicMercury8) - Нормализованы окончания строк скриптов (@acidicMercury8) ## Версия 0.2 (Ноябрь 2021) ### Общее - Исправлены ошибки компиляции (@acidicMercury8) - Миграция на Visual Studio 2015 (@acidicMercury8, @Drombeys) - Заменены некоторые кастомные функции и типы на аналоги стандартной библиотеки (@acidicMercury8, @Drombeys) ### Движок - Изменён коэффициент угла обзора на `67.5` (@Drombeys) - Отключен захардкоженный GUID DirectX (@Drombeys) - Исправлен ключ `-nointro` (@Drombeys) - Исправлена работоспособность конфигурации `Debug` (@acidicMercury8) - Исправлена ошибка фокуса окна (@Hozar2002) - Удалены BugTrap и minizip (@Drombeys) - Заменён класс `debug::make_final` на спецификатор C++11 `final` (@Drombeys) - Заменены устаревшие функции на безопасные и современные аналоги (@acidicMercury8) - Разблокированы консольные команды: `hud_fov`, `fov`, `jump_to_level`, `g_god`, `g_unlimitedammo`, `run_script`, `run_string`, `time_factor` (@Drombeys) ### Утилиты - Неполностью интегрирован DirectXTex (@acidicMercury8) ## Версия 0.1 (Март 2021) ### Общее - Настроена сборка проектов аудио библиотек и OpenAutomate (@Drombeys, @acidicMercury8) - Настроена сборка проектов движка и редактора (@acidicMercury8) - Исправлены ошибки компиляции (@acidicMercury8) - Исправлено отображение окон в проектах редакторов (@acidicMercury8) - Миграция на Visual Studio 2013 (@acidicMercury8) ### Движок - Исправлено растяжение скайбоксов (@Drombeys) - Исправлено зациклиние и порча стека на `NODEFAULT` (@acidicMercury8)