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=4193)
Отправлено master07 03-12-2013 в 10:35:
Подключение проекционного фонарика
Вот недавно снёс из паранойи код фонарика и исправил ошибки. Но вот я не знаю как подключить чтобы не было трудностей, вот сам код:
В ev_hldm.cpp добавил:
C++ Source Code:
1 | DynamicLight *MY_AllocDlight (int key) |
5 | float time = gEngfuncs.GetClientTime(); |
10 | for (i=0 ; i<MAX_DLIGHTS ; i++, dl++) |
14 | memset (dl, 0, sizeof(*dl)); |
21 | for (i=0 ; i<MAX_DLIGHTS ; i++, dl++) |
25 | memset (dl, 0, sizeof(*dl)); |
32 | memset (dl, 0, sizeof(*dl)); |
И в конец:
C++ Source Code:
1 | void SetupFlashlight(vec3_t origin, vec3_t angles, float time, float frametime) |
10 | AngleVectors(angles, fwd, right, up); |
11 | fwd = origin + (fwd*150); |
12 | gEngfuncs.pEventAPI->EV_SetTraceHull( 2 ); |
13 | gEngfuncs.pEventAPI->EV_PlayerTrace( origin, fwd, PM_NORMAL, -1, &tr ); |
14 | if (tr.fraction < 1.0) |
15 | addideal = (1 - tr.fraction)*30; |
16 | float speed = (add - addideal)*10; |
17 | if (speed < 0) speed *= -1; |
20 | add += frametime*speed; |
21 | if (add > addideal) add = addideal; |
23 | else if (add > addideal) |
25 | add -= frametime*speed; |
26 | if (add < addideal) add = addideal; |
29 | DynamicLight *flashlight = MY_AllocDlight(-666); |
30 | flashlight->origin = origin + Vector(0,0,-13) + (right*5); |
31 | flashlight->radius = 700; |
32 | flashlight->die = time + 0.01; |
33 | flashlight->angles = angles; |
34 | strcpy(flashlight->spot_texture, "gfx/flashlight.tga"); |
35 | flashlight->cone_hor = 50+add; |
36 | flashlight->cone_ver = 50+add; |
37 | flashlight->color = Vector(1.4, 1.4, 1.4); |
В ev_hldm.h в конец:
C++ Source Code:
1 | void SetupFlashlight(vec3_t origin, vec3_t angles, float time, float frametime); |
16 | char spot_texture[64]; |
19 | DynamicLight* MY_AllocDlight (int key); |
22 | DynamicLight cl_dlights[MAX_DLIGHTS]; |
Вот и всё проверил ошибок не было, а в игре нет никакого фонарика, потому что я знаю что нужно его подключить, но не знаю как. Помогите пожалуйста. Заранее благодарен.
Отправлено Дядя Миша 03-12-2013 в 12:29:
Цитата:
master07 писал:
Вот недавно снёс из паранойи код фонарика и исправил ошибки
Чего-чего сделал? 
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено master07 03-12-2013 в 12:51:
Что именно. Я когда снёс всё то, что нужно при компиляции возникали ошибки.
Отправлено Chyvachok 03-12-2013 в 15:07:
Цитата:
master07 писал:
Подключение проекционного фонарика
Прочитал случайно как провокационного фонарика. 
А то теме может стоит написать что за ошибки были?
Отправлено fire64 03-12-2013 в 15:40:
master07, а ты в курсе, что в паранойе свой рендер?
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
Отправлено Дядя Миша 03-12-2013 в 15:51:
Цитата:
master07 писал:
Что именно. Я когда снёс всё то, что нужно при компиляции возникали ошибки.
Снести можно яйцо, если ты курица.
Снести можно несущую перегородку, если ты равшан или джамшут.
Что ты там в коде снёс - непонятно.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Ku2zoff 03-12-2013 в 16:07:
Может не снёс, а перенёс? В чистый СДК. Маленький кусок кода без остального рендера. Естественно работать не будет.
Добавлено 03-12-2013 в 23:07:
Цитата:
master07 писал:
C++ Source Code:
DynamicLight cl_dlights[MAX_DLIGHTS]; |
Эти длайты надо ещё где-то в коде "менеджить" и отрисовывать вообще-то. Что толку от того, что они просто так есть и создаются в функции MY_AllocDlight?
Отправлено Cybermax 03-12-2013 в 16:32:
Цитата:
Дядя Миша писал:
Снести можно яйцо, если ты курица.
Выпилил, удалил?__________________
ㅤ
Отправлено Дядя Миша 03-12-2013 в 16:53:
Cybermax не торопись с выводами. HAWK нам одно время рассказывал, что у него программа "летает". Мы за него радовались, а он имел в виду, что она у него "падает".
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено HAWK0044 15-12-2013 в 13:05:
Дядя Миша да, было дело 
вангую что он решил перенести фонарик из паранои, но перенёс только код длайтов и установку проекции, ни о каких рендерерах речи быть не может, опять же вангую что он нигде эти "снесённые" функции не вызывает.