|  | Показать все 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:55. | Показать все 12 сообщений этой темы на одной странице | 
  На основе vBulletin версии 2.3.0
  Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
  Дизайн и программирование: Crystice Softworks © 2005 - 2024