﻿# Generous Motherhood
# Cameras for the level-up popup (gui/event_windows/gm_motherhood_event.gui), picked per character
# through var:gm_scene_camera (see gm_set_scene_camera_effect).
# To raise a character in the window, lower both the height of position and the second number of
# look_at by the same amount (more negative); to lower it, do the opposite.

# Like gm_camera_event_far, seen from the other side (angle 40 instead of -40), which flips the
# way the character faces. Level 3, admiration: the gui also flips the image (see the gui file).
gm_camera_event_reversed = {
	camera = {
		position = cylindrical{ 340 0 40 } # Radius, height, angle
		position_node = {
			default = camera_torso_look_at
		}

		look_at = { 25 -15 0 } # L/R, U/D, F/B
		look_at_node = {
			default = camera_torso_look_at
		}
		fov = 30
		camera_near_far = { 10 500 } # radius 340: keep the far plane well behind them
	}

	unknown = camera_torso
}

# Like gm_camera_event_far, moved and aimed lower. Level 4: the curtsey sinks behind the text band
# otherwise. At radius 270, 35 lower looked right (65 was too high, checked in game); the 44 here
# is the same shift scaled to radius 340.
gm_camera_event_low = {
	camera = {
		position = cylindrical{ 340 -44 -40 } # Radius, height, angle
		position_node = {
			default = camera_torso_look_at
		}

		look_at = { -25 -59 0 } # L/R, U/D, F/B
		look_at_node = {
			default = camera_torso_look_at
		}
		fov = 30
		camera_near_far = { 10 500 } # radius 340: keep the far plane well behind them
	}

	unknown = camera_torso
}

# Like camera_event_right, further away (radius 340 instead of 270, about 20% smaller). Levels 3 and 4:
# the people around the mother. To change their size, change the radius here and in
# gm_camera_event_low and gm_camera_event_reversed.
gm_camera_event_far = {
	camera = {
		position = cylindrical{ 340 0 -40 } # Radius, height, angle
		position_node = {
			default = camera_torso_look_at
		}

		look_at = { -25 -15 0 } # L/R, U/D, F/B
		look_at_node = {
			default = camera_torso_look_at
		}
		fov = 30
		camera_near_far = { 10 500 } # radius 340: keep the far plane well behind them
	}

	unknown = camera_torso
}

# Like camera_event_center, moved and aimed 25 lower. Levels 3 and 4: raises the mother in the window.
gm_camera_event_center_low = {
	camera = {
		position = cylindrical{ 270 -25 5 } # Radius, height, angle
		position_node = {
			default = camera_torso_look_at
		}

		look_at = { 0 -40 0 } # L/R, U/D, F/B
		look_at_node = {
			default = camera_torso_look_at
		}
		fov = 30
		camera_near_far = { 10 400 }
	}

	unknown = camera_torso
}

# Like gm_camera_event_center_low, a little further away (radius 310 instead of 270, about 13%
# smaller), with the same shift scaled to that radius. Level 3: the mother.
gm_camera_event_center_low_far = {
	camera = {
		position = cylindrical{ 310 -29 5 } # Radius, height, angle
		position_node = {
			default = camera_torso_look_at
		}

		look_at = { 0 -44 0 } # L/R, U/D, F/B
		look_at_node = {
			default = camera_torso_look_at
		}
		fov = 30
		camera_near_far = { 10 500 }
	}

	unknown = camera_torso
}

# Like gm_camera_event_far, moved and aimed 15 higher (the character stands lower) and aimed 18 to
# the side (the character moves towards the mother on both sides, the left portraits being
# mirrored). Level 2: her children.
# The sideways shift is a guess: raising the first number of look_at moves them towards her,
# lowering it moves them away. Inferred from gm_camera_event_reversed in game (25 instead of -25
# shifted its characters towards the centre), not yet checked with this camera.
gm_camera_event_children = {
	camera = {
		position = cylindrical{ 340 15 -40 } # Radius, height, angle
		position_node = {
			default = camera_torso_look_at
		}

		look_at = { -7 0 0 } # L/R, U/D, F/B
		look_at_node = {
			default = camera_torso_look_at
		}
		fov = 30
		camera_near_far = { 10 500 }
	}

	unknown = camera_torso
}
