extern "C" 
{
	f32 IrrScene_ISceneNodeAnimatorCameraFPS_getMoveSpeed(ISceneNodeAnimatorCameraFPS* anim)
	{
		if (anim)
			return anim->getMoveSpeed();
		else return 0.0;
	}
	
	void IrrScene_ISceneNodeAnimatorCameraFPS_setMoveSpeed(ISceneNodeAnimatorCameraFPS* anim, f32 moveSpeed)
	{
		if (anim)
			anim->setMoveSpeed(moveSpeed);
	}
	
	f32 IrrScene_ISceneNodeAnimatorCameraFPS_getRotateSpeed(ISceneNodeAnimatorCameraFPS* anim)
	{
		if (anim)
			return anim->getRotateSpeed();
		else return 0.0;
	}
	
	void IrrScene_ISceneNodeAnimatorCameraFPS_setRotateSpeed(ISceneNodeAnimatorCameraFPS* anim, f32 rotateSpeed)
	{
		if (anim)
			anim->setRotateSpeed(rotateSpeed);
	}
	
	void IrrScene_ISceneNodeAnimatorCameraFPS_setKeyMap(ISceneNodeAnimatorCameraFPS* anim, SKeyMap** keyMapArray, u32 keyMapSize)
	{
		if (anim) {
			array<SKeyMap> keymap;
			for (int i=0; i<keyMapSize; i++) {	
				keymap.push_back(*keyMapArray[i]);
			}
				
			anim->setKeyMap(keymap.pointer(), keyMapSize);
		}
	}
	
	void IrrScene_ISceneNodeAnimatorCameraFPS_setVerticalMovement(ISceneNodeAnimatorCameraFPS* anim, bool allow)
	{
		if (anim)
			anim->setVerticalMovement(allow);
	}
	
	void IrrScene_ISceneNodeAnimatorCameraFPS_setInvertMouse(ISceneNodeAnimatorCameraFPS* anim, bool invert) 
	{
		if (anim)
			anim->setInvertMouse(invert);
	}

}