}
if (prog->watch_field_type != ev_void && prog->watch_edict < prog->max_edicts)
{
- prvm_vec_t *f = PRVM_EDICTFIELDVALUE(prog->edicts + prog->watch_edict, prog->watch_field);
+ prvm_eval_t *f = PRVM_EDICTFIELDVALUE(prog->edicts + prog->watch_edict, prog->watch_field);
prog->xstatement = st + 1 - prog->statements;
PRVM_Watchpoint(prog, 1, "Entityfield watchpoint hit by engine", prog->watch_field_type, &prog->watch_edictfield_value, f);
}
OPC->_float = OPA->vector[0]*OPB->vector[0] + OPA->vector[1]*OPB->vector[1] + OPA->vector[2]*OPB->vector[2];
break;
case OP_MUL_FV:
- OPC->vector[0] = OPA->_float * OPB->vector[0];
- OPC->vector[1] = OPA->_float * OPB->vector[1];
- OPC->vector[2] = OPA->_float * OPB->vector[2];
+ tempfloat = OPA->_float;
+ OPC->vector[0] = tempfloat * OPB->vector[0];
+ OPC->vector[1] = tempfloat * OPB->vector[1];
+ OPC->vector[2] = tempfloat * OPB->vector[2];
break;
case OP_MUL_VF:
- OPC->vector[0] = OPB->_float * OPA->vector[0];
- OPC->vector[1] = OPB->_float * OPA->vector[1];
- OPC->vector[2] = OPB->_float * OPA->vector[2];
+ tempfloat = OPB->_float;
+ OPC->vector[0] = tempfloat * OPA->vector[0];
+ OPC->vector[1] = tempfloat * OPA->vector[1];
+ OPC->vector[2] = tempfloat * OPA->vector[2];
break;
case OP_DIV_F:
if( OPB->_float != 0.0f )
case OP_STOREP_FLD: // integers
case OP_STOREP_S:
case OP_STOREP_FNC: // pointers
- if (OPB->_int < 0 || OPB->_int + 1 > prog->entityfieldsarea)
+ if ((unsigned int)OPB->_int >= (unsigned int)prog->entityfieldsarea)
{
PreError();
prog->error_cmd("%s attempted to write to an out of bounds edict (%i)", prog->name, (int)OPB->_int);
break;
case OP_ADDRESS:
- if (OPA->edict < 0 || OPA->edict >= prog->max_edicts)
+ if ((unsigned int)OPA->edict >= (unsigned int)prog->max_edicts)
{
PreError();
prog->error_cmd("%s Progs attempted to address an out of bounds edict number", prog->name);
case OP_LOAD_ENT:
case OP_LOAD_S:
case OP_LOAD_FNC:
- if (OPA->edict < 0 || OPA->edict >= prog->max_edicts)
+ if ((unsigned int)OPA->edict >= (unsigned int)prog->max_edicts)
{
PreError();
prog->error_cmd("%s Progs attempted to read an out of bounds edict number", prog->name);
break;
case OP_LOAD_V:
- if (OPA->edict < 0 || OPA->edict >= prog->max_edicts)
+ if ((unsigned int)OPA->edict >= (unsigned int)prog->max_edicts)
{
PreError();
prog->error_cmd("%s Progs attempted to read an out of bounds edict number", prog->name);
goto cleanup;
}
ed = PRVM_PROG_TO_EDICT(OPA->edict);
- OPC->ivector[0] = ((prvm_eval_t *)(ed->fields.ip + OPB->_int))->ivector[0];
- OPC->ivector[1] = ((prvm_eval_t *)(ed->fields.ip + OPB->_int))->ivector[1];
- OPC->ivector[2] = ((prvm_eval_t *)(ed->fields.ip + OPB->_int))->ivector[2];
+ ptr = (prvm_eval_t *)(ed->fields.ip + OPB->_int);
+ OPC->ivector[0] = ptr->ivector[0];
+ OPC->ivector[1] = ptr->ivector[1];
+ OPC->ivector[2] = ptr->ivector[2];
break;
//==================
}
if (prog->watch_field_type != ev_void && prog->watch_edict < prog->max_edicts)
{
- prvm_vec_t *f = PRVM_EDICTFIELDVALUE(prog->edicts + prog->watch_edict, prog->watch_field);
+ prvm_eval_t *f = PRVM_EDICTFIELDVALUE(prog->edicts + prog->watch_edict, prog->watch_field);
prog->xstatement = st - prog->statements;
PRVM_Watchpoint(prog, 0, "Entityfield watchpoint hit", prog->watch_field_type, &prog->watch_edictfield_value, f);
}