rtexture_t *tex;
// used for hash lookups
struct cachepic_s *chain;
+ // flags - CACHEPICFLAG_NEWPIC for example
+ unsigned int flags;
// has alpha?
qboolean hasalpha;
// name of pic
char name[MAX_QPATH];
+ // allow to override/free the texture
+ qboolean allow_free_tex;
}
cachepic_t;
CACHEPICFLAG_NOTPERSISTENT = 1,
CACHEPICFLAG_QUIET = 2,
CACHEPICFLAG_NOCOMPRESSION = 4,
- CACHEPICFLAG_NOCLAMP = 8
+ CACHEPICFLAG_NOCLAMP = 8,
+ CACHEPICFLAG_NEWPIC = 16 // disables matching texflags check, because a pic created with Draw_NewPic should not be subject to that
}
cachepicflags_t;
DRAWFLAG_MASK = 0xFF, // ONLY R_BeginPolygon()
DRAWFLAG_MIPMAP = 0x100 // ONLY R_BeginPolygon()
};
+#define DRAWFLAGS_BLEND (DRAWFLAG_ADDITIVE + DRAWFLAG_MODULATE + DRAWFLAG_2XMODULATE + DRAWFLAG_SCREEN)
typedef struct ft2_settings_s
{
void DrawQ_ProcessDrawFlag(int flags, qboolean alpha); // sets GL_DepthMask and GL_BlendFunc
void DrawQ_RecalcView(void); // use this when changing r_refdef.view.* from e.g. csqc
+rtexture_t *Draw_GetPicTexture(cachepic_t *pic);
+
void R_DrawGamma(void);
extern rtexturepool_t *drawtexturepool; // used by ft2.c