#define MAX_DLIGHTS 256
/// this is the maximum number of input packets that can be predicted
-#define CL_MAX_USERCMDS 256
+#define CL_MAX_USERCMDS 128
// flags for rtlight rendering
#define LIGHTFLAG_NORMALMODE 1
// subframe numbers (-1 if not used) and their blending scalers (0-1), if interpolation is not desired, use subframeblend[0].subframe
frameblend_t frameblend[MAX_FRAMEBLENDS];
+ // animation cache index
+ int animcacheindex;
+
// current lighting from map (updated ONLY by client code, not renderer)
vec3_t modellight_ambient;
vec3_t modellight_diffuse; // q3bsp
qfile_t *videofile;
// always use this:
// cls.capturevideo.videofile = FS_OpenRealFile(va("%s.%s", cls.capturevideo.basename, cls.capturevideo.formatextension), "wb", false);
- void (*endvideo) ();
+ void (*endvideo) (void);
void (*videoframes) (int num);
void (*soundframe) (const portable_sampleframe_t *paintbuffer, size_t length);
PARTICLE_BILLBOARD = 0,
PARTICLE_SPARK = 1,
PARTICLE_ORIENTED_DOUBLESIDED = 2,
- PARTICLE_BEAM = 3,
+ PARTICLE_VBEAM = 3,
+ PARTICLE_HBEAM = 4,
PARTICLE_INVALID = -1
}
porientation_t;
// how long it has been since the previous client frame in real time
// (not game time, for that use cl.time - cl.oldtime)
double realframetime;
+
+ // fade var for fading while dead
+ float deathfade;
+
+ // motionblur alpha level variable
+ float motionbluralpha;
// copy of realtime from last recieved message, for net trouble icon
float last_received_message;
double lastpackettime;
// movement parameters for client prediction
+ unsigned int moveflags;
float movevars_wallfriction;
float movevars_waterfriction;
float movevars_friction;
float movevars_warsowbunny_topspeed;
float movevars_warsowbunny_turnaccel;
float movevars_warsowbunny_backtosideratio;
+ float movevars_ticrate;
// models used by qw protocol
int qw_modelindex_spike;
}
r_refdef_stats_t;
+typedef enum r_viewport_type_e
+{
+ R_VIEWPORTTYPE_ORTHO,
+ R_VIEWPORTTYPE_PERSPECTIVE,
+ R_VIEWPORTTYPE_PERSPECTIVE_INFINITEFARCLIP,
+ R_VIEWPORTTYPE_PERSPECTIVECUBESIDE,
+ R_VIEWPORTTYPE_TOTAL
+}
+r_viewport_type_t;
+
+typedef struct r_viewport_s
+{
+ double m[16];
+ matrix4x4_t cameramatrix; // from entity (transforms from camera entity to world)
+ matrix4x4_t viewmatrix; // actual matrix for rendering (transforms to viewspace)
+ matrix4x4_t projectmatrix; // actual projection matrix (transforms from viewspace to screen)
+ int x;
+ int y;
+ int z;
+ int width;
+ int height;
+ int depth;
+ r_viewport_type_t type;
+}
+r_viewport_t;
+
typedef struct r_refdef_view_s
{
// view information (changes multiple times per frame)
int width;
int height;
int depth;
+ r_viewport_t viewport;
// which color components to allow (for anaglyph glasses)
int colormask[4];