diff --git a/code/renderer_oa/tr_image.c b/code/renderer_oa/tr_image.c index a3c22d9e..7571392c 100644 --- a/code/renderer_oa/tr_image.c +++ b/code/renderer_oa/tr_image.c @@ -1214,7 +1214,7 @@ static void Upload32( unsigned *data, // // perform optional picmip operation // - if ( picmip ) { + if ( picmip && !detailhack ) { scaled_width >>= r_picmip->integer; scaled_height >>= r_picmip->integer; } diff --git a/code/renderer_oa/tr_shader.c b/code/renderer_oa/tr_shader.c index aa2a657c..ea70bdac 100644 --- a/code/renderer_oa/tr_shader.c +++ b/code/renderer_oa/tr_shader.c @@ -39,6 +39,8 @@ static char **shaderTextHashTable[MAX_SHADERTEXT_HASH]; extern cvar_t *r_mockvr; +extern int detailhack; + /* ================ return a hash value for the filename @@ -5379,6 +5381,7 @@ shader_t *R_FindShaderReal( const char *name, int lightmapIndex, qboolean mipRaw wi = 0.25 * (f + 1) * wi / detailScale; hi = 0.25 * (f + 1) * hi / detailScale; + detailhack = 1; if (material == 1) // metalsteps stages[thisstage].bundle[0].image[0] = R_FindImageFile( "gfx/fx/detail/d_genericmetal.tga", IMGFLAG_MIPMAP , IMGFLAG_MIPMAP); else if (hasaDetailImage && imageDetail) @@ -5393,6 +5396,7 @@ shader_t *R_FindShaderReal( const char *name, int lightmapIndex, qboolean mipRaw stages[thisstage].bundle[0].texMods[0].type = TMOD_SCALE; stages[thisstage].isDetail = qtrue; stages[thisstage].bundle[0].numTexMods = 1; + detailhack = 0; }