Solarus Wiki

A wiki for the Solarus engine community

Outils pour utilisateurs

Outils du site


fr:upgrade_from_1.3_to_1.4

Mettre à jour votre quête de Solarus 1.3 vers Solarus 1.4

Solarus 1.4 fournit un tout nouvel éditeur de quêtes qui a été réécrit de zéro. Il y a très peu de changements dans le moteur lui-même. Le seul changement est que les polices de caractères sont désormais une ressource. Cela signifie qu'elles apparaissent maintenant dans l'arbre de l'éditeur de quêtes au même titre que les maps, tilesets, musiques, etc., ce qui simplifie grandement leur gestion. Mais il est nécessaire d'ajuster vos scripts pour que les polices continuent à fonctionner avec la nouvelle façon.

Comme toujours, commencez par sauvegarder vos données avant toute migration.

Dans cette page, nous allons nous pencher sur les incompatibilités. Visitez l'annonce ou le ChangeLog pour connaître les nouvelles fonctionnalités.

Mettre à jour les fichiers de données

Les fichiers de données autres que les scripts peuvent être mis à jour automatiquement par l'éditeur. Ouvrez votre quête avec Solarus Quest Editor 1.4 et une boîte de dialogue vous demandera de lancer la mise à jour.

En cas de problèmes, n'hésitez pas à solliciter notre aide sur les forums de Solarus.

Notez que l'opération peut aussi être réalisée depuis la ligne de commande, en lançant le script update_quest.lua dans le dossier resources/quest_converter du dépôt git de Solarus Quest Editor (en fait, l'éditeur appelle ce script en interne).

Pour information, voici les changements dans les fichiers de données :

  • Le fichier de liste des polices de caractères text/fonts.dat n'existe plus. Les polices de caractères sont maintenant listées en tant que ressource comme les maps, les tilesets, les musiques, etc. Il n'y a plus de police par défaut explicite.
  • Le fichiers de polices sont maintenant dans un dossier fonts au lieu de text.
  • Les articles de magasin (shop treasures) ont une nouvelle propriété font.

Mettre à jour les scripts Lua

L'API de scripting Lua de Solarus 1.4 introduit une incompatibilité due à la nouvelle façon dont sont gérées les polices de caractères. Nous expliquons ici comment ajuster vos scripts à ce changement.

Polices de caractères

Lorsque vos créez une surface de texte, avec sol.text_surface.create(), le fichier de police de caractères et la taille de la police sont maintenant spécifiées séparément. Avant, il y avait un identifiant de police qui définissait à la fois un fichier de police et une taille de police. Maintenant, l'identifiant de police est le nom d'un fichier de police sans l'extension. Ceci est plus cohérent et intuitif par rapport aux autres ressources : sons, musiques, maps, etc. Si vous ne spécifiez pas de police, la police utilisée sera la première dans l'ordre alphabétique. Si vous ne spécifiez pas de taille, la taille de police par défaut est 11.

  • Si votre code existant appelait sol.text_surface.create() ou text_surface:set_font() avec un id de police qui ne correspond pas à un nom de fichier de police sans extenion, alors il vous faut mettre à jour cet id de police. Par exemple, si comme moi vous aviez une police appelée fixed qui faisait référence au fichier de police minecraftia.ttf, le nouvel id de police à utiliser est minecraftia.
  • Si votre code existant appelait sol.text_surface.create() sans spécifier de police (autrement dit, en comptant sur la police par défaut dans fonts.dat), alors il vous faut spécifier la police à utiliser, sinon la police choisie par défaut serait désormais la première dans l'ordre alphabétique. Vous pouvez faire cela dans la table passée en paramètre de sol.text_surface.create() (la valeur font) ou avec text_surface:set_font().
  • Si votre code existant utilisait toute police avec une taille différente de 11, il vous faut spécifier cette taille partout où vous utilisiez cette police. Vous pouvez faire cela dans la table passée en paramètre de sol.text_surface.create() (la valeur size) ou avec text_surface:set_font_size().

Obtenir de l'aide

Nous pouvons vous aider si vous avez des questions ou si vous rencontrez des problèmes pour mettre à jour votre jeu.

fr/upgrade_from_1.3_to_1.4.txt · Dernière modification: 2018/12/22 14:14 (modification externe)