KiddEd
Project Homepage: https://kidded.emulicious.net
Discord Server: https://discord.gg/DTVx5Da

Ce programme est distribué sous la licence décrite dans le fichier "License.txt".
Fichier traduit par Jmimu.

=======================
Dépendances :
=======================
Java 6 ou plus récent :
http://www.java.com

=======================
Notes de version
=======================
Cette version est une bêta ouverte. Le logiciel n'est pas encore terminé et le travail est toujours en cours.
Cela signifie également que vous devez vous attendre à des bugs. Afin de pouvoir les corriger dès que
possible, j'ai besoin de rapports de bug. Si vous rencontrez un bug, merci de me le faire savoir (en anglais !).
En cas de plantage, ne vous énervez pas, enregistrez simplement vos changements dans un fichier ips et
envoyez-le moi avec une description du problème (en anglais !). Je ferai de mon mieux pour le résoudre et
récupérer le maximum de votre travail.

=======================
ROMs supportées
=======================
KiddEd permet d'éditer la rom Alex Kidd in Miracle World [v1] (aussi nommé Alex Kidd in Miracle World (V1.1)).

Il NE permet PAS d'éditer Alex Kidd in Miracle World [v0] (aussi nommé Alex Kidd in Miracle World (V1.0)),
ni la version BIOS d'Alex Kidd in Miracle World.

=======================
Éditeurs
=======================
1. Éditeur de niveau
2. Éditeur de palette
3. Éditeur de tuile
4. Éditeur de lot de tuiles
5. Éditeur Lot de Tuiles de Sprite
6. Éditeur de lot de métatuiles
7. Éditeur de sprites
8. Éditeur de contenu de boîtes
9. Éditeur de paramètres de jeu
10. Éditeur de paramètres des niveaux
11. Éditeur de table des noms
12. Éditeur de l'écran titre
13. Éditeur de magasins
14. Éditeur de matchs de Janken
15. Éditeur de l'énigme
16. Éditeur de texte
17. Éditeur de physique
18. Éditeur de sons

-----------------------
1 . Éditeur de niveau
-----------------------
L'éditeur de niveau (Level Editor) vous permet de manipuler l'organisation des tuiles et les entités d'un niveau.
Vous pouvez utiliser les barres de défilement, les touches fléchées ou la molette de la souris pour naviguer dans le niveau.
Appuyer sur la touche Orig/Home de votre clavier vous amènera au point de départ d'Alex.
L'éditeur de niveau commence en mode d'édition d'entités (Entity Editing Mode) indiqué par le bouton Alex appuyé dans la
barre de boutons en haut de la fenêtre.
L'autre mode de l'éditeur de niveau est l'édition l'organisation des tuiles (Layout Editing Mode).
Il est accessible en appuyant sur le bouton avec l'étoile de la barre de boutons.

1a ) mode édition d'entités
En mode édition d'entités, vous pouvez sélectionner une entité du niveau en cliquant dessus avec le bouton gauche de la souris.
L'entité sélectionnée peut être déplacée en la faisant glisser.
Elle peut être supprimée en cliquant sur ​​le bouton avec le nuage de poussière ou en appuyant sur la touche Suppr ou la touche retour arrière de votre clavier.
Un clic droit sur une entité ouvre une boîte de dialogue permettant de modifier ses propriétés.
Dans cette boîte de dialoque, vous pouvez aussi spécifier la priorité de l'entité sélectionnée. La priorité entre en jeu quand il y a beaucoup trop d'entités chargées en même temps.
Le moteur ne peut gérer que jusqu'à 10 entités en même temps .
Par exemple: quand il y a 8 entités actives à l'écran et qu'un nouvel écran est chargé avec plus de 2 entités, seulement 2 entités à priorité haute de cet écran seront chargées et les autres entités seront tout simplement ignorées. 
De plus, il y a des entités spéciales (i.e. Top, Top A and Top B). Il ne peut y avoir q'une entité active avec la priorité définie sur "Top".
Quand une nouvelle entité dont la priorité est définie "Top" est chargée elle remplace l'entité précédente qui était elle même définie sur "Top".
Les priorités "Top A" et "Top B" fonctionnent ensemble. il ne peut y avoir que 2 entités actives avec leurs propriétés définies sur "Top A" ou "Top B" . 
Si une des priorité "Top A" ou "Top B" est libre, une nouvelle entité avec la priorité "Top A" est chargée  dans cet emplacement libre.
Si les deux priorités "Top A" et "Top B" sont déjà occupées par des entités actives , alors "Top B" sera toujours remplacé par de nouvelles entités qui ont leur priorité définie sur "Top A" ou "Top B".
Dans la partie droite de la fenêtre se trouve la liste d'entités possibles. Vous pouvez faire glisser une entité de cette liste
et la déposer dans le niveau à la position voulue.
Le jeu ne permet pas d'insérer des entités au point de départ d'Alex.

