Движок для Сталкер Тени Чернобыля версии 1.0006
Цели проекта:
- Исправление ошибок оригинального движка
- Улучшение графики и оптимизация
- Обновление компонентов движка
- Внедрение новых возможностей для разработчиков
Основные изменения:
- Полностью рабочий x64
- Обновлён LuaJIT до последней версии 2.1
- Обновлён Luabind
- Графика из ЗП, с исправлениями и нововведениями. Работают все рендеры включая DX10 и DX11
- Звуковой движок из ЗП + поддержка OpenAl Soft и EFX
- Вырезано огромное кол-во устаревшего и ненужного API, в т.ч. сетевого и мультиплеерного
- Перенесена большая часть правок оригинального OGSE и Xray Extensions, а так же из X-Ray Engine by Alpet & KD
Ещё больше изменений (ВНИМАНИЕ! Много текста.):
- Расширения для диалогов
- Акселераторы к ответам в диалогах, как в ЗП
- Новые свойства и настройки для артефактов
- Восстановление функции рождения артефактов при срабатывании аномалии
- Движок поддерживает ogf-модели, экспортированные через SDK 0.7
- Работает нормальный режим игры от третьего лица, чтобы можно было стрелять по направлению камеры, курсор прицела не скрывается, фонарик светит куда надо и тп.
- Добавлены плавные приседания и выглядывания. Скорость можно регулировать командами g_cam_height_speed и g_cam_lookout_speed
- Добавлена пауза после загрузки сейва в стиле ЗП, но, в отличие от ЗП, сделана полностью в движке. Включается консольной командой keypress_on_start
- Добавлены новые консольные команды:
rs_always_active -- включить режим, в котором игра не будет вставать на паузу при переключении на другие окна.
g_zones_dbg -- Включить визуальную отладку рестрикторов, аномалий, переходов, лестниц и прочих зон игре.
g_vertex_dbg -- Включить визуальную отладку АИ-сетки в игре.
g_crosshair_dbg -- Принудительный показ перекрестья прицела, для настройки прицеливания, например.
g_music_tracks -- Включить музыкальный эмбиент.
g_ammunition_on_belt -- Включить использование патронов только с пояса
g_spawn <section_name> -- Спавн предмета по имени секции
hud_draw -- Показать/скрыть худ.
hud_adjust_mode -- Настройка прицеливания для оружия. Вот видео, как ей пользоваться: https://www.youtube.com/watch?v=kIcXzWVR2xI
show_wnd_rect -- Визуальная отладка UI в игре
show_wnd_rect_all -- Визуальная отладка UI в игре
jump_to_level <level_name> -- быстрый переход на нужный уровень
time_factor -- Команда для перемотки времени. Заоблачные цифры выставлять не рекомендую, движок может заклинить
hud_crosshair_build -- включить круглый курсор, как в билдах.
rs_hw_stats --показ статистики нагрузки CPU
hud_small_font --включить мелкий шрифт
set_weather --команда для изменения погоды
input_exclusive_mode --команда для настройки режима захвата клавиатуры/мыши. По умолчанию должно быть включено. Выключать только тем, кому надо чтобы после запуска движка не блокировались мультимедийные клавиши на клавиатуре. Но при отключении может возникнуть множество различных проблем на системах с несколькими мониторами и не только из-за недозахвата управления. Здесь, в отличие от ЗП, значение этой команды сохраняется в user.ltx.
И много чего ещё,всё будет в источнике.
Обновление 2.1.359
- Добавлена поддержка ЗП-стайл детекторов в руках.
Простой и средний детекторы полностью работают как в ЗП, элитный детектор с экраном работает по огсе-системе (артефакты, аномалии и квестовые штуки на нем рисуются шейдером с управлением из скриптов, а не через рендер ui - у меня он по не понятным причинам не работает, для моих целей это и не нужно, поэтому я особо на это время не тратил. Если у кого-то есть желание помочь - я буду только рад.) Увеличил лимит на кол-во показываемых аномалий и артефактов, которые шейдер может нарисовать на экране детектора - было 8 , стало 24.
По причинам выше, ui_detector_artefact.xml сделан не обязательным.
Старый класс детекторов без худа переименован в CCustomDetectorSHOC, они будут работать как раньше без изменений.
Добавлена возможность детектировать все артефакты добавив в конфиг детектора:
af_class_all = true
af_sound_all_ = detectors\art_beep1
af_freq_all = 0.05, 2
Добавил для скриптов проверку get_actor_obj():IsDetectorActive() - так можно проверять, находится ли детектор в руках актора в данный момент.
Артефактам в конфиг добавились параметры af_rank, can_be_controlled, det_show_particles, det_hide_particles, particles_bone, det_show_snd, det_hide_snd из ЗП. Я так понимаю для того чтобы можно было делать арты невидимыми (не тестировалось)
Детектор можно держать в руках месте с болтом, ножом или предметом которому прописан первый слот (пистолетный).
Сделали ганслингер-стайл эффекты выглядываний. Добавились новые параметры для оружия (по умолчанию в движке такие же значения как тут):
lookout_enabled = true
lookout_transition_time = 0.25
lookout_hud_offset_pos = 0.045, 0.0, 0.0
lookout_hud_offset_rot = 0.0, 0.0, 10.0
lookout_aim_enabled = true
lookout_aim_transition_time = 0.15
lookout_aim_hud_offset_pos = 0.0, 0.0, 0.0
lookout_aim_hud_offset_rot = 0.0, 0.0, 15.0
Добавлена поддержка многих анимаций для оружия (анимации moving будут работать если выключен bobbing эффектор конечно же):
anm_shoot*
anm_idle_aim_start*
anm_idle_aim_end*
anm_idle_moving_crouch*
anm_idle_moving_slow*
anm_idle_aim_moving*
anm_idle_aim_scope_moving*
anm_idle_aim_g ; - тоже самое что и anm_idle_g_aim
anm_idle_aim_w_gl ; - тоже самое что и anm_idle_w_gl_aim
Добавил для аномалий параметр DestroyAfterBlowout, чтобы можно было удалить мины после их взрыва. Мины же на классе аномалий сделаны.
Добавил для скриптов проверку db.actor:active_item():get_weapon():UseScopeTexture() - показывает, использует ли оружие текстурный прицел в данный момент.
Скриптовый каллбек на нажатие клавиши перенесен в другое место, чтобы он срабатывал в ui.
В скриптовый каллбек article_info передается ещё один аргумент - текст артикла.
В scope_bone можно указывать несколько костей через запятую.
Исправлен вылет при попытке снять прицел с оружия находящегося в ящике, а не в инвентаре.
Пофиксил растянутую иконку заряда рпг на худе.
Исправлена работа консольной команды g_spawn.
Поправлен баг с анимациями разряженного пистолета.
Убрана квантизация параметров анимаций при их загрузке.
Т.к. изменений/переделок в коде движка довольно много, весьма вероятно, что в этой версии могут быть новые баги, которых мы пока не заметили.
комментариев нет