cvar_t prvm_traceqc = {0, "prvm_traceqc", "0", "prints every QuakeC statement as it is executed (only for really thorough debugging!)"};
// LordHavoc: counts usage of each QuakeC statement
cvar_t prvm_statementprofiling = {0, "prvm_statementprofiling", "0", "counts how many times each QuakeC statement has been executed, these counts are displayed in prvm_printfunction output (if enabled)"};
+cvar_t prvm_timeprofiling = {0, "prvm_timeprofiling", "0", "counts how long each function has been executed, these counts are displayed in prvm_profile output (if enabled)"};
cvar_t prvm_backtraceforwarnings = {0, "prvm_backtraceforwarnings", "0", "print a backtrace for warnings too"};
cvar_t prvm_leaktest = {0, "prvm_leaktest", "0", "try to detect memory leaks in strings or entities"};
cvar_t prvm_leaktest_ignore_classnames = {0, "prvm_leaktest_ignore_classnames", "", "classnames of entities to NOT leak check because they are found by find(world, classname, ...) but are actually spawned by QC code (NOT map entities)"};
prog->globaloffsets.v_right = PRVM_ED_FindGlobalOffset("v_right");
prog->globaloffsets.v_up = PRVM_ED_FindGlobalOffset("v_up");
prog->globaloffsets.view_angles = PRVM_ED_FindGlobalOffset("view_angles");
+ prog->globaloffsets.view_punchangle = PRVM_ED_FindGlobalOffset("view_punchangle");
+ prog->globaloffsets.view_punchvector = PRVM_ED_FindGlobalOffset("view_punchvector");
prog->globaloffsets.worldstatus = PRVM_ED_FindGlobalOffset("worldstatus");
prog->globaloffsets.particles_alphamin = PRVM_ED_FindGlobalOffset("particles_alphamin");
prog->globaloffsets.particles_alphamax = PRVM_ED_FindGlobalOffset("particles_alphamax");
Cvar_RegisterVariable (&prvm_language);
Cvar_RegisterVariable (&prvm_traceqc);
Cvar_RegisterVariable (&prvm_statementprofiling);
+ Cvar_RegisterVariable (&prvm_timeprofiling);
Cvar_RegisterVariable (&prvm_backtraceforwarnings);
Cvar_RegisterVariable (&prvm_leaktest);
Cvar_RegisterVariable (&prvm_leaktest_ignore_classnames);
if(prog->knownstrings[i])
if(prog->knownstrings_freeable[i])
if(prog->knownstrings_origin[i])
- if(!PRVM_IsStringReferenced(-1 - i))
+ if(!PRVM_IsStringReferenced(PRVM_KNOWNSTRINGBASE + i))
{
Con_Printf("Unreferenced string found!\n Value: %s\n Origin: %s\n", prog->knownstrings[i], prog->knownstrings_origin[i]);
leaked = true;