]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - progsvm.h
rename VM_hash to VM_crc16, and the extension to DP_QC_CRC16. That way, it is specifi...
[xonotic/darkplaces.git] / progsvm.h
index 178f3d815722f98e1a12cc875357f58bb0268046..8b412bca46dce777fd92476068d0fdaac2bd7e60 100644 (file)
--- a/progsvm.h
+++ b/progsvm.h
@@ -33,10 +33,8 @@ The code uses void pointers instead.
 #include "progdefs.h"                  // generated by program cdefs
 #include "clprogdefs.h"                        // generated by program cdefs
 
-#ifdef SUPPORT_GECKO
 // forward declaration of clgecko_t
 struct clgecko_s;
-#endif
 
 typedef struct prvm_stack_s
 {
@@ -119,9 +117,7 @@ typedef struct prvm_edict_s
 
 #define PRVM_MAX_OPENFILES 256
 #define PRVM_MAX_OPENSEARCHES 128
-#ifdef SUPPORT_GECKO
 #define PRVM_MAX_GECKOINSTANCES 32
-#endif
 
 typedef void (*prvm_builtin_t) (void);
 
@@ -217,6 +213,7 @@ typedef struct prvm_prog_fieldoffsets_s
        int viewmodelforclient; // ssqc
        int viewzoom; // ssqc
        int yaw_speed; // ssqc / csqc
+       int clientcamera; // ssqc
 }
 prvm_prog_fieldoffsets_t;
 
@@ -252,7 +249,6 @@ typedef struct prvm_prog_globaloffsets_s
        int dmg_origin; // csqc
        int sb_showscores; // csqc
        int drawfont; // csqc / menu
-       int input_ascii; // csqc
 }
 prvm_prog_globaloffsets_t;
 
@@ -291,6 +287,14 @@ typedef struct prvm_prog_funcoffsets_s
 }
 prvm_prog_funcoffsets_t;
 
+typedef struct prvm_stringbuffer_s
+{
+       int max_strings;
+       int num_strings;
+       char **strings;
+}
+prvm_stringbuffer_t;
+
 // [INIT] variables flagged with this token can be initialized by 'you'
 // NOTE: external code has to create and free the mempools but everything else is done by prvm !
 typedef struct prvm_prog_s
@@ -325,6 +329,8 @@ typedef struct prvm_prog_s
        unsigned char           *knownstrings_freeable;
        const char                      ***stringshash;
 
+       memexpandablearray_t    stringbuffersarray;
+
        // all memory allocations related to this vm_prog (code, edicts, strings)
        mempool_t                       *progs_mempool; // [INIT]
 
@@ -354,9 +360,7 @@ typedef struct prvm_prog_s
 
        qfile_t                         *openfiles[PRVM_MAX_OPENFILES];
        fssearch_t                      *opensearches[PRVM_MAX_OPENSEARCHES];
-#ifdef SUPPORT_GECKO
        struct clgecko_s                *opengeckoinstances[PRVM_MAX_GECKOINSTANCES];
-#endif
 
        // copies of some vars that were former read from sv
        int                                     num_edicts;