X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=client.h;h=e725a11feca351d401541d3390c3d95f9eea0726;hb=e581d6e0937cda49a65ef6086bd9c3c94a44351f;hp=ea80fec1bdf9ac51a02c4ef6e138a4af5014309e;hpb=886dd05c5ec12e07954ebe6ceff05fac41cdfe13;p=xonotic%2Fdarkplaces.git diff --git a/client.h b/client.h index ea80fec1..e725a11f 100644 --- a/client.h +++ b/client.h @@ -207,9 +207,9 @@ frameblend_t; typedef struct entity_render_s { // location - vec3_t origin; + //vec3_t origin; // orientation - vec3_t angles; + //vec3_t angles; // transform matrix for model to world matrix4x4_t matrix; // transform matrix for world to model @@ -401,13 +401,39 @@ qw_downloadtype_t; typedef enum capturevideoformat_e { - CAPTUREVIDEOFORMAT_TARGA, - CAPTUREVIDEOFORMAT_JPEG, - CAPTUREVIDEOFORMAT_RAWRGB, - CAPTUREVIDEOFORMAT_RAWYV12 + CAPTUREVIDEOFORMAT_AVI_I420 } capturevideoformat_t; +typedef struct capturevideostate_s +{ + double starttime; + double framerate; + // for AVI saving some values have to be written after capture ends + fs_offset_t videofile_totalframes_offset1; + fs_offset_t videofile_totalframes_offset2; + fs_offset_t videofile_totalsampleframes_offset; + qfile_t *videofile; + qboolean active; + qboolean realtime; + qboolean error; + capturevideoformat_t format; + int soundrate; + int frame; + int soundsampleframe; // for AVI saving + unsigned char *buffer; + sizebuf_t riffbuffer; + unsigned char riffbufferdata[128]; + // note: riffindex buffer has an allocated ->data member, not static like most! + sizebuf_t riffindexbuffer; + int riffstacklevel; + fs_offset_t riffstackstartoffset[4]; + short rgbtoyuvscaletable[3][3][256]; + unsigned char yuvnormalizetable[3][256]; + char basename[64]; +} +capturevideostate_t; + // // the client_static_t structure is persistent through an arbitrary number // of server connections @@ -492,18 +518,7 @@ typedef struct client_static_s char userinfo[MAX_USERINFO_STRING]; // video capture stuff - qboolean capturevideo_active; - capturevideoformat_t capturevideo_format; - double capturevideo_starttime; - double capturevideo_framerate; - int capturevideo_soundrate; - int capturevideo_frame; - unsigned char *capturevideo_buffer; - qfile_t *capturevideo_videofile; - qfile_t *capturevideo_soundfile; - short capturevideo_rgbtoyuvscaletable[3][3][256]; - unsigned char capturevideo_yuvnormalizetable[3][256]; - char capturevideo_basename[64]; + capturevideostate_t capturevideo; } client_static_t; @@ -588,7 +603,7 @@ typedef struct particle_s float airfriction; // how much air friction affects this object (objects with a low mass/size ratio tend to get more air friction) float liquidfriction; // how much liquid friction affects this object (objects with a low mass/size ratio tend to get more liquid friction) unsigned char color[4]; - unsigned short owner; // decal stuck to this entity + unsigned int owner; // decal stuck to this entity model_t *ownermodel; // model the decal is stuck to (used to make sure the entity is still alive) vec3_t relativeorigin; // decal at this location in entity's coordinate space vec3_t relativedirection; // decal oriented this way relative to entity's coordinate space @@ -863,8 +878,9 @@ typedef struct client_state_s // updated from serverinfo int qw_teamplay; - // indicates whether the player is spectating - qboolean qw_spectator; + // unused: indicates whether the player is spectating + // use cl.scores[cl.playerentity].qw_spectator instead + //qboolean qw_spectator; // movement parameters for client prediction float qw_movevars_gravity; @@ -976,7 +992,7 @@ void CL_EstablishConnection(const char *host); void CL_Disconnect (void); void CL_Disconnect_f (void); -void CL_BoundingBoxForEntity(entity_render_t *ent); +void CL_UpdateRenderEntity(entity_render_t *ent); // // cl_input