]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - gl_draw.c
Rename host_t -> host_static_t.
[xonotic/darkplaces.git] / gl_draw.c
index b705e4cb3821fd1c9bac04c4486af49cdd53c563..b4978abb1e4715a803a8eaae17b452c569705e4a 100644 (file)
--- a/gl_draw.c
+++ b/gl_draw.c
@@ -50,19 +50,19 @@ struct cachepic_s
 dp_fonts_t dp_fonts;
 static mempool_t *fonts_mempool = NULL;
 
-cvar_t r_textshadow = {CVAR_CLIENT | CVAR_SAVE, "r_textshadow", "0", "draws a shadow on all text to improve readability (note: value controls offset, 1 = 1 pixel, 1.5 = 1.5 pixels, etc)"};
-cvar_t r_textbrightness = {CVAR_CLIENT | CVAR_SAVE, "r_textbrightness", "0", "additional brightness for text color codes (0 keeps colors as is, 1 makes them all white)"};
-cvar_t r_textcontrast = {CVAR_CLIENT | CVAR_SAVE, "r_textcontrast", "1", "additional contrast for text color codes (1 keeps colors as is, 0 makes them all black)"};
-
-cvar_t r_font_postprocess_blur = {CVAR_CLIENT | CVAR_SAVE, "r_font_postprocess_blur", "0", "font blur amount"};
-cvar_t r_font_postprocess_outline = {CVAR_CLIENT | CVAR_SAVE, "r_font_postprocess_outline", "0", "font outline amount"};
-cvar_t r_font_postprocess_shadow_x = {CVAR_CLIENT | CVAR_SAVE, "r_font_postprocess_shadow_x", "0", "font shadow X shift amount, applied during outlining"};
-cvar_t r_font_postprocess_shadow_y = {CVAR_CLIENT | CVAR_SAVE, "r_font_postprocess_shadow_y", "0", "font shadow Y shift amount, applied during outlining"};
-cvar_t r_font_postprocess_shadow_z = {CVAR_CLIENT | CVAR_SAVE, "r_font_postprocess_shadow_z", "0", "font shadow Z shift amount, applied during blurring"};
-cvar_t r_font_hinting = {CVAR_CLIENT | CVAR_SAVE, "r_font_hinting", "3", "0 = no hinting, 1 = light autohinting, 2 = full autohinting, 3 = full hinting"};
-cvar_t r_font_antialias = {CVAR_CLIENT | CVAR_SAVE, "r_font_antialias", "1", "0 = monochrome, 1 = grey" /* , 2 = rgb, 3 = bgr" */};
-cvar_t r_nearest_2d = {CVAR_CLIENT | CVAR_SAVE, "r_nearest_2d", "0", "use nearest filtering on all 2d textures (including conchars)"};
-cvar_t r_nearest_conchars = {CVAR_CLIENT | CVAR_SAVE, "r_nearest_conchars", "0", "use nearest filtering on conchars texture"};
+cvar_t r_textshadow = {CF_CLIENT | CF_ARCHIVE, "r_textshadow", "0", "draws a shadow on all text to improve readability (note: value controls offset, 1 = 1 pixel, 1.5 = 1.5 pixels, etc)"};
+cvar_t r_textbrightness = {CF_CLIENT | CF_ARCHIVE, "r_textbrightness", "0", "additional brightness for text color codes (0 keeps colors as is, 1 makes them all white)"};
+cvar_t r_textcontrast = {CF_CLIENT | CF_ARCHIVE, "r_textcontrast", "1", "additional contrast for text color codes (1 keeps colors as is, 0 makes them all black)"};
+
+cvar_t r_font_postprocess_blur = {CF_CLIENT | CF_ARCHIVE, "r_font_postprocess_blur", "0", "font blur amount"};
+cvar_t r_font_postprocess_outline = {CF_CLIENT | CF_ARCHIVE, "r_font_postprocess_outline", "0", "font outline amount"};
+cvar_t r_font_postprocess_shadow_x = {CF_CLIENT | CF_ARCHIVE, "r_font_postprocess_shadow_x", "0", "font shadow X shift amount, applied during outlining"};
+cvar_t r_font_postprocess_shadow_y = {CF_CLIENT | CF_ARCHIVE, "r_font_postprocess_shadow_y", "0", "font shadow Y shift amount, applied during outlining"};
+cvar_t r_font_postprocess_shadow_z = {CF_CLIENT | CF_ARCHIVE, "r_font_postprocess_shadow_z", "0", "font shadow Z shift amount, applied during blurring"};
+cvar_t r_font_hinting = {CF_CLIENT | CF_ARCHIVE, "r_font_hinting", "3", "0 = no hinting, 1 = light autohinting, 2 = full autohinting, 3 = full hinting"};
+cvar_t r_font_antialias = {CF_CLIENT | CF_ARCHIVE, "r_font_antialias", "1", "0 = monochrome, 1 = grey" /* , 2 = rgb, 3 = bgr" */};
+cvar_t r_nearest_2d = {CF_CLIENT | CF_ARCHIVE, "r_nearest_2d", "0", "use nearest filtering on all 2d textures (including conchars)"};
+cvar_t r_nearest_conchars = {CF_CLIENT | CF_ARCHIVE, "r_nearest_conchars", "0", "use nearest filtering on conchars texture"};
 
 //=============================================================================
 /* Support Routines */
@@ -94,7 +94,9 @@ cachepic_t *Draw_CachePic_Flags(const char *path, unsigned int cachepicflags)
                texflags |= TEXF_MIPMAP;
        if (!(cachepicflags & CACHEPICFLAG_NOCOMPRESSION) && gl_texturecompression_2d.integer && gl_texturecompression.integer)
                texflags |= TEXF_COMPRESS;
-       if ((cachepicflags & CACHEPICFLAG_NEAREST) || r_nearest_2d.integer)
+       if (cachepicflags & CACHEPICFLAG_LINEAR)
+               texflags |= TEXF_FORCELINEAR;
+       else if ((cachepicflags & CACHEPICFLAG_NEAREST) || r_nearest_2d.integer)
                texflags |= TEXF_FORCENEAREST;
 
        // check whether the picture has already been cached
@@ -204,7 +206,7 @@ int Draw_GetPicHeight(cachepic_t *pic)
        return pic->height;
 }
 
-qboolean Draw_IsPicLoaded(cachepic_t *pic)
+qbool Draw_IsPicLoaded(cachepic_t *pic)
 {
        if (pic == NULL)
                return false;
@@ -235,9 +237,9 @@ void Draw_Frame(void)
        int i;
        cachepic_t *pic;
        static double nextpurgetime;
-       if (nextpurgetime > realtime)
+       if (nextpurgetime > host.realtime)
                return;
-       nextpurgetime = realtime + 0.05;
+       nextpurgetime = host.realtime + 0.05;
        for (i = 0, pic = cachepics;i < numcachepics;i++, pic++)
        {
                if (pic->autoload && pic->skinframe && pic->skinframe->base && pic->lastusedframe < draw_frame - 3)
@@ -265,7 +267,7 @@ cachepic_t *Draw_NewPic(const char *picname, int width, int height, unsigned cha
                if (pic->flags & CACHEPICFLAG_NEWPIC && pic->skinframe && pic->skinframe->base && pic->width == width && pic->height == height)
                {
                        Con_DPrintf("Draw_NewPic(\"%s\"): frame %i: updating texture\n", picname, draw_frame);
-                       R_UpdateTexture(pic->skinframe->base, pixels_bgra, 0, 0, 0, width, height, 1);
+                       R_UpdateTexture(pic->skinframe->base, pixels_bgra, 0, 0, 0, width, height, 1, 0);
                        R_SkinFrame_MarkUsed(pic->skinframe);
                        pic->lastusedframe = draw_frame;
                        return pic;
@@ -323,7 +325,7 @@ void Draw_FreePic(const char *picname)
 
 static float snap_to_pixel_x(float x, float roundUpAt);
 extern int con_linewidth; // to force rewrapping
-void LoadFont(qboolean override, const char *name, dp_font_t *fnt, float scale, float voffset)
+void LoadFont(qbool override, const char *name, dp_font_t *fnt, float scale, float voffset)
 {
        int i, ch;
        float maxwidth;
@@ -473,7 +475,7 @@ void LoadFont(qboolean override, const char *name, dp_font_t *fnt, float scale,
 }
 
 extern cvar_t developer_font;
-dp_font_t *FindFont(const char *title, qboolean allocate_new)
+dp_font_t *FindFont(const char *title, qbool allocate_new)
 {
        int i, oldsize;
 
@@ -670,7 +672,7 @@ static void LoadFont_f(cmd_state_t *cmd)
 
                                if (sizes == MAX_FONT_SIZES)
                                {
-                                       Con_Warnf("Warning: specified more than %i different font sizes, exceding ones are ignored\n", MAX_FONT_SIZES);
+                                       Con_Printf(CON_WARN "Warning: specified more than %i different font sizes, exceding ones are ignored\n", MAX_FONT_SIZES);
                                        sizes = -1;
                                        continue;
                                }
@@ -766,7 +768,7 @@ void GL_Draw_Init (void)
                if(!FONT_USER(i)->title[0])
                        dpsnprintf(FONT_USER(i)->title, sizeof(FONT_USER(i)->title), "user%d", j++);
 
-       Cmd_AddCommand(&cmd_client, "loadfont", LoadFont_f, "loadfont function tganame loads a font; example: loadfont console gfx/veramono; loadfont without arguments lists the available functions");
+       Cmd_AddCommand(CF_CLIENT, "loadfont", LoadFont_f, "loadfont function tganame loads a font; example: loadfont console gfx/veramono; loadfont without arguments lists the available functions");
        R_RegisterModule("GL_Draw", gl_draw_start, gl_draw_shutdown, gl_draw_newmap, NULL, NULL);
 }
 
@@ -776,11 +778,11 @@ void DrawQ_Start(void)
        R_ResetViewRendering2D_Common(0, NULL, NULL, 0, 0, vid.width, vid.height, vid_conwidth.integer, vid_conheight.integer);
 }
 
-qboolean r_draw2d_force = false;
+qbool r_draw2d_force = false;
 
 void DrawQ_Pic(float x, float y, cachepic_t *pic, float width, float height, float red, float green, float blue, float alpha, int flags)
 {
-       dp_model_t *mod = CL_Mesh_UI();
+       model_t *mod = CL_Mesh_UI();
        msurface_t *surf;
        int e0, e1, e2, e3;
        if (!pic)
@@ -808,7 +810,7 @@ void DrawQ_RotPic(float x, float y, cachepic_t *pic, float width, float height,
        float cosaf = cos(af);
        float sinar = sin(ar);
        float cosar = cos(ar);
-       dp_model_t *mod = CL_Mesh_UI();
+       model_t *mod = CL_Mesh_UI();
        msurface_t *surf;
        int e0, e1, e2, e3;
        if (!pic)
@@ -863,7 +865,7 @@ static const vec4_t string_colors[] =
 
 #define STRING_COLORS_COUNT    (sizeof(string_colors) / sizeof(vec4_t))
 
-static void DrawQ_GetTextColor(float color[4], int colorindex, float r, float g, float b, float a, qboolean shadow)
+static void DrawQ_GetTextColor(float color[4], int colorindex, float r, float g, float b, float a, qbool shadow)
 {
        float C = r_textcontrast.value;
        float B = r_textbrightness.value;
@@ -884,16 +886,38 @@ static void DrawQ_GetTextColor(float color[4], int colorindex, float r, float g,
        }
 }
 
+// returns a colorindex (format 0x1RGBA) if str is a valid RGB string
+// returns 0 otherwise
+static int RGBstring_to_colorindex(const char *str)
+{
+       Uchar ch; 
+       int ind = 0x0001 << 4;
+       do {
+               if (*str <= '9' && *str >= '0')
+                       ind |= (*str - '0');
+               else
+               {
+                       ch = tolower(*str);
+                       if (ch >= 'a' && ch <= 'f')
+                               ind |= (ch - 87);
+                       else
+                               return 0;
+               }
+               ++str;
+               ind <<= 4;
+       } while(!(ind & 0x10000));
+       return ind | 0xf; // add costant alpha value
+}
+
 // NOTE: this function always draws exactly one character if maxwidth <= 0
-float DrawQ_TextWidth_UntilWidth_TrackColors_Scale(const char *text, size_t *maxlen, float w, float h, float sw, float sh, int *outcolor, qboolean ignorecolorcodes, const dp_font_t *fnt, float maxwidth)
+float DrawQ_TextWidth_UntilWidth_TrackColors_Scale(const char *text, size_t *maxlen, float w, float h, float sw, float sh, int *outcolor, qbool ignorecolorcodes, const dp_font_t *fnt, float maxwidth)
 {
        const char *text_start = text;
-       int colorindex = STRING_COLOR_DEFAULT;
+       int colorindex;
        size_t i;
        float x = 0;
        Uchar ch, mapch, nextch;
        Uchar prevch = 0; // used for kerning
-       int tempcolorindex;
        float kx;
        int map_index = 0;
        size_t bytes_left;
@@ -902,8 +926,8 @@ float DrawQ_TextWidth_UntilWidth_TrackColors_Scale(const char *text, size_t *max
        //ft2_font_map_t *prevmap = NULL;
        ft2_font_t *ft2 = fnt->ft2;
        // float ftbase_x;
-       qboolean snap = true;
-       qboolean least_one = false;
+       qbool snap = true;
+       qbool least_one = false;
        float dw; // display w
        //float dh; // display h
        const float *width_of;
@@ -940,7 +964,7 @@ float DrawQ_TextWidth_UntilWidth_TrackColors_Scale(const char *text, size_t *max
 
        // maxwidth /= fnt->scale; // w and h are multiplied by it already
        // ftbase_x = snap_to_pixel_x(0);
-       
+
        if(maxwidth <= 0)
        {
                least_one = true;
@@ -974,7 +998,6 @@ float DrawQ_TextWidth_UntilWidth_TrackColors_Scale(const char *text, size_t *max
                        x += width_of[(int) ' '] * dw;
                        continue;
                }
-               // i points to the char after ^
                if (ch == STRING_COLOR_TAG && !ignorecolorcodes && i < *maxlen)
                {
                        ch = *text; // colors are ascii, so no u8_ needed
@@ -985,41 +1008,19 @@ float DrawQ_TextWidth_UntilWidth_TrackColors_Scale(const char *text, size_t *max
                                ++i;
                                continue;
                        }
-                       // i points to the char after ^...
-                       // i+3 points to 3 in ^x123
-                       // i+3 == *maxlen would mean that char is missing
                        else if (ch == STRING_COLOR_RGB_TAG_CHAR && i + 3 < *maxlen ) // ^x found
                        {
-                               // building colorindex...
-                               ch = tolower(text[1]);
-                               tempcolorindex = 0x10000; // binary: 1,0000,0000,0000,0000
-                               if (ch <= '9' && ch >= '0') tempcolorindex |= (ch - '0') << 12;
-                               else if (ch >= 'a' && ch <= 'f') tempcolorindex |= (ch - 87) << 12;
-                               else tempcolorindex = 0;
+                               const char *text_p = &text[1];
+                               int tempcolorindex = RGBstring_to_colorindex(text_p);
                                if (tempcolorindex)
                                {
-                                       ch = tolower(text[2]);
-                                       if (ch <= '9' && ch >= '0') tempcolorindex |= (ch - '0') << 8;
-                                       else if (ch >= 'a' && ch <= 'f') tempcolorindex |= (ch - 87) << 8;
-                                       else tempcolorindex = 0;
-                                       if (tempcolorindex)
-                                       {
-                                               ch = tolower(text[3]);
-                                               if (ch <= '9' && ch >= '0') tempcolorindex |= (ch - '0') << 4;
-                                               else if (ch >= 'a' && ch <= 'f') tempcolorindex |= (ch - 87) << 4;
-                                               else tempcolorindex = 0;
-                                               if (tempcolorindex)
-                                               {
-                                                       colorindex = tempcolorindex | 0xf;
-                                                       // ...done! now colorindex has rgba codes (1,rrrr,gggg,bbbb,aaaa)
-                                                       i+=4;
-                                                       text += 4;
-                                                       continue;
-                                               }
-                                       }
+                                       colorindex = tempcolorindex;
+                                       i+=4;
+                                       text += 4;
+                                       continue;
                                }
                        }
-                       else if (ch == STRING_COLOR_TAG) // ^^ found, ignore the first ^ and go to print the second
+                       else if (ch == STRING_COLOR_TAG) // ^^ found
                        {
                                i++;
                                text++;
@@ -1074,14 +1075,13 @@ float DrawQ_TextWidth_UntilWidth_TrackColors_Scale(const char *text, size_t *max
 }
 
 float DrawQ_Color[4];
-float DrawQ_String_Scale(float startx, float starty, const char *text, size_t maxlen, float w, float h, float sw, float sh, float basered, float basegreen, float baseblue, float basealpha, int flags, int *outcolor, qboolean ignorecolorcodes, const dp_font_t *fnt)
+float DrawQ_String_Scale(float startx, float starty, const char *text, size_t maxlen, float w, float h, float sw, float sh, float basered, float basegreen, float baseblue, float basealpha, int flags, int *outcolor, qbool ignorecolorcodes, const dp_font_t *fnt)
 {
        int shadow, colorindex = STRING_COLOR_DEFAULT;
        size_t i;
        float x = startx, y, s, t, u, v, thisw;
        Uchar ch, mapch, nextch;
        Uchar prevch = 0; // used for kerning
-       int tempcolorindex;
        int map_index = 0;
        //ft2_font_map_t *prevmap = NULL; // the previous map
        ft2_font_map_t *map = NULL;     // the currently used map
@@ -1090,12 +1090,12 @@ float DrawQ_String_Scale(float startx, float starty, const char *text, size_t ma
        const char *text_start = text;
        float kx, ky;
        ft2_font_t *ft2 = fnt->ft2;
-       qboolean snap = true;
+       qbool snap = true;
        float pix_x, pix_y;
        size_t bytes_left;
        float dw, dh;
        const float *width_of;
-       dp_model_t *mod = CL_Mesh_UI();
+       model_t *mod = CL_Mesh_UI();
        msurface_t *surf = NULL;
        int e0, e1, e2, e3;
        int tw, th;
@@ -1195,35 +1195,15 @@ float DrawQ_String_Scale(float startx, float starty, const char *text, size_t ma
                                }
                                else if (ch == STRING_COLOR_RGB_TAG_CHAR && i+3 < maxlen ) // ^x found
                                {
-                                       // building colorindex...
-                                       ch = tolower(text[1]);
-                                       tempcolorindex = 0x10000; // binary: 1,0000,0000,0000,0000
-                                       if (ch <= '9' && ch >= '0') tempcolorindex |= (ch - '0') << 12;
-                                       else if (ch >= 'a' && ch <= 'f') tempcolorindex |= (ch - 87) << 12;
-                                       else tempcolorindex = 0;
-                                       if (tempcolorindex)
+                                       const char *text_p = &text[1];
+                                       int tempcolorindex = RGBstring_to_colorindex(text_p);
+                                       if(tempcolorindex)
                                        {
-                                               ch = tolower(text[2]);
-                                               if (ch <= '9' && ch >= '0') tempcolorindex |= (ch - '0') << 8;
-                                               else if (ch >= 'a' && ch <= 'f') tempcolorindex |= (ch - 87) << 8;
-                                               else tempcolorindex = 0;
-                                               if (tempcolorindex)
-                                               {
-                                                       ch = tolower(text[3]);
-                                                       if (ch <= '9' && ch >= '0') tempcolorindex |= (ch - '0') << 4;
-                                                       else if (ch >= 'a' && ch <= 'f') tempcolorindex |= (ch - 87) << 4;
-                                                       else tempcolorindex = 0;
-                                                       if (tempcolorindex)
-                                                       {
-                                                               colorindex = tempcolorindex | 0xf;
-                                                               // ...done! now colorindex has rgba codes (1,rrrr,gggg,bbbb,aaaa)
-                                                               //Con_Printf("^1colorindex:^7 %x\n", colorindex);
-                                                               DrawQ_GetTextColor(DrawQ_Color, colorindex, basered, basegreen, baseblue, basealpha, shadow != 0);
-                                                               i+=4;
-                                                               text+=4;
-                                                               continue;
-                                                       }
-                                               }
+                                               colorindex = tempcolorindex;
+                                               DrawQ_GetTextColor(DrawQ_Color, colorindex, basered, basegreen, baseblue, basealpha, shadow != 0);
+                                               i+=4;
+                                               text+=4;
+                                               continue;
                                        }
                                }
                                else if (ch == STRING_COLOR_TAG)
@@ -1337,27 +1317,27 @@ out:
 
        if (outcolor)
                *outcolor = colorindex;
-       
+
        // note: this relies on the proper text (not shadow) being drawn last
        return x;
 }
 
-float DrawQ_String(float startx, float starty, const char *text, size_t maxlen, float w, float h, float basered, float basegreen, float baseblue, float basealpha, int flags, int *outcolor, qboolean ignorecolorcodes, const dp_font_t *fnt)
+float DrawQ_String(float startx, float starty, const char *text, size_t maxlen, float w, float h, float basered, float basegreen, float baseblue, float basealpha, int flags, int *outcolor, qbool ignorecolorcodes, const dp_font_t *fnt)
 {
        return DrawQ_String_Scale(startx, starty, text, maxlen, w, h, 1, 1, basered, basegreen, baseblue, basealpha, flags, outcolor, ignorecolorcodes, fnt);
 }
 
-float DrawQ_TextWidth_UntilWidth_TrackColors(const char *text, size_t *maxlen, float w, float h, int *outcolor, qboolean ignorecolorcodes, const dp_font_t *fnt, float maxwidth)
+float DrawQ_TextWidth_UntilWidth_TrackColors(const char *text, size_t *maxlen, float w, float h, int *outcolor, qbool ignorecolorcodes, const dp_font_t *fnt, float maxwidth)
 {
        return DrawQ_TextWidth_UntilWidth_TrackColors_Scale(text, maxlen, w, h, 1, 1, outcolor, ignorecolorcodes, fnt, maxwidth);
 }
 
-float DrawQ_TextWidth(const char *text, size_t maxlen, float w, float h, qboolean ignorecolorcodes, const dp_font_t *fnt)
+float DrawQ_TextWidth(const char *text, size_t maxlen, float w, float h, qbool ignorecolorcodes, const dp_font_t *fnt)
 {
        return DrawQ_TextWidth_UntilWidth(text, &maxlen, w, h, ignorecolorcodes, fnt, 1000000000);
 }
 
-float DrawQ_TextWidth_UntilWidth(const char *text, size_t *maxlen, float w, float h, qboolean ignorecolorcodes, const dp_font_t *fnt, float maxWidth)
+float DrawQ_TextWidth_UntilWidth(const char *text, size_t *maxlen, float w, float h, qbool ignorecolorcodes, const dp_font_t *fnt, float maxWidth)
 {
        return DrawQ_TextWidth_UntilWidth_TrackColors(text, maxlen, w, h, NULL, ignorecolorcodes, fnt, maxWidth);
 }
@@ -1365,7 +1345,7 @@ float DrawQ_TextWidth_UntilWidth(const char *text, size_t *maxlen, float w, floa
 #if 0
 // not used
 // no ^xrgb management
-static int DrawQ_BuildColoredText(char *output2c, size_t maxoutchars, const char *text, int maxreadchars, qboolean ignorecolorcodes, int *outcolor)
+static int DrawQ_BuildColoredText(char *output2c, size_t maxoutchars, const char *text, int maxreadchars, qbool ignorecolorcodes, int *outcolor)
 {
        int color, numchars = 0;
        char *outputend2c = output2c + maxoutchars - 2;
@@ -1404,7 +1384,7 @@ static int DrawQ_BuildColoredText(char *output2c, size_t maxoutchars, const char
 
 void DrawQ_SuperPic(float x, float y, cachepic_t *pic, float width, float height, float s1, float t1, float r1, float g1, float b1, float a1, float s2, float t2, float r2, float g2, float b2, float a2, float s3, float t3, float r3, float g3, float b3, float a3, float s4, float t4, float r4, float g4, float b4, float a4, int flags)
 {
-       dp_model_t *mod = CL_Mesh_UI();
+       model_t *mod = CL_Mesh_UI();
        msurface_t *surf;
        int e0, e1, e2, e3;
        if (!pic)
@@ -1426,7 +1406,7 @@ void DrawQ_SuperPic(float x, float y, cachepic_t *pic, float width, float height
 
 void DrawQ_Line (float width, float x1, float y1, float x2, float y2, float r, float g, float b, float alpha, int flags)
 {
-       dp_model_t *mod = CL_Mesh_UI();
+       model_t *mod = CL_Mesh_UI();
        msurface_t *surf;
        int e0, e1, e2, e3;
        float offsetx, offsety;
@@ -1493,7 +1473,7 @@ void DrawQ_RecalcView(void)
 
 void DrawQ_FlushUI(void)
 {
-       dp_model_t *mod = CL_Mesh_UI();
+       model_t *mod = CL_Mesh_UI();
        if (mod->num_surfaces == 0)
                return;
 
@@ -1503,7 +1483,7 @@ void DrawQ_FlushUI(void)
                return;
        }
 
-       // this is roughly equivalent to R_Q1BSP_Draw, so the UI can use full material feature set
+       // this is roughly equivalent to R_Mod_Draw, so the UI can use full material feature set
        r_refdef.view.colorscale = 1;
        r_textureframe++; // used only by R_GetCurrentTexture
        GL_DepthMask(false);