OGSR Project - Evolution of X-Ray Engine for S.T.A.L.K.E.R.: Shadow of Chernobyl
Исправлена ошибка, обнаруженная в прошлых версиях
SCREEN SPACE SHADERS Addon обновлён до v19.
Оживлён объёмный дым r3_volumetric_smoke
- можно расставлять на локациях в SDK и он будет работать.
Добавлена поддержка отладки рендера с помощью RenderDoc.
Добавлена поддержка Anomaly-style распакованных партиклов.
Добавляем в fsgame.ltx
:
$game_particles$ = true| false| $game_data$| particles\
Пишем в консоли particles_export
- двиг распакует все загруженные партиклы в текстовый формат. После этого двиг будет всегда читать распакованные партиклы из этой папки вместо файлов particles*.xr
, если эта папка не пуста. Можно после редактирования распакованных партиклов используя конс. команду particles_import
упаковать их обратно в один particles_cop.xr
файл в ЗП-формате (это важно, партиклы в ЗП-формате должны быть названы именно так, т.к. имеют отличия от ТЧ-формата партиклов и читаются немного по-другому.) Стоит заметить, что запуск двига с распакованными партиклами происходит немного дольше.
Добавлена поддержка распаковки shaders.xr
.
Чтобы распаковать, в консоли должна быть активирована команда shaders_xr_export
. После запуска двига, двиг распакует этот файл в текстовый shaders.ltx
и после этого будет читать только этот конфиг вместо .xr файлов. Распакуется как shaders.xr
, так и shaders_cop.xr
(ЗП-вариант, если он есть).
Добавлен редактор для звуковых зон (запускается как и редактор погоды по SHIFT
+ F10
)
После редактирования настройки зон сохранятся в текстовом формате senvironment.ltx
и после этого двиг будет читать только этот конфиг вместо senvironment.xr
. Просто распаковать senvironment.xr
можно активировав консольную команду senvironment_xr_export
.
Добавлена консольная команда dbg_lalib_dump
для дампа в лог текущего ELightAnimLibrary
. Редачить его в тексте смысла нету - проще в SDK, но каждый раз искать что там - напряжно.
Добавлена поддержка круглой миникарты и часов на ней. Пример настройки:
<minimap rounded="1" alpha="220">
<level_frame x="75" y="670" width="172" height="172" stretch="1" alignment="c"/>
<background width="350" height="380" stretch="1" alignment="c">
<texture></texture>
<dist_text x="75" y="3" width="100" height="20">
<text align="r" font="letterica16" color="ui_clr_1" />
</dist_text>
</background>
<clock_wnd x="18" y="170" width="39" height="16" alignment="c">
<text x="0" y="0" font="letterica16" color="ui_clr_1" align="c" vert_align="c" />
</clock_wnd>
<compass x="75" y="670" width="192" height="192" stretch="1" heading="1" alignment="c">
<texture></texture>
</compass>
<center width="4" height="4" alignment="c" stretch="1" heading="1">>
<texture></texture>
</center>
</minimap>
[custom_keyboard_action]
dlg_quickaction = kDLG_QUICKACTION
в config\ui\ui_keybinding.xml
:
<command id="kb_dlg_quickaction" exe="dlg_quickaction" />
в config\ui\carbody_new_16.xml
:
<take_all_btn x="765" y="727" width="157" height="48" highlight_text="1" accel_action="dlg_quickaction">
...
</take_all_btn>
НО из-за того, что двиг все кнопки биндит без контекста, это не так удобно. Нельзя например в диалоге повестить туже кнопку что и на бег в игре.
light_volumetric_enable = true
light_volumetric_quality = 0.9
light_volumetric_intensity = 0.05
light_volumetric_distance = 0.3
idle_light_volumetric_enable = true
idle_light_volumetric_quality = 0.9
idle_light_volumetric_intensity = 0.05
idle_light_volumetric_distance = 0.4
local lamp = self.object:get_hanging_lamp()
lamp:set_volumetric( true )
lamp:set_volumetric_quality( 0.9 )
lamp:set_volumetric_intensity( 0.05 )
lamp:set_volumetric_distance( 0.3 )
set_position
, set_direction
, set_orientation
, last_position
из Anomaly и добавлена возможность играть партиклы в худовом режиме: :play(true)
/ :play_at_pos(pos, true)
.dbg_string_table_error_msg
, чтобы собирать непереведённые строки в лог.r_lens_flare
для вкл/выкл флара от солнца.-use-work-dir
. С ним двиг будет искать fsgame.ltx
в рабочей директории.dont_interrupt_shot_anm
для оружия по умолчанию отключено - всё таки это нужно только для Gunslinger Mod.dont_interrupt_shot_anm = true ;Не прерывать анимацию выстрела чтобы гильза успела вылететь, т.к. в гансе гильзы являются частью анимации выстрела
is_gunslinger_weapon = true ;Специальный флаг чтобы двиг понимал что это ствол из Gunslinger Mod и к нему надо применить фикс создания физ. оболочки для избежания ошибок с этим связанных.
BC7
и не требует наличия в системе d3dx*.dll
g_prefetch
.ui_shader
для ускорения работы UIstd::packaged_task
r_mt_rain
)r_mt_details
)r_mt_sun
)r_mt_texload
)UTF-8
. Шрифты с поддержкой UTF-8
можно генерировать используя Fonts_generator. Обратная совместимость с ANSI
-символами, детект UTF-8 BOM
и прочие нюансы учтены.[ui_font_bender]
shader = font
texture = ui\ui_font_bender ;Текстура сгенерированного шрифта большого размера
scale_x = 0.5 ;Уменьшаем в два раза высоту
scale_y = 0.5 ;Уменьшаем в два раза ширину
interval = 1, 0.75 ;Можно регулировать интервал между буквами сверху и сбоку.
alJustified
для скриптов, align="j"
для xml)a_static
, anim_static
)intro_l01_escape_1.dds
, intro_l01_escape_2.dds
, 3
, 4
, ...
)ui_st_money_descr
bullet_bones = bullet_1, bullet_2, bullet_3, bullet_4, bullet_5, bullet_6, bullet_7, bullet_8, bullet_9, bullet_10, bullet_11, bullet_12
dont_interrupt_shot_anm
(по умолчанию выкл.) - давать ли доиграть анимацию выстрела после выстрела. Не на всех оружиях это хорошо выглядит, только для стволов из Gunslinger подходит отличноscope_texture_autoresize = false
, например для широкой текстуры бинокляShift
+ F10
png
NUM+
/NUM-
есть не на каждой клавиатуре-insert_graph
. Такие спавны не требуют глобального game.graph
и локальных level.gct
, level.graph
. При отсутствии данного чанка (с графами) в файле спавна, игра будет загружать game.graph
и спавн, как раньше.[engine_callbacks]
; Если вернуть false - движок не будет поднимать предмет
actor_on_item_before_pickup = ogsr_actor_animation.on_item_before_pickup
level.iterate_nearest
и каллбеки on_footstep
, on_actor_land
, on_actor_jump
из Anomalydbg_draw_skeleton
1.23.1
CRandom
) теперь использует std::mersenne_twister_engine
и работает намного лучшеMimalloc обновлён до v2.0.9
ScreenSpaceShaders addon обновлён до версии 14.9
Починен и работает EAX
Добавлено переключение режимов огня колёсиком мыши. Переключения не циклическое. Т.е. дойдя в одну сторону до одиночного режима, а в другую - до автоматического - далее на другой режим уже переключаться не будет. Таким образом можно быстро переключиться на одиночный или автоматический режим, просто сильно крутанув колёсико.
Восстановлен зум для мини карты который был в билдах. Работает по Shift
+ NUM+
\ NUM-
.
Добавлена консольная команда g_spawn_to_inventory
Добавлены новые параметры для создания контактных гранат:
explosion_on_kick = true ;делает гранату контактной
safe_dist_to_explode = 10 ;минимальная дистанция для контактного взрыва
explode_by_timer_on_safe_dist = true ;по сути влияние safe_dist_to_explode на взрыв по таймеру. Если true - грена будет взрываться даже в пределах safe_dist_to_explode по таймеру.
Восстановлен псевдо-респавн артов в аномалиях, который был в ТЧ. Включается опцией enable_spawn_artefacts
.
...Многочисленные багфиксы и прочие изменения...
Full Changelog: https://github.com/OGSR/OGSR-Engine/compare/2.1.402...2.1.406
Адаптирован Screen Space Shaders addon - SSDO, SSR, лужи, DOF, FOG, и тд. Переработано меню настроек графики, кол-во настроек уменьшено, сделано более понятным как в современных играх.
Адаптирована консоль из Anomaly, добавлена команда g_console_show_always
- для рендеринга лога консоли всегда
OpenAL Soft обновлён до версии 1.22.2
Mimalloc обновлён до актуальной версии
Исправлены проблемы с IReader, который иногда вызывал memory corruption при чтении файлов моделей и не только.
Добавлена поддержка скриптовых анимаций из Anomaly
Поддержка _start_k
для анимаций. Значение от 0,001
до 1
hud_movement_layers
из Anomaly
[hud_movement_layers]
;types: 0 = aim_walk, 1 = aim_crouch, 2 = crouch, 3 = walk, 4 = run, 5 = sprint
;type path speed power
movement_layer_0 = movement\aim_walk.anm, 1, 0.85
movement_layer_1 = movement\aim_walk.anm, 0.75, 0.5
movement_layer_2 = movement\newwalk.anm, 1, 0.1
movement_layer_3 = movement\newwalk.anm, 1, 0.1
movement_layer_4 = movement\newwalk.anm, 1.25, 0.125
movement_layer_5 = movement\newrunreload.anm, 1, 0.15
Добавлен для дробовиков звук snd_add_cartridge_empty
и анимации anm_reload_jammed
, anm_reload_jammed_last
Добавлена поддержка ЗП-формата партиклов. Миксовать эффекты из ЗП и ТЧ в один .xr нельзя. ЗП эффекты должны быть в отдельно файле в имени которого должно быть particles_cop.xr
. Пусть сначала грузиться particles_cop.xr
(если он есть) в ЗП формате, а потом уже particles.xr
(если есть) в обычном формате и добавит только то чего не хватает. Так логичнее всего подключать ЗП\Аномали партиклы.
Скрины для сохранок делаются в более высоком качестве
Убрано перекрестье при перезарядке и беге
Доделаны советы при загрузке в новом виде
Починен параметр width_correction
у шрифтов, и поэтому переименован в font_width_correction
Экспорт в шейдеры fog_params.y
--> fog_near, fog_params.z
--> fog_far. Может когда-то пригодятся.
Различные изменения для скриптов:
snd_obj:set_start_time(0.5) -- для sound_object добавлен метод для установки позиции начала звука
sobj.visual_name = "новый_визуал" -- для серверных объектов имеющих визуал так можно читать/изменять название визуала
-- Возможность открывать на чтение\запись ltx файлы в любом каталоге: --
local setting_ini = ini_file(full_name, false) -- false тут нужен, значит файл будет искать как указано, без привязки к configs
setting_ini.readonly = false -- обязательно при сохранении
setting_ini:w_string("setting", "string_param", "string_value123")
setting_ini:w_bool("setting", "bool_param", true)
setting_ini:w_float("setting", "float_param", 123.123)
setting_ini:save()
----------------------------------------------------------------------------
sobj:set_health(0.5) -- можно менять здоровье для серверного объекта
obj:setVisible(false) -- отключить рендеринг клиентского объекта, можно так скрывать объекты
local slot_n = obj:get_slot() -- возвращает номер слота (u8), в котором находится этот предмет.
-- Добавлен флаг `FS.FS_NoLower` чтобы file_list_open_ex не приводил имен а файлов к нижнему регистру
local flist = getFS():file_list_open_ex( "$game_saves$", FS.FS_ListFiles + FS.FS_ClampExt + FS.FS_RootOnly + FS.FS_NoLower, "*.sav" )
flist:Sort(FS.FS_sort_by_modif_down)
for file in flist:GetAll() do
wnd:AddItemToList( file:NameFull(), file:Modif() )
end
-- Добавлен третий аргумент в sound_object что б играть звук как музыку (по сути только громкость будет регулироваться через ползунок громкости музыки в меню). Значения: `sound_object.effect` (дефолт) и `sound_object.music`.
local snd = sound_object(path, 0, sound_object.music)
-- Экспорт `CMainMenu:IsActive()` -- не понятно зачем это надо но пусть будет
-- Добавлен каллбек `entity_alive_before_hit` для классов `CCar` & `CHelicopter`
; Замена шейдеров в визуалах
[vis_shaders_replace]
; шейдер тесселяции: models\model -> models\model_pn. Должен присутствовать в shaders.xr!
actors = models\model,models\model_pn, models\weapons,models\model_pn, models\artefact,models\model_pn, models\artefact2,models\model_pn
new = models\model,models\model_pn, models\weapons,models\model_pn, models\artefact,models\model_pn, models\artefact2,models\model_pn
monsters = models\model,models\model_pn
dynamics\weapons\wpn_hand = models\model,models\model_pn, models\weapons,models\model_pn
; Т.е. тут обрабатываются все визуалы, у которых в пути есть `dynamics\weapons\wpn_hand`. В качестве значения указываются пары что на что менять.
std::format
, и тд.
Теперь двиг поддерживает погоду из Зова Припяти. Тип погоды определяется по наличию специфичных для этой погоды строк в fsgame.ltx
. Если их нет - используется ТЧ-стайл погода.
Починен и возвращён оптимизированный MSAA. Крайне рекомендуется к использованию, потому что хорошо сглаживает провода и полупрозрачную геометрию. На настройках 2х/4х жрет не очень много fps.
В меню добавлена настройка размера шрифтов - особенно пригодится обладателям мониторов с сверхвысокими разрешениями. Регулируется ширина и высота шрифтов конс. командами g_font_scale_x
, g_font_scale_y
.
Возвращена многопоточная загрузка текстур. Теперь она даёт очень существенное ускорение загрузки игры. Управляется конс. командой r_mt_texload
и соотв. опцией в меню.
Реализовано Anomaly-style разделение расчетов худа для предметов в левой и правой руках + новая система коллизии худа для OGSR GA.
Добавлена поддержка 90% анимаций для оружия из Gunslinger Mod
Добавлена поддержка 3D PDA. Важный нюанс: для его работы слот пда должен быть активируемым:
[inventory]
slot_visible_8 = true ;pda
Переписан настройщик худа, теперь в нём можно настраивать позиции лазера и фонаря.
Добавлен настройщик положения оружия от третьего лица. Можно настроить положение оружия как у актора от 3 лица, так и у НПС. Настройка для состояния за спиной у нпс тоже работает.
Для включения режима настройки наводим курсор на НПС и набираем в консоли dbg_adjust_attachable_item имя_секции_оружия
или (что более удобно) dbg_adjust_attachable_item_in_slot номер_слота
.
LSHIFT
+ Z
/X
/C
+ PageUP
/PageDown
- настройка position (x,y,z)
LALT
+ Z
/X
/C
+ PageUP
/PageDown
- настройка rotation (x,y,z)
LSHIFT
+ ENTER
- сохранение результатов в папку logs/_world/
Шаги для настройки регулируются командами adjust_delta_pos
, adjust_delta_rot
Добавлена SFZ-стайл тряска рук при воздействии пси-ауры мутантов. Интенсивность тряски регулируется через controller_amplitude
в секции [wpn_bobbing_effector]
Добавлено скриптовое управление demo_record:
level.demo_record_start()
level.demo_record_stop()
local HPB = level.demo_record_get_HPB()
level.demo_record_set_HPB(HPB)
-- направление
-- HPB.x Left\Right
-- HPB.y Up\Down
-- HPB.z Rotate Left\Rotate Right
local position = level.demo_record_get_position()
level.demo_record_set_position(position)
-- position x y z как обычно на уровне
level.demo_record_set_direct_input(true/false) -- управление прямым вводом
Так же поправлено управление игрой в режиме demo record. Включается на *
(звездочку DIK_MULTIPLY
)
Эффекты ppe теперь должны отображаться в режиме от 3 лица. Так же добавлена команда g_effects_on_demorecord
что б эффекты были и в режиме demo_record.
Добавил метод game.stop_tutorial
и ЗП-стайл экшены для туториалов типа такого:
<action id="use" finalize="1">xr_effects.pri_a18_use_idol</action>
ogm
видео теперь тоже поддерживает регулировку прозрачности, как и обычные текстуры. Примеры:XML:
<!-- color_alpha="192" указывает, что текстура будет иметь 25% прозрачности. Значение от 0 до 255, от полностью прозрачной (не видимой) до полностью оригинальной текстуры. При отсутствии этого параметра текстура показывается как есть, т.е. без доп. прозрачности. -->
<hud_gaz_blue x="0" y="0" width="1024" height="768" stretch="1" color_alpha="192"
light_anim="ui_slow_blinking_alpha" la_cyclic="1" la_texture="0" la_text="1" la_alpha="1" priority="30">
LUA:
local cs = get_hud():GetCustomStatic( hud_static )
cs:wnd():SetColorA( 128 ) --Здесь SetColorA установить прозрачность статика в 50%.
cs:wnd():SetColorA( 255 ) -- Этот вызов вернет статик к его оригинальному виду, т.е. без доп. прозрачности.
local item = db.actor:active_item()
if item then
item:dump_visual_to_log() --Распечатать в лог информацию о мешах и костях модели - мировой и худовой, если худовая доступна.
log3("--Mesh count of [%s]: [%s]", item:name(), item:get_mesh_count_hud()) --вывести кол-во мешей в худовой модели.
item:set_show_model_mesh_hud(0, false) --Установить видимость меша для худовой модели, в данном случае скрыть нулевой.
local shown = item:get_show_model_mesh_hud(0) --узнать показан ли меш
--Тоже самое для мировых моделей, подойдет для любых объектов наверно, не только для оружия.
item:set_show_model_mesh(4, true)
item:get_show_model_mesh(4)
item:get_mesh_count()
end
volumetric_for_actor
для управления объёмным светом фонаря актора, т.к. у актора объемный свет выглядит не очень красиво.show_wnd_rect_names
для показа имён статиков при отладке UI.g_mouse_wheel_switch_slot
и соотв. опция в меню.hud_fov
из конфига оружияCartridgeInTheChamberEnabled = true
[features]
:;Игнорировать ошибки парсинга xml (в ТЧ они встречаются даже в оригинальной игре)
skip_shoc_xml_errors = true
snd_aim_start
, snd_aim_end
, snd_close_weapon_empty
r_terrain_parallax_enable
и соотв. опция в меню.-WW
для worldwide формата архивов, добавлен игнор пустых папок, добавлены настройки игнорируемых имен файлов, а не только расширений (см. xrCompress_Cfg.ltx
)ai_use_torch_dynamic_lights
будет управлять объемным светом фонарей нпс, если он включен для них. Ранее эта команда не работала вообще.models\transparent
models_lfo_light_dot_weapons
PlaySound("filename")
в класс меню.system.ltx
:[mod_ver]
mod_ver = "OGSR: Gunslinger Addon"
так будут активированы необходимые для него фиксы. Затычка от крашей в ode.dll например.
Значимых изменений не много, потому что в основном идёт работа над OGSR:Gunslinger Addon. Какие-то новые баги тоже вполне могут быть.
Обновлён OpenAL Soft до версии 1.21.1
Добавлены инструменты для настройки UI в пикселах на мониторе конечного юзера, а не в координатной системе 1024х768. Это нужно что бы можно было избежать растянутого UI на широких мониторах, например ( #378 ).
При включении атрибута as_is="1"
в конфиге, GUI элементы будут читать координаты в пикселах конечного монитора, а не в сетке 1024х768 как было в ванили. Поэтому размеры и координаты в GUI-конфигах придется править, чтобы выглядело нормально и влезало в экран. Скорее всего придется поэкспериментировать. Но зато когда правкой конфигов удастся получить хороший результат, этот результат будет таким же хорошим для всех мониторов.
Для drag-drop элементов так же добавлен атрибут as_is
, чтобы иконки инвентаря сохраняли правильные пропорции при любом отношении сторон экрана.
Так же для drag-drop элементов добавлен атрибут autocalc
(0 or 1) управляющий автокалькуляцией размера и количества ячеек. Иконки инвентаря авто-масштабируются в сторону уменьшения, если это необходимо для того чтобы в драгдроп-лист вместилось то число ячеек, что указано в его конфиге. Драгдроп-лист до-заполняется дополнительными ячейками в ширину или высоту, до полного заполнения, если после применения вышеописанных манипуляций в нем осталось свободное место. Размер ячеек регулируется новым атрибутом cell_size
(по умолчанию 50), старые атрибуты cell_width
, cell_height
не используются.
Сделал нормальную интерактивность тракбаров, в т.ч. для скриптов. Добавлен UI-евент TRACKBAR_CHANGED
, и добавлен метод тракбара GetTrackValue
. Пример использования в Lua:
self:AddCallback(
"control_"..opt,
ui_events.TRACKBAR_CHANGED,
function()
--log('TRACKBAR_CHANGED(%s) : %3.3f', opt, ctl:GetTrackValue())
end
)
GetColorFromText с поддержкой ARGB или RGB. Более "дружелюбное" чтение конфигов. Автоматически понимает, в каком формате цвет - RGB или ARGB. Не генерирует вылет в случае невалидной кодировки.
Вывод дополнительной информации при вылете 'wrong fixed bone'.
Добавлено больше ассертов на манипуляции с костями, т.к. если двиг пытается что-то делать с несуществующей костью - это не безопасная ситуация.
Добавлена опция volumetric_for_actor
для фонарика, чтобы для актора объемный свет можно было отключить, т.к. он только у нпс красиво выглядит.
Псевдо-коллизию камеры можно выключать командой g_camera_collision
Добавлена конс. команда show_wnd_rect_names
для показа имён статиков при их отладке.
Добавлена конс. команда g_mouse_wheel_switch_slot
взамен старой опции в конфиге.
Изменено имя окна. Движок больше не детектируется как CoP.
Добавлен режим более строгой проверки синтаксиса xml файлов
;Игнорировать ошибки парсинга xml (в ТЧ они встречаются даже в оригинальной игре)
skip_shoc_xml_errors = true
Значимых изменений не много, потому что в основном идёт работа над OGSR:Gunslinger Addon. Какие-то новые баги тоже вполне могут быть.
Обновлён OpenAL Soft до версии 1.21.1
Добавлены инструменты для настройки UI в пикселах на мониторе конечного юзера, а не в координатной системе 1024х768. Это нужно что бы можно было избежать растянутого UI на широких мониторах, например ( #378 ).
При включении атрибута as_is="1"
в конфиге, GUI элементы будут читать координаты в пикселах конечного монитора, а не в сетке 1024х768 как было в ванили. Поэтому размеры и координаты в GUI-конфигах придется править, чтобы выглядело нормально и влезало в экран. Скорее всего придется поэкспериментировать. Но зато когда правкой конфигов удастся получить хороший результат, этот результат будет таким же хорошим для всех мониторов.
Для drag-drop элементов так же добавлен атрибут as_is
, чтобы иконки инвентаря сохраняли правильные пропорции при любом отношении сторон экрана.
Так же для drag-drop элементов добавлен атрибут autocalc
(0 or 1) управляющий автокалькуляцией размера и количества ячеек. Иконки инвентаря авто-масштабируются в сторону уменьшения, если это необходимо для того чтобы в драгдроп-лист вместилось то число ячеек, что указано в его конфиге. Драгдроп-лист до-заполняется дополнительными ячейками в ширину или высоту, до полного заполнения, если после применения вышеописанных манипуляций в нем осталось свободное место. Размер ячеек регулируется новым атрибутом cell_size
(по умолчанию 50), старые атрибуты cell_width
, cell_height
не используются.
Сделал нормальную интерактивность тракбаров, в т.ч. для скриптов. Добавлен UI-евент TRACKBAR_CHANGED
, и добавлен метод тракбара GetTrackValue
. Пример использования в Lua:
self:AddCallback(
"control_"..opt,
ui_events.TRACKBAR_CHANGED,
function()
--log('TRACKBAR_CHANGED(%s) : %3.3f', opt, ctl:GetTrackValue())
end
)
GetColorFromText с поддержкой ARGB или RGB. Более "дружелюбное" чтение конфигов. Автоматически понимает, в каком формате цвет - RGB или ARGB. Не генерирует вылет в случае невалидной кодировки.
Вывод дополнительной информации при вылете 'wrong fixed bone'.
Добавлено больше ассертов на манипуляции с костями, т.к. если двиг пытается что-то делать с несуществующей костью - это не безопасная ситуация.
Добавлена опция volumetric_for_actor
для фонарика, чтобы для актора объемный свет можно было отключить, т.к. он только у нпс красиво выглядит.
Псевдо-коллизию камеры можно выключать командой g_camera_collision
Добавлена конс. команда show_wnd_rect_names
для показа имён статиков при их отладке.
Добавлена конс. команда g_mouse_wheel_switch_slot
взамен старой опции в конфиге.
Изменено имя окна. Движок больше не детектируется как CoP.