HLFX.Ru Forum Страницы (78): « Первая ... « 59 60 61 62 [63] 64 65 66 67 » ... Последняя »
Показать все 1159 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- несколько вопросов (https://hlfx.ru/forum/showthread.php?threadid=2935)


Отправлено Дядя Миша 10-08-2012 в 14:58:

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'


Отправлено Shapirlic 10-08-2012 в 15:00:

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


Отправлено Дядя Миша 10-08-2012 в 16:59:

ох ёлки...
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'


Отправлено Shapirlic 10-08-2012 в 17:08:

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


Отправлено CrazyRussian 10-08-2012 в 17:34:

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

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

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

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


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

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

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


Отправлено Дядя Миша 10-08-2012 в 17:38:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено fire64 10-08-2012 в 22:12:

Как устроено смешивание лайтмап с основной текстурой в 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);


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

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


Отправлено Government-Man 10-08-2012 в 22:34:

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

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

А в ХЛ2:

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


Отправлено Дядя Миша 11-08-2012 в 05:29:

А текстуры-решетки освещаются еще хитрее.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Lev 11-08-2012 в 06:04:

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

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

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


Отправлено fire64 11-08-2012 в 09:09:

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

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);

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

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


Отправлено Shapirlic 11-08-2012 в 13:27:

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


Отправлено qpAHToMAS 11-08-2012 в 14:19:

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


Отправлено Дядя Миша 11-08-2012 в 14:41:

Цитата:
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'


Отправлено Lev 12-08-2012 в 06:39:

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
}


Временная зона GMT. Текущее время 00:55. Страницы (78): « Первая ... « 59 60 61 62 [63] 64 65 66 67 » ... Последняя »
Показать все 1159 сообщений этой темы на одной странице

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