[EN COURS mais FONCTIONNE] Launcher Z-Spin Windows

Modérateurs: vik, Modérateurs

[EN COURS mais FONCTIONNE] Launcher Z-Spin Windows

Messagepar camarade35 » 07 Jan 2018 - 12:08

Bonjour tous,

Je vous avoue que je ne voulais pas le faire mais à force, RL m'a gentiment gavé même si il est super complet avec plein d'options disponibles (dont je ne me sert pas en fait et qui pompe pas mal de ressources)

Bref, j'ai commencé un Launcher sous windows qui tourne et fait le taf.

Ce qu'il reste à réussir, le lancement des jeux avant les Fades (ou forcer les fades à repasser devant la fenêtre)
Optimiser le Launcher pour qu'il aille chercher d'autre ahk séparé pour ne pas recompiler à chaque fois

une vidéo pour voir (attention, y'a des petits trucs à affiner mais tout est fonctionnel) --> si vous avez des idées, si on peut améliorer et tout, lâchez-vous ;)
La HD est en cours de traitement par Youtube


Voici le détail et l’arborescence de la bête (certains vont retrouver un peu de HL2 dans l'esprit)

1 - Ce qui est nécessaire au fonctionnement :

Un dossier "Settings" qui va contenir :

Launcher.ahk
Fade.ahk (les fades fonctionnent, il me reste à faire en sorte que le jeu se lance avant de sorte à ce qu'il soit ouvert lorsque le fade disparait)
Fade.ini
Emulator.ini
nomdusystem.ini

Image

Un dossier "Utilities" qui va contenir :

7zip en portable (il sert à dézipper les bons Bezels en fonction de la résolution de votre écran)
NoMousy pour cacher la souris (petit script à faire suivant vos besoins, je m'en occuperai)

Image

Un dossier "Other" se trouvant dans le dossier Media qui va contenir :

Bezel
Fade
Image

Le Module Launcher

Launcher
Code: Tout sélectionner
#SingleInstance Force

;~ Liste de vos Systèmes étant dans le Main Menu

IniRead, MameSystem, %A_ScriptDir%/Emulator.ini, emulator, MameSystem ;~List System using MAME
IniRead, PCGame, %A_ScriptDir%/Emulator.ini, emulator, PCGame ;~List System using PC Game Launch

SplitPath, A_ScriptDir,,,,, drive ;~ Get Drive Letter

System = %1% ;~System send by Z-Spin
Rom = %2% ;~Rom send by Z-Spin
bezel_path = "" ;~Bezel Folder
7zip = %drive%\ZBox\Utilities\7zip\7z.exe ;~ 7zip Exe
SetFormat, float, 6.2 ;~ Cut and around Screen Width/Height divide
resolution:= (A_ScreenWidth/A_ScreenHeight) ;~calcul ratio resolution

If (resolution = 1.6) ;~ resolution 16/10
{
   bezel_path = %drive%\ZBox\Media\Other\Bezel\1.6
}
If (resolution = 1.78) ;~ resolution 16/9
{
   bezel_path = %drive%\ZBox\Media\Other\Bezel\1.78
}
If (resolution = 1.33) ;~ resolution 4/3
{
   bezel_path = %drive%\ZBox\Media\Other\Bezel\1.33
}
If (resolution = 1.25) ;~ resolution 5/4
{
   bezel_path = %drive%\ZBox\Media\Other\Bezel\1.25
}

If System in %PCGame%
   {
      goto, HD
   }
   
If System in %MameSystem%
   {
      goto, MAME
   }

MAME:

IniRead, emulator_path, %A_ScriptDir%/%System%.ini, system, emulator_path ;~Emulator Path
IniRead, emulator, %A_ScriptDir%/%System%.ini, system, emulator ;~Emulator Executable
IniRead, roms, %A_ScriptDir%/%System%.ini, system, roms  ;~Roms Path
IniRead, bezel, %A_ScriptDir%/%System%.ini, option, bezel ;~Bezel option (false,true)
IniRead, fade, %A_ScriptDir%/%System%.ini, option, fade ;~Fade option (false,true)
IniRead, video, %A_ScriptDir%/%System%.ini, video, mode  ;~Video option (d3d,opengl,gdi)
IniRead, scanline, %A_ScriptDir%/%System%.ini, video, scanline  ;~Scanline option (false/true)
IniRead, vertical_games, %A_ScriptDir%/%System%.ini, vertical, games ;~List of Vertical Games
IniRead, exe_games, %A_ScriptDir%/%System%.ini, exe_games, exe_games ;~List of Exe Game (ds2 in Cave for exemple)
IniRead, Folder, %A_ScriptDir%/%System%.ini, %Rom%, folder ;~Folder exe localise Exe Game
IniRead, Launch, %A_ScriptDir%/%System%.ini, %Rom%, launch ;~File to Launch Exe Game

vertical=%Rom% ;~Define Variable to compare list with Rom Vertical List
games_exe=%Rom% ;~Define Variable to compare list with Rom Exe Game List

if (bezel = "true") ;~ Set Bezel
{
   If vertical in %vertical_games% ;~ for vertical game, the namefile must be "System V.zip"
   {
   FileRemoveDir, %emulator_path%\artwork\%Rom%, 1
   bezel =  -use_bezels
   runwait, "%7zip%" x "%bezel_path%\%System%%A_Space%V.zip" -o"%emulator_path%\artwork\%Rom%" -y,,hide
   }
   else
   {
      FileRemoveDir, %emulator_path%\artwork\%Rom%, 1 ;~ for horizontal game, the namefile must be "System H.zip"
   bezel =  -use_bezels
   runwait, "%7zip%" x "%bezel_path%\%System%%A_Space%H.zip" -o"%emulator_path%\artwork\%Rom%" -y,,hide
   }
}
else ;~ No Bezel
{
   bezel =  -nouse_bezels
}

if (scanline = "true") ;~Scanline
{
   scanline = 1
}
else
{
   scanline = 0
}

if (fade = "true") ;~Fade
{
   RunWait, "%A_ScriptDir%/Fade.ahk" "%System%" "%Rom%" ;~ Fade.ahk in script Folder
}

If games_exe in %exe_games% ;~ Launch Game Exe
   {
   SetWorkingDir, %Folder%
   Run, %Launch%
   }
   else
   {   
   SetWorkingDir, %emulator_path% ;~Launch Other
   Run, %emulator% -nowindow -scanline_alpha %scanline% %bezel% -video %video% -rompath "%roms%" %Rom%
}
ExitApp


HD:
IniRead, fade, %A_ScriptDir%/%System%.ini, option, fade ;~Fade option (false,true)
IniRead, Folder, %A_ScriptDir%/%System%.ini, %Rom%, folder ;~Folder exe localise Exe Game
IniRead, Launch, %A_ScriptDir%/%System%.ini, %Rom%, launch ;~File to Launch Exe Game
if (fade = "true") ;~Fade
{
   RunWait, "%A_ScriptDir%/Fade.ahk" "%System%" "%Rom%" ;~ FADE
}
SetWorkingDir, %Folder%
Run, %Launch%
ExitApp


Voilà le déroulement des opérations

On lit le fichier Emulator.ini pour savoir qui utilise quoi
Pour le moment, MAME et HD Games fonctionnent

Code: Tout sélectionner
[emulator]
MameSystem=Capcom Play System,Capcom Play System 2,Capcom Play System 3,Cave,SNK Neo Geo,IGS Polygame Master,MAME,Sega ST-V,ShmupMame
PCGame=HD Games


Une fois fait, on calcule la résolution de l'écran et on défini le chemin des Bezels, le but étant par la suite de pouvoir être 100% portable (c'est en court) --> là vous devrez changer la lettre du lecteur et recompiler le Launcher.ahk
MAJ : c'est 100% Portable grâce à la lecture de la lettre du Disque Dur où le script est lancé -->
Code: Tout sélectionner
SplitPath, A_ScriptDir,,,,, drive ;~ Get Drive Letter

Liens à jour

Ensuite lecture du fichier ini du System concerné en fonction de son rattachement Emulator.ini (vous pouvez lire MAME: et HD: qui sont les sections de travail)

Pour Mame, je prends Cave.ini qui est le plus parlant :

[system]
-Chemin du dossier de l'émulateur
-Exe de l'émulateur
-Chemin des Roms
[option]
-Bezel --> true ou false
-Fade --> true ou false
[video]
mode --> d3d,gdi,opengl
scanline --> true ou false
[vertical]
games --> déclaration des jeux verticaux
[exe_games]
exe_game --> nom de la rom qui est un exe
[ds2]
folder --> chemin du dossier de l'exe
launch --> exe à lancer

On répétera la partie ds2 si il y a plusieurs jeu, en changeant le nom entre crochet et en adaptant le folder et launch

Cave.ini
Code: Tout sélectionner
[system]
emulator_path=E:\ZBox\Emulators\MAME_64
emulator=mame.exe
roms=E:\ZBox\Roms\Cave
[option]
bezel=true
fade=true
[video]
mode=opengl
scanline=true
[vertical]
games=agallet,ddonpach,ddpdfk,ddpdfk10,ddpdoj,ddpdojblk,dfkbl,donpachi,espgal,espgal2,esprade,feversos,futari15,futaribl,guwange,hotdogst,ibara,ibarablk,ket,mazinger,mmpork,mushisam,pinkswts
[exe_game]
exe_game=ds2
[ds2]
folder=E:\ZBox\Roms\Cave\ds2
launch=ds2.exe


Pour le jeux HD, c'est plus simple :mrgreen:
[option]
fade --> true ou false
[game_name]
folder --> dossier du fichier à exécuter
launch --> fichier à exécuter
Code: Tout sélectionner
[option]
fade=true
[20XX]
folder=D:\Games\20XX
launch=20XX.exe
[AH3]
folder=D:\Games\Arcana Heart 3 LOVE MAX
launch=AH3LM.exe
[ASB]
folder=D:\Games\Astebreed
launch=Astebreed.exe


Reste à voir si un mapping est nécessaire pour la sortie de certains jeu et dans cet optique, sera fait au cas par cas

Concernant les FADES :

Soit un dossier par nom de jeu, soit un dossier _Default avec dedans "Layer 1.png"
Si un dossier au nom du jeu est trouvé, ce sera ce Fade, sinon ce sera le Fade du dossier _Default

Ensuite, vous avez le Fade.ini qui vous permet en mettant false ou true d'activer ou pas les Fade

Code: Tout sélectionner
[Capcom Play System]
fade=false
[Capcom Play System 2]
fade=false
[Capcom Play System 3]
fade=false
[Cave]
fade=false
[HD Games]
fade=true


les liens :
La base avec les modules
Le dossier Other pour les medias

infos utiles : je n'utilise plus que x360ce pour les jeux PC et Xpadder en autoprofil pour les autres si nécessaires (Killer Instinct par exemple)
Dernière édition par camarade35 le 07 Jan 2018 - 21:07, édité 1 fois.
6 mercis !
(Badaud, bactino, chamcham, torostanco, Bamak, Thesalan)
Avatar de l’utilisateur
camarade35
Maître
Maître
 
Messages: 3455
Âge: 37
Inscription: 05 Sep 2013 - 01:00
OS: Linux
Frontend: ZSpin

Re: [EN COURS mais FONCTIONNE] Launcher Z-Spin Windows

Messagepar LaDite » 07 Jan 2018 - 15:47

Slt camarade,

Ça m a l'air excellent tout ca !

Hâte de tester, et de l intégrer si tout marche nickel, je suis pas fan de rocketlauncher (trop usine à gaz à mon gout) et comme toi je ne me sers pas des multitudes d options dispos, seul les fades et bezels m intéresse et bien sûr qu' il lance le jeu :mrgreen:

merci pour le partage
1 mercis !
(camarade35)
Avatar de l’utilisateur
LaDite
Gourou
Gourou
 
Messages: 954
Inscription: 04 Juil 2013 - 01:00
Localisation: Belgique

Re: [EN COURS mais FONCTIONNE] Launcher Z-Spin Windows

Messagepar chamcham » 07 Jan 2018 - 15:47

:o
Mais tu es mon héros, à chaque fois que j'ai un problème très peu de temps après tu arrives avec une solution :shock:

Je suppose que tu utilises scite4autohotkey pour tout compiler, quand tu m'avais expliqué la démarche pour l'autohotkey je me disais que l'on pouvait faire des choses puissantes avec, mais au point de remplacer le launcher c'est juste le rêve ta soluce, Rocketlauncher ça ressemble à une usine à gaz pour moi (attention je suis un vrai novice) de plus pour les jeux steam ça permet de les lancer sans aucun problème (en même temps pour le moment je les lance avec Rocketlauncher plus ou moins, le problème c'est plus la sortie), mais bon là ça me semble plus simple.

Je vais regarder ça dans la soirée, dès que j'ai des idées sur des choses à rajouter je passe dans le coin mais pour le moment ça a l'air plutôt complet.
1 mercis !
(camarade35)
Avatar de l’utilisateur
chamcham
Gourou
Gourou
 
Messages: 602
Âge: 38
Inscription: 25 Juin 2017 - 06:35
OS: Windows 10
Frontend: HyperSpin
Launcher: RocketLauncher

Re: [EN COURS mais FONCTIONNE] Launcher Z-Spin Windows

Messagepar camarade35 » 07 Jan 2018 - 20:50

Merci les gars, alors je suis en train de peaufiner mais déjà, j'ai séparé les MAME games et HD games
Clairement, dans la semaine je vous donne un truc propre et facile à utiliser

@chamcham, pour compiler, c'est clic droit et compiler quand on ahk d'installé ;)
2 mercis !
(Badaud, chamcham)
Avatar de l’utilisateur
camarade35
Maître
Maître
 
Messages: 3455
Âge: 37
Inscription: 05 Sep 2013 - 01:00
OS: Linux
Frontend: ZSpin

Re: [EN COURS mais FONCTIONNE] Launcher Z-Spin Windows

Messagepar lankou910 » 07 Jan 2018 - 22:23

bonsoir

merci pour ton lanceur @camarade35

mais en multi écran l’émulateur ce mes sur le deuxième écran et non sur l écran principale

Image

le bezel ne ce lance pas ???

peut être a cause de la reso 2560X1440
Image

La différence entre Linux, Mac et Windows ? Windows bug tous le temps mais tu peux toujours réparer, Mac bug presque jamais, mais quand il bug, c'est fini, et quand Linux bug, c'est de ta faute^^

Wheel ZSpin
Avatar de l’utilisateur
lankou910
Gourou
Gourou
 
Messages: 586
Inscription: 16 Mai 2013 - 01:00
OS: Windows 10
Frontend: ZSpin
Launcher: RocketLauncher

Re: [EN COURS mais FONCTIONNE] Launcher Z-Spin Windows

Messagepar camarade35 » 08 Jan 2018 - 06:25

@lankou910 : merci pour ton retour mais de façon a être propre dans ce type de retour

1 - Est-ce que cela est pareil avec RL + Zspin ?
2- As-tu bien "true" dans la partie Bezel de CPS.ini ?
3 - Je t'avoue que le dual screen n'est pas du tout ma priorité pour le moment ^^

edit : pour le Bezel, ton ratio étant de 1.78 en arrondi, ça devrait marcher

Merci
Avatar de l’utilisateur
camarade35
Maître
Maître
 
Messages: 3455
Âge: 37
Inscription: 05 Sep 2013 - 01:00
OS: Linux
Frontend: ZSpin

Re: [EN COURS mais FONCTIONNE] Launcher Z-Spin Windows

Messagepar lankou910 » 08 Jan 2018 - 07:54

salut @camarade

oui le bezel est bien active

Capcom play sytem.ini
[system]
emulator_path=E:\ZspinBox\Emulators\MAME
emulator=mame.exe
roms=E:\ZspinBox\Roms\Capcom Play System
[option]
bezel=true
fade=true
[video]
mode=d3d
scanline=true
[vertical]
games=1941,mercs,varth


launcher.ahk
#SingleInstance Force

;~ Liste de vos Systèmes étant dans le Main Menu

IniRead, MameSystem, %A_ScriptDir%/Emulator.ini, emulator, MameSystem ;~List System using MAME
IniRead, PCGame, %A_ScriptDir%/Emulator.ini, emulator, PCGame ;~List System using PC Game Launch

System = %1% ;~System send by Z-Spin
Rom = %2% ;~Rom send by Z-Spin
bezel_path = "" ;~Bezel Folder
7zip = E:\ZspinBox\Utilities\7zip\7z.exe ;~ 7zip Exe
SetFormat, float, 6.2 ;~ Cut and around Screen Width/Height divide
resolution:= (A_ScreenWidth/A_ScreenHeight) ;~calcul ratio resolution

If (resolution = 1.6) ;~ resolution 16/10
{
bezel_path = E:\ZspinBox\Media\Other\Bezel\1.6
}
If (resolution = 1.78) ;~ resolution 16/9
{
bezel_path = E:\ZspinBox\Media\Other\Bezel\1.78
}
If (resolution = 1.33) ;~ resolution 4/3
{
bezel_path = E:\ZspinBox\Media\Other\Bezel\1.33
}
If (resolution = 1.25) ;~ resolution 5/4
{
bezel_path = E:\ZspinBox\Media\Other\Bezel\1.25
}

If System in %PCGame%
{
goto, HD
}

If System in %MameSystem%
{
goto, MAME
}

MAME:

IniRead, emulator_path, %A_ScriptDir%/%System%.ini, system, emulator_path ;~Emulator Path
IniRead, emulator, %A_ScriptDir%/%System%.ini, system, emulator ;~Emulator Executable
IniRead, roms, %A_ScriptDir%/%System%.ini, system, roms ;~Roms Path
IniRead, bezel, %A_ScriptDir%/%System%.ini, option, bezel ;~Bezel option (false,true)
IniRead, fade, %A_ScriptDir%/%System%.ini, option, fade ;~Fade option (false,true)
IniRead, video, %A_ScriptDir%/%System%.ini, video, mode ;~Video option (d3d,opengl,gdi)
IniRead, scanline, %A_ScriptDir%/%System%.ini, video, scanline ;~Scanline option (false/true)
IniRead, vertical_games, %A_ScriptDir%/%System%.ini, vertical, games ;~List of Vertical Games
IniRead, exe_games, %A_ScriptDir%/%System%.ini, exe_games, exe_games ;~List of Exe Game (ds2 in Cave for exemple)
IniRead, Folder, %A_ScriptDir%/%System%.ini, %Rom%, folder ;~Folder exe localise Exe Game
IniRead, Launch, %A_ScriptDir%/%System%.ini, %Rom%, launch ;~File to Launch Exe Game

vertical=%Rom% ;~Define Variable to compare list with Rom Vertical List
games_exe=%Rom% ;~Define Variable to compare list with Rom Exe Game List

if (bezel = "true") ;~ Set Bezel
{
If vertical in %vertical_games% ;~ for vertical game, the namefile must be "System V.zip"
{
FileRemoveDir, %emulator_path%\artwork\%Rom%, 1
bezel = -use_bezels
runwait, "%7zip%" x "%bezel_path%\%System%%A_Space%V.zip" -o"%emulator_path%\artwork\%Rom%" -y,,hide
}
else
{
FileRemoveDir, %emulator_path%\artwork\%Rom%, 1 ;~ for horizontal game, the namefile must be "System H.zip"
bezel = -use_bezels
runwait, "%7zip%" x "%bezel_path%\%System%%A_Space%H.zip" -o"%emulator_path%\artwork\%Rom%" -y,,hide
}
}
else ;~ No Bezel
{
bezel = -nouse_bezels
}

if (scanline = "true") ;~Scanline
{
scanline = 1
}
else
{
scanline = 0
}

if (fade = "true") ;~Fade
{
RunWait, "%A_ScriptDir%/Fade.ahk" "%System%" "%Rom%" ;~ Fade.ahk in script Folder
}

If games_exe in %exe_games% ;~ Launch Game Exe
{
SetWorkingDir, %Folder%
Run, %Launch%
}
else
{
SetWorkingDir, %emulator_path% ;~Launch Other
Run, %emulator% -nowindow -scanline_alpha %scanline% %bezel% -video %video% -rompath "%roms%" %Rom%
}
ExitApp


HD:
IniRead, fade, %A_ScriptDir%/%System%.ini, option, fade ;~Fade option (false,true)
IniRead, Folder, %A_ScriptDir%/%System%.ini, %Rom%, folder ;~Folder exe localise Exe Game
IniRead, Launch, %A_ScriptDir%/%System%.ini, %Rom%, launch ;~File to Launch Exe Game
if (fade = "true") ;~Fade
{
RunWait, "%A_ScriptDir%/Fade.ahk" "%System%" "%Rom%" ;~ FADE
}
SetWorkingDir, %Folder%
Run, %Launch%
ExitApp


Image

sous Zspin+RL aucun soucis pour le multi écran ;)
1 mercis !
(camarade35)
Image

La différence entre Linux, Mac et Windows ? Windows bug tous le temps mais tu peux toujours réparer, Mac bug presque jamais, mais quand il bug, c'est fini, et quand Linux bug, c'est de ta faute^^

Wheel ZSpin
Avatar de l’utilisateur
lankou910
Gourou
Gourou
 
Messages: 586
Inscription: 16 Mai 2013 - 01:00
OS: Windows 10
Frontend: ZSpin
Launcher: RocketLauncher

Re: [EN COURS mais FONCTIONNE] Launcher Z-Spin Windows

Messagepar camarade35 » 08 Jan 2018 - 12:12

Merci @lankou910 , peux-tu ajouter "-screen 1" juste après le "-nowindow" stp ou "-screen 0" ou 2 enfin, tu vois le test ;) :D

Code: Tout sélectionner
Run, %emulator% -nowindow -scanline_alpha %scanline% %bezel% -video %video% -rompath "%roms%" %Rom%


Code: Tout sélectionner
Run, %emulator% -nowindow -screen 1 -scanline_alpha %scanline% %bezel% -video %video% -rompath "%roms%" %Rom%
Avatar de l’utilisateur
camarade35
Maître
Maître
 
Messages: 3455
Âge: 37
Inscription: 05 Sep 2013 - 01:00
OS: Linux
Frontend: ZSpin



Retourner vers Aides et développements



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités