HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashXT > XashXT/3D [Вопросы и ответы] 2 голосов
Страницы (52): « Первая ... « 23 24 25 26 [27] 28 29 30 31 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 560

Рейтинг



В XashXT есть батчинг сурфейсов мира? Если есть, как он работает? Какие есть условия для обьединения сурфейсов в один drawcall?

__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord

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

Старое сообщение 04-02-2021 21:24
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



SNMetamorph у тебя на руках все исходники. Как ты собрался создавать форк если путаешься в таких элементарных вопросах?

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 05-02-2021 06:05
-
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 560

Рейтинг



Цитата:
Дядя Миша писал:
Как ты собрался создавать форк если путаешься в таких элементарных вопросах?

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

__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord

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

Старое сообщение 05-02-2021 09:46
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
SNMetamorph писал:
Какие есть условия для обьединения сурфейсов в один drawcall?

Общая текстура, общая лайтмапа, общий шейдер, единая матрица трансформации.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 05-02-2021 12:23
-
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 560

Рейтинг



А что за mark surfaces у лифов? Какую функцию они выполняют?

__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord

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

Старое сообщение 05-02-2021 18:23
- За что?
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4420
Возраст: 34

Рейтинг



Мне тоже интересно

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

Старое сообщение 05-02-2021 19:27
- За что?
ncuxonaT
каков стол, таков и стул

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

Рейтинг



это?
http://hlbsp.sourceforge.net/index....ef#marksurfaces

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

Старое сообщение 05-02-2021 19:39
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 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: Записан
Сообщение: 200184

Старое сообщение 05-02-2021 20:27
-
Aynekko
Маппер

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

Рейтинг



Вот здесь я писал:
http://hlfx.ru/forum/showthread.php...8061#post198061

Цитата:
Aynekko писал:
Подскажите по сейврестору. Не могу вычистить баг. Гранты у меня стреляют энтитей shock_beam. Если сохраниться в тот момент, когда энтитя летит в воздухе - после загрузке в консоль спамит сообщением:
Error: R_BeamComputePoint: Invalid entity 4095


Вот на видео, специально сделал медленную атаку:
https://www.youtube.com/watch?v=IJnT4rOOF0A
Думаю, что это баг с сейврестором лучей, а не я накопипастил.
Сохраняемся во время полета прожектили, загружаемся и видим картину - лучи начинают крепиться к самой прожектили и ориджину карты.
Т.к. эту штуку я скопировал из опфора, я решил проверить, что происходит там. Так вот, если сохраниться во время летящей атаки шок-трупера, а потом загрузить игру - то будет вылет на рабочий стол. Сохранялка будет испорчена. Ксаш к счастью не крашится.
Я решил проверить вортигонтов на ксаше, ведь они тоже создают лучи. И получил ту же самую картину. Сохраняемся в самый момент атаки, когда создается и исчезается луч из его рук (буквально секундный промежуток). После загрузки вортигонт будет куда-то бежать, а луч будет тянуться из его рук в точку последней атаки (и так и не исчезнет).

Дальше собственно код прожектили, там все очень просто, поэтому я не пойму в чем проблема - больше склоняюсь к проблеме сейврестора в целом, т.к. опфор крашится, а вортигонт шалит.

Сохранялка на месте:
C++ Source Code:
1
BEGIN_DATADESC( CShock )
2
DEFINE_FIELD(m_pBeam, FIELD_CLASSPTR),
3
DEFINE_FIELD(m_pNoise, FIELD_CLASSPTR),
4
DEFINE_FIELD(m_pSprite, FIELD_CLASSPTR),
5
DEFINE_FUNCTION( Touch ),
6
DEFINE_FUNCTION( FlyThink ),
7
DEFINE_FUNCTION( CreateEffects ),
8
DEFINE_FUNCTION( ClearEffects ),
9
DEFINE_FUNCTION( UpdateOnRemove ),
10
END_DATADESC()

Создаются спрайт и лучи, оригинальный код из опфора:
C++ Source Code:
1
m_pSprite = CSprite::SpriteCreate( "sprites/shockbeam.spr", pev->origin, FALSE );
2
m_pSprite->SetAttachment( edict(), 0 );
3
m_pSprite->pev->scale = 0.35;
4
m_pSprite->SetTransparency( kRenderTransAdd, 80, 160, 255, 200, kRenderFxNoDissipation );
5
 
