DarkPlaces
Game engine based on the Quake 1 engine by id Software, developed by LadyHavoc
 
prvm_prog_t Struct Reference

#include <progsvm.h>

+ Collaboration diagram for prvm_prog_t:

Data Fields

qbool allowworldwrites
 allow writing to world entity fields, this is set by server init and cleared before first server frame
 
struct animatemodel_cacheanimatemodel_cache
 
int argc
 
void(* begin_increase_edicts )(struct prvm_prog_s *prog)
 [INIT] used by PRVM_MEM_Increase_Edicts
 
int break_stack_index
 
int break_statement
 
prvm_builtin_tbuiltins
 
struct cmd_state_s * console_cmd
 points to the relevant console command interpreter for this vm (cmd_local or &cmd_server), also used to access cvars
 
void(* count_edicts )(struct prvm_prog_s *prog)
 [INIT] used by PRVM_ED_Count_f
 
int depth
 
voidedictprivate
 
int edictprivate_size
 size of the engine private struct
 
prvm_edict_tedicts
 
union { 
 
   prvm_vec_t *   fp 
 
   prvm_int_t *   ip 
 
edictsfields 
 
void(* end_increase_edicts )(struct prvm_prog_s *prog)
 [INIT]
 
int entityfields
 number of vec_t fields in progs (some variables are 3)
 
int entityfieldsarea
 LadyHavoc: equal to max_edicts * entityfields (for bounds checking)
 
void(* error_cmd )(const char *format,...) DP_FUNC_PRINTF(1) DP_FUNC_NORETURN
 [INIT]
 
void(* ExecuteProgram )(struct prvm_prog_s *prog, func_t fnum, const char *errormessage)
 pointer to one of the *VM_ExecuteProgram functions
 
int explicit_covered
 
double * explicit_profile
 only incremented if prvm_statementprofiling is on
 
const char ** extensionstring
 
mdef_tfielddefs
 
prvm_prog_fieldoffsets_t fieldoffsets
 
unsigned short filecrc
 
int firstfreeknownstring
 this is updated whenever a string is removed or added (simple optimization of the free string search)
 
unsigned flag
 flag - used to store general flags like PRVM_GE_SELF, etc.
 
void(* free_edict )(struct prvm_prog_s *prog, prvm_edict_t *ed)
 [INIT] used by PRVM_ED_Free
 
prvm_prog_funcoffsets_t funcoffsets
 
mfunction_tfunctions
 
int functions_covered
 
prvm_prog_garbagecollection_state_t gc
 garbage collection status
 
mdef_tglobaldefs
 
prvm_prog_globaloffsets_t globaloffsets
 
union { 
 
   prvm_vec_t *   fp 
 
