void RenderTextured(unsigned int offset, unsigned char *data, vector3d obj_center) { BSP_BlockHeader blkhdr; unsigned char *curpos = data + offset; blkhdr.Read((char *) curpos); #if defined(__BSP_DEBUG_DRAWNORMS_) BSP_TmapPoly tpoly; tpoly.Read((char *) curpos + blkhdr.MySize(), blkhdr); // just rendering a point a line along the norm for now - just need center and normal glColor3f(0.5, 0.5, 1.0); vector3d point = POFTranslate(tpoly.center); vector3d norm = point+(POFTranslate(tpoly.normal)*5); glBegin(GL_POINTS); glVertex3fv((float *)&point); glEnd(); glBegin(GL_LINE_STRIP); glVertex3fv((float *)&point); glVertex3fv((float *)&norm); glEnd(); // tail recurse tpoly.Destroy(); #endif RenderBSP(offset + blkhdr.size, data, obj_center); }