aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorthilo <thilo@edf5b092-35ff-0310-97b2-ce42778d08ea>2006-04-30 14:32:56 +0000
committerthilo <thilo@edf5b092-35ff-0310-97b2-ce42778d08ea>2006-04-30 14:32:56 +0000
commitb27fc8e5d87eb934a1ac50f2fae03ec19885f581 (patch)
tree09844ce201d477fb4f1e501b6c4b62a76607463c
parent4b4572ff69c7c54f38186d344d37b28f25d47d01 (diff)
downloadioquake3-aero-b27fc8e5d87eb934a1ac50f2fae03ec19885f581.tar.gz
ioquake3-aero-b27fc8e5d87eb934a1ac50f2fae03ec19885f581.zip
- Fixed incompatibility to original VMs introduced by anisotropic filtering patch.
- Removed dependency of flares from tr.identityLight because they are barely visible with r_overbrightbits set to 1 git-svn-id: svn://svn.icculus.org/quake3/trunk@734 edf5b092-35ff-0310-97b2-ce42778d08ea
-rw-r--r--code/renderer/tr_flares.c2
-rw-r--r--code/renderer/tr_image.c6
-rw-r--r--code/renderer/tr_init.c3
-rw-r--r--code/renderer/tr_local.h6
-rw-r--r--code/unix/linux_glimp.c12
-rw-r--r--code/unix/sdl_glimp.c12
-rw-r--r--code/win32/win_glimp.c12
7 files changed, 31 insertions, 22 deletions
diff --git a/code/renderer/tr_flares.c b/code/renderer/tr_flares.c
index 89a959c..0e650f2 100644
--- a/code/renderer/tr_flares.c
+++ b/code/renderer/tr_flares.c
@@ -351,7 +351,7 @@ void RB_RenderFlare( flare_t *f ) {
intensity = flareCoeff * size * size / (factor * factor);
- VectorScale(f->color, f->drawIntensity * tr.identityLight * intensity, color);
+ VectorScale(f->color, f->drawIntensity * intensity, color);
// Calculations for fogging
if(tr.world && f->fogNum < tr.world->numfogs)
diff --git a/code/renderer/tr_image.c b/code/renderer/tr_image.c
index 88d0ec2..d97a42a 100644
--- a/code/renderer/tr_image.c
+++ b/code/renderer/tr_image.c
@@ -699,16 +699,16 @@ done:
if (mipmap)
{
- if ( glConfig.textureFilterAnisotropic )
+ if ( textureFilterAnisotropic )
qglTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT,
- (GLint)Com_Clamp( 1, glConfig.maxAnisotropy, r_ext_max_anisotropy->integer ) );
+ (GLint)Com_Clamp( 1, maxAnisotropy, r_ext_max_anisotropy->integer ) );
qglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, gl_filter_min);
qglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, gl_filter_max);
}
else
{
- if ( glConfig.textureFilterAnisotropic )
+ if ( textureFilterAnisotropic )
qglTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, 1 );
qglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
diff --git a/code/renderer/tr_init.c b/code/renderer/tr_init.c
index 7300978..b13d9d4 100644
--- a/code/renderer/tr_init.c
+++ b/code/renderer/tr_init.c
@@ -24,6 +24,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#include "tr_local.h"
glconfig_t glConfig;
+qboolean textureFilterAnisotropic = qfalse;
+int maxAnisotropy = 0;
+
glstate_t glState;
static void GfxInfo_f( void );
diff --git a/code/renderer/tr_local.h b/code/renderer/tr_local.h
index 6fe7ee9..d68e79c 100644
--- a/code/renderer/tr_local.h
+++ b/code/renderer/tr_local.h
@@ -970,6 +970,12 @@ extern trGlobals_t tr;
extern glconfig_t glConfig; // outside of TR since it shouldn't be cleared during ref re-init
extern glstate_t glState; // outside of TR since it shouldn't be cleared during ref re-init
+// These two variables should live inside glConfig but can't because of compatibility issues to the original ID vms.
+// If you release a stand-alone game and your mod uses tr_types.h from this build you can safely move them to
+// the glconfig_t struct.
+extern qboolean textureFilterAnisotropic;
+extern int maxAnisotropy;
+
//
// cvars
diff --git a/code/unix/linux_glimp.c b/code/unix/linux_glimp.c
index 16a0eda..b52bf17 100644
--- a/code/unix/linux_glimp.c
+++ b/code/unix/linux_glimp.c
@@ -1323,19 +1323,19 @@ static void GLW_InitExtensions( void )
ri.Printf( PRINT_ALL, "...GL_EXT_compiled_vertex_array not found\n" );
}
- glConfig.textureFilterAnisotropic = qfalse;
+ textureFilterAnisotropic = qfalse;
if ( strstr( glConfig.extensions_string, "GL_EXT_texture_filter_anisotropic" ) )
{
if ( r_ext_texture_filter_anisotropic->integer ) {
- qglGetIntegerv( GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &glConfig.maxAnisotropy );
- if ( glConfig.maxAnisotropy <= 0 ) {
+ qglGetIntegerv( GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &maxAnisotropy );
+ if ( maxAnisotropy <= 0 ) {
ri.Printf( PRINT_ALL, "...GL_EXT_texture_filter_anisotropic not properly supported!\n" );
- glConfig.maxAnisotropy = 0;
+ maxAnisotropy = 0;
}
else
{
- ri.Printf( PRINT_ALL, "...using GL_EXT_texture_filter_anisotropic (max: %i)\n", glConfig.maxAnisotropy );
- glConfig.textureFilterAnisotropic = qtrue;
+ ri.Printf( PRINT_ALL, "...using GL_EXT_texture_filter_anisotropic (max: %i)\n", maxAnisotropy );
+ textureFilterAnisotropic = qtrue;
}
}
else
diff --git a/code/unix/sdl_glimp.c b/code/unix/sdl_glimp.c
index bd0f330..adf5dc3 100644
--- a/code/unix/sdl_glimp.c
+++ b/code/unix/sdl_glimp.c
@@ -827,19 +827,19 @@ static void GLW_InitExtensions( void )
ri.Printf( PRINT_ALL, "...GL_EXT_compiled_vertex_array not found\n" );
}
- glConfig.textureFilterAnisotropic = qfalse;
+ textureFilterAnisotropic = qfalse;
if ( strstr( glConfig.extensions_string, "GL_EXT_texture_filter_anisotropic" ) )
{
if ( r_ext_texture_filter_anisotropic->integer ) {
- qglGetIntegerv( GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &glConfig.maxAnisotropy );
- if ( glConfig.maxAnisotropy <= 0 ) {
+ qglGetIntegerv( GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &maxAnisotropy );
+ if ( maxAnisotropy <= 0 ) {
ri.Printf( PRINT_ALL, "...GL_EXT_texture_filter_anisotropic not properly supported!\n" );
- glConfig.maxAnisotropy = 0;
+ maxAnisotropy = 0;
}
else
{
- ri.Printf( PRINT_ALL, "...using GL_EXT_texture_filter_anisotropic (max: %i)\n", glConfig.maxAnisotropy );
- glConfig.textureFilterAnisotropic = qtrue;
+ ri.Printf( PRINT_ALL, "...using GL_EXT_texture_filter_anisotropic (max: %i)\n", maxAnisotropy );
+ textureFilterAnisotropic = qtrue;
}
}
else
diff --git a/code/win32/win_glimp.c b/code/win32/win_glimp.c
index f9b1289..460d868 100644
--- a/code/win32/win_glimp.c
+++ b/code/win32/win_glimp.c
@@ -1112,19 +1112,19 @@ static void GLW_InitExtensions( void )
ri.Printf( PRINT_ALL, "...WGL_3DFX_gamma_control not found\n" );
}
- glConfig.textureFilterAnisotropic = qfalse;
+ textureFilterAnisotropic = qfalse;
if ( strstr( glConfig.extensions_string, "GL_EXT_texture_filter_anisotropic" ) )
{
if ( r_ext_texture_filter_anisotropic->integer ) {
- qglGetIntegerv( GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &glConfig.maxAnisotropy );
- if ( glConfig.maxAnisotropy <= 0 ) {
+ qglGetIntegerv( GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &maxAnisotropy );
+ if ( maxAnisotropy <= 0 ) {
ri.Printf( PRINT_ALL, "...GL_EXT_texture_filter_anisotropic not properly supported!\n" );
- glConfig.maxAnisotropy = 0;
+ maxAnisotropy = 0;
}
else
{
- ri.Printf( PRINT_ALL, "...using GL_EXT_texture_filter_anisotropic (max: %i)\n", glConfig.maxAnisotropy );
- glConfig.textureFilterAnisotropic = qtrue;
+ ri.Printf( PRINT_ALL, "...using GL_EXT_texture_filter_anisotropic (max: %i)\n", maxAnisotropy );
+ textureFilterAnisotropic = qtrue;
}
}
else