I don't know about the "kindom hearts movement" (though I've heard it mentioned before), but you can adjust the camera using simple trigonometry:

camera.x = my.x - fcos(my.pan,100);
camera.y = my.y - fsin(my.pan,100);

This can be used instead of just setting x and y to that of the "my"-entity like in the code I posted above smile

It could be improved by e.g. not letting a wall get in between the player and the camera using c_trace.