Macros | |
#define | PR_RESET_PARAMS(pr) |
Ensure P_* macros point to the right place for passing parameters to progs functions. More... | |
Functions | |
int | PR_CallFunction (progs_t *pr, func_t fnum) |
Setup to call a function. More... | |
void | PR_ExecuteProgram (progs_t *pr, func_t fnum) |
Run a progs function. More... | |
void | PR_PopFrame (progs_t *pr) |
Pop an execution frame from the VM stack. More... | |
void | PR_PushFrame (progs_t *pr) |
Push an execution frame onto the VM stack. More... | |
void | PR_RestoreParams (progs_t *pr) |
Restore the parameters saved by PR_SaveParams(). More... | |
void | PR_SaveParams (progs_t *pr) |
Save the current parameters. More... | |
#define PR_RESET_PARAMS | ( | pr | ) |
Ensure P_* macros point to the right place for passing parameters to progs functions.
pr | pointer to progs_t VM struct |
Setup to call a function.
If fnum
is a builtin rather than a progs function, then the function is called immediately. When called from a builtin function, and fnum
is not a builtin, the progs function will execute upon return of control to PR_ExecuteProgram().
pr | pointer to progs_t VM struct |
fnum | number of the function to call |
fnum
was a progs function, false if fnum
was a builtin Run a progs function.
If fnum
is a builtin rather than a progs function, PR_ExecuteProgram() will call the function and then immediately return to the caller. Nested calls are fully supported.
pr | pointer to progs_t VM struct |
fnum | number of the function to call |
|
inline |
Pop an execution frame from the VM stack.
Restores execution state. Also frees any temporary strings allocated in this frame (via PR_FreeTempStrings()).
pr | pointer to progs_t VM struct |
|
inline |
void PR_RestoreParams | ( | progs_t * | pr | ) |
Restore the parameters saved by PR_SaveParams().
pr | pointer to progs_t VM struct |