01 Sep 2018
This commit is contained in:
parent
4ff34d3c2b
commit
84b05477bd
|
@ -38,6 +38,10 @@ void UI_UpdateMenu( float realtime )
|
|||
return;
|
||||
}
|
||||
|
||||
// don't show menu while level is loaded
|
||||
if( GameState->nextstate != STATE_RUNFRAME && !GameState->loadGame )
|
||||
return;
|
||||
|
||||
// menu time (not paused, not clamped)
|
||||
gameui.globals->time = host.realtime;
|
||||
gameui.globals->frametime = host.realframetime;
|
||||
|
|
|
@ -148,6 +148,7 @@ typedef float GLmatrix[16];
|
|||
#define GL_2_BYTES 0x1407
|
||||
#define GL_3_BYTES 0x1408
|
||||
#define GL_4_BYTES 0x1409
|
||||
#define GL_HALF_FLOAT_ARB 0x140B
|
||||
|
||||
#define GL_VERTEX_ARRAY 0x8074
|
||||
#define GL_NORMAL_ARRAY 0x8075
|
||||
|
|
|
@ -610,7 +610,7 @@ static void GL_SetTextureTarget( gl_texture_t *tex, rgbdata_t *pic )
|
|||
tex->target = GL_TEXTURE_2D_ARRAY_EXT;
|
||||
else if( pic->width > 1 && pic->height > 1 && pic->depth > 1 )
|
||||
tex->target = GL_TEXTURE_3D;
|
||||
else if( FBitSet( tex->flags, TF_RECTANGLE ) && pic->width == glState.width && pic->height == glState.height )
|
||||
else if( FBitSet( tex->flags, TF_RECTANGLE ))
|
||||
tex->target = GL_TEXTURE_RECTANGLE_EXT;
|
||||
else tex->target = GL_TEXTURE_2D; // default case
|
||||
|
||||
|
@ -667,7 +667,7 @@ static void GL_SetTextureFormat( gl_texture_t *tex, pixformat_t format, int chan
|
|||
tex->format = GL_DEPTH_COMPONENT32F;
|
||||
else tex->format = GL_DEPTH_COMPONENT24;
|
||||
}
|
||||
else if( FBitSet( tex->flags, TF_ARB_FLOAT ) && GL_Support( GL_ARB_TEXTURE_FLOAT_EXT ))
|
||||
else if( FBitSet( tex->flags, TF_ARB_FLOAT|TF_ARB_16BIT ) && GL_Support( GL_ARB_TEXTURE_FLOAT_EXT ))
|
||||
{
|
||||
if( haveColor && haveAlpha )
|
||||
{
|
||||
|
@ -994,6 +994,11 @@ static void GL_TextureImageRAW( gl_texture_t *tex, GLint side, GLint level, GLin
|
|||
if( FBitSet( tex->flags, TF_DEPTHMAP ))
|
||||
inFormat = GL_DEPTH_COMPONENT;
|
||||
|
||||
if( FBitSet( tex->flags, TF_ARB_16BIT ))
|
||||
dataType = GL_HALF_FLOAT_ARB;
|
||||
else if( FBitSet( tex->flags, TF_ARB_FLOAT ))
|
||||
dataType = GL_FLOAT;
|
||||
|
||||
if( tex->target == GL_TEXTURE_1D )
|
||||
{
|
||||
if( subImage ) pglTexSubImage1D( tex->target, level, 0, width, inFormat, dataType, data );
|
||||
|
@ -1650,13 +1655,19 @@ creates texture from buffer
|
|||
*/
|
||||
int GL_CreateTexture( const char *name, int width, int height, const void *buffer, texFlags_t flags )
|
||||
{
|
||||
int datasize = 1;
|
||||
rgbdata_t r_empty;
|
||||
|
||||
if( FBitSet( flags, TF_ARB_16BIT ))
|
||||
datasize = 2;
|
||||
else if( FBitSet( flags, TF_ARB_FLOAT ))
|
||||
datasize = 4;
|
||||
|
||||
memset( &r_empty, 0, sizeof( r_empty ));
|
||||
r_empty.width = width;
|
||||
r_empty.height = height;
|
||||
r_empty.type = PF_RGBA_32;
|
||||
r_empty.size = r_empty.width * r_empty.height * 4;
|
||||
r_empty.size = r_empty.width * r_empty.height * datasize * 4;
|
||||
r_empty.buffer = (byte *)buffer;
|
||||
|
||||
// clear invalid combinations
|
||||
|
|
|
@ -1619,7 +1619,7 @@ void GL_InitCommands( void )
|
|||
gl_test = Cvar_Get( "gl_test", "0", 0, "engine developer cvar for quick testing new features" );
|
||||
gl_wireframe = Cvar_Get( "gl_wireframe", "0", FCVAR_ARCHIVE|FCVAR_SPONLY, "show wireframe overlay" );
|
||||
gl_round_down = Cvar_Get( "gl_round_down", "2", FCVAR_RENDERINFO, "round texture sizes to nearest POT value" );
|
||||
gl_msaa = Cvar_Get( "gl_msaa", "2", FCVAR_ARCHIVE, "enable multi sample anti-aliasing" );
|
||||
gl_msaa = Cvar_Get( "gl_msaa", "1", FCVAR_ARCHIVE, "enable multi sample anti-aliasing" );
|
||||
|
||||
// these cvar not used by engine but some mods requires this
|
||||
gl_polyoffset = Cvar_Get( "gl_polyoffset", "2.0", FCVAR_ARCHIVE, "polygon offset for decals" );
|
||||
|
|
|
@ -387,6 +387,7 @@ extern convar_t sv_unlagpush;
|
|||
extern convar_t sv_unlagsamples;
|
||||
extern convar_t rcon_password;
|
||||
extern convar_t sv_instancedbaseline;
|
||||
extern convar_t sv_background_freeze;
|
||||
extern convar_t sv_minupdaterate;
|
||||
extern convar_t sv_maxupdaterate;
|
||||
extern convar_t sv_downloadurl;
|
||||
|
|
|
@ -92,6 +92,7 @@ CVAR_DEFINE_AUTO( sv_skyvec_x, "0", FCVAR_MOVEVARS|FCVAR_UNLOGGED, "skylight dir
|
|||
CVAR_DEFINE_AUTO( sv_skyvec_y, "0", FCVAR_MOVEVARS|FCVAR_UNLOGGED, "skylight direction by y-axis" );
|
||||
CVAR_DEFINE_AUTO( sv_skyvec_z, "0", FCVAR_MOVEVARS|FCVAR_UNLOGGED, "skylight direction by z-axis" );
|
||||
CVAR_DEFINE_AUTO( sv_wateralpha, "1", FCVAR_MOVEVARS|FCVAR_UNLOGGED, "world surfaces water transparency factor. 1.0 - solid, 0.0 - fully transparent" );
|
||||
CVAR_DEFINE_AUTO( sv_background_freeze, "1", FCVAR_ARCHIVE, "freeze player movement on background maps (e.g. to prevent falling)" );
|
||||
CVAR_DEFINE_AUTO( showtriggers, "0", FCVAR_LATCH, "debug cvar shows triggers" );
|
||||
CVAR_DEFINE_AUTO( sv_airmove, "1", FCVAR_SERVER, "obsolete, compatibility issues" );
|
||||
CVAR_DEFINE_AUTO( sv_version, "", FCVAR_READ_ONLY, "engine version string" );
|
||||
|
@ -847,6 +848,7 @@ void SV_Init( void )
|
|||
Cvar_RegisterVariable (&violence_hgibs);
|
||||
Cvar_RegisterVariable (&mp_logecho);
|
||||
Cvar_RegisterVariable (&mp_logfile);
|
||||
Cvar_RegisterVariable (&sv_background_freeze);
|
||||
|
||||
// when we in developer-mode automatically turn cheats on
|
||||
if( host_developer.value ) Cvar_SetValue( "sv_cheats", 1.0f );
|
||||
|
|
|
@ -32,6 +32,9 @@ void SV_ClearPhysEnts( void )
|
|||
|
||||
qboolean SV_PlayerIsFrozen( edict_t *pClient )
|
||||
{
|
||||
if( sv_background_freeze.value && sv.background )
|
||||
return true;
|
||||
|
||||
if( FBitSet( host.features, ENGINE_QUAKE_COMPATIBLE ))
|
||||
return false;
|
||||
|
||||
|
|
Reference in New Issue