Пятница, 28.07.2017, 10:05
 
Приветствую Вас Guest | RSS
Главная страница | Фонарь Продвинутый - Форум | Регистрация | Вход
[Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Игровая мастерская » Программирование » Фонарь Продвинутый
Фонарь Продвинутый
AlexGordonДата: Понедельник, 09.08.2010, 07:56 | Сообщение # 1
Soldier
Группа: Проверенные
Сообщений: 487
Репутация: 23
Статус: Offline
Здрасть форумчане!
Возник вопрос: можно ли в Half-Life 1 сделать фонарик а-ля паранойа, но не прикручивать при этом рендер паранойи?




My Energy - 18000000000 g

Моя визитка
 
DetLeRДата: Понедельник, 09.08.2010, 09:12 | Сообщение # 2
Engineer
Группа: Администраторы
Сообщений: 1731
Статус: Offline
Способ есть всегда, вопрос только в том сможешь ли ты его найти biggrin Я думаю без обновленного рендера, или рендера паранойи ты фонарь не сделаешь.
 
AlexGordonДата: Понедельник, 09.08.2010, 10:59 | Сообщение # 3
Soldier
Группа: Проверенные
Сообщений: 487
Репутация: 23
Статус: Offline
А разве нельзя подключить к фонарю TGA файл? Просто я не знаю как..



My Energy - 18000000000 g

Моя визитка
 
AndreazzzДата: Понедельник, 09.08.2010, 11:22 | Сообщение # 4
Spy
Группа: Проверенные
Сообщений: 996
Репутация: 55
Статус: Offline
AlexGordon, вот что я шашёл
Code
//===============================
// buz: flashlight managenemt
//===============================
void SetupFlashlight(vec3_t origin, vec3_t angles, float time, float frametime)
{
  if (!g_flashlight)
   return;

  static float add = 0;
  float addideal = 0;
  pmtrace_t tr;
  vec3_t fwd, right, up;
  AngleVectors(angles, fwd, right, up);
  fwd = origin + (fwd*150);
  gEngfuncs.pEventAPI->EV_SetTraceHull( 2 );
  gEngfuncs.pEventAPI->EV_PlayerTrace( origin, fwd, PM_NORMAL, -1, &tr );
  if (tr.fraction < 1.0)
   addideal = (1 - tr.fraction)*30;
  float speed = (add - addideal)*10;
  if (speed < 0) speed *= -1;
  if (add < addideal)
  {
   add += frametime*speed;
   if (add > addideal) add = addideal;
  }
  else if (add > addideal)
  {
   add -= frametime*speed;
   if (add < addideal) add = addideal;
  }

  DynamicLight *flashlight = MY_AllocDlight(-666);
  flashlight->origin = origin + Vector(0,0,-13) + (right*5);
  flashlight->radius = 700;
  flashlight->die = time + 0.01;
  flashlight->angles = angles;
  strcpy(flashlight->spot_texture, "gfx/flashlight.tga");
  flashlight->cone_hor = 50+add;
  flashlight->cone_ver = 50+add;
  flashlight->color = Vector(1.4, 1.4, 1.4); // make model dymanic lighting happy
}
если неошибаюсь эта функция есть и в чистом хл1сдк


 
AlexGordonДата: Понедельник, 09.08.2010, 11:59 | Сообщение # 5
Soldier
Группа: Проверенные
Сообщений: 487
Репутация: 23
Статус: Offline
Ну и что это дает?



My Energy - 18000000000 g

Моя визитка
 
DetLeRДата: Понедельник, 09.08.2010, 13:22 | Сообщение # 6
Engineer
Группа: Администраторы
Сообщений: 1731
Статус: Offline
AlexGordon, это то от чего тебе надо отталкиватся. Или ты хочешь что б тебе всегда готовый код давали?
 
AndreazzzДата: Понедельник, 09.08.2010, 16:48 | Сообщение # 7
Spy
Группа: Проверенные
Сообщений: 996
Репутация: 55
Статус: Offline
AlexGordon, тебе нужен фонарь а вот и код, неполенись поискать где он, и где ета функция упоминается, а потом грамотно копипасть

 
AlexGordonДата: Среда, 11.08.2010, 18:52 | Сообщение # 8
Soldier
Группа: Проверенные
Сообщений: 487
Репутация: 23
Статус: Offline
Это из какого cpp?



My Energy - 18000000000 g

Моя визитка
 
Форум » Игровая мастерская » Программирование » Фонарь Продвинутый
Страница 1 из 11
Поиск:

Помощь в разработке форума: HOMiE7