HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashXT > XashXT 0.6 release
stable version with full source code
Страницы (11): « 1 2 3 4 [5] 6 7 8 9 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32208
Нанёс повреждений: 392 ед.

Рейтинг



а в opengl.cfg нолики проставлять, взаместо еденичек. Ну и конечно вчитываться в названия переменных. Так например, gl_extensions отключает разом все, а gl_ignorehwgamma или скажем texgamma никакого отношения не имеют к расширениям.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 107741

Старое сообщение 22-09-2012 18:29
-
nemyax
Нёмыч

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 4137

Рейтинг



С обнулённым gl_extensions в opengl.cfg то же самое.

Сообщить модератору | | IP: Записан
Сообщение: 107742

Старое сообщение 22-09-2012 19:13
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32208
Нанёс повреждений: 392 ед.

Рейтинг



тогда в консоли gl_renderer 0

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 107744

Старое сообщение 22-09-2012 19:55
-
KiQ
Житель форума

Дата регистрации: Aug 2010
Проживает: Смоленск, Москва
Сообщений: 2088

Рейтинг



Дядя Миша интересно было бы почитать статьи навроде цикла про внутреннее устройство Quake движков, только про ксаш - то есть в чем отличия, какие возможности дает кодинг под ксаш и ксаш-мод, и т.д. Или это тоже только за донейт, потому что это прихоть и кому действительно надо, тот сам разберется? Просто для мапперов документация как-бы вышла, а вот по кодингу - нет. Ну в принципе, если что я донейт давно хотел внести, просто суммы-то у меня смехотворные - что там 500 рублей, да даже 1000?

__________________
-Brain is dead-

Сообщить модератору | | IP: Записан
Сообщение: 107746

Старое сообщение 22-09-2012 20:44
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32208
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
KiQ писал:
для мапперов документация как-бы вышла, а вот по кодингу - нет

В чём конкретно затруднение?

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 107752

Старое сообщение 23-09-2012 08:44
-
KiQ
Житель форума

Дата регистрации: Aug 2010
Проживает: Смоленск, Москва
Сообщений: 2088

Рейтинг



Дядя Миша ну вот например алгоритм работы рендерера в ксаш-моде, или особенности имплементации ньютона, то есть как и в документации для мапперов - какие возможности появились, и какие старые обновились. Вот опять же - какие функции из vgui требует движок. Там что-то с мышкой связано, выходит, если повырезать vgui, то придется писать свой код управления мышкой? Или имеется в виду чисто игровой курсор?

__________________
-Brain is dead-

Сообщить модератору | | IP: Записан
Сообщение: 107753

Старое сообщение 23-09-2012 09:03
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32208
Нанёс повреждений: 392 ед.

Рейтинг



VGUI отрезается за 20 минут от движка. После отрезания мышка начинает работать некорректно, но это легко исправляется заменой функции IN_ToggleClientMouse на ниже приведенную:

C++ Source Code:
1
void IN_ToggleClientMouse( int newstate, int oldstate )
2
{
3
  if( newstate == oldstate ) return;
4
 
5
  if( oldstate == key_game )
6
  {
7
    clgame.dllFuncs.IN_DeactivateMouse();
8
  }
9
  else if( newstate == key_game )
10
  {
11
    // reset mouse pos, so cancel effect in game
12
    SetCursorPos( host.window_center_x, host.window_center_y );
13
    clgame.dllFuncs.IN_ActivateMouse();
14
  }
15
 
16
  if( newstate == key_menu && !cl.background )
17
  {
18
    in_mouseactive = false;
19
    ClipCursor( NULL );
20
    ReleaseCapture();
21
    while( ShowCursor( true ) < 0 );
22
  }
23
  else if( newstate == key_game )
24
  {
25
    // re-initailize mouse
26
    in_mouseactive = false;
27
  }
28
}

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 107755

Старое сообщение 23-09-2012 10:17
-
KiQ
Житель форума

Дата регистрации: Aug 2010
Проживает: Смоленск, Москва
Сообщений: 2088

Рейтинг



Дядя Миша вот, спасибо

__________________
-Brain is dead-

Сообщить модератору | | IP: Записан
Сообщение: 107756

Старое сообщение 23-09-2012 10:25
- За что?
Kendal
Новичок

Дата регистрации: Oct 2011
Проживает: Unknown
Сообщений: 20
Возраст: 40

Рейтинг



Дядя Миша how can i connect this rope code wit the parent system ?

Цитата:

#include "../hud.h"
#include "../utils.h"

#include "r_local.h"