   prvm_int_t *   ip 
 
globals 
 
void(* init_cmd )(struct prvm_prog_s *prog)
 [INIT] used by PRVM_InitProg
 
void(* init_edict )(struct prvm_prog_s *prog, prvm_edict_t *edict)
 [INIT] used by PRVM_ED_ClearEdict
 
double inittime
 system time when QC initialization code finished (any entity created before is not a leak)
 
const char ** knownstrings
 
unsigned char * knownstrings_flags
 
const char ** knownstrings_origin
 
qbool leaktest_active
 
int limit_edicts
 used instead of the constant MAX_EDICTS
 
qbool(* load_edict )(struct prvm_prog_s *prog, prvm_edict_t *ent)
 [INIT] used by PRVM_ED_LoadFromFile
 
qbool loaded
 used to indicate whether a prog is loaded
 
qbool loadintoworld
 
prvm_int_t localstack [PRVM_LOCALSTACK_SIZE]
 
int localstack_used
 
int max_edicts
 number of edicts for which space has been (should be) allocated
 
int maxknownstrings
 
const char * name
 name of the prog, e.g. "Server", "Client" or "Menu" (used for text output)
 
int num_edicts
 copies of some vars that were former read from sv
 
int numbuiltins
 
int numexplicitcoveragestatements
 
int numfielddefs
 
int numfunctions
 
int numglobaldefs
 
int numglobals
 
int numknownstrings
 
int numstatements
 
int numstrings
 
struct qfile_sopenfiles [PRVM_MAX_OPENFILES]
 
const char * openfiles_origin [PRVM_MAX_OPENFILES]
 
struct fssearch_s * opensearches [PRVM_MAX_OPENSEARCHES]
 
const char * opensearches_origin [PRVM_MAX_OPENSEARCHES]
 
voidpo
 translation buffer (only needs to be freed on unloading progs, type is private to prvm_edict.c)
 
int polygonbegin_drawflags
 
qbool polygonbegin_guess2d
 indicates if polygonbegin should be interpreted as 2d (clearscene sets this to false, renderscene sets this to true, drawpic also sets this to true) 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.
 
int polygonbegin_maxvertices
 
struct model_s * polygonbegin_model
 this tracks the last polygonbegin's choice of CL_Mesh_CSQC or CL_Mesh_UI for this polygon
 
int polygonbegin_numvertices
 
char polygonbegin_texname [MAX_QPATH]
 
floatpolygonbegin_vertexdata
 
double profiletime
 system time when last PRVM_CallProfile was called (or PRVM_Prog_Load initially)
 
int progs_crc
 
int progs_entityfields
 
mempool_tprogs_mempool
 all memory allocations related to this vm_prog (code, edicts, strings)
 
int progs_numfielddefs
 
int progs_numfunctions
 
int progs_numglobaldefs
 
int progs_numglobals
 
int progs_numstatements
 
int progs_numstrings
 
int progs_version
 
int reserved_edicts
 number of reserved edicts (allocated from 1)
 
void(* reset_cmd )(struct prvm_prog_s *prog)
 [INIT] used by PRVM_ResetProg
 
mdef_tself
 if self != 0 then there is a global self
 
struct skeleton_s * skeletons [MAX_EDICTS]
 
prvm_stack_t stack [PRVM_MAX_STACK_DEPTH+1]
 stacktrace writes into stack[MAX_STACK_DEPTH] thus increase the array, so depth wont be overwritten
 
double starttime
 system time when PRVM_Prog_Load was called
 
intstatement_columnnums
 NULL if not available.
 
intstatement_linenums
 NULL if not available.
 
double * statement_profile
 only incremented if prvm_statementprofiling is on
 
mstatement_tstatements
 
int statements_covered
 
const char * statestring
 printed together with backtraces
 
memexpandablearray_t stringbuffersarray
 
char * strings
 
const char *** stringshash
 
int stringssize
 
sizebuf_t tempstringsbuf
 buffer for storing all tempstrings created during one invocation of ExecuteProgram
 
int trace
 
int watch_edict
 
prvm_eval_t watch_edictfield_value
 
int watch_field
 
etype_t watch_field_type
 
int watch_global
 
etype_t watch_global_type
 
prvm_eval_t watch_global_value
 
mfunction_txfunction
 
int xstatement
 

Detailed Description

Definition at line 536 of file progsvm.h.

Field Documentation

◆ allowworldwrites

qbool prvm_prog_t::allowworldwrites

allow writing to world entity fields, this is set by server init and cleared before first server frame

Definition at line 697 of file progsvm.h.

Referenced by SV_SpawnServer().

◆ animatemodel_cache

◆ argc

◆ begin_increase_edicts

void(* prvm_prog_t::begin_increase_edicts) (struct prvm_prog_s *prog)

[INIT] used by PRVM_MEM_Increase_Edicts

Definition at line 734 of file progsvm.h.

Referenced by CL_VM_Init(), MP_Init(), PRVM_MEM_IncreaseEdicts(), and SV_VM_Setup().

◆ break_stack_index

int prvm_prog_t::break_stack_index

Definition at line 611 of file progsvm.h.

Referenced by PRVM_UpdateBreakpoints().

◆ break_statement

int prvm_prog_t::break_statement

◆ builtins

prvm_builtin_t* prvm_prog_t::builtins

Definition at line 604 of file progsvm.h.

Referenced by CL_VM_Init(), MP_Init(), SV_VM_Setup(), and VM_callfunction().

◆ console_cmd

struct cmd_state_s* prvm_prog_t::console_cmd

points to the relevant console command interpreter for this vm (cmd_local or &cmd_server), also used to access cvars

Definition at line 641 of file progsvm.h.

Referenced by PRVM_Cvar_ReadOk(), PRVM_Prog_Init(), PRVM_Prog_Load(), SV_Loadgame_f(), VM_buf_cvarlist(), VM_cvar(), VM_cvar_defstring(), VM_cvar_description(), VM_cvar_set(), VM_cvar_string(), VM_cvar_type(), and VM_registercvar().

◆ count_edicts

void(* prvm_prog_t::count_edicts) (struct prvm_prog_s *prog)

[INIT] used by PRVM_ED_Count_f

Definition at line 740 of file progsvm.h.

Referenced by CL_VM_Init(), MP_Init(), PRVM_ED_Count_f(), and SV_VM_Setup().

◆ depth

◆ edictprivate

void* prvm_prog_t::edictprivate

Definition at line 686 of file progsvm.h.

Referenced by PRVM_MEM_Alloc(), and PRVM_MEM_IncreaseEdicts().

◆ edictprivate_size

int prvm_prog_t::edictprivate_size

size of the engine private struct

Definition at line 689 of file progsvm.h.

Referenced by CL_VM_Init(), MP_Init(), PRVM_MEM_Alloc(), PRVM_MEM_IncreaseEdicts(), and SV_VM_Setup().

◆ edicts

prvm_edict_t* prvm_prog_t::edicts

Definition at line 680 of file progsvm.h.

Referenced by CL_Cache_TraceLineSurfaces(), CL_GetTagMatrix(), CL_LinkEdict(), CL_movestep(), CL_TraceBox(), CL_TraceLine(), CL_TracePoint(), CL_VM_Init(), CLVM_end_increase_edicts(), EntityFrame4_WriteFrame(), EntityFrame_WriteFrame(), EntityFrameCSQC_LostAllFrames(), EntityFrameCSQC_WriteFrame(), EntityFrameQuake_WriteFrame(), EntityState5_WriteUpdate(), PRVM_ED_Free(), PRVM_ED_LoadFromFile(), PRVM_MEM_Alloc(), PRVM_MEM_IncreaseEdicts(), SV_CleanupEnts(), SV_FlyMove(), SV_GetTagMatrix(), SV_LinkEdict(), SV_LinkEdict_TouchAreaGrid(), SV_movestep(), SV_Physics(), SV_Physics_Pusher(), SV_PrepareEntitiesForSending(), SV_RunThink(), SV_Savegame_to(), SV_SendServerinfo(), SV_SpawnServer(), SV_TraceBox(), SV_TraceLine(), SV_TracePoint(), SVVM_end_increase_edicts(), VM_changepitch(), VM_changeyaw(), VM_CL_copyentity(), VM_CL_droptofloor(), VM_CL_findbox(), VM_CL_findradius(), VM_CL_gettagindex(), VM_CL_makestatic(), VM_CL_R_AddEntities(), VM_CL_runplayerphysics(), VM_CL_setattachment(), VM_CL_setorigin(), VM_CL_setsize(), VM_CL_tracetoss(), VM_CL_walkmove(), VM_ClearTraceGlobals(), VM_find(), VM_findchain(), VM_findchainflags(), VM_findchainfloat(), VM_findflags(), VM_findfloat(), VM_nextent(), VM_nudgeoutofsolid(), VM_SetTraceGlobals(), VM_SV_aim(), VM_SV_checkclient(), VM_SV_copyentity(), VM_SV_droptofloor(), VM_SV_findbox(), VM_SV_findradius(), VM_SV_gettagindex(), VM_SV_makestatic(), VM_SV_MoveToGoal(), VM_SV_setattachment(), VM_SV_setmodel(), VM_SV_setmodelindex(), VM_SV_setorigin(), VM_SV_setsize(), VM_SV_spawnclient(), VM_SV_tracetoss(), VM_SV_walkmove(), World_LinkEdict(), and World_LinkEdict_AreaGrid().

◆ [union]

union { ... } prvm_prog_t::edictsfields

◆ end_increase_edicts

void(* prvm_prog_t::end_increase_edicts) (struct prvm_prog_s *prog)

[INIT]

Definition at line 735 of file progsvm.h.

Referenced by CL_VM_Init(), MP_Init(), PRVM_MEM_IncreaseEdicts(), and SV_VM_Setup().

◆ entityfields

◆ entityfieldsarea

int prvm_prog_t::entityfieldsarea

LadyHavoc: equal to max_edicts * entityfields (for bounds checking)

Definition at line 549 of file progsvm.h.

Referenced by PRVM_MEM_Alloc(), and PRVM_MEM_IncreaseEdicts().

◆ error_cmd

◆ ExecuteProgram

◆ explicit_covered

int prvm_prog_t::explicit_covered

Definition at line 576 of file progsvm.h.

Referenced by PRVM_ExplicitCoverageEvent().

◆ explicit_profile

double* prvm_prog_t::explicit_profile

only incremented if prvm_statementprofiling is on

Definition at line 575 of file progsvm.h.

Referenced by PRVM_Prog_Load(), and VM_coverage().

◆ extensionstring

const char** prvm_prog_t::extensionstring

Definition at line 705 of file progsvm.h.

Referenced by checkextension(), CL_VM_Init(), MP_Init(), and SV_VM_Setup().

◆ fielddefs

◆ fieldoffsets

◆ filecrc

unsigned short prvm_prog_t::filecrc

Definition at line 631 of file progsvm.h.

Referenced by PRVM_Prog_Load(), and SV_SendServerinfo().

◆ firstfreeknownstring

int prvm_prog_t::firstfreeknownstring

this is updated whenever a string is removed or added (simple optimization of the free string search)

Definition at line 590 of file progsvm.h.

Referenced by PRVM_AllocString(), PRVM_FreeString(), PRVM_GarbageCollection(), PRVM_NewKnownString(), and PRVM_SetEngineString().

◆ flag

unsigned prvm_prog_t::flag

flag - used to store general flags like PRVM_GE_SELF, etc.

Definition at line 703 of file progsvm.h.

Referenced by CL_CheckRequiredFuncs(), CL_VM_Init(), PRVM_Prog_Load(), and SV_VM_Setup().

◆ fp

◆ free_edict

void(* prvm_prog_t::free_edict) (struct prvm_prog_s *prog, prvm_edict_t *ed)

[INIT] used by PRVM_ED_Free

Definition at line 738 of file progsvm.h.

Referenced by CL_VM_Init(), MP_Init(), PRVM_ED_Free(), and SV_VM_Setup().

◆ funcoffsets

prvm_prog_funcoffsets_t prvm_prog_t::funcoffsets

◆ functions

◆ functions_covered

int prvm_prog_t::functions_covered

Definition at line 542 of file progsvm.h.

Referenced by PRVM_FunctionCoverageEvent().

◆ gc

garbage collection status

Definition at line 599 of file progsvm.h.

Referenced by PRVM_GarbageCollection().

◆ globaldefs

◆ globaloffsets

prvm_prog_globaloffsets_t prvm_prog_t::globaloffsets

Definition at line 692 of file progsvm.h.

Referenced by CL_VM_Init(), and PRVM_FindOffsets().

◆ [union]

◆ init_cmd

void(* prvm_prog_t::init_cmd) (struct prvm_prog_s *prog)

[INIT] used by PRVM_InitProg

Definition at line 744 of file progsvm.h.

Referenced by CL_VM_Init(), MP_Init(), PRVM_Prog_Load(), and SV_VM_Setup().

◆ init_edict

void(* prvm_prog_t::init_edict) (struct prvm_prog_s *prog, prvm_edict_t *edict)

[INIT] used by PRVM_ED_ClearEdict

Definition at line 737 of file progsvm.h.

Referenced by CL_VM_Init(), MP_Init(), PRVM_ED_ClearEdict(), and SV_VM_Setup().

◆ inittime

double prvm_prog_t::inittime

system time when QC initialization code finished (any entity created before is not a leak)

Definition at line 539 of file progsvm.h.

Referenced by CL_VM_Init(), MP_Init(), PRVM_IsEdictRelevant(), PRVM_Prog_Load(), and SV_SpawnServer().

◆ ip

prvm_int_t* prvm_prog_t::ip

◆ knownstrings

◆ knownstrings_flags

unsigned char* prvm_prog_t::knownstrings_flags

◆ knownstrings_origin

const char** prvm_prog_t::knownstrings_origin

Definition at line 593 of file progsvm.h.

Referenced by PRVM_AllocString(), PRVM_FreeString(), PRVM_LeakTest(), and PRVM_NewKnownString().

◆ leaktest_active

qbool prvm_prog_t::leaktest_active

◆ limit_edicts

int prvm_prog_t::limit_edicts

used instead of the constant MAX_EDICTS

Definition at line 675 of file progsvm.h.

Referenced by CL_VM_Init(), MP_Init(), PRVM_ED_Alloc(), PRVM_ED_ParseEpair(), PRVM_MEM_Alloc(), PRVM_MEM_IncreaseEdicts(), PRVM_Prog_Load(), and SV_VM_Setup().

◆ load_edict

qbool(* prvm_prog_t::load_edict) (struct prvm_prog_s *prog, prvm_edict_t *ent)

[INIT] used by PRVM_ED_LoadFromFile

Definition at line 742 of file progsvm.h.

Referenced by CL_VM_Init(), MP_Init(), PRVM_ED_LoadFromFile(), and SV_VM_Setup().

◆ loaded

◆ loadintoworld

qbool prvm_prog_t::loadintoworld

Definition at line 707 of file progsvm.h.

Referenced by PRVM_ED_LoadFromFile(), and SV_VM_Setup().

◆ localstack

prvm_int_t prvm_prog_t::localstack[PRVM_LOCALSTACK_SIZE]

Definition at line 628 of file progsvm.h.

Referenced by PRVM_EnterFunction(), and PRVM_LeaveFunction().

◆ localstack_used

int prvm_prog_t::localstack_used

Definition at line 629 of file progsvm.h.

Referenced by PRVM_EnterFunction(), PRVM_Init_Exec(), and PRVM_LeaveFunction().

◆ max_edicts

◆ maxknownstrings

int prvm_prog_t::maxknownstrings

Definition at line 586 of file progsvm.h.

Referenced by PRVM_NewKnownString(), and PRVM_Prog_Load().

◆ name

◆ num_edicts

◆ numbuiltins

int prvm_prog_t::numbuiltins

Definition at line 605 of file progsvm.h.

Referenced by CL_VM_Init(), MP_Init(), and SV_VM_Setup().

◆ numexplicitcoveragestatements

int prvm_prog_t::numexplicitcoveragestatements

Definition at line 577 of file progsvm.h.

Referenced by PRVM_ExplicitCoverageEvent(), and PRVM_Prog_Load().

◆ numfielddefs

◆ numfunctions

◆ numglobaldefs

◆ numglobals

int prvm_prog_t::numglobals

Definition at line 568 of file progsvm.h.

Referenced by PRVM_Globals_f(), and PRVM_Prog_Load().

◆ numknownstrings

◆ numstatements

int prvm_prog_t::numstatements

◆ numstrings

int prvm_prog_t::numstrings

Definition at line 567 of file progsvm.h.

Referenced by PRVM_Prog_Load().

◆ openfiles

◆ openfiles_origin

const char* prvm_prog_t::openfiles_origin[PRVM_MAX_OPENFILES]

Definition at line 637 of file progsvm.h.

Referenced by PRVM_LeakTest(), VM_fclose(), and VM_fopen().

◆ opensearches

struct fssearch_s* prvm_prog_t::opensearches[PRVM_MAX_OPENSEARCHES]

◆ opensearches_origin

const char* prvm_prog_t::opensearches_origin[PRVM_MAX_OPENSEARCHES]

Definition at line 639 of file progsvm.h.

Referenced by PRVM_LeakTest(), VM_search_begin(), and VM_search_end().

◆ po

void* prvm_prog_t::po

translation buffer (only needs to be freed on unloading progs, type is private to prvm_edict.c)

Definition at line 714 of file progsvm.h.

Referenced by PRVM_Prog_Reset().

◆ polygonbegin_drawflags

int prvm_prog_t::polygonbegin_drawflags

Definition at line 664 of file progsvm.h.

Referenced by VM_CL_R_PolygonBegin(), and VM_CL_R_PolygonEnd().

◆ polygonbegin_guess2d

qbool prvm_prog_t::polygonbegin_guess2d

indicates if polygonbegin should be interpreted as 2d (clearscene sets this to false, renderscene sets this to true, drawpic also sets this to true) 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.

Definition at line 661 of file progsvm.h.

Referenced by CL_VM_UpdateView(), CLVM_init_cmd(), CLVM_reset_cmd(), MVM_init_cmd(), MVM_reset_cmd(), VM_CL_R_ClearScene(), VM_CL_R_PolygonBegin(), VM_CL_R_RenderScene(), VM_drawcharacter(), VM_drawcolorcodedstring(), VM_drawfill(), VM_drawline(), VM_drawpic(), VM_drawresetcliparea(), VM_drawrotpic(), VM_drawsetcliparea(), VM_drawstring(), and VM_drawsubpic().

◆ polygonbegin_maxvertices

int prvm_prog_t::polygonbegin_maxvertices

Definition at line 667 of file progsvm.h.

Referenced by VM_CL_R_PolygonVertex().

◆ polygonbegin_model

struct model_s* prvm_prog_t::polygonbegin_model

this tracks the last polygonbegin's choice of CL_Mesh_CSQC or CL_Mesh_UI for this polygon

Definition at line 654 of file progsvm.h.

Referenced by CLVM_init_cmd(), CLVM_reset_cmd(), MVM_init_cmd(), MVM_reset_cmd(), VM_CL_R_PolygonBegin(), VM_CL_R_PolygonEnd(), and VM_CL_R_PolygonVertex().

◆ polygonbegin_numvertices

int prvm_prog_t::polygonbegin_numvertices

Definition at line 666 of file progsvm.h.

Referenced by VM_CL_R_PolygonBegin(), VM_CL_R_PolygonEnd(), and VM_CL_R_PolygonVertex().

◆ polygonbegin_texname

char prvm_prog_t::polygonbegin_texname[MAX_QPATH]

Definition at line 663 of file progsvm.h.

Referenced by VM_CL_R_PolygonBegin(), and VM_CL_R_PolygonEnd().

◆ polygonbegin_vertexdata

float* prvm_prog_t::polygonbegin_vertexdata

Definition at line 668 of file progsvm.h.

Referenced by VM_CL_R_PolygonEnd(), and VM_CL_R_PolygonVertex().

◆ profiletime

double prvm_prog_t::profiletime

system time when last PRVM_CallProfile was called (or PRVM_Prog_Load initially)

Definition at line 540 of file progsvm.h.

Referenced by PRVM_CallProfile(), and PRVM_Prog_Load().

◆ progs_crc

int prvm_prog_t::progs_crc

Definition at line 553 of file progsvm.h.

Referenced by PRVM_Prog_Load(), and SV_VM_Setup().

◆ progs_entityfields

int prvm_prog_t::progs_entityfields

Definition at line 560 of file progsvm.h.

Referenced by PRVM_Prog_Load().

◆ progs_mempool

◆ progs_numfielddefs

int prvm_prog_t::progs_numfielddefs

Definition at line 556 of file progsvm.h.

Referenced by PRVM_LoadLNO(), and PRVM_Prog_Load().

◆ progs_numfunctions

int prvm_prog_t::progs_numfunctions

Definition at line 557 of file progsvm.h.

Referenced by PRVM_Prog_Load(), PRVM_UglyValueString(), and PRVM_ValueString().

◆ progs_numglobaldefs

int prvm_prog_t::progs_numglobaldefs

Definition at line 555 of file progsvm.h.

Referenced by PRVM_LoadLNO(), and PRVM_Prog_Load().

◆ progs_numglobals

int prvm_prog_t::progs_numglobals

Definition at line 559 of file progsvm.h.

Referenced by PRVM_LoadLNO(), and PRVM_Prog_Load().

◆ progs_numstatements

int prvm_prog_t::progs_numstatements

Definition at line 554 of file progsvm.h.

Referenced by PRVM_LoadLNO(), and PRVM_Prog_Load().

◆ progs_numstrings

int prvm_prog_t::progs_numstrings

Definition at line 558 of file progsvm.h.

Referenced by PRVM_Prog_Load().

◆ progs_version

int prvm_prog_t::progs_version

Definition at line 552 of file progsvm.h.

Referenced by PRVM_Prog_Load().

◆ reserved_edicts

int prvm_prog_t::reserved_edicts

number of reserved edicts (allocated from 1)

Definition at line 678 of file progsvm.h.

Referenced by CL_VM_Init(), PRVM_ED_Alloc(), PRVM_ED_Free(), PRVM_IsEdictRelevant(), PRVM_MEM_Alloc(), SV_VM_Setup(), and VM_remove().

◆ reset_cmd

void(* prvm_prog_t::reset_cmd) (struct prvm_prog_s *prog)

[INIT] used by PRVM_ResetProg

Definition at line 745 of file progsvm.h.

Referenced by CL_VM_Init(), MP_Init(), PRVM_Prog_Reset(), and SV_VM_Setup().

◆ self

mdef_t* prvm_prog_t::self

if self != 0 then there is a global self

Definition at line 729 of file progsvm.h.

◆ skeletons

◆ stack

prvm_stack_t prvm_prog_t::stack[PRVM_MAX_STACK_DEPTH+1]

stacktrace writes into stack[MAX_STACK_DEPTH] thus increase the array, so depth wont be overwritten

Definition at line 625 of file progsvm.h.

Referenced by PRVM_EnterFunction(), PRVM_LeaveFunction(), PRVM_PrintState(), PRVM_ShortStackTrace(), and PRVM_StackTrace().

◆ starttime

double prvm_prog_t::starttime

system time when PRVM_Prog_Load was called

Definition at line 538 of file progsvm.h.

Referenced by PRVM_ED_CanAlloc(), PRVM_Prog_Load(), uri_to_string_callback(), VM_gettime(), and VM_uri_get().

◆ statement_columnnums

int* prvm_prog_t::statement_columnnums

NULL if not available.

Definition at line 571 of file progsvm.h.

Referenced by PRVM_LoadLNO(), PRVM_PrintStatement(), PRVM_StackTrace(), and PRVM_WhereAmI().

◆ statement_linenums

int* prvm_prog_t::statement_linenums

NULL if not available.

Definition at line 570 of file progsvm.h.

Referenced by PRVM_LoadLNO(), PRVM_PrintStatement(), PRVM_StackTrace(), and PRVM_WhereAmI().

◆ statement_profile

double* prvm_prog_t::statement_profile

only incremented if prvm_statementprofiling is on

Definition at line 573 of file progsvm.h.

Referenced by PRVM_PrintFunctionStatements(), PRVM_PrintStatement(), and PRVM_Prog_Load().

◆ statements

◆ statements_covered

int prvm_prog_t::statements_covered

Definition at line 574 of file progsvm.h.

Referenced by PRVM_StatementCoverageEvent().

◆ statestring

const char* prvm_prog_t::statestring

printed together with backtraces

Definition at line 717 of file progsvm.h.

Referenced by PRVM_ED_Write(), PRVM_ED_WriteGlobals(), and PRVM_PrintState().

◆ stringbuffersarray

◆ strings

char* prvm_prog_t::strings

Definition at line 543 of file progsvm.h.

Referenced by PRVM_GetString(), PRVM_Prog_Load(), and PRVM_SetEngineString().

◆ stringshash

const char*** prvm_prog_t::stringshash

Definition at line 594 of file progsvm.h.

◆ stringssize

int prvm_prog_t::stringssize

Definition at line 544 of file progsvm.h.

Referenced by PRVM_GetString(), PRVM_Prog_Load(), and PRVM_SetEngineString().

◆ tempstringsbuf

sizebuf_t prvm_prog_t::tempstringsbuf

◆ trace

int prvm_prog_t::trace

Definition at line 609 of file progsvm.h.

Referenced by CLVM_ExecuteProgram(), SVVM_ExecuteProgram(), VM_traceoff(), and VM_traceon().

◆ watch_edict

int prvm_prog_t::watch_edict

Definition at line 615 of file progsvm.h.

Referenced by PRVM_UpdateBreakpoints().

◆ watch_edictfield_value

prvm_eval_t prvm_prog_t::watch_edictfield_value

Definition at line 618 of file progsvm.h.

Referenced by PRVM_UpdateBreakpoints().

◆ watch_field

int prvm_prog_t::watch_field

Definition at line 616 of file progsvm.h.

Referenced by PRVM_UpdateBreakpoints().

◆ watch_field_type

etype_t prvm_prog_t::watch_field_type

◆ watch_global

int prvm_prog_t::watch_global

Definition at line 612 of file progsvm.h.

Referenced by PRVM_UpdateBreakpoints().

◆ watch_global_type

etype_t prvm_prog_t::watch_global_type

◆ watch_global_value

prvm_eval_t prvm_prog_t::watch_global_value

Definition at line 614 of file progsvm.h.

Referenced by PRVM_UpdateBreakpoints().

◆ xfunction

◆ xstatement

int prvm_prog_t::xstatement

The documentation for this struct was generated from the following file: