X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=progsvm.h;h=738101bb97542b0e1c648140266718a26f377712;hb=b4ab81bedb237ddbf81675531e0c58b07ad6b07b;hp=2651749497f30f61162a8206a03884698bd87fa7;hpb=dcf2feebb91580baccadb844a0749518c32ccb55;p=xonotic%2Fdarkplaces.git diff --git a/progsvm.h b/progsvm.h index 26517494..738101bb 100644 --- a/progsvm.h +++ b/progsvm.h @@ -70,7 +70,7 @@ typedef struct prvm_required_field_s typedef struct prvm_edict_private_s { qboolean free; - float freetime; // realtime of last change to "free" (i.e. also set on allocation) + 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 #define PRVM_EDICT_MARK_SETORIGIN_CAUGHT -2 @@ -685,7 +685,7 @@ typedef struct prvm_prog_s // flag - used to store general flags like PRVM_GE_SELF, etc. int flag; - const char *extensionstring; // [INIT] + const char **extensionstring; // [INIT] qboolean loadintoworld; // [INIT] @@ -763,8 +763,8 @@ extern const int vm_sv_numbuiltins; extern const int vm_cl_numbuiltins; extern const int vm_m_numbuiltins; -extern const char * vm_sv_extensions; // client also uses this -extern const char * vm_m_extensions; +extern const char *vm_sv_extensions[]; // client also uses this +extern const char *vm_m_extensions[]; void SVVM_init_cmd(prvm_prog_t *prog); void SVVM_reset_cmd(prvm_prog_t *prog); @@ -815,6 +815,7 @@ 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); +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); int PRVM_ED_FindFieldOffset(prvm_prog_t *prog, const char *name); @@ -838,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); +qboolean 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);