# Références techniques

&ktuberling; offre une agréable et gratifiante introduction à la personnalisation et à la programmation de &kde; Cette application peut être étendue. Par exemple vous pouvez ajouter un nouveau terrain de jeu, sans modifier le code source, en modifiant les fichiers graphiques. En ajoutant les fichiers de son adéquats, les traducteurs peuvent adapter les sons à leur langue d'origine.

Si vous étendez ou ajoutez des choses au jeu, veuillez penser à envoyer vos modifications au développeur Alex Fiestas (en anglais) pour qu'elles soient incluses dans la future version.

## Pour les graphistes

Pour créer une nouvelle aire de jeu &ktuberling;, vous devez :

- Dessiner l'aire de jeu dans un fichier au format « SVG », vous devez :

  - Nommer l'emplacement où les éléments sont déposés en background.

  - Saisir un titre pour chaque élément à déposer avec un nom unique,

- Créer un fichier `.theme`. Il doit suivre ce schéma :

      <Zone de jeu= « Votre-Fichier-SVG » nom= « Votre-Fichier.bureau » >
      <nom de l'objet= « Nom-Objet » son= « Nom-Du-Son » échelle= « Valeur » >
        ..
        ...
        ...
        </playground>

  - `Votre-Fichier-SVG` est le nom du fichier au format « SVG » ayant été dessiné.

  - `Votre-Fichier.desktop` est le nom du fichier desktop qui a le nom du thème.

  - Pour chaque objet, vous devez faire une correspondance avec une entrée <objet>. `Nom-Objet` est la dénomination unique que vous utilisez pour un fichier « SVG », `Nom-Du-Son` est le nom du son que vous jouerez quand vous le déplacerez. Veuillez consulter le fichier `sounds/soundthemes.HOWTO` à partir du code source pour plus d'informations sur les thèmes sonores.

  - `L'échelle` est optionnelle et la `valeur fournie` est le facteur d'échelle qui sera utilisé quand vous dessinerez un objet en dehors de la zone. Si ce paramètre est non défini, la valeur par défaut est de 1.

- Créer un fichier `.desktop`. Il doit suivre ce schéma :

      [KTuberlingTheme]
      Name=Nom-du-thème

  - `Nom-Du-Thème` est le nom qui identifie le thème qui sera affiché dans le menu de l'aire de jeu.

- Si vous ajoutez un thème au dépôt de &ktuberling;, veuillez ajouter les fichiers avec les extensions `.svg`, `.theme` et `.desktop` à la section `FICHIERS` du fichier `CMakeLists.txt` dans le dossier `pics/`.

- Si vous voulez l'installer par vous même, veuillez placer les fichiers avec les extensions `.svg`, `.theme` et `.desktop` dans le dossier `ktuberling/pics` grâce à la commande ``qtpaths` `--paths GenericDataLocation``.

## Pour les traducteurs

À coté de l'habituel mécanisme utilisé sur les fichiers `.po` pour traduire les chaînes du programme, les sons peuvent être également localisés.

Pour créer un nouveau thème de son pour &ktuberling;, vous devez :

- Enregistrer les sons dans le format « OGG Vorbis rc3 ».

- Créer un fichier ``Code-de-votre-langue-deux-lettres`.soundtheme`. Cela doit suivre ce schéma :

      <code langue= « Votre-Langue-En-Deux-Lettres »>
      <nom du son= « Nom-Du-Son » fichier= « Emplacement-Relatif » />
      ...
      ...
      ...
      </langue>

  - `Votre-Langue-En-Deux-Lettres` représente votre langue d'un code de deux lettres. Par exemple, fr pour Français.

  - Pour chaque son il y a une entrée `<son>`. `Nom-Du-Son` doit correspondre avec le nom du son spécifié dans l'aire de jeu (Veuillez consulter la page `pics/themes.HOWTO` à partir du code source). `Emplacement-Relatif` doit être l'emplacement relatif où vous installez le fichier avec le son, typiquement cela sera ``Emplacement-Unique`/`Nom-Son`. Le `format`` (`Emplacement-Unique` peut être le code à deux lettres de votre langue par exemple).

- Si vous ajoutez le thème de son à &ktuberling; dans votre dossier de langues :

  - Ajoutez des fichiers de sons et les fichiers `.soundtheme` dans votre dossier `data/kdegames/ktuberling` pour vos traductions de langues.

  - Dans le même dossier, vous avez besoin d'un fichier `CMakeLists.txt` décrivant comment installer ces fichiers, cela de façon classique.

        FILE( GLOB oggfiles *.ogg )
        INSTALL( FILES ${oggfiles} DESTINATION ${KDE_INSTALL_DATADIR}/ktuberling/sounds/Votre-Langue-En-Deux-Lettres )
        INSTALL( FILES Votre-Langue-En-Deux-Lettres.soundtheme DESTINATION ${KDE_INSTALL_DATADIR}/ktuberling/sounds/ )

- Si vous voulez l'installer vous même :

  - Placer le fichier ``Code-de-votre-langue-deux-lettres`.soundtheme` dans le dossier `ktuberling/sounds` dans la commande ``qtpaths` `--paths GenericDataLocation``.

  - Placer vos fichiers de sons dans le dossier `ktuberling/sounds/`Emplacement-unique`` dans la commande ``qtpaths` `--paths GenericDataLocation``

Des informations sur la façon dont fonctionnent les mécanismes de traduction dans &kde; sont disponible à l'adresse Le guide pratique de la traduction dans &kde;.

## Pour les programmeurs

&ktuberling; n'est pas réellement difficile à améliorer pour les programmeurs.

### Classes C++

`Niveau supérieur`

- Gestion de la fenêtre principale et du programme de base.

`Aire de jeu`

- Description d'un des niveaux du jeu.

`A-Dessiner`

- Description de l'un des objets graphiques à dessiner.

`Fabrique-de-sons`

- Description de l'une des langues et de ses sons.

`Action`

- Une des manipulations de l'utilisateur, rangée dans la pile « Annuler / refaire ».