VECTOR temp;
var camera_zoom_dist = 384;
action move_cam()
{
set(my,UNLIT | PASSABLE);
while(1)
{
vec_zero(temp);
if(mouse_pos.x < 16 || key_cul) temp.y = -8;
if(mouse_pos.x > screen_size.x-16 || key_cur) temp.y = 8;
if(mouse_pos.y < 16 || key_cuu) temp.x = 8;
if(mouse_pos.y > screen_size.y-16 || key_cud) temp.x = -8;
vec_rotate(temp,my.pan);
vec_scale(my.x,time_step);
vec_add(my.x,temp);
my.pan -= mouse_right*mouse_force.x*time_step;
camera.pan = my.pan;
camera.tilt = -65;
camera_zoom_dist = clamp(camera_zoom_dist+mickey.z*0.5,64,512);
vec_set(camera.x,vector(-camera_zoom_dist,0,0));
vec_rotate(camera.x,camera.pan);
vec_add(camera.x,my.x);
wait(1);
}
}