summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorZack Middleton <zturtleman@gmail.com>2014-07-25 23:34:29 -0500
committerTim Angus <tim@ngus.net>2014-08-28 11:13:04 +0100
commitd962e634e350c553fa4b8df380c40bc27c005ce8 (patch)
tree6c9194c834432e96dc389e651e4a7f7a3047acf3 /src
parenteb26d7c10d8f6dfecc114963c428f064ca69c551 (diff)
Don't load external GLSL files by default
External GLSL should probably only be used for development testing, not released products. The GLSL files are tied to the code, and the code changes some what often. Fixes using OpenArena 0.8.8 which has incompatible GLSL files in a pk3.
Diffstat (limited to 'src')
-rw-r--r--src/renderergl2/tr_glsl.c14
-rw-r--r--src/renderergl2/tr_init.c4
-rw-r--r--src/renderergl2/tr_local.h2
3 files changed, 16 insertions, 4 deletions
diff --git a/src/renderergl2/tr_glsl.c b/src/renderergl2/tr_glsl.c
index 58a00e6e..ed078ddf 100644
--- a/src/renderergl2/tr_glsl.c
+++ b/src/renderergl2/tr_glsl.c
@@ -400,24 +400,30 @@ static int GLSL_LoadGPUShaderText(const char *name, const char *fallback,
Com_sprintf(filename, sizeof(filename), "glsl/%s_fp.glsl", name);
}
- ri.Printf(PRINT_DEVELOPER, "...loading '%s'\n", filename);
- size = ri.FS_ReadFile(filename, (void **)&buffer);
+ if ( r_externalGLSL->integer ) {
+ size = ri.FS_ReadFile(filename, (void **)&buffer);
+ } else {
+ size = 0;
+ buffer = NULL;
+ }
+
if(!buffer)
{
if (fallback)
{
- ri.Printf(PRINT_DEVELOPER, "couldn't load, using fallback\n");
+ ri.Printf(PRINT_DEVELOPER, "...loading built-in '%s'\n", filename);
shaderText = fallback;
size = strlen(shaderText);
}
else
{
- ri.Printf(PRINT_DEVELOPER, "couldn't load!\n");
+ ri.Printf(PRINT_DEVELOPER, "couldn't load '%s'\n", filename);
return 0;
}
}
else
{
+ ri.Printf(PRINT_DEVELOPER, "...loading '%s'\n", filename);
shaderText = buffer;
}
diff --git a/src/renderergl2/tr_init.c b/src/renderergl2/tr_init.c
index f0f56616..51cd3b47 100644
--- a/src/renderergl2/tr_init.c
+++ b/src/renderergl2/tr_init.c
@@ -109,6 +109,8 @@ cvar_t *r_mergeLeafSurfaces;
cvar_t *r_cameraExposure;
+cvar_t *r_externalGLSL;
+
cvar_t *r_hdr;
cvar_t *r_floatLightmap;
cvar_t *r_postProcess;
@@ -1094,6 +1096,8 @@ void R_Register( void )
r_greyscale = ri.Cvar_Get("r_greyscale", "0", CVAR_ARCHIVE | CVAR_LATCH);
ri.Cvar_CheckRange(r_greyscale, 0, 1, qfalse);
+ r_externalGLSL = ri.Cvar_Get( "r_externalGLSL", "0", CVAR_LATCH );
+
r_hdr = ri.Cvar_Get( "r_hdr", "1", CVAR_ARCHIVE | CVAR_LATCH );
r_floatLightmap = ri.Cvar_Get( "r_floatLightmap", "0", CVAR_ARCHIVE | CVAR_LATCH );
r_postProcess = ri.Cvar_Get( "r_postProcess", "1", CVAR_ARCHIVE );
diff --git a/src/renderergl2/tr_local.h b/src/renderergl2/tr_local.h
index bc3a28ed..6ade112d 100644
--- a/src/renderergl2/tr_local.h
+++ b/src/renderergl2/tr_local.h
@@ -1768,6 +1768,8 @@ extern cvar_t *r_anaglyphMode;
extern cvar_t *r_mergeMultidraws;
extern cvar_t *r_mergeLeafSurfaces;
+extern cvar_t *r_externalGLSL;
+
extern cvar_t *r_hdr;
extern cvar_t *r_floatLightmap;
extern cvar_t *r_postProcess;