1b ) mode édition de l'organisation des tuiles
En mode édition de l'organisation des tuiles vous pouvez "dessiner" l'arrière-plan du niveau en utilisant le bouton gauche de la souris.
La métatuile à dessiner peut être sélectionnée dans le lot de métatuiles dans la partie droite de la fenêtre.
Maintenir la touche ALT de votre clavier tout en cliquant sur ​​une métatuile du niveau fonctionne comme une pipette :
la métatuile sera sélectionnée comme celle à dessiner.
Lorsque vous maintenez la touche CTRL, vous pouvez modifier les tuiles cachées qui seront engendré par le déclencheur 4B. Par défaut, cela supprime les tuiles cachées.
Si vous voulez ajouter des tuiles cachées vous devez appuyer sur la touche SHIFT en plus de CTRL. 

-----------------------
2. Éditeur de palette
-----------------------
L'éditeur de palette (Palette Editor) permet de manipuler les palettes utilisées dans le jeu.
Cliquer sur l'une des couleurs ouvrira un sélecteur de couleur. Ce dernier fournit toutes les couleurs qui sont disponibles sur Master System.
Pour remplacer la couleur sélectionnée par une nouvelle couleur cliquez simplement sur la couleur désirée dans le sélecteur de couleur.
L'éditeur de palette permet également l'extraction de la palette à partir d'une image. Cela peut être fait en copiant une image dans le presse-papier
puis en la collant comme une palette (Edit>Past...).

-----------------------
3. Éditeur de tuile
-----------------------
L'éditeur de tuile (Tile Editor) permet d'éditer toutes les tuiles du jeu.
Dans le jeu les tuiles et les palettes sont séparées. Cela signifie que la même tuile peut être affichée en utilisant différentes palettes.
Il faut donc vous assurer que les tuiles apparaissent correctement avec toutes les palettes qui pourraient être utilisées avec cette tuile.
Vous pouvez sélectionner plusieurs tuiles en maintenant la touche CTRL de votre clavier tout en cliquant sur ​​les tuiles que vous souhaitez sélectionner.
Vous pouvez dessiner des pixels à l'aide du bouton gauche de la souris. Vous pouvez choisir la couleur à dessiner dans la palette en bas de la fenêtre.
Maintenir la touche ALT tout en cliquant sur ​​un pixel fonctionnera comme une pipette : la couleur du pixel cliqué est sélectionné dans la palette.
Pour déplacer tous les pixels dans un sens, vous pouvez appuyer sur les touches fléchées de votre clavier tout en maintenant la touche CTRL enfoncée.
Pour les tuiles de fond vous pouvez choisir entre les palettes 0 et 1. Ce choix ne changera que la palette utilisée pour afficher la tuile.
La palette réellement utilisée dans le jeu pour cette tuile doit être sélectionnée dans l'éditeur de lot de métatuiles.

-----------------------
4. Éditeur de lot de tuiles
-----------------------
L'éditeur de lot de tuiles (Tileset Editor) permet d'éditer les lots de tuiles pour les niveaux.
En raison de la quantité limitée de mémoire vidéo disponible sur Master System, les tuiles sont organisées par lots.
Ils peuvent être édités dans l'éditeur de lot de tuiles. Chaque niveau dispose de 2 lots de tuiles. Un lot pour les décors et un pour les entités.

-----------------------
5. Éditeur Lot de Tuiles de Sprite
-----------------------
L'Éditeur Lot de Tuiles de Sprite permet d'éditer les petits lots de tuiles de sprite qui font un lot de tuiles de sprite pour un niveau.
En utilisant la liste déroulante, vous pouvez sélectionner le lot de tuiles de sprite à éditer.
Le panneau situé en dessous est utilisé pour spécifier où le lot de tuiles de sprite doit être placé dans le lot de tuiles de sprite d'un niveau.
Un lot de tuiles de sprite comprend jusqu'à 3 séquences de tuiles. Une séquence de tuiles peut être une séquence régulière de tuiles,
une séquence de tuiles réfléchissante ou une séquence de tuiles invisibles. Les tuiles invisibles peuvent être utilisées pour créer des sprites invisibles.

