// these are exposed because surface rendering uses them
extern rtexture_t *solidskytexture;
extern rtexture_t *alphaskytexture;
-extern rtexture_t *mergeskytexture;
extern int skyrendernow, skyrendermasked, skyrenderglquake;
-extern cvar_t r_mergesky;
extern void R_SkyStartFrame(void);
extern void R_Sky(void);
// render profiling stuff
extern qboolean intimerefresh;
-extern cvar_t r_speeds2;
-extern char r_speeds2_string[1024];
+extern char r_speeds_string[1024];
// lighting stuff
extern vec3_t lightspot;
//=============================================================================
-typedef struct
-{
- // area to render in
- int x, y, width, height;
- float fov_x, fov_y;
-
- // view point
- vec3_t vieworg;
- vec3_t viewangles;
-
- int numdecals;
- renderdecal_t *decals;
-
- // LordHavoc: this will be enabled at some point, taking the place of cl_visedicts
- int numentities;
- entity_render_t *entities;
-
- int numparticles;
- struct renderparticle_s *particles;
-}
-refdef_t;
-
//extern qboolean r_cache_thrash; // compatability
extern entity_render_t *currentrenderentity;
extern int r_framecount;
extern vec3_t vright;
extern vec3_t r_origin;
-//
-// screen size info
-//
-extern refdef_t r_refdef;
-
-
extern mleaf_t *r_viewleaf, *r_oldviewleaf;
extern unsigned short d_lightstylevalue[256]; // 8.8 fraction of base light value
void R_NewMap (void);
-void R_Decals_Init(void);
-void R_DrawDecals(void);
-
void R_DrawWorld(void);
void R_SetupForWorldRendering(void);
void R_MarkWorldLights(void);
void R_PrepareSurfaces(void);
-void R_DrawSurfacesAll(void);
+void R_DrawSurfaces(int type);
void R_DrawPortals(void);
void R_DrawParticles(void);
void R_DrawExplosions(void);
#include "r_modules.h"
-extern qboolean lighthalf;
+extern float overbrightscale;
#include "r_lerpanim.h"
#define MAX_PARTICLETEXTURES 64
// [0] is normal, [1] is fog, they may be the same
extern particletexture_t particletexture[MAX_PARTICLETEXTURES][2];
+
+void R_TimeReport(char *name);
+void R_TimeReport_Start(void);
+void R_TimeReport_End(void);
+
+// r_stain
+void R_Stain (vec3_t origin, float radius, int cr1, int cg1, int cb1, int ca1, int cr2, int cg2, int cb2, int ca2);