HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > несколько вопросов
Страницы (78): « Первая ... « 59 60 61 62 [63] 64 65 66 67 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

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

Рейтинг



pev->gravity это фактор ослабления локальной гравитации от нуля до еденички. А sv_gravity как раз и копируется в movevars и передаётся по сети. Впрочем в недокументированном клиентском интерфейсе есть корочи специальная функция для получения значения гравитации.
А для тестирования можешь вписать туда просто 800.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 10-08-2012 14:58
-
Shapirlic
Житель форума

Дата регистрации: Feb 2011
Проживает: SPb
Сообщений: 357
Возраст: 31

Рейтинг



Вообщем сделал в каждом евенте - при создании клиентской пули указываю в функции создания клиентского трейсера нужную pev->gravity,скопированную с серверных пуль,умножаю её на CVAR_GET_FLOAT("sv_gravity"). При полёте всё совпадает Спасибо.

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

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

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

Рейтинг



ох ёлки...
pev->gravity у тебя для каждой пули равен нулю либо еденичке, ты бы хоть не поленился проверить.
а sv_gravity нельзя брать на клиенте через квар, потому что все нелокальные клиенты отсосут. Ну неужели непонятно?

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 10-08-2012 16:59
-
Shapirlic
Житель форума

Дата регистрации: Feb 2011
Проживает: SPb
Сообщений: 357
Возраст: 31

Рейтинг



pev->gravity не ноль и единичка а дробное число типа 0.2 или 0.3.
Только что проверил на двух машинах - гравитация работает как и у сервера так и у клиента.Но для предосторожности возьму её так как ты говоришь.

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

Старое сообщение 10-08-2012 17:08
- За что?
CrazyRussian
ололо

Дата регистрации: Apr 2009
Проживает: Город-курорт Ессентуки
Сообщений: 790
Возраст: 32

Рейтинг



Награды
 
[1 награда]


Цитата:
Дядя Миша писал:
Но это не мешает ему переодически вылетать. Так что, не панацея.

На девелоперской машине он сверхстабилен, чего не скажешь явно о моде Shapirlic.

Цитата:
Дядя Миша писал:
Т.е. первую и главную проверку на валидность она уже благополучно забыла. И какими дешевыми трюками она проверяет валидность кода, спрашивается?