#include "const.h"
#include "entity_state.h"
#include "cl_entity.h"

#include "triangleapi.h"

#include "pm_defs.h"
#include "event_api.h"
#include "pmtrace.h"
#include "parsemsg.h"

#include "tri_rope.h"

#include "triangleapi.h"

#include "r_studioint.h"


//extern engine_studio_api_t IEngineStudio;
extern void RenderFog ( void );

GLRopeRender gRopeRender;

GLRopeRender::GLRopeRender()
{
ResetRopes();
}
GLRopeRender::~GLRopeRender()
{
}

void GLRopeRender::ResetRopes()
{
rope_id = 0;

for( int p = 0; p < MAX_ROPES; p++ )
hRope[p].bDraw = FALSE;
}

void GLRopeRender::DrawBeam(vec3_t start,vec3_t end,float width,char *Sprite, bool bCheckLight, int r, int g, int b, vec3_t color )
{
HSPRITE texture = SPR_Load(Sprite);
extern vec3_t v_angles;
Vector v_origin;

struct model_s * pModel;

pModel = (struct model_s *)gEngfuncs.GetSpritePointer( texture );

if(!gEngfuncs.pTriAPI->SpriteTexture(pModel, 0))
return;

vec3_t dir = (start-end).Normalize();
vec3_t view,v_right,mid;

gEngfuncs.GetViewAngles(view);
AngleVectors(view, view, NULL, NULL);
view = view.Normalize();

float l = (start-end).Length();
mid = start+(start-end).Normalize()*l*0.5;

view = (v_origin - mid).Normalize();

v_right = CrossProduct(view,dir);

v_right = v_right.Normalize();

gEngfuncs.pTriAPI->RenderMode(kRenderNormal);
gEngfuncs.pTriAPI->CullFace(TRI_NONE);

gEngfuncs.pTriAPI->Begin( TRI_TRIANGLES );

gEngfuncs.pTriAPI->Color4ub(color[0],color[1],color[2],255);

gEngfuncs.pTriAPI->Brightness(1);

gEngfuncs.pTriAPI->TexCoord2f(0, 1);
gEngfuncs.pTriAPI->Vertex3fv(end - v_right * width);

gEngfuncs.pTriAPI->TexCoord2f(1, 1);
gEngfuncs.pTriAPI->Vertex3fv(end + v_right * width);

gEngfuncs.pTriAPI->TexCoord2f(1, 0);
gEngfuncs.pTriAPI->Vertex3fv(start + v_right * width);

//Repeats for triangles
gEngfuncs.pTriAPI->TexCoord2f(0, 1);
gEngfuncs.pTriAPI->Vertex3fv(end - v_right * width);

gEngfuncs.pTriAPI->TexCoord2f(1, 0);
gEngfuncs.pTriAPI->Vertex3fv(start + v_right * width);
//End repeats

gEngfuncs.pTriAPI->TexCoord2f(0, 0);
gEngfuncs.pTriAPI->Vertex3fv(start - v_right * width);

gEngfuncs.pTriAPI->End();
gEngfuncs.pTriAPI->RenderMode( kRenderNormal );
}

void GLRopeRender::CreateRope( char *datafile, vec3_t start_source, vec3_t end_source )
{
vec3_t vBezier;

if(!start_source)
{
gEngfuncs.Con_Printf("No Start_Ent\n");
return;
}

if(!end_source)
{
gEngfuncs.Con_Printf("No End_Ent\n");
return;
}

char file[512];

sprintf( file, "scripts/%s.rpe", datafile);

char *szFile = (char *)gEngfuncs.COM_LoadFile( file, 5, NULL);
char szToken[512];

if (!szFile)
{
gEngfuncs.Con_Printf("Couldn't open Rope file %s for simulation\n", file );
return;
}
else
{
szFile = COM_ParseFile(szFile, szToken);

while (szFile)
{
if ( !stricmp( szToken, "num_segments" ) )
{
szFile = COM_ParseFile(szFile,szToken);
hRope[rope_id].mySegments = atoi(szToken);
}
else if ( !stricmp( szToken, "rope_lenght" ) )
{
szFile = COM_ParseFile(szFile,szToken);
hRope[rope_id].myLenght = atoi(szToken);
}
else if ( !stricmp( szToken, "scale" ) )
{
szFile = COM_ParseFile(szFile,szToken);
hRope[rope_id].myScale = atof(szToken);
}
else if ( !stricmp( szToken, "sprite" ) )
{
szFile = COM_ParseFile(szFile,szToken);
strncpy(hRope[rope_id].mySpriteFile, szToken, sizeof(hRope[rope_id].mySpriteFile) );
}
else if ( !stricmp( szToken, "r" ) )
{
szFile = COM_ParseFile(szFile,szToken);
hRope[rope_id].r = atoi(szToken);
}
else if ( !stricmp( szToken, "g" ) )
{
szFile = COM_ParseFile(szFile,szToken);
hRope[rope_id].g = atoi(szToken);
}

else if ( !stricmp( szToken, "b" ) )
{
szFile = COM_ParseFile(szFile,szToken);
hRope[rope_id].b = atoi(szToken);
}
else if ( !stricmp( szToken, "random_lenght" ) )
{
szFile = COM_ParseFile(szFile,szToken);

if ( !stricmp( szToken, "true" ))
hRope[rope_id].bRandomCheck = true;

if ( !stricmp( szToken, "false" ))
hRope[rope_id].bRandomCheck = false;
}
szFile = COM_ParseFile(szFile, szToken);
}
}

gEngfuncs.COM_FreeFile( szFile );


if( hRope[rope_id].mySegments > MAX_SEGMENTS )
hRope[rope_id].mySegments = MAX_SEGMENTS;

if( hRope[rope_id].myScale <= 0.1 )
hRope[rope_id].myScale = 0.1;

float detailBias = 1.0 / (float)hRope[rope_id].mySegments; //we'll put 51 points on out curve (0.02 detail bias)
float count = 0.0; //used as our counter


hRope[rope_id].myPoints[START] = start_source;
hRope[rope_id].myPoints[END] = end_source;

hRope[rope_id].myPoints[MID_POINT].x = ( hRope[rope_id].myPoints[START].x + hRope[rope_id].myPoints[END].x ) /2;
hRope[rope_id].myPoints[MID_POINT].y = ( hRope[rope_id].myPoints[START].y + hRope[rope_id].myPoints[END].y ) /2;
hRope[rope_id].myPoints[MID_POINT].z = ( hRope[rope_id].myPoints[START].z + hRope[rope_id].myPoints[END].z ) /2;


//rope starts above me! I am not the start
if( hRope[rope_id].myPoints[END].z > hRope[rope_id].myPoints[START].z )
hRope[rope_id].myPoints[MID_POINT].z = hRope[rope_id].myPoints[START].z;
else//I am the start, it ends belows me
hRope[rope_id].myPoints[MID_POINT].z = hRope[rope_id].myPoints[END].z;

//tweaks rope lenght a bit, 100 must be changed
if( hRope[rope_id].bRandomCheck )
hRope[rope_id].myLenght += gEngfuncs.pfnRandomLong( -100, 100 );

hRope[rope_id].myPoints[MID_POINT].z -= hRope[rope_id].myLenght;//this is because rope lenght

int vs_id = 0;


//create lot of vectors which creates a curve
do
{
vBezier.x = hRope[rope_id].myPoints[START].x*B1(count) + hRope[rope_id].myPoints[MID_POINT].x*B2(count) + hRope[rope_id].myPoints[END].x*B3(count);
vBezier.y = hRope[rope_id].myPoints[START].y*B1(count) + hRope[rope_id].myPoints[MID_POINT].y*B2(count) + hRope[rope_id].myPoints[END].y*B3(count);
vBezier.z = hRope[rope_id].myPoints[START].z*B1(count) + hRope[rope_id].myPoints[MID_POINT].z*B2(count) + hRope[rope_id].myPoints[END].z*B3(count);

hRope[rope_id].mySpline[vs_id] = vBezier;

// if( hRope[rope_id].bCheckLight )
// {
// create temporary entity to get illumination from it
alight_t lighting;
cl_entity_t *LightEntity;
vec3_t light_dir;

// bogus data as valve calls it
LightEntity = gEngfuncs.GetLocalPlayer();

if ( !LightEntity )
return;

// move it in the particles location
LightEntity->origin = hRope[rope_id].mySpline[vs_id];

// I have no idea what this does but if you don't do it -> crash
lighting.plightvec = light_dir;

IEngineStudio.StudioDynamicLight(LightEntity, &lighting );
IEngineStudio.StudioSetupLighting (&lighting);
IEngineStudio.StudioEntityLight( &lighting );

hRope[rope_id].vSplineColor[vs_id].x = (int)(lighting.color[0] * lighting.shadelight);
hRope[rope_id].vSplineColor[vs_id].y = (int)(lighting.color[1] * lighting.shadelight);
hRope[rope_id].vSplineColor[vs_id].z = (int)(lighting.color[2] * lighting.shadelight);
// }


vs_id++;//this will executed detailBias=value times!


count += detailBias;

}while( count <= 1.0 );

//if everything was okay, sum a rope and check draw it
hRope[rope_id].bDraw = TRUE;
rope_id++;
}

