Thanks for this great piece of code

Here is a Lite-C version of it:
Code:
//simple freeflight without collision detection
void tools_camera_freeflight1()
{
var tools_movespeed=20; //how fast to move
var tools_movecam[3];
while(1)
{
//turn the camera
camera.pan -= mouse_force.x*15*time_step;
camera.tilt += mouse_force.y*15*time_step;
camera.tilt = clamp(camera.tilt,-90,90);
vec_set(tools_movecam[0],nullvector); //reset movement vector
//ket wasd or cursor movment
if(key_w||key_cuu){tools_movecam[0] = tools_movespeed*time_step;}
if(key_s||key_cud){tools_movecam[0] = -tools_movespeed*time_step;}
if(key_a||key_cul){tools_movecam[1] = tools_movespeed*time_step;}
if(key_d||key_cur){tools_movecam[1] = -tools_movespeed*time_step;}
//rotate by camera heading
vec_rotate(tools_movecam[0],camera.pan);
//move the camera
vec_add(camera.x,tools_movecam[0]);
wait(1);
}
}