﻿NGraphics = {
	MOON_HEIGHT = 600 # higher means softer shadows and more intense light
	SUN_HEIGHT  = 600 # higher means softer shadows and more intense light
	DRAW_FOW_CUTOFF = 400
	DRAW_FOW_FADE_LENGTH = 350
	SUN_LATITUDE  = 848
	DRAW_SHADOWS_CUTOFF = 400
	DRAW_SHADOWS_FADE_LENGTH = 50
	MAX_MESHES_LOADED_PER_FRAME = 100
	ARROW_MOVEMENT_SPEED = 2.0
	DRAG_SELECTION_THRESHOLD = 20.0 # if selecting less than this it will count as a click instead of dragselect
	HIGHLIGHT_TIMEOUT = 2.0

	FLAT_MAP_HEIGHT = 3.92
	FLAT_MAP_FADE_SPEED = 3		# How fast to fade to/from flat map state
	FLAT_MAP_ZOOM_STEP = 24			# At which zoom step to fade to flat map

	SURROUND_MAP_INNER_RECT = { 500.0 1000.0 500.0 3700.0 } 			#x-start, y-start, x-end, y-end
	#SURROUND_MAP_OUTER_RECT = { 0.0 0.0 6500.0 4100.0 }		#x-start, y-start, x-end, y-end
	SURROUND_MAP_OUTER_RECT = { -10000.0 -10000.0 20000.0 20000.0 }		#x-start, y-start, x-end, y-end
	SURROUND_MAP_TILE_FACTOR = { 3 1.5 }
	SURROUND_MAP_CLOUDHEIGHT = 5.0
	SURROUND_MAP_MINCLOUDALPHA = 0.1
	SURROUND_MAP_MAXCLOUDALPHA = 0.5
	SURROUND_MAP_PARALLAXSTRENGTH = 30.0
	SURROUND_MAP_PARALLAXFADEFACTOR = 1000.0
	SURROUND_MAP_BASECLOUDTILEFACTOR = { 5.0 2.5 }		# Large shapes scale
	SURROUND_MAP_BASECLOUDSCROLLING = { 0.0025 0.00125 }		# Large shapes direction
	SURROUND_MAP_BASECLOUDSTRENGTH = 20.0					# Large shapes normals strength
	#	SURROUND_MAP_BASECLOUDSTRENGTH = 0.1
	SURROUND_MAP_CLOUD1TILEFACTOR = { 4.0 4.0 }				# Mid scale
	SURROUND_MAP_CLOUD1SCROLLING = { 0.0025 -0.0025 }			# Mid direction
	SURROUND_MAP_CLOUD1STRENGTH = 1.0						# Mid strength
	#	SURROUND_MAP_CLOUD1STRENGTH = 0.1
	SURROUND_MAP_CLOUD2TILEFACTOR = { 8.0 8.0 }
	SURROUND_MAP_CLOUD2SCROLLING = { -0.0015 0.0015 }
	SURROUND_MAP_CLOUD2STRENGTH = 0.99
	#	SURROUND_MAP_CLOUD2STRENGTH = 0.1
	SURROUND_MAP_LOWCLOUDCOLOR = { 1.0 0.0 0.0 }
	SURROUND_MAP_HIGHCLOUDCOLOR = { 1.0 0.0 0.0 }
	SURROUND_MAP_SHADOWCOLOR = { 0.9 0.0 0.0 }

	ERRORHOOF_DIVISOR = 100
}

