-CJ- ну конечно насмешил. Куда там мои потуги спроть проектов великого гуру CJ .
Цитата:
Мда в hlsdk хоть чтото я понял здесьже ничего
Дак сравнил игровую библиотеку с целым движком
Может ты думаешь, что мы с ксероксом сразу сообразили где там что?
Зеркало есть в Tenebrae (который под первую кваку движок). качай его исходники и смотри как там устроено. Зеркало в третьей кваки сделано так же как и в спирите (только там через буффер трафарета отсекаются нефидимые полиогны).
ЗЫ. Мультиплеерные зеркала отличаются от синглплеерных одной строчкой:
Дядя Миша писал:
Зеркало есть в Tenebrae (который под первую кваку движок). качай его исходники и смотри как там устроено. Зеркало в третьей кваки сделано так же как и в спирите (только там через буффер трафарета отсекаются невидимые полиогны).
[/code]
как я понял из q3 зеркало гораздо производительней ?
А можноли где нить достать исходники етого спиритовского зеркала ? а то мне errorы не нужны
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
А тогда где взять уже халфовские зеркала ( имеется ввиду для халфы) ?
кстати преименуйте тему на ПРО ЭФЕКТЫ
Добавлено сегодня в 18:36:
скачал сорцы спирита 1.4 !
Подскажите пожалуйста поподробней как от туда достать именно зеркало и втолкать его в хл ?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
-CJ- никто тебе ничего разжевывать не будет.
Учись думать своей головой.
Например начни с того, что сделай поиск по слову mirror.
PS. И самое главное - не мечтай, что ты быстренько вот-вот за неделю все накодишь и забудешь об этом.
Если у тебя такой подход, тебе проще вообще не кодить.
Дядя Миша писал: -CJ- никто тебе ничего разжевывать не будет.
Учись думать своей головой.
Например начни с того, что сделай поиск по слову mirror.
PS. И самое главное - не мечтай, что ты быстренько вот-вот за неделю все накодишь и забудешь об этом.
Если у тебя такой подход, тебе проще вообще не кодить.
Спасибо за подсказку
Добавлено сегодня в 20:39:
Во скока нашло !
Что взять а что выкинуть ?
Searching for \\\'mirror\\\'...
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\StudioModelRenderer.cpp(1129): VectorSubtract(gHUD.Mirrors[mirror_id].origin,m_pCurrentEntity->origin,delta);
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\StudioModelRenderer.cpp(1131): if ((gHUD.numMirrors<0) || (gHUD.Mirrors[mirror_id].radius < dist)) return 0;
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\StudioModelRenderer.cpp(1183): if ((gHUD.numMirrors>0 && !(m_pCurrentEntity->model->name[7]==\\\'v\\\' && m_pCurrentEntity->model->name[8]==\\\'_\\\')))
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\StudioModelRenderer.cpp(1185): for (int ic=0;ic < gHUD.numMirrors;ic++)
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\StudioModelRenderer.cpp(1187): //Parsing mirror
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\StudioModelRenderer.cpp(1188): if (!gHUD.Mirrors[ic].enabled)
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\StudioModelRenderer.cpp(1195): VectorSubtract(gHUD.Mirrors[ic].origin,m_pCurrentEntity->origin,delta);
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\StudioModelRenderer.cpp(1198): if (gHUD.Mirrors[ic].radius < dist)
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\StudioModelRenderer.cpp(1203): switch (gHUD.Mirrors[ic].type)
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\StudioModelRenderer.cpp(1209): (*m_protationmatrix)[0][3] = gHUD.Mirrors[ic].origin[0]*2 - m_pCurrentEntity->origin[0];
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\StudioModelRenderer.cpp(1216): (*m_protationmatrix)[1][3] = gHUD.Mirrors[ic].origin[1]*2 - m_pCurrentEntity->origin[1];
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\StudioModelRenderer.cpp(1224): mirror_id = ic;
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\StudioModelRenderer.h(188): // Mirror stuff
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\StudioModelRenderer.h(189): int mirror_id;
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\ev_hldm.cpp(70):void EV_Mirror( struct event_args_s *args );
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\ev_hldm.cpp(1580):// MIRROR START
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\ev_hldm.cpp(1582):void EV_Mirror( event_args_t *args )
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\ev_hldm.cpp(1592): //we have mirror
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\ev_hldm.cpp(1593): if (gHUD.numMirrors)
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\ev_hldm.cpp(1597): if (gHUD.Mirrors[ic].origin[0] == org[0] && gHUD.Mirrors[ic].origin[1] == org[1] && gHUD.Mirrors[ic].origin[2] == org[2])
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\ev_hldm.cpp(1599): if (bEnabled && !gHUD.Mirrors[ic].enabled ) gHUD.numMirrors++;
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\ev_hldm.cpp(1601): else if (!bEnabled && gHUD.Mirrors[ic].enabled ) gHUD.numMirrors--;
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\ev_hldm.cpp(1603): gHUD.Mirrors[ic].enabled = bEnabled;
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\ev_hldm.cpp(1612): if (gHUD.numMirrors >= 32) CONPRINT(\\\"ERROR: Can\\\'t register mirror, maximum 32 allowed!\\\\n\\\");
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\ev_hldm.cpp(1616): VectorCopy(org,gHUD.Mirrors[gHUD.numMirrors].origin);
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\ev_hldm.cpp(1617): gHUD.Mirrors[gHUD.numMirrors].type = type;
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\ev_hldm.cpp(1618): gHUD.Mirrors[gHUD.numMirrors].enabled = bEnabled;
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\ev_hldm.cpp(1619): gHUD.Mirrors[gHUD.numMirrors].radius = dist;
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\ev_hldm.cpp(1620): gHUD.numMirrors++;
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\ev_hldm.cpp(1626):// MIRROR END
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\hud.cpp(393): numMirrors = 0;
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\hud.cpp(508): numMirrors = 0;
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\hud.h(591):typedef struct cl_mirror_s
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\hud.h(597):} cl_mirror_t;
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\hud.h(639): struct cl_mirror_s Mirrors[32]; //Limit - 32 mirrors!
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\hud.h(640): int numMirrors;
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\hud_msg.cpp(62): numMirrors = 0;
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\tf_defs.h(146):#define TEAMPLAY_HALFDIRMIRROR 2048
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\tf_defs.h(147):#define TEAMPLAY_FULLDIRMIRROR 4096
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\tf_defs.h(148):#define TEAMPLAY_HALFEXPMIRROR 8192
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\tf_defs.h(149):#define TEAMPLAY_FULLEXPMIRROR 16384
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\tf_defs.h(1069):#define DMSG_MIRROR 37
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\hl\\\\hl_events.cpp(39):void EV_Mirror( struct event_args_s *args );//temporary mirror stuff
D:\\\\games\\\\êîíòðà\\\\hlsdk\\\\spirit\\\\cl_dll\\\\hl\\\\hl_events.cpp(80): gEngfuncs.pfnHookEvent( \\\"events/mirror.sc\\\", EV_Mirror );
44 occurrence(s) have been found.
Я думаю что нада добавить :
client.dll
--------------
StudioModelRenderer.cpp
ev_hldm.cpp
tf_defs.h
hl_events.cpp
hl.dll
---------------
effects.cpp
player.cpp
Поправь если я не прав а то просто я боюсь хлсдк запороть
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
-CJ- ты так говоришь, как будто хл сдк, это компьютер в который ты полез с отверткой.
Что тебе мешает делать регулярный бэкап после вносимых изменений? я всегда делаю бэкап батником примерно такого содержания:
code:
@echo off
color 4F
echo XashXT Group 2006 (C)
echo Prepare source for backup
echo.
if exist launcher\launcher.ncb del /f /q launcher\launcher.ncb
if exist launcher\launcher.opt del /f /q launcher\launcher.opt
if exist launcher\launcher.plg del /f /q launcher\launcher.plg
if exist engine\engine.ncb del /f /q engine\engine.ncb
if exist engine\engine.opt del /f /q engine\engine.opt
if exist engine\engine.plg del /f /q engine\engine.plg
if exist render\render.ncb del /f /q render\render.ncb
if exist render\render.opt del /f /q render\render.opt
if exist render\render.plg del /f /q render\render.plg
if exist server\server.ncb del /f /q server\server.ncb
if exist server\server.opt del /f /q server\server.opt
if exist server\server.plg del /f /q server\server.plg
if exist backup.log del /f /q backup.log
if not exist .\backup\ mkdir .\backup\
echo Prepare OK!
echo Please wait: backup in progress
C:\Progra~1\WinRar\rar a -agMMMYYYY-DD .\backup\.rar -dh -m5 @backup.lst >>backup.log
if errorlevel 1 goto error
if errorlevel 0 goto ok
k
cls
echo Source was sucessfully backuped
echo and stored in folder "backup"
echo Press any key for exit. :-)
if exist backup.log del /f /q backup.log
exit
:error
echo ******************************
echo ***********Erorr!*************
echo ******************************
echo **See backup.log for details**
echo ******************************
echo ******************************
echo.
echo press any key for exit :-(
pause>nul
exit
Обрати внимание, что это только пример. Тебе он не подойдет.
Пойдем дальше. Если таки немного подумать головой (а это очень увлекательное занятие), то получается следующее: Зеркало рисует ТОЛЬКО модели и спрайты. А где у нас рисуются модели? а модели у нас рисуются в StudioModelRenderer.cpp - я надеюсь не надо быть гением чтобы до этого догадаться.
Спрайты у на рисуются движком, следовательно способ их отражения сделан по другому (впрочем в спирите 1.4 спрайты вообще не отражаются)(и плеер тоже).
Как называется энтить, которая создает зеркало на карте? env_mirror! Я опять-таки надеюсь, что до этого додуматься можно своим умом.
Что делать дальше я не скажу. Включай свою соображалку, НЕ ЖДИ ПОДСКАЗКИ! И тогда у тебя начнет что-то получаться.
Представь себя на моем месте - мне вообще спросить не у кого (кроме Ксерокса), большинство моих вопросов ставит народ в тупик, в итоге приходится во всем разбираться самому. И я же не кричу на форуме, что "этот путь уже давным-давно прошла Valve и ID Software" И зачем изобретать велосипед.
Так hl.dll здесь не причем ?
Дядя Миша просто у меня спирит не запускался по стим версией т.к. заменял hw.dll и sw.dll
------------------------------------------------------------------
Зеркало рисует ТОЛЬКО модели и спрайты.
------------------------------------------------------------------
А саму комнату ?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Valve жиды , ID Software еще более менее но тоже в ту сторону !
Так зачем с них примерто брать ?
Всмысле в хамере ? Тогда какоеж ето зеркало получится ? Я хотел мировое зеркало чтоб нанес текстуру ... и ...
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
-CJ- не неси чушь. какие жиды, какие по ту сторону, по эту сторону?
еще раз выложишь свой лог компила не в аттаче, а текстом - плюсану за оверквотинг.
И потом ты слишком много хочешь, но при этом ничего не делаешь и не учишься.
Дядя Миша писал:
И потом ты слишком много хочешь, но при этом ничего не делаешь и не учишься.
Я ? Да я бы с радостью только неукого только у тебя с xaeroxom ....
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
-CJ- я вот одного не пойму - ты сам язык С++ знаешь? Если да, то ошибки компиляции не должны тебя смущать - посмотри, исправь ошибку, если это возможно. Если нельзя - значит ты скопировал не все или не туда А если не знаешь - тогда учи язык! Вот книжка неплохая: http://doks.gorodok.net/?p=82
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!