}
cachepic_t;
+typedef enum cachepicflags_e
+{
+ CACHEPICFLAG_NOTPERSISTENT = 1,
+ CACHEPICFLAG_QUIET = 2,
+ CACHEPICFLAG_NOCOMPRESSION = 4,
+ CACHEPICFLAG_NOCLAMP = 8,
+}
+cachepicflags_t;
+
void Draw_Init (void);
-cachepic_t *Draw_CachePic (const char *path, qboolean persistent);
+cachepic_t *Draw_CachePic_Flags (const char *path, unsigned int cachepicflags);
+cachepic_t *Draw_CachePic (const char *path); // standard function with no options, used throughout engine
// create or update a pic's image
cachepic_t *Draw_NewPic(const char *picname, int width, int height, int alpha, unsigned char *pixels);
// free the texture memory used by a pic
rtexture_t *texture;
int num_triangles;
int num_vertices;
- int *data_element3i;
+ unsigned short *data_element3s;
float *data_vertex3f;
float *data_texcoord2f;
float *data_color4f;
DRAWFLAG_ADDITIVE,
DRAWFLAG_MODULATE,
DRAWFLAG_2XMODULATE,
-DRAWFLAG_NUMFLAGS
+DRAWFLAG_SCREEN,
+DRAWFLAG_NUMFLAGS,
+DRAWFLAG_MASK = 0xFF, // ONLY R_BeginPolygon()
+DRAWFLAG_MIPMAP = 0x100 // ONLY R_BeginPolygon()
};
typedef struct dp_font_s
{
rtexture_t *tex;
- float width_of[256]; // width_of[0] == max width of any char; 1.0f is base width (1/16 of texture width); therefore, all widths have to be <= 1
+ float width_of[256]; // width_of[0] == max width of any char; 1.0f is base width (1/16 of texture width); therefore, all widths have to be <= 1 (does not include scale)
+ float maxwidth; // precalculated max width of the font (includes scale)
+ float scale; // scales the font (without changing line height!)
char texpath[MAX_QPATH];
char title[MAX_QPATH];
}
#define STRING_COLOR_TAG '^'
#define STRING_COLOR_DEFAULT 7
#define STRING_COLOR_DEFAULT_STR "^7"
+#define STRING_COLOR_RGB_TAG_CHAR 'x'
+#define STRING_COLOR_RGB_TAG "^x"
// all of these functions will set r_defdef.draw2dstage if not in 2D rendering mode (and of course prepare for 2D rendering in that case)