NCamera = {
	FOV	= 60 # Field-of-View
	ZNEAR = 10
	ZFAR = 10000

	EDGE_SCROLLING_PIXELS = 10 # how many pixels from window edge that will trigger edge scrolling

	SCROLL_SPEED = 0.045 # higher values = faster camera. NOTE that this is tweakables from settings as well!
	ZOOM_RATE = 0.2 # Zoom when right-mouse down
	ZOOM_STEPS = { 40 60 80 100 125 146 165 183 204 229 260 300 350 405 461 518 578 643 714 793 881 981 1092 1218 1360 1521 1703 1903 2116 2341 2573 2809 3047 3282 3512 3733 }	# Zoom steps
	# STEPS				 0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
	ZOOM_STEPS_TILT =  { 50 50 50 50 53 56 59 62 65 67 70 72 74 76 77 79 80 82 83 83 84 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85}		# Defualt zoom tilt
	#ZOOM_STEPS_TILT = { 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 47 49 51 53 55 55 55 55 55 55 55 55 55 55 55 55 55 55 }		# Tweak Zoom steps
	ZOOM_STEPS_MIN_TILT = { 34 36 38 40 41 43 44 45 46 47 48 49 50 51 52 52 53 54 54 54 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 }
	ZOOM_STEPS_MAX_TILT = { 62 65 67 70 73 76 78 80 82 84 85 86 87 88 88 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 }
	ZOOM_AUDIO_PARAMETER_SCALE = 0.1		# The audio parameter "CameraHeight" will be set to the camera's height X ZOOM_AUDIO_PARAMETER_SCALE




	MAX_PAN_TO_ZOOM_STEP = 7							# The camera will lower to this height (but only if above it) when panning to characters/provinces etc.
	START_LOOK_AT = { 2600.0 0 2250.0 }					# Initial look at (X/Y)

	# Debug defines
	DEBUG_GAMEPAD_LOWSPEED 		= 25.0
	DEBUG_GAMEPAD_NORMALSPEED 	= 100.0
	DEBUG_GAMEPAD_HIGHSPEED 	= 300.0
	DEBUG_GAMEPAD_SENSITIVITY 	= 2.0

	TITLE_ZOOM_LEVEL_BY_EXTENT = { 20 15 13 11 9 7 5 4 3 }
	TITLE_ZOOM_LEVEL_EXTENTS = { 1000 800 600 400 300 200 100 -1 }
	TITLE_ZOOM_OFFSET_IF_LEFT_VIEW_SHOWN = { 230 175 145 120 95 70 50 40 30 } # We pretend the center point of the title is this far to the west if a left-view (E.G., the title view) is shown, and no right-view. It ensures that it ends up centered in the part of the screen not obscured by the UI

	PANNING_WIDTH =  6400
	PANNING_HEIGHT = 4096
}

NMapName = {
	NAME_DRAW_DISTANCE = 4000.0		# Remove province names beyond this distance
	LARGE_NAMES_ZOOM_STEP = 12		# At which zoom steps are large map names shown
	NAME_FONT_NAME = "MapFont"		# Font used for drawing the map names
	NAME_FONT_SIZE = 50				# Font size used for drawing the map names
	FADE_SPEED = 1.6				# How fast names fade in/out
	CROSSFADE_DELAY = 0.7			# For how long should both small and big names be shown when fading between them
	MIN_OPACITY = 0.7				# minimum opacity. Names hidden by draw distance will still fade to 0
	MAX_OPACITY = 0.9
	MIN_OPACITY_DIST = 375.0		# Camera height at which the names have min opacity
	MAX_OPACITY_DIST = 1400.0		# Camera height at which the names have max opacity
	ZOOM_STEPS_VISIBLE_SCALES = {	# Each map-name has a scale. This list contains min-max values for each zoom step. If a name's scale is outside that range it will not be visible
		# min (hides names that are too small)
		# max (hides names when they get to large)
		0.0		0.0 	#50		0
		0.0		0.0 	#50		1
		0.0		0.0 	#50		2
		0.0		0.0 	#50		3	Closest zoomed in
		0.0		0.0 	#75		4
		0.0		0.0		#100 	5
		0.0		50.0	#150 	6
		0.0		50.0	#200 	7
		0.0		50.0	#275 	8
		0.0		50.0	#375 	9
		0.0		50.0	#500 	10
		0.0		50.0	#650 	11
		0.0		50.0	#850 	12
		0.11	50.0	#1100 	13
		0.12	50.0	#1400 	14	Flat map
		0.13	50.0	#1750 	15
		0.14	50.0	#2150 	16
		0.15	50.0	#2600 	17
		0.17	50.0	#3050 	18
		0.19	50.0	#3500 	19
		0.21	50.0	#4000 	20
		0.23	50.0	#4500 	21
		0.27	50.0	#5000	22	Farthest out
	}
}