В чем трабл то? Вон у тебя первая строчка
C++ Source Code:
if( pController )
{
 


Если код в тот блок попал, то смысла внутри блока проверять pController на не нулл нету, вот тебе и тулза ругается - говорит что тут
C++ Source Code:
if( pController && pController->IsPlayer() )

лишняя проверка

__________________
Трагическая новость: Пятеро инженеров Casio умерли от смеха, узнав что Samsung анонсировали часы с заявленным временем работы в 25 часов

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

Старое сообщение 10-08-2012 17:34
- За что?
 Дядя Миша
racing for fish

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

Старое сообщение 10-08-2012 17:38
-
fire64
Житель форума

Дата регистрации: Apr 2007
Проживает: Москва
Сообщений: 2362
Возраст: 35

Рейтинг



Как устроено смешивание лайтмап с основной текстурой в Half-Life?



Добавлено 11-08-2012 в 02:12:

У меня в шейдер передаются следующие данные:

C++ Source Code:
1
uniform sampler2D baseMap;
2
uniform sampler2D lightMap;
3
 
4
uniform vec2 Lighmapcoord;
5
varying vec2 Texcoord;


Как их смешать, чтобы получить приемлемое изображение.

Если пишу:
C++ Source Code:
gl_FragColor = texture2D(baseMap, Texcoord);


То все цвета нормальные, но без освещения.

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей

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

Старое сообщение 10-08-2012 22:12
- За что?
Government-Man
Призрак

Дата регистрации: Apr 2006
Проживает: N/A
Сообщений: 3507

Рейтинг



Награды
 
[1 награда]


fire64
gl_FragColor = texture2D(baseMap, Texcoord) * texture2D(lightMap, Lightmapcoord);

Добавлено 10-08-2012 в 18:34:

А в ХЛ2:

gl_FragColor = texture2D(baseMap, Texcoord) * texture2D(lightMap, Lightmapcoord) * 16;

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

Старое сообщение 10-08-2012 22:34
- За что?
 Дядя Миша
racing for fish

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

Старое сообщение 11-08-2012 05:29
-
Lev
Житель форума

Дата регистрации: Dec 2011
Проживает: Оренбург
Сообщений: 789
Возраст: 31

Рейтинг



Кто-нибудь знает, где проигрывается звук, когда игрок под водой(конкретно фанк ватер)?

Добавлено 11-08-2012 в 12:04:

Да и ещё - каким образом на стеклянных фанк брекаблях остаются декали, а на остальных нет

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

Старое сообщение 11-08-2012 06:04
- За что?
fire64
Житель форума

Дата регистрации: Apr 2007
Проживает: Москва
Сообщений: 2362
Возраст: 35

Рейтинг



Гм, что-то у меня не то получается:

C++ Source Code:
1
tex = cursurface->texinfo->texture;
2
 
3
GLint lightmapImageLoc = glGetUniformLocation(pShaderProgram->GetShaderProgram(), "lightMap");
4
GLint baseImageLoc = glGetUniformLocation(pShaderProgram->GetShaderProgram(), "baseMap");
5
GLint Lighmapcoord = glGetUniformLocation(pShaderProgram->GetShaderProgram(), "Lighmapcoord");
6
 
7
glUniform2f(Lighmapcoord, cursurface->light_s, cursurface->light_t );
8
 
9
pShaderProgram->SetState( true );
10
 
11
glActiveTexture(GL_TEXTURE0+1);
12
glBindTexture(GL_TEXTURE_2D, tex->gl_texturenum);
13
 
14
glActiveTexture(GL_TEXTURE0+2);
15
glBindTexture(GL_TEXTURE_2D,cursurface->lightmaptexturenum );
16
 
17
glUniform1i(baseImageLoc, 1);
18
glUniform1i(lightmapImageLoc, 2);


В шейдере:
C++ Source Code:
1
uniform sampler2D baseMap;
2
uniform sampler2D lightMap;
3
 
4
uniform vec2 Lighmapcoord;
5
varying vec2 Texcoord;
6
 
7
void main( void )
8
{
9
  vec4 col1 = texture2D(baseMap, Texcoord);
10
  vec4 col2 = texture2D(lightMap, Lighmapcoord);
11
 
12
  vec4 color = col2 * col1;
13
 
14
  gl_FragColor = color;
15
}


Результат в аттаче.

Добавлено 11-08-2012 в 13:09:

хм, думал что где-то в коде задания sampler2D ошибся, отрубил шейдеры и отрисовал мир с заменой tex->gl_texturenum на cursurface->lightmaptexturenum и соответственно с текстурными координатами лайтмап.

Результат тот же, что и от использования texture2D(lightMap, Lighmapcoord);

Значит данные передаются верно.

[ Вложение ]
anomvid0001.jpg

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей

Отредактировано fire64 11-08-2012 в 08:48

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

Старое сообщение 11-08-2012 09:09
- За что?
Shapirlic
Житель форума

Дата регистрации: Feb 2011
Проживает: SPb
Сообщений: 357
Возраст: 31

Рейтинг



Я помню,вопрос поднимался,на него есть ответ,но я не нашёл на форуме.Ответьте пожалуйста - какими средствами организовать зацикливание звука? Я помню,там какой-то прогой нужно расставить точки зацикливания или как их там.Как прога называется?

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

Старое сообщение 11-08-2012 13:27
- За что?
qpAHToMAS
Интернетовское трепло

Дата регистрации: Sep 2007
Проживает: (void)
Сообщений: 1788
Возраст: 34

Рейтинг



Shapirlic, http://csmapper.ru/tutorials/t14loopsound.shtml

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

Старое сообщение 11-08-2012 14:19
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
Lev писал:
Кто-нибудь знает, где проигрывается звук, когда игрок под водой(конкретно фанк ватер)?

без разницы под какой водой. В функции WaterMove, player.cpp
Цитата:
Lev писал:
Да и ещё - каким образом на стеклянных фанк брекаблях остаются декали, а на остальных нет

Баг потомушта, читай мой тутор:
http://www.hlfx.ru/forum/showthread...=&threadid=2534

Добавлено 11-08-2012 в 18:41:

Цитата:
fire64 писал:
отрисовал мир с заменой tex->gl_texturenum на cursurface->lightmaptexturenum и соответственно с текстурными координатами лайтмап.

lightmaptexturenum это не индекс гл-текстуры. Это номер лайтмапы в массиве лайтмап.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 11-08-2012 14:41
-
Lev
Житель форума

Дата регистрации: Dec 2011
Проживает: Оренбург
Сообщений: 789
Возраст: 31

Рейтинг



C++ Source Code:
1
int screeninwater;
2
 
3
if (pev->waterlevel == 3 )
4
  screeninwater = 1;
5
else
6
  screeninwater = 0;


Мне две мессаги нужно на клиент передать - но с каким параметром они должны быть? MSG_ALL?

C++ Source Code:
1
if (screeninwater == 1)
2
{
3
  MESSAGE_BEGIN( MSG_ALL, gmsgScreenInWater );
4
  WRITE_BYTE( screeninwater );
5
  MESSAGE_END();
6
}

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

Старое сообщение 12-08-2012 06:39
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 18:53. Новая тема    Ответить
Страницы (78): « Первая ... « 59 60 61 62 [63] 64 65 66 67 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > несколько вопросов
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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