//draw ALL segments for ALL splines
void GLRopeRender::DrawRopes( float fltime )
{
for( int p = 0; p < MAX_ROPES; p++ )//iterate through all rope IDs
{
if( hRope[p].bDraw == TRUE )
for( int i = 0; i < hRope[p].mySegments; i++ )
{
if( i == hRope[p].mySegments-1 )//no info on the next vector, tie up with the end
DrawBeam( hRope[p].mySpline[i], hRope[p].myPoints[START],hRope[p].myScale, hRope[p].mySpriteFile, NULL, hRope[p].r,hRope[p].g,hRope[p].b, hRope[p].vSplineColor[i]);
else
DrawBeam( hRope[p].mySpline[i], hRope[p].mySpline[i+1],hRope[p].myScale, hRope[p].mySpriteFile, NULL, hRope[p].r,hRope[p].g,hRope[p].b, hRope[p].vSplineColor[i] );
}
}
}


The reset ropes called in the hud_msg.cpp
and here CHud :: MsgFunc_InitHUD

The Draw ropes called in the r_misc.cpp
and here : DLLEXPORT HUD_AddEntity

The rope is drawed just not follow the parent i think there is some client side code need do this job.

Can help me what need to do the rope follow his parent ?

__________________
-

Сообщить модератору | | IP: Записан
Сообщение: 107824

Старое сообщение 24-09-2012 18:38
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32208
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
Kendal писал:
how can i connect this rope code wit the parent system ?

I'm thinking what it's impossible. This code from the client dll but parent system is on the server-side only.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 107825

Старое сообщение 24-09-2012 20:05
-
K@RINGA
Житель форума

Дата регистрации: Jun 2007
Проживает: Не помню...
Сообщений: 189

Рейтинг



Кому не в лом, помогите пожалуйста. Что нужно добавить в FGD, для того чтобы в хаммере начал отображаться trigger_onsight?

__________________
Half-Life: Fight For Life 2

Сообщить модератору | | IP: Записан
Сообщение: 107902

Старое сообщение 28-09-2012 13:02
- За что?
a-kush-er
</kush>

Дата регистрации: Sep 2011
Проживает: (void)
Сообщений: 257

Рейтинг



K@RINGA
@SolidClass base(Trigger) = trigger_onsight : "Trigger onsight" []

Сообщить модератору | | IP: Записан
Сообщение: 107907

Старое сообщение 28-09-2012 13:42
- За что?
-=DrTressi=-
Мото-смертник

Группа: Неопытный
Дата регистрации: Aug 2010
Проживает: На Белом свете!
Сообщений: 1003
Возраст: 30

Рейтинг



Подскажите пожалуйста, как сделать рот_доор, и две кнопки. Так, чтобы каждая кнопка поворачивала рот_доор в свою сторону? Через префиксы может как нибудь. Заранее спасибо!))

__________________
How interesting, just look at that!
© Scientist

Сообщить модератору | | IP: Записан
Сообщение: 108592

Старое сообщение 22-10-2012 05:59
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32208
Нанёс повреждений: 392 ед.

Рейтинг



через префиксы. Проставь спаунфлаг 4 у двери.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 108597

Старое сообщение 22-10-2012 06:50
-
-=DrTressi=-
Мото-смертник

Группа: Неопытный
Дата регистрации: Aug 2010
Проживает: На Белом свете!
Сообщений: 1003
Возраст: 30

Рейтинг



Решил попробовать сделать. Преальфа. Пока только одна клавиша рабочая - газ. Ну и садиться можно только если перед этим стоишь на ворлдбраше. Из воды запрыгнуть нельзя.

Вот так. Может быть доведу до ума. Впринцпе мне кажется реальным сделать полную копию как в hl2. Даже с кулемётом и шлюхами)

__________________
How interesting, just look at that!
© Scientist

Отредактировано -=DrTressi=- 22-10-2012 в 14:33

Сообщить модератору | | IP: Записан
Сообщение: 108643

Старое сообщение 22-10-2012 14:27
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 08:20. Новая тема    Ответить
Страницы (11): « 1 2 3 4 [5] 6 7 8 9 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashXT > XashXT 0.6 release
stable version with full source code
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

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