typedef struct decalsystem_s
{
- dp_model_t *model;
+ model_t *model;
double lastupdatetime;
int maxdecals;
int freedecal;
vec3_t origin;
double starttime;
float framerate;
- dp_model_t *model;
+ model_t *model;
int startframe;
int endframe;
// these are for interpolation
float transparent_offset;
// NULL = no model
- dp_model_t *model;
+ model_t *model;
// number of the entity represents, or 0 for non-network entities
int entitynumber;
// literal colormap colors for renderer, if both are 0 0 0 it is not colormapped
}
entity_t;
-typedef struct usercmd_s
-{
- vec3_t viewangles;
-
-// intended velocities
- float forwardmove;
- float sidemove;
- float upmove;
-
- vec3_t cursor_screen;
- vec3_t cursor_start;
- vec3_t cursor_end;
- vec3_t cursor_impact;
- vec3_t cursor_normal;
- vec_t cursor_fraction;
- int cursor_entitynumber;
-
- double time; // time the move is executed for (cl_movement: clienttime, non-cl_movement: receivetime)
- double receivetime; // time the move was received at
- double clienttime; // time to which server state the move corresponds to
- int msec; // for predicted moves
- int buttons;
- int impulse;
- unsigned int sequence;
- qbool applied; // if false we're still accumulating a move
- qbool predicted; // if true the sequence should be sent as 0
-
- // derived properties
- double frametime;
- qbool canjump;
- qbool jump;
- qbool crouch;
-} usercmd_t;
-
typedef struct lightstyle_s
{
int length;
int demonum;
// list of demos in loop
char demos[MAX_DEMOS][MAX_DEMONAME];
- // the actively playing demo (set by CL_PlayDemo_f)
+ // the actively playing demo (set by CL_PlayDemo)
char demoname[MAX_QPATH];
// demo recording info must be here, because record is started before
// 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;
-
+
+ // used by cl_nettimesyncboundmode 7
+#define NUM_TS_ERRORS 32 // max 256
+ unsigned char ts_error_num;
+ float ts_error_stor[NUM_TS_ERRORS];
+
// fade var for fading while dead
float deathfade;
int gametype;
// models and sounds used by engine code (particularly cl_parse.c)
- dp_model_t *model_bolt;
- dp_model_t *model_bolt2;
- dp_model_t *model_bolt3;
- dp_model_t *model_beam;
+ model_t *model_bolt;
+ model_t *model_bolt2;
+ model_t *model_bolt3;
+ model_t *model_beam;
sfx_t *sfx_wizhit;
sfx_t *sfx_knighthit;
sfx_t *sfx_tink1;
// use cl.scores[cl.playerentity-1].qw_spectator instead
//qbool qw_spectator;
- // last time an input packet was sent
- double lastpackettime;
+ // time accumulated since an input packet was sent
+ float timesincepacket;
// movement parameters for client prediction
unsigned int moveflags;
void CL_Shutdown (void);
void CL_Init (void);
+void CL_StartVideo(void);
+
void CL_EstablishConnection(const char *host, int firstarg);
void CL_Disconnect (void);
void CL_MoveLerpEntityStates(entity_t *ent);
void CL_LerpUpdate(entity_t *e);
void CL_ParseTEnt (void);
-void CL_NewBeam (int ent, vec3_t start, vec3_t end, dp_model_t *m, int lightning);
+void CL_NewBeam (int ent, vec3_t start, vec3_t end, model_t *m, int lightning);
void CL_RelinkBeams (void);
void CL_Beam_CalculatePositions (const beam_t *b, vec3_t start, vec3_t end);
void CL_ClientMovement_Replay(void);
void CL_ClearTempEntities (void);
entity_render_t *CL_NewTempEntity (double shadertime);
-void CL_Effect(vec3_t org, dp_model_t *model, int startframe, int framecount, float framerate);
+void CL_Effect(vec3_t org, model_t *model, int startframe, int framecount, float framerate);
void CL_ClearState (void);
void CL_ExpandEntities(int num);
void CL_CutDemo(unsigned char **buf, fs_offset_t *filesize);
void CL_PasteDemo(unsigned char **buf, fs_offset_t *filesize);
+void CL_PlayDemo(const char *demo);
void CL_NextDemo(void);
void CL_Stop_f(cmd_state_t *cmd);
void CL_Record_f(cmd_state_t *cmd);
NUM_MESHENTITIES,
} meshname_t;
extern entity_t cl_meshentities[NUM_MESHENTITIES];
-extern dp_model_t cl_meshentitymodels[NUM_MESHENTITIES];
+extern model_t cl_meshentitymodels[NUM_MESHENTITIES];
extern const char *cl_meshentitynames[NUM_MESHENTITIES];
#define CL_Mesh_Scene() (&cl_meshentitymodels[MESH_SCENE])
#define CL_Mesh_UI() (&cl_meshentitymodels[MESH_UI])