]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - progs.h
reworked sendsignon logic so that unlimited sends are allowed once
[xonotic/darkplaces.git] / progs.h
diff --git a/progs.h b/progs.h
index 7005deec8c3b9d82964d67c9094bd40bd9edf492..1c0fee0cf69196b9429bc60332e4d49d7b23b9d1 100644 (file)
--- a/progs.h
+++ b/progs.h
@@ -22,12 +22,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #define PROGS_H
 #include "pr_comp.h"                   // defs shared with qcc
 
-typedef struct link_s
-{
-       int entitynumber;
-       struct link_s   *prev, *next;
-} link_t;
-
 #define ENTITYGRIDAREAS 16
 #define MAX_ENTITYCLUSTERS 16
 
@@ -52,6 +46,8 @@ typedef struct edict_engineprivate_s
        // since the areagrid can have multiple references to one entity,
        // we should avoid extensive checking on entities already encountered
        int areagridmarknumber;
+       // mins/maxs passed to World_LinkEdict
+       vec3_t areamins, areamaxs;
 
        // PROTOCOL_QUAKE, PROTOCOL_QUAKEDP, PROTOCOL_NEHAHRAMOVIE, PROTOCOL_QUAKEWORLD
        // baseline values
@@ -66,75 +62,6 @@ typedef struct edict_engineprivate_s
 }
 edict_engineprivate_t;
 
-// LordHavoc: in an effort to eliminate time wasted on GetEdictFieldValue...  see pr_edict.c for the functions which use these.
-extern int eval_gravity;
-extern int eval_button3;
-extern int eval_button4;
-extern int eval_button5;
-extern int eval_button6;
-extern int eval_button7;
-extern int eval_button8;
-extern int eval_button9;
-extern int eval_button10;
-extern int eval_button11;
-extern int eval_button12;
-extern int eval_button13;
-extern int eval_button14;
-extern int eval_button15;
-extern int eval_button16;
-extern int eval_buttonuse;
-extern int eval_buttonchat;
-extern int eval_glow_size;
-extern int eval_glow_trail;
-extern int eval_glow_color;
-extern int eval_items2;
-extern int eval_scale;
-extern int eval_alpha;
-extern int eval_renderamt; // HalfLife support
-extern int eval_rendermode; // HalfLife support
-extern int eval_fullbright;
-extern int eval_ammo_shells1;
-extern int eval_ammo_nails1;
-extern int eval_ammo_lava_nails;
-extern int eval_ammo_rockets1;
-extern int eval_ammo_multi_rockets;
-extern int eval_ammo_cells1;
-extern int eval_ammo_plasma;
-extern int eval_idealpitch;
-extern int eval_pitch_speed;
-extern int eval_viewmodelforclient;
-extern int eval_nodrawtoclient;
-extern int eval_exteriormodeltoclient;
-extern int eval_drawonlytoclient;
-extern int eval_ping;
-extern int eval_movement;
-extern int eval_pmodel;
-extern int eval_punchvector;
-extern int eval_viewzoom;
-extern int eval_clientcolors;
-extern int eval_tag_entity;
-extern int eval_tag_index;
-extern int eval_light_lev;
-extern int eval_color;
-extern int eval_style;
-extern int eval_pflags;
-extern int eval_cursor_active;
-extern int eval_cursor_screen;
-extern int eval_cursor_trace_start;
-extern int eval_cursor_trace_endpos;
-extern int eval_cursor_trace_ent;
-extern int eval_colormod;
-extern int eval_playermodel;
-extern int eval_playerskin;
-extern int eval_SendEntity;
-extern int eval_Version;
-extern int eval_customizeentityforclient;
-
-extern mfunction_t *SV_PlayerPhysicsQC;
-extern mfunction_t *EndFrameQC;
-//KrimZon - SERVER COMMANDS IN QUAKEC
-extern mfunction_t *SV_ParseClientCommandQC;
-
 #endif
 
 
@@ -210,71 +137,12 @@ typedef struct edict_s
 }
 prvm_edict_t;
 
