X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=cl_screen.h;h=da063b8d8e24694604049e34eaf421de39a4ca58;hb=d29554dafc154fd3595745269a79aaf8e4d10387;hp=42575f0341028cc75850d516524ff7b78aec73cd;hpb=0256e57e16a302ad45090618b8d6eb5930788809;p=xonotic%2Fdarkplaces.git diff --git a/cl_screen.h b/cl_screen.h index 42575f03..da063b8d 100644 --- a/cl_screen.h +++ b/cl_screen.h @@ -3,10 +3,9 @@ #define CL_SCREEN_H // drawqueue stuff for use by client to feed 2D art to renderer -#define MAX_DRAWQUEUE 262144 - #define DRAWQUEUE_PIC 0 #define DRAWQUEUE_STRING 1 +#define DRAWQUEUE_MESH 2 typedef struct drawqueue_s { @@ -17,14 +16,31 @@ typedef struct drawqueue_s } drawqueue_t; +// a triangle mesh... embedded in the drawqueue +typedef struct drawqueuemesh_s +{ + rtexture_t *texture; + int numindices; + int numvertices; + int *indices; + float *vertices; + float *texcoords; + qbyte *colors; +} +drawqueuemesh_t; + #define DRAWFLAG_ADDITIVE 1 +// clear the draw queue void DrawQ_Clear(void); +// draw an image void DrawQ_Pic(float x, float y, char *picname, float width, float height, float red, float green, float blue, float alpha, int flags); +// draw a text string void DrawQ_String(float x, float y, char *string, int maxlen, float scalex, float scaley, float red, float green, float blue, float alpha, int flags); +// draw a filled rectangle void DrawQ_Fill (float x, float y, float w, float h, float red, float green, float blue, float alpha, int flags); -// only used for player config menu -void DrawQ_PicTranslate (int x, int y, char *picname, qbyte *translation); +// draw a triangle mesh +void DrawQ_Mesh (drawqueuemesh_t *mesh, int flags); void SHOWLMP_decodehide(void); void SHOWLMP_decodeshow(void);