fix some bugs found by figuring out why PR_RESET_PARAMS exists

This commit is contained in:
Bill Currie 2006-12-05 09:55:37 +00:00 committed by Jeff Teunissen
parent 42f1334b87
commit c2b9d8d549
3 changed files with 7 additions and 1 deletions

View file

@ -214,6 +214,7 @@ sv_pr_touch (edict_t *self, edict_t *other)
*sv_globals.self = EDICT_TO_PROG (&sv_pr_state, self); *sv_globals.self = EDICT_TO_PROG (&sv_pr_state, self);
*sv_globals.other = EDICT_TO_PROG (&sv_pr_state, other); *sv_globals.other = EDICT_TO_PROG (&sv_pr_state, other);
if ((this = sv_pr_state.fields.this) != -1) { if ((this = sv_pr_state.fields.this) != -1) {
PR_RESET_PARAMS (&sv_pr_state);
P_INT (&sv_pr_state, 0) = E_POINTER (self, this); P_INT (&sv_pr_state, 0) = E_POINTER (self, this);
P_INT (&sv_pr_state, 1) = 0; P_INT (&sv_pr_state, 1) = 0;
P_INT (&sv_pr_state, 2) = E_POINTER (other, this); P_INT (&sv_pr_state, 2) = E_POINTER (other, this);
@ -234,6 +235,7 @@ sv_pr_think (edict_t *self)
*sv_globals.self = EDICT_TO_PROG (&sv_pr_state, self); *sv_globals.self = EDICT_TO_PROG (&sv_pr_state, self);
*sv_globals.other = 0; *sv_globals.other = 0;
if ((this = sv_pr_state.fields.this) != -1) { if ((this = sv_pr_state.fields.this) != -1) {
PR_RESET_PARAMS (&sv_pr_state);
P_INT (&sv_pr_state, 0) = E_POINTER (self, this); P_INT (&sv_pr_state, 0) = E_POINTER (self, this);
P_INT (&sv_pr_state, 1) = 0; P_INT (&sv_pr_state, 1) = 0;
P_INT (&sv_pr_state, 2) = 0; P_INT (&sv_pr_state, 2) = 0;
@ -249,6 +251,7 @@ sv_pr_blocked (edict_t *self, edict_t *other)
*sv_globals.self = EDICT_TO_PROG (&sv_pr_state, self); *sv_globals.self = EDICT_TO_PROG (&sv_pr_state, self);
*sv_globals.other = EDICT_TO_PROG (&sv_pr_state, other); *sv_globals.other = EDICT_TO_PROG (&sv_pr_state, other);
if ((this = sv_pr_state.fields.this) != -1) { if ((this = sv_pr_state.fields.this) != -1) {
PR_RESET_PARAMS (&sv_pr_state);
P_INT (&sv_pr_state, 0) = E_POINTER (self, this); P_INT (&sv_pr_state, 0) = E_POINTER (self, this);
P_INT (&sv_pr_state, 1) = 0; P_INT (&sv_pr_state, 1) = 0;
P_INT (&sv_pr_state, 2) = E_POINTER (other, this); P_INT (&sv_pr_state, 2) = E_POINTER (other, this);

View file

@ -203,6 +203,7 @@ sv_pr_touch (edict_t *self, edict_t *other)
*sv_globals.self = EDICT_TO_PROG (&sv_pr_state, self); *sv_globals.self = EDICT_TO_PROG (&sv_pr_state, self);
*sv_globals.other = EDICT_TO_PROG (&sv_pr_state, other); *sv_globals.other = EDICT_TO_PROG (&sv_pr_state, other);
if ((this = sv_pr_state.fields.this) != -1) { if ((this = sv_pr_state.fields.this) != -1) {
PR_RESET_PARAMS (&sv_pr_state);
P_INT (&sv_pr_state, 0) = E_POINTER (self, this); P_INT (&sv_pr_state, 0) = E_POINTER (self, this);
P_INT (&sv_pr_state, 1) = 0; P_INT (&sv_pr_state, 1) = 0;
P_INT (&sv_pr_state, 2) = E_POINTER (other, this); P_INT (&sv_pr_state, 2) = E_POINTER (other, this);
@ -223,6 +224,7 @@ sv_pr_think (edict_t *self)
*sv_globals.self = EDICT_TO_PROG (&sv_pr_state, self); *sv_globals.self = EDICT_TO_PROG (&sv_pr_state, self);
*sv_globals.other = 0; *sv_globals.other = 0;
if ((this = sv_pr_state.fields.this) != -1) { if ((this = sv_pr_state.fields.this) != -1) {
PR_RESET_PARAMS (&sv_pr_state);
P_INT (&sv_pr_state, 0) = E_POINTER (self, this); P_INT (&sv_pr_state, 0) = E_POINTER (self, this);
P_INT (&sv_pr_state, 1) = 0; P_INT (&sv_pr_state, 1) = 0;
P_INT (&sv_pr_state, 2) = 0; P_INT (&sv_pr_state, 2) = 0;
@ -238,6 +240,7 @@ sv_pr_blocked (edict_t *self, edict_t *other)
*sv_globals.self = EDICT_TO_PROG (&sv_pr_state, self); *sv_globals.self = EDICT_TO_PROG (&sv_pr_state, self);
*sv_globals.other = EDICT_TO_PROG (&sv_pr_state, other); *sv_globals.other = EDICT_TO_PROG (&sv_pr_state, other);
if ((this = sv_pr_state.fields.this) != -1) { if ((this = sv_pr_state.fields.this) != -1) {
PR_RESET_PARAMS (&sv_pr_state);
P_INT (&sv_pr_state, 0) = E_POINTER (self, this); P_INT (&sv_pr_state, 0) = E_POINTER (self, this);
P_INT (&sv_pr_state, 1) = 0; P_INT (&sv_pr_state, 1) = 0;
P_INT (&sv_pr_state, 2) = E_POINTER (other, this); P_INT (&sv_pr_state, 2) = E_POINTER (other, this);

View file

@ -860,7 +860,7 @@ SV_Say (qboolean team)
PR_PushFrame (&sv_pr_state); PR_PushFrame (&sv_pr_state);
PR_RESET_PARAMS (&sv_pr_state); PR_RESET_PARAMS (&sv_pr_state);
P_STRING (&sv_pr_state, 0) = PR_SetTempString (&sv_pr_state, p); P_STRING (&sv_pr_state, 0) = PR_SetTempString (&sv_pr_state, p);
G_FLOAT (&sv_pr_state, 1) = (float) team; P_FLOAT (&sv_pr_state, 1) = (float) team;
*sv_globals.time = sv.time; *sv_globals.time = sv.time;
*sv_globals.self = EDICT_TO_PROG (&sv_pr_state, sv_player); *sv_globals.self = EDICT_TO_PROG (&sv_pr_state, sv_player);