#ifndef CLIENT_H
#define CLIENT_H
+#include "matrixlib.h"
+
// LordHavoc: 256 dynamic lights
#define MAX_DLIGHTS 256
// LordHavoc: this affects the lighting scale of the whole game
vec3_t origin;
// orientation
vec3_t angles;
+ // transform matrix for model to world
+ matrix4x4_t matrix;
+ // transform matrix for world to model
+ matrix4x4_t inversematrix;
// opacity (alpha) of the model
float alpha;
// size the model is shown
// caching results of static light traces (this is semi-persistent)
double entlightstime;
vec3_t entlightsorigin;
+ int entlightsframe;
int numentlights;
unsigned short entlights[MAXENTLIGHTS];
}
// muzzleflash fading
float muzzleflash;
+ // interpolated movement
+
+ // start time of move
+ float lerpstarttime;
+ // time difference from start to end of move
+ float lerpdeltatime;
+ // the move itself, start and end
+ float oldorigin[3];
+ float oldangles[3];
+ float neworigin[3];
+ float newangles[3];
+
// interpolated animation
// lerp resets when model changes
char levelname[40];
// cl_entitites[cl.viewentity] = player
int viewentity;
+ // the real player entity (normally same as viewentity,
+ // different than viewentity if mod uses chasecam or other tricks)
+ int playerentity;
+ // max players that can be in this game
int maxclients;
+ // type of game (deathmatch, coop, singleplayer)
int gametype;
// refresh related state
extern int cl_num_brushmodel_entities;
extern entity_t *cl_entities;
+extern qbyte *cl_entities_active;
extern entity_t *cl_static_entities;
extern entity_t *cl_temp_entities;
extern entity_render_t **cl_brushmodel_entities;