Понедельник, 29.04.2024, 13:04
Приветствую Вас Guest | RSS
Главная страница | Статьи | Регистрация | Вход
Меню сайта

Случайный рисунок

Категории каталога
Туториалы по маппингу (HL2) [68]
Туториалы по маппингу для Half-Life
Туториалы по текстурированию (HL2) [10]
Туторы по текстурированию для Half-Life
Туториалы по моделированию (HL2) [9]
Туторы по моделированию для Half-Life
Туториалы по программированию (HL2) [53]
Туторы по прагроммированию для Half-life
Другие туториалы (HL1 и HL2) [4]
Туторы которые не вошли в другие категории
Half-Life 2 Beta [1]
Статьи о npc и weapon в бете Half-Life 2, а так же мануалы и FAQ.
Туториалы по маппингу (HL1) [14]
Туторы по маппингу для Half-Life 1
Туториалы по текстурированию (HL1) [1]
Туторы по текстурированию для Half-Life 1
Туториалы по моделированию (HL1) [1]
Туторы по моделированию для Half-Life 1
Туториалы по программированию (HL1) [30]
Туторы по программированию для Half-Life 1

Наш опрос
Приводить ли сайт в чувство?
Всего ответов: 736

Начало » Статьи » Туториалы по программированию (HL1)

Quake strafing & DoD bobing styles

Всем превед! Вот от нечего делать я решил немножко изменить стиль игры в оригинальной хл. Сделать его динамичнее. Вобщем, это несложно, но после этого играть становится приятнее. Итак вот вам тутор по наклонам во время стрейфов и стилю качания оружия как в Day of Defeat.
Вся работа проводится на клиентской стороне.

Откройте view.cpp в cl_dll и спуститесь до функции V_CalcViewRoll. В её начало добавьте две новые сторчки:

 
extern cvar_t *cl_rollspeed;
extern cvar_t *cl_rollangle;

Затем удалите строчки:
float    side;

и
 
side = V_CalcRoll ( viewentity->angles, pparams->simvel, pparams->movevars->rollangle, pparams->movevars->rollspeed );

после замените строку
pparams->viewangles[ROLL] += side;

на
pparams->viewangles[ROLL] = V_CalcRoll (pparams->viewangles, pparams->simvel, cl_rollangle->value, cl_rollspeed->value ) * 4;

Теперь при стрейфах экран будет наклоняться в стиле Quake или DMC.
Число 4 вы можете изменить по своему вкусу, это коэффициент наклона,
то есть чем больше это значение, тем сильнее наклоняется экран.

Осталось только задекларировать две новые переменные cl_rollspeed и cl_rollangle.

Идите в hud.cpp и где-нибудь после заголовочных файлов добавьте две новые строки:
cvar_t *cl_rollspeed;
cvar_t *cl_rollangle;

Потом промотайте вниз до void CHud :: Init( void ) и воткните туда
cl_rollangle = gEngfuncs.pfnRegisterVariable ( "cl_rollangle", "0.65", FCVAR_CLIENTDLL|FCVAR_ARCHIVE );
cl_rollspeed = gEngfuncs.pfnRegisterVariable ( "cl_rollspeed", "300", FCVAR_CLIENTDLL|FCVAR_ARCHIVE );

На этом наклоны закончены. Переходим к качанию оружия, так называемому cl_bob.

Откройте view.cpp и в функции void V_CalcNormalRefdef ( struct ref_params_s *pparams ) замените:
// Let the viewmodel shake at about 10% of the amplitude
gEngfuncs.V_ApplyShake( view->origin, view->angles, 0.9 );

for ( i = 0; i < 3; i++ )
{
    view->origin[ i ] += bob * 0.4 * pparams->forward[ i ];
//viewmodel раскачивается вперёд-назад
}
view->origin[2] += bob;1

На вот это:
 
// Let the viewmodel shake at about 10% of the amplitude
gEngfuncs.V_ApplyShake( view->origin, view->angles, 0.9 );

for ( i = 0; i < 3; i++ )
{
    view->origin[ i ] += bob * 0.4 * pparams->right[ i ];
//viewmodel раскачивается вправо-влево
}
view->origin[2] += bob;

Число 0.4 это амплитуда раскачивания. Для тех, кто не знает физику это насколько сильно модель оружия будет отклоняться в сторону.

Вот и всё. Теперь осталось скомпилить client.dll и насладиться большей динамичностью игры.


Источник: http://www.hlfx.ru/forum/showthread.php?s=8332d886bea44b3d5ba7efc42cb1f496&threadid=634
Категория: Туториалы по программированию (HL1) | Добавил: DetLeR (17.08.2007) | Автор: Ku2zoff
Просмотров: 1091 | Рейтинг: 5.0 |

Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Кто в Онлайн

Друзья сайта

Баннеры

  Сайт CrazyArts   Black   Сообщество сайтов о Half-Life   Самый   Только   Все   hl2 top 100     Rambler's Top100  

игры
игры

  Каталог сайтов Планета Топ 100 - Planet Top 100       ТОП ЛУЧШИХ ИГРОВЫХ САЙТОВ           Detroit Team Site :: Моды от Detroit Team, видео, новости.   Naruto-kun[Звезда Наруто]  


The idea of dising: Homie7