mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-05-30 00:10:40 +00:00
can now handle > vector sized parameters
This commit is contained in:
parent
e732cf591d
commit
f7d806e8d5
13 changed files with 103 additions and 60 deletions
|
@ -134,7 +134,7 @@ qboolean PR_EdictValid (progs_t *pr, int e);
|
|||
#define G_GPOINTER(p,o) PR_GetPointer (p, o)
|
||||
#define G_STRUCT(p,t,o) (*(t *)G_GPOINTER (p, o))
|
||||
|
||||
#define P_var(p,n,t) G_var (p, (OFS_PARM0 + (n) * 3), t)
|
||||
#define P_var(p,n,t) ((p)->pr_params[n]->t##_var)
|
||||
|
||||
#define P_FLOAT(p,n) P_var (p, n, float)
|
||||
#define P_INT(p,n) P_var (p, n, integer)
|
||||
|
@ -150,7 +150,7 @@ qboolean PR_EdictValid (progs_t *pr, int e);
|
|||
#define P_GPOINTER(p,n) PR_GetPointer (p, P_POINTER (p, n))
|
||||
#define P_STRUCT(p,t,n) (*(t *)P_GPOINTER (p, n))
|
||||
|
||||
#define R_var(p,t) G_var (p, OFS_RETURN, t)
|
||||
#define R_var(p,t) ((p)->pr_return->t##_var)
|
||||
|
||||
#define R_FLOAT(p) R_var (p, float)
|
||||
#define R_INT(p) R_var (p, integer)
|
||||
|
@ -320,6 +320,10 @@ struct progs_s {
|
|||
pr_type_t *pr_globals; // same as pr_global_struct
|
||||
int globals_size;
|
||||
|
||||
pr_type_t *pr_return;
|
||||
pr_type_t *pr_params[MAX_PARMS];
|
||||
int pr_param_size; // covers both params and return
|
||||
|
||||
int pr_edict_size; // in bytes
|
||||
int pr_edictareasize; // for bounds checking, starts at 0
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue