18 May 2014

This commit is contained in:
g-cont 2014-05-18 00:00:00 +04:00 committed by Alibek Omarov
parent e625a9c88d
commit 96e893f75f
19 changed files with 387 additions and 29 deletions

278
cl_dll/cl_dll.plg Normal file
View File

@ -0,0 +1,278 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: cl_dll - Win32 Debug--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSPACB.tmp" with contents
[
/nologo /G5 /MTd /W3 /Gm /GR /GX /ZI /Od /I "..\dlls" /I "..\common" /I "..\pm_shared" /I "..\engine" /I "..\utils\vgui\include" /I "..\game_shared" /D "_DEBUG" /D "_MBCS" /D "WIN32" /D "_WINDOWS" /D "CLIENT_DLL" /D "CLIENT_WEAPONS" /FR"..\temp\cl_dll\!debug/" /Fp"..\temp\cl_dll\!debug/cl_dll.pch" /YX /Fo"..\temp\cl_dll\!debug/" /Fd"..\temp\cl_dll\!debug/" /FD /c
"D:\Xash3D\src_main\dlls\crossbow.cpp"
"D:\Xash3D\src_main\dlls\crowbar.cpp"
"D:\Xash3D\src_main\dlls\egon.cpp"
"D:\Xash3D\src_main\cl_dll\ev_hldm.cpp"
"D:\Xash3D\src_main\dlls\gauss.cpp"
"D:\Xash3D\src_main\dlls\handgrenade.cpp"
"D:\Xash3D\src_main\cl_dll\hl\hl_baseentity.cpp"
"D:\Xash3D\src_main\cl_dll\hl\hl_events.cpp"
"D:\Xash3D\src_main\cl_dll\hl\hl_objects.cpp"
"D:\Xash3D\src_main\cl_dll\hl\hl_weapons.cpp"
"D:\Xash3D\src_main\dlls\glock.cpp"
"D:\Xash3D\src_main\dlls\hornetgun.cpp"
"D:\Xash3D\src_main\dlls\mp5.cpp"
"D:\Xash3D\src_main\dlls\python.cpp"
"D:\Xash3D\src_main\dlls\rpg.cpp"
"D:\Xash3D\src_main\dlls\satchel.cpp"
"D:\Xash3D\src_main\dlls\shotgun.cpp"
"D:\Xash3D\src_main\dlls\squeakgrenade.cpp"
"D:\Xash3D\src_main\dlls\tripmine.cpp"
"D:\Xash3D\src_main\game_shared\vgui_scrollbar2.cpp"
"D:\Xash3D\src_main\game_shared\vgui_slider2.cpp"
"D:\Xash3D\src_main\game_shared\voice_banmgr.cpp"
"D:\Xash3D\src_main\game_shared\voice_status.cpp"
"D:\Xash3D\src_main\cl_dll\ammo.cpp"
"D:\Xash3D\src_main\cl_dll\ammo_secondary.cpp"
"D:\Xash3D\src_main\cl_dll\ammohistory.cpp"
"D:\Xash3D\src_main\cl_dll\battery.cpp"
"D:\Xash3D\src_main\cl_dll\cdll_int.cpp"
"D:\Xash3D\src_main\cl_dll\com_weapons.cpp"
"D:\Xash3D\src_main\cl_dll\death.cpp"
"D:\Xash3D\src_main\cl_dll\demo.cpp"
"D:\Xash3D\src_main\cl_dll\entity.cpp"
"D:\Xash3D\src_main\cl_dll\ev_common.cpp"
"D:\Xash3D\src_main\cl_dll\events.cpp"
"D:\Xash3D\src_main\cl_dll\flashlight.cpp"
"D:\Xash3D\src_main\cl_dll\GameStudioModelRenderer.cpp"
"D:\Xash3D\src_main\cl_dll\geiger.cpp"
"D:\Xash3D\src_main\cl_dll\health.cpp"
"D:\Xash3D\src_main\cl_dll\hud.cpp"
"D:\Xash3D\src_main\cl_dll\hud_msg.cpp"
"D:\Xash3D\src_main\cl_dll\hud_redraw.cpp"
"D:\Xash3D\src_main\cl_dll\hud_servers.cpp"
"D:\Xash3D\src_main\cl_dll\hud_spectator.cpp"
"D:\Xash3D\src_main\cl_dll\hud_update.cpp"
"D:\Xash3D\src_main\cl_dll\in_camera.cpp"
"D:\Xash3D\src_main\cl_dll\input.cpp"
"D:\Xash3D\src_main\cl_dll\inputw32.cpp"
"D:\Xash3D\src_main\cl_dll\menu.cpp"
"D:\Xash3D\src_main\cl_dll\message.cpp"
"D:\Xash3D\src_main\cl_dll\parsemsg.cpp"
"D:\Xash3D\src_main\pm_shared\pm_debug.c"
"D:\Xash3D\src_main\pm_shared\pm_math.c"
"D:\Xash3D\src_main\pm_shared\pm_shared.c"
"D:\Xash3D\src_main\cl_dll\saytext.cpp"
"D:\Xash3D\src_main\cl_dll\status_icons.cpp"
"D:\Xash3D\src_main\cl_dll\statusbar.cpp"
"D:\Xash3D\src_main\cl_dll\studio_util.cpp"
"D:\Xash3D\src_main\cl_dll\StudioModelRenderer.cpp"
"D:\Xash3D\src_main\cl_dll\text_message.cpp"
"D:\Xash3D\src_main\cl_dll\train.cpp"
"D:\Xash3D\src_main\cl_dll\tri.cpp"
"D:\Xash3D\src_main\cl_dll\util.cpp"
"D:\Xash3D\src_main\game_shared\vgui_checkbutton2.cpp"
"D:\Xash3D\src_main\cl_dll\vgui_ClassMenu.cpp"
"D:\Xash3D\src_main\cl_dll\vgui_ConsolePanel.cpp"
"D:\Xash3D\src_main\cl_dll\vgui_ControlConfigPanel.cpp"
"D:\Xash3D\src_main\cl_dll\vgui_CustomObjects.cpp"
"D:\Xash3D\src_main\game_shared\vgui_grid.cpp"
"D:\Xash3D\src_main\game_shared\vgui_helpers.cpp"
"D:\Xash3D\src_main\cl_dll\vgui_int.cpp"
"D:\Xash3D\src_main\game_shared\vgui_listbox.cpp"
"D:\Xash3D\src_main\game_shared\vgui_loadtga.cpp"
"D:\Xash3D\src_main\cl_dll\vgui_MOTDWindow.cpp"
"D:\Xash3D\src_main\cl_dll\vgui_SchemeManager.cpp"
"D:\Xash3D\src_main\cl_dll\vgui_ScorePanel.cpp"
"D:\Xash3D\src_main\cl_dll\vgui_ServerBrowser.cpp"
"D:\Xash3D\src_main\cl_dll\vgui_SpectatorPanel.cpp"
"D:\Xash3D\src_main\cl_dll\vgui_TeamFortressViewport.cpp"
"D:\Xash3D\src_main\cl_dll\vgui_teammenu.cpp"
"D:\Xash3D\src_main\cl_dll\view.cpp"
]
Creating command line "cl.exe @"C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSPACB.tmp""
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSPACC.tmp" with contents
[
oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib winmm.lib ../utils/vgui/lib/win32_vc6/vgui.lib wsock32.lib /nologo /subsystem:windows /dll /incremental:yes /pdb:"..\temp\cl_dll\!debug/client.pdb" /debug /machine:I386 /out:"..\temp\cl_dll\!debug/client.dll" /implib:"..\temp\cl_dll\!debug/client.lib"
"\Xash3D\src_main\temp\cl_dll\!debug\crossbow.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\crowbar.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\egon.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\ev_hldm.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\gauss.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\handgrenade.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\hl_baseentity.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\hl_events.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\hl_objects.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\hl_weapons.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\glock.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\hornetgun.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\mp5.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\python.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\rpg.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\satchel.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\shotgun.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\squeakgrenade.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\tripmine.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\vgui_scrollbar2.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\vgui_slider2.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\voice_banmgr.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\voice_status.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\ammo.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\ammo_secondary.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\ammohistory.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\battery.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\cdll_int.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\com_weapons.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\death.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\demo.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\entity.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\ev_common.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\events.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\flashlight.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\GameStudioModelRenderer.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\geiger.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\health.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\hud.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\hud_msg.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\hud_redraw.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\hud_servers.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\hud_spectator.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\hud_update.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\in_camera.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\input.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\inputw32.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\menu.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\message.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\parsemsg.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\pm_debug.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\pm_math.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\pm_shared.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\saytext.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\status_icons.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\statusbar.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\studio_util.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\StudioModelRenderer.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\text_message.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\train.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\tri.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\util.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\vgui_checkbutton2.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\vgui_ClassMenu.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\vgui_ConsolePanel.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\vgui_ControlConfigPanel.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\vgui_CustomObjects.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\vgui_grid.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\vgui_helpers.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\vgui_int.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\vgui_listbox.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\vgui_loadtga.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\vgui_MOTDWindow.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\vgui_SchemeManager.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\vgui_ScorePanel.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\vgui_ServerBrowser.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\vgui_SpectatorPanel.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\vgui_TeamFortressViewport.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\vgui_teammenu.obj"
"\Xash3D\src_main\temp\cl_dll\!debug\view.obj"
]
Creating command line "link.exe @"C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSPACC.tmp""
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSPACD.bat" with contents
[
@echo off
copy \Xash3D\src_main\temp\cl_dll\!debug\client.dll "D:\Xash3D\valve\cl_dlls\client.dll"
]
Creating command line ""C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSPACD.bat""
Compiling...
crossbow.cpp
crowbar.cpp
egon.cpp
ev_hldm.cpp
gauss.cpp
handgrenade.cpp
hl_baseentity.cpp
hl_events.cpp
hl_objects.cpp
hl_weapons.cpp
glock.cpp
hornetgun.cpp
mp5.cpp
python.cpp
rpg.cpp
satchel.cpp
shotgun.cpp
squeakgrenade.cpp
tripmine.cpp
vgui_scrollbar2.cpp
vgui_slider2.cpp
voice_banmgr.cpp
voice_status.cpp
ammo.cpp
ammo_secondary.cpp
ammohistory.cpp
battery.cpp
cdll_int.cpp
com_weapons.cpp
death.cpp
demo.cpp
entity.cpp
ev_common.cpp
events.cpp
flashlight.cpp
GameStudioModelRenderer.cpp
geiger.cpp
health.cpp
hud.cpp
hud_msg.cpp
hud_redraw.cpp
hud_servers.cpp
hud_spectator.cpp
hud_update.cpp
in_camera.cpp
input.cpp
inputw32.cpp
menu.cpp
message.cpp
parsemsg.cpp
pm_debug.c
pm_math.c
pm_shared.c
saytext.cpp
status_icons.cpp
statusbar.cpp
studio_util.cpp
StudioModelRenderer.cpp
text_message.cpp
train.cpp
tri.cpp
util.cpp
vgui_checkbutton2.cpp
vgui_ClassMenu.cpp
vgui_ConsolePanel.cpp
vgui_ControlConfigPanel.cpp
vgui_CustomObjects.cpp
vgui_grid.cpp
vgui_helpers.cpp
vgui_int.cpp
vgui_listbox.cpp
vgui_loadtga.cpp
vgui_MOTDWindow.cpp
vgui_SchemeManager.cpp
vgui_ScorePanel.cpp
vgui_ServerBrowser.cpp
vgui_SpectatorPanel.cpp
vgui_TeamFortressViewport.cpp
vgui_teammenu.cpp
view.cpp
Linking...
Creating library ..\temp\cl_dll\!debug/client.lib and object ..\temp\cl_dll\!debug/client.exp
<h3>Output Window</h3>
Performing Custom Build Step on \Xash3D\src_main\temp\cl_dll\!debug\client.dll
‘ª®¯¨à®¢ ­® ä ©«®¢: 1.
<h3>Results</h3>
client.dll - 0 error(s), 0 warning(s)
</pre>
</body>
</html>

View File

@ -98,6 +98,16 @@ qboolean CL_DisableVisibility( void )
return cls.envshot_disable_vis;
}
qboolean CL_IsBackgroundDemo( void )
{
return ( cls.demoplayback && cls.demonum != -1 );
}
qboolean CL_IsBackgroundMap( void )
{
return ( cl.background && !cls.demoplayback );
}
/*
===============
CL_ChangeGame
@ -127,7 +137,7 @@ qboolean CL_ChangeGame( const char *gamefolder, qboolean bReset )
jlook_active = true;
// so reload all images (remote connect)
Mod_ClearAll();
Mod_ClearAll( true );
R_ShutdownImages();
FS_LoadGameInfo( (bReset) ? host.gamefolder : gamefolder );
R_InitImages();
@ -1477,7 +1487,7 @@ void CL_ReadPackets( void )
return;
// check timeout
if( cls.state >= ca_connected && !cls.demoplayback )
if( cls.state >= ca_connected && !cls.demoplayback && cls.state != ca_cinematic )
{
if( host.realtime - cls.netchan.last_received > cl_timeout->value )
{

View File

@ -790,6 +790,10 @@ void CL_MuzzleFlash( const vec3_t pos, int type )
pTemp->entity.angles[2] = Com_RandomLong( 0, 359 );
}
// play playermodel muzzleflashes only for mirror pass
if( RP_LOCALCLIENT( RI.currententity ) && !RI.thirdPerson && ( RI.params & RP_MIRRORVIEW ))
pTemp->entity.curstate.effects |= EF_REFLECTONLY;
CL_TEntAddEntity( &pTemp->entity );
}

View File

@ -1386,6 +1386,8 @@ void R_DrawBrushModel( cl_entity_t *e )
qboolean rotated;
dlight_t *l;
if( !RI.drawWorld ) return;
clmodel = e->model;
RI.currentWaveHeight = RI.currententity->curstate.scale * 32.0f;

View File

@ -23,7 +23,7 @@ static char mond[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
int Q_buildnum( void )
{
// do not touch this! Only author of Xash3D can increase buildnumbers!
#if 0
#if 1
int m = 0, d = 0, y = 0;
static int b = 0;

View File

@ -796,6 +796,8 @@ qboolean UI_CreditsActive( void );
void CL_ExtraUpdate( void );
int CL_GetMaxClients( void );
qboolean CL_IsPlaybackDemo( void );
qboolean CL_IsBackgroundDemo( void );
qboolean CL_IsBackgroundMap( void );
qboolean CL_LoadProgs( const char *name );
qboolean SV_GetComment( const char *savename, char *comment );
qboolean SV_NewGame( const char *mapName, qboolean loadGame );

View File

@ -138,7 +138,7 @@ void Host_EndGame( const char *message, ... )
CL_ClearEdicts ();
// release all models
Mod_ClearAll();
Mod_ClearAll( true );
Host_AbortCurrentFrame ();
}
@ -644,7 +644,7 @@ void Host_Error( const char *error, ... )
CL_ClearEdicts ();
// release all models
Mod_ClearAll();
Mod_ClearAll( false );
recursive = false;
Host_AbortCurrentFrame();

View File

@ -183,7 +183,7 @@ void IN_ToggleClientMouse( int newstate, int oldstate )
clgame.dllFuncs.IN_ActivateMouse();
}
if( newstate == key_menu && !cl.background )
if( newstate == key_menu && ( !CL_IsBackgroundMap() || CL_IsBackgroundDemo()))
{
in_mouseactive = false;
ClipCursor( NULL );

View File

@ -83,6 +83,7 @@ typedef struct
int lm_sample_size; // defaulting to 16 (BSP31 uses 8)
int block_size; // lightmap blocksize
color24 *deluxedata; // deluxemap data pointer
char message[2048]; // just for debug
vec3_t mins; // real accuracy world bounds
vec3_t maxs;
@ -99,7 +100,7 @@ extern int bmodel_version; // only actual during loading
// model.c
//
void Mod_Init( void );
void Mod_ClearAll( void );
void Mod_ClearAll( qboolean keep_playermodel );
void Mod_Shutdown( void );
void Mod_ClearUserData( void );
void Mod_PrintBSPFileSizes( void );

View File

@ -208,6 +208,10 @@ hull_t *Mod_HullForStudio( model_t *model, float frame, int sequence, vec3_t ang
mstudiobbox_t *phitbox;
int i, j;
ASSERT( numhitboxes );
*numhitboxes = 0; // assume error
if( mod_studiocache->integer )
{
bonecache = Mod_CheckStudioCache( model, frame, sequence, angles, origin, size, pcontroller, pblending );

View File

@ -159,6 +159,8 @@ void Mod_PrintBSPFileSizes_f( void )
Msg( "=== Total BSP file data space used: %s ===\n", Q_memprint( totalmemory ));
Msg( "World size ( %g %g %g ) units\n", world.size[0], world.size[1], world.size[2] );
Msg( "original name: ^1%s\n", worldmodel->name );
Msg( "internal name: %s\n", (world.message[0]) ? va( "^2%s", world.message ) : "none" );
}
/*
@ -546,15 +548,23 @@ void Mod_Init( void )
Mod_InitStudioHull ();
}
void Mod_ClearAll( void )
void Mod_ClearAll( qboolean keep_playermodel )
{
model_t *plr = com_models[MAX_MODELS-1];
model_t *mod;
int i;
for( i = 0; i < cm_nummodels; i++ )
Mod_FreeModel( &cm_models[i] );
for( i = 0, mod = cm_models; i < cm_nummodels; i++, mod++ )
{
if( keep_playermodel && mod == plr )
continue;
Q_memset( cm_models, 0, sizeof( cm_models ));
cm_nummodels = 0;
Mod_FreeModel( mod );
memset( mod, 0, sizeof( *mod ));
}
// g-cont. may be just leave unchanged?
if( !keep_playermodel ) cm_nummodels = 0;
}
void Mod_ClearUserData( void )
@ -567,7 +577,7 @@ void Mod_ClearUserData( void )
void Mod_Shutdown( void )
{
Mod_ClearAll();
Mod_ClearAll( false );
Mem_FreePool( &com_studiocache );
}
@ -2202,6 +2212,7 @@ static void Mod_LoadEntities( const dlump_t *l )
world.entdatasize = l->filelen;
pfile = (char *)loadmodel->entities;
world.message[0] = '\0';
wadlist.count = 0;
// parse all the wads for loading textures in right ordering
@ -2244,6 +2255,8 @@ static void Mod_LoadEntities( const dlump_t *l )
}
else if( !Q_stricmp( keyname, "mapversion" ))
world.mapversion = Q_atoi( token );
else if( !Q_stricmp( keyname, "message" ))
Q_strncpy( world.message, token, sizeof( world.message ));
}
return; // all done
}

View File

@ -1237,7 +1237,7 @@ qboolean Delta_ReadField( sizebuf_t *msg, delta_t *pField, void *from, void *to,
if( bChanged )
{
iValue = BF_ReadBitLong( msg, pField->bits, bSigned );
flValue = (float)(iValue * 0.01f);
flValue = (float)((int)(iValue * 0.01f));
flTime = timebase + flValue;
}
else

View File

@ -138,7 +138,7 @@ hull_t *PM_HullForBsp( physent_t *pe, playermove_t *pmove, float *offset )
ASSERT( hull != NULL );
// force to use hull0 because other hulls doesn't exist for water
if( pe->model->flags & MODEL_LIQUID )
if( pe->model->flags & MODEL_LIQUID && pe->solid != SOLID_TRIGGER )
hull = &pe->model->hulls[0];
// calculate an offset value to center the origin

View File

@ -292,7 +292,13 @@ void SV_MapBackground_f( void )
SV_ActivateServer ();
}
void SV_Newgame_f( void )
/*
==============
SV_NewGame_f
==============
*/
void SV_NewGame_f( void )
{
if( Cmd_Argc() != 1 )
{
@ -303,6 +309,12 @@ void SV_Newgame_f( void )
Host_NewGame( GI->startmap, false );
}
/*
==============
SV_HazardCourse_f
==============
*/
void SV_HazardCourse_f( void )
{
if( Cmd_Argc() != 1 )
@ -314,7 +326,24 @@ void SV_HazardCourse_f( void )
Host_NewGame( GI->trainmap, false );
}
void SV_Endgame_f( void )
/*
==============
SV_EndGame_f
==============
*/
void SV_EndGame_f( void )
{
Host_EndGame( Cmd_Argv( 1 ));
}
/*
==============
SV_KillGame_f
==============
*/
void SV_KillGame_f( void )
{
Host_EndGame( "The End" );
}
@ -888,8 +917,9 @@ void SV_InitOperatorCommands( void )
Cmd_AddCommand( "playersonly", SV_PlayersOnly_f, "freezes time, except for players" );
Cmd_AddCommand( "map", SV_Map_f, "start new level" );
Cmd_AddCommand( "newgame", SV_Newgame_f, "begin new game" );
Cmd_AddCommand( "killgame", SV_Endgame_f, "end current game" );
Cmd_AddCommand( "newgame", SV_NewGame_f, "begin new game" );
Cmd_AddCommand( "endgame", SV_EndGame_f, "end current game" );
Cmd_AddCommand( "killgame", SV_KillGame_f, "end current game" );
Cmd_AddCommand( "hazardcourse", SV_HazardCourse_f, "starting a Hazard Course" );
Cmd_AddCommand( "changelevel", SV_ChangeLevel_f, "changing level" );
Cmd_AddCommand( "restart", SV_Restart_f, "restarting current level" );
@ -932,6 +962,7 @@ void SV_KillOperatorCommands( void )
Cmd_RemoveCommand( "map" );
Cmd_RemoveCommand( "newgame" );
Cmd_RemoveCommand( "endgame" );
Cmd_RemoveCommand( "killgame" );
Cmd_RemoveCommand( "hazardcourse" );
Cmd_RemoveCommand( "changelevel" );

View File

@ -4021,7 +4021,7 @@ void pfnEndSection( const char *pszSection )
{
if( !Q_stricmp( "oem_end_credits", pszSection ))
Host_Credits ();
else Host_EndGame( pszSection );
else Cbuf_AddText( va( "endgame \"%s\"\n", pszSection ));
}
/*

View File

@ -531,9 +531,17 @@ qboolean SV_SpawnServer( const char *mapname, const char *startspot )
Cvar_SetFloat( "skill", (float)current_skill );
if( sv.background ) // tell the game parts about background state
if( sv.background )
{
// tell the game parts about background state
Cvar_FullSet( "sv_background", "1", CVAR_READ_ONLY );
else Cvar_FullSet( "sv_background", "0", CVAR_READ_ONLY );
Cvar_FullSet( "cl_background", "1", CVAR_READ_ONLY );
}
else
{
Cvar_FullSet( "sv_background", "0", CVAR_READ_ONLY );
Cvar_FullSet( "cl_background", "0", CVAR_READ_ONLY );
}
// make sure what server name doesn't contain path and extension
FS_FileBase( mapname, sv.name );

View File

@ -193,7 +193,7 @@ hull_t *SV_HullForBsp( edict_t *ent, const vec3_t mins, const vec3_t maxs, float
if( sv_quakehulls->integer == 1 )
{
// Using quake-style hull select for my Quake remake
if( size[0] < 3.0f || model->flags & MODEL_LIQUID )
if( size[0] < 3.0f || ( model->flags & MODEL_LIQUID && ent->v.solid != SOLID_TRIGGER ))
hull = &model->hulls[0];
else if( size[0] <= 32.0f )
hull = &model->hulls[1];
@ -208,7 +208,7 @@ hull_t *SV_HullForBsp( edict_t *ent, const vec3_t mins, const vec3_t maxs, float
}
else
{
if( size[0] <= 8.0f || model->flags & MODEL_LIQUID )
if( size[0] <= 8.0f || ( model->flags & MODEL_LIQUID && ent->v.solid != SOLID_TRIGGER ))
{
hull = &model->hulls[0];
VectorCopy( hull->clip_mins, offset );
@ -276,6 +276,7 @@ hull_t *SV_HullForStudioModel( edict_t *ent, vec3_t mins, vec3_t maxs, vec3_t of
{
int isPointTrace;
float scale = 0.5f;
hull_t *hull = NULL;
vec3_t size;
model_t *mod;
@ -333,12 +334,16 @@ hull_t *SV_HullForStudioModel( edict_t *ent, vec3_t mins, vec3_t maxs, vec3_t of
blending[0] = (byte)iBlend;
blending[1] = 0;
return Mod_HullForStudio( mod, ent->v.frame, ent->v.sequence, angles, ent->v.origin, size, controller, blending, numhitboxes, ent );
hull = Mod_HullForStudio( mod, ent->v.frame, ent->v.sequence, angles, ent->v.origin, size, controller, blending, numhitboxes, ent );
}
else
{
hull = Mod_HullForStudio( mod, ent->v.frame, ent->v.sequence, ent->v.angles, ent->v.origin, size, ent->v.controller, ent->v.blending, numhitboxes, ent );
}
return Mod_HullForStudio( mod, ent->v.frame, ent->v.sequence, ent->v.angles, ent->v.origin, size, ent->v.controller, ent->v.blending, numhitboxes, ent );
}
if( hull ) return hull;
*numhitboxes = 1;
return SV_HullForEntity( ent, mins, maxs, offset );
}

View File

@ -453,7 +453,7 @@ static void UI_PlayerSetup_Init( void )
uiPlayerSetup.showModels.generic.id = ID_SHOWMODELS;
uiPlayerSetup.showModels.generic.type = QMTYPE_CHECKBOX;
uiPlayerSetup.showModels.generic.flags = QMF_HIGHLIGHTIFFOCUS|QMF_ACT_ONRELEASE|QMF_MOUSEONLY|QMF_DROPSHADOW|addFlags;
uiPlayerSetup.showModels.generic.name = "Show Player Models";
uiPlayerSetup.showModels.generic.name = "Show 3D Preview";
uiPlayerSetup.showModels.generic.x = 72;
uiPlayerSetup.showModels.generic.y = 380;
uiPlayerSetup.showModels.generic.callback = UI_PlayerSetup_Callback;

View File

@ -422,7 +422,7 @@ char *MenuStrings[HINT_MAXSTRINGS] =
"",
"Find more about Valve's product lineup", // 400
"",
"http://www.valvesoftware.com/projects.htm",
"http://store.steampowered.com/app/70/",
"",
"",
"",