Gamoover
Forums " WORKSHOP" => Emulateurs, Frontends & Distributions => : emixama Tuesday 17 July 2012, 20:31:37 PM
-
salut tout le monde
j'aimerais savoir configurer hyperspin ou kega fusion pour quitter l'emulateur à l'aide d'un bouton de la borne d'arcade, ce n est pas configurable dans l'emulateur.
Merci
Max
-
Hello,
Dans ma borne qui n'utilise que MAME avec un frontend, j'ai eu envie de rajouter Kega avec les StreetOfRage
Ayant été confronté au même problème, et sans avoir trouvé d'info pouvant me servir sur le net, je me suis réduit à faire un petit programme qui tourne en fond, et qui sur l'appui de la touche Escape (enfin du bouton mappé sur cette touche quoi, pour que ce soit la même que pour quitter un jeu MAME) vérifie le nom de la fenêtre active, et si c'est l'émulateur Kega, il stoppe le processus....
Je n'ai rien trouvé d'autre comme idée, mais celle là marchait. Il y a peut-être plus simple
-
il y a une histoire de scripts autohotkey mais je ne comprends rien.
MAx
-
c'est ça,
il faut que tu fasses un script ahk qui lorsque tu appuiera sur une touche kill le process kega
avec une petite condition comme l'as dis argonlefou
probablement quelquechose dans ce goût là
ESC::
if WinExist("nom de la fenetre kega")
{
Process, Close, kega.exe
ExitAPP
}
return
à tester !
-
j'ai ça pour hyperspin
;*********************************SEGA Genesis**********************************
else if (systemName = "Sega Genesis" && executable = "Fusion.exe")
{
hideDesktop()
Hotkey, %exitEmulatorKey%, CloseProcess
Run, %Executable% "%romPath%%romName%%romExtension%" -auto -gen -fullscreen, %EmuPath%, Hide UseErrorLevel
Process, WaitClose, fusion.exe
}
je dois le remplacer par quoi? je n y connais rien en programmation.
Merci
Max
-
Slt
marble m'a refilé ça mais je ne sais pas quoi en faire et où je note le bouton pour exit.
;----------------------------------------------------------------------------
; Sega Genesis
; Fusion v3.64
; by djvj
; 1.2
;
; Notes:
; Don't forget to setup your bios or you might just get a black screen.
; Set your fullscreen resolution by going to Video->Full Screen Resolution
; Fusion only supports 4 different windowed resolutions. If you don't use fullscreen, set the one you want by going to Video->Window Size
;----------------------------------------------------------------------------
Fullscreen = true
hideTitleBar = true ; Removes the border, titlebar, menubar, and centers the emu on your screen. Only need this is fullscreen is false
;----------------------------------------------------------------------------
fusionFile := CheckFile(emuPath . "\fusion.ini")
FileRead, fusionIni, %fusionFile%
GUI_ID := FadeInStart()
7z1 := 7z(romPath, romName, romExtension, 7zExtractDir)
; Setting Fullscreen setting in cfg if it doesn't match what user wants above
currentFullScreen := (InStr(fusionIni, "FullScreen=1") ? ("true") : ("false"))
If ( Fullscreen != "true" And currentFullScreen = "true" ) {
StringReplace, fusionIni, fusionIni, FullScreen=1, FullScreen=0
SaveFile(fusionIni, fusionFile)
} Else If ( Fullscreen = "true" And currentFullScreen = "false" ) {
StringReplace, fusionIni, fusionIni, FullScreen=0, FullScreen=1
SaveFile(fusionIni, fusionFile)
}
hideEmu := (If Fullscreen = "true" ? ("Hide") : (""))
; This allows us to send variables, that when empty, are not sent to the Run command
RunEmu(executable, "-auto", "-gen", romPath . romName . romExtension, emuPath, hideEmu)
WinWait, Fusion ahk_class KegaClass
WinWaitActive, Fusion ahk_class KegaClass
Loop { ; looping until Fusion is done loading game
Sleep, 200
WinGetTitle, winTitle, Fusion ahk_class KegaClass
StringSplit, T, winTitle, %A_Space%
If ( T3 = "-" )
Break
}
If ( hideTitleBar = "true" ) {
WinSet, Style, -0x40000, Fusion ahk_class KegaClass ; Removes the border of the game window
WinSet, Style, -0xC00000, Fusion ahk_class KegaClass ; Removes the TitleBar
DllCall("SetMenu", uint, WinActive( "A" ), uint, 0) ; Removes the MenuBar
Center(Fusion ahk_class KegaClass)
}
GUI_ID2 := FadeInExit()
Process, WaitClose, %executable%
7z2 := 7zCleanUp()
GUI_ID4 := FadeOutExit()
WinActivate, Hyperspin
ExitApp
RunEmu(exe,param1=0,param2=0,rom=0,relativepath=0, option=0) {
Run, %exe% %param1% %param2% "%rom%", %relativepath%, %option%
}
Center(title) {
WinGetPos, X, Y, width, height, %title%
x := ( A_ScreenWidth / 2 ) - ( width / 2 )
y := ( A_ScreenHeight / 2 ) - ( height / 2 )
WinMove, %title%, , x, y
}
SaveFile(text,file) {
FileDelete, %file%
FileAppend, %text%, %file%
}
CloseProcess:
GUI_ID3 := FadeOutStart()
WinClose, Fusion ahk_class KegaClass
Return
-
Comme dit wikee, restes-en au plus simple : autohotkey
1)Télécharge le programme ICI (http://www.autohotkey.com/download/)
2)Installe, exécute le programme.
3)Dans "mes documents", il y va créer (il faut aceepter) un script nommé "AutoHotkey.ahk"
4)Ouvre avec notepad, supprime tout, et dedans tu écris ça :
ESC::
IfWinExist Fusion
{
Process, Close, Fusion.exe
}
5)Sauvegarde
6)Rajoute le "AutoHotkey.exe" dans le démarage de windows
7)Et voilà ^-
Testé avec l'émulateur sans ROM de lancé, à voir si le titre de la fenêtre change avec une Rom, mais si il commence toujours par "Fusion", ça doit marcher.
(La touche pour quitter est "Escape")
-
C'est un fichier *.ahk que tu dois renommer "Sega Genesis.ahk" et le mettre dans le répertoire "Modules" puis dans le repèrtoire "Sega Genesis" d'hyperspin sinon ça ne marchera pas.
Surtout, ne change rien dans le fichier, tu risquerais de tout foiré ;D
N'oublies pas de configurer "HyperHQ" pour les chemins de tes roms et émulateurs, ensuite tu pourras exécuter "HyperLaunch.exe" pour t'assurer du bon fonctionnement de la touche "exit" soit par défaut la touche "échap".
Je n'ai aucun problème à quitter kegafusion ou autres, il suffit de bien configurer à la base et ça roule... ^-
-
bon alors,
j'ai ce module disponible ici http://hyperlist.hyperspin-fe.com/?module=browseahk&system=116
avec ce tuto : http://www.hyperspin-fe.com/forum/showthread.php?10709-HyperLaunch-2-x-Released
ça fonctionne tres bien mais avec la touche "ESC", je voudrais quitter avec une touche joystick de la borne car je n ai pas fait de hack clavier.
fusionFile := CheckFile(emuPath . "\fusion.ini")
FileRead, fusionIni, %fusionFile%
GUI_ID := FadeInStart()
7z1 := 7z(romPath, romName, romExtension, 7zExtractDir)
; Setting Fullscreen setting in cfg if it doesn't match what user wants above
currentFullScreen := (InStr(fusionIni, "FullScreen=1") ? ("true") : ("false"))
If ( Fullscreen != "true" And currentFullScreen = "true" ) {
StringReplace, fusionIni, fusionIni, FullScreen=1, FullScreen=0
SaveFile(fusionIni, fusionFile)
} Else If ( Fullscreen = "true" And currentFullScreen = "false" ) {
StringReplace, fusionIni, fusionIni, FullScreen=0, FullScreen=1
SaveFile(fusionIni, fusionFile)
}
hideEmu := (If Fullscreen = "true" ? ("Hide") : (""))
; This allows us to send variables, that when empty, are not sent to the Run command
RunEmu(executable, "-auto", "-gen", romPath . romName . romExtension, emuPath, hideEmu)
WinWait, Fusion ahk_class KegaClass
WinWaitActive, Fusion ahk_class KegaClass
Loop { ; looping until Fusion is done loading game
Sleep, 200
WinGetTitle, winTitle, Fusion ahk_class KegaClass
StringSplit, T, winTitle, %A_Space%
If ( T3 = "-" )
Break
}
If ( hideTitleBar = "true" ) {
WinSet, Style, -0x40000, Fusion ahk_class KegaClass ; Removes the border of the game window
WinSet, Style, -0xC00000, Fusion ahk_class KegaClass ; Removes the TitleBar
DllCall("SetMenu", uint, WinActive( "A" ), uint, 0) ; Removes the MenuBar
Center(Fusion ahk_class KegaClass)
}
GUI_ID2 := FadeInExit()
Process, WaitClose, %executable%
7z2 := 7zCleanUp()
GUI_ID4 := FadeOutExit()
WinActivate, Hyperspin
ExitApp
RunEmu(exe,param1=0,param2=0,rom=0,relativepath=0, option=0) {
Run, %exe% %param1% %param2% "%rom%", %relativepath%, %option%
}
Center(title) {
WinGetPos, X, Y, width, height, %title%
x := ( A_ScreenWidth / 2 ) - ( width / 2 )
y := ( A_ScreenHeight / 2 ) - ( height / 2 )
WinMove, %title%, , x, y
}
SaveFile(text,file) {
FileDelete, %file%
FileAppend, %text%, %file%
}
CloseProcess:
GUI_ID3 := FadeOutStart()
WinClose, Fusion ahk_class KegaClass
Return
-
Je ne connais pas Hyperspin ni le fonctionnement de ses scripts, mais j'ai l'impression que dans celui-ci - même s'il y a la procédure pour killer le process - il n'y a pas mention de la touche qui déclenche tout ça.
Tu n'as pas fait de hack clavier, c'est pas grave.
Comment quittes-tu un jeu MAME ? Avec un bouton de la borne ? Car par défault un jeu MAME se quitte avec ESC. Sauf si tu as changé la config de MAME, ce bouton devrait marcher.
Si la config de MAME a changé (donc ce n'est pas ESC):
Tu as un Panel avec des joystick et des boutons, donc soit tu as du matos style X-arcade, reconnu comme un périphérique de jeu par windows, soit tu as une interface genre I-PAC sur laquelle sont cablés les boutons
Dans le premier cas, laisse ce script tel qu'il est et utilise Joy2Key.
Ça te permet de "convertir" l'appui d'un bouton d'une manette en touche clavier, voilà comment obtenir un ESC
Dans le second cas, WinIPAC est paramétrable et tu peux choisir quelle touche de clavier sera envoyée à l'appui de chaque bouton
Troisième solution : trouver un pro de Hyperspin qui te dira où trouver le paramétrage du bouton qui lance le script de Kill de Kega :D
Au boulot ! ^-
-
slt
oui j'avais changé la config de mame, c est bon ça fonctionne, j'ai utilisé le joytokey et hyperlaunch.
Merci à tous et à marble pour son aide par mail.
Max