On continue les petits trucs et astuces concernant Magic Set Editor.

Je continue à  peaufiner mes templates pour Magic Set Editor, et par la même occasion, je continue à  découvrir de petits trucs qu'il serait criminel de ne pas partager.

Jusqu'à  il n'y a pas si longtemps, quand je devais mettre à  jour des templates, je copiais/collais les fichiers dans le répertoire data de Magic Set Editor. C'est une opération qui fonctionne, qui est triviale pour moi, mais pour quelqu'un qui ne s'intéresse pas au fonctionnement d'un programme, ne va pas fouiller dans les répertoire Program Files et autres AppData, ça peut vite devenir un cauchemar.

Heureusemenent, MSE propose déjà  un système d'installation / mise à  jour de templates, que je vais utiliser dorénavant pour la distribution de mes templates.

Comprendre le principe des packages

Un template pour MSE, c'est un ensemble de packages. De même, quand on enregistre un deck créé par MSE (dans un fichier .mse-set), on crée un package. Et c'est quoi, un package ? Tout simplement, un répertoire avec un ensemble de fichiers.

On peut d'ailleurs s'amuser à  ouvrir un fichier mse-set avec un logiciel extracteur de type 7-Zip. Vous trouverez dedans les fichiers images (si vous en avez mis) ainsi qu'un fichier texte contenant l'ensemble des données de vos cartes. Pratique pour faire du chercher/remplacer en masse, ou pour corriger le nom d'un set suite à  un changement de nommage. Oui, ça m'est arrivé ...

Un répertoire mse-game, ou un répertoire mse-style, sont donc, au niveau de MSE, des packages. Les packages mse-style sont liés à  un mse-game, mais restent indépendants.

Ce lien entre le package game et le package style est d'ailleurs un peu lâche, en témoigne mon template pour Song of Blades & Heroes. J'ai deux packages de type game : sobah et sobah-magic. Les styles associés reprennent ces racines, et j'ai donc les styles suivants : sobah-default et sobah-magic-default. Et bien, ce dernier sera affiché dans la liste des styles disponibles pour sobah. Parce qu'il utilise la même racine ... Il va donc falloir que je renomme sobah en sobah-profile, pour éviter les incohérences.

Attention donc au nommage !

Versionner ses packages

Qui dit "mise à  jour" dit "numéro de version". Pour savoir s'il faut mettre à  jour un template, on va utiliser un numéro à  trois composantes. Dans la doc de MSE, il est précisé qu'on peut utiliser un numéro de version tel qu'on en retrouve dans les logiciels : 1.0.1, 2.5.6, ... Cela permet de bien identifier le niveau des mises à  jour : le premier chiffre concerne les modifications majeures (je chamboule tout), le second les modifications importantes (j'ai rajouté des champs, j'ai modifié l'organisation de certaines valeurs, ...), la troisième les modifications mineures (j'ai changé une taille de police, j'ai décalé de trois pixels un champ, ...).

Une autre possibilité est d'utiliser un versionnage par date. En effet, en numéro de version, on peut utiliser la date à  laquelle on met à  jour le template. Cela permet de toujours avoir la dernière version, sans forcément se préoccuper du type de modifications. Plus simple pour quelqu'un qui n'a jamais eu à  travailler avec des numéros de version de logiciels.

Où renseigne-t-on le numéro de version ? Et bien, dans le fichier source du package concerné, c'est-à -dire dans le fichier game, style ou encore symbol-font. Les styles peuvent très bien évoluer alors que le game ou le symbol-font ne changent pas, ce n'est pas gênant : c'est indépendant. Même si, généralement, une évolution du game entraînera une modification du style.

Dans les premières lignes du fichier, là  où l'on renseigne son nom, on va donc indiquer le numéro de version :

mse version: 2.0.0
short name: Pulp City Supreme
full name:  Pulp City Supreme Cards
icon: pulp_city.jpg
position hint: 1
installer group: pulpcity/default
version:1.0.0
init script: include file: script

Pensez à  renseigner un numéro de version dans tous vos packages avant de passer à  la suite, histoire que la création d'un installateur se passe correctement.

Créer ses installateurs

