Ce tutoriel va expliquer comment réaliser un CD multi-jeux (commerciaux ou non) avec un menu basé sur DreamOn (donc très joli). Ce menu a originellement été réalisé pour les DreamOn discs (CDs offerts avec le magazine DreamOn qui contenaient des démos jouables de jeux ainsi que des vidéos) et a notamment été utilisé pour la compilation "BOR remixed".

Prérequis :

  • Avoir l'archive téléchargeable ici.

  • Adobe Photoshop (en effet, le plugin PVR ne fonctionne pas du tonnerre avec Paint Shop Pro).

  • Savoir faire fonctionner Chankast (avoir un PC le permettant) qui sera votre allier pour tester votre création.

  • Savoir utiliser les lignes de commande sous Windows.

Savoir faire :

  • Tout ceci peut sembler assez complexe pour qui ne connait pas la méthode selfboot d'Echelon, l'idéal serait d'avoir déjà réalisé des CDs de compilation DC avec le tutoriel de Venom.

Note de edd, le 31/08/2009 : Avec BootMake/CDI4DC, on peut avantageusement (création d'un CDI au lieu de graver un CD/CDR) remplacer les parties "mkisofs" , "ipins" et "cdrecord" par BootMake/CDI4DC (ce qui ne dispense pas du "binhack"); vous pouvez vous référer à la partie "La Création du CDI" de ce tuto).

Note (2016): Si vous utilisez un Windows 64bits (non compatible avec les exe 16bits), vous devrez utiliser les alternatives à IPINS et BINHACK disponibles dans la section OUTILS.

  • Photoshop: concernant les propriétés du PVR d'origine, il n'est pas forcément nécessaire de connaitre les principes et propriétés du format, par contre il faut savoir utiliser Photoshop, notamment la transparence si on veut un effet réussi.

écran d'accueil

Ecran d'accueil avec Titre, Sous-titre et transparence.

AVANT TOUT

  • Décompresser l'archive où vous le souhaitez, par exemple dans un répertoire C:\COMPIL.
  • Copier le fichier pvrtex8bi dans le répertoire des formats supportés de Photoshop (par exemple, pour la version CS française, c'est C:\Program Files\Adobe\Photoshop CS\Modules externes\Formats de fichiers\).
  • Copier vos jeux sans le fichier dummy s'il y a (souvent nommé 0xxxxx.DAT) dans des sous-répertoires du répertoires DATAS (exemple: \1\, \2\,\3\...) -idem au tutoriel de Venom-.

Ce tutoriels se base sur une compilation avec 3 jeux, dans toute la suite, si vous n'en avez que 2 ou si vous en avez plus de trois, adaptez en ajoutant des lignes, des fichiers de config et des images.

Les fichiers contenus dans l'archive forment de petits exemples apportant un complément à ce tutoriel.

CONFIGURATION DU FUTUR CD

Bien, vous avez divers outils devant vous ainsi qu'un répertoire DATAS, rendons-nous dans celui-ci..

Les fichiers qui vont nous intéresser dans un premier temps sont les fichiers .CFG, commençons par le fichier MENU.CFG:

Le nom de ce fichier doit rester tel quel, c'est celui qui est appelé au démarrage.

Attention, toute malformation du fichier entrainera de gros bugs du menu (textures absentes, etc).

Si on regarde ce fichier on comprend aisément son fonctionnement, l'entête (RELEASE) doit rester tel quel.

Le bloc PRODUCT_LIST doit être modifié, il contient la liste des choix du menu sous cette forme:

"Nom du Jeu" :<type>,"fichier de config du jeu","image du jeu" [,AUTO]

Le "fichier de config du jeu" est le nom du fichier de configuration .CFG pour ce jeu, l'"image du jeu" est le nom de l'image du jeu .PVR pour ce jeu et nous verrons comment faire ces images par la suite. Le paramètre ",AUTO" signifie que sans choix de la part de l'utilisateur au delà d'un certain laps de temps, ce jeu sera automatiquement lancé, il va de soit qu'il ne peut donc y avoir qu'un seul choix ayant le paramètre ",AUTO" en fin de ligne.

Il nous reste donc à définir les différents <type> possibles:

  • GAME : Ce type impose que le fichier CFG du jeu contienne la description des contrôles.
  • MOVIE : Ce type qui lancera tout aussi bien votre jeu n'impose pas que la description CFG du jeu contienne les contrôles.
  • AUTO : Idem MOVIE.

Voila, je pense qu'à présent, c'est OK pour le fichier MENU.CFG.


menu

L'écran de sélection (les images moches sont ici pour exemple)


Attaquons-nous aux autres fichiers, tout d'abord le fichier INFO.CFG qui s'appelle comme tel car c'est le nom que je lui ai donné dans le MENU.CFG. Ce choix (informations qui renvoient sur la relance du menu) n'est pas obligatoire et vous pouvez vous en passer. Sa forme est identiques aux fichiers de config qui lancent des jeux (sauf qu'il (re-)lance le menu) et correspond donc au détail fait ci-dessous pour les CFG des jeux.

La mise en forme des fichier CFG pour les 3 types (GAME, MOVIE, AUTO) est similaire sauf petit détail, qui sera détaillé, pour le type GAME.

De manière générale, on y trouvera un bloc LAUNCH et plusieurs blocs PRODUCT_INFO (un par langue).

Le bloc LAUNCH définit le chemin (PATH, nom du sous répertoire où s'éxecutera le jeu -qui sera donc la racine pour ce jeu quand il tournera-) ainsi que le nom et chemin (EXEC) du binaire à lancer (généralement \\1st_read.bin), pour ce point, vérifiez que le binaire pour votre jeu est 1st_read.bin, sinon adaptez le fichier x.CFG pour qu'il lance bien le bon nom de binaire.

Les blocs PRODUCT_INFO sont obligatoires pour chaque langue (anglais, français, allemand, espagnol) et vous pouvez copier le même texte pour chaque si vous le souhaitez mais devez avoir les quatre. Basiquement, vous y mettez ce que vous voulez mais attention à la taille de votre texte, s'il est trop long (hors écran), cela aura de forte chance de faire planter l'interface. Souvenez-vous, Chankast est votre ami...

Voila pour les types définis dans le MENU.CFG comme AUTO et MOVIE, les parties LAUNCH et PRODUCT_INFO du type GAME se configurent de la même manière avec une section supplémentaire obligatoire détaillée ci dessous.


sous-écran

Sous écran pour jeu de type AUTO


Le type GAME a la particularité qu'il permet et impose de définir une section CONTROLLER (elle aussi obligatoire pour chaque langue) accessible en pressant 'direction droite' sous l'interface qui décrit les contrôles du jeu. Ne déclarez par votre jeu en type GAME si vous ne renseignez pas cette section!


sous-écran

Sous écran pour jeu de type GAME


Les lignes pour cette partie sont de la forme:

<touche>"<description>"

Vous n'avez nul besoin de définir toutes les touches, ne définissez que celles utilisées.

Voici les touches possibles:

flècheDIR : Croix directionnelle.

flèche ANA : Stick analogique.

flèche TL : Gachette gauche.

flèche TR : Gachette droite.

flèche ST : Bouton Start.

flècheKA : Bouton A.

flèche KB : Bouton B.

flèche KX : Bouton X.

flèche KY : Bouton Y.


sous-écran

Sous écran "controls" pour jeu de type GAME


Là aussi, les fichiers d'exemple contenus dans l'archives vous aideront à réaliser cette partie. N'hésiter pas à tester sous Chankast en faisant un cdrw bootable de votre répertoire DATAS (contenant vos fichiers CFG modifiés).

CRÉATION DES IMAGES

Nous distinguerons 2 types d'images, les images pour chaque jeu et les images pour illustrer la compilation.

Commençons par les images pour chaque jeux, vous trouverez dans le répertoire DATAS des fichiers allant de 1.PVR à 8.PVR (ainsi que INF.PVR), dans l'hypothèse où nous avons 3 jeux (et pas de choix "INFO CD"), nous nous attacherons aux fichiers 1.PVR, 2.PVR et 3.PVR (si vous en avez plus, adaptez; il ne faut pas perdre de vue qu'il faut utiliser ces fichiers comme base car les adresses des textures sont deja calculées pour être correctes entre-elles).

Vous avez donc juste à ouvrir les images que vous souhaitez modifier (rien ne vous empêche après de les renommer si vous avez spécifié un autre nom dans le fichier MENU.CFG) avec Photoshop (à l'ouverture vous aurez une fenêtre d'information/choix format, ne modifiez rien, validez). Modifiez l'image par ce que vous voulez (collage d'un screenshot du jeu, collage de la jaquette...) sans changer la taille de l'image PVR et vous enregistrez (Photoshop aura gardé toutes les propriétés et donc les sauvegardera telles qu'elles étaient). Ne pas prendre 2 fois la même image de base, en effet si vous le faites, vos deux images auront la même adresse (niveau texture) et à l'affichage du menu vous aurez donc deux fois la même (la seconde texture aura effacé la précédente en mémoire).

Basiquement, vous prenez un modèle différent parmi INF.PVR, 1.PVR, 2.PVR, 2.PVR, 3.PVR, 4.PVR, 5.PVR, 6.PVR, 7.PVR et 8.PVR que vous modifiez avec Photoshop et que vous sauvegardez (et renommez au besoin).


Jetons un oeil aux 4 autres PVR qui vont nous intéresser:

  • FMOUNTSKY.PVR : fond de l'écran d'accueil (là où j'ai mis "Strider"), nous l'appellerons le FOND.
  • COPYRIGHT.PVR : en bas de l'écran d'accueil, nous l'appellerons le COPYRIGHT.
  • SCENELOGO.PVR : grosse image à l'écran d'accueil (là où j'ai mis DreamAgain), nous l'appellerons le TITRE.
  • VOL1.PVR : petite image à l'écran d'accueil (là où j'ai mis Title - Titre), nous l'appellerons le SOUS-TITRE.

Pour le FOND, ouvrez avec Photoshop, modifiez, sauvegardez, toujours sans changer la taille ou les paramètres de l'image.

Pour le COPYRIGHT, procédez de la même manière, n'hésitez pas à utiliser le canal de transparence (supporté par le format utilisé ici).

Pour le TITRE et le SOUS-TITRE, vous pouvez, ici aussi, utilisez la transparence. Faites appel à tout votre talent pour faite quelque chose de joli, le format utilisé le permet (moi je fais ce que je peux... ^_^).


Nous avons, ici, modifié toutes les images intéressantes (vous pouvez vous amuser à modifier les images utilisées pour les boutons de la Dreamcast mais je n'en vois pas l'intérêt et ceux d'origine sont très biens), puisque vous avez vos fichiers CFG créés précédemment, n'hésitez pas à tester avec Chankast en faisant un cdrw selfbootable de votre répertoire DATAS. Je suis sûr qu'avec vos talent de graphiste, vous saurez faire bien plus pour un rendu original (et pourquoi pas la modification des textures pour l'eau, etc...).

PREPARATION BINAIRES ET GRAVURES

Cette partie est, en fait, la classique création d' CD selfbootable telle que l'a décrit le groupe Echelon.

Vous avez donc copié l'intégralité de vos jeux (sans le dummy) dans des sous-répertoires (si, si, c'est dans AVANT TOUT).

Bien, prenez un CDR (ou un RW -effacé-, vous en ferez une copie une fois terminé). Mettez-le dans votre graveur. Rendez-vous en ligne de commande dans le répertoire où se trouve cdrecord (et le reste). Tapez cdrecord -scanbus et identifiez les numéros du type x,y,z associés à votre graveur (si vous ne voyez pas votre graveur, dégoter les aspi pour votre matériel exotique). Les x,y,z qui suivront devront être remplacés par les votres.


Bien, nous allons donc graver la première session audio qui permet au CD d'être selfbootable. Tapez cdrecord -dev=x,y,z -multi -audio audio.raw et attendez que le command prompt vous rende la main (en clair que la session soit gravée).


Il nous faut savoir où se termine la session, vous allez donc taper cdrecord -dev=x,y,z -msinfo et vous obtiendrez un deux nombres du genre 0,positionFin (souvent 0,11702). Retenez positionFin, ça nous sera utile par la suite.


Il va maintenant falloir préparer les premiers binaires lus pour chaque jeu et pour la compil que nous nommerons 1st_read.bin mais qui peuvent être nommés différemment (dans ce cas, vous le savez et l'avez détecter préalablement dans l'étape de création des fichiers CFG). Pour chaque 1st_read.bin de chaque jeu (donc pour chaque sous-répertoire), vous le déplacez aux cotés de binhack.exe et ip.bin, vous tapez binhack, vous entrez 1st_read.bin puis ip.bin puis positionFin; ensuite vous remettez le 1st_read.bin à sa place (dans son répertoire).

Bien, il faut ensuite faire de même avec le 1st_read.bin du menu, c'est à dire celui qui est dans DATAS. Déplacez-le, tapez binhack, puis 1st_read.bin puis ip.bin puis positionFin; enfin replacez le dans DATAS.


C'est presque fini! Il faut maintenant créer un fichier ISO du répertoire DATAS qui contient tout ce qu'il faut. Tapez mkisofs -C 0,positionFin -V NomDeVotreCD -l -o data.iso DATAS (NomDeVotreCD étant le nom qu'aura votre CD sous l'explorateur Windows).


Ce fichier ISO a été créer sans IP.BIN (le premier fichier lu par la Dreamcast) et ceci est volontaire. En effet, ce fichier doit avoir une position bien particulière c'est à dire être dans le premier bloc lu. Pour cela non allons l'injecter dans le data.iso. Tapez IPINS puis ip.bin, puis data.iso. Voila qui est fait.


Il n'y a plus qu'à graver, cette image ISO et finaliser le cd en même temps. Tapez cdrecord -dev=x,y,z -xa1 data.iso et attendez (ça grave... prévoyez 20 minutes).


Voila, vous avez votre CD ;)


Pour toute question ou problème, n'hésitez pas à passer par le forum ;)