Ejemplo n.º 1
0
static void Sound_get_listener_rotation (LIScrArgs* args)
{
	LIExtModule* module;

	module = liscr_script_get_userdata (args->script, LIEXT_SCRIPT_SOUND);
	liscr_args_seti_quaternion (args, &module->listener_rotation);
}
Ejemplo n.º 2
0
static void Camera_calculate_1st_person_transform (LIScrArgs* args)
{
	LIMatTransform result;

	liext_camera_calculate_1st_person_transform (args->self, &result);
	liscr_args_seti_vector (args, &result.position);
	liscr_args_seti_quaternion (args, &result.rotation);
}
Ejemplo n.º 3
0
static void Camera_get_target_rotation (LIScrArgs* args)
{
	LIExtCamera* camera;
	LIMatTransform transform;

	camera = args->self;
	liext_camera_get_center (camera, &transform);
	liscr_args_seti_quaternion (args, &transform.rotation);
}
Ejemplo n.º 4
0
static void Camera_calculate_3rd_person_transform (LIScrArgs* args)
{
	float distance;
	LIMatTransform center;
	LIMatTransform result;

	if (!liscr_args_geti_vector (args, 0, &center.position))
		return;
	if (!liscr_args_geti_quaternion (args, 1, &center.rotation))
		return;
	if (!liscr_args_geti_float (args, 2, &distance))
		return;

	liext_camera_calculate_3rd_person_transform (
		args->self, &center, distance, &result);
	liscr_args_seti_vector (args, &result.position);
	liscr_args_seti_quaternion (args, &result.rotation);
}
Ejemplo n.º 5
0
static void Camera_calculate_smoothed_transform (LIScrArgs* args)
{
	float position_smoothing = 1.0f;
	float rotation_smoothing = 1.0f;
	LIMatTransform target;
	LIMatTransform result;

	if (!liscr_args_geti_vector (args, 0, &target.position))
		return;
	if (!liscr_args_geti_quaternion (args, 1, &target.rotation))
		return;
	liscr_args_geti_float (args, 2, &position_smoothing);
	liscr_args_geti_float (args, 3, &rotation_smoothing);

	liext_camera_calculate_smoothed_transform (
		args->self, &target, position_smoothing, rotation_smoothing, &result);
	liscr_args_seti_vector (args, &result.position);
	liscr_args_seti_quaternion (args, &result.rotation);
}