NMapModes = {
	OTHER_REALM_COLOR = { 0.25 0.25 0.2 1.0 } 	# Outside of Realm
	MY_COLOR = { 0.05 0.05 1 1.0 }				# My Realm (international)
	MY_REALM_COLOR = { 0.3 0.3 0.7 1.0 }		# My Realm (internal, when interacting with a vassal)
	INVALID_COLOR = { 0.7 0.05 0.05 1.0 }
	VALID_COLOR = { 0. 1.0 0. 1.0 }
	OUT_OF_DIPLO_RANGE_COLOR = { .7 0.05 0.05 1. }
	IN_DIPLO_RANGE_COLOR = { 0.0 1 0.2 0.9 }
	DEBUG_MARK_COLOR = { 1 1 0 1 }
	COUNCIL_DEVELOPMENT_LOW = { .4 0 0.2 1 } # map color for 0-development county
	COUNCIL_DEVELOPMENT_HIGH = { 0.9 0.9 0 1 } # map color for max development county
	COUNCIL_CONTROL_LOW = { 1 0 0.2 1 } # map color for 0-control county
	COUNCIL_CONTROL_HIGH = { 0 1 0.2 1 } # map color for max control county
	COUNCIL_FABRICATE_CLAIM_COLOR_ADJACENT = { 0.2 0.8 0.2 1 }
	COUNCIL_FABRICATE_CLAIM_COLOR_DISTANT = { 0.8 0.8 0.2 1 }
	COUNCIL_FABRICATE_CLAIM_COLOR_HAS_CLAIM = { 0.9 0.3 0.9 1 }
	COUNCIL_FIND_SECRETS_COLOR_LIEGE = { 0.8 0.8 0.1 1 }
	COUNCIL_FIND_SECRETS_COLOR_INDEPENDENT = { 0.2 0.6 0.2 1 }
	COUNCIL_FIND_SECRETS_COLOR_VASSAL = { 0.4 0.8 1 1 }
	COUNCIL_FIND_SECRETS_COLOR_LANDED = { 0.8 0.8 0.8 1 }
	DEFAULT_PROVINCE_COLOR = { 1 .7 .7 .7 }		# used in various mapmodes
	DEFAULT_PROVINCE_COLOR_2 = { .15 .15 .15 1 }
	DEFAULT_SECONDARY_COLOR = { 0 0 0 0 }
	SELECT_CHARACTERS_ZOOM_STEP = 12			# Min zoom threshold for showing holdings/characters when clicking the map
	VASSALS_LIEGE_REALM_COLOR_ZOOM_STEP = 0	# Min zoom threshold for showing the liege's color instead direct vassals' colors in the realms map mode
	LARGE_IMPASSABLE_PROVINCE_PIXELS = 100000 # How many pixels qualify the impassible province as too big to be included in map colors and names
	WATER_BORDERS_ZOOM_STEP = 11 # at what zoom level disable borders along water shores
	CIVIL_WAR_REALM_INTERPOLATE_FACTOR = 0.45 # Factor of interpolation for civil wars when combining their primary title colour with the default map colour
	CIVIL_WAR_DARKEN_INTERPOLATE_FACTOR = 0.45 # The factor of interpolation for civil wars when combining the above merged colour with black to darken it
}

NMapIcon = {
	FORT_VISIBLE_ZOOM_STEPS = { 0 12 }
	STRAITS_VISIBLE_ZOOM_STEPS = { 2 11 }
	HOLDING_VISIBLE_ZOOM_STEPS = { 2 8 }
	HOLDING_SMALL_VISIBLE_ZOOM_STEPS = { 9 11 }
	REALM_CAPITAL_VISIBLE_ZOOM_STEPS = { 2 22 }
	TITLE_CAPITAL_VISIBLE_ZOOM_STEPS = { 2 19 }
	DYNASTY_HOUSES_VISIBLE_ZOOM_STEPS = { 8 13 }
	BANNER_VISIBLE_ZOOM_STEPS = { 2 8 }
	UNIT_VISIBLE_ZOOM_STEPS = { 0 19 }
	UNIT_NEUTRAL_VISIBLE_ZOOM_STEPS = { 0 11 }
	COMBAT_VISIBLE_ZOOM_STEPS = { 0 19 }
	COMBAT_NEUTRAL_VISIBLE_ZOOM_STEPS = { 0 11 }
	COMBAT_PREDICITON_VISIBLE_ZOOM_STEPS = { 0 11 }
	COUNCIL_TASK_VISIBLE_ZOOM_STEPS = { 2 11 }
	PROVINCE_VISIBLE_ZOOM_STEPS = { 0 22 }
	FADE_IN_SPEED = 2.0
	FADE_OUT_SPEED = 4.0
}

NMapLines = {
	CHARACTER_LINE_TIER_TYPES = { # Which line type to use for showing character map lines (barony, county, duchy, kingdom vassal)
		"line_vassal"
		"line_vassal"
		"line_vassal_2"
		"line_vassal_2"
	}
	CHARACTER_LINE_TIER_TYPES_STRONG = { # Which line type to use for showing character map lines (barony, county, duchy, kingdom vassal), strong version for highlighting the direct liege
		"line_liege"
		"line_liege"
		"line_liege"
		"line_liege"
	}
	VASSAL_LINES_CYCLE_THRESHOLD = 0	# How many vassal lines can be shown at the same time (if it's more, the lines will cycle), 0 = no limit
	MAX_CYCLE_VASSAL_LINES = 7			# How many vassal lines can be shown at the same time when cycling, it can be different than VASSAL_LINES_CYCLE_THRESHOLD so we don't e.g. only cycle one line at a time
	VASSAL_LINES_MIN_SHOW_TIME = 1.0	# Minimal show time for vassal lines (before they are hidden by other vassal lines appearing thanks to MAX_VASSAL_LINES)
	VASSAL_LINES_MIN_SHOW_TIME_VARIANCE = 1.0	# Random variance in minimal show time for vassal lines
	ARMY_MOVEMENT_ARROW_ZOOM = 18		# Max zoom level to show the short army movement arrow, selected armies always show their move arrow
}