X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=progsvm.h;h=9ee619a0f4962abf50d5352ab2c55dbee214a5f5;hb=e986019c2a74207ee993591d021e563457bafef1;hp=82cb66c8f423f2bd80ffc003fd81c48bc5495b2b;hpb=487018e74a3d4099baf296b57a5a12f0eee00f32;p=xonotic%2Fdarkplaces.git diff --git a/progsvm.h b/progsvm.h index 82cb66c8..9ee619a0 100644 --- 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);