15#define reeval reeval16
16#define pr_statements pr_statements16
17#define fakeop fakeop16
18#define dstatement_t dstatement16_t
19#define sofs signed short
21#define reeval reeval32
22#define pr_statements pr_statements32
23#define fakeop fakeop32
24#define dstatement_t dstatement32_t
25#define sofs signed int
27#error INTSIZE should be set to 32.
32#define ENGINEPOINTER(p) ((char*)(p) - progfuncs->funcs.stringtable)
33#define QCPOINTER(p) (eval_t *)(p->_int+progfuncs->funcs.stringtable)
34#define QCPOINTERM(p) (eval_t *)((p)+progfuncs->funcs.stringtable)
35#define QCPOINTERWRITEFAIL(p,sz) ((unsigned int)(p)-1 >= prinst.addressableused-1-(sz))
36#define QCPOINTERREADFAIL(p,sz) ((unsigned int)(p) >= prinst.addressableused-(sz))
40#define QCFAULT return (prinst.pr_xstatement=(st-pr_statements)-1),PR_HandleFault
41#define EVAL_FLOATISTRUE(ev) ((ev)->_int & 0x7fffffff)
44#define errorif(x) if(__builtin_expect(x,0))
46#define errorif(x) if(x)
55 errorif (prinst.watch_ptr && prinst.watch_ptr->_int != prinst.watch_old._int)
58 prinst.pr_xstatement =
s;
59 if (current_progstate->linenums)
60 externs->Printf(
"Watch point hit in %s:%u, \"%s\" changed",
PR_StringToNative(&
progfuncs->funcs, prinst.pr_xfunction->s_name), current_progstate->linenums[
s-1], prinst.watch_name);
62 externs->Printf(
"Watch point hit in %s, \"%s\" changed",
PR_StringToNative(&
progfuncs->funcs, prinst.pr_xfunction->s_name), prinst.watch_name);
63 switch(prinst.watch_type)
66 externs->Printf(
" from %g to %g", prinst.watch_old._float, prinst.watch_ptr->_float);
69 externs->Printf(
" from '%g %g %g' to '%g %g %g'", prinst.watch_old._vector[0], prinst.watch_old._vector[1], prinst.watch_old._vector[2], prinst.watch_ptr->_vector[0], prinst.watch_ptr->_vector[1], prinst.watch_ptr->_vector[2]);
72 externs->Printf(
" from %i to %i", prinst.watch_old._int, prinst.watch_ptr->_int);
82 externs->Printf(
".\n");
83 prinst.watch_old = *prinst.watch_ptr;
91 st = pr_statements +
s;
92 prinst.pr_xfunction->profile+=1;
104 OPC->_float = OPA->_float + OPB->_float;
107 OPC->_vector[0] = OPA->_vector[0] + OPB->_vector[0];
108 OPC->_vector[1] = OPA->_vector[1] + OPB->_vector[1];
109 OPC->_vector[2] = OPA->_vector[2] + OPB->_vector[2];
113 OPC->_float = OPA->_float - OPB->_float;
116 OPC->_vector[0] = OPA->_vector[0] - OPB->_vector[0];
117 OPC->_vector[1] = OPA->_vector[1] - OPB->_vector[1];
118 OPC->_vector[2] = OPA->_vector[2] - OPB->_vector[2];
122 OPC->_float = OPA->_float * OPB->_float;
125 OPC->_float = OPA->_vector[0]*OPB->_vector[0]
126 + OPA->_vector[1]*OPB->_vector[1]
127 + OPA->_vector[2]*OPB->_vector[2];
131 OPC->_vector[0] = tmpf * OPB->_vector[0];
132 OPC->_vector[1] = tmpf * OPB->_vector[1];
133 OPC->_vector[2] = tmpf * OPB->_vector[2];
137 OPC->_vector[0] = tmpf * OPA->_vector[0];
138 OPC->_vector[1] = tmpf * OPA->_vector[1];
139 OPC->_vector[2] = tmpf * OPA->_vector[2];
151 OPC->_float = OPA->_float / OPB->_float;
162 OPC->_vector[0] = OPA->_vector[0] / tmpf;
163 OPC->_vector[1] = OPA->_vector[1] / tmpf;
164 OPC->_vector[2] = OPA->_vector[2] / tmpf;
168 OPC->_float = (float)((
int)OPA->_float & (
int)OPB->_float);
172 OPC->_float = (float)((
int)OPA->_float | (
int)OPB->_float);
177 OPC->_float = (float)(OPA->_float >= OPB->_float);
180 OPC->_int = (
int)(OPA->_int >= OPB->_int);
183 OPC->_int = (
int)(OPA->_int >= OPB->_float);
186 OPC->_int = (
int)(OPA->_float >= OPB->_int);
190 OPC->_float = (float)(OPA->_float <= OPB->_float);
193 OPC->_int = (
int)(OPA->_int <= OPB->_int);
196 OPC->_int = (
int)(OPA->_int <= OPB->_float);
199 OPC->_int = (
int)(OPA->_float <= OPB->_int);
202 OPC->_int = (
int)(OPA->_uint <= OPB->_uint);
206 OPC->_float = (float)(OPA->_float > OPB->_float);
209 OPC->_int = (
int)(OPA->_int > OPB->_int);
212 OPC->_int = (
int)(OPA->_int > OPB->_float);
215 OPC->_int = (
int)(OPA->_float > OPB->_int);
219 OPC->_float = (float)(OPA->_float < OPB->_float);
222 OPC->_int = (
int)(OPA->_int < OPB->_int);
225 OPC->_int = (
int)(OPA->_int < OPB->_float);
228 OPC->_int = (
int)(OPA->_float < OPB->_int);
231 OPC->_int = (OPA->_uint < OPB->_uint);
239 OPC->_float = (float)(EVAL_FLOATISTRUE(OPA) && EVAL_FLOATISTRUE(OPB));
242 OPC->_float = (float)(EVAL_FLOATISTRUE(OPA) || EVAL_FLOATISTRUE(OPB));
246 OPC->_float = (float)(!EVAL_FLOATISTRUE(OPA));
249 OPC->_float = (float)(!OPA->_vector[0] && !OPA->_vector[1] && !OPA->_vector[2]);
255 OPC->_float = (float)(!(OPA->function & ~0xff000000));
258 OPC->_float = (float)(!(OPA->edict));
261 OPC->_int = !OPA->_int;
265 OPC->_float = (float)(OPA->_float == OPB->_float);
268 OPC->_int = (float)(OPA->_int == OPB->_float);
271 OPC->_int = (float)(OPA->_float == OPB->_int);
276 OPC->_float = (float)((OPA->_vector[0] == OPB->_vector[0]) &&
277 (OPA->_vector[1] == OPB->_vector[1]) &&
278 (OPA->_vector[2] == OPB->_vector[2]));
281 if (OPA->string==OPB->string)
283 else if (!OPA->string)
290 else if (!OPB->string)
301 OPC->_float = (float)(OPA->_int == OPB->_int);
304 OPC->_float = (float)(OPA->function == OPB->function);
309 OPC->_float = (float)(OPA->_float != OPB->_float);
312 OPC->_float = (float)((OPA->_vector[0] != OPB->_vector[0]) ||
313 (OPA->_vector[1] != OPB->_vector[1]) ||
314 (OPA->_vector[2] != OPB->_vector[2]));
317 if (OPA->string==OPB->string)
319 else if (!OPA->string)
326 else if (!OPB->string)
337 OPC->_float = (float)(OPA->_int != OPB->_int);
340 OPC->_float = (float)(OPA->function != OPB->function);
345 OPB->_float = (float)OPA->_int;
348 OPB->_int = (
int)OPA->_float;
358 OPB->_int = OPA->_int;
361 OPB->_vector[0] = OPA->_vector[0];
362 OPB->_vector[1] = OPA->_vector[1];
363 OPB->_vector[2] = OPA->_vector[2];
368 i = OPB->_int + OPC->_int*
sizeof(
ptr->_float);
369 errorif (QCPOINTERWRITEFAIL(
i,
sizeof(
float)))
380 ptr->_float = (float)OPA->_int;
383 i = OPB->_int + OPC->_int*
sizeof(
ptr->_int);
384 errorif (QCPOINTERWRITEFAIL(
i,
sizeof(
int)))
395 ptr->_int = (
int)OPA->_float;
403 i = OPB->_int + OPC->_int*
sizeof(
ptr->_int);
418 ptr->_int = OPA->_int;
421 i = OPB->_int + OPC->_int*
sizeof(
ptr->_int);
439 i = OPB->_int + (OPC->_int*
sizeof(
ptr->_int));
451 ptr->_vector[0] = OPA->_vector[0];
452 ptr->_vector[1] = OPA->_vector[1];
453 ptr->_vector[2] = OPA->_vector[2];
457 i = OPB->_int + (OPC->_int)*
sizeof(
char);
458 errorif (QCPOINTERWRITEFAIL(
i,
sizeof(
char)))
469 *(
unsigned char *)
ptr = (
char)OPA->_float;
472 i = OPB->_int + (OPC->_int)*
sizeof(
pbyte);
490 errorif ((
unsigned)OPA->edict >= (
unsigned)num_edicts)
493 return prinst.pr_xstatement;
496 ed = PROG_TO_EDICT_PB(
progfuncs, OPA->edict);
506 return prinst.pr_xstatement;
515 return prinst.pr_xstatement;
521 errorif ((
unsigned int)
i*4 >= ed->fieldsize)
523 if (PR_ExecRunWarning (&
progfuncs->funcs,
st-pr_statements,
"OP_STOREF_? references invalid field %i in %s\n", OPB->_int,
PR_StringToNative(&
progfuncs->funcs, prinst.pr_xfunction->s_name)))
524 return prinst.pr_xstatement;
529 ptr->_int = OPC->_int;
532 errorif ((
unsigned)OPA->edict >= (
unsigned)num_edicts)
535 return prinst.pr_xstatement;
538 ed = PROG_TO_EDICT_PB(
progfuncs, OPA->edict);
548 return prinst.pr_xstatement;
557 return prinst.pr_xstatement;
563 errorif ((
unsigned int)
i*4 >= ed->fieldsize)
565 if (PR_ExecRunWarning (&
progfuncs->funcs,
st-pr_statements,
"OP_STOREF_? references invalid field %i in %s\n", OPB->_int,
PR_StringToNative(&
progfuncs->funcs, prinst.pr_xfunction->s_name)))
566 return prinst.pr_xstatement;
574 errorif ((
unsigned)OPA->edict >= (
unsigned)num_edicts)
577 return prinst.pr_xstatement;
580 ed = PROG_TO_EDICT_PB(
progfuncs, OPA->edict);
590 return prinst.pr_xstatement;
599 return prinst.pr_xstatement;
605 errorif ((
unsigned int)
i*4 >= ed->fieldsize)
607 if (PR_ExecRunWarning (&
progfuncs->funcs,
st-pr_statements,
"OP_STOREF_? references invalid field %i in %s\n", OPB->_int,
PR_StringToNative(&
progfuncs->funcs, prinst.pr_xfunction->s_name)))
608 return prinst.pr_xstatement;
613 ptr->_vector[0] = OPC->_vector[0];
614 ptr->_vector[1] = OPC->_vector[1];
615 ptr->_vector[2] = OPC->_vector[2];
621 errorif ((
unsigned)OPA->edict >= (
unsigned)num_edicts)
624 return prinst.pr_xstatement;
627 ed = PROG_TO_EDICT_PB(
progfuncs, OPA->edict);
643 return prinst.pr_xstatement;
654 return prinst.pr_xstatement;
661 errorif ((
unsigned int)
i*4 >= ed->fieldsize)
663 if (PR_ExecRunWarning (&
progfuncs->funcs,
st-pr_statements,
"OP_ADDRESS references invalid field %i in %s\n", OPB->_int,
PR_StringToNative(&
progfuncs->funcs, prinst.pr_xfunction->s_name)))
664 return prinst.pr_xstatement;
670 OPC->_int = ENGINEPOINTER((((
int *)edvars(ed)) +
i));
681 errorif ((
unsigned)OPA->edict >= (
unsigned)num_edicts)
683 if (PR_ExecRunWarning (&
progfuncs->funcs,
st-pr_statements,
"OP_LOAD references invalid entity %i in %s\n", OPA->edict,
PR_StringToNative(&
progfuncs->funcs, prinst.pr_xfunction->s_name)))
684 return prinst.pr_xstatement;
688 ed = PROG_TO_EDICT_PB(
progfuncs, OPA->edict);
695 if (PR_ExecRunWarning (&
progfuncs->funcs,
st-pr_statements,
"OP_LOAD references free entity %i in %s\n", OPA->edict,
PR_StringToNative(&
progfuncs->funcs, prinst.pr_xfunction->s_name)))
696 return prinst.pr_xstatement;
703 errorif ((
unsigned int)(
i+1)*4 > ed->fieldsize)
705 if (PR_ExecRunWarning (&
progfuncs->funcs,
st-pr_statements,
"OP_LOAD references invalid field %i in %s\n", OPB->_int,
PR_StringToNative(&
progfuncs->funcs, prinst.pr_xfunction->s_name)))
706 return prinst.pr_xstatement;
711 OPC->_int =
ptr->_int;
715 errorif ((
unsigned)OPA->edict >= (
unsigned)num_edicts)
717 if (PR_ExecRunWarning (&
progfuncs->funcs,
st-pr_statements,
"OP_LOAD_V references invalid entity %i in %s\n", OPA->edict,
PR_StringToNative(&
progfuncs->funcs, prinst.pr_xfunction->s_name)))
718 return prinst.pr_xstatement;
724 ed = PROG_TO_EDICT_PB(
progfuncs, OPA->edict);
731 if (PR_ExecRunWarning (&
progfuncs->funcs,
st-pr_statements,
"OP_LOAD references free entity %i in %s\n", OPA->edict,
PR_StringToNative(&
progfuncs->funcs, prinst.pr_xfunction->s_name)))
732 return prinst.pr_xstatement;
741 errorif ((
unsigned int)(
i+2)*4 > ed->fieldsize)
743 if (PR_ExecRunWarning (&
progfuncs->funcs,
st-pr_statements,
"OP_LOAD references invalid field %i in %s\n", OPB->_int,
PR_StringToNative(&
progfuncs->funcs, prinst.pr_xfunction->s_name)))
744 return prinst.pr_xstatement;
753 errorif ((
unsigned)OPA->edict >= (
unsigned)num_edicts)
755 if (PR_ExecRunWarning (&
progfuncs->funcs,
st-pr_statements,
"OP_LOAD_V references invalid entity %i in %s\n", OPA->edict,
PR_StringToNative(&
progfuncs->funcs, prinst.pr_xfunction->s_name)))
756 return prinst.pr_xstatement;
762 ed = PROG_TO_EDICT_PB(
progfuncs, OPA->edict);
769 if (PR_ExecRunWarning (&
progfuncs->funcs,
st-pr_statements,
"OP_LOAD references free entity %i in %s\n", OPA->edict,
PR_StringToNative(&
progfuncs->funcs, prinst.pr_xfunction->s_name)))
770 return prinst.pr_xstatement;
779 errorif ((
unsigned int)(
i+3)*4 > ed->fieldsize)
781 if (PR_ExecRunWarning (&
progfuncs->funcs,
st-pr_statements,
"OP_LOAD references invalid field %i in %s\n", OPB->_int,
PR_StringToNative(&
progfuncs->funcs, prinst.pr_xfunction->s_name)))
782 return prinst.pr_xstatement;
787 OPC->_vector[0] =
ptr->_vector[0];
788 OPC->_vector[1] =
ptr->_vector[1];
789 OPC->_vector[2] =
ptr->_vector[2];
798 st += (sofs)
st->b - 1;
803 if (!EVAL_FLOATISTRUE(OPA))
804 st += (sofs)
st->b - 1;
811 st += (sofs)
st->b - 1;
817 st += (sofs)
st->b - 1;
822 if (EVAL_FLOATISTRUE(OPA))
823 st += (sofs)
st->b - 1;
830 st += (sofs)
st->b - 1;
835 st += (sofs)
st->a - 1;
845 G_VECTOR(OFS_PARM1)[0] = OPC->_vector[0];
846 G_VECTOR(OFS_PARM1)[1] = OPC->_vector[1];
847 G_VECTOR(OFS_PARM1)[2] = OPC->_vector[2];
849 G_VECTOR(OFS_PARM0)[0] = OPB->_vector[0];
850 G_VECTOR(OFS_PARM0)[1] = OPB->_vector[1];
851 G_VECTOR(OFS_PARM0)[2] = OPB->_vector[2];
867 prinst.pr_xstatement =
st-pr_statements;
873 fnum = OPA->function;
877 callerprogs=prinst.pr_typecurrent;
878 newpr = (fnum & 0xff000000)>>24;
884 char *
msg = fnum?
"OP_CALL references invalid function in %s\n":
"NULL function from qc (inside %s).\n";
895 pr_globals[OFS_RETURN] = 0;
896 pr_globals[OFS_RETURN+1] = 0;
897 pr_globals[OFS_RETURN+2] = 0;
901 newf = &pr_cp_functions[fnum & ~0xff000000];
903 if (newf->first_statement <= 0)
906 if (prinst.pr_typecurrent != 0)
912 i = -newf->first_statement;
913 if (i < externs->numglobalbuiltins)
916 prinst.numtempstringsstack = prinst.numtempstrings;
921 num_edicts = sv_num_edicts;
928 return prinst.pr_xstatement;
930 s = PR_EnterFunction (
progfuncs, newf, callerprogs);
931 st = &pr_statements[
s];
942 glob[OFS_RETURN] = glob[
st->a];
943 glob[OFS_RETURN+1] = glob[
st->a+1];
944 glob[OFS_RETURN+2] = glob[
st->a+2];
947 st = &pr_statements[
s];
948 if (prinst.pr_depth == prinst.exitdepth)
950 prinst.pr_xstatement =
s;
961 OPC->_int = OPA->_int + OPB->_int;
964 OPC->_float = OPA->_float + (float)OPB->_int;
967 OPC->_float = (
float)OPA->_int + OPB->_float;
971 OPC->_int = OPA->_int - OPB->_int;
974 OPC->_float = OPA->_float - (float)OPB->_int;
977 OPC->_float = (
float)OPA->_int - OPB->_float;
981 OPC->_float = (float)OPA->_int;
984 OPC->_int = (
int)OPA->_float;
989 errorif (QCPOINTERREADFAIL(
i,
sizeof(
char)))
994 OPC->_float = (float)
ptr->_int;
999 errorif (QCPOINTERREADFAIL(
i,
sizeof(
char)))
1003 ptr = QCPOINTERM(
i);
1004 OPC->_int = (
int)
ptr->_float;
1008 OPC->_int = (OPA->_int & OPB->_int);
1012 OPC->_int = (OPA->_int | OPB->_int);
1016 OPC->_int = OPA->_int * OPB->_int;
1022 OPC->_int = OPA->_int / OPB->_int;
1025 if (OPB->_uint == 0)
1028 OPC->_uint = OPA->_uint / OPB->_uint;
1031 OPC->_int = (OPA->_int == OPB->_int);
1034 OPC->_int = (OPA->_int != OPB->_int);
1040 OPC->_int = ENGINEPOINTER(&OPA->_int + OPB->_int);
1043 OPC->_int = OPA->_int + OPB->_int*
sizeof(float);
1052 i =
st->a + OPB->_int;
1053 if ((
size_t)
i >= (size_t)(current_progstate->globals_bytes>>2))
1058 OPC->_int = ((
eval_t *)&glob[
i])->_int;
1061 i =
st->a + OPB->_int;
1062 if ((
size_t)
i >= (size_t)(current_progstate->globals_bytes>>2)-1u)
1067 OPC->i64 = ((
eval_t *)&glob[
i])->i64;
1070 i =
st->a + OPB->_int;
1071 if ((
size_t)(
i) >= (
size_t)(current_progstate->globals_bytes>>2)-2u)
1077 OPC->_vector[0] = ((
eval_t *)&glob[
i])->_vector[0];
1078 OPC->_vector[1] = ((
eval_t *)&glob[
i])->_vector[1];
1079 OPC->_vector[2] = ((
eval_t *)&glob[
i])->_vector[2];
1086 OPC->_int = OPA->_int + (
int)OPB->_float;
1089 OPC->_int = OPA->_int - OPB->_int;
1092 i = (
unsigned int)OPA->_int + (
int)OPB->_float;
1093 errorif (QCPOINTERREADFAIL(
i,
sizeof(
char)))
1106 ptr = QCPOINTERM(
i);
1107 OPC->_float = *(
unsigned char *)
ptr;
1110 i = (
unsigned int)OPA->_int + (
int)OPB->_int;
1124 ptr = QCPOINTERM(
i);
1133 i = OPA->_int + OPB->_int*4;
1134 errorif (QCPOINTERREADFAIL(
i,
sizeof(
int)))
1147 ptr = QCPOINTERM(
i);
1148 OPC->_int =
ptr->_int;
1152 i = OPA->_int + OPB->_int*4;
1153 errorif (QCPOINTERREADFAIL(
i,
sizeof(pint64_t)))
1166 ptr = QCPOINTERM(
i);
1167 OPC->i64 =
ptr->i64;
1171 i = OPA->_int + OPB->_int*4;
1178 OPC->_vector[0] = 0;
1179 OPC->_vector[1] = 0;
1180 OPC->_vector[2] = 0;
1187 ptr = QCPOINTERM(
i);
1188 OPC->_vector[0] =
ptr->_vector[0];
1189 OPC->_vector[1] =
ptr->_vector[1];
1190 OPC->_vector[2] =
ptr->_vector[2];
1194 OPC->_int = OPA->_int ^ OPB->_int;
1197 OPC->_int = OPA->_int >> OPB->_int;
1200 OPC->_uint = OPA->_uint >> OPB->_uint;
1203 OPC->_int = OPA->_int << OPB->_int;
1215 prinst.pr_xstatement =
st-pr_statements;
1218 OPC->_int = ((
eval_t *)&glob[
st->a +
i])->_int;
1224 prinst.pr_xstatement =
st-pr_statements;
1228 OPC->_vector[0] =
ptr->_vector[0];
1229 OPC->_vector[1] =
ptr->_vector[1];
1230 OPC->_vector[2] =
ptr->_vector[2];
1234 externs->cstateop(&
progfuncs->funcs, OPA->_float, OPB->_float, prinst.pr_xfunction - pr_cp_functions);
1238 externs->cwstateop(&
progfuncs->funcs, OPA->_float, OPB->_float, prinst.pr_xfunction - pr_cp_functions);
1246 OPB->_float *= OPA->_float;
1250 OPB->_vector[0] *= tmpf;
1251 OPB->_vector[1] *= tmpf;
1252 OPB->_vector[2] *= tmpf;
1256 errorif (QCPOINTERWRITEFAIL(
i,
sizeof(
float)))
1258 prinst.pr_xstatement =
st-pr_statements;
1261 ptr = QCPOINTERM(
i);
1262 OPC->_float =
ptr->_float *= OPA->_float;
1268 prinst.pr_xstatement =
st-pr_statements;
1271 ptr = QCPOINTERM(
i);
1273 OPC->_vector[0] =
ptr->_vector[0] *= tmpf;
1274 OPC->_vector[1] =
ptr->_vector[1] *= tmpf;
1275 OPC->_vector[2] =
ptr->_vector[2] *= tmpf;
1278 OPB->_float /= OPA->_float;
1282 errorif (QCPOINTERWRITEFAIL(
i,
sizeof(
float)))
1284 prinst.pr_xstatement =
st-pr_statements;
1287 ptr = QCPOINTERM(
i);
1288 OPC->_float =
ptr->_float /= OPA->_float;
1291 OPB->_float += OPA->_float;
1294 OPB->_vector[0] += OPA->_vector[0];
1295 OPB->_vector[1] += OPA->_vector[1];
1296 OPB->_vector[2] += OPA->_vector[2];
1300 errorif (QCPOINTERWRITEFAIL(
i,
sizeof(
float)))
1302 prinst.pr_xstatement =
st-pr_statements;
1305 ptr = QCPOINTERM(
i);
1306 OPC->_float =
ptr->_float += OPA->_float;
1312 prinst.pr_xstatement =
st-pr_statements;
1315 ptr = QCPOINTERM(
i);
1316 OPC->_vector[0] =
ptr->_vector[0] += OPA->_vector[0];
1317 OPC->_vector[1] =
ptr->_vector[1] += OPA->_vector[1];
1318 OPC->_vector[2] =
ptr->_vector[2] += OPA->_vector[2];
1321 OPB->_float -= OPA->_float;
1324 OPB->_vector[0] -= OPA->_vector[0];
1325 OPB->_vector[1] -= OPA->_vector[1];
1326 OPB->_vector[2] -= OPA->_vector[2];
1330 errorif (QCPOINTERWRITEFAIL(
i,
sizeof(
float)))
1332 prinst.pr_xstatement =
st-pr_statements;
1335 ptr = QCPOINTERM(
i);
1336 OPC->_float =
ptr->_float -= OPA->_float;
1342 prinst.pr_xstatement =
st-pr_statements;
1345 ptr = QCPOINTERM(
i);
1346 OPC->_vector[0] =
ptr->_vector[0] -= OPA->_vector[0];
1347 OPC->_vector[1] =
ptr->_vector[1] -= OPA->_vector[1];
1348 OPC->_vector[2] =
ptr->_vector[2] -= OPA->_vector[2];
1351 OPB->_float = (
int)OPB->_float | (
int)OPA->_float;
1355 errorif (QCPOINTERWRITEFAIL(
i,
sizeof(
float)))
1357 prinst.pr_xstatement =
st-pr_statements;
1360 ptr = QCPOINTERM(
i);
1361 ptr->_float = (
int)
ptr->_float | (
int)OPA->_float;
1364 OPB->_float = (
int)OPB->_float & ~(
int)OPA->_float;
1368 errorif (QCPOINTERWRITEFAIL(
i,
sizeof(
float)))
1370 prinst.pr_xstatement =
st-pr_statements;
1373 ptr = QCPOINTERM(
i);
1374 ptr->_float = (
int)
ptr->_float & ~(
int)OPA->_float;
1380 OPC->_float = (rand ()&0x7fff) / ((
float)0x8000);
1383 OPC->_float = (rand ()&0x7fff) / ((
float)0x8000)*OPA->_float;
1386 OPC->_float = OPA->_float + (rand ()&0x7fff) / ((
float)0x8000)*(OPB->_float-OPA->_float);
1390 OPC->_vector[0] = (rand ()&0x7fff) / ((
float)0x7fff);
1391 OPC->_vector[1] = (rand ()&0x7fff) / ((
float)0x7fff);
1392 OPC->_vector[2] = (rand ()&0x7fff) / ((
float)0x7fff);
1395 OPC->_vector[0] = (rand ()&0x7fff) / ((
float)0x7fff)*OPA->_vector[0];
1396 OPC->_vector[1] = (rand ()&0x7fff) / ((
float)0x7fff)*OPA->_vector[1];
1397 OPC->_vector[2] = (rand ()&0x7fff) / ((
float)0x7fff)*OPA->_vector[2];
1400 OPC->_vector[0] = OPA->_vector[0] + (rand ()&0x7fff) / ((
float)0x7fff)*(OPB->_vector[0]-OPA->_vector[0]);
1401 OPC->_vector[1] = OPA->_vector[1] + (rand ()&0x7fff) / ((
float)0x7fff)*(OPB->_vector[1]-OPA->_vector[1]);
1402 OPC->_vector[2] = OPA->_vector[2] + (rand ()&0x7fff) / ((
float)0x7fff)*(OPB->_vector[2]-OPA->_vector[2]);
1416 st += (sofs)
st->b - 1;
1425 st += (sofs)
st->b - 1;
1429 if (casecmp[switchcomparison](
progfuncs, switchref, OPA))
1432 st += (sofs)
st->b-1;
1437 if (casecmprange[switchcomparison](
progfuncs, switchref, OPA, OPB))
1440 st += (sofs)
st->c-1;
1452 OPC->_int = (OPA->_int & (
int)OPB->_float);
1455 OPC->_int = (OPA->_int | (
int)OPB->_float);
1458 OPC->_int = ((
int)OPA->_float & OPB->_int);
1461 OPC->_int = ((
int)OPA->_float | OPB->_int);
1465 OPC->_float = (OPA->_int * OPB->_float);
1468 OPC->_float = (OPA->_float * OPB->_int);
1473 OPC->_vector[0] = OPA->_vector[0] * tmpi;
1474 OPC->_vector[1] = OPA->_vector[1] * tmpi;
1475 OPC->_vector[2] = OPA->_vector[2] * tmpi;
1479 OPC->_vector[0] = tmpi * OPB->_vector[0];
1480 OPC->_vector[1] = tmpi * OPB->_vector[1];
1481 OPC->_vector[2] = tmpi * OPB->_vector[2];
1485 OPC->_float = (OPA->_int / OPB->_float);
1488 OPC->_float = (OPA->_float / OPB->_int);
1508 OPC->_int = (OPA->_int && OPB->_int);
1511 OPC->_int = (OPA->_int || OPB->_int);
1515 OPC->_int = (OPA->_int && OPB->_float);
1518 OPC->_int = (OPA->_int || OPB->_float);
1522 OPC->_int = (OPA->_float && OPB->_int);
1525 OPC->_int = (OPA->_float || OPB->_int);
1529 OPC->_int = (OPA->_int != OPB->_float);
1532 OPC->_int = (OPA->_float != OPB->_int);
1539 prinst.pr_xstatement =
st-pr_statements;
1548 errorif (OPA->_int < 0 || OPA->_int >= (current_progstate->globals_bytes>>2))
1550 prinst.pr_xstatement =
st-pr_statements;
1554 OPC->_int =
ptr->_int;
1557 errorif (OPA->_int < 0 || OPA->_int >= (current_progstate->globals_bytes>>2)-2u)
1559 prinst.pr_xstatement =
st-pr_statements;
1563 OPC->_vector[0] =
ptr->_vector[0];
1564 OPC->_vector[1] =
ptr->_vector[1];
1565 OPC->_vector[2] =
ptr->_vector[2];
1573 errorif (OPB->_int < 0 || OPB->_int >= (current_progstate->globals_bytes>>2))
1575 prinst.pr_xstatement =
st-pr_statements;
1579 ptr->_int = OPA->_int;
1582 errorif (OPB->_int < 0 || OPB->_int >= (current_progstate->globals_bytes>>2)-2u)
1584 prinst.pr_xstatement =
st-pr_statements;
1588 ptr->_vector[0] = OPA->_vector[0];
1589 ptr->_vector[1] = OPA->_vector[1];
1590 ptr->_vector[2] = OPA->_vector[2];
1594 errorif ((
unsigned int)OPA->_int < (
unsigned int)
st->c || (
unsigned int)OPA->_int >= (
unsigned int)
st->b)
1596 externs->Printf(
"Progs boundcheck failed. Value is %i. Must be %u<=value<%u\n", OPA->_int,
st->c,
st->b);
1597 QCFAULT(&
progfuncs->funcs,
"Progs boundcheck failed. Value is %i. Must be %u<=value<%u\n", OPA->_int,
st->c,
st->b);
1606 OPC->_int = ENGINEPOINTER(&prinst.localstack[prinst.localstack_used+prinst.spushed]);
1607 prinst.spushed += OPA->_int;
1608 if (prinst.spushed + prinst.localstack_used >= LOCALSTACK_SIZE)
1611 prinst.pr_xstatement =
st-pr_statements;
1628 case OP_ADD_I64: OPC->i64 = OPA->i64 + OPB->i64;
break;
1629 case OP_SUB_I64: OPC->i64 = OPA->i64 - OPB->i64;
break;
1630 case OP_MUL_I64: OPC->i64 = OPA->i64 * OPB->i64;
break;
1631 case OP_DIV_I64: OPC->i64 = OPA->i64 / OPB->i64;
break;
1633 case OP_BITOR_I64: OPC->i64 = OPA->i64 | OPB->i64;
break;
1637 case OP_LT_I64: OPC->_int = OPA->i64 < OPB->i64;
break;
1638 case OP_LE_I64: OPC->_int = OPA->i64 <= OPB->i64;
break;
1639 case OP_EQ_I64: OPC->_int = OPA->i64 == OPB->i64;
break;
1640 case OP_NE_I64: OPC->_int = OPA->i64 != OPB->i64;
break;
1641 case OP_LT_U64: OPC->_int = OPA->u64 < OPB->u64;
break;
1642 case OP_LE_U64: OPC->_int = OPA->u64 <= OPB->u64;
break;
1643 case OP_DIV_U64: OPC->u64 = OPA->u64 / OPB->u64;
break;
1649 case OP_CONV_FD: OPC->_double = OPA->_float;
break;
1650 case OP_CONV_DF: OPC->_float = OPA->_double;
break;
1655 case OP_ADD_D: OPC->_double = OPA->_double + OPB->_double;
break;
1656 case OP_SUB_D: OPC->_double = OPA->_double - OPB->_double;
break;
1657 case OP_MUL_D: OPC->_double = OPA->_double * OPB->_double;
break;
1658 case OP_DIV_D: OPC->_double = OPA->_double / OPB->_double;
break;
1659 case OP_LT_D: OPC->_int = OPA->_double < OPB->_double;
break;
1660 case OP_LE_D: OPC->_int = OPA->_double <= OPB->_double;
break;
1661 case OP_EQ_D: OPC->_int = OPA->_double == OPB->_double;
break;
1662 case OP_NE_D: OPC->_int = OPA->_double != OPB->_double;
break;
1675 if (
op & OP_BIT_BREAKPOINT)
1677 op &= ~OP_BIT_BREAKPOINT;
1678 s =
st-pr_statements;
1679 if (prinst.pr_xstatement !=
s)
1681 prinst.pr_xstatement =
s;
1684 st = &pr_statements[
s];
1685 prinst.pr_xstatement =
s =
st-pr_statements;
1686 op =
st->op & ~OP_BIT_BREAKPOINT;
1690 prinst.pr_xstatement =
st-pr_statements;
cvar_t msg
Definition: cl_main.c:159
s
Definition: execloop.h:53
errorif(prinst.watch_ptr &&prinst.watch_ptr->_int !=prinst.watch_old._int)
Definition: execloop.h:55
safeswitch((enum qcop_e) op)
Definition: execloop.h:101
op
Definition: execloop.h:94
st
Definition: execloop.h:91
else if(progfuncs->funcs.debug_trace) s
static CONST PIXELFORMATDESCRIPTOR *static int
Definition: gl_vidnt.c:222
eval_t * PR_GetWriteTempStringPtr(progfuncs_t *progfuncs, string_t str, size_t offset, size_t datasize)
Definition: initlib.c:1081
const char *ASMCALL PR_StringToNative(pubprogfuncs_t *ppf, string_t str)
Definition: initlib.c:1020
eval_t * PR_GetReadTempStringPtr(progfuncs_t *progfuncs, string_t str, size_t offset, size_t datasize)
Definition: initlib.c:1064
qcop_e
Definition: pr_comp.h:51
@ OP_SUB_FI
Definition: pr_comp.h:208
@ OP_STOREP_S
Definition: pr_comp.h:98
@ OP_IF_I
Definition: pr_comp.h:109
@ OP_NE_E
Definition: pr_comp.h:72
@ OP_LT_D
Definition: pr_comp.h:396
@ OP_LOADA_ENT
Definition: pr_comp.h:245
@ OP_AND_I
Definition: pr_comp.h:298
@ OP_LOADA_I64
Definition: pr_comp.h:377
@ OP_LE_FI
Definition: pr_comp.h:271
@ OP_CONV_DF
Definition: pr_comp.h:384
@ OP_CALL7H
Definition: pr_comp.h:195
@ OP_SUBSTORE_V
Definition: pr_comp.h:145
@ OP_BITSETSTOREP_F
Definition: pr_comp.h:161
@ OP_ADD_I
Definition: pr_comp.h:203
@ OP_FETCH_GBL_F
Definition: pr_comp.h:149
@ OP_GSTOREP_FLD
Definition: pr_comp.h:311
@ OP_STORE_V
Definition: pr_comp.h:90
@ OP_GSTOREP_FNC
Definition: pr_comp.h:313
@ OP_ADDSTORE_F
Definition: pr_comp.h:139
@ OP_RANDV2
Definition: pr_comp.h:170
@ OP_LOADP_B
Definition: pr_comp.h:343
@ OP_RSHIFT_U
Definition: pr_comp.h:350
@ OP_SUB_F
Definition: pr_comp.h:60
@ OP_MUL_I64
Definition: pr_comp.h:355
@ OP_LOAD_ENT
Definition: pr_comp.h:83
@ OP_LOAD_F
Definition: pr_comp.h:80
@ OP_IFNOT_F
Definition: pr_comp.h:333
@ OP_LT_FI
Definition: pr_comp.h:273
@ OP_GE_I
Definition: pr_comp.h:262
@ OP_DIV_I
Definition: pr_comp.h:224
@ OP_LT_I
Definition: pr_comp.h:263
@ OP_LOAD_FLD
Definition: pr_comp.h:84
@ OP_ADD_SF
Definition: pr_comp.h:281
@ OP_MUL_VI
Definition: pr_comp.h:290
@ OP_BITOR_F
Definition: pr_comp.h:126
@ OP_STOREP_V
Definition: pr_comp.h:97
@ OP_GLOAD_ENT
Definition: pr_comp.h:319
@ OP_GLOAD_F
Definition: pr_comp.h:317
@ OP_BITXOR_I
Definition: pr_comp.h:235
@ OP_LOADP_C
Definition: pr_comp.h:284
@ OP_EQ_FI
Definition: pr_comp.h:277
@ OP_CONV_FD
Definition: pr_comp.h:383
@ OP_GSTOREP_I
Definition: pr_comp.h:308
@ OP_FETCH_GBL_E
Definition: pr_comp.h:152
@ OP_MUL_VF
Definition: pr_comp.h:56
@ OP_ADD_IF
Definition: pr_comp.h:205
@ OP_GLOAD_FLD
Definition: pr_comp.h:318
@ OP_NOT_I
Definition: pr_comp.h:231
@ OP_LOADA_I
Definition: pr_comp.h:248
@ OP_GSTOREP_F
Definition: pr_comp.h:309
@ OP_CALL8
Definition: pr_comp.h:119
@ OP_CONV_ITOF
Definition: pr_comp.h:211
@ OP_SUB_I64
Definition: pr_comp.h:354
@ OP_CALL1H
Definition: pr_comp.h:189
@ OP_CWSTATE
Definition: pr_comp.h:156
@ OP_DIV_F
Definition: pr_comp.h:57
@ OP_GT_F
Definition: pr_comp.h:78
@ OP_STOREP_IF
Definition: pr_comp.h:217
@ OP_DIV_IF
Definition: pr_comp.h:292
@ OP_MUL_I
Definition: pr_comp.h:223
@ OP_OR_FI
Definition: pr_comp.h:303
@ OP_CALL6
Definition: pr_comp.h:117
@ OP_RAND0
Definition: pr_comp.h:165
@ OP_SUB_S
Definition: pr_comp.h:282
@ OP_ADD_V
Definition: pr_comp.h:59
@ OP_STOREF_V
Definition: pr_comp.h:336
@ OP_LSHIFT_I64I
Definition: pr_comp.h:360
@ OP_STOREP_ENT
Definition: pr_comp.h:99
@ OP_RSHIFT_I64I
Definition: pr_comp.h:361
@ OP_ADDSTORE_V
Definition: pr_comp.h:140
@ OP_STOREP_FNC
Definition: pr_comp.h:101
@ OP_AND_IF
Definition: pr_comp.h:300
@ OP_CALL5H
Definition: pr_comp.h:193
@ OP_CALL5
Definition: pr_comp.h:116
@ OP_LOADP_V
Definition: pr_comp.h:254
@ OP_NE_FNC
Definition: pr_comp.h:73
@ OP_NUMREALOPS
Definition: pr_comp.h:401
@ OP_RANDV0
Definition: pr_comp.h:168
@ OP_CALL6H
Definition: pr_comp.h:194
@ OP_NE_S
Definition: pr_comp.h:71
@ OP_BITOR_FI
Definition: pr_comp.h:297
@ OP_LT_IF
Definition: pr_comp.h:268
@ OP_STORE_P
Definition: pr_comp.h:250
@ OP_CONV_FTOI
Definition: pr_comp.h:212
@ OP_LOADA_FNC
Definition: pr_comp.h:247
@ OP_LOADP_ENT
Definition: pr_comp.h:256
@ OP_STORE_I
Definition: pr_comp.h:199
@ OP_SUB_V
Definition: pr_comp.h:61
@ OP_BITAND_FI
Definition: pr_comp.h:296
@ OP_SWITCH_V
Definition: pr_comp.h:173
@ OP_MUL_IV
Definition: pr_comp.h:291
@ OP_MULSTORE_F
Definition: pr_comp.h:131
@ OP_NOT_ENT
Definition: pr_comp.h:107
@ OP_CONV_I64F
Definition: pr_comp.h:385
@ OP_GSTOREP_S
Definition: pr_comp.h:312
@ OP_STOREP_I64
Definition: pr_comp.h:374
@ OP_STORE_IF
Definition: pr_comp.h:200
@ OP_RSHIFT_U64I
Definition: pr_comp.h:370
@ OP_GLOAD_I
Definition: pr_comp.h:316
@ OP_OR_IF
Definition: pr_comp.h:301
@ OP_STOREF_I64
Definition: pr_comp.h:375
@ OP_STOREP_FI
Definition: pr_comp.h:218
@ OP_FETCH_GBL_V
Definition: pr_comp.h:150
@ OP_LOADP_I64
Definition: pr_comp.h:378
@ OP_SUBSTORE_F
Definition: pr_comp.h:144
@ OP_STOREP_I
Definition: pr_comp.h:216
@ OP_CALL3H
Definition: pr_comp.h:191
@ OP_SWITCH_I
Definition: pr_comp.h:329
@ OP_DIV_FI
Definition: pr_comp.h:293
@ OP_EQ_FNC
Definition: pr_comp.h:67
@ OP_DIV_D
Definition: pr_comp.h:394
@ OP_STOREP_B
Definition: pr_comp.h:342
@ OP_LE_U
Definition: pr_comp.h:347
@ OP_STOREP_FLD
Definition: pr_comp.h:100
@ OP_SUBSTOREP_V
Definition: pr_comp.h:147
@ OP_BITOR_I64
Definition: pr_comp.h:358
@ OP_MUL_FV
Definition: pr_comp.h:55
@ OP_LOAD_P
Definition: pr_comp.h:251
@ OP_STOREF_F
Definition: pr_comp.h:337
@ OP_ADD_D
Definition: pr_comp.h:391
@ OP_NE_V
Definition: pr_comp.h:70
@ OP_STORE_FLD
Definition: pr_comp.h:93
@ OP_GLOBALADDRESS
Definition: pr_comp.h:239
@ OP_ADD_PIW
Definition: pr_comp.h:240
@ OP_CALL1
Definition: pr_comp.h:112
@ OP_EQ_I
Definition: pr_comp.h:225
@ OP_EQ_V
Definition: pr_comp.h:64
@ OP_THINKTIME
Definition: pr_comp.h:158
@ OP_STORE_ENT
Definition: pr_comp.h:92
@ OP_BITCLRSTORE_F
Definition: pr_comp.h:162
@ OP_MUL_IF
Definition: pr_comp.h:288
@ OP_LE_D
Definition: pr_comp.h:395
@ OP_MUL_D
Definition: pr_comp.h:393
@ OP_LOADP_FTOI
Definition: pr_comp.h:214
@ OP_LE_U64
Definition: pr_comp.h:367
@ OP_GSTOREP_ENT
Definition: pr_comp.h:310
@ OP_GT_IF
Definition: pr_comp.h:269
@ OP_NE_IF
Definition: pr_comp.h:304
@ OP_IF_F
Definition: pr_comp.h:332
@ OP_ADD_F
Definition: pr_comp.h:58
@ OP_CONV_I64D
Definition: pr_comp.h:387
@ OP_NUMOPS
Definition: pr_comp.h:567
@ OP_UNUSED
Definition: pr_comp.h:325
@ OP_LT_F
Definition: pr_comp.h:77
@ OP_FETCH_GBL_S
Definition: pr_comp.h:151
@ OP_RSHIFT_I
Definition: pr_comp.h:236
@ OP_LOADP_S
Definition: pr_comp.h:255
@ OP_MUL_FI
Definition: pr_comp.h:289
@ OP_LOADA_F
Definition: pr_comp.h:242
@ OP_GE_F
Definition: pr_comp.h:76
@ OP_GE_IF
Definition: pr_comp.h:267
@ OP_MULSTOREP_VF
Definition: pr_comp.h:134
@ OP_DIV_U
Definition: pr_comp.h:349
@ OP_CONV_UI64
Definition: pr_comp.h:380
@ OP_LE_I
Definition: pr_comp.h:261
@ OP_LE_F
Definition: pr_comp.h:75
@ OP_LOADP_I
Definition: pr_comp.h:259
@ OP_STOREP_C
Definition: pr_comp.h:283
@ OP_DIVSTORE_F
Definition: pr_comp.h:136
@ OP_BITAND_F
Definition: pr_comp.h:125
@ OP_LE_IF
Definition: pr_comp.h:266
@ OP_STOREF_I
Definition: pr_comp.h:339
@ OP_CALL8H
Definition: pr_comp.h:196
@ OP_ADD_FI
Definition: pr_comp.h:204
@ OP_NE_D
Definition: pr_comp.h:398
@ OP_GE_FI
Definition: pr_comp.h:272
@ OP_IFNOT_S
Definition: pr_comp.h:228
@ OP_AND_F
Definition: pr_comp.h:122
@ OP_CALL0
Definition: pr_comp.h:111
@ OP_LOADP_FLD
Definition: pr_comp.h:257
@ OP_NE_F
Definition: pr_comp.h:69
@ OP_NOT_F
Definition: pr_comp.h:104
@ OP_STORE_S
Definition: pr_comp.h:91
@ OP_LOAD_S
Definition: pr_comp.h:82
@ OP_OR_I
Definition: pr_comp.h:299
@ OP_LT_I64
Definition: pr_comp.h:363
@ OP_CALL4
Definition: pr_comp.h:115
@ OP_ADDSTOREP_V
Definition: pr_comp.h:142
@ OP_EQ_E
Definition: pr_comp.h:66
@ OP_DIV_VF
Definition: pr_comp.h:233
@ OP_FETCH_GBL_FNC
Definition: pr_comp.h:153
@ OP_STOREP_F
Definition: pr_comp.h:96
@ OP_DIV_I64
Definition: pr_comp.h:356
@ OP_RANDV1
Definition: pr_comp.h:169
@ OP_STORE_I64
Definition: pr_comp.h:373
@ OP_ADD_I64
Definition: pr_comp.h:353
@ OP_SUB_D
Definition: pr_comp.h:392
@ OP_SUB_IF
Definition: pr_comp.h:209
@ OP_RAND2
Definition: pr_comp.h:167
@ OP_CSTATE
Definition: pr_comp.h:155
@ OP_BITXOR_I64
Definition: pr_comp.h:359
@ OP_LSHIFT_I
Definition: pr_comp.h:237
@ OP_CONV_FI64
Definition: pr_comp.h:386
@ OP_LOAD_I64
Definition: pr_comp.h:376
@ OP_CALL2H
Definition: pr_comp.h:190
@ OP_CALL2
Definition: pr_comp.h:113
@ OP_GLOAD_V
Definition: pr_comp.h:330
@ OP_EQ_D
Definition: pr_comp.h:397
@ OP_LE_I64
Definition: pr_comp.h:362
@ OP_STORE_FI
Definition: pr_comp.h:201
@ OP_MUL_V
Definition: pr_comp.h:54
@ OP_CONV_I64I
Definition: pr_comp.h:382
@ OP_EQ_I64
Definition: pr_comp.h:364
@ OP_GLOAD_S
Definition: pr_comp.h:320
@ OP_NE_I64
Definition: pr_comp.h:365
@ OP_LOADA_FLD
Definition: pr_comp.h:246
@ OP_LT_U64
Definition: pr_comp.h:368
@ OP_SUB_I
Definition: pr_comp.h:207
@ OP_SWITCH_E
Definition: pr_comp.h:175
@ OP_CONV_DI64
Definition: pr_comp.h:388
@ OP_ADDSTOREP_F
Definition: pr_comp.h:141
@ OP_NE_FI
Definition: pr_comp.h:305
@ OP_LOADP_F
Definition: pr_comp.h:253
@ OP_STATE
Definition: pr_comp.h:120
@ OP_GT_I
Definition: pr_comp.h:264
@ OP_LOAD_I
Definition: pr_comp.h:215
@ OP_SWITCH_FNC
Definition: pr_comp.h:176
@ OP_LOADA_V
Definition: pr_comp.h:243
@ OP_LOADA_S
Definition: pr_comp.h:244
@ OP_CALL3
Definition: pr_comp.h:114
@ OP_BITCLRSTOREP_F
Definition: pr_comp.h:163
@ OP_LOADP_ITOF
Definition: pr_comp.h:213
@ OP_RETURN
Definition: pr_comp.h:103
@ OP_BITAND_I64
Definition: pr_comp.h:357
@ OP_OR_F
Definition: pr_comp.h:123
@ OP_IF_S
Definition: pr_comp.h:229
@ OP_ADDRESS
Definition: pr_comp.h:87
@ OP_IFNOT_I
Definition: pr_comp.h:110
@ OP_SUBSTOREP_F
Definition: pr_comp.h:146
@ OP_EQ_IF
Definition: pr_comp.h:276
@ OP_BITAND_I
Definition: pr_comp.h:220
@ OP_EQ_F
Definition: pr_comp.h:63
@ OP_SWITCH_S
Definition: pr_comp.h:174
@ OP_DONE
Definition: pr_comp.h:52
@ OP_NOT_V
Definition: pr_comp.h:105
@ OP_DIV_U64
Definition: pr_comp.h:369
@ OP_BOUNDCHECK
Definition: pr_comp.h:324
@ OP_CONV_II64
Definition: pr_comp.h:381
@ OP_AND_FI
Definition: pr_comp.h:302
@ OP_GSTOREP_V
Definition: pr_comp.h:314
@ OP_EQ_S
Definition: pr_comp.h:65
@ OP_BITOR_IF
Definition: pr_comp.h:295
@ OP_MULSTOREP_F
Definition: pr_comp.h:133
@ OP_STOREF_S
Definition: pr_comp.h:338
@ OP_LOAD_FNC
Definition: pr_comp.h:85
@ OP_NE_I
Definition: pr_comp.h:226
@ OP_GT_FI
Definition: pr_comp.h:274
@ OP_NOT_FNC
Definition: pr_comp.h:108
@ OP_RAND1
Definition: pr_comp.h:166
@ OP_DIVSTOREP_F
Definition: pr_comp.h:137
@ OP_LOAD_V
Definition: pr_comp.h:81
@ OP_GOTO
Definition: pr_comp.h:121
@ OP_GLOAD_FNC
Definition: pr_comp.h:321
@ OP_BITAND_IF
Definition: pr_comp.h:294
@ OP_CALL7
Definition: pr_comp.h:118
@ OP_GADDRESS
Definition: pr_comp.h:315
@ OP_STORE_FNC
Definition: pr_comp.h:94
@ OP_MULSTORE_VF
Definition: pr_comp.h:132
@ OP_CASE
Definition: pr_comp.h:178
@ OP_SWITCH_F
Definition: pr_comp.h:172
@ OP_BITSETSTORE_F
Definition: pr_comp.h:160
@ OP_LT_U
Definition: pr_comp.h:348
@ OP_BITOR_I
Definition: pr_comp.h:221
@ OP_MUL_F
Definition: pr_comp.h:53
@ OP_LOADP_FNC
Definition: pr_comp.h:258
@ OP_NOT_S
Definition: pr_comp.h:106
@ OP_CALL4H
Definition: pr_comp.h:192
@ OP_CASERANGE
Definition: pr_comp.h:179
@ OP_STORE_F
Definition: pr_comp.h:89
char * PR_ValueString(progfuncs_t *progfuncs, etype_t type, eval_t *val, pbool verbose)
Definition: pr_edict.c:519
char * PR_GlobalStringNoContents(progfuncs_t *progfuncs, int ofs)
Definition: pr_edict.c:992
ddef16_t * ED_GlobalAtOfs16(progfuncs_t *progfuncs, int ofs)
Definition: pr_edict.c:219
fdef_t * ED_FieldAtOfs(progfuncs_t *progfuncs, unsigned int ofs)
Definition: pr_edict.c:251
ddef32_t * ED_GlobalAtOfs32(progfuncs_t *progfuncs, unsigned int ofs)
Definition: pr_edict.c:232
int ShowStep(progfuncs_t *progfuncs, int statement, char *fault, pbool fatal)
Definition: pr_exec.c:1336
void PDECL PR_StackTrace(pubprogfuncs_t *ppf, int showlocals)
Definition: pr_exec.c:371
void VARGS PR_RunError(pubprogfuncs_t *progfuncs, const char *error,...)
Definition: pr_exec.c:1491
const char * PR_GetEdictClassname(progfuncs_t *progfuncs, unsigned int edict)
Definition: pr_exec.c:1556
pubprogfuncs_t progfuncs
Definition: pr_lua.c:198
pbool PR_SwitchProgsParms(progfuncs_t *progfuncs, progsnum_t newpr)
Definition: pr_multi.c:45
unsigned char pbyte
Definition: progsint.h:39
@ ER_FREE
Definition: progslib.h:62
@ ev_function
Definition: progslib.h:83
@ ev_vector
Definition: progslib.h:80
@ ev_entity
Definition: progslib.h:81
@ ev_string
Definition: progslib.h:78
@ ev_float
Definition: progslib.h:79
@ DEBUG_TRACE_INTO
Definition: progslib.h:102
pint_t progsnum_t
Definition: progtype.h:64
pvec_t pvec3_t[3]
Definition: progtype.h:63
@ OP_PUSH
Definition: qvm.c:300
@ OP_POP
Definition: qvm.c:301
static int void * ptr
Definition: snd_dma.c:483
int i
Definition: snd_ov.c:50
Definition: pr_comp.h:633
string_t s_name
Definition: pr_comp.h:637
Definition: pr_comp.h:641
Definition: progslib.h:111
const char * name
Definition: progslib.h:115
Definition: progdefs.h:24
int char * function
Definition: progslib.h:195
int debug_trace
Definition: progslib.h:174
int callargc
Definition: progslib.h:182
int fieldadjust
Definition: progslib.h:187
struct globalvars_s *PDECL * globals(pubprogfuncs_t *prinst, progsnum_t num)
Definition: progslib.h:295