]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - progsvm.h
fs: Use stdint type for fs_offset_t
[xonotic/darkplaces.git] / progsvm.h
index 82cb66c8f423f2bd80ffc003fd81c48bc5495b2b..9ee619a0f4962abf50d5352ab2c55dbee214a5f5 100644 (file)
--- a/progsvm.h
+++ b/progsvm.h
@@ -69,7 +69,7 @@ typedef struct prvm_required_field_s
 //     it belongs to prvm.
 typedef struct prvm_edict_private_s
 {
-       qboolean free;
+       qbool free;
        double freetime; // realtime of last change to "free" (i.e. also set on allocation)
        int mark; // used during leaktest (0 = unref, >0 = referenced); special values during server physics:
 #define PRVM_EDICT_MARK_WAIT_FOR_SETORIGIN -1
@@ -99,7 +99,7 @@ typedef struct prvm_edict_s
                //              ... } server_edict_private_t;
                // or:
                //      typedef struct server_edict_private_s {
-               //              qboolean free;
+               //              qbool free;
                //              float freetime;
                //              vec3_t moved_from;
                //      vec3_t moved_fromangles;
@@ -525,8 +525,8 @@ typedef struct prvm_prog_s
        int                             functions_covered;
        char                            *strings;
        int                                     stringssize;
-       ddef_t                          *fielddefs;
-       ddef_t                          *globaldefs;
+       mdef_t                          *fielddefs;
+       mdef_t                          *globaldefs;
        mstatement_t            *statements;
        int                                     entityfields;                   // number of vec_t fields in progs (some variables are 3)
        int                                     entityfieldsarea;               // LadyHavoc: equal to max_edicts * entityfields (for bounds checking)
@@ -641,7 +641,7 @@ typedef struct prvm_prog_s
        // note that in FTEQW polygonbegin with 2 args is handled very differently,
        // where the behavior is always 3D unless DRAWFLAG_2D is passed, but
        // DRAWFLAG_2D conflicts with our DRAWFLAG_SCREEN.
-       qboolean                        polygonbegin_guess2d;
+       qbool                   polygonbegin_guess2d;
        // the texture name and drawflags provided to polygonbegin
        char                            polygonbegin_texname[MAX_QPATH];
        int                                     polygonbegin_drawflags;
@@ -677,7 +677,7 @@ typedef struct prvm_prog_s
 
        // allow writing to world entity fields, this is set by server init and
        // cleared before first server frame
-       qboolean                        allowworldwrites;
+       qbool                   allowworldwrites;
 
        // name of the prog, e.g. "Server", "Client" or "Menu" (used for text output)
        const char                      *name; // [INIT]
@@ -687,11 +687,11 @@ typedef struct prvm_prog_s
 
        const char                      **extensionstring; // [INIT]
 
-       qboolean                        loadintoworld; // [INIT]
+       qbool                   loadintoworld; // [INIT]
 
        // used to indicate whether a prog is loaded
-       qboolean                        loaded;
-       qboolean                        leaktest_active;
+       qbool                   loaded;
+       qbool                   leaktest_active;
 
        // translation buffer (only needs to be freed on unloading progs, type is private to prvm_edict.c)
        void *po;
@@ -709,7 +709,7 @@ typedef struct prvm_prog_s
 
        //============================================================================
 
-       ddef_t                          *self; // if self != 0 then there is a global self
+       mdef_t                          *self; // if self != 0 then there is a global self
 
        //============================================================================
        // function pointers
@@ -722,7 +722,7 @@ typedef struct prvm_prog_s
 
        void                            (*count_edicts)(struct prvm_prog_s *prog); // [INIT] used by PRVM_ED_Count_f
 
-       qboolean                        (*load_edict)(struct prvm_prog_s *prog, prvm_edict_t *ent); // [INIT] used by PRVM_ED_LoadFromFile
+       qbool                   (*load_edict)(struct prvm_prog_s *prog, prvm_edict_t *ent); // [INIT] used by PRVM_ED_LoadFromFile
 
        void                            (*init_cmd)(struct prvm_prog_s *prog); // [INIT] used by PRVM_InitProg
        void                            (*reset_cmd)(struct prvm_prog_s *prog); // [INIT] used by PRVM_ResetProg
@@ -813,8 +813,8 @@ void PRVM_ShortStackTrace(prvm_prog_t *prog, char *buf, size_t bufsize);
 const char *PRVM_AllocationOrigin(prvm_prog_t *prog);
 void PRVM_GarbageCollection(prvm_prog_t *prog);
 
-ddef_t *PRVM_ED_FindField(prvm_prog_t *prog, const char *name);
-ddef_t *PRVM_ED_FindGlobal(prvm_prog_t *prog, const char *name);
+mdef_t *PRVM_ED_FindField(prvm_prog_t *prog, const char *name);
+mdef_t *PRVM_ED_FindGlobal(prvm_prog_t *prog, const char *name);
 prvm_eval_t *PRVM_ED_FindGlobalEval(prvm_prog_t *prog, const char *name);
 mfunction_t *PRVM_ED_FindFunction(prvm_prog_t *prog, const char *name);
 
@@ -826,7 +826,7 @@ func_t PRVM_ED_FindFunctionOffset(prvm_prog_t *prog, const char *name);
 
 void PRVM_MEM_IncreaseEdicts(prvm_prog_t *prog);
 
-qboolean PRVM_ED_CanAlloc(prvm_prog_t *prog, prvm_edict_t *e);
+qbool PRVM_ED_CanAlloc(prvm_prog_t *prog, prvm_edict_t *e);
 prvm_edict_t *PRVM_ED_Alloc(prvm_prog_t *prog);
 void PRVM_ED_Free(prvm_prog_t *prog, prvm_edict_t *ed);
 void PRVM_ED_ClearEdict(prvm_prog_t *prog, prvm_edict_t *e);
@@ -839,6 +839,10 @@ const char *PRVM_ED_ParseEdict(prvm_prog_t *prog, const char *data, prvm_edict_t
 void PRVM_ED_WriteGlobals(prvm_prog_t *prog, qfile_t *f);
 void PRVM_ED_ParseGlobals(prvm_prog_t *prog, const char *data);
 
+void PRVM_ED_CallPrespawnFunction(prvm_prog_t *prog, prvm_edict_t *ent);
+qbool PRVM_ED_CallSpawnFunction(prvm_prog_t *prog, prvm_edict_t *ent, const char *data, const char *start);
+void PRVM_ED_CallPostspawnFunction (prvm_prog_t *prog, prvm_edict_t *ent);
+
 void PRVM_ED_LoadFromFile(prvm_prog_t *prog, const char *data);
 
 unsigned int PRVM_EDICT_NUM_ERROR(prvm_prog_t *prog, unsigned int n, const char *filename, int fileline);
@@ -887,8 +891,8 @@ int PRVM_SetTempString(prvm_prog_t *prog, const char *s);
 int PRVM_AllocString(prvm_prog_t *prog, size_t bufferlength, char **pointer);
 void PRVM_FreeString(prvm_prog_t *prog, int num);
 
-ddef_t *PRVM_ED_FieldAtOfs(prvm_prog_t *prog, int ofs);
-qboolean PRVM_ED_ParseEpair(prvm_prog_t *prog, prvm_edict_t *ent, ddef_t *key, const char *s, qboolean parsebackslash);
+mdef_t *PRVM_ED_FieldAtOfs(prvm_prog_t *prog, unsigned int ofs);
+qbool PRVM_ED_ParseEpair(prvm_prog_t *prog, prvm_edict_t *ent, mdef_t *key, const char *s, qbool parsebackslash);
 char *PRVM_UglyValueString(prvm_prog_t *prog, etype_t type, prvm_eval_t *val, char *line, size_t linelength);
 char *PRVM_GlobalString(prvm_prog_t *prog, int ofs, char *line, size_t linelength);
 char *PRVM_GlobalStringNoContents(prvm_prog_t *prog, int ofs, char *line, size_t linelength);