summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
982686b)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@11807
d7cf8633-e32d-0410-b094-
e92efae38249
// #404 void(vector org, string modelname, float startframe, float endframe, float framerate) effect (DP_SV_EFFECT)
static void VM_CL_effect (prvm_prog_t *prog)
{
// #404 void(vector org, string modelname, float startframe, float endframe, float framerate) effect (DP_SV_EFFECT)
static void VM_CL_effect (prvm_prog_t *prog)
{
+#if 1
+ Con_Printf("WARNING: VM_CL_effect not implemented\n"); // FIXME: this needs to take modelname not modelindex, the csqc defs has it as string and so it shall be
+#else
vec3_t org;
VM_SAFEPARMCOUNT(5, VM_CL_effect);
VectorCopy(PRVM_G_VECTOR(OFS_PARM0), org);
CL_Effect(org, (int)PRVM_G_FLOAT(OFS_PARM1), (int)PRVM_G_FLOAT(OFS_PARM2), (int)PRVM_G_FLOAT(OFS_PARM3), PRVM_G_FLOAT(OFS_PARM4));
vec3_t org;
VM_SAFEPARMCOUNT(5, VM_CL_effect);
VectorCopy(PRVM_G_VECTOR(OFS_PARM0), org);
CL_Effect(org, (int)PRVM_G_FLOAT(OFS_PARM1), (int)PRVM_G_FLOAT(OFS_PARM2), (int)PRVM_G_FLOAT(OFS_PARM3), PRVM_G_FLOAT(OFS_PARM4));
}
// #405 void(vector org, vector velocity, float howmany) te_blood (DP_TE_BLOOD)
}
// #405 void(vector org, vector velocity, float howmany) te_blood (DP_TE_BLOOD)
void VM_ftos(prvm_prog_t *prog)
{
void VM_ftos(prvm_prog_t *prog)
{
char s[128];
VM_SAFEPARMCOUNT(1, VM_ftos);
v = PRVM_G_FLOAT(OFS_PARM0);
char s[128];
VM_SAFEPARMCOUNT(1, VM_ftos);
v = PRVM_G_FLOAT(OFS_PARM0);
- if ((float)((int)v) == v)
- dpsnprintf(s, sizeof(s), "%i", (int)v);
+ if ((prvm_vec_t)((prvm_int_t)v) == v)
+ dpsnprintf(s, sizeof(s), "%.0f", v);
else
dpsnprintf(s, sizeof(s), "%f", v);
PRVM_G_INT(OFS_RETURN) = PRVM_SetTempString(prog, s);
else
dpsnprintf(s, sizeof(s), "%f", v);
PRVM_G_INT(OFS_RETURN) = PRVM_SetTempString(prog, s);
void VM_fabs(prvm_prog_t *prog)
{
void VM_fabs(prvm_prog_t *prog)
{
VM_SAFEPARMCOUNT(1,VM_fabs);
VM_SAFEPARMCOUNT(1,VM_fabs);
========================
VM_itof
========================
VM_itof
========================
*/
void VM_itof(prvm_prog_t *prog)
========================
*/
void VM_itof(prvm_prog_t *prog)
*/
void VM_ftoe(prvm_prog_t *prog)
{
*/
void VM_ftoe(prvm_prog_t *prog)
{
VM_SAFEPARMCOUNT(1, VM_ftoe);
VM_SAFEPARMCOUNT(1, VM_ftoe);
- ent = (int)PRVM_G_FLOAT(OFS_PARM0);
+ ent = (prvm_int_t)PRVM_G_FLOAT(OFS_PARM0);
if (ent < 0 || ent >= prog->max_edicts || PRVM_PROG_TO_EDICT(ent)->priv.required->free)
ent = 0; // return world instead of a free or invalid entity
if (ent < 0 || ent >= prog->max_edicts || PRVM_PROG_TO_EDICT(ent)->priv.required->free)
ent = 0; // return world instead of a free or invalid entity
// LordHavoc: search for flags in float fields
void VM_findflags(prvm_prog_t *prog)
{
// LordHavoc: search for flags in float fields
void VM_findflags(prvm_prog_t *prog)
{
- int e;
- int f;
- int s;
+ prvm_int_t e;
+ prvm_int_t f;
+ prvm_int_t s;
prvm_edict_t *ed;
VM_SAFEPARMCOUNT(3, VM_findflags);
prvm_edict_t *ed;
VM_SAFEPARMCOUNT(3, VM_findflags);
e = PRVM_G_EDICTNUM(OFS_PARM0);
f = PRVM_G_INT(OFS_PARM1);
e = PRVM_G_EDICTNUM(OFS_PARM0);
f = PRVM_G_INT(OFS_PARM1);
- s = (int)PRVM_G_FLOAT(OFS_PARM2);
+ s = (prvm_int_t)PRVM_G_FLOAT(OFS_PARM2);
for (e++ ; e < prog->num_edicts ; e++)
{
for (e++ ; e < prog->num_edicts ; e++)
{
continue;
if (!PRVM_E_FLOAT(ed,f))
continue;
continue;
if (!PRVM_E_FLOAT(ed,f))
continue;
- if ((int)PRVM_E_FLOAT(ed,f) & s)
+ if ((prvm_int_t)PRVM_E_FLOAT(ed,f) & s)
{
VM_RETURN_EDICT(ed);
return;
{
VM_RETURN_EDICT(ed);
return;
// LordHavoc: chained search for flags in float fields
void VM_findchainflags(prvm_prog_t *prog)
{
// LordHavoc: chained search for flags in float fields
void VM_findchainflags(prvm_prog_t *prog)
{
- int i;
- int f;
- int s;
+ prvm_int_t i;
+ prvm_int_t f;
+ prvm_int_t s;
prvm_edict_t *ent, *chain;
int chainfield;
prvm_edict_t *ent, *chain;
int chainfield;
chain = (prvm_edict_t *)prog->edicts;
f = PRVM_G_INT(OFS_PARM0);
chain = (prvm_edict_t *)prog->edicts;
f = PRVM_G_INT(OFS_PARM0);
- s = (int)PRVM_G_FLOAT(OFS_PARM1);
+ s = (prvm_int_t)PRVM_G_FLOAT(OFS_PARM1);
ent = PRVM_NEXT_EDICT(prog->edicts);
for (i = 1;i < prog->num_edicts;i++, ent = PRVM_NEXT_EDICT(ent))
ent = PRVM_NEXT_EDICT(prog->edicts);
for (i = 1;i < prog->num_edicts;i++, ent = PRVM_NEXT_EDICT(ent))
continue;
if (!PRVM_E_FLOAT(ent,f))
continue;
continue;
if (!PRVM_E_FLOAT(ent,f))
continue;
- if (!((int)PRVM_E_FLOAT(ent,f) & s))
+ if (!((prvm_int_t)PRVM_E_FLOAT(ent,f) & s))
continue;
PRVM_EDICTFIELDEDICT(ent,chainfield) = PRVM_EDICT_TO_PROG(chain);
continue;
PRVM_EDICTFIELDEDICT(ent,chainfield) = PRVM_EDICT_TO_PROG(chain);
*/
void VM_rint(prvm_prog_t *prog)
{
*/
void VM_rint(prvm_prog_t *prog)
{
VM_SAFEPARMCOUNT(1,VM_rint);
f = PRVM_G_FLOAT(OFS_PARM0);
VM_SAFEPARMCOUNT(1,VM_rint);
f = PRVM_G_FLOAT(OFS_PARM0);
{
ddef_t *d;
int i = (int)PRVM_G_FLOAT(OFS_PARM0);
{
ddef_t *d;
int i = (int)PRVM_G_FLOAT(OFS_PARM0);
if (i < 0 || i >= prog->numfielddefs)
{
if (i < 0 || i >= prog->numfielddefs)
{
- VM_Warning(prog, "VM_entityfieldname: %s: field index out of bounds\n", prog->name);
- PRVM_G_INT(OFS_RETURN) = PRVM_SetTempString(prog, "");
+ VM_Warning(prog, "VM_entityfieldname: %s: field index out of bounds\n", prog->name);
+ PRVM_G_INT(OFS_RETURN) = PRVM_SetTempString(prog, "");
d = &prog->fielddefs[i];
PRVM_G_INT(OFS_RETURN) = d->s_name; // presuming that s_name points to a string already
}
d = &prog->fielddefs[i];
PRVM_G_INT(OFS_RETURN) = d->s_name; // presuming that s_name points to a string already
}
}
d = &prog->fielddefs[i];
}
d = &prog->fielddefs[i];
- PRVM_G_FLOAT(OFS_RETURN) = (float)d->type;
+ PRVM_G_FLOAT(OFS_RETURN) = (prvm_vec_t)d->type;
}
// KrimZon - DP_QC_ENTITYDATA
}
// KrimZon - DP_QC_ENTITYDATA
- PRVM_G_FLOAT(OFS_RETURN) = (float) realtime;
+ PRVM_G_FLOAT(OFS_RETURN) = (prvm_vec_t) realtime;
entchannel = CHAN_USER2ENGINE(entchannel);
if (!IS_CHAN(entchannel))
VM_Warning(prog, "VM_getsoundtime: %s: bad channel %i\n", prog->name, entchannel);
entchannel = CHAN_USER2ENGINE(entchannel);
if (!IS_CHAN(entchannel))
VM_Warning(prog, "VM_getsoundtime: %s: bad channel %i\n", prog->name, entchannel);
- PRVM_G_FLOAT(OFS_RETURN) = (float)S_GetEntChannelPosition(entnum, entchannel);
+ PRVM_G_FLOAT(OFS_RETURN) = (prvm_vec_t)S_GetEntChannelPosition(entnum, entchannel);
*/
void VM_modulo(prvm_prog_t *prog)
{
*/
void VM_modulo(prvm_prog_t *prog)
{
VM_SAFEPARMCOUNT(2,VM_module);
VM_SAFEPARMCOUNT(2,VM_module);
- val = (int) PRVM_G_FLOAT(OFS_PARM0);
- m = (int) PRVM_G_FLOAT(OFS_PARM1);
+ val = (prvm_int_t) PRVM_G_FLOAT(OFS_PARM0);
+ m = (prvm_int_t) PRVM_G_FLOAT(OFS_PARM1);
- PRVM_G_FLOAT(OFS_RETURN) = (float) (val % m);
+ PRVM_G_FLOAT(OFS_RETURN) = (prvm_vec_t) (val % m);
}
static void VM_Search_Init(prvm_prog_t *prog)
}
static void VM_Search_Init(prvm_prog_t *prog)
// float(float number, float quantity) bitshift (EXT_BITSHIFT)
void VM_bitshift (prvm_prog_t *prog)
{
// float(float number, float quantity) bitshift (EXT_BITSHIFT)
void VM_bitshift (prvm_prog_t *prog)
{
VM_SAFEPARMCOUNT(2, VM_bitshift);
VM_SAFEPARMCOUNT(2, VM_bitshift);
- n1 = (int)fabs((float)((int)PRVM_G_FLOAT(OFS_PARM0)));
- n2 = (int)PRVM_G_FLOAT(OFS_PARM1);
+ n1 = (prvm_int_t)fabs((prvm_vec_t)((prvm_int_t)PRVM_G_FLOAT(OFS_PARM0)));
+ n2 = (prvm_int_t)PRVM_G_FLOAT(OFS_PARM1);
if(!n1)
PRVM_G_FLOAT(OFS_RETURN) = n1;
else
if(!n1)
PRVM_G_FLOAT(OFS_RETURN) = n1;
else
- PRVM_G_FLOAT( OFS_RETURN ) = (float) (count / 2);
+ PRVM_G_FLOAT( OFS_RETURN ) = (prvm_vec_t) (count / 2);
static void VM_SV_particle(prvm_prog_t *prog)
{
vec3_t org, dir;
static void VM_SV_particle(prvm_prog_t *prog)
{
vec3_t org, dir;
- float color;
- float count;
+ int color;
+ int count;
VM_SAFEPARMCOUNT(4, VM_SV_particle);
VectorCopy(PRVM_G_VECTOR(OFS_PARM0), org);
VectorCopy(PRVM_G_VECTOR(OFS_PARM1), dir);
VM_SAFEPARMCOUNT(4, VM_SV_particle);
VectorCopy(PRVM_G_VECTOR(OFS_PARM0), org);
VectorCopy(PRVM_G_VECTOR(OFS_PARM1), dir);
- color = PRVM_G_FLOAT(OFS_PARM2);
- count = PRVM_G_FLOAT(OFS_PARM3);
- SV_StartParticle (org, dir, (int)color, (int)count);
+ color = (int)PRVM_G_FLOAT(OFS_PARM2);
+ count = (int)PRVM_G_FLOAT(OFS_PARM3);
+ SV_StartParticle (org, dir, color, count);
{
const char *samp;
vec3_t pos;
{
const char *samp;
vec3_t pos;
- float vol, attenuation;
+ prvm_vec_t vol, attenuation;
int soundnum, large;
VM_SAFEPARMCOUNT(4, VM_SV_ambientsound);
int soundnum, large;
VM_SAFEPARMCOUNT(4, VM_SV_ambientsound);