mirror of
https://github.com/nzp-team/fteqw.git
synced 2025-02-16 17:01:44 +00:00
Add XRandR support. Disabled by default, for now.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5146 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
a08564bbb3
commit
8dfa6ccbe6
6 changed files with 719 additions and 151 deletions
|
@ -47,27 +47,6 @@ void RSpeedShow(void)
|
|||
|
||||
memset(RSpNames, 0, sizeof(RSpNames));
|
||||
|
||||
RSPEED_TOTALREFRESH,
|
||||
RSPEED_CSQCPHYSICS,
|
||||
RSPEED_CSQCREDRAW,
|
||||
RSPEED_LINKENTITIES,
|
||||
RSPEED_WORLDNODE,
|
||||
RSPEED_DYNAMIC,
|
||||
RSPEED_OPAQUE,
|
||||
RSPEED_RTLIGHTS,
|
||||
RSPEED_TRANSPARENTS,
|
||||
RSPEED_PROTOCOL,
|
||||
RSPEED_PARTICLES,
|
||||
RSPEED_PARTICLESDRAW,
|
||||
RSPEED_PALETTEFLASHES,
|
||||
RSPEED_2D,
|
||||
RSPEED_SERVER,
|
||||
RSPEED_SETUP,
|
||||
RSPEED_SUBMIT,
|
||||
RSPEED_PRESENT,
|
||||
RSPEED_ACQUIRE,
|
||||
|
||||
|
||||
RSpNames[RSPEED_TOTALREFRESH] = "Total refresh";
|
||||
RSpNames[RSPEED_CSQCPHYSICS] = " CSQC Physics";
|
||||
RSpNames[RSPEED_CSQCREDRAW] = " CSQC Drawing";
|
||||
|
@ -3350,4 +3329,4 @@ void SCR_DeInit (void)
|
|||
Cmd_RemoveCommand ("sizeup");
|
||||
Cmd_RemoveCommand ("sizedown");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4772,7 +4772,6 @@ static void Image_LoadHiResTextureWorker(void *ctx, void *data, size_t a, size_t
|
|||
//the exception is single-file dds cubemaps, but we don't support those.
|
||||
for(altname = tex->ident;altname;altname = nextalt)
|
||||
{
|
||||
char *prefixes[] = {"textures/", "", NULL};
|
||||
struct pendingtextureinfo *mips;
|
||||
|
||||
nextalt = strchr(altname, ':');
|
||||
|
|
|
@ -89,8 +89,8 @@ cvar_t gl_nocolors = CVARF ("gl_nocolors", "0", CVAR_ARCHIVE);
|
|||
cvar_t gl_part_flame = CVARFD ("gl_part_flame", "1", CVAR_ARCHIVE, "Enable particle emitting from models. Mainly used for torch and flame effects.");
|
||||
|
||||
//opengl library, blank means try default.
|
||||
static cvar_t gl_driver = CVARF ("gl_driver", "",
|
||||
CVAR_ARCHIVE | CVAR_RENDERERLATCH);
|
||||
static cvar_t gl_driver = CVARFD ("gl_driver", "", CVAR_ARCHIVE | CVAR_RENDERERLATCH, "Specifies the graphics driver name to load. This is typically a filename. Blank for default.");
|
||||
static cvar_t vid_devicename = CVARFD ("vid_devicename", "", CVAR_ARCHIVE | CVAR_RENDERERLATCH, "Specifies which video device to try to use. If blank or invalid then one will be guessed.");
|
||||
cvar_t gl_shadeq1_name = CVARD ("gl_shadeq1_name", "*", "Rename all surfaces from quake1 bsps using this pattern for the purposes of shader names.");
|
||||
extern cvar_t r_vertexlight;
|
||||
extern cvar_t r_forceprogramify;
|
||||
|
@ -730,7 +730,8 @@ void Renderer_Init(void)
|
|||
Cvar_Register (&r_novis, GLRENDEREROPTIONS);
|
||||
|
||||
//but register ALL vid_ commands.
|
||||
Cvar_Register (&gl_driver, GLRENDEREROPTIONS);
|
||||
Cvar_Register (&gl_driver, VIDCOMMANDGROUP);
|
||||
Cvar_Register (&vid_devicename, VIDCOMMANDGROUP);
|
||||
Cvar_Register (&vid_vsync, VIDCOMMANDGROUP);
|
||||
Cvar_Register (&vid_wndalpha, VIDCOMMANDGROUP);
|
||||
#if defined(_WIN32) && defined(MULTITHREAD)
|
||||
|
@ -1789,7 +1790,13 @@ qboolean R_BuildRenderstate(rendererstate_t *newr, char *rendererstring)
|
|||
if (*com_token)
|
||||
Q_strncpyz(newr->subrenderer, com_token, sizeof(newr->subrenderer));
|
||||
else if (newr->renderer && newr->renderer->rtype == QR_OPENGL)
|
||||
{
|
||||
Q_strncpyz(newr->subrenderer, gl_driver.string, sizeof(newr->subrenderer));
|
||||
if (strchr(newr->subrenderer, '/') || strchr(newr->subrenderer, '\\'))
|
||||
*newr->subrenderer = 0; //don't allow this to contain paths. that would be too exploitable - this often takes the form of dll/so names.
|
||||
}
|
||||
|
||||
Q_strncpyz(newr->devicename, vid_devicename.string, sizeof(newr->devicename));
|
||||
|
||||
// use desktop settings if set to 0 and not dedicated
|
||||
if (newr->renderer && newr->renderer->rtype != QR_NONE)
|
||||
|
|
|
@ -52,6 +52,7 @@ typedef struct {
|
|||
int multisample; //for opengl antialiasing (which requires context stuff)
|
||||
int triplebuffer;
|
||||
char subrenderer[MAX_QPATH];
|
||||
char devicename[MAX_QPATH];
|
||||
struct rendererinfo_s *renderer;
|
||||
} rendererstate_t;
|
||||
#ifndef SERVERONLY
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -77,7 +77,7 @@ void R_SetSky(const char *sky)
|
|||
tex.reflectcube = R_LoadHiResTexture(sky, "env:gfx/env", IF_LOADNOW|IF_CUBEMAP|IF_CLAMP);
|
||||
if (tex.reflectcube->width)
|
||||
{
|
||||
forcedsky = R_RegisterShader(va("skybox_%s", sky), 0, va("{\nsort sky\nprogram defaultskybox\n{\nmap \"$cube:$reflectcube\"\ntcgen skybox\n}\nsurfaceparms nodlight\nsurfaceparms sky\n}", sky));
|
||||
forcedsky = R_RegisterShader(va("skybox_%s", sky), 0, "{\nsort sky\nprogram defaultskybox\n{\nmap \"$cube:$reflectcube\"\ntcgen skybox\n}\nsurfaceparms nodlight\nsurfaceparms sky\n}");
|
||||
R_BuildDefaultTexnums(&tex, forcedsky);
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue