X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=server.h;h=fdea10760234675d7e8d8c8b9e98105893f865da;hb=c4f6ceba02418f7d144f25829e7ad8ce5a6e0f47;hp=d904c55afe35c9ca0b8d16efaf8dd80aedb952a6;hpb=f68ef7b22979928fb6b8d2ba6b28e14c4caeb7c2;p=xonotic%2Fdarkplaces.git diff --git a/server.h b/server.h index d904c55a..fdea1076 100644 --- a/server.h +++ b/server.h @@ -68,8 +68,6 @@ typedef struct server_connectfloodaddress_s } server_connectfloodaddress_t; -#define MAX_CLIENTNETWORKEYES 256 - typedef struct server_s { /// false if only a net client @@ -100,9 +98,12 @@ typedef struct server_s world_t world; /// map name - char name[64]; - /// maps/.bsp, for model_precache[0] - char modelname[64]; + char name[64]; // %s followed by entrance name + // variants of map name + char worldmessage[40]; // map title (not related to filename) + char worldbasename[MAX_QPATH]; // %s + char worldname[MAX_QPATH]; // maps/%s.bsp + char worldnamenoextension[MAX_QPATH]; // maps/%s struct model_s *worldmodel; // NULL terminated // LordHavoc: precaches are now MAX_QPATH rather than a pointer @@ -148,7 +149,7 @@ typedef struct server_s int writeentitiestoclient_numeyes; int writeentitiestoclient_pvsbytes; unsigned char writeentitiestoclient_pvs[MAX_MAP_LEAFS/8]; - entity_state_t writeentitiestoclient_sendstates[MAX_EDICTS]; + const entity_state_t *writeentitiestoclient_sendstates[MAX_EDICTS]; unsigned short writeentitiestoclient_csqcsendstates[MAX_EDICTS]; int numsendentities; @@ -201,6 +202,8 @@ typedef struct client_s netconn_t *netconnection; int movesequence; + signed char movement_count[NETGRAPH_PACKETS]; + int movement_highestsequence_seen; // not the same as movesequence if prediction is off /// movement usercmd_t cmd; /// intended motion calced from cmd @@ -388,6 +391,7 @@ extern cvar_t sv_airstopaccelerate; extern cvar_t sv_airstrafeaccelerate; extern cvar_t sv_maxairstrafespeed; extern cvar_t sv_aircontrol; +extern cvar_t sv_aircontrol_power; extern cvar_t sv_allowdownloads; extern cvar_t sv_allowdownloads_archive; extern cvar_t sv_allowdownloads_config; @@ -423,17 +427,22 @@ extern cvar_t sv_gameplayfix_droptofloorstartsolid; extern cvar_t sv_gameplayfix_droptofloorstartsolid_nudgetocorrect; extern cvar_t sv_gameplayfix_easierwaterjump; extern cvar_t sv_gameplayfix_findradiusdistancetobox; +extern cvar_t sv_gameplayfix_gravityunaffectedbyticrate; +extern cvar_t sv_gameplayfix_nogravityonground; extern cvar_t sv_gameplayfix_grenadebouncedownslopes; extern cvar_t sv_gameplayfix_multiplethinksperframe; -extern cvar_t sv_gameplayfix_slidemoveprojectiles; extern cvar_t sv_gameplayfix_noairborncorpse; extern cvar_t sv_gameplayfix_noairborncorpse_allowsuspendeditems; +extern cvar_t sv_gameplayfix_nudgeoutofsolid; +extern cvar_t sv_gameplayfix_nudgeoutofsolid_bias; extern cvar_t sv_gameplayfix_setmodelrealbox; +extern cvar_t sv_gameplayfix_slidemoveprojectiles; extern cvar_t sv_gameplayfix_stepdown; extern cvar_t sv_gameplayfix_stepwhilejumping; +extern cvar_t sv_gameplayfix_stepmultipletimes; extern cvar_t sv_gameplayfix_swiminbmodels; extern cvar_t sv_gameplayfix_upwardvelocityclearsongroundflag; -extern cvar_t sv_gameplayfix_gravityunaffectedbyticrate; +extern cvar_t sv_gameplayfix_downtracesupportsongroundflag; extern cvar_t sv_gravity; extern cvar_t sv_idealpitchscale; extern cvar_t sv_jumpstep; @@ -442,7 +451,6 @@ extern cvar_t sv_maxairspeed; extern cvar_t sv_maxrate; extern cvar_t sv_maxspeed; extern cvar_t sv_maxvelocity; -extern cvar_t sv_newflymove; extern cvar_t sv_nostep; extern cvar_t sv_playerphysicsqc; extern cvar_t sv_progs; @@ -495,6 +503,9 @@ int SV_SoundIndex(const char *s, int precachemode); int SV_ParticleEffectIndex(const char *name); +dp_model_t *SV_GetModelByIndex(int modelindex); +dp_model_t *SV_GetModelFromEdict(prvm_edict_t *ed); + void SV_SetIdealPitch (void); void SV_AddUpdates (void); @@ -520,6 +531,7 @@ qboolean SV_movestep (prvm_edict_t *ent, vec3_t move, qboolean relink, qboolean */ void SV_LinkEdict(prvm_edict_t *ent); void SV_LinkEdict_TouchAreaGrid(prvm_edict_t *ent); +void SV_LinkEdict_TouchAreaGrid_Call(prvm_edict_t *touch, prvm_edict_t *ent); // if we detected a touch from another source /*! move an entity that is stuck by small amounts in various directions to try to nudge it back into the collision hull * returns true if it found a better place @@ -555,5 +567,8 @@ void SV_VM_End(void); const char *Host_TimingReport(void); ///< for output in Host_Status_f +int SV_GetPitchSign(prvm_edict_t *ent); +void SV_GetEntityMatrix (prvm_edict_t *ent, matrix4x4_t *out, qboolean viewmatrix); + #endif