X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=server.h;h=a3e0436bbbfcba02c6cc4a2f20318c6cd89262e1;hb=HEAD;hp=5dfe2ac04aff7715a0f1ad747c1233af0f1d2b51;hpb=363fbad63b6695840da972d434fd4f8daf398641;p=xonotic%2Fdarkplaces.git diff --git a/server.h b/server.h index 5dfe2ac0..66caeeff 100644 --- a/server.h +++ b/server.h @@ -34,20 +34,6 @@ typedef struct server_static_s qbool changelevel_issued; /// server infostring char serverinfo[MAX_SERVERINFO_STRING]; - // performance data - float perf_cpuload; - float perf_lost; - float perf_offset_avg; - float perf_offset_max; - float perf_offset_sdev; - // temporary performance data accumulators - float perf_acc_realtime; - float perf_acc_sleeptime; - float perf_acc_lost; - float perf_acc_offset; - float perf_acc_offset_squared; - float perf_acc_offset_max; - int perf_acc_offset_samples; // csqc stuff unsigned char *csqc_progdata; @@ -88,9 +74,25 @@ typedef struct server_s protocolversion_t protocol; double time; - double frametime; + unsigned int spawnframe; // signals SV_Frame() to reset its timers + + // performance data + float perf_cpuload; + float perf_lost; + float perf_offset_avg; + float perf_offset_max; + float perf_offset_sdev; + // temporary performance data accumulators + float perf_acc_realtime; + float perf_acc_sleeptime; + float perf_acc_lost; + float perf_acc_offset; + float perf_acc_offset_squared; + float perf_acc_offset_max; + int perf_acc_offset_samples; + // used by PF_checkclient int lastcheck; double lastchecktime; @@ -103,10 +105,7 @@ typedef struct server_s /// collision culling data world_t world; - /// map name - 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 @@ -153,8 +152,7 @@ typedef struct server_s sizebuf_t *writeentitiestoclient_msg; vec3_t writeentitiestoclient_eyes[MAX_CLIENTNETWORKEYES]; int writeentitiestoclient_numeyes; - int writeentitiestoclient_pvsbytes; - unsigned char writeentitiestoclient_pvs[MAX_MAP_LEAFS/8]; + unsigned char *writeentitiestoclient_pvs; const entity_state_t *writeentitiestoclient_sendstates[MAX_EDICTS]; unsigned short writeentitiestoclient_csqcsendstates[MAX_EDICTS]; @@ -447,6 +445,7 @@ extern cvar_t sv_gameplayfix_easierwaterjump; extern cvar_t sv_gameplayfix_findradiusdistancetobox; extern cvar_t sv_gameplayfix_gravityunaffectedbyticrate; extern cvar_t sv_gameplayfix_grenadebouncedownslopes; +extern cvar_t sv_gameplayfix_impactbeforeonground; extern cvar_t sv_gameplayfix_multiplethinksperframe; extern cvar_t sv_gameplayfix_noairborncorpse; extern cvar_t sv_gameplayfix_noairborncorpse_allowsuspendeditems; @@ -566,6 +565,7 @@ void SV_LinkEdict_TouchAreaGrid_Call(prvm_edict_t *touch, prvm_edict_t *ent); // /*! 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 + * Replaces SV_TryUnstick() and SV_CheckStuck() which in Quake applied to players only. */ qbool SV_UnstickEntity (prvm_edict_t *ent); @@ -624,6 +624,6 @@ void SV_PreSpawn_f(cmd_state_t *cmd); void SV_Spawn_f(cmd_state_t *cmd); void SV_Begin_f(cmd_state_t *cmd); -qbool SV_VM_ConsoleCommand (const char *text); +qbool SV_VM_ConsoleCommand(const char *text, size_t textlen); #endif