OpenXRay / xray-16

Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World. Join OpenXRay! ;)
https://discord.gg/sjRMQwv
Other
3k stars 454 forks source link

возможные баги и не только #214

Closed JIuBeP closed 5 years ago

JIuBeP commented 6 years ago

win7 x64 ЗП двиг open xray 1.6 x86 30.05.2018 -вылеты stack_trace во время выброса ближе к окончанию -в инвентаре используемое оружие снимается пкм st_unequip -в диалогах иногда приходится кликать по несколько раз чтобы он выбрался, также много строк текста иногда накладываются друг на друга, к примеру прокликав несколько раз -почему в логе консоли пишется о инвалид вертексах? -встречался баг с физикой трупа сталкера, когда его раскрутило во все стороны, жутко проседал фпс -после перезарядки обреза на мгновение резко смещается камера Еще пара вопросов: Можно ли сделать так как было в ТЧ при смерти гг камерой можно покрутить вокруг оси и использовать консоль? в ЗП блокируется можно разблокировать команды регулировки fov? в настройках рендера ниже есть только улучшенное полное освещение (не open gl), это dx9? а то фич там с 10, 11 не видно. поддержка api vulkan не планируется? вроде же лучше чем open gl... было бы очень круто и универсально для многих систем

Xottab-DUTY commented 6 years ago

-вылеты stack_trace во время выброса ближе к окончанию

Можно лог вылета? Или сразу отчёт BugTrap..

-в инвентаре используемое оружие снимается пкм st_unequip

Не понял :smiley:

-в диалогах иногда приходится кликать по несколько раз чтобы он выбрался, также много строк текста иногда накладываются друг на друга, к примеру прокликав несколько раз

Можешь проверить на последнем релизе?

-почему в логе консоли пишется о инвалид вертексах?

Будет убрано в следующем релизе, т.к. мне кажется, что это ложные срабатывания.

-встречался баг с физикой трупа сталкера, когда его раскрутило во все стороны, жутко проседал фпс

Такое было и в оригинальной ЗП.. Не знаю, почему, честно говоря)

-после перезарядки обреза на мгновение резко смещается камера

Да, есть такое дело. Причину, пока, не выявил, где-то в эффекторах проблема..

Можно ли сделать так как было в ТЧ при смерти гг камерой можно покрутить вокруг оси и использовать консоль? в ЗП блокируется

Да, это можно сделать, как доберусь, найду. Сделаю опционально.

можно разблокировать команды регулировки fov?

Разблокировано в последнем релизе.

в настройках рендера ниже есть только улучшенное полное освещение (не open gl), это dx9? а то фич там с 10, 11 не видно. поддержка api vulkan не планируется? вроде же лучше чем open gl... было бы очень круто и универсально для многих систем

Странно, что нету.. Видеокарта поддерживает DX10-11?

Насчёт Vulkan – дело обдумывается. А OpenGL рендер пока поддерживается в текущем виде в состоянии «на плаву»

JIuBeP commented 6 years ago

Спасибо за ответы и обновление! Я уже обкатал немного новый движок. С диалогами проблем кстати не встретил больше. Да, видеокарта даже гипотетически драйверами поддерживает dx 12 gtx950/ там же вроде фичи вроде тесселяции, лучей солнца и намокание должны быть? Лог с вылетом пустой был, но если еще надо будет отчет, завтра постараюсь скинуть по st_uneqip (торопился, непонятно описал) имел ввиду что вместо текста "снять" при нажатии правой кнопки мыши на артефакте, оружии в слоте пишет "st_uneqip" Заметил еще в меню\игра правда теперь накладывается текст где примерно такой пункт "показать или скрыть интерфейс" на 5:4 и возможно на остальных, проверь пожалуйста

Xottab-DUTY commented 6 years ago

st_unequip - забыл перевестил :D

Текст в настройках накладывается - да, мой косяк, забыл координаты поменять, когда копировал...

По рендерам - а файлы xrRender_R3 и xrRender_R4 есть в папке bin? И как устанавливал?

JIuBeP commented 6 years ago

По рендерам да все есть. Устанавливал вроде как положено, т.е. оригинальную bin временно убрал из папки с игрой, а bin open xray добавил, кэш шейдеров тоже чистил. Кстати солнечные лучи работают, а вот тесселяции и намокания в настройках правда нету, возможно получится включить командами. Начал новую игру. Вылета с выбросом пока не повторилось, а так вроде почти всегда происходил на базах. Еще немного потестирую. В видео настройках появился пункт "всегда активен", это для чего? и еще есть пункт полный экран, но у меня что с включенным что с выключенным, всегда на весь экран, так и должно быть?
А возможно будет сделать инерцию оружия в прицеливании и небольшое покачивание? (по возможности опционально), как делал jargon для oxygen, добавляет динамики.

