Script pour avec une config par jeu dans dolphin

Ici se règle les problèmes concernant la configuration des différents émulateurs.

Modérateurs : Porko, Modérateurs

Avatar de l’utilisateur
blusky
Amateur
Amateur
Messages : 39
Inscription : 17 mai 2013 - 01:00

Script pour avec une config par jeu dans dolphin

Message par blusky » 30 mai 2013 - 23:42

Ok, c'est parti :D

1. But du script

Dolphin est un super émulateur pour GameCube et Wii, parfait pour une borne d'arcade. Cependant, si vous avez déjà essayé, vous avez du remarquer que sur la borne, en moyenne, on a 1 Stick + 6 bouton d'action + 2 bouton d'état (start / quit) par joueur, alors que sur le gamecube on a 1 Stick Analogique, 1 stick direction (C), une crois directionnel, 2 gachettes et 4 boutons, bref, le compte est vite fait.
Du coup, on se voit avoir une configuration différente pour chaque jeu, afin que ce soit adapté au stick.
Soucie: Comment faire en sorte que pour chaque jeu, une autre config soit chargée ? Par possible ... (du moins, pas en multijoueur, une solution existe en mono joueur: http://code.google.com/p/dolphin-emu/so ... 3adb952abe)

2. Prérequis

- Un PC (linux ou windows)
- Dolphin
- Si Windows, il faut installer cygwin (http://www.cygwin.com/)
- Python (A installer sous cygwin si windows)

3. Le script

#!/usr/bin/python
import os
import sys
import shutil

gamename=sys.argv[1]
romdir="C:\\HyperSpin\\Emulators\\RomFiles\\GameCube\\"
confdir="/cygdrive/c/HyperSpin/Emulators/GameCube/User/Config/"
customconfdir="/cygdrive/c/HyperSpin/Emulators/GameCube/User/CustomConfig/"+gamename+"/"
dolphindir="/cygdrive/c/HyperSpin/Emulators/GameCube/"

for filename in os.listdir(confdir):
        if filename.split(".")[1] == "bak":
                os.rename(confdir+filename,confdir+filename.split(".")[0]+".ini")

if os.path.isdir(customconfdir):
        for filename in os.listdir(customconfdir):
                os.rename(confdir+filename,confdir+filename.split(".")[0]+".bak")
                shutil.copy2(customconfdir+filename,confdir+filename)

os.system(dolphinDir+'Dolphin.exe --exec="'+romdir+gamename+'"')


for filename in os.listdir(confdir):
        if filename.split(".")[1] == "bak":
                os.rename(confdir+filename,confdir+filename.split(".")[0]+".ini")(Code écrit pour Windows + Cygwin, mais peut facilement être adapté pour Linux)
(A enregistrer dans launch.py dans le meme repertoire que Dolphin)

4. Fonctionnement

Linux:
python launch.py MaRom.isoWindows:
Ouvrir "launch.py MaRom.iso" avec mintty.exe fournis dans /bin/ dans cygwin

5. Configuration

romdir: Repertoire contenant les roms (au format windows)
confdir: Repertoire de la configuration de Dolphin (au format cygwin)
customconfdir: Repertoire contenant la configuration custom (un dossier par jeu étant le nom de la rom) (au format cygwin)
dolphindir: Repertoire contenant dolphin (au format cygwin)

6. Mechanisme interne

Quand on execute le script, on va dans le dossier de conf de dolphin, et tout les fichier *.bak sont renomé en *.ini (au cas où il y a des résidus de la derniere execution)
On va ensuite dans le dossier de config custom de la rom, et pour chaque fichier de config, on fera un backup du fichier original, et on copiera le custom dans le dossier de configuration de dolphin
On execute dolphin avec la rom
Quand on a fini Dolphin, on remet la conf de Dolphin en ordre

7. Conclusion

Bon, c'est un tuto assez technique, j'ai pas trop détaillé car je ne sais pas si ca interessera du monde, en tout cas, c'est installé chez moi, ca marche bien, et si vous avez des problèmes / questions / remarques / instultes, je suis assez réactif ici pour vous répondre / aider :-)

Edit: exemple de commande qui fonctionne (pour donner une idée de la commande a mettre dans HyperSpin):

C:\cygwin\bin\mintty.exe /cygdrive/c/HyperSpin/Emulators/GameCube/launch.py DonkeyKongCountryReturns.iso

Avatar de l’utilisateur
fulkormame
Amateur
Amateur
Messages : 50
Inscription : 14 mai 2013 - 01:00

Re: Script pour avec une config par jeu dans dolphin

Message par fulkormame » 01 juin 2013 - 01:47

Vivement le jour ou je comprendrais tout ce "charabia", ça a l'air Hyper passionnant!
En tout cas merci aux personnes comme toi qui mettent des tutos, même si ça ne va pas m'être utile pour l'instant (on va y aller progressivement avec cette bestiole d'HyperSpin et ses fichiers, xml, ahk, ini et tous ces trucs qui font mal aux yeux!), je suis sûr que tu vas faire des heureux!

Avatar de l’utilisateur
soft-bug
Connaisseur
Connaisseur
Messages : 478
Inscription : 10 févr. 2013 - 00:00
A été remercié : 1 fois

Re: Script pour avec une config par jeu dans dolphin

Message par soft-bug » 01 juin 2013 - 08:07

Vivement le jour ou je comprendrais tout ce "charabia", ça a l'air Hyper passionnant!
En tout cas merci aux personnes comme toi qui mettent des tutos, même si ça ne va pas m'être utile pour l'instant (on va y aller progressivement avec cette bestiole d'HyperSpin et ses fichiers, xml, ahk, ini et tous ces trucs qui font mal aux yeux!), je suis sûr que tu vas faire des heureux!
hello,

Normalement cela doit ressembler à cela :


RunWait, "%emuPath%%executable%" "%romPath%%romName%%romExtension%", UseErrorLevel

Répondre

Revenir à « Aide Configuration d'Emulateurs »