fs_offset_t videofile_totalframes_offset1;
fs_offset_t videofile_totalframes_offset2;
fs_offset_t videofile_totalsampleframes_offset;
+ int videofile_ix_master_audio_inuse;
+ fs_offset_t videofile_ix_master_audio_inuse_offset;
+ fs_offset_t videofile_ix_master_audio_start_offset;
+ int videofile_ix_master_video_inuse;
+ fs_offset_t videofile_ix_master_video_inuse_offset;
+ fs_offset_t videofile_ix_master_video_start_offset;
+ fs_offset_t videofile_ix_movistart;
qfile_t *videofile;
qboolean active;
qboolean realtime;
}
cl_locnode_t;
+typedef struct showlmp_s
+{
+ qboolean isactive;
+ float x;
+ float y;
+ char label[32];
+ char pic[128];
+}
+showlmp_t;
+
//
// the client_state_t structure is wiped completely at every
// server signon
int max_lightstyle;
int max_brushmodel_entities;
int max_particles;
+ int max_showlmps;
entity_t *entities;
unsigned char *entities_active;
lightstyle_t *lightstyle;
int *brushmodel_entities;
particle_t *particles;
+ showlmp_t *showlmps;
int num_entities;
int num_static_entities;
int num_beams;
int num_dlights;
int num_particles;
+ int num_showlmps;
int free_particle;
// (as long as R_View_Update is called)
// eye position information
- matrix4x4_t matrix;
+ matrix4x4_t matrix, inverse_matrix;
vec3_t origin;
vec3_t forward;
vec3_t left;
int numfrustumplanes;
mplane_t frustum[6];
qboolean useclipplane;
+ qboolean usecustompvs; // uses r_viewcache.pvsbits as-is rather than computing it
mplane_t clipplane;
float frustum_x, frustum_y;
vec3_t frustumcorner[4];
// global RGB color multiplier for rendering, this is required by HDR
float colorscale;
+ // whether to call R_ClearScreen before rendering stuff
+ qboolean clear;
+
// whether to draw r_showtris and such, this is only true for the main
// view render, all secondary renders (HDR, mirrors, portals, cameras,
// distortion effects, etc) omit such debugging information
// flag arrays used for visibility checking on world model
// (all other entities have no per-surface/per-leaf visibility checks)
// TODO: dynamic resize according to r_refdef.worldmodel->brush.num_clusters
- unsigned char world_pvsbits[(32768+7)>>3];
+ unsigned char world_pvsbits[(32768+7)>>3]; // FIXME: buffer overflow on huge maps
// TODO: dynamic resize according to r_refdef.worldmodel->brush.num_leafs
- unsigned char world_leafvisible[32768];
+ unsigned char world_leafvisible[32768]; // FIXME: buffer overflow on huge maps
// TODO: dynamic resize according to r_refdef.worldmodel->num_surfaces
- unsigned char world_surfacevisible[262144];
+ unsigned char world_surfacevisible[262144]; // FIXME: buffer overflow on huge maps
// if true, the view is currently in a leaf without pvs data
qboolean world_novis;
}