X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=prvm_cmds.c;h=e3f639294101fddda2a90ca74c9b9694fdf306c8;hp=fbb54af8c51edbd360552703c9a8e2203c42da5b;hb=aa33d8f8642530f7f266d6cde1422f95aa74b2be;hpb=3a16e432521bf1f1bb796a76c3819a5334b59b9b diff --git a/prvm_cmds.c b/prvm_cmds.c index fbb54af8..e3f63929 100644 --- a/prvm_cmds.c +++ b/prvm_cmds.c @@ -252,24 +252,20 @@ void VM_normalize (void) { float *value1; vec3_t newvalue; - float new; + double f; VM_SAFEPARMCOUNT(1,VM_normalize); value1 = PRVM_G_VECTOR(OFS_PARM0); - new = value1[0] * value1[0] + value1[1] * value1[1] + value1[2]*value1[2]; - new = sqrt(new); - - if (new == 0) - newvalue[0] = newvalue[1] = newvalue[2] = 0; - else + f = VectorLength2(value1); + if (f) { - new = 1/new; - newvalue[0] = value1[0] * new; - newvalue[1] = value1[1] * new; - newvalue[2] = value1[2] * new; + f = 1.0 / sqrt(f); + VectorScale(value1, f, newvalue); } + else + VectorClear(newvalue); VectorCopy (newvalue, PRVM_G_VECTOR(OFS_RETURN)); } @@ -283,17 +279,8 @@ scalar vlen(vector) */ void VM_vlen (void) { - float *value1; - float new; - VM_SAFEPARMCOUNT(1,VM_vlen); - - value1 = PRVM_G_VECTOR(OFS_PARM0); - - new = value1[0] * value1[0] + value1[1] * value1[1] + value1[2]*value1[2]; - new = sqrt(new); - - PRVM_G_FLOAT(OFS_RETURN) = new; + PRVM_G_FLOAT(OFS_RETURN) = VectorLength(PRVM_G_VECTOR(OFS_PARM0)); } /* @@ -2104,7 +2091,7 @@ loadfromfile(string file) void VM_loadfromfile(void) { const char *filename; - qbyte *data; + char *data; VM_SAFEPARMCOUNT(1,VM_loadfromfile); @@ -2121,7 +2108,7 @@ void VM_loadfromfile(void) } // not conform with VM_fopen - data = FS_LoadFile(filename, tempmempool, false); + data = (char *)FS_LoadFile(filename, tempmempool, false); if (data == NULL) PRVM_G_FLOAT(OFS_RETURN) = -1; @@ -2695,7 +2682,7 @@ void VM_cin_setstate( void ) name = PRVM_G_STRING( OFS_PARM0 ); VM_CheckEmptyString( name ); - state = PRVM_G_FLOAT( OFS_PARM1 ); + state = (clvideostate_t)PRVM_G_FLOAT( OFS_PARM1 ); video = CL_GetVideo( name ); if( video && state > CLVIDEO_UNUSED && state < CLVIDEO_STATECOUNT )