JIuBeP commented 6 years ago

Кстати посмотрел все эти функции уже были включены в user.ltx, но во время дождя все таки не работает эффект намокания... обычно все открытые поверхности покрываются дождем, со стен плавно стекает вода, руки гг и земля мокрые. С чем это может быть связано?

Xottab-DUTY commented 6 years ago

Всегда активен - это игра при сворачивании не будет ставиться на паузу.

В консоли введи renderer, тебе будет предложен список доступных вариантов. Там есть R3 и R4? Если нету.. То, возможно, что-то не сошлось при проверке на доступность.. В оригинальной ЗП, я так понимаю, всё работает?

Насчёт инерции и покачивания - возможно, это будет настраеваемой опцией... Но, сначала надо исправить все оставшиеся проблемы.

JIuBeP commented 6 years ago

Понятно, спасибо. Ввел renderer, используется r2.5, т.е. из доступных он самый последний и open gl есть, а вот r3 и r4 почему то нету. Но остались команды от оригинала r3 и r4, которые тут похоже уже ни на что не влияют к сожалению... В оригинале да, это работало.

JIuBeP commented 6 years ago

XRayEngine_error_report_180620-163905.zip Кстати вот вылет ближе к концу выброса повторился.

JIuBeP commented 6 years ago

Еще заметил что оружие с глушителем стреляет полностью беззвучно.

JIuBeP commented 6 years ago

Попробовал запустить на open gl. Слишком много графических артефактов, могу скинуть скрины. Может драйвера нужны поновее? От прошлого года стоят, но в других играх проблем нету. Что то не прет мне... эх видно не судьба, но зато на нем доступны все функции которые были и на директх 10,11. Кстати в настройках есть 2 пункта плотности травы, баг? И вертикальная синхронизация включена с ограничением частоты до 60 гц, но фрапс показывает выше 100 кадров. Как нибудь попробую переустановить заново, может поможет.

Xottab-DUTY commented 6 years ago

Беззвучный глушитель - буду искать причину.

OpenGL - это его текущее состояние. Он не доделан и имеет много проблем, как мелких, так и больших. Несмотря на доступность, некоторые функции могут не работать.

Плотность травы - точно дубликат? Там должна быть плотность и дальность прорисовки.. Возможно, опять не изменил XML при копировании..

Вертикальная синхронизация работает только в полноэкранном режиме. Кстати, выше ты про него упоминал - при включении/выключении у тебя ничего не меняется просто потому, что у тебя разрешение в игре выставлено такое же, как и разрешение монитора.

Xottab-DUTY commented 6 years ago

Ищем человека, который мог бы доделать OpenGL рендер =)

Xottab-DUTY commented 6 years ago

Оставшиеся проблемы:

Предложения

JIuBeP commented 6 years ago

Привет, еще вспомнил о ванильном баге с набором demo_record в меню, происходил завис , который вот так исправил Charsi82 для ЧН(может пригодится): engine/xrGame/console_commands.cpp fix for "demo_record"

@Charsi82

Charsi82View all commits by Charsi82 committed on Oct 5 2015

1 parent acfe571 commit 7bce1e96b81e2514731aa95b24dcdf9e5b1d3485

Unified Split

Showing 1 changed file with 6 additions and 0 deletions.

ViewView the whole file at version 7bce1e9

6 6 additions & 0 deletions cs/engine/xrGame/console_commands.cpp

