27 Feb 2010

This commit is contained in:
g-cont 2010-02-27 00:00:00 +03:00 committed by Alibek Omarov
parent 7bf29381d0
commit 627005c441
26 changed files with 523 additions and 72 deletions

16
baserc/baserc.plg Normal file
View File

@ -0,0 +1,16 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: baserc - Win32 Release--------------------
</h3>
<h3>Command Lines</h3>
<h3>Results</h3>
baserc.dll - 0 error(s), 0 warning(s)
</pre>
</body>
</html>

16
client/client.plg Normal file
View File

@ -0,0 +1,16 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: client - Win32 Release--------------------
</h3>
<h3>Command Lines</h3>
<h3>Results</h3>
client.dll - 0 error(s), 0 warning(s)
</pre>
</body>
</html>

View File

@ -13,6 +13,7 @@
#include "pm_shared.h"
#include "r_weather.h"
int v_paused;
cl_enginefuncs_t g_engfuncs;
cl_globalvars_t *gpGlobals;
movevars_t *gpMovevars = NULL;
@ -127,10 +128,15 @@ int HUD_Redraw( float flTime, int state )
switch( state )
{
case CL_LOADING:
v_paused = 0;
DrawProgressBar();
break;
case CL_ACTIVE:
v_paused = 0;
gHUD.Redraw( flTime );
break;
case CL_PAUSED:
v_paused = 1;
gHUD.Redraw( flTime );
DrawPause();
break;

View File

@ -126,7 +126,7 @@ void EV_GetDefaultShellInfo( event_args_t *args, float *origin, float *velocity,
for ( int i = 0; i < 3; i++ )
{
ShellVelocity[i] = velocity[i] + right[i] * fR + up[i] * fU + forward[i] * 25;
ShellOrigin[i] = origin[i] + view_ofs[i] + up[i] * upScale + forward[i] * forwardScale + right[i] * rightScale;
ShellOrigin[i] = origin[i] + view_ofs[i] + up[i] * upScale + forward[i] * forwardScale + right[i] * rightScale;
}
}

View File

@ -16,16 +16,14 @@
model_t g_muzzleFlash[4]; // custom muzzleflashes
void HUD_MuzzleFlash( edict_t *m_pEnt, int m_iAttachment, const char *event )
void HUD_MuzzleFlash( edict_t *m_pEnt, int iAttachment, const char *event )
{
Vector pos;
int type, index;
type = atoi( event );
index = bound( 0, type % 10, 3 );
GET_ATTACHMENT( m_pEnt, m_iAttachment, pos, NULL );
g_engfuncs.pEfxAPI->R_MuzzleFlash( pos, g_muzzleFlash[index], type );
g_engfuncs.pEfxAPI->R_MuzzleFlash( g_muzzleFlash[index], m_pEnt->serialnumber, iAttachment, type );
}
void HUD_CreateEntities( void )
@ -750,9 +748,10 @@ void CL_AllocDLight( Vector pos, float radius, float time, int flags )
void HUD_ParseTempEntity( void )
{
Vector pos, pos2, dir, color;
float time, radius, decay;
int flags, scale;
TEMPENTITY *pTemp;
Vector pos, pos2, dir, color;
float time, framerate, radius, scale, decay;
int flags, modelIndex;
switch( READ_BYTE() )
{
@ -783,11 +782,20 @@ void HUD_ParseTempEntity( void )
pos.x = READ_COORD();
pos.y = READ_COORD();
pos.z = READ_COORD();
READ_SHORT(); // FIXME: use sprite index as shader index
scale = READ_BYTE();
READ_BYTE(); // FIXME: use framerate for shader
modelIndex = READ_SHORT();
scale = (float)(READ_BYTE());
framerate = READ_BYTE();
flags = READ_BYTE();
// create explosion sprite
pTemp = g_engfuncs.pEfxAPI->CL_TempEntAlloc( pos, modelIndex );
g_engfuncs.pEfxAPI->R_Sprite_Explode( pTemp, (scale / 10.0f), flags );
if( pTemp )
{
pTemp->die = gpGlobals->time + 2.5f;
pTemp->m_flFrameRate = framerate;
pTemp->flags |= FTENT_SPRANIMATE;
}
g_engfuncs.pEfxAPI->CL_FindExplosionPlane( pos, scale, dir );
if(!(flags & TE_EXPLFLAG_NOPARTICLES )) CL_ExplosionParticles( pos );
if( RANDOM_LONG( 0, 1 ))

View File

@ -313,7 +313,6 @@ void Draw_VidInit( void )
void DrawPause( void )
{
// pause image
if( !v_paused ) return;
DrawImageBar( 100, "m_pause" ); // HACKHACK
}

View File

@ -16,7 +16,6 @@
#define ORIGIN_MASK ( ORIGIN_BACKUP - 1 )
// global view containers
int v_paused;
Vector v_origin, v_angles, v_cl_angles; // base client vectors
float v_idlescale, v_lastDistance; // misc variables
Vector ev_punchangle; // client punchangles
@ -1008,7 +1007,6 @@ bool V_CalcSkyRefdef( ref_params_t *pparams )
void V_CalcRefdef( ref_params_t *pparams )
{
v_paused = pparams->paused; // share pause
gpMovevars = pparams->movevars; // keep movevars an actual
V_CalcNextView( pparams );

View File

@ -249,7 +249,7 @@ int CHudSound :: VidInit( void )
songname[0] = '\0';
fmod_data = NULL;
}
m_flVolume = 0.0f;
m_flVolume = -1.0f;
return 1;
}
@ -311,7 +311,8 @@ int CHudSound :: PlayStream( const char* name )
if( m_iStatus & 2 ) flags = FSOUND_LOADMEMORY|FSOUND_MPEGACCURATE|FSOUND_LOOP_NORMAL;
else flags = FSOUND_LOADMEMORY|FSOUND_MPEGACCURATE|FSOUND_LOOP_OFF;
fmod_data = qfmod_loadstream( data, flags, filesize );
m_flVolume = -1.0f;
if( !fmod_data ) // may be it's tracker?
{
// check for .xm .it .s3m headers

16
cms_qf/cms_qf.plg Normal file
View File

@ -0,0 +1,16 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: cms_qf - Win32 Release--------------------
</h3>
<h3>Command Lines</h3>
<h3>Results</h3>
cms_qf.dll - 0 error(s), 0 warning(s)
</pre>
</body>
</html>

16
cms_xr/cms_xr.plg Normal file
View File

@ -0,0 +1,16 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: cms_xr - Win32 Release--------------------
</h3>
<h3>Command Lines</h3>
<h3>Results</h3>
cms_xr.dll - 0 error(s), 0 warning(s)
</pre>
</body>
</html>

View File

@ -72,6 +72,7 @@ struct tempent_s
int m_nFlickerFrame; // for keyed dlights
int m_iAttachment; // sprite attachment
int m_iSequence; // studiomodel sequence
vec3_t renderColor; // tempentity rendercolor
byte renderAmt; // actual lpha value
byte renderMode; // fast method to set various effects
byte renderFX; // matched with entity renderfx
@ -101,7 +102,10 @@ typedef struct efxapi_s
size_t api_size; // must match with sizeof( efxapi_t );
int (*R_AllocParticle)( cparticle_t *src, HSPRITE shader, int flags );
void (*R_MuzzleFlash)( float *pos, int modelIndex, int type );
void (*R_MuzzleFlash)( int modelIndex, int entityIndex, int iAttachment, int type );
void (*R_Sprite_Explode)( TEMPENTITY *pTemp, float scale, int flags );
void (*R_Sprite_Smoke)( TEMPENTITY *pTemp, float scale );
void (*R_Sprite_Spray)( float *pos, float *dir, int modelIndex, int count, int speed, int iRand );
void (*R_TracerEffect)( float *start, float *end );
TEMPENTITY *(*R_TempModel)( float *pos, float *dir, float *ang, float life, int modelIndex, int soundtype );
TEMPENTITY *(*R_DefaultSprite)( float *pos, int spriteIndex, float framerate );

View File

@ -47,6 +47,9 @@
#define TE_EXPLFLAG_NODLIGHTS 2 // do not render dynamic lights
#define TE_EXPLFLAG_NOSOUND 4 // do not play client explosion sound
#define TE_EXPLFLAG_NOPARTICLES 8 // do not draw particles
#define TE_EXPLFLAG_DRAWALPHA 16 // sprite will be drawn alpha
#define TE_EXPLFLAG_ROTATE 32 // rotate the sprite randomly
#define TE_EXPLFLAG_NOFIREBALL 64 // do not draw a fireball
#define TE_TAREXPLOSION 4 // Quake1 "tarbaby" explosion with sound

View File

@ -2383,6 +2383,9 @@ static efxapi_t gEfxApi =
sizeof( efxapi_t ),
pfnAddParticle,
CL_MuzzleFlash,
CL_SpriteExplode,
CL_SpriteSmoke,
CL_SpriteSpray,
CL_CreateTracer,
CL_TempModel,
CL_DefaultSprite,

View File

@ -6,6 +6,7 @@
#include "common.h"
#include "client.h"
#include "effects_api.h"
#include "te_message.h" // grab TE_EXPLFLAGS
#include "const.h"
/*
@ -68,6 +69,8 @@ static bool CL_FreeLowPriorityTempEnt( void )
static void CL_PrepareTempEnt( TEMPENTITY *pTemp, int modelIndex )
{
int frameCount;
// Use these to set per-frame and termination conditions / actions
pTemp->flags = FTENT_NONE;
pTemp->die = clgame.globals->time + 0.75f;
@ -76,15 +79,19 @@ static void CL_PrepareTempEnt( TEMPENTITY *pTemp, int modelIndex )
pTemp->pvEngineData = Mem_Alloc( cls.mempool, sizeof( studioframe_t ));
else pTemp->flags |= FTENT_NOMODEL;
Mod_GetFrames( modelIndex, &frameCount );
pTemp->modelindex = modelIndex;
pTemp->renderMode = kRenderNormal;
pTemp->renderFX = kRenderFxNone;
VectorSet( pTemp->renderColor, 255, 255, 255 );
pTemp->m_flFrameMax = max( 0, frameCount - 1 );
pTemp->renderAmt = 255;
pTemp->body = 0;
pTemp->skin = 0;
pTemp->fadeSpeed = 0.5f;
pTemp->hitSound = 0;
pTemp->clientIndex = -1;
pTemp->clientIndex = NULLENT_INDEX;
pTemp->bounceFactor = 1;
pTemp->m_flSpriteScale = 1.0f;
}
@ -420,8 +427,9 @@ NOTE: this temp entity live once one frame
so we wan't add it to tent list
===============
*/
void CL_MuzzleFlash( float *pos, int modelIndex, int type )
void CL_MuzzleFlash( int modelIndex, int entityIndex, int iAttachment, int type )
{
vec3_t pos;
TEMPENTITY *pTemp;
int frameCount;
float scale;
@ -434,7 +442,13 @@ void CL_MuzzleFlash( float *pos, int modelIndex, int type )
}
Mod_GetFrames( modelIndex, &frameCount );
if( !CL_GetAttachment( entityIndex, iAttachment, pos, NULL ))
{
MsgDev( D_ERROR, "Invalid muzzleflash entity %d!\n", entityIndex );
return;
}
// must set position for right culling on render
pTemp = CL_TempEntAlloc( pos, modelIndex );
if( !pTemp ) return;
@ -445,10 +459,11 @@ void CL_MuzzleFlash( float *pos, int modelIndex, int type )
pTemp->renderMode = kRenderTransAdd;
pTemp->renderAmt = 255;
pTemp->renderFX = 0;
VectorCopy( pos, pTemp->origin );
pTemp->die = clgame.globals->time + 0.02; // die at next frame
pTemp->die = clgame.globals->time + 0.01; // die at next frame
pTemp->m_flFrame = Com_RandomLong( 0, frameCount - 1 );
pTemp->m_flFrameMax = frameCount - 1;
pTemp->clientIndex = entityIndex;
pTemp->m_iAttachment = iAttachment;
if( index == 0 )
{
@ -462,6 +477,128 @@ void CL_MuzzleFlash( float *pos, int modelIndex, int type )
pTemp->angles[2] = Com_RandomLong( 0, 359 );
}
// render now
// render now (guranteed that muzzleflash will be draw)
re->AddTmpEntity( pTemp, ED_TEMPENTITY );
}
/*
===============
CL_SpriteExplode
just a preset for exploding sprite
===============
*/
void CL_SpriteExplode( TEMPENTITY *pTemp, float scale, int flags )
{
if( !pTemp ) return;
// NOTE: Xash3D doesn't needs this stuff, because sprites
// have right rendermodes already at loading point
// but i'm leave it for backward compatibility
if( flags & TE_EXPLFLAG_NOADDITIVE )
{
// solid sprite
pTemp->renderMode = kRenderNormal;
pTemp->renderAmt = 255;
}
else if( flags & TE_EXPLFLAG_DRAWALPHA )
{
// alpha sprite
pTemp->renderMode = kRenderTransAlpha;
pTemp->renderAmt = 180;
}
else
{
// additive sprite
pTemp->renderMode = kRenderTransAdd;
pTemp->renderAmt = 120;
}
if( flags & TE_EXPLFLAG_ROTATE )
{
pTemp->angles[2] = Com_RandomLong( 0, 360 );
}
pTemp->renderFX = kRenderFxNone;
pTemp->m_vecVelocity[2] = 8;
pTemp->origin[2] += 10;
pTemp->m_flSpriteScale = scale;
}
/*
===============
CL_SpriteExplode
just a preset for smoke sprite
===============
*/
void CL_SpriteSmoke( TEMPENTITY *pTemp, float scale )
{
int iColor;
if( !pTemp ) return;
iColor = Com_RandomLong( 20, 35 );
pTemp->renderMode = kRenderTransAlpha;
pTemp->renderFX = kRenderFxNone;
pTemp->m_vecVelocity[2] = 30;
VectorSet( pTemp->renderColor, iColor, iColor, iColor );
pTemp->origin[2] += 20;
pTemp->m_flSpriteScale = scale;
pTemp->flags = FTENT_WINDBLOWN;
}
/*
===============
CL_SpriteSpray
just a preset for smoke sprite
===============
*/
void CL_SpriteSpray( float *pos, float *dir, int modelIndex, int count, int speed, int iRand )
{
TEMPENTITY *pTemp;
float noise;
float znoise;
int i, frameCount;
noise = (float)iRand / 100;
// more vertical displacement
znoise = noise * 1.5f;
if( znoise > 1 ) znoise = 1;
if( CM_GetModelType( modelIndex ) == mod_bad )
{
MsgDev( D_ERROR, "No model %d!\n", modelIndex );
return;
}
Mod_GetFrames( modelIndex, &frameCount );
for( i = 0; i < count; i++ )
{
vec3_t velocity;
float scale;
pTemp = CL_TempEntAlloc( pos, modelIndex );
if( !pTemp ) return;
pTemp->renderMode = kRenderTransAlpha;
pTemp->renderFX = kRenderFxNoDissipation;
pTemp->m_flSpriteScale = 0.5f;
pTemp->flags |= FTENT_FADEOUT|FTENT_SLOWGRAVITY;
pTemp->fadeSpeed = 2.0f;
// make the spittle fly the direction indicated, but mix in some noise.
velocity[0] = dir[0] + Com_RandomFloat( -noise, noise );
velocity[1] = dir[1] + Com_RandomFloat( -noise, noise );
velocity[2] = dir[2] + Com_RandomFloat( 0, znoise );
scale = Com_RandomFloat(( speed * 0.8f ), ( speed * 1.2f ));
VectorScale( velocity, scale, pTemp->m_vecVelocity );
pTemp->die = clgame.globals->time + 0.35f;
pTemp->m_flFrame = Com_RandomLong( 0, frameCount - 1 );
}
}

View File

@ -574,7 +574,10 @@ struct tempent_s *CL_TentEntAllocCustom( float *org, int modelIndex, int high, E
struct tempent_s *CL_TempModel( float *pos, float *dir, float *ang, float life, int modelIndex, int soundtype );
struct tempent_s *CL_DefaultSprite( float *pos, int spriteIndex, float framerate );
struct tempent_s *CL_TempSprite( float *pos, float *dir, float scale, int modelIndex, int rendermode, int renderfx, float a, float life, int flags );
void CL_MuzzleFlash( float *pos, int modelIndex, int type );
void CL_MuzzleFlash( int modelIndex, int entityIndex, int iAttachment, int type );
void CL_SpriteExplode( struct tempent_s *pTemp, float scale, int flags );
void CL_SpriteSmoke( struct tempent_s *pTemp, float scale );
void CL_SpriteSpray( float *pos, float *dir, int modelIndex, int count, int speed, int iRand );
//
// cl_con.c

130
engine/engine.plg Normal file
View File

@ -0,0 +1,130 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: engine - Win32 Release--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP1104.tmp" with contents
[
/nologo /MD /W3 /GX /O2 /I "./" /I "common" /I "server" /I "client" /I "uimenu" /I "../public" /I "../common" /I "../pm_shared" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /Fo"..\temp\engine\!release/" /Fd"..\temp\engine\!release/" /FD /c
"D:\Xash3D\src_main\engine\client\cl_tent.c"
]
Creating command line "cl.exe @"C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP1104.tmp""
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP1105.tmp" with contents
[
user32.lib msvcrt.lib /nologo /subsystem:windows /dll /pdb:none /machine:I386 /nodefaultlib:"libc.lib" /out:"..\temp\engine\!release/engine.dll" /implib:"..\temp\engine\!release/engine.lib" /opt:nowin98
"\Xash3D\src_main\temp\engine\!release\cinematic.obj"
"\Xash3D\src_main\temp\engine\!release\cl_cmds.obj"
"\Xash3D\src_main\temp\engine\!release\cl_demo.obj"
"\Xash3D\src_main\temp\engine\!release\cl_effects.obj"
"\Xash3D\src_main\temp\engine\!release\cl_frame.obj"
"\Xash3D\src_main\temp\engine\!release\cl_game.obj"
"\Xash3D\src_main\temp\engine\!release\cl_main.obj"
"\Xash3D\src_main\temp\engine\!release\cl_move.obj"
"\Xash3D\src_main\temp\engine\!release\cl_parse.obj"
"\Xash3D\src_main\temp\engine\!release\cl_phys.obj"
"\Xash3D\src_main\temp\engine\!release\cl_scrn.obj"
"\Xash3D\src_main\temp\engine\!release\cl_tent.obj"
"\Xash3D\src_main\temp\engine\!release\cl_video.obj"
"\Xash3D\src_main\temp\engine\!release\cl_view.obj"
"\Xash3D\src_main\temp\engine\!release\cl_world.obj"
"\Xash3D\src_main\temp\engine\!release\com_keys.obj"
"\Xash3D\src_main\temp\engine\!release\com_library.obj"
"\Xash3D\src_main\temp\engine\!release\com_world.obj"
"\Xash3D\src_main\temp\engine\!release\con_main.obj"
"\Xash3D\src_main\temp\engine\!release\con_utils.obj"
"\Xash3D\src_main\temp\engine\!release\engfuncs.obj"
"\Xash3D\src_main\temp\engine\!release\host.obj"
"\Xash3D\src_main\temp\engine\!release\infostring.obj"
"\Xash3D\src_main\temp\engine\!release\input.obj"
"\Xash3D\src_main\temp\engine\!release\net_chan.obj"
"\Xash3D\src_main\temp\engine\!release\net_huff.obj"
"\Xash3D\src_main\temp\engine\!release\net_msg.obj"
"\Xash3D\src_main\temp\engine\!release\sv_client.obj"
"\Xash3D\src_main\temp\engine\!release\sv_cmds.obj"
"\Xash3D\src_main\temp\engine\!release\sv_frame.obj"
"\Xash3D\src_main\temp\engine\!release\sv_game.obj"
"\Xash3D\src_main\temp\engine\!release\sv_init.obj"
"\Xash3D\src_main\temp\engine\!release\sv_main.obj"
"\Xash3D\src_main\temp\engine\!release\sv_move.obj"
"\Xash3D\src_main\temp\engine\!release\sv_phys.obj"
"\Xash3D\src_main\temp\engine\!release\sv_save.obj"
"\Xash3D\src_main\temp\engine\!release\sv_world.obj"
"\Xash3D\src_main\temp\engine\!release\ui_advcontrols.obj"
"\Xash3D\src_main\temp\engine\!release\ui_audio.obj"
"\Xash3D\src_main\temp\engine\!release\ui_configuration.obj"
"\Xash3D\src_main\temp\engine\!release\ui_controls.obj"
"\Xash3D\src_main\temp\engine\!release\ui_creategame.obj"
"\Xash3D\src_main\temp\engine\!release\ui_credits.obj"
"\Xash3D\src_main\temp\engine\!release\ui_customgame.obj"
"\Xash3D\src_main\temp\engine\!release\ui_gameoptions.obj"
"\Xash3D\src_main\temp\engine\!release\ui_langame.obj"
"\Xash3D\src_main\temp\engine\!release\ui_loadgame.obj"
"\Xash3D\src_main\temp\engine\!release\ui_main.obj"
"\Xash3D\src_main\temp\engine\!release\ui_menu.obj"
"\Xash3D\src_main\temp\engine\!release\ui_multiplayer.obj"
"\Xash3D\src_main\temp\engine\!release\ui_newgame.obj"
"\Xash3D\src_main\temp\engine\!release\ui_playdemo.obj"
"\Xash3D\src_main\temp\engine\!release\ui_playersetup.obj"
"\Xash3D\src_main\temp\engine\!release\ui_playrec.obj"
"\Xash3D\src_main\temp\engine\!release\ui_qmenu.obj"
"\Xash3D\src_main\temp\engine\!release\ui_recdemo.obj"
"\Xash3D\src_main\temp\engine\!release\ui_savegame.obj"
"\Xash3D\src_main\temp\engine\!release\ui_saveload.obj"
"\Xash3D\src_main\temp\engine\!release\ui_video.obj"
"\Xash3D\src_main\temp\engine\!release\ui_vidmodes.obj"
"\Xash3D\src_main\temp\engine\!release\ui_vidoptions.obj"
]
Creating command line "link.exe @"C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP1105.tmp""
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP1106.bat" with contents
[
@echo off
copy \Xash3D\src_main\temp\engine\!release\engine.dll "D:\Xash3D\bin\engine.dll"
]
Creating command line ""C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP1106.bat""
Compiling...
cl_tent.c
D:\Xash3D\src_main\engine\client\cl_tent.c(569) : error C2065: 'modelinfo' : undeclared identifier
D:\Xash3D\src_main\engine\client\cl_tent.c(569) : error C2223: left of '->GetModel' must point to struct/union
D:\Xash3D\src_main\engine\client\cl_tent.c(573) : warning C4013: 'Warning' undefined; assuming extern returning int
D:\Xash3D\src_main\engine\client\cl_tent.c(577) : error C2223: left of '->GetModelFrameCount' must point to struct/union
D:\Xash3D\src_main\engine\client\cl_tent.c(581) : warning C4013: 'TempEntAlloc' undefined; assuming extern returning int
D:\Xash3D\src_main\engine\client\cl_tent.c(581) : warning C4047: '=' : 'struct tempent_s *' differs in levels of indirection from 'int '
D:\Xash3D\src_main\engine\client\cl_tent.c(585) : error C2039: 'm_nRenderMode' : is not a member of 'tempent_s'
../common\effects_api.h(42) : see declaration of 'tempent_s'
D:\Xash3D\src_main\engine\client\cl_tent.c(586) : error C2039: 'SetRenderColor' : is not a member of 'tempent_s'
../common\effects_api.h(42) : see declaration of 'tempent_s'
D:\Xash3D\src_main\engine\client\cl_tent.c(587) : error C2039: 'tempent_renderamt' : is not a member of 'tempent_s'
../common\effects_api.h(42) : see declaration of 'tempent_s'
D:\Xash3D\src_main\engine\client\cl_tent.c(588) : error C2039: 'm_nRenderFX' : is not a member of 'tempent_s'
../common\effects_api.h(42) : see declaration of 'tempent_s'
D:\Xash3D\src_main\engine\client\cl_tent.c(595) : error C2065: 'Vector' : undeclared identifier
D:\Xash3D\src_main\engine\client\cl_tent.c(595) : error C2146: syntax error : missing ';' before identifier 'velocity'
D:\Xash3D\src_main\engine\client\cl_tent.c(595) : error C2065: 'velocity' : undeclared identifier
D:\Xash3D\src_main\engine\client\cl_tent.c(596) : error C2224: left of '.x' must have struct/union type
D:\Xash3D\src_main\engine\client\cl_tent.c(596) : error C2065: 'random' : undeclared identifier
D:\Xash3D\src_main\engine\client\cl_tent.c(596) : error C2223: left of '->RandomFloat' must point to struct/union
D:\Xash3D\src_main\engine\client\cl_tent.c(597) : error C2224: left of '.y' must have struct/union type
D:\Xash3D\src_main\engine\client\cl_tent.c(597) : error C2223: left of '->RandomFloat' must point to struct/union
D:\Xash3D\src_main\engine\client\cl_tent.c(598) : error C2224: left of '.z' must have struct/union type
D:\Xash3D\src_main\engine\client\cl_tent.c(598) : error C2223: left of '->RandomFloat' must point to struct/union
D:\Xash3D\src_main\engine\client\cl_tent.c(599) : error C2223: left of '->RandomFloat' must point to struct/union
D:\Xash3D\src_main\engine\client\cl_tent.c(600) : error C2039: 'SetVelocity' : is not a member of 'tempent_s'
../common\effects_api.h(42) : see declaration of 'tempent_s'
D:\Xash3D\src_main\engine\client\cl_tent.c(602) : error C2039: 'SetLocalOrigin' : is not a member of 'tempent_s'
../common\effects_api.h(42) : see declaration of 'tempent_s'
D:\Xash3D\src_main\engine\client\cl_tent.c(604) : error C2065: 'gpGlobals' : undeclared identifier
D:\Xash3D\src_main\engine\client\cl_tent.c(604) : error C2223: left of '->curtime' must point to struct/union
D:\Xash3D\src_main\engine\client\cl_tent.c(606) : error C2223: left of '->RandomInt' must point to struct/union
Error executing cl.exe.
<h3>Output Window</h3>
<h3>Results</h3>
engine.dll - 23 error(s), 3 warning(s)
</pre>
</body>
</html>

View File

@ -3145,8 +3145,12 @@ static void pfnPlaybackEvent( int flags, const edict_t *pInvoker, word eventinde
// get up some info from invoker
if( VectorIsNull( args->origin ))
VectorCopy( pInvoker->v.origin, args->origin );
if( VectorIsNull( args->angles ))
VectorCopy( pInvoker->v.angles, args->angles );
if( VectorIsNull( args->angles ))
{
if( SV_ClientFromEdict( pInvoker, true ))
VectorCopy( pInvoker->v.viewangles, args->angles );
else VectorCopy( pInvoker->v.angles, args->angles );
}
VectorCopy( pInvoker->v.velocity, args->velocity );
args->ducking = (pInvoker->v.flags & FL_DUCKING) ? true : false;
}
@ -3174,9 +3178,9 @@ static void pfnPlaybackEvent( int flags, const edict_t *pInvoker, word eventinde
if(!( flags & FEV_GLOBAL ))
{
area2 = CM_LeafArea( leafnum );
cluster = CM_LeafCluster( leafnum );
leafnum = CM_PointLeafnum( cl->edict->v.origin );
cluster = CM_LeafCluster( leafnum );
area2 = CM_LeafArea( leafnum );
if(!CM_AreasConnected( area1, area2 )) continue;
if( mask && (!(mask[cluster>>3] & (1<<(cluster & 7)))))
continue;

16
launch/launch.plg Normal file
View File

@ -0,0 +1,16 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: launch - Win32 Release--------------------
</h3>
<h3>Command Lines</h3>
<h3>Results</h3>
launch.dll - 0 error(s), 0 warning(s)
</pre>
</body>
</html>

View File

@ -1475,7 +1475,7 @@ int CBasePlayerWeapon :: Launch ( const char *ammo, int type )
Vector angThrow = m_pPlayer->pev->viewangles + m_pPlayer->pev->punchangle;
if ( angThrow.x < 0 ) angThrow.x = -10 + angThrow.x * ( ( 90 - 10 ) / 90.0 );
else angThrow.x = -10 + angThrow.x * ( ( 90 + 10 ) / 90.0 );
else angThrow.x = -10 + angThrow.x * ( ( 90 + 10 ) / 90.0 );
float flVel = ( 90 - angThrow.x ) * 4;
if ( flVel > 500 ) flVel = 500;

16
server/server.plg Normal file
View File

@ -0,0 +1,16 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: server - Win32 Release--------------------
</h3>
<h3>Command Lines</h3>
<h3>Results</h3>
server.dll - 0 error(s), 0 warning(s)
</pre>
</body>
</html>

16
snd_al/snd_al.plg Normal file
View File

@ -0,0 +1,16 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: snd_al - Win32 Release--------------------
</h3>
<h3>Command Lines</h3>
<h3>Results</h3>
snd_al.dll - 0 error(s), 0 warning(s)
</pre>
</body>
</html>

16
snd_dx/snd_dx.plg Normal file
View File

@ -0,0 +1,16 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: snd_dx - Win32 Release--------------------
</h3>
<h3>Command Lines</h3>
<h3>Results</h3>
snd_dx.dll - 0 error(s), 0 warning(s)
</pre>
</body>
</html>

View File

@ -38,10 +38,10 @@ Beta 13.02.10
10.autocomplete and command history for system console OK
11.create mutex for dedicated server OK
12.revision of Xash Environment System OK
13.implement temp-ents
13.implement temp-ents OK
14.implement realtime wind
15. fixup muzzleflashes
15. fixup muzzleflashes OK
16. fix CL_GetEntityByIndex: invalid entindex

View File

@ -1288,16 +1288,35 @@ static void R_CategorizeEntities( void )
if( RI.currententity->movetype == MOVETYPE_FOLLOW && !RI.currententity->parent )
{
edict_t *pEdict = ri.GetClientEdict( RI.currententity->index );
edict_t *pParent = NULL;
if( pEdict && pEdict->v.aiment )
if( RI.currententity->ent_type == ED_TEMPENTITY )
{
for( j = 1; j < r_numEntities; j++ )
// index it's a pointer to parent
if( pEdict )
{
if( r_entities[j].index == pEdict->v.aiment->serialnumber )
for( j = 1; j < r_numEntities; j++ )
{
RI.currententity->parent = r_entities + j;
break;
// we can hit himself before than find real parent
if( RI.currententity == r_entities + j ) continue;
if( r_entities[j].index == pEdict->serialnumber )
{
RI.currententity->parent = r_entities + j;
break;
}
}
}
}
else
{
if( pEdict && pEdict->v.aiment )
{
for( j = 1; j < r_numEntities; j++ )
{
if( r_entities[j].index == pEdict->v.aiment->serialnumber )
{
RI.currententity->parent = r_entities + j;
break;
}
}
}
}
@ -2174,8 +2193,7 @@ bool R_AddGenericEntity( edict_t *pRefEntity, ref_entity_t *refent )
}
else
{
if( refent->prev )
refent->prev->frame = refent->prev->curframe; // save oldframe
refent->prev->frame = refent->prev->curframe; // save oldframe
refent->prev->curframe = pRefEntity->v.frame;
}
@ -2384,7 +2402,9 @@ bool R_AddTeEntToScene( TEMPENTITY *pTempEntity, int ed_type )
}
// copy state to render
refent->index = NULLENT_INDEX;
if( pTempEntity->clientIndex != 0 )
refent->index = pTempEntity->clientIndex;
else refent->index = NULLENT_INDEX;
refent->ent_type = ed_type;
refent->rendermode = pTempEntity->renderMode;
refent->body = pTempEntity->body;
@ -2392,6 +2412,7 @@ bool R_AddTeEntToScene( TEMPENTITY *pTempEntity, int ed_type )
refent->scale = pTempEntity->m_flSpriteScale;
refent->renderfx = pTempEntity->renderFX;
refent->renderamt = pTempEntity->renderAmt;
VectorCopy( pTempEntity->renderColor, refent->rendercolor );
refent->model = cl_models[pTempEntity->modelindex];
refent->framerate = pTempEntity->m_flFrameRate;
refent->movetype = MOVETYPE_NOCLIP;
@ -2403,22 +2424,9 @@ bool R_AddTeEntToScene( TEMPENTITY *pTempEntity, int ed_type )
// attached entity (can attach sprites to models)
if( pTempEntity->m_iAttachment && cl_models[pTempEntity->modelindex]->type == mod_sprite )
{
int i;
edict_t *pEdict;
pEdict = ri.GetClientEdict( pTempEntity->clientIndex );
for( i = 1; pEdict && i < r_numEntities; i++ )
{
if( r_entities[i].index == pEdict->serialnumber )
{
// found parent
refent->colormap = ((refent->colormap & 0xFF00)>>8) | pTempEntity->m_iAttachment;
refent->movetype = MOVETYPE_FOLLOW;
refent->parent = r_entities + i;
break;
}
}
// set attachment right
refent->colormap = ((refent->colormap & 0xFF00)>>8) | pTempEntity->m_iAttachment;
refent->movetype = MOVETYPE_FOLLOW;
}
// check model
@ -2437,22 +2445,6 @@ bool R_AddTeEntToScene( TEMPENTITY *pTempEntity, int ed_type )
break;
}
// NOTE: kRenderNormal get right transparency from model\sprite
// and ignore lighting for specified modes
switch( refent->rendermode )
{
case kRenderTransAlpha:
case kRenderTransTexture:
VectorClear( refent->rendercolor ); // uses ambient lighting
break;
case kRenderGlow:
case kRenderNormal:
case kRenderTransAdd:
case kRenderTransColor:
VectorSet( refent->rendercolor, 255, 255, 255 );
break;
}
refent->prev = pTempEntity->pvEngineData; // setup prevframe data
if( refent->prev == NULL )
@ -2463,6 +2455,9 @@ bool R_AddTeEntToScene( TEMPENTITY *pTempEntity, int ed_type )
refent->rtype = RT_MODEL;
refent->prev->frame = refent->prev->curframe; // save oldframe
refent->prev->curframe = pTempEntity->m_flFrame;
// setup light origin
if( refent->model ) VectorAverage( refent->model->mins, refent->model->maxs, center );
else VectorClear( center );

16
vid_gl/vid_gl.plg Normal file
View File

@ -0,0 +1,16 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: vid_gl - Win32 Release--------------------
</h3>
<h3>Command Lines</h3>
<h3>Results</h3>
vid_gl.dll - 0 error(s), 0 warning(s)
</pre>
</body>
</html>

16
xtools/xtools.plg Normal file
View File

@ -0,0 +1,16 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: xtools - Win32 Release--------------------
</h3>
<h3>Command Lines</h3>
<h3>Results</h3>
xtools.dll - 0 error(s), 0 warning(s)
</pre>
</body>
</html>