This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
// draw.h -- these are the only functions outside the refresh allowed
// to touch the vid buffer
-extern qpic_t *draw_disc; // also used on sbar
+#ifndef DRAW_H
+#define DRAW_H
+
+// FIXME: move this stuff to cl_screen
+typedef struct cachepic_s
+{
+ // size of pic
+ int width, height;
+ // renderer texture to use
+ rtexture_t *tex;
+ // used for hash lookups
+ struct cachepic_s *chain;
+ // name of pic
+ char name[MAX_QPATH];
+}
+cachepic_t;
void Draw_Init (void);
-void Draw_Character (int x, int y, int num);
-void Draw_GenericPic (int texnum, float red, float green, float blue, float alpha, float x, float y, float width, float height);
-void Draw_Pic (int x, int y, qpic_t *pic);
-void Draw_TransPic (int x, int y, qpic_t *pic);
-void Draw_TransPicTranslate (int x, int y, qpic_t *pic, byte *translation);
-void Draw_ConsoleBackground (int lines);
-void Draw_Fill (int x, int y, int w, int h, int c);
-void Draw_String (int x, int y, char *str, int maxlen); // LordHavoc: added maxlen
-qpic_t *Draw_PicFromWad (char *name);
-qpic_t *Draw_CachePic (char *path);
+cachepic_t *Draw_CachePic (char *path);
+// create or update a pic's image
+cachepic_t *Draw_NewPic(char *picname, int width, int height, int alpha, qbyte *pixels);
+// free the texture memory used by a pic
+void Draw_FreePic(char *picname);
+
+void R_DrawQueue(void);
+
+#endif
+