@@ -340,6 +340,11 @@ class CCC_DemoRecord : public IConsole_Command 340 340
341 341 CCC_DemoRecord(LPCSTR N) : IConsole_Command(N) {};
342 342 virtual void Execute(LPCSTR args) {
343 + if (!g_pGameLevel) // level not loaded
344 + {
345 + Msg("Demo Record is disabled when level is not loaded.");
346 + return;
347 + }
343 348 #ifndef DEBUG
344 349 if (GameID() != eGameIDSingle)
345 350 {

@@ -348,6 +353,7 @@ class CCC_DemoRecord : public IConsole_Command 348 353 };
349 354 #endif
350 355 Console->Hide ();
356 + if (MainMenu()->IsActive()) MainMenu()->Activate(false); // close main menu if it is open
351 357 stringpath fn;
352 358 strconcat (sizeof(fn),fn, args, ".xrdemo");
353 359 string_path fn;

Xottab-DUTY commented 6 years ago

@JIuBeP, спасибо.

P.S. Надо было просто скинуть ссылку на коммит :D

Xottab-DUTY commented 6 years ago

@JIuBeP, привет! Можешь подтвердить вылет после выброса и проблемы с обнаружением DX10/11 на этой сборке?

JIuBeP commented 6 years ago

Здравствуй! Спасибо, сейчас проверил у себя (все предыдущие файлы удалил, новыми заменил+ начал новую игру). -вылет во время выброса к сожалению повторился, причем вроде бы тогда, когда он должен был закончится. Сделал сохранение при выбросе, загружаю и опять на том же моменте вылетает, пробовал менять на статический рендер, та же ошибка: exception reason xrEngine.exe caused ACCESS_VIOLATION in module "D:\S.T.A.L.K.E.R. Зов Припяти\bin\luabind.dll" at 0023:587268A9, luabind::detail::invoke_context::format_error()+201 byte(s) -с рендерами пока также, но появился неактивный пункт "качество намокания"
-а st_unequip уже переводился? может из-за соотношения 5:4 все еще остался https://imgur.com/a/grjncQH -остальные исправления порадовали, вроде все стабильно! хочу потом еще на ноуте потестировать, может там вообще все без проблем будет, даже интересно :) хочется понять в чем дело

Xottab-DUTY commented 6 years ago

а st_unequip уже переводился?

Переводился.. Я, просто, ошибся маленько. Уже исправил.

Можешь запустить движок с ключом -lua_dump_state и поймать вылет на этой сборке?

Кстати, как с тобой можно связаться помимо Github?

collectioner commented 6 years ago

Позови в дискорд-сервер :)

JIuBeP commented 6 years ago

Хм, интересно... я попробовал, только all.spawn убрал, при попытке в меню сохранить или загрузить вылетало: xrEngine.exe caused BREAKPOINT in module "D:\S.T.A.L.K.E.R. Зов Припяти\bin\xrCore.dll" at 0023:5D976909, xrDebug::Fail()+393 byte(s) но зато с началом новой игры выброс удалось пережить от начала и до конца без вылета! хочу проверить еще несколько раз для надежности Связаться можно по почте olegj5@yandex.ru или через дискорд, если так будет удобнее (только надо будет еще зарегистрироваться там)

Xottab-DUTY commented 6 years ago

Вот блин! :D Это я случайно не те ресурсы туда положил. Ты правильно сделал, что убрал all.spawn.

Эта сборка не включала в себя исправление выброса и то, что оно не вылетело – странно. Мне нужно, чтобы ты поймал вылет при выбросе на этой сборке и отправил мне отчёт BugTrap об этом вылете.

Кстати:

xrEngine.exe caused BREAKPOINT in module "D:\S.T.A.L.K.E.R. Зов Припяти\bin\xrCore.dll" at 0023:5D976909, xrDebug::Fail()+393 byte(s)

Вот эта строчка ни о чём не говорит, желательно прикладывать хотя бы три, а не одну строчку из stack trace... А лучше весь отчёт от BugTrap =)

JIuBeP commented 6 years ago

Ок. Кстати почему то в буфере обмена после вылета stack_trace пустой, хотя в логе ошибка сохраняется:

FATAL ERROR [error] Expression : xml_doc.NavigateToNode(path, index) [error] Function : CUIXmlInit::InitStatic [error] File : c:\github\xdopenxray\src\xrgame\ui\uixmlinit.cpp [error] Line : 146 [error] Description : XML node not found [error] Argument 0 : form:file_info [error] Argument 1 : ui\ui_mm_load_dlg.xml но этот вылет только на этом билде который похоже по ошибке скинул)

По выбросу не определился, к примеру возле Скадовска включая его вылет 100% будет, в барже Ноя все в порядке, на станции Янов тоже вроде все в норме. Нашел вот такой по выбросу:

FATAL ERROR [error] Expression : !m_error_code [error] Function : raii_guard::~raii_guard [error] File : c:\github\xdopenxray\src\xrscriptengine\script_engine.cpp [error] Line : 617 [error] Description : ...k.e.r. Зов Припяти\gamedata\scripts\surge_manager.script:114: attempt to index field 'actor' (a nil value)

и такой: stack trace:

