30 Sep 2009

This commit is contained in:
g-cont 2009-09-30 00:00:00 +04:00 committed by Alibek Omarov
parent d87d09b959
commit aef0afadfc
24 changed files with 323 additions and 288 deletions

16
baserc/baserc.plg Normal file
View File

@ -0,0 +1,16 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: baserc - Win32 Debug--------------------
</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 Debug--------------------
</h3>
<h3>Command Lines</h3>
<h3>Results</h3>
client.dll - 0 error(s), 0 warning(s)
</pre>
</body>
</html>

View File

@ -11,7 +11,7 @@
#define ROLL 2
// sound specific
#define VOL_NORM 1.0 // volume values
#define VOL_NORM 1.0f // volume values
// pitch values
#define PITCH_LOW 95 // other values are possible - 0-255, where 255 is very high
@ -19,12 +19,59 @@
#define PITCH_HIGH 120
// attenuation values
#define ATTN_NONE 0
#define ATTN_NONE 0.0f
#define ATTN_NORM 0.8f
#define ATTN_IDLE 2.0f
#define ATTN_STATIC 1.25f
#define ATTN_RICOCHET 1.5f
#define ATTN_GUNFIRE 0.27f
typedef enum
{
SNDLVL_NONE = 0,
SNDLVL_25dB = 25,
SNDLVL_30dB = 30,
SNDLVL_35dB = 35,
SNDLVL_40dB = 40,
SNDLVL_45dB = 45,
SNDLVL_50dB = 50, // 3.9
SNDLVL_55dB = 55, // 3.0
SNDLVL_IDLE = 60, // 2.0
SNDLVL_60dB = 60, // 2.0
SNDLVL_65dB = 65, // 1.5
SNDLVL_STATIC = 66, // 1.25
SNDLVL_70dB = 70, // 1.0
SNDLVL_NORM = 75,
SNDLVL_75dB = 75, // 0.8
SNDLVL_80dB = 80, // 0.7
SNDLVL_TALKING = 80, // 0.7
SNDLVL_85dB = 85, // 0.6
SNDLVL_90dB = 90, // 0.5
SNDLVL_95dB = 95,
SNDLVL_100dB = 100, // 0.4
SNDLVL_105dB = 105,
SNDLVL_110dB = 110,
SNDLVL_120dB = 120,
SNDLVL_130dB = 130,
SNDLVL_GUNFIRE = 140, // 0.27
SNDLVL_140dB = 140, // 0.2
SNDLVL_150dB = 150, // 0.2
} soundlevel_t;
// common conversion tools
#define ATTN_TO_SNDLVL( a ) (soundlevel_t)(int)((a) ? (50 + 20 / ((float)a)) : 0 )
#define SNDLVL_TO_ATTN( a ) ((a > 50) ? (20.0f / (float)(a - 50)) : 4.0 )
#define SND_CHANGE_VOL (1<<0) // change sound vol
#define SND_CHANGE_PITCH (1<<1) // change sound pitch
#define SND_STOP (1<<2) // stop the sound
#define SND_SPAWNING (1<<3) // we're spawing, used in some cases for ambients
#define SND_DELAY (1<<4) // sound has an initial delay
#define SND_STOP_LOOPING (1<<5) // stop all looping sounds on the entity.
#define SND_SPEAKER (1<<6) // being played again by a microphone through a speaker
// 7 channels available
#define CHAN_REPLACE -1 // force to replace sound for any channel
#define CHAN_AUTO 0
#define CHAN_WEAPON 1
#define CHAN_VOICE 2
@ -32,7 +79,8 @@
#define CHAN_BODY 4
#define CHAN_STREAM 5 // allocate stream channel from the static or dynamic area
#define CHAN_STATIC 6 // allocate channel from the static area
#define CHAN_VOICE_BASE 7 // allocate channel for network voice data
// global deatchmatch dmflags
#define DF_NO_HEALTH (1<<0)
#define DF_NO_ITEMS (1<<1)

View File

@ -21,6 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include "common.h"
#include "client.h"
#include "net_sound.h"
/*
===============
@ -187,30 +188,28 @@ void CL_ParseSoundPacket( sizebuf_t *msg )
float volume, attenuation;
int flags, pitch, entnum;
flags = MSG_ReadByte( msg );
flags = MSG_ReadWord( msg );
sound_num = MSG_ReadWord( msg );
channel = MSG_ReadByte( msg );
if( flags & SND_VOL )
if( flags & SND_VOLUME )
volume = MSG_ReadByte( msg ) / 255.0f;
else volume = 1.0f;
if( flags & SND_ATTN )
attenuation = MSG_ReadByte( msg ) / 255.0f;
else attenuation = ATTN_NORM;
else volume = VOL_NORM;
if( flags & SND_SOUNDLEVEL )
{
int soundlevel = MSG_ReadByte( msg );
attenuation = SNDLVL_TO_ATTN( soundlevel );
}
else attenuation = ATTN_NONE;
if( flags & SND_PITCH )
pitch = MSG_ReadByte( msg );
else pitch = PITCH_NORM;
// entity reletive
if( flags & SND_ENT )
entnum = MSG_ReadBits( msg, NET_WORD );
entnum = MSG_ReadBits( msg, NET_WORD );
if( flags & SND_POS )
{
// positioned in space
MSG_ReadPos( msg, pos );
}
else VectorClear( pos );
// positioned in space
MSG_ReadPos( msg, pos );
S_StartSound( pos, entnum, channel, cl.sound_precache[sound_num], volume, attenuation, pitch );
}
@ -431,8 +430,8 @@ offset crosshair angles
*/
void CL_ParseCrosshairAngle( sizebuf_t *msg )
{
cl.refdef.crosshairangle[0] = MSG_ReadAngle32( msg );
cl.refdef.crosshairangle[1] = MSG_ReadAngle32( msg );
cl.refdef.crosshairangle[0] = MSG_ReadAngle8( msg );
cl.refdef.crosshairangle[1] = MSG_ReadAngle8( msg );
cl.refdef.crosshairangle[2] = 0; // not used for screen space
}

View File

@ -156,17 +156,6 @@ static const net_desc_t NWDesc[] =
#define CS_USER_MESSAGES (CS_LIGHTSTYLES+MAX_LIGHTSTYLES) // names of user messages
#define MAX_CONFIGSTRINGS (CS_USER_MESSAGES+MAX_USER_MESSAGES) // total count
// sound flags
#define SND_VOL (1<<0) // a scaled byte
#define SND_ATTN (1<<1) // a byte
#define SND_POS (1<<2) // three coordinates
#define SND_ENT (1<<3) // a short 0 - 2: channel, 3 - 12: entity
#define SND_PITCH (1<<4) // a byte
#define SND_STOP (1<<5) // stop sound or loopsound
#define SND_CHANGE_VOL (1<<6) // change sound vol
#define SND_CHANGE_PITCH (1<<7) // change sound pitch
#define SND_SPAWNING (1<<8) // we're spawing, used in some cases for ambients
/*
==============================================================================

16
engine/common/net_sound.h Normal file
View File

@ -0,0 +1,16 @@
//=======================================================================
// Copyright XashXT Group 2009 ©
// net_sound.h - sound message options
//=======================================================================
#ifndef NET_SOUND_H
#define NET_SOUND_H
// sound flags
// see declaration flags 1 - 64 in const.h
#define SND_SENTENCE (1<<7) // set if sound num is actually a sentence num
#define SND_VOLUME (1<<8) // a scaled byte
#define SND_SOUNDLEVEL (1<<9) // a byte
#define SND_PITCH (1<<10) // a byte
#endif//NET_SOUND_H

View File

@ -6,6 +6,86 @@
--------------------Configuration: engine - Win32 Debug--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP1F65.tmp" with contents
[
/nologo /MDd /W3 /Gm /Gi /GX /ZI /Od /I "./" /I "common" /I "server" /I "client" /I "uimenu" /I "../public" /I "../common" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR"..\temp\engine\!debug/" /Fo"..\temp\engine\!debug/" /Fd"..\temp\engine\!debug/" /FD /c
"D:\Xash3D\src_main\engine\client\cl_parse.c"
]
Creating command line "cl.exe @C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP1F65.tmp"
Creating temporary file "C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP1F66.tmp" with contents
[
user32.lib msvcrtd.lib /nologo /subsystem:windows /dll /incremental:yes /pdb:"..\temp\engine\!debug/engine.pdb" /debug /machine:I386 /nodefaultlib:"msvcrt.lib" /out:"..\temp\engine\!debug/engine.dll" /implib:"..\temp\engine\!debug/engine.lib" /pdbtype:sept
"\Xash3D\src_main\temp\engine\!debug\cinematic.obj"
"\Xash3D\src_main\temp\engine\!debug\cl_cmds.obj"
"\Xash3D\src_main\temp\engine\!debug\cl_demo.obj"
"\Xash3D\src_main\temp\engine\!debug\cl_effects.obj"
"\Xash3D\src_main\temp\engine\!debug\cl_frame.obj"
"\Xash3D\src_main\temp\engine\!debug\cl_game.obj"
"\Xash3D\src_main\temp\engine\!debug\cl_input.obj"
"\Xash3D\src_main\temp\engine\!debug\cl_main.obj"
"\Xash3D\src_main\temp\engine\!debug\cl_parse.obj"
"\Xash3D\src_main\temp\engine\!debug\cl_phys.obj"
"\Xash3D\src_main\temp\engine\!debug\cl_scrn.obj"
"\Xash3D\src_main\temp\engine\!debug\cl_view.obj"
"\Xash3D\src_main\temp\engine\!debug\com_library.obj"
"\Xash3D\src_main\temp\engine\!debug\con_keys.obj"
"\Xash3D\src_main\temp\engine\!debug\con_main.obj"
"\Xash3D\src_main\temp\engine\!debug\con_utils.obj"
"\Xash3D\src_main\temp\engine\!debug\engfuncs.obj"
"\Xash3D\src_main\temp\engine\!debug\engine.obj"
"\Xash3D\src_main\temp\engine\!debug\host.obj"
"\Xash3D\src_main\temp\engine\!debug\infostring.obj"
"\Xash3D\src_main\temp\engine\!debug\input.obj"
"\Xash3D\src_main\temp\engine\!debug\net_chan.obj"
"\Xash3D\src_main\temp\engine\!debug\net_huff.obj"
"\Xash3D\src_main\temp\engine\!debug\net_msg.obj"
"\Xash3D\src_main\temp\engine\!debug\sv_client.obj"
"\Xash3D\src_main\temp\engine\!debug\sv_cmds.obj"
"\Xash3D\src_main\temp\engine\!debug\sv_frame.obj"
"\Xash3D\src_main\temp\engine\!debug\sv_game.obj"
"\Xash3D\src_main\temp\engine\!debug\sv_init.obj"
"\Xash3D\src_main\temp\engine\!debug\sv_main.obj"
"\Xash3D\src_main\temp\engine\!debug\sv_move.obj"
"\Xash3D\src_main\temp\engine\!debug\sv_phys.obj"
"\Xash3D\src_main\temp\engine\!debug\sv_save.obj"
"\Xash3D\src_main\temp\engine\!debug\sv_world.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_advanced.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_audio.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_controls.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_credits.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_defaults.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_demos.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_gameoptions.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_gotosite.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_ingame.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_loadgame.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_main.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_menu.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_mods.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_multiplayer.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_network.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_options.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_performance.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_playersetup.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_qmenu.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_quit.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_savegame.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_singleplayer.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_video.obj"
]
Creating command line "link.exe @C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP1F66.tmp"
Creating temporary file "C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP1F67.bat" with contents
[
@echo off
copy \Xash3D\src_main\temp\engine\!debug\engine.dll "D:\Xash3D\bin\engine.dll"
]
Creating command line "C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP1F67.bat"
Compiling...
cl_parse.c
Linking...
<h3>Output Window</h3>
Performing Custom Build Step on \Xash3D\src_main\temp\engine\!debug\engine.dll
‘Ş®Ż¨ŕ®˘ ­® ä ©«®˘: 1.

View File

@ -216,6 +216,7 @@ typedef struct
int msg_realsize; // left in bytes
int msg_index; // for debug messages
int msg_dest; // msg destination ( MSG_ONE, MSG_ALL etc )
bool msg_started; // to avoid include messages
edict_t *msg_ent; // user message member entity
vec3_t msg_org; // user message member origin

View File

@ -5,6 +5,7 @@
#include "common.h"
#include "server.h"
#include "net_sound.h"
#include "byteorder.h"
#include "matrix_lib.h"
#include "com_library.h"
@ -1602,36 +1603,23 @@ void SV_StartSound( edict_t *ent, int chan, const char *sample, float vol, float
return;
}
if( vol != 1.0f ) flags |= SND_VOL;
if( attn != 1.0f ) flags |= SND_ATTN;
if( vol != VOL_NORM ) flags |= SND_VOLUME;
if( attn != ATTN_NONE ) flags |= SND_SOUNDLEVEL;
if( pitch != PITCH_NORM ) flags |= SND_PITCH;
switch( ent->v.movetype )
// use the entity origin unless it is a bmodel or explicitly specified
if( ent->v.solid == SOLID_BSP || VectorCompare( ent->v.origin, vec3_origin ))
{
case MOVETYPE_NONE:
flags |= SND_POS;
break;
default:
flags |= SND_ENT;
break;
VectorAverage( ent->v.mins, ent->v.maxs, snd_origin );
VectorAdd( snd_origin, ent->v.origin, snd_origin );
reliable = true; // because brush center can be out of PHS (outside from world)
use_phs = false;
}
if( flags & SND_POS )
else
{
// use the entity origin unless it is a bmodel or explicitly specified
if( ent->v.solid == SOLID_BSP || VectorCompare( ent->v.origin, vec3_origin ))
{
VectorAverage( ent->v.mins, ent->v.maxs, snd_origin );
VectorAdd( snd_origin, ent->v.origin, snd_origin );
reliable = true; // because brush center can be out of PHS (outside from world)
use_phs = false;
}
else
{
VectorCopy( ent->v.origin, snd_origin );
reliable = false;
use_phs = true;
}
VectorCopy( ent->v.origin, snd_origin );
reliable = false;
use_phs = true;
}
// NOTE: bsp origin for moving edicts will be done on client-side
@ -1643,20 +1631,19 @@ void SV_StartSound( edict_t *ent, int chan, const char *sample, float vol, float
sound_idx = SV_SoundIndex( sample );
MSG_Begin( svc_sound );
MSG_WriteByte( &sv.multicast, flags );
MSG_WriteWord( &sv.multicast, flags );
MSG_WriteWord( &sv.multicast, sound_idx );
MSG_WriteByte( &sv.multicast, chan );
if( flags & SND_VOL ) MSG_WriteByte( &sv.multicast, vol * 255 );
if( flags & SND_ATTN) MSG_WriteByte( &sv.multicast, attn * 127 );
if(flags & SND_PITCH) MSG_WriteByte( &sv.multicast, pitch );
if( flags & SND_ENT ) MSG_WriteWord( &sv.multicast, ent->serialnumber );
if( flags & SND_POS )
{
MSG_WriteCoord32( &sv.multicast, snd_origin[0] );
MSG_WriteCoord32( &sv.multicast, snd_origin[1] );
MSG_WriteCoord32( &sv.multicast, snd_origin[2] );
}
if ( flags & SND_VOLUME ) MSG_WriteByte( &sv.multicast, vol * 255 );
if ( flags & SND_SOUNDLEVEL ) MSG_WriteByte( &sv.multicast, ATTN_TO_SNDLVL( attn ));
if ( flags & SND_PITCH ) MSG_WriteByte( &sv.multicast, pitch );
MSG_WriteWord( &sv.multicast, ent->serialnumber );
MSG_WriteCoord32( &sv.multicast, snd_origin[0] );
MSG_WriteCoord32( &sv.multicast, snd_origin[1] );
MSG_WriteCoord32( &sv.multicast, snd_origin[2] );
if( reliable )
{
if( use_phs ) MSG_Send( MSG_PHS_R, snd_origin, ent );
@ -1981,6 +1968,10 @@ pfnMessageBegin
*/
void pfnMessageBegin( int msg_dest, int msg_num, const float *pOrigin, edict_t *ed )
{
if( svgame.msg_started )
Host_Error( "MessageBegin: New message started when msg '%s' has not been sent yet\n", svgame.msg_name );
svgame.msg_started = true;
// some malicious users can send message with engine index
// reduce number to avoid overflow problems or cheating
svgame.msg_index = bound( svc_bad, msg_num, svc_nop );
@ -2019,6 +2010,7 @@ void pfnMessageEnd( void )
const char *name = "Unknown";
if( svgame.msg_name ) name = svgame.msg_name;
svgame.msg_started = false;
if( svgame.msg_sizes[svgame.msg_index] != -1 )
{
@ -2684,9 +2676,27 @@ pfnCrosshairAngle
*/
void pfnCrosshairAngle( const edict_t *pClient, float pitch, float yaw )
{
sv_client_t *client;
if( pClient == NULL || pClient->free || !pClient->pvServerData )
{
MsgDev( D_ERROR, "SV_CrosshairAngle: invalid client!\n" );
return;
}
client = pClient->pvServerData->client;
if( !client )
{
MsgDev( D_ERROR, "SV_CrosshairAngle: not a client!\n" );
return;
}
// fakeclients ignore it silently
if( pClient->v.flags & FL_FAKECLIENT ) return;
MSG_Begin( svc_crosshairangle );
MSG_WriteAngle32( &sv.multicast, pitch );
MSG_WriteAngle32( &sv.multicast, yaw );
MSG_WriteAngle8( &sv.multicast, pitch );
MSG_WriteAngle8( &sv.multicast, yaw );
MSG_Send( MSG_ONE_R, vec3_origin, pClient );
}

View File

@ -271,6 +271,7 @@ static const saveformat_t save_null[] =
static const saveformat_t save_extragen[] =
{
{ "%s%s.%s", "tga", Image_SaveTGA }, // tga screenshots
{ "%s%s.%s", "jpg", Image_SaveJPG }, // jpg screenshots
{ "%s%s.%s", "png", Image_SavePNG }, // png levelshots
{ "%s%s.%s", "dds", Image_SaveDDS }, // vtf use this
{ "%s%s.%s", "pcx", Image_SavePCX }, // just in case

View File

@ -6,53 +6,6 @@
--------------------Configuration: launch - Win32 Debug--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP13EA.tmp" with contents
[
/nologo /MDd /W3 /Gm /Gi /GX /ZI /Od /I "./" /I "imagelib" /I "../public" /I "../common" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR"..\temp\launch\!debug/" /Fo"..\temp\launch\!debug/" /Fd"..\temp\launch\!debug/" /FD /GZ /c
"D:\Xash3D\src_main\launch\system.c"
]
Creating command line "cl.exe @C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP13EA.tmp"
Creating temporary file "C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP13EB.tmp" with contents
[
zlib.lib png.lib jpg.lib user32.lib gdi32.lib shell32.lib advapi32.lib winmm.lib /nologo /dll /incremental:yes /pdb:"..\temp\launch\!debug/launch.pdb" /debug /machine:I386 /nodefaultlib:"libc.lib" /out:"..\temp\launch\!debug/launch.dll" /implib:"..\temp\launch\!debug/launch.lib" /pdbtype:sept /libpath:"./imagelib"
"\Xash3D\src_main\temp\launch\!debug\cmd.obj"
"\Xash3D\src_main\temp\launch\!debug\console.obj"
"\Xash3D\src_main\temp\launch\!debug\cpuinfo.obj"
"\Xash3D\src_main\temp\launch\!debug\crclib.obj"
"\Xash3D\src_main\temp\launch\!debug\cvar.obj"
"\Xash3D\src_main\temp\launch\!debug\export.obj"
"\Xash3D\src_main\temp\launch\!debug\filesystem.obj"
"\Xash3D\src_main\temp\launch\!debug\img_bmp.obj"
"\Xash3D\src_main\temp\launch\!debug\img_dds.obj"
"\Xash3D\src_main\temp\launch\!debug\img_jpg.obj"
"\Xash3D\src_main\temp\launch\!debug\img_main.obj"
"\Xash3D\src_main\temp\launch\!debug\img_pcx.obj"
"\Xash3D\src_main\temp\launch\!debug\img_png.obj"
"\Xash3D\src_main\temp\launch\!debug\img_tga.obj"
"\Xash3D\src_main\temp\launch\!debug\img_utils.obj"
"\Xash3D\src_main\temp\launch\!debug\img_vtf.obj"
"\Xash3D\src_main\temp\launch\!debug\img_wad.obj"
"\Xash3D\src_main\temp\launch\!debug\memlib.obj"
"\Xash3D\src_main\temp\launch\!debug\network.obj"
"\Xash3D\src_main\temp\launch\!debug\parselib.obj"
"\Xash3D\src_main\temp\launch\!debug\patch.obj"
"\Xash3D\src_main\temp\launch\!debug\stdlib.obj"
"\Xash3D\src_main\temp\launch\!debug\system.obj"
"\Xash3D\src_main\temp\launch\!debug\utils.obj"
]
Creating command line "link.exe @C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP13EB.tmp"
Creating temporary file "C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP13EC.bat" with contents
[
@echo off
copy \Xash3D\src_main\temp\launch\!debug\launch.dll "D:\Xash3D\bin\launch.dll"
]
Creating command line "C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP13EC.bat"
Compiling...
system.c
Linking...
<h3>Output Window</h3>
Performing Custom Build Step on \Xash3D\src_main\temp\launch\!debug\launch.dll
‘Ş®Ż¨ŕ®˘ ­® ä ©«®˘: 1.

View File

@ -1934,7 +1934,7 @@ void R_StudioDrawDebug( void )
RI.previousentity = RI.currententity;
RI.currententity = &r_entities[i];
if( RI.currententity->model->type != mod_studio )
if( !RI.currententity->model || RI.currententity->model->type != mod_studio )
continue;
if( RP_LOCALCLIENT( RI.currententity ))

View File

@ -6,53 +6,6 @@
--------------------Configuration: render - Win32 Debug--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP1778.tmp" with contents
[
/nologo /MDd /W3 /Gm /Gi /GX /ZI /Od /I "../public" /I "../common" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR"..\temp\render\!debug/" /Fo"..\temp\render\!debug/" /Fd"..\temp\render\!debug/" /FD /c
"D:\Xash3D\src_main\render\r_shader.c"
]
Creating command line "cl.exe @C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP1778.tmp"
Creating temporary file "C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP1779.tmp" with contents
[
msvcrtd.lib user32.lib gdi32.lib /nologo /subsystem:windows /dll /incremental:yes /pdb:"..\temp\render\!debug/render.pdb" /debug /machine:I386 /nodefaultlib:"msvcrt.lib" /out:"..\temp\render\!debug/render.dll" /implib:"..\temp\render\!debug/render.lib" /pdbtype:sept
"\Xash3D\src_main\temp\render\!debug\cin.obj"
"\Xash3D\src_main\temp\render\!debug\r_aliasq.obj"
"\Xash3D\src_main\temp\render\!debug\r_backend.obj"
"\Xash3D\src_main\temp\render\!debug\r_bloom.obj"
"\Xash3D\src_main\temp\render\!debug\r_cin.obj"
"\Xash3D\src_main\temp\render\!debug\r_cull.obj"
"\Xash3D\src_main\temp\render\!debug\r_draw.obj"
"\Xash3D\src_main\temp\render\!debug\r_image.obj"
"\Xash3D\src_main\temp\render\!debug\r_light.obj"
"\Xash3D\src_main\temp\render\!debug\r_main.obj"
"\Xash3D\src_main\temp\render\!debug\r_math.obj"
"\Xash3D\src_main\temp\render\!debug\r_mesh.obj"
"\Xash3D\src_main\temp\render\!debug\r_model.obj"
"\Xash3D\src_main\temp\render\!debug\r_opengl.obj"
"\Xash3D\src_main\temp\render\!debug\r_poly.obj"
"\Xash3D\src_main\temp\render\!debug\r_program.obj"
"\Xash3D\src_main\temp\render\!debug\r_register.obj"
"\Xash3D\src_main\temp\render\!debug\r_shader.obj"
"\Xash3D\src_main\temp\render\!debug\r_shadow.obj"
"\Xash3D\src_main\temp\render\!debug\r_sky.obj"
"\Xash3D\src_main\temp\render\!debug\r_sprite.obj"
"\Xash3D\src_main\temp\render\!debug\r_studio.obj"
"\Xash3D\src_main\temp\render\!debug\r_surf.obj"
]
Creating command line "link.exe @C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP1779.tmp"
Creating temporary file "C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP177A.bat" with contents
[
@echo off
copy \Xash3D\src_main\temp\render\!debug\render.dll "D:\Xash3D\bin\render.dll"
]
Creating command line "C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP177A.bat"
Compiling...
r_shader.c
Linking...
Creating library ..\temp\render\!debug/render.lib and object ..\temp\render\!debug/render.exp
<h3>Output Window</h3>
Performing Custom Build Step on \Xash3D\src_main\temp\render\!debug\render.dll
‘ª®¯¨à®¢ ­® ä ©«®¢: 1.

View File

@ -1112,10 +1112,10 @@ int UTIL_PrecacheModel( string_t s, const char *e ) // precache default model if
int UTIL_PrecacheModel( string_t s ){ return UTIL_PrecacheModel( STRING( s )); }
int UTIL_PrecacheModel( const char* s )
{
if( !s || !*s )
{
ALERT( at_warning, "modelname not specified\n" );
return g_sModelIndexNullModel; // set null model
if( FStringNull( s ))
{
// set null model
return g_sModelIndexNullModel;
}
// no need to precache brush

View File

@ -509,28 +509,22 @@ extern DLL_GLOBAL int g_Language;
#define SPEAKER_START_SILENT 1 // wait for trigger 'on' to start announcements
// duplicated in protocol.h
#define SND_STOP (1<<5) // stop sound or loopsound
#define SND_CHANGE_VOL (1<<6) // change sound vol
#define SND_CHANGE_PITCH (1<<7) // change sound pitch
#define SND_SPAWNING (1<<8) // we're spawing, used in some cases for ambients
#define LFO_SQUARE 1
#define LFO_TRIANGLE 2
#define LFO_RANDOM 3
#define LFO_SQUARE 1
#define LFO_TRIANGLE 2
#define LFO_RANDOM 3
// func_rotating
#define SF_BRUSH_ROTATE_Y_AXIS 0 //!?! (LRC)
#define SF_BRUSH_ROTATE_INSTANT 1
#define SF_BRUSH_ROTATE_BACKWARDS 2
#define SF_BRUSH_ROTATE_BACKWARDS 2
#define SF_BRUSH_ROTATE_Z_AXIS 4
#define SF_BRUSH_ROTATE_X_AXIS 8
#define SF_PENDULUM_AUTO_RETURN 16
#define SF_PENDULUM_PASSABLE 32
#define SF_PENDULUM_PASSABLE 32
#define SF_BRUSH_ROTATE_SMALLRADIUS 128
#define SF_BRUSH_ROTATE_MEDIUMRADIUS 256
#define SF_BRUSH_ROTATE_LARGERADIUS 512
#define SF_BRUSH_ROTATE_SMALLRADIUS 128
#define SF_BRUSH_ROTATE_MEDIUMRADIUS 256
#define SF_BRUSH_ROTATE_LARGERADIUS 512
#define PUSH_BLOCK_ONLY_X 1
#define PUSH_BLOCK_ONLY_Y 2

View File

@ -478,10 +478,7 @@ void CBarney :: Spawn()
//=========================================================
void CBarney :: Precache()
{
if (pev->model)
PRECACHE_MODEL((char*)STRING(pev->model)); //LRC
else
PRECACHE_MODEL("models/barney.mdl");
UTIL_PrecacheModel( pev->model, "models/barney.mdl" );
PRECACHE_SOUND("barney/ba_attack1.wav" );
PRECACHE_SOUND("barney/ba_attack2.wav" );

View File

@ -368,7 +368,7 @@ void CHAssassin :: Precache()
PRECACHE_SOUND("debris/beamstart1.wav");
m_iShell = UTIL_PrecacheModel ("models/shell556.mdl");// brass shell
m_iShell = UTIL_PrecacheModel ("models/gibs/shell556.mdl");// brass shell
}

View File

@ -946,7 +946,7 @@ void CHGrunt :: HandleAnimEvent( MonsterEvent_t *pEvent )
case HGRUNT_AE_GREN_LAUNCH:
{
EMIT_SOUND(ENT(pev), CHAN_WEAPON, "weapons/glauncher.wav", 0.8, ATTN_NORM);
EMIT_SOUND(ENT(pev), CHAN_WEAPON, "weapons/mp5/glauncher.wav", 0.8, ATTN_NORM);
//LRC: firing due to a script?
if (m_pCine)
{
@ -993,7 +993,7 @@ void CHGrunt :: HandleAnimEvent( MonsterEvent_t *pEvent )
}
else
{
EMIT_SOUND( ENT(pev), CHAN_WEAPON, "weapons/dryfire1.wav", 1, ATTN_NORM );
EMIT_SOUND( ENT(pev), CHAN_WEAPON, "weapons/cock1.wav", 1, ATTN_NORM );
}
Shoot();
@ -1002,7 +1002,7 @@ void CHGrunt :: HandleAnimEvent( MonsterEvent_t *pEvent )
{
Shotgun( );
EMIT_SOUND(ENT(pev), CHAN_WEAPON, "weapons/sbarrel1.wav", 1, ATTN_NORM );
EMIT_SOUND(ENT(pev), CHAN_WEAPON, "weapons/shotgun/shotgun_single.wav", 1, ATTN_NORM );
}
CSoundEnt::InsertSound ( bits_SOUND_COMBAT, pev->origin, 384, 0.3 );
@ -1121,12 +1121,9 @@ void CHGrunt :: Spawn()
//=========================================================
void CHGrunt :: Precache()
{
if (pev->model)
PRECACHE_MODEL((char*)STRING(pev->model)); //LRC
else
PRECACHE_MODEL("models/hgrunt.mdl");
UTIL_PrecacheModel( pev->model, "models/hgrunt.mdl" );
PRECACHE_SOUND( "weapons/dryfire1.wav" ); //LRC
PRECACHE_SOUND( "weapons/cock1.wav" );
PRECACHE_SOUND( "hgrunt/gr_mgun1.wav" );
PRECACHE_SOUND( "hgrunt/gr_mgun2.wav" );
@ -1143,9 +1140,9 @@ void CHGrunt :: Precache()
PRECACHE_SOUND( "hgrunt/gr_reload1.wav" );
PRECACHE_SOUND( "weapons/glauncher.wav" );
PRECACHE_SOUND( "weapons/mp5/glauncher.wav" );
PRECACHE_SOUND( "weapons/sbarrel1.wav" );
PRECACHE_SOUND( "weapons/shotgun/shotgun_single.wav" );
PRECACHE_SOUND("zombie/claw_miss2.wav");// because we use the basemonster SWIPE animation event
@ -1155,8 +1152,8 @@ void CHGrunt :: Precache()
else
m_voicePitch = 100;
m_iBrassShell = UTIL_PrecacheModel ("models/shell556.mdl");// brass shell
m_iShotgunShell = UTIL_PrecacheModel ("models/shellBuck.mdl");
m_iBrassShell = UTIL_PrecacheModel ("models/gibs/shell556.mdl");// brass shell
m_iShotgunShell = UTIL_PrecacheModel ("models/gibs/shellbuck.mdl");
}
//=========================================================

View File

@ -6,91 +6,6 @@
--------------------Configuration: server - Win32 Debug--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP1780.tmp" with contents
[
/nologo /MDd /W3 /Gm /Gi /GX /ZI /Od /I "./" /I "ents" /I "game" /I "global" /I "monsters" /I "../common" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR"..\temp\server\!debug/" /Fo"..\temp\server\!debug/" /Fd"..\temp\server\!debug/" /FD /c
"D:\Xash3D\src_main\server\global\dll_int.cpp"
]
Creating command line "cl.exe @C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP1780.tmp"
Creating temporary file "C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP1781.tmp" with contents
[
msvcrtd.lib /nologo /subsystem:windows /dll /incremental:yes /pdb:"..\temp\server\!debug/server.pdb" /debug /machine:I386 /nodefaultlib:"libc.lib" /def:".\server.def" /out:"..\temp\server\!debug/server.dll" /implib:"..\temp\server\!debug/server.lib" /pdbtype:sept
"\Xash3D\src_main\temp\server\!debug\ai_sound.obj"
"\Xash3D\src_main\temp\server\!debug\animating.obj"
"\Xash3D\src_main\temp\server\!debug\animation.obj"
"\Xash3D\src_main\temp\server\!debug\apache.obj"
"\Xash3D\src_main\temp\server\!debug\barnacle.obj"
"\Xash3D\src_main\temp\server\!debug\barney.obj"
"\Xash3D\src_main\temp\server\!debug\basebrush.obj"
"\Xash3D\src_main\temp\server\!debug\baseentity.obj"
"\Xash3D\src_main\temp\server\!debug\basefunc.obj"
"\Xash3D\src_main\temp\server\!debug\basefx.obj"
"\Xash3D\src_main\temp\server\!debug\baseinfo.obj"
"\Xash3D\src_main\temp\server\!debug\baseitem.obj"
"\Xash3D\src_main\temp\server\!debug\baselogic.obj"
"\Xash3D\src_main\temp\server\!debug\basemonster.obj"
"\Xash3D\src_main\temp\server\!debug\basemover.obj"
"\Xash3D\src_main\temp\server\!debug\baseother.obj"
"\Xash3D\src_main\temp\server\!debug\basepath.obj"
"\Xash3D\src_main\temp\server\!debug\basephys.obj"
"\Xash3D\src_main\temp\server\!debug\baserockets.obj"
"\Xash3D\src_main\temp\server\!debug\basetank.obj"
"\Xash3D\src_main\temp\server\!debug\basetrigger.obj"
"\Xash3D\src_main\temp\server\!debug\baseutil.obj"
"\Xash3D\src_main\temp\server\!debug\baseweapon.obj"
"\Xash3D\src_main\temp\server\!debug\baseworld.obj"
"\Xash3D\src_main\temp\server\!debug\client.obj"
"\Xash3D\src_main\temp\server\!debug\combat.obj"
"\Xash3D\src_main\temp\server\!debug\decals.obj"
"\Xash3D\src_main\temp\server\!debug\defaultai.obj"
"\Xash3D\src_main\temp\server\!debug\dll_int.obj"
"\Xash3D\src_main\temp\server\!debug\flyingmonster.obj"
"\Xash3D\src_main\temp\server\!debug\game.obj"
"\Xash3D\src_main\temp\server\!debug\gamerules.obj"
"\Xash3D\src_main\temp\server\!debug\generic.obj"
"\Xash3D\src_main\temp\server\!debug\globals.obj"
"\Xash3D\src_main\temp\server\!debug\gman.obj"
"\Xash3D\src_main\temp\server\!debug\hassassin.obj"
"\Xash3D\src_main\temp\server\!debug\headcrab.obj"
"\Xash3D\src_main\temp\server\!debug\hgrunt.obj"
"\Xash3D\src_main\temp\server\!debug\leech.obj"
"\Xash3D\src_main\temp\server\!debug\legacy.obj"
"\Xash3D\src_main\temp\server\!debug\lights.obj"
"\Xash3D\src_main\temp\server\!debug\multiplay_gamerules.obj"
"\Xash3D\src_main\temp\server\!debug\nodes.obj"
"\Xash3D\src_main\temp\server\!debug\osprey.obj"
"\Xash3D\src_main\temp\server\!debug\parent.obj"
"\Xash3D\src_main\temp\server\!debug\player.obj"
"\Xash3D\src_main\temp\server\!debug\rat.obj"
"\Xash3D\src_main\temp\server\!debug\roach.obj"
"\Xash3D\src_main\temp\server\!debug\saverestore.obj"
"\Xash3D\src_main\temp\server\!debug\scientist.obj"
"\Xash3D\src_main\temp\server\!debug\scripted.obj"
"\Xash3D\src_main\temp\server\!debug\sfx.obj"
"\Xash3D\src_main\temp\server\!debug\singleplay_gamerules.obj"
"\Xash3D\src_main\temp\server\!debug\sound.obj"
"\Xash3D\src_main\temp\server\!debug\spectator.obj"
"\Xash3D\src_main\temp\server\!debug\squadmonster.obj"
"\Xash3D\src_main\temp\server\!debug\talkmonster.obj"
"\Xash3D\src_main\temp\server\!debug\teamplay_gamerules.obj"
"\Xash3D\src_main\temp\server\!debug\turret.obj"
"\Xash3D\src_main\temp\server\!debug\utils.obj"
"\Xash3D\src_main\temp\server\!debug\weapon_generic.obj"
"\Xash3D\src_main\temp\server\!debug\zombie.obj"
]
Creating command line "link.exe @C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP1781.tmp"
Creating temporary file "C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP1782.bat" with contents
[
@echo off
copy \Xash3D\src_main\temp\server\!debug\server.dll "D:\Xash3D\bin\server.dll"
]
Creating command line "C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP1782.bat"
Compiling...
dll_int.cpp
Linking...
<h3>Output Window</h3>
Performing Custom Build Step on \Xash3D\src_main\temp\server\!debug\server.dll
‘ª®¯¨à®¢ ­® ä ©«®¢: 1.

View File

@ -156,3 +156,5 @@ Beta 13.12.09
129. fixup sound orientation OK
130. don't show console on changelevel OK
131. support for doom3-style parsing
132. implement SENTENCE_system
133. rebuild vsound.dll

16
vprogs/vprogs.plg Normal file
View File

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

16
vsound/vsound.plg Normal file
View File

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

View File

@ -45,14 +45,14 @@ convformat_t convert_formats32[] =
{"%s.%s", "jpg", ConvJPG, "jpg" }, // quake3 textures
{"%s.%s", "bmp", ConvBMP, "dds" }, // 8-bit maps with alpha-cnahnel
{"%s.%s", "pcx", ConvPCX, "png" }, // quake2 pics
{"%s.%s", "flt", ConvFLT, "jpg" }, // doom1 textures
{"%s.%s", "flp", ConvFLP, "jpg" }, // doom1 menu pics
{"%s.%s", "mip", ConvMIP, "jpg" }, // Quake1/Half-Life textures
{"%s.%s", "flt", ConvFLT, "png" }, // doom1 textures
{"%s.%s", "flp", ConvFLP, "png" }, // doom1 menu pics
{"%s.%s", "mip", ConvMIP, "png" }, // Quake1/Half-Life textures
{"%s.%s", "lmp", ConvLMP, "png" }, // Quake1/Half-Life gfx
{"%s.%s", "wal", ConvWAL, "jpg" }, // Quake2 textures
{"%s.%s", "wal", ConvWAL, "png" }, // Quake2 textures
{"%s.%s", "vtf", ConvVTF, "dds" }, // Half-Life 2 materials
{"%s.%s", "skn", ConvSKN, "png" }, // doom1 sprite models
{"%s.%s", "bsp", ConvBSP, "jpg" }, // Quake1\Half-Life map textures
{"%s.%s", "bsp", ConvBSP, "png" }, // Quake1\Half-Life map textures
{"%s.%s", "mus", ConvMID, "mid" }, // doom1\2 music files
{"%s.%s", "txt", ConvRAW, "txt" }, // (hidden) Xash-extract scripts
{"%s.%s", "dat", ConvRAW, "dat" }, // (hidden) Xash-extract progs

16
xtools/xtools.plg Normal file
View File

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