6
m_pBeam = CBeam::BeamCreate( "sprites/lgtning.spr", 30 );
7
if (m_pBeam)
8
{
9
  m_pBeam->EntsInit( entindex(), entindex() );
10
  m_pBeam-&gt<img src="images/smilies/pp2.gif" border="0" alt="">ointEntInit( entindex(), entindex() );
11
  m_pBeam->SetStartAttachment( 1 );
12
  m_pBeam->SetEndAttachment( 2 );
13
  m_pBeam->SetBrightness( 180 );
14
  m_pBeam->SetScrollRate( 10 );
15
  m_pBeam->SetNoise( 0 );
16
  m_pBeam->SetFlags( BEAM_FSHADEOUT );
17
  m_pBeam->SetColor( 0, 255, 255 );
18
  m_pBeam->RelinkBeam();
19
}
20
else
21
{
22
  ALERT(at_console, "Could not create shockbeam beam!\n");
23
}
24
 
25
m_pNoise = CBeam::BeamCreate( "sprites/lgtning.spr", 30 );
26
 
27
if (m_pNoise)
28
{
29
  m_pNoise->EntsInit( entindex(), entindex() );
30
  m_pNoise-&gt<img src="images/smilies/pp2.gif" border="0" alt="">ointEntInit( entindex(), entindex() );
31
  m_pNoise->SetStartAttachment( 1 );
32
  m_pNoise->SetEndAttachment( 2 );
33
  m_pNoise->SetBrightness( 180 );
34
  m_pNoise->SetScrollRate( 30 );
35
  m_pNoise->SetNoise( 30 );
36
  m_pNoise->SetFlags( BEAM_FSHADEOUT );
37
  m_pNoise->SetColor( 255, 255, 173 );
38
  m_pNoise->RelinkBeam();
39
}
40
else
41
{
42
  ALERT(at_console, "Could not create shockbeam noise!\n");
43
}
44
 
45
}


ClearEffects, который вызывается в функции Touch
C++ Source Code:
1
void CShock::ClearEffects()
2
{
3
  if (m_pBeam)
4
  {
5
    UTIL_Remove( m_pBeam );
6
    m_pBeam = NULL;
7
  }
8
 
9
  if (m_pNoise)
10
  {
11
    UTIL_Remove( m_pNoise );
12
    m_pNoise = NULL;
13
  }
14
 
15
  if (m_pSprite)
16
  {
17
    UTIL_Remove( m_pSprite );
18
    m_pSprite = NULL;
19
  }
20
}


На всякий случай прикрепляю весь файл с прожектилей.

Добавлено 06-02-2021 в 11:43:

С размножением спрайтов разобрался - мой косяк был. Но лучи все еще продолжают терять заданный аттачмент. Копаю дальше.

Вложение: shock.txt (8.4 кб)
Этот файл был скачан 49 раз.

__________________
Мой мод на Xash

Отредактировано Aynekko 06-02-2021 в 08:44

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

Старое сообщение 06-02-2021 08:43
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Цитата:
Aynekko писал:
созданный спрайт продублировался, а лучи начинают крепиться к самой прожектили и ориджину карты.

Ну вот тебе и ответ. Создаётся ещё один эффект, у которого поля энтить, к которым он должен крепиться невалидные. Поэтому опфор крэшится. А под обычной халфой такое же поведение, или только под ксаш-движком? Просто я не припомню, чтобы у меня хоть когда-то крэшился опфор.
Навскидку, вроде есть в коде ошибочка. В функции CreateEffects нет проверки, существуют ли изначально m_pSprite, m_pBeam, m_pNoise. В сейв они все пишутся, следовательно, восстанавливаются при ресторе. А EffectsCreated обнуляется, поэтому CreateEffects вызывается снова, и делает ещё по одной копии. Ну по идее они должны не клонироваться, а перезаписываться. Тем более, RelinkBeam для лучей вызывается. Надо бы мне самому проверить вортигонтов и оригинальный опфор под стим-халфой.

Добавлено 06-02-2021 в 15:59:

Цитата:
Aynekko писал:
Но лучи все еще продолжают терять заданный аттачмент.

RelinkBeam с правильными указателями на энтитю-конец и энтитю-начало после рестора.

Отредактировано Ku2zoff 06-02-2021 в 09:03

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

Старое сообщение 06-02-2021 08:59
- За что?
Aynekko
Маппер

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

