Показать все 12 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Декали дублируются или перемещаются при каждом save-restore (https://hlfx.ru/forum/showthread.php?threadid=5780)
Декали дублируются или перемещаются при каждом save-restore
Заметил на карте такую проблему - декали, оставленные на полу, в одном месте дублируются, а в другом перемещаются при каждом save-restore. Может, как-то связано с текстурными координатами? Я в тех местах вроде пользовался фишкой джека для бесшовного текстурирования.
На тестовой карте пока не удалось повторить. Кто-нибудь встречался с подобным?
__________________
I'm on github
I'm on opendesktop.org
Сейв-рестор или чейнджлевел?
Добавлено 15-01-2022 в 15:41:
Теоретически такое возможно, поэтому в движке есть специальная проверка:
1 | void R_DecalSurface( msurface_t *surf, decalinfo_t *decalinfo ) |
2 | { |
3 | // get the texture associated with this surface |
4 | mtexinfo_t *tex = surf->texinfo; |
5 | decal_t *decal = surf->pdecals; |
6 | vec4_t textureU, textureV; |
7 | float s, t, w, h; |
8 |
9 | // we in restore mode |
10 | if( cls.state == ca_connected || cls.state == ca_validate ) |
11 | { |
12 | // NOTE: we may have the decal on this surface that come from another level. |
13 | // check duplicate with same position and texture |
14 | while( decal != NULL ) |
15 | { |
16 | if( VectorCompare( decal->position, decalinfo->m_Position ) && decal->texture == decalinfo->m_iTexture ) |
17 | return; // decal already exists, don't place it again |
18 | decal = decal->pnext; |
19 | } |
20 | } |
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
I'm on github
I'm on opendesktop.org
Дубликат может сдвинуться максимум на 0.125 юнита и в ксаше при включённых расширенных координатах на 1 юнит.
Это что-то совсем другое.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
При повторных сейв-ресторах декаль продолжит движение?
ncuxonaT, да продолжает. В каких-то местах оставленная декаль продолжает дублироваться, в других - только смещается.
Если продолжать загружаться с того же сейва, то смещение не нарастает. Возникает именно при новом сэйв-ресторе. Возможно проблема в записи расположения декали.
__________________
I'm on github
I'm on opendesktop.org
FreeSlave может быть всё же чуточку больше инфы дашь?
Какой движок, что делал, когда заметил.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
I'm on github
I'm on opendesktop.org
Под ксашем есть?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
У меня в голде на стим-версии баг есть. Сохранился-загрузился - декаль сдублировалась. Я еще раз сохранился-загрузился - уже 3 декали
В ксаше (FWGS) бага нет.
__________________
Мой мод на Xash
Дядя Миша, под xash3d-FWGS не воспроизводится. В оригинальном не пробовал.
Если в хаммере резетнуть текстуру пола и перекомпилить, то баг не проявляется и в голде.
__________________
I'm on github
I'm on opendesktop.org
В голде позиция декали не хранится явным образом, а восстанавливается из текстурных осей. Значит есть какая-то комбинация, которая приводит вот к этому глюку.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Временная зона GMT. Текущее время 05:31. | Показать все 12 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024