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);
}
}