01 Sep 2018

This commit is contained in:
g-cont 2018-09-01 00:00:00 +03:00 committed by Alibek Omarov
parent 4ff34d3c2b
commit 84b05477bd
7 changed files with 26 additions and 4 deletions

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -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" );

View File

@ -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;

View File

@ -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 );

View File

@ -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;