I've been studying the Earthball script and have been messing with the coding so that I may understand C-lite better. Everything in Earthball makes sense to me excluding the final few lines where the camera movement is calculated.

Before function main() there is a VECTOR defined
Code:
VECTOR vSpeed, vAngularSpeed, vForce, vMove;



the following is in function main() in while(1)
Code:
vForce.x = -5*(key_force.x + mouse_force.x);	// pan angle
vForce.y = 5*(key_force.y + mouse_force.y);	// tilt angle
vForce.z = 0;	// roll angle
vec_accelerate(vMove,vAngularSpeed,vForce,0.8);
vec_add(camera.pan,vMove);



I understand the key_force and mouse_force functions but I'm not sure how vec_accelerate works in this example.

It seems to me that vMove would be 0 at this point since it's never called or calculated before vec_accelerate, the same with vAngularSpeed. I'm confused because if the distance argument (vMove) and the speed arguement (vAngularSpeed) are 0 then what is the point of vec_accelerate at this point?

I'm sure this is very simple I'm just new to Gamestudio and vector's so I'm confused as to what is going on here.

I know what is happening here (we're calculating our rotation and accelerating it based off the arrow keys and mouse movement) I just can't seem to put 2+2 together.

And for that matter, what exactly does VECTOR do, I can't seem to find it in the documentation.

The next section of code is very similar to this so I'm hoping if I can make sense of this I can figure out the next as well.