Funny how after near endless searching I post, then almost instantly find a solution. Here it is:

http://www.opserver.de/ubb7/ubbthreads.p...true#Post328564

I just replaced my stuff with this, followed by my original c_move:

vec_set(temp_vec, vector(my.x-(trace_dist*cos(my.pan-90)), my.y-(trace_dist*sin(my.pan-90)), my.z+my.min_z+1) );
c_trace(vector(my.x,my.y,my.z + my.min_z+1),temp_vec, IGNORE_ME | IGNORE_PASSABLE); //TRACE LEFT
roomleft = vec_dist(my.x,hit.x);

vec_set(temp_vec, vector(my.x-(trace_dist*cos(my.pan+90)), my.y-(trace_dist*sin(my.pan+90)), my.z+my.min_z+1) );
c_trace(vector(my.x,my.y,my.z + my.min_z+1),temp_vec, IGNORE_ME | IGNORE_PASSABLE); //TRACE RIGHT
roomright = vec_dist(my.x,hit.x);

Hope this helps someone with a similar problem!

Last edited by gSet; 09/27/10 14:59.

"If it's true what you say to me, that the whole world will mourn his death - If the whole world will weep, I will give him back his breath."