Sidebar

Xash3D: Баги/Недоработки

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
2 a1batross: я уже не помню. В звуковом движке есть какие-то ошибки с дальностью воспроизведения, но проявляются они очень избирательно.
Скажем в римейке кваки был баг, какая-то давилка шумела на всю карту.
Почему - не помню, но это я исправил еще тогда. Возможно что-то осталось.
 

mittorn

New member
Apr 22, 2010
1,213
15
0
2 Дядя Миша:
Ты смотрел код по ссылке выше? Я же написал свою дробилку аналогичную той, что в rehlds.
А списки при коннекте я давно уже разбил. при игре это не помогает - иногда дельта слишком большая при выходе из комнат. В хл похоже больше ентитей, чем в кваках.
https://github.com/FWGS/xash3d/commit/a023efa578945ccd1d4752a3817b96626d3f27f6
 

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
2 a1batross: там свой радиус.

Два момента по несовместимости:
1. уберите восстанановление хулла после выполнения клиентской трассы (old_usehull)
2. TriBrightness должен получить четвертый аргумент из clgame.ds.color[3]

Как минимум в первой и второй параное исправятся гловы на окнах.
 

a1batross

Umu~!
Jan 6, 2015
664
27
2 Дядя Миша:

второе закоммитил.
А насчёт первого что не так? Когда тестировал клиентский трейс под ГС, заметил, что хулл всегда возвращается.
 

a1batross

Umu~!
Jan 6, 2015
664
27
2 Дядя Миша:
В PM_TraceLine из cl_enginefuncs_s восстанавливается.
В EV_SetTraceHull & EV_PlayerTrace не восстанавливается. Ты про эти говорил?
 

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
Разгребая барахло на винте нашёл сорцы некоего мода battlegrounds. Вспомнил что никогда не тестировал его под ксашем, зашёл на MODDB и скачал. Результат меня очень удивил: вылет при старте любой карты. Начал разбираться. Благо сорцы были в комплекте. Как выяснилось ребята вставили очистку неких глобальных указателей в функцию ParmsNewLevel - т.е. до их инициализации, собственно. Под голдсорсом их спасло то, что эта функция вообще не вызывается. Я удивился, проверил ксаш-мод, параною и римейки кваки - я тоже её нигде не заюзал. В ReHLDS и диканпиле тоже нет вызова. Вообщем решение заключается в том, чтобы убрать в ксаше вызов pfnParmsNewLevel. Однако проблемы на этом не кончились. рестарт карты снова приводит к вылету.
Это исправляется перемещением pfnDeactivateServer перед вызовом SV_FreeEdicts. Ну и третий баг - вылет в момент выстрела. Надо просто включить cl_lw 1. Есть еще какие-то баги, например дым от выстрелов непрозрачный, но я не стал разбираться - видимо игра не особо популярная, раз за столько лет её никто не удосужился запустить.
 

mittorn

New member
Apr 22, 2010
1,213
15
0
2 Дядя Миша:
Блин, а я у себя ParmsNewLevel заюзал для очистки некоторых структур при смене карты. Видимо, зря...
 

ZAZA

New member
Nov 8, 2011
2,434
40
0
2 Дядя Миша:
Привет от крео3ота. К размышлению на будущее. Можно будет заделать на новом ксаше.
 

Attachments

Last edited:

mittorn

New member
Apr 22, 2010
1,213
15
0
Подниму снова вопрос с подключением игрока и удалением его приват даты. В GS после долгих поисков это удаление так и не было найдено. Ксаш пока что удаляет, вызывая тем самым проблемы местами (например через tank и дисконнект можно крашнуть сервер).
Ещё найдено оченб странное место. Фраги игрока. Кто их чистит? В сервере сброса фрагов нет. В движке тоже не могу найти. Так собственно куда глядеть?
 

mittorn

New member
Apr 22, 2010
1,213
15
0
Подниму вопрос по поводу SV_UnloadProgs.
Вот пара логов из GS:
Code:
] map aaa

Adding:  valve/dlls\hl.dll
Dll loaded for mod Half-Life
execing skill.cfg
map change failed: 'aaa' not found on server.
] map aaa 
map change failed: 'aaa' not found on server.
Code:
Server IP address loopback

Adding:  valve/dlls\hl.dll
Dll loaded for mod Half-Life
Spawn Server snark_pit
...
] map crossfire
Spawn Server crossfire
Как видно, второй загрузки библиотеки не происходит.
В xash3d библиотека выгружается и загружается снова. Из-за этого не будут работать всякие метамоды и боты, которые загружают библиотеку по цепочке т.к они не выгружают вторую загруженную библиотеку.
Единственное корректное решение - сделать такую же выгрузку. Для ChangeGame можно использовать перезапуск процесса с новыми аргументами (execve, он и в windows должен быть доступен, либо его аналог из винапи)
Ещё это исправит проблему пропадения кваров при отключения сервера.
так называемый клиентский changegame (при подключении к серверу) не нужен вовсе т.к слишком сомнительная это процедура. Авторы модов вряд ли такое предусмотрели и скорее всего оно будет крашить или что ещё хуже - портить конфиги.
 

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
так называемый клиентский changegame (при подключении к серверу) не нужен вовсе
Ну я его и не рекомендовал к использованию, достаточно стрёмная штука.
А повторная загрузка-выгрузка для коллекционирования кваров была. Ну или когда сервер полностью в дауне, типа Host_EndGame.
 

mittorn

New member
Apr 22, 2010
1,213
15
0
2 Дядя Миша:
а что мешает коллекционировать квары без выгрузки и держать в самой библиотеке? Как это делает GS. Кстати, проверил XashXT без выгрузки, вроде всё нормально работает. Где могут быть проблемы?
 

Game Server

CSM TV

Page QR Code

QR Code

Donate Campaign

Total amount
$0.00
Goal
$25.00

Latest profile posts

TestUser wrote on TRUP@C's profile.
Master?
TestUser wrote on TRUP@C's profile.
Hello Father

Members online

No members online now.

Discord