-----------------------
6. Éditeur de lot de métatuiles
-----------------------
L'éditeur de lot de métatuiles (Metatileset Editor) permet d'éditer les métatuiles utilisées pour les niveaux.
La partie gauche de la fenêtre représente un lot de métatuiles. Chaque métatuile est constituée de 4 tuiles.
À droite sont affichés les détails de la métatuile sélectionnée. En haut se trouve un zoom de la métatuile sélectionnée.
Vous pouvez sélectionner une des tuiles qui la compose en cliquant dedans avec le bouton gauche de la souris. 
Au départ, les 4 tuiles sont sélectionnées. Dans ce cas, les propriétés affichées sont celles des 4 tuiles de la métatuile.
Dans le cas contraire, les propriétés affichées sont celles de la tuile sélectionnée dans la métatuile.
En bas se trouve le lot de tuile choisi. Si l'une des tuiles de la métatuile est sélectionnée, vous pouvez la remplacer
par une autre en cliquant gauche dans le lot de tuiles. Cliquer droit dans la métatuile ouvrira les tuiles dans l'éditeur
de tuiles. (Cela ne fonctionne qu'avec certaines métatuiles pour l'instant !)

-----------------------
7. Éditeur de sprite
-----------------------
L'éditeur de sprite (Sprite Editor) permet d'éditer tous les sprites du jeu.
La plupart des sprites sont faits de plusieurs tuiles. Cet éditeur permet de modifier la disposition des tuiles d'un sprite.
On peut déplacer les tuiles avec un clic gauche maintenu. La croix blanche au milieu de la fenêtre indique l'origine du sprite.
Dans la partie droite de la fenêtre vous trouverez les différentes images composant l'animation du sprite.
Cliquer dans ces images avec le bouton gauche de la souris sélectionne l'image cliquée pour l'éditer.
Cliquer dans ces images avec le bouton droit de la souris ouvre les tuiles du sprite dans l'éditeur de tuile.
Vous pouvez aussi choisir une hitbox pour le sprite sélectionné.
Une hitbox est utilisée pour la détection de collision. Une collistion
est détectée quand au moins deux hitbox se chevauchent. Vous pouvez
rendre visible la hitbox du sprite courant en cochant la case correspondante
dans la barre d'outils. Elle apparaîtra en vert.
Une hitbox est décrite par un quadruplet : [x, y, w, h]
Ces valeurs ont la signification suivante :
x : le x relatif à l'origine du sprite (la croix blanche)
y : le y relatif à l'origine du sprite (la croix blanche)
w : la largeur de la hitbox
h : la hauteur de la hitbox
Les hitbox peuvent être éditées dans l'éditeur d'hitbox (Hitbox Editor).
Ce dernier est accessible par le menu Edit de l'éditeur de sprite (Sprite Editor).
Vous pouvez alors choisir un des champ et modifier sa valeur.
L'éditeur de hitbox est encore à l'état de brouillon et sera modifié
dans une prochaine version.

-----------------------
8. Éditeur de contenu de boîtes
-----------------------
L'éditeur de contenu de boîtes (Box Content Editor) permet de changer le contenu des boîtes ornées d'un point d'interrogation.
Le jeu utilise un index pour décider quel élément créer quand une telle boîte est détruite.
Chaque fois que l'une de ces boîtes est cassée l'élément indexé est créé et l'indice est augmenté de 1.
Quand un niveau commence cet indice est mis à l'indice de boîte du niveau.
L'éditeur de contenu de boîtes indique l'indice de boîte de niveau par une bordure rouge autour du contenu de la case correspondante.
Cet indice peut être choisi en cliquant sur le contenu de la boîte désirée.

-----------------------
9. Éditeur de paramètres de jeu
-----------------------
Dans l'éditeur de paramètres de jeu (Game Settings), vous pouvez définir les valeurs initiales de jeu pour le nombre de vie,
l'argent et le score.
Vous pouvez également définir le niveau de départ.

-----------------------
10. Éditeur de paramètres des niveaux
-----------------------
Dans l'éditeur de paramètres des niveaux (Level Settings), vous pouvez configurer le cycle de couleur de l'eau (blanc-cyan-magenta),
quelles tuiles animer, quelle musique jouer, quel magasin utiliser et quel lot de métatuiles utiliser pour le niveau.

