]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - progsvm.h
Made Q1 face loading faster by using a faster lightmap packing algorithm.
[xonotic/darkplaces.git] / progsvm.h
index f2fe16bc37d8247f6d0e748e0c3e1a797acedb27..9ec87682397ec7c1630b375ef0f96c54a463d7fc 100644 (file)
--- a/progsvm.h
+++ b/progsvm.h
@@ -185,6 +185,7 @@ 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
@@ -235,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
+       int drawfont; // csqc / menu
 }
 prvm_prog_globaloffsets_t;
 
@@ -246,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
@@ -259,12 +269,11 @@ 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
        func_t m_draw; // mqc
-       func_t m_hide; // mqc
        func_t m_init; // mqc
        func_t m_keydown; // mqc
        func_t m_keyup; // mqc
@@ -277,6 +286,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;
@@ -303,7 +313,7 @@ typedef struct prvm_prog_s
        // (simple optimization of the free string search)
        int                                     firstfreeknownstring;
        const char                      **knownstrings;
-       unsigned char                           *knownstrings_freeable;
+       unsigned char           *knownstrings_freeable;
        const char                      ***stringshash;
 
        // all memory allocations related to this vm_prog (code, edicts, strings)
@@ -347,8 +357,8 @@ typedef struct prvm_prog_s
        int                                     reserved_edicts; // [INIT]
 
        prvm_edict_t            *edicts;
-       void                            *edictsfields;
-       void                            *edictprivate;
+       void                                    *edictsfields;
+       void                                    *edictprivate;
 
        // size of the engine private struct
        int                                     edictprivate_size; // [INIT]
@@ -365,7 +375,7 @@ typedef struct prvm_prog_s
        char                            *name; // [INIT]
 
        // flag - used to store general flags like PRVM_GE_SELF, etc.
-       int                                     flag;
+       int                             flag;
 
        char                            *extensionstring; // [INIT]
 
@@ -453,6 +463,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);