Рейтинг



Добавил проверки вида "if (!m_pSprite) SpriteCreate", для лучей тоже. Впрочем, без изменений.
На данный момент имею вот что:
https://youtu.be/Fu-hh4oH1tI
Стреляю, полет нормальный. Сохраняюсь, загружаюсь.
Оба луча (beam, noise) потеряли аттачменты и соединяются с прожектилей и ориджином карты (а не между аттачментами модели). Идет спам в консоль.
Снова сохраняюсь и загружаюсь. Лучи вообще исчезли. Спрайт благополучно долетает.
Кстати, спам прекратится, когда прожектиля долетит и исчезнет. То есть лучи видимо все еще как-то принадлежат ей.

Цитата:
Ku2zoff писал:
Просто я не припомню, чтобы у меня хоть когда-то крэшился опфор.

Я проверял ванильный опфор в стиме. Нужно сохраниться в тот самый промежуток времени, когда шоктрупер выпустит прожектилю, но при этом она еще не достигнет своего места назначения. Тогда после загрузки такого сохранения будет вылет.

Цитата:
Ku2zoff писал:
RelinkBeam с правильными указателями на энтитю-конец и энтитю-начало после рестора.

Тут не совсем понял. Релинкбим он же void, как ему указатели вписать?

__________________
Мой мод на Xash

Отредактировано Aynekko 06-02-2021 в 09:10

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

Старое сообщение 06-02-2021 09:09
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Вообще, вынеси создание всех трёх эффектов куда-нибудь в CShock::Shoot, вызывается ведь всего один раз. А обновление эффектов

C++ Source Code:
if (m_pBeam)
{
  тра-та-та
}

можно спокойно вызывать из тчинка. Удаление из тача. Наверное, никакая переменная EffectsCreated и не понадобится. Что за агарот-то нагородили те, кто кодил это типа опфоровское.
Если ничего не поможет - убери нафиг спрайт и лучи из сейвдаты. Пусть лучше они после рестора заново создаются и линкуются.

Отредактировано Ku2zoff 06-02-2021 в 09:12

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

Старое сообщение 06-02-2021 09:10
- За что?
Aynekko
Маппер

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

Рейтинг



Цитата:
Ku2zoff писал:
EffectsCreated

Это я добавил. Дело в том, что я использую флаг, в зависимости от которого задается размер и цвет прожектили (юзают разные монстры) но дело в том, что присвоение флага идет уже после спауна энтити. И в спауне флаг почему-то не проходит (выставлял алерты), зато проходит в think, которая запускается в спауне. Спрайт дублировался из-за того, что я забыл это добавить в сейврестор и оно обнулялось, и создавались новые эффекты

__________________
Мой мод на Xash

Отредактировано Aynekko 06-02-2021 в 09:14

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

Старое сообщение 06-02-2021 09:13
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Цитата:
Aynekko писал:
Релинкбим он же void, как ему указатели вписать?

Перед ним вызвать m_pNoise->EntsInit с указателями на нужную энтитю.

Добавлено 06-02-2021 в 16:16:

Я заинтересовался, попозже сегодня сам проверю опфор на предмет вылета. И напишу себе такой шок-эффект, пригодится для чего-нибудь.

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

Старое сообщение 06-02-2021 09:16
- За что?
Aynekko
Маппер

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

Рейтинг



Ku2zoff огромнейшее спасибо!!!
Добавил во flythink

C++ Source Code:
1
if (m_pNoise)
2
{
3
  m_pNoise->EntsInit( entindex(), entindex() );
4
  m_pNoise->SetStartAttachment( 1 );
5
  m_pNoise->SetEndAttachment( 2 );
6
  m_pNoise->RelinkBeam();
7
}
8
if (m_pBeam)
9
{
10
  m_pBeam->EntsInit( entindex(), entindex() );
11
  m_pBeam->SetStartAttachment( 1 );
12
  m_pBeam->SetEndAttachment( 2 );
13
  m_pBeam->RelinkBeam();
14
}

Проблема полностью ушла!!!

__________________
Мой мод на Xash

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

Старое сообщение 06-02-2021 09:20
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 05:19. Новая тема    Ответить
Страницы (52): « Первая ... « 23 24 25 26 [27] 28 29 30 31 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashXT > XashXT/3D [Вопросы и ответы] 2 голосов
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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