HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Xash3D (https://hlfx.ru/forum/forumdisplay.php?forumid=14)
-- Xash 0.98 build 3598 [experimental build] (https://hlfx.ru/forum/showthread.php?threadid=4905)
Отправлено bionext 27-06-2017 в 15:57:
Цитата:
Ku2zoff писал:
Нужны соответствующие правки кода в дллках мода. Карты большого размера не будут работать правильно в модах, для которых нет сорцев, и, соответственно, невозможно внести изменения.
В общем то я и вышел на Xash только для того чтобы вычислить кусок кода который надо пропатчить. А в Xash-е доступны исходники и сервера и клиента с движком.
Добавлено 27-06-2017 в 23:57:
Цитата:
Дядя Миша писал:
В основном - в передаче данных по сети, но есть и явные ограничения
Многое можно настроить через delta.lst, но далеко не всё.
Спасибо за ответ, cbase я сразе же исправил иначе модели просто исчезали. А вот насчет передачи по сети дак там вроде для origin отводится по четыре байта на одну ординату стандартный размер для float или всетаки где-то есть округление? То есть вы предлогаете копать в сторону парсера?
Отправлено Дядя Миша 27-06-2017 в 17:52:
Цитата:
bionext писала:
А вот насчет передачи по сети дак там вроде для origin отводится по четыре байта на одну ординату стандартный размер для float или всетаки где-то есть округление?
Из чего ты заключил что там отводится по 4 байта? И причём тут округление? Нет, ну округление конечно жы есть, но во первых оно настраиваемое, а во вторых полезное - оно используется для квантизации пространства, что в свою очередь положительно сказывается на результатах предиктинга\интерполяции. Но ведь ты имел в виду не округление, а враппинг, судя по контексту? Враппинг там настаёт только по факту переполнения размера у переменной, а размер переменных по сети гибко настраивается от одного 32 бит. В delta.lst
Возьми дельту от ксаш-мода (только ради бога не вздумай сортировать в ней строчки), и сравни как поменялись параметры у полей origin для всех трёх описаний дельты. Но это, как я уже говорил только полдела. Есть еще WRITE_COORD и с ним сложнее.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено KiQ 27-06-2017 в 17:58:
C++ Source Code:
1 | BOOL CBaseEntity :: IsInWorld( void ) |
4 | if (pev->origin.x >= 4096) return FALSE; |
5 | if (pev->origin.y >= 4096) return FALSE; |
6 | if (pev->origin.z >= 4096) return FALSE; |
7 | if (pev->origin.x <= -4096) return FALSE; |
8 | if (pev->origin.y <= -4096) return FALSE; |
9 | if (pev->origin.z <= -4096) return FALSE; |
11 | if (pev->velocity.x >= 2000) return FALSE; |
12 | if (pev->velocity.y >= 2000) return FALSE; |
13 | if (pev->velocity.z >= 2000) return FALSE; |
14 | if (pev->velocity.x <= -2000) return FALSE; |
15 | if (pev->velocity.y <= -2000) return FALSE; |
16 | if (pev->velocity.z <= -2000) return FALSE; |
Кокое страшное форматирование)))__________________
-Brain is dead-
Отправлено bionext 27-06-2017 в 20:24:
Цитата:
Дядя Миша писал:
Из чего ты заключил что там отводится по 4 байта? И причём тут округление? Нет, ну округление конечно жы есть, но во первых оно настраиваемое, а во вторых полезное - оно используется для квантизации пространства, что в свою очередь положительно сказывается на результатах предиктинга\интерполяции. Но ведь ты имел в виду не округление, а враппинг, судя по контексту? Враппинг там настаёт только по факту переполнения размера у переменной, а размер переменных по сети гибко настраивается от одного 32 бит. В delta.lst
Возьми дельту от ксаш-мода (только ради бога не вздумай сортировать в ней строчки), и сравни как поменялись параметры у полей origin для всех трёх описаний дельты. Но это, как я уже говорил только полдела. Есть еще WRITE_COORD и с ним сложнее.
Да конечно wrapping
Спасибо большое за подсказку, да в delte.lst есть большой плюс он синхронизируется с клиентом. Проверил и на Xash-e и на CS 1.6 карта на 32768 юнита никакого wrapping-а не замечено. И патчить ничего не надо.
А вот насчёт WRITE_COORD пока не понял, буду разбираться.
Добавлено 28-06-2017 в 04:24:
16 бит для координат маловато будет.
Отправлено Дядя Миша 27-06-2017 в 20:47:
Цитата:
bionext писала:
16 бит для координат маловато будет.
Хватает, но точность упадёт до 0.5 юнита. Для темп-энтить некритично.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено bionext 28-06-2017 в 05:55:
Цитата:
Дядя Миша писал:
Хватает, но точность упадёт до 0.5 юнита. Для темп-энтить некритично.
Большое спасибо за помощь. В Valve-ких DLL-ках офсеты на ReadCoord и WriteCoord нашел пропатчил(сменил множитель и делитель с 8.0 на 2.0) всё нормально работает с точностью в 0.5 юнита на карте в +/- 16384 юнита.
Отправлено Дядя Миша 28-06-2017 в 13:00:
Цитата:
bionext писал:
В Valve-ких DLL-ках офсеты на ReadCoord и WriteCoord нашел пропатчил
Полный список изменений в движке можно найти по слову ENGINE_WRITE_LARGE_COORD
sv_zmax можно не трогать - в халфе всё равно для него полноценный флоат передаётся. Ну там в принципе не очень много.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено bionext 28-06-2017 в 13:41:
Цитата:
Дядя Миша писал:
Полный список изменений в движке можно найти по слову ENGINE_WRITE_LARGE_COORD
sv_zmax можно не трогать - в халфе всё равно для него полноценный флоат передаётся. Ну там в принципе не очень много.
Да из этого мне нужны были только 2 пункта. Сейчас пишу патч с подгрузкой через PRECACHE_GENERIC и запуском через motd по принципу из этой статьи Загрузка .exe файлов клиенту и их запуск .
Отправлено Дядя Миша 28-06-2017 в 13:51:
Цитата:
Языки программирования:
Counter-Strike 1.6
Counter-Strike: Source
Left 4 Dead
Left 4 Dead 2
хорошие языки__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено bionext 28-06-2017 в 14:08:
Я давно заметил.