]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - progsvm.h
removed cl_particles_explosions_smoke cvar and code
[xonotic/darkplaces.git] / progsvm.h
index 87806d74a24c799f4c698ea5519cda5a9d9d3167..c6fc665370624af69c878c164b83b97a80494568 100644 (file)
--- a/progsvm.h
+++ b/progsvm.h
@@ -185,8 +185,11 @@ typedef struct prvm_prog_fieldoffsets_s
        int items2; // ssqc
        int lerpfrac; // csqc
        int light_lev; // ssqc
+       int message; // csqc
+       int modelflags; // ssqc
        int movement; // ssqc
        int nextthink; // common - used by OP_STATE
+       int netaddress; // ssqc
        int nodrawtoclient; // ssqc
        int pflags; // ssqc
        int ping; // ssqc
@@ -219,6 +222,7 @@ typedef struct prvm_prog_globaloffsets_s
        int v_forward; // ssqc / csqc
        int v_right; // ssqc / csqc
        int v_up; // ssqc / csqc
+       int view_angles; // csqc
        int trace_allsolid; // ssqc / csqc
        int trace_startsolid; // ssqc / csqc
        int trace_fraction; // ssqc / csqc
@@ -232,6 +236,14 @@ typedef struct prvm_prog_globaloffsets_s
        int trace_dphitq3surfaceflags; // ssqc / csqc
        int trace_dphittexturename; // ssqc / csqc
        int trace_dpstartcontents; // ssqc / csqc
+       int intermission; // csqc
+       int coop; // csqc
+       int deathmatch; // csqc
+       int dmg_take; // csqc
+       int dmg_save; // csqc
+       int dmg_origin; // csqc
+       int sb_showscores; // csqc
+       
 }
 prvm_prog_globaloffsets_t;
 
@@ -243,6 +255,7 @@ typedef struct prvm_prog_funcoffsets_s
        func_t CSQC_Ent_Remove; // csqc
        func_t CSQC_Ent_Update; // csqc
        func_t CSQC_Event; // csqc [515]: engine call this for its own needs so csqc can do some things according to what engine it's running on.  example: to say about edicts increase, whatever...
+       func_t CSQC_Event_Sound; // csqc : called by engine when an incoming sound packet arrives so CSQC can act on it
        func_t CSQC_Init; // csqc
        func_t CSQC_InputEvent; // csqc
        func_t CSQC_Parse_CenterPrint; // csqc
@@ -256,6 +269,8 @@ typedef struct prvm_prog_funcoffsets_s
        func_t SV_ChangeTeam; // ssqc
        func_t SV_ParseClientCommand; // ssqc
        func_t SV_PlayerPhysics; // ssqc
+       func_t SV_OnEntityNoSpawnFunction; // ssqc
+       func_t GameCommand; // any
 
        // menu qc only uses some functions, nothing else
        func_t m_display; // mqc
@@ -273,6 +288,7 @@ prvm_prog_funcoffsets_t;
 // NOTE: external code has to create and free the mempools but everything else is done by prvm !
 typedef struct prvm_prog_s
 {
+       double              starttime;
        dprograms_t                     *progs;
        mfunction_t                     *functions;
        char                            *strings;
@@ -449,6 +465,7 @@ void _PRVM_FreeAll (const char *filename, int fileline);
 
 void PRVM_Profile (int maxfunctions, int mininstructions);
 void PRVM_Profile_f (void);
+void PRVM_CallProfile_f (void);
 void PRVM_PrintFunction_f (void);
 
 void PRVM_PrintState(void);
@@ -472,7 +489,7 @@ void PRVM_ED_Free (prvm_edict_t *ed);
 void PRVM_ED_ClearEdict (prvm_edict_t *e);
 
 void PRVM_PrintFunctionStatements (const char *name);
-void PRVM_ED_Print(prvm_edict_t *ed);
+void PRVM_ED_Print(prvm_edict_t *ed, const char *wildcard_fieldname);
 void PRVM_ED_Write (qfile_t *f, prvm_edict_t *ed);
 const char *PRVM_ED_ParseEdict (const char *data, prvm_edict_t *ent);
 
@@ -482,8 +499,7 @@ void PRVM_ED_ParseGlobals (const char *data);
 void PRVM_ED_LoadFromFile (const char *data);
 
 prvm_edict_t *PRVM_EDICT_NUM_ERROR(int n, char *filename, int fileline);
-#define        PRVM_EDICT_NUM(n) (((n) >= 0 && (n) < prog->max_edicts) ? prog->edicts + (n) : PRVM_EDICT_NUM_ERROR(n, __FILE__, __LINE__))
-#define        PRVM_EDICT_NUM_UNSIGNED(n) (((n) < prog->max_edicts) ? prog->edicts + (n) : PRVM_EDICT_NUM_ERROR(n, __FILE__, __LINE__))
+#define        PRVM_EDICT_NUM(n) (((unsigned)(n) < (unsigned int)prog->max_edicts) ? prog->edicts + (n) : PRVM_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))
@@ -518,7 +534,7 @@ extern      int             prvm_type_size[8]; // for consistency : I think a goal of this sub-p
 void PRVM_Init_Exec(void);
 
 void PRVM_ED_PrintEdicts_f (void);
-void PRVM_ED_PrintNum (int ent);
+void PRVM_ED_PrintNum (int ent, const char *wildcard_fieldname);
 
 const char *PRVM_GetString(int num);
 int PRVM_SetEngineString(const char *s);