]> de.git.xonotic.org Git - voretournament/voretournament.git/blobdiff - misc/source/fteqcc-src/progsint.h
Update fteqcc source
[voretournament/voretournament.git] / misc / source / fteqcc-src / progsint.h
index e0d5cd461d7f84e78d1d46f887959bb52f78063e..795dcb5e06f090b6ba88a53e114dc0f5c11c5a93 100644 (file)
@@ -1,5 +1,7 @@
 #ifdef _WIN32
+       #ifndef _CRT_SECURE_NO_WARNINGS
        #define _CRT_SECURE_NO_WARNINGS
+       #endif
        #define _CRT_NONSTDC_NO_WARNINGS
        #ifndef AVAIL_ZLIB
                #ifdef _MSC_VER
@@ -34,10 +36,6 @@ typedef unsigned char qbyte;
 #define PROGSUSED
 #endif
 
-extern int maxedicts;
-extern int maxprogs;
-extern int hunksize;
-
 #include "progtype.h"
 #include "progslib.h"
 
@@ -188,6 +186,7 @@ typedef struct progstate_s
        void    *statements;
 //     void                    *global_struct;
        float                   *globals;                       // same as pr_global_struct
+       int                             globals_size;   // in bytes
 
        typeinfo_t      *types;
 
@@ -201,6 +200,10 @@ typedef struct progstate_s
        int *linenums;  //debug versions only
 
        progstructtype_t structtype;
+
+#ifdef QCJIT
+       struct jitstate *jit;
+#endif
 } progstate_t;
 
 typedef struct extensionbuiltin_s {
@@ -279,7 +282,7 @@ unsigned int NUM_FOR_EDICT(progfuncs_t *progfuncs, struct edict_s *e);
 #define        GQ_STRING(o) (*(QCC_string_t *)&pr_globals[o])
 #define GQ_STRING2(o) ((char*)*(QCC_string_t *)&pr_globals[o])
 #define        G_FUNCTION(o) (*(func_t *)&pr_globals[o])
-#define G_PROG(o) (*(progsnum_t *)&pr_globals[o])      //simply so it's nice and easy to change...
+#define G_PROG(o) G_FLOAT(o)   //simply so it's nice and easy to change...
 
 #define        RETURN_EDICT(e) (((int *)pr_globals)[OFS_RETURN] = EDICT_TO_PROG(e))
 
@@ -343,9 +346,6 @@ void PR_SetBuiltins(int type);
 #define vars(type, name, size) type name[size]
 
 typedef struct prinst_s {
-#ifdef QCJIT
-       struct jitstate *jit;
-#endif
        char **tempstrings;
        int maxtempstrings;
        int numtempstrings;
@@ -355,8 +355,8 @@ typedef struct prinst_s {
        int maxallocedstrings;
        int numallocedstrings;
 
-var(progstate_t *, pr_progstate);
-#define pr_progstate prinst->pr_progstate
+var(progstate_t *, progstate);
+#define pr_progstate prinst->progstate
 
 var(progsnum_t, pr_typecurrent);
 #define pr_typecurrent prinst->pr_typecurrent
@@ -481,6 +481,7 @@ pbool CompileFile(progfuncs_t *progfuncs, char *filename);
 struct jitstate;
 struct jitstate *PR_GenerateJit(progfuncs_t *progfuncs);
 void PR_EnterJIT(progfuncs_t *progfuncs, struct jitstate *jitstate, int statement);
+void PR_CloseJit(struct jitstate *jit);
 
 char *QCC_COM_Parse (char *data);
 extern char    qcc_token[1024];