D:\S.T.A.L.K.E.R. Зов Припяти\bin\luabind.dll at 500168A9 luabind::detail::invoke_context::format_error() + 201 byte(s) D:\S.T.A.L.K.E.R. Зов Припяти\bin\xrGame.DLL at 07CF83FC CxImage::copy constructor closure'() + 519724 byte(s) D:\S.T.A.L.K.E.R. Зов Припяти\bin\LuaJIT.dll at 777E266D D:\S.T.A.L.K.E.R. Зов Припяти\bin\LuaJIT.dll at 777F98DA lua_pcall() + 90 byte(s) D:\S.T.A.L.K.E.R. Зов Припяти\bin\luabind.dll at 50021EDD luabind::detail::pcall() + 61 byte(s) D:\S.T.A.L.K.E.R. Зов Припяти\bin\xrGame.DLL at 07C9A4D5 CxImage::copy constructor closure'() + 134917 byte(s) D:\S.T.A.L.K.E.R. Зов Припяти\bin\xrGame.DLL at 07C93064 CxImage::`copy constructor closure'() + 105108 byte(s) D:\S.T.A.L.K.E.R. Зов Припяти\bin\xrGame.DLL at 07A14089 D:\S.T.A.L.K.E.R. Зов Припяти\bin\xrGame.DLL at 07A187C8 D:\S.T.A.L.K.E.R. Зов Припяти\bin\xrGame.DLL at 076E67D1 D:\S.T.A.L.K.E.R. Зов Припяти\bin\xrEngine.dll at 500ED6FC CSheduler::Update() + 380 byte(s) D:\S.T.A.L.K.E.R. Зов Припяти\bin\xrGame.DLL at 07A4F81A D:\S.T.A.L.K.E.R. Зов Припяти\bin\xrEngine.dll at 5005C09D CRenderDevice::CSecondVPParams::IsSVPFrame() + 793 byte(s) D:\S.T.A.L.K.E.R. Зов Припяти\bin\xrEngine.dll at 5005AD65 CRenderDevice::on_idle() + 261 byte(s) D:\S.T.A.L.K.E.R. Зов Припяти\bin\xrEngine.dll at 5005B32B CRenderDevice::message_loop() + 395 byte(s) D:\S.T.A.L.K.E.R. Зов Припяти\bin\xrEngine.dll at 5005B54E CRenderDevice::Run() + 446 byte(s) D:\S.T.A.L.K.E.R. Зов Припяти\bin\xrEngine.dll at 5010F912 Startup() + 482 byte(s) D:\S.T.A.L.K.E.R. Зов Припяти\bin\xrEngine.dll at 5010FD0C RunApplication() + 684 byte(s) D:\S.T.A.L.K.E.R. Зов Припяти\bin\xrEngine.exe at 011C1358 D:\S.T.A.L.K.E.R. Зов Припяти\bin\xrEngine.exe at 011C1459 D:\S.T.A.L.K.E.R. Зов Припяти\bin\xrEngine.exe at 011C1800 C:\Windows\syswow64\kernel32.dll at 762D336A BaseThreadInitThunk() + 18 byte(s) C:\Windows\SysWOW64\ntdll.dll at 774192B2 RtlInitializeExceptionChain() + 99 byte(s) C:\Windows\SysWOW64\ntdll.dll at 77419285 RtlInitializeExceptionChain() + 54 byte(s)

JIuBeP commented 6 years ago

Еще заметил баг с оригинала, когда к примеру в дробовик заряжается несколько типов патронов, игру сохраняем, загружаем и бац, уже только имеем последний заряженный вид патронов, причем в полном количестве, остальные просто исчезают.

Xottab-DUTY commented 6 years ago

@JIuBeP, пока убрал одну из причин вылета после выброса единственным известным мне способом... Лучше, конечно, как-то по-другому сделать, но, пока так.

gamedata\scripts\surge_manager.script:114: attempt to index field 'actor' (a nil value)

Кхм... Интересный вылет, даже не знаю...

Нужен отчёт BugTrap, который ты так и не скинул...

JIuBeP commented 6 years ago

Я пытался отправить, но там что-то вроде ошибки выбивало. Но у меня остались такие репорты, возможно подойдут: XRayEngine_error_report_180812-104515.zip XRayEngine_error_report_180812-105450.zip XRayEngine_error_report_180812-110403.zip

JIuBeP commented 6 years ago

Хм, а кстати регулировка радиуса травы точно работает? А то пробовал менять на ходу игры через консоль r_detail radius , но визуально вроде бы вообще никаких отличий. При перезаходе в игру заработает?

Xottab-DUTY commented 6 years ago

@JIuBeP, vid_restart после этого надо сделать. Если через настройки менять, то он автоматически сделается..

JIuBeP commented 6 years ago

ок, спасибо, буду знать

JIuBeP commented 6 years ago

Хоттаб, с х64 движком проблем будет больше? х32 похоже постабильнее. Немного давно с ним пробовал побегать, вылеты чаще были и другого рода... хотя памяти достаточно 8гб озу + файл подкачки

Xottab-DUTY commented 6 years ago

К сожалению, да, 32-х битная версия стабильнее.

JIuBeP commented 6 years ago

Недавно вышел новый стабильный билд, во время выброса теперь не вылетает, это хорошо и почти все проблемы решены. Но у меня случилась еще одна , (все работало хорошо) только при загрузке сохранения теперь получаю такой вылет из одного лога(прилепил репорт с ними же и сейв): Error Reason: xrEngine.exe caused BREAKPOINT in module "D:\S.T.A.L.K.E.R. Зов Припяти\bin\xrCore.dll" at 0023:6E1069B9, xrDebug::Fail()+393 byte(s)

User Message:

FATAL ERROR

[error] Expression : !m_error_code [error] Function : raii_guard::~raii_guard [error] File : c:\projects\xray-16\src\xrscriptengine\script_engine.cpp [error] Line : 617 [error] Description : ...Зов Припяти\gamedata\scripts\release_body_manager.script:20: attempt to index local 'actor' (a nil value) XRayEngine_error_report_180814-193530.zip

из другого лога : ! [LUA] SCRIPT RUNTIME ERROR

SCRIPT ERROR ! [LUA] 0 : [C ] __index ! [LUA][Error]: ...Зов Припяти\gamedata\scripts\release_body_manager.script:20: attempt to index local 'actor' (a nil value)

stack traceback: ...Зов Припяти\gamedata\scripts\release_body_manager.script:20: in function 'find_nearest_obj_to_release' ...Зов Припяти\gamedata\scripts\release_body_manager.script:84: in function 'try_to_release' ...Зов Припяти\gamedata\scripts\release_body_manager.script:73: in function 'moving_dead_body' ....k.e.r. Зов Припяти\gamedata\scripts\xr_motivator.script:117: in function <....k.e.r. Зов Припяти\gamedata\scripts\xr_motivator.script:64>

SCRIPT ERROR ! [LUA] 1 : [Lua] ...Зов Припяти\gamedata\scripts\release_body_manager.script(20) : find_nearest_obj_to_release ! [LUA][Error]: ...Зов Припяти\gamedata\scripts\release_body_manager.script:20: attempt to index local 'actor' (a nil value)

SCRIPT ERROR ! [LUA] 2 : [Lua] ...Зов Припяти\gamedata\scripts\release_body_manager.script(84) : try_to_release ! [LUA][Error]: ...Зов Припяти\gamedata\scripts\release_body_manager.script:20: attempt to index local 'actor' (a nil value)

FATAL ERROR

[error] Expression : !m_error_code [error] Function : raii_guard::~raii_guard [error] File : c:\projects\xray-16\src\xrscriptengine\script_engine.cpp [error] Line : 617 [error] Description : ...Зов Припяти\gamedata\scripts\release_body_manager.script:20: attempt to index local 'actor' (a nil value)

как можно убрать под спойлер?

Xottab-DUTY commented 6 years ago

Под спойлер убрать нельзя, т.к. тут спойлеров нет, но можно убрать повторяющиеся строки. (там действительно есть повторы)

JIuBeP commented 6 years ago

Подчистил немного, кстати это сохранение после выброса, другие сохранения вроде нормально загружаются. Еще заметил такой момент что при альтернативном ударе ножа наносится по телу 2 удара(следа) бладмарка что ли, но не всегда, это наверно из-за коллизий. И вы убрали из опций тень игрока? через консольную команду правда все работает

Xottab-DUTY commented 6 years ago

Неа, не убирали, ещё даже не добавляли) А по двойному ножевому ранению надо смотреть.. И по вылету тоже.

JIuBeP commented 6 years ago

видел вроде на предыдущих билдах за июнь, хотя возможно малясь перепутал с оксигеном) но зато через консоль тень реально работает и это радует!

JIuBeP commented 6 years ago

Хм, а если свернуть игру минуты на 3, то при заходе похоже иногда пропадает музыкальный эмбиент, хорошо бы это проверить

Xottab-DUTY commented 5 years ago

Эту тему закрываю, а оставшуюся проблему с обнаружением DX10/Dx11 перемещаю в отдельную тему: #476

Кстати почему то в буфере обмена после вылета stack_trace пустой, хотя в логе ошибка сохраняется:

Вот это тоже проверю ещё раз и исправлю, если что.