# Sprite Optimizer Le Sprite Optimizer est un outil permettant de générer le code Multi DrawStat optimisé d'une image. La sortie est destinée à être copiée-collée dans un éditeur de programmes. Merci à Zezombye et Breizh pour l'idée originale. La solution est optimisée et peut ne pas être optimale. En pratique, elle est très souvent utilisable telle quelle. L'algorithme a une complexité quadratique : au delà de 150 pixels à traiter, l'exécution peut être très lente. ## Options d'utilisation Par défaut, le code est généré pour un origine `(0, 0)` en haut à gauche, ce qui correspond au `ViewWindow 0, 126, 0, 62, 0, 0`. ### Inversion du ViewWindow Pour inverser le ViewWindow et avoir une origine `(0, 0)` en bas à gauche, utilisez l'option `--flip`. Correspond au `ViewWindow 0, 126, 0, 0, 62, 0`. Il est possible d'utiliser cette option en même temps que `--offset`. ### Décalage du ViewWindow Pour décaler l'origine du ViewWindow et avoir une origine `(a, b)` dans un coin, utiliser l'option `--offset a, b`. Correspond au `ViewWindow a, 126+a, 0, 62+b, b, 0`. Il est possible d'utiliser cette option en même temps que `--flip`. ### Affichage des statistiques et de la progression Utilisez les options `--info` et `--progress`. ### Export visuel du résulat Pour exporter le résultat visuellement, utilisez les options `--show` pour afficher l'image et `--draw` pour l'enregistrer dans un fichier `_gen.png`. Cela permet de vérifier l'optimisation effectuée par l'outil. ## Installation Installez Python 3 ainsi que les dépendances citées dans le fichier `requirements.txt`. ## Exemples d'utilisation ```bash # Affiche le code uniquement ./sprite-optimizer image.png # Affiche la progression, des infos (lignes, temps d'exécution), et le code ./sprite-optimizer -pi image.png # Retourne le code de l'image pour un ViewWindow inversé (origine en bas à gauche) ./sprite-optimizer --flip image.png # Retourne le code avec un offset de (10, 5) ./sprite-optmizer --offset 10 5 image.png ```