
[Clavier]
  braquage_maxi = float, min = 0.0	 			; (�) braquage maxi avant limiteur de braquage
  courbe_limiteur_braquage = curve[]			; (�/(km/h)) courbe de limitation du braquage en fonction de la vitesse

  vitesse_braquage = float[]		; (�.s-1)
  vitesse_debraquage = float[]	; (�.s-1)  
  vitesse_contrebraquage = float[]	; (�.s-1)
  courbe_vitesse_braquage = curve[] 			; (�.s-1)
  courbe_vitesse_debraquage = curve[] 		; (�.s-1)
  courbe_vitesse_contrebraquage = curve[]		; (�.s-1)
  vitesse_ouverture_papillon = float, min = 0.0		; (s-1)
  vitesse_fermeture_papillon = float, min = 0.0		; (s-1)
  vitesse_augmentation_freinage = float, min = 0.0	; (s-1)
  vitesse_diminution_freinage = float, min = 0.0	; (s-1)
  courbe_filtrage_freins = curve, def = ./pas_de_filtrage_freins.crv
  
  ; touches (fl�ches par d�faut). Pour les valeurs, voir le fichier winuser.h (codes VK_...)
  code_touche_tourner_droite = int, min = 0, def = 39
  code_touche_tourner_gauche = int, min = 0, def = 37
  code_touche_accelerer = int, min = 0, def = 38
  code_touche_freiner = int, min = 0, def = 40
  code_touche_regarder_derriere = int, min = 0, def = 163 ; correspond � controle droit
  code_touche_changer_camera = int, min = 0, def = 161 ; correspond � shift droit
  code_touche_coup_special = int, min = 0, def = 90 ; Z  
  code_touche_se_baisser = int, min = 0, def = 87; W
  code_touche_rapport_sup = int, min  = 0, def = 160 ; correspond � shift gauche
  code_touche_rapport_inf = int, min  = 0, def = 162 ; correspond � ctrl gauche
[/Clavier]

[Pad]
  numero_bouton_frein = int, min = 1, def = 7
  numero_bouton_accelerateur = int, min = 1, def = 8
  numero_bouton_regarder_derriere = int, min = 1, def = 1
  numero_bouton_changer_camera = int, min = 1, def = 6
  numero_bouton_coup_special = int, min = 1, def = 5
;  numero_bouton_huile = int, min = 1, def = 6
;  numero_bouton_boost = int, min = 1, def = 5
  numero_bouton_se_baisser = int, min = 1, def = 4
  numero_bouton_rapport_sup = int, min = 1, def = 3
  numero_bouton_rapport_inf = int, min = 1, def = 2
[/Pad]

[Volant]
  braquage_maxi = float, min = 0.0	 			; (�) braquage maxi � vitesse nulle
  braquage_maxi_grande_vitesse = float, min = 0.0		; (�) braquage maxi au dessus de la vitesse limite
  vitesse_limite = float, min = 0.0				; (km/h) vitesse � partir de laquel le braquage maxi est constant �gal � braquage_maxi_grande_vitesse
  courbe_filtrage_freins = curve, def = ./pas_de_filtrage_freins.crv
[/Volant]

[IA]
  braquage_maxi = float, min = 0.0	 			; (�) braquage maxi � vitesse nulle
  braquage_maxi_grande_vitesse = float, min = 0.0	; (�) braquage maxi au dessus de la vitesse limite
  vitesse_limite = float, min = 0.0				; (km/h) vitesse � partir de laquel le braquage maxi est constant �gal � braquage_maxi_grande_vitesse
  facteur_amortissement_braquage = float, min = 0, max = 0 	; facteur qui permet d'�viter les "gauche/droite". Plus il est proche de 1, plus le braquage est amorti. 

  [Traj]
    ; Pour avoir le point vis�, on prend le point le plus proche de la traj,
    ; et on avance le long de la traj sur une distance �gale � la somme des distances suivantes :
    ; Distance 1 = distance_visee 
    ; Distance 2 = vitesse * temps_visee  ( pour viser plus loin quand on va vite ).
    ; Distance 3 = une distance calcul�e en fonction de la distance � la trajectoire,
    ;    de fa�on � ce que le v�hicule rejoigne la trajectoire sur un cercle
    ;    de rayon "rayon_braquage". Cette distance est donc nulle sur la trajectoire et 
    ;    quand la distance � la trajectoire est sup�rieure � rayon_braquage.
    ; Distance 4 = coef_travers * vitesse_sur_le_cot� : une distance fonction du travers 
    ; que l'on est en train de faire : si la voiture est en travers, elle vise plus loin.
    ; Distance 5 = coef_bord * distance_au_bord_du_roulable
    ; Distance 6 = coef_grip * vitesse * vitesse_vers_traj / acc�l�ration_max_lat�rale : 
    ;    cette distance devrait permettre de g�rer tous les cas d'un coup.
    ;    acc�l�ration_max_lat�rale est l'acc�l�ration maximum que les pneus du kart
    ;    peuvent passer. Elle d�pend du type de surface et des param�tres m�caniques (adh�rence des pneus, etc)
    ; Distance 7 : distance qui vaut coef_distance_trajectoire * vitesse * pas_de_temps quand le v�hicule est 
    ;    sur la trajectoire et 0 quand le v�hicule est � au moins distance_trajectoire de la trajectoire.
    ;    Cette distance permet de viser loin quand est proche de la trajectoire, et �vite les coups de volants. 
    
    ; Il y a autant de param�tres que de types de terrains diff�rents.
    distance_visee = float[]	; (m�tre)
    temps_visee = float[]	; (seconde)
    rayon_braquage = float[]	; (m�tre)
    coef_travers = float[]	; (seconde)
    coef_bord = float[]		; (sans unit�)
    coef_grip = float[]		; (sans unit�)
    coef_distance_trajectoire = float[]		; (sans unit�)
    distance_trajectoire = float[]		; (sans unit�)

    ; On utilise un multiplicateur de contraintes de vitesse par type de terrain
    contrainte_vitesse = float[]; (sans unit�)
  [/Traj]
[/IA]

