HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Декали дублируются или перемещаются при каждом save-restore
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
FreeSlave
Житель форума

Дата регистрации: Nov 2007
Проживает: Тула
Сообщений: 1077

Рейтинг



Декали дублируются или перемещаются при каждом save-restore

Заметил на карте такую проблему - декали, оставленные на полу, в одном месте дублируются, а в другом перемещаются при каждом save-restore. Может, как-то связано с текстурными координатами? Я в тех местах вроде пользовался фишкой джека для бесшовного текстурирования.
На тестовой карте пока не удалось повторить. Кто-нибудь встречался с подобным?

__________________
I'm on github
I'm on opendesktop.org

Сообщить модератору | | IP: Записан
Сообщение: 206534

Старое сообщение 15-01-2022 12:21
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Сейв-рестор или чейнджлевел?

Добавлено 15-01-2022 в 15:41:

Теоретически такое возможно, поэтому в движке есть специальная проверка:

C++ Source Code:
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'

Сообщить модератору | | IP: Записан
Сообщение: 206535

Старое сообщение 15-01-2022 12:41
-
FreeSlave
Житель форума

Дата регистрации: Nov 2007
Проживает: Тула
Сообщений: 1077

Рейтинг



Цитата:
Дядя Миша писал:
Сейв-рестор или чейнджлевел?


И при save-restore и при переходе на следующую карту и возвращении назад.

Цитата:
Дядя Миша писал:
Если декаль с той же текстурой и той же позицией уже есть в списке, то дубликат игнорируется. Но если она всё же заспавнилась, то заметить её будет не так-то просто.


Позиция заметно меняется.



__________________
I'm on github
I'm on opendesktop.org

Сообщить модератору | | IP: Записан
Сообщение: 206536

Старое сообщение 15-01-2022 12:46
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Дубликат может сдвинуться максимум на 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'

Сообщить модератору | | IP: Записан
Сообщение: 206537

Старое сообщение 15-01-2022 13:20
-
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 33

Рейтинг



При повторных сейв-ресторах декаль продолжит движение?

Сообщить модератору | | IP: Записан
Сообщение: 206540

Старое сообщение 15-01-2022 14:19
- За что?
FreeSlave
Житель форума

Дата регистрации: Nov 2007
Проживает: Тула
Сообщений: 1077

Рейтинг



ncuxonaT, да продолжает. В каких-то местах оставленная декаль продолжает дублироваться, в других - только смещается.
Если продолжать загружаться с того же сейва, то смещение не нарастает. Возникает именно при новом сэйв-ресторе. Возможно проблема в записи расположения декали.

__________________
I'm on github
I'm on opendesktop.org

Сообщить модератору | | IP: Записан
Сообщение: 206541

Старое сообщение 15-01-2022 15:00
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



FreeSlave может быть всё же чуточку больше инфы дашь?
Какой движок, что делал, когда заметил.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 206544

Старое сообщение 15-01-2022 15:34
-
FreeSlave
Житель форума

Дата регистрации: Nov 2007
Проживает: Тула
Сообщений: 1077

Рейтинг



Цитата:
Дядя Миша писал:
Какой движок, что делал, когда заметил.


Тестил на голдсорсе. Заметил на своей карте недавно. Но скорее всего баг уже давно присутствует. Проявляется и в обычной HL.
Карта-пример, где баг воспроизводится, в аттаче

Вложение: decal_test.zip (29.9 кб)
Этот файл был скачан 110 раз.

__________________
I'm on github
I'm on opendesktop.org

Сообщить модератору | | IP: Записан
Сообщение: 206550

Старое сообщение 15-01-2022 18:18
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Под ксашем есть?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 206552

Старое сообщение 15-01-2022 19:38
-
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1002
Возраст: 31

Рейтинг



У меня в голде на стим-версии баг есть. Сохранился-загрузился - декаль сдублировалась. Я еще раз сохранился-загрузился - уже 3 декали

В ксаше (FWGS) бага нет.

__________________
Мой мод на Xash

Сообщить модератору | | IP: Записан
Сообщение: 206555

Старое сообщение 15-01-2022 19:57
- За что?
FreeSlave
Житель форума

Дата регистрации: Nov 2007
Проживает: Тула
Сообщений: 1077

Рейтинг



Дядя Миша, под xash3d-FWGS не воспроизводится. В оригинальном не пробовал.

Если в хаммере резетнуть текстуру пола и перекомпилить, то баг не проявляется и в голде.

__________________
I'm on github
I'm on opendesktop.org

Сообщить модератору | | IP: Записан
Сообщение: 206556

Старое сообщение 15-01-2022 20:17
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



В голде позиция декали не хранится явным образом, а восстанавливается из текстурных осей. Значит есть какая-то комбинация, которая приводит вот к этому глюку.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 206560

Старое сообщение 16-01-2022 07:56
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 12:00. Новая тема    Ответить
  Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Декали дублируются или перемещаются при каждом save-restore
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024