Sidebar

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

mittorn

Active member
22.04.10
1 229
22
38
2 Дядя Миша:
50x50
Обычно сначала находится способ повлиять на проблему (например, a1batross скопировал fov из данных предикта в текущий кадр), потом при поиске оптимального решения - трассировка или декомпил (я нашёл глобалку, отвечающую за fov в символах движка и сделал поле в clgame).
Правда, с переключением оружия пришлось сделать не так, как в GS.
Ибо где-то в движке всё-таки не правильно анимация обрабатывается, но где - я не знаю.
Были сделаны новые поля для анимации, чтобы ничего из клиента/сервера их не трогало и заблокировано изменение анимации с сервера при включенном клиентском оружии.
На время несоответствия моделей сервера/клиента модель скрыта. В результате видно даже анимацию holster при большом пинге. При маленьком просто быстрее переключается. У меня есть подозрение, что на сервере viewmodel не вовремя сменяется.
Данные с предикта тоже не очень - если брать viewmodel оттуда, она мерцать будет сильно при переключении.
https://transfer.sh/F5bN1/xash3d-win.zip
 

mittorn

Active member
22.04.10
1 229
22
38
2 gfdjr5:
Чтобы при включении cl_lw без переподключения предикт тоже работал.
и вроде без этого агимация всё-таки ломается.
 

mittorn

Active member
22.04.10
1 229
22
38
2 gfdjr5:
ну если включить cl_lw после подключения, сервер всё равно анимацию передаёт.
 
Команда форуму
VIP
28.03.10
15 566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
В халфе для корректной работы cl_lw следует перезагружать карту. А ребята пытаются сделать, чтобы этого не требовалось. Разумно.
 

gfdjr5

[NULL]
25.11.12
562
0
0
Дядя Миша сказав(ла):
В халфе для корректной работы cl_lw следует перезагружать карту. А ребята пытаются сделать, чтобы этого не требовалось. Разумно.
Конкретно в халфе? Или во всем гс? Не припомню проблем в кс с cl_lw
 

mittorn

Active member
22.04.10
1 229
22
38
Поломано сканирование серверов в меню. Если есть хотя бы один сервер с чужим gamedir, список ломается.
Там проверка не в той функции сделана. Надо в AddServerToList
 

mittorn

Active member
22.04.10
1 229
22
38
Не чистится список юзермессагов.
Если подключиться к серверу cs/csdm, а потом не перезапуская движок к hl - будет выкидывать на определённых сообщениях.
Возможны проблемы с разными версиями сервера.
 
Команда форуму
VIP
28.03.10
15 566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Не чистится список юзермессагов.
Ну предполагается полный перезапуск движка при смене игры. А вы решили таки реализовать горячую замену?

Post automatically merged:

Я там экспериментальный код оставил для горячей замены, видели наверное. Но предвидя возможные проблемы не стал его включать.
 
Останнє редагування:

a1batross

Umu~!
06.01.15
674
27
2 Дядя Миша:
Вот он иногда и срабатывает. Сначала ломался поиск серверов, если мастер отдавал от разных игр сервера.
 

mittorn

Active member
22.04.10
1 229
22
38
2 Дядя Миша:
На момент того поста не было #if 0
Потом, эта часть сейчас в какой-то из веток пока что т.к тестируется.
Игнор антмации с сервера очевидно ломал то оружие, для которого не было предиктинга в клиенте. Например, amx плагины с новым оружием.

Post automatically merged:

2 Дядя Миша:
Блин, перепутал сообщения.
Речь идёт не о горячей замене, а о подключении из одной игры к серверам с разными списками сообщений.
Например, я запущу кс, попытаюсь (успешно) подключиться к серверу хл. Если после этого подключусю к кс - начнутся проблемы. Однако, это результат яано неправильных действий.
Потенциальные проблемы возникнут и при совсем валидных действиях.
Например, в новых версиях кс есть BotProgress,в старыэх не было. Значит, подключившись к новому серверу, а потом к сиарому я получу потенциальные svc_bad'ы.
 
Останнє редагування:

mittorn

Active member
22.04.10
1 229
22
38
FindNextChunk в snd_wav.c работает на разных системах по разному.
На некоторых файлах происходит краш.

Post automatically merged:

Краш происходит в таком случае:
Код:
D/Xash    (16958): Sound_LoadWAV: ( sound/weapons/cbar_miss1.wav, 0xb803bc80, 2809 )
D/xash_wav(16958): RIFF 0xb803bc80 0x1dbb 0xb803c779
D/xash_wav(16958): fmt  0xb803bc8c 0xaf1 0xb803c779
D/xash_wav(16958): cue  0xb803bc8c 0x10 0xb803c779
D/xash_wav(16958): cue  0xb803bca4 0x10 0xb803c779
D/xash_wav(16958): cue  0xb803c70e 0xa61 0xb803c779
D/xash_wav(16958): cue  0x103c716 0x49000000 0xb803c779
D/Xash    (16958): Sys_Crash: signal 11, err 0 with code 1 at 0x103c71a 0x0
0xb803c70e + 0x49000000 оказывается меньше 0xb803c779
И не происходит в этом случае:
Код:
Sound_LoadWAV (sound/weapons/cbar_miss1.wav)
RIFF 0xa62a5a8 0x1dbb 0xa62b0a1
fmt  0xa62a5b4 0xaf1 0xa62b0a1
cue  0xa62a5b4 0x10 0xa62b0a1
cue  0xa62a5cc 0x10 0xa62b0a1
cue  0xa62b036 0xa61 0xa62b0a1
data 0xa62a5b4 0x49000000 0xa62b0a1
data 0xa62a5cc 0x10 0xa62b0a1
т.е 0x0a62a5cc + 0x49000000 > 0xa62b0a1 и поиск cue заканчивается.
Видимо, нужно проверять размер chunk, чтобы он не мог вылезти за пределы 32битного адресного пространства.
Или вообще не допускать такой магии и сравнения с адресами.
 
Останнє редагування:

mittorn

Active member
22.04.10
1 229
22
38
Если установить имя длиннее 32 символов, оно затрёт userinfo.
Это можно использовать как чит т.к при этом пропадает модель игрока.
Причина - http://risovach.ru/kartinka/9616482 в SV_UserInfoChanged и маленький буфер (всего 32 символа) под ник.
 

gfdjr5

[NULL]
25.11.12
562
0
0
Ксаш прямо как карточный домик - с каждым изменением что-то отваливается
Это как в "Ну, погоди!" у волка тарантас был, дверь закрыл - колесо отвалилось
"Стабильность, производительность... стабильность написал? Ага, надёжность. Пиши надёжность, сказал!"
 

mittorn

Active member
22.04.10
1 229
22
38
2 gfdjr5:
у меня только с необдуманными изменениями отваливается.
Причём обычно не на всех платформах.
А скрытые баги есть. особенно в мультике.
 

Game Server

Доноры Красавчики

Користувачі онлайн

Немає користувачів онлайн.