-// LordHavoc: in an effort to eliminate time wasted on GetEdictFieldValue...  see pr_edict.c for the functions which use these.
-extern int eval_gravity;
-extern int eval_button3;
-extern int eval_button4;
-extern int eval_button5;
-extern int eval_button6;
-extern int eval_button7;
-extern int eval_button8;
-extern int eval_buttonuse;
-extern int eval_buttonchat;
-extern int eval_glow_size;
-extern int eval_glow_trail;
-extern int eval_glow_color;
-extern int eval_items2;
-extern int eval_scale;
-extern int eval_alpha;
-extern int eval_renderamt; // HalfLife support
-extern int eval_rendermode; // HalfLife support
-extern int eval_fullbright;
-extern int eval_ammo_shells1;
-extern int eval_ammo_nails1;
-extern int eval_ammo_lava_nails;
-extern int eval_ammo_rockets1;
-extern int eval_ammo_multi_rockets;
-extern int eval_ammo_cells1;
-extern int eval_ammo_plasma;
-extern int eval_idealpitch;
-extern int eval_pitch_speed;
-extern int eval_viewmodelforclient;
-extern int eval_nodrawtoclient;
-extern int eval_exteriormodeltoclient;
-extern int eval_drawonlytoclient;
-extern int eval_ping;
-extern int eval_movement;
-extern int eval_pmodel;
-extern int eval_punchvector;
-extern int eval_viewzoom;
-extern int eval_clientcolors;
-extern int eval_tag_entity;
-extern int eval_tag_index;
-extern int eval_light_lev;
-extern int eval_color;
-extern int eval_style;
-extern int eval_pflags;
-extern int eval_cursor_active;
-extern int eval_cursor_screen;
-extern int eval_cursor_trace_start;
-extern int eval_cursor_trace_endpos;
-extern int eval_cursor_trace_ent;
-extern int eval_colormod;
-extern int eval_playermodel;
-extern int eval_playerskin;
-
-#define PRVM_GETEDICTFIELDVALUE(ed, fieldoffset) (fieldoffset ? (prvm_eval_t *)((unsigned char *)ed->v + fieldoffset) : NULL)
-
-
-extern mfunction_t *SV_PlayerPhysicsQC;
-extern mfunction_t *EndFrameQC;
-//KrimZon - SERVER COMMANDS IN QUAKEC
-extern mfunction_t *SV_ParseClientCommandQC;
+#define PRVM_EDICTFIELDVALUE(ed, fieldoffset) (fieldoffset ? (prvm_eval_t *)((int *)ed->v + fieldoffset) : NULL)
 
 //============================================================================
 
 extern dprograms_t             *progs;
-extern mfunction_t             *prog->functions;
+extern mfunction_t             *pr_functions;
 extern char                    *pr_strings;
 extern int                             pr_stringssize;
 extern ddef_t                  *pr_globaldefs;
@@ -310,8 +178,6 @@ void PR_Profile_f (void);
 void PR_PrintState(void);
 void PR_Crash (void);
 
-void SV_IncreaseEdicts(void);
-
 prvm_edict_t *ED_Alloc (void);
 void ED_Free (prvm_edict_t *ed);
 void ED_ClearEdict (prvm_edict_t *e);
@@ -326,8 +192,7 @@ void ED_ParseGlobals (const char *data);
 void ED_LoadFromFile (const char *data);
 
 prvm_edict_t *EDICT_NUM_ERROR(int n, char *filename, int fileline);
-#define PRVM_EDICT_NUM(n) (((n) >= 0 && (n) < prog->max_edicts) ? prog->edicts + (n) : EDICT_NUM_ERROR(n, __FILE__, __LINE__))
-#define EDICT_NUM_UNSIGNED(n) (((n) < prog->max_edicts) ? prog->edicts + (n) : EDICT_NUM_ERROR(n, __FILE__, __LINE__))
+#define PRVM_EDICT_NUM(n) (((unsigned int)(n) < (unsigned int)prog->max_edicts) ? prog->edicts + (n) : EDICT_NUM_ERROR(n, __FILE__, __LINE__))
 
 //int NUM_FOR_EDICT_ERROR(prvm_edict_t *e);
 #define PRVM_NUM_FOR_EDICT(e) ((int)((prvm_edict_t *)(e) - prog->edicts))
@@ -378,6 +243,7 @@ void ED_PrintNum (int ent);
 const char *PRVM_GetString(int num);
 int PR_SetQCString(const char *s);
 int PRVM_SetEngineString(const char *s);
+int PRVM_SetTempString(const char *s);
 char *PR_AllocString(int bufferlength);
 void PR_FreeString(char *s);