#########################################################################
# Audio settings
#########################################################################
###
# Main music track
###
[audio.music]
main = "/Music/Main Track2"

###
# Menu SFX
###
[audio.menu]
select = "/SFX/MenuSelect"
hover = "/SFX/MenuHover"

###
# 2D Mode SFX
###
[audio.display2d]
pick_up  = "/SFX/2D/2DPickUpPiece"
put_down = "/SFX/2D/2DPutDownPiece"

###
# 3D Mode SFX
###
[audio.display3d]
pick_up  = "/SFX/3D/3DPickUpPiece"
put_down = "/SFX/3D/3DPutDownPiece"
idle     = "/SFX/3D/3DPickup-Idle-PutdownWhirr"
invalid  = "/sfx/3D/3DInvalidMove"

####################
# Display3d settings
####################
[display3d]
###
# Multi-sample Anti-Aliasing
# https://docs.rs/bevy/0.11.3/bevy/prelude/enum.Msaa.html
# Options: Off, Sample2, Sample4, Sample8
# Requires: display3d.ssoa.quality_level = "Off"
###
msaa = "Off"

###
# Enable HDR lighting
###
hdr = true

###
# Screen Space Ambient Occlusion
# https://docs.rs/bevy/0.11.3/bevy/pbr/enum.ScreenSpaceAmbientOcclusionQualityLevel.html
# Options: Off, Low, Medium, High, Ultra
# Requires: display3d.msaa = "Off"
###
ssoa.quality_level = "Off"

[display3d.models]
assets_file = "models/Martian Chess.glb"
skybox_file = "images/skybox.png"

[display3d.models.scenes]
queen = "Queen"
drone = "Drone"
pawn = "Pawn"
board = "Gameboard"
valid_move = "Valid Move Spot"

[display3d.models.animations]
intro_a  = "GameCamIntro1"
intro_b  = "GameCamIntro2"
turn_a   = "GameCamSide2>1"
turn_b   = "GameCamSide1>2"

[display3d.models.animations.pick_up]
pawn = "PawnPiecePickup"
drone = "DronePiecePickup"
queen = "QueenPiecePickup"

[display3d.models.animations.put_down]
pawn = "PawnPiecePutDown"
drone = "DronePiecePutDown"
queen = "QueenPiecePutDown"

[display3d.models.animations.idle]
pawn = "PawnPieceIdle"
drone = "DronePieceIdle"
queen = "QueenPieceIdle"

[display3d.models.materials]
queen_red = "Queen"
queen_blue = "QueenBlue"
drone_red = "Drone"
drone_blue = "DroneBlue"
pawn_red = "Pawn"
pawn_blue = "DroneBlue"
dots_red = "Dots"
dots_blue = "DotsBlue"

[display3d.lights.scaling]
# https://docs.rs/bevy/0.11.3/bevy/pbr/struct.SpotLight.html
spot = 1.0
# https://docs.rs/bevy/0.11.3/bevy/pbr/struct.PointLight.html
point = 0.01
# https://docs.rs/bevy/0.11.3/bevy/pbr/struct.DirectionalLight.html
directional = 1.0

###
# Fog
# Only seems to affect objects and not skyboxes
###
[display3d.fog]
directional_light_exponent = 0.0
[display3d.fog.color]
Rgba = { red = 1.0, green = 1.0, blue = 1.0, alpha = 0.0 }
[display3d.fog.directional_light_color]
Rgba = { red = 1.0, green = 1.0, blue = 1.0, alpha = 0.0 }
###
# Fog Faloff
# https://docs.rs/bevy/0.11.3/bevy/pbr/enum.FogFalloff.html
###
[display3d.fog.falloff]
Exponential = { density = 0.000 }
# Examples:
# * Linear = { start = 1.0, end = 10.0 }
# * Exponential = { density = 1.0 }
# * ExponentialSquared = { density = 1.0 }
# * Atmospheric = { extinction = [1.0, 1.0, 1.0], inscattering = [1.0, 1.0, 1.0] }

###
# Display 3D Coloring
###
[display3d.color]
###
# Tonemapping
# https://docs.rs/bevy/0.11.3/bevy/core_pipeline/tonemapping/enum.Tonemapping.html
# Options: None, Reinhard, ReinhardLuminance, AcesFitted, AgX, SomewhatBoringDisplayTransform, TonyMcMapface, BlenderFilmic
###
tonemapping = "ReinhardLuminance"

###
# Color grading
# https://docs.rs/bevy/0.11.3/bevy/render/view/struct.ColorGrading.html
###
[display3d.color.grading]
exposure = 1.0
gamma = 1.0
pre_saturation = 1.0
post_saturation = 1.0


####################
# Display2d settings
####################
[display2d.sprites]
# Sprite file path inside the `assets` folder
file = "images/sprites.png"
# Size of each tile [x,y] (they have to be the same size)
tile_size_x = 16
tile_size_y = 16
columns = 8
rows = 1
# The order of each sprite left-to-right, top-to-bottom
sprite_order = ["LightTile"
               ,"DarkTile"
               ,"RedQueen"
               ,"RedDrone"
               ,"RedPawn"
               ,"BlueQueen"
               ,"BlueDrone"
               ,"BluePawn"
               ]
