I - Création des raccourcis.
1) Le launcher
Pour créer ce type de raccourci avec icôné dédiée, il faut détourner certaines limitations de Steam, qui n'est pas fait pour ça à la base.
Le principal souci est que chaque icône custom est liée à un exécutable unique. Or, avec un émulateur, en théorie c'est toujours le même exécutable qu'on lance, par exemple snes9x.exe, en lui donnant la ROM en argument.
Avec Steam, impossible, car on ne pourrait alors pas mettre des icônes différentes pour chaque jeu.
Il y a plusieurs méthodes pour pallier ce problème.
La plus propre me semble être de se créer un "launcher", un petit exécutable qui ne fait rien d'autre que lancer l'émulateur avec la ROM en argument. L'idée étant de dupliquer ce petit exécutable, un par jeu, ce qui donne la possibilité de mettre une icône différente par jeu.
Voilà le code C++ du launcher à compiler :
#include <windows.h>
int WINAPI WinMain (HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
ShellExecute(NULL, NULL, "D:\\Emulation\\Snes9x\\snes9x-x64.exe", lpCmdLine, "D:\\Emulation\\Snes9x", SW_SHOW);
return 0;
}
Alors c'est du vite fait hein, idéalement il faudrait rendre le chemin de l'exécutable paramétrable, mais j'ai la flemme.
Donc pour l'instant, il faut adapter le chemin à votre installation de Snes9x si elle est différente.
Si vous voulez une version compilée et adaptée à votre installation, demandez-le moi en MP et je vous l'enverrai.
Donc pour
Super Mario World, il faut avoir quelque part un fichier nommé par exemple "SNES_SMW.exe", qui sera le launcher de
Super Mario World.
2) Le raccourci
Ensuite, dans le client Steam, il faut ajouter un jeu non-Steam via la procédure habituelle, en choisissant comme exécutable le launcher ci-dessus, "SNES_SMW.exe".
Dans les propriétés du raccourci Steam, il faut modifier les éléments suivants :
- Nom :
Pour le nom, je conseille d'adopter une nomenclature qui garantisse un classement clair des jeux dans la liste.
Oui, car il faut préciser qu'il n'est pas possible dans Steam d'afficher les catégories en mode "grille", ce qui est un peu nul.
En attendant que ça soit implémenté un jour, il faut faire avec l'ordre alphabétique.
Personellement, je nomme mes raccourcis comme ça : "[SNES]
Super Mario World", ou encore "[MD]
Sonic The Hedgehog".
o Le "[" assure que tous les jeux émulateurs sont regroupés à la fin de la librairie.
o Le "SNES" / "MD" assure que les jeux sont regroupés par console.
o Le nom du jeu les classe ensuite pas ordre alphabétique, entre eux.
- Cible :
Dans ce champ, il faut spécifier la ROM, et les options éventuelles de l'émulateur en ligne de commande (s'il les supporte).
Pour Snes9x 1.53, j'ai ajouté l'option "-fullscreen" car on dirait qu'il y a un bug dans l'émulateur : l'option fullscreen n'est pas bien mémorisée.
Au final, j'ai ça :
"D:\SteamCustom\SNES_SMW.exe" -fullscreen "d:\Emulation\Snes9x\Roms\Super Mario World (U) [!].zip"
3) L'image custom
Un simple clic droit sur le raccourci permet d'attribuer une image custom au raccourci (cf. ci-dessous).