Il permet également de convertir la disposition du niveau en vertical, horizontal, horizontal inversé, en L ou de type jarre.

La disposition verticale est utilisée dans le dernier niveau du jeu. Le scrolling va vers le bas.
La disposition horizontale est utilisée dans beaucoup de niveaux, par exemple le second. Le scrolling va vers la droite.
La disposition horizontale inverse est utilisée dans le niveau 13 ($0D). Le scrolling va vers la gauche.
La disposition en L est utilisée dans le premier niveau. Le scrolling va d'abord vers le bas puis vers la droite.
La disposition de type jarre est utilisée dans le troisième niveau. Le scrolling va vers la droite mais il est possible
de nager à travers une jarre pour atteindre un autre écran.
L'organisation de tuiles "river layout" est utilisé pour les niveaux 05 et 09.
Cette organisation a jusqu'à 16 écrans au-dessus de l'eau et 4 écrans d'eau.
Quand le véhicule d'Alex est détruit, il tombe dans l'eau.

-----------------------
11. Éditeur de table des noms
-----------------------
L'éditeur de table des noms (Name Table Editor) permet de modifier les tables de noms et fonctionne d'une manière très similaire que l'éditeur de lot de métatuiles (voir 5. Éditeur de lot de métatuiles).
Les tables de noms sont des arrangements de tuiles qui composent une image, par exemple la carte et le magasin.
L'écran titre est composé de plusieurs tables de noms qui apparaissent une à une.

-----------------------
12. Éditeur de l'écran titre
-----------------------
L'éditeur de l'écran titre (Title Screen Editor) permet de changer l'écran titre.
L'éditeur de l'écran titre démarre en mode d'édition d'entité, indiqué par le bouton Alex appuyé dans la barre de boutons en haut de la fenêtre.
L'autre mode est l'édition d'arrière-plan. Il est accessible en appuyant sur le bouton étoile de la barre de boutons en haut de la fenêtre.
Vous pouvez passer d'un étape à l'autre de l'animation de l'écran titre avec les flèches de votre clavier ou par le menu édition (Edit).

1a ) mode édition d'entité
En mode édition d'entité, vous pouvez sélectionner une entité en cliquant dessus avec le bouton gauche de la souris.
L'entité sélectionnée peut être déplacée en faisant glisser le curseur.
L'entité sélectionnée peut être supprimée soit en cliquant sur ​​le bouton avec la croix rouge soit en appuyant sur
la touche Suppr ou la touche Retour-arrière de votre clavier.

1b ) mode édition d'arrière-plan
En mode édition d'arrière-plan, vous pouvez sélectionner une table des noms en cliquant dessus avec le bouton gauche de la souris.
La table des noms sélectionnée peut être déplacée en faisant glisser le curseur.
Cliquer sur une table des noms avec le bouton droit de la souris ouvre la table des noms dans l'éditeur de table des noms.

-----------------------
13. Éditeur de magasins
-----------------------
L'éditeur de magasins (Shop Editor) permet de modifier les articles vendus dans les magasins et fournit un éditeur d'éléments
pour modifier le prix de chaque article.
Vous pouvez sélectionner un élément dans la boutique en cliquant dessus avec le bouton gauche de la souris. Vous pouvez également
sélectionner un élément en utilisant les flèches gauche et droite du clavier. L'élément sélectionné peut être modifié en utilisant
les flèches haut et bas.
L'éditeur d'élément est accessible à partir du menu édition (Edit). Dedans vous pouvez modifier le prix des articles.

-----------------------
14. Éditeur de matchs de Janken
-----------------------
L'éditeur de matchs de Janken (Janken Match Editor) permet de modifier les décisions prises par Janken et ses sbires et leurs
messages d'accueil. Vous pouvez sélectionner une décision soit en cliquant dessus avec le bouton gauche de la souris, soit en
utilisant les flèches gauche et droite de votre clavier.
La décision sélectionnée peut être modifiée en utilisant les flèches haut et bas de votre clavier.
Le jeu utilise un indice global pour choisir la décision à prendre à partir de la table des décisions de l'adversaire.
Cet indice commence à 0 et est fréquemment augmentée dans la phase de compte à rebours d'un match de Janken. Le changement de
cet indice peut être observé lorsque le joueur possède l'objet "telepathy ball". Cet indice n'est jamais réinitialisé dans le
jeu - uniquement lorsqu'une nouvelle partie commence.

-----------------------
15. Éditeur de l'énigme
-----------------------
L'éditeur de l'énigme (Riddle Editor) permet de modifier la séquence de symboles à déclencher afin de faire apparaître la
couronne dans le dernier niveau du jeu.
Vous pouvez sélectionner l'un des symboles en cliquant dessus avec le bouton gauche de la souris ou en utilisant les flèches
gauche et droite de votre clavier. Le symbole sélectionné peut être modifié en utilisant les flèches haut et bas de votre clavier.

-----------------------
16. Éditeur de texte
-----------------------
L'éditeur de texte (Text Editor) permet de modifier tous les textes du jeu.
Vous pouvez utiliser les flèches de votre clavier pour déplacer le curseur et il suffit de taper le texte souhaité à l'aide
de votre clavier.
Vous pouvez également déplacer le curseur à une position spécifique en cliquant gauche dessus. Pour effacer le caractère sur
le curseur, vous pouvez appuyer sur la touche Suppr de votre clavier. Pour effacer le caractère avant le curseur et ensuite
déplacer le curseur vers la gauche, vous pouvez appuyer sur la touche Retour-arrière.
En bas de l'éditeur, vous pouvez trouver un éditeur qui permet d'éditer librement les boîtes de texte.
Il utilise des séquences de contrôle pour déplacer le curseur en remplissant le chemin qu'il parcourt.
Les séquences de contrôle commencent par une barre oblique inversée "\" suivie par la direction dans laquelle le curseur se déplace.
La direction peut être l'une des lettres suivantes:
r - droite
d - bas
l - gauche
u - haut
Une séquence de contrôle est complétée par un numéro juste après la direction. Ce nombre spécifie la quantité de caractères à parcourir.
Exemple: \r28 signifie qu'il y a 28 caractères à parcourir sur la droite.

-----------------------
17. Éditeur de physique
-----------------------
L'éditeur de physique (Physics Editor) permet de changer la physique d'Alex , ses véhicules , ennemis et missile.
L'Accélération est appliquée aussi longtemps que le bouton est maintenu enfoncé. Dès que le bouton est relâché la Décélération est appliquée.
L'accélération s'arrêtera dès que la vitesse aura atteinds son maximum.
L'accélération opposée est l'accélération au sens opposé de la direction . C'est par exemple quand le bouton gauche est pressé quand Alex est toujours en train de marcher vers la droite.
Dans le menu d'affichage de l'éditeur de physiques , vous pouvez choisir les unités utilisées pour les valeurs de la physique.
Les unités peuvent soit être basés en sous-pixels ( spx ) avec 256 spx = px ou bien par un des pixels complets.

-----------------------
18. Éditeur de sons
-----------------------
L'éditeur de son (Sound Editor) permet de jouer, exporter et changer tous
les sons du jeu.
Vous pouvez exporter tous les sons au format PSGlib en sélectionnant
un son dans la liste et en appuyant sur le bouton "Export Sound".
Pour changer des sons il faut d'abord remplacer le moteur de son (Sound Engine),
en choisissant "PSGlib Sound Engine" dans la liste et en cliquant sur "Apply".
Ensuite vous pouvez sélectionner le son à remplacer, appuyer sur "Import Sound"
et choisir le fichier à importer.
KiddEd supporte les formats suivants :
.psg qui peut être crée en utilisant la PSGlib (https://github.com/sverx/PSGlib)
.vgm qui peut être crée en utilisant des emulateurs or traquers (de nombreux fichiers sont
accessibles à http://www.smspower.org/Music/VGMs)
En appuyant sur le bouton "Restore Sound" vous pouvez remplacer un son par
le son original.
Vous pouvez aussi supprimer un son en cliquant sur "Remove Sound".
L'emplacement du son persistera mais le son sera désactivé.
De plus, pour les effets sonores vous pouvez définir une priorité. Cette priorité est considérée quand un effet sonore est déclenché alors qu'un autre effet sonore joue.
Dans ce cas, le nouveau effet sonore va seuleument jouer si sa priorité est égale ou supérieure à la priorité de l'effet sonore qui est en cours de lecture.
Le nouveau effet sonore annulera alors l'effet sonore actuel et commencera à jouer à sa place.
Pour la musique, vous pouvez choisir si la musique doit se répéter (ceci peut être modifié uniquement quand le moteur PSGlib Sound est utilisé).
