Index: src/renderer/r_state.c =================================================================== --- src/renderer/r_state.c (Revision 15634) +++ src/renderer/r_state.c (Arbeitskopie) @@ -39,6 +39,10 @@ if (texunit == r_state.active_texunit) return; + /* not supported */ + if (texunit->texture >= r_config.maxTextureUnits + GL_TEXTURE0_ARB) + return; + r_state.active_texunit = texunit; qglActiveTexture(texunit->texture); @@ -418,6 +422,8 @@ r_state.texture_texunit.texture = GL_TEXTURE0_ARB; r_state.lightmap_texunit.texture = GL_TEXTURE1_ARB; + r_state.third_texunit.texture = GL_TEXTURE2_ARB; + r_state.fourth_texunit.texture = GL_TEXTURE3_ARB; R_SelectTexture(&r_state.texture_texunit); Index: src/renderer/r_state.h =================================================================== --- src/renderer/r_state.h (Revision 15634) +++ src/renderer/r_state.h (Arbeitskopie) @@ -50,7 +50,9 @@ /* multitexture texunits */ gltexunit_t texture_texunit; - gltexunit_t lightmap_texunit; + gltexunit_t lightmap_texunit; /**< e.g. used for lightmaps in the battlescape */ + gltexunit_t third_texunit; + gltexunit_t fourth_texunit; /* texunit in use */ gltexunit_t *active_texunit;