Vos packages sont presque prêts à  être compilés et regroupés dans un unique installateur. Il reste à  organiser vos packages en groupe. Il s'agit juste de regrouper les packages sous une bannière, pour une meilleure lisibilité.

Par exemple, je propose des templates pour Song of Blades & Heroes, ainsi que pour Blood Bowl. Plutôt que de tout mélanger, je vais créer un groupe Bloodbowl, et un groupe Sobah. Pour cela, j'ouvre chaque fichier source (là  où nous avons renseigné les numéros de version), et j'indique l'installer-group auquel je rattache ce package :

mse version: 2.0.0
short name: Pulp City Supreme
full name:  Pulp City Supreme Cards
icon: pulp_city.jpg
position hint: 1
installer group: pulpcity/default
version:1.0.0
init script: include file: script

Vous voyez la ligne qui commence par "installer group" ? C'est celle-là  qui importe. La première valeur, avant le slash /, indique le groupe dans lequel on réalise l'installation. Un répertoire de package, en gros. La seconde partie, elle, correspond au nom du package dans l'installateur. Une capture vaut mieux que des mots :

Valeurs du group installer

Vos packages sont prêts ? Il reste maintenant à  créer cet installateur. C'est assez simple, et le résultat est juste un agrégat des fichiers qui composent vos templates (ouvrez un .mse-installer avec 7zip, pour voir).

Il faut utiliser l'exécutable de Magic Set Editor pour cela. Commencez par vous placer dans son répertoire, ou repérez l'endroit où il se trouve (essayez "Program Files/Magic Set Editor"). Une commande va nous permettre de créer l'installateur. On peut passer par l'invite de commandes Windows, mais un fichier batch nous sera plus utile.

On crée un fichier texte qu'on nomme creation_installer.bat dans le même répertoire que mse.exe. Il faut bien changer l'extension du fichier (et pas créer un fichier creation_installer.bat.txt). Dans ce fichier, on écrit la ligne suivante :

set listePackages=monJeu.mse-game monJeu-default.mse-style monJeu-icones.mse-symbol-font
mse.exe --create-installer mon_installer.mse-installer %listePackages%

La variable %listePackages% contient l'ensemble des packages souhaités dans notre installer, séparés par un espace. Il faut donc modifier cette liste avec vos propres packages. Vous trouverez par ici le batch que j'utilise, un peu plus évolué (plusieurs installateurs, donc un qui regroupe tout, et un ajout du numéro de version au fichier).

Exécutez le fichier .bat, et vous devriez obtenir votre installateur, sous la forme d'un fichier .mse-installer.

Utiliser les installateurs

Dernière étape (ou première, si la fabrication de templates vous indiffère), utiliser un installateur. Comment ça se passe ?

Le fichier .mse-installer est normalement associé à  Magic Set Editor. Dans le cas contraire, il faut spécifier que c'est le cas à  Windows (Ouvrir, rechercher mse.exe). En double-cliquant dessus, on ouvre une fenêtre qui ressemble à  ça :

Liste des packages à  installer

Je n'ai pas encore mis de nom à  tous mes packages, ça fait moche tous ces default partout, non ? Sinon, on peut bien voir l'ensemble des packages qu'on veut installer. La colonne status nous renseigne sur l'état de l'installation de ce package :

  • installed : déjà  installé dans cette version, ou une supérieure
  • updates available : déjà  installé, dans une version précédente
  • not installed : pas installé

Par défaut, la colonne Action va indiquer install / reinstall pour tous les packages, sauf ceux où une version "plus à  jour" existe. Cela signifie que l'existant sera écrasé. La comparaison ne se fait que sur le numéro de version, pas sur le contenu. Il est donc important de bien utiliser ces numéros de version.

En sélectionnant un package, on peut voir différentes informations le concernant : version installée et version disponible, descriptif, aperçu, ... A droite, deux boutons permettent de spécifier l'action à  entreprendre : Install/Update/Reinstall (pour mettre la nouvelle version) ou Don't change/Don't install (pour ne rien faire). Pour les packages installés, on peut aussi les supprimer par ce biais (pour faire du ménage, si on n'utilise plus certains templates, par exemple).

Détails d

On clique sur OK, et l'installation des packages commence !

Amusez-vous bien !


Tags

Contact