i worked out something for opengl, but i want the other stuff committed before i test it out
edit: 1/8/03 -- updated code
in gr_opengl_tmapper_internal()
...
	int bitmapidx=gr_screen.current_bitmap % MAX_BITMAPS;
	int do_glow=(GLOWMAP[bitmapidx] > 0);
...
	if ( flags & TMAP_FLAG_TEXTURED )       {
		if (do_glow)
		{
			//mprintf(("rendering a glow texture %s\n", bm_get_filename(GLOWMAP[bitmapidx])));
			glPushAttrib(GL_TEXTURE_BIT);
			glActiveTextureARB(GL_TEXTURE0_ARB);		//texture is bound in gr_opengl_tcache_set
			glEnable(GL_TEXTURE_2D);
			texture_source=TEXTURE_SOURCE_DECAL;
		}
		if ( !gr_tcache_set(gr_screen.current_bitmap, tmap_type, &u_scale, &v_scale, 0, gr_screen.current_bitmap_sx, gr_screen.current_bitmap_sy ))
		{
			mprintf(( "Not rendering a texture because it didn't fit in VRAM!\n" ));
			return;
		}
		if (do_glow)
		{
			gr_opengl_set_state(texture_source, alpha_blend, zbuffer_type);
			gr_set_bitmap(GLOWMAP[bitmapidx], GR_ALPHABLEND_FILTER, GR_BITBLT_MODE_NORMAL, 0.0f);
			glActiveTextureARB(GL_TEXTURE1_ARB);
			glEnable(GL_TEXTURE_2D);
			texture_source=TEXTURE_SOURCE_ADD;
			//texture is bound in gr_opengl_tcache_set
			if ( !gr_tcache_set(gr_screen.current_bitmap, tmap_type, &u_scale, &v_scale, 0, gr_screen.current_bitmap_sx, gr_screen.current_bitmap_sy ))
			{
				mprintf(( "Not rendering a texture because it didn't fit in VRAM!\n" ));
				return;
			}
			gr_opengl_set_state(texture_source, alpha_blend, zbuffer_type);
		}
	...
if ( flags & TMAP_FLAG_TEXTURED )       {
			tu = va->u*u_scale;
			tv = va->v*v_scale;
			if (do_glow)
			{
				//use opengl hardware multitexturing
				glMultiTexCoord2fARB(GL_TEXTURE0_ARB,tu,tv);
				glMultiTexCoord2fARB(GL_TEXTURE1_ARB,tu,tv);
			}
			else
			{
				glTexCoord2f(tu, tv);
			}
		}
in read_model_file()
fixed bounding errors
...
					strcat( tmp_name, "-glow");
					int glow_idx=pm->textures[i] % MAX_BITMAPS;
					mprintf(("looking for glow map %s\n", tmp_name));
					GLOWMAP[glow_idx]=bm_load( tmp_name ); //see if there is one 
					if(GLOWMAP[glow_idx]!=-1){//then fill it into the array
						mprintf(("texture '%s' has a glow map, %d, assosiated with it, isn't that nice\n", tmp_name, GLOWMAP[glow_idx]));
						bm_lock((GLOWMAP[glow_idx]), 8, BMP_AABITMAP);
						bm_unlock((GLOWMAP[glow_idx]));
					}