[RESOLU]quand je quitte un jeu sous FBA, "now loading" reste

Ici se règle les problèmes concernant une configuration Hyperspin tournant sous HyperLaunch 3.

Modérateurs : Porko, Modérateurs

Avatar de l’utilisateur
Jasou
Passionné
Passionné
Messages : 173
Inscription : 15 janv. 2013 - 00:00
A remercié : 37 fois
A été remercié : 17 fois

quand je quitte un jeu sous FBA, "now loading" reste

Message par Jasou » 18 oct. 2018 - 17:33

Bonjour à toutes et a tous :D

Toujours dans ma quête d'une config pourrie mais fonctionnelle, j'ai décidé d'utiliser final burn alpha ( FBA ) pour les roms CPS3 et NeoGeo.
Je ne parle pas du core FBA sous retroarch mais bien de l'exe fbaxp_029743 ( voir fbaxp_029742).

Je travail à partir de la hfsbox pour certains émulateurs sous windows xp ( je sais qu'elle est compatible win seven minimum mais pas de soucis j'ai fais le nécessaire pour n'avoir que ce qui fonctionne sous XP et c'est une super base pour apprendre ^^, je ne vous remercierais jamais assez 8-) ).

Le problème que je rencontre est le suivant; je peux lancer les jeux couplés à FBA via rocket launcher sans problème mais quand je quitte le jeu, l’émulateur se ferme et j'ai la fenêtre "now loading" qui tourne sans s’arrêter.

j'ai vu dans le gestionnaire des tâches "fadelayer 1" et "cover FE" en cours d’exécution. Le seul moyen de reprendre le contrôle c'est de mettre l'un des deux en " fin de tache".

Donc avant de vous embêter j'ai effectué une recherche sur le net et je suis tombé su un seul cas similaire; il suffisait d'ajouter un #devant le 32770 dans le module 'Final Burn Alpha.ahk' comme ci dessous sans succès :cry: :
emuLoadingWindow := new Window(new WindowTitle(,"32770"))

Auriez vous une solution pour régler ou contourner ce problème, enfin tout moyen d'utiliser FBA avec hyperspin ( je ne peux pas utiliser retroarch étant équipé du GPU intel gma 945 ).


Voici mon module si vous désirez le voir.
Merci de m'avoir lu , que vous puissiez m'aider ou pas :D

Code : Tout sélectionner

MURL := ["http://www.barryharris.me.uk/"]
MAuthor := ["djvj"]
MVersion := "2.0.3"
MCRC := "98E869CD"
iCRC := ""
MID := "635038268890292583"
MSystem := ["Final Burn Alpha","NEC TurboGrafx-16","NEC PC Engine","NEC SuperGrafx","Sega Mega Drive","SNK Neo Geo","Capcom Play System 3"]
;----------------------------------------------------------------------------
; Notes:
; You must have your roms renamed using clrmame and the dat generated by FBA. Run FBA manually and goto Misc->Generate dat file->Generate dat...
; Open FBA manually and select MISC->Configure ROM paths... and define at least one path to your roms.
; Fullscreen is now automatic when running FBA via command line
; FBA supports 7z, so no need for RocketLauncher 7z functions
;----------------------------------------------------------------------------
StartModule()
FadeInStart()

primaryExe := new Process(emuPath . "\" . executable)					; instantiate emulator executable object
emuPrimaryWindow := new Window(new WindowTitle(,"FB Alpha"))	; instantiate primary emulator window object
emuLoadingWindow := new Window(new WindowTitle(,"32770"))

If StringUtils.Contains(systemname,"NEC TurboGrafx-16|NEC PC Engine|NEC SuperGrafx|Sega Mega Drive")
{	; The object controls how the module reacts to different systems. FBA can play a lot of systems, but the romName changes slightly so this module has to adapt 
	mType := Object("NEC TurboGrafx-16","tg_","NEC PC Engine","pce_","NEC SuperGrafx","sgx_","Sega Mega Drive","md_")
	ident := mType[systemName]	; search 1st array for the systemName identifier mednafen uses
	If !ident
		ScriptError("Your systemName is: " . systemName . "`nIt is not one of the known supported systems for this FBA module: " . moduleName)
}

fbaRomName := (If ident ? ident : "") . romName	; FBA requires an identifier prefix attached to the romName which tells FBA what system to run

hideEmuObj := Object(emuLoadingWindow,0,emuPrimaryWindow,1)
HideAppStart(hideEmuObj,hideEmu)
primaryExe.Run(" """ . fbaRomName . """")

emuPrimaryWindow.Wait()
emuPrimaryWindow.WaitActive()

; This loops detects the rom loading window and breaks when it's done. Only here to avoid using too many WinWait commands from all the odd flashing the emu does.
Loop {
	If emuLoadingWindow.Active()
		Break
	TimerUtils.Sleep(50,0)
}

; This loop detects when the emu window is done flashing back and forth between your FE and the emu window and is actually in the game.
Loop {
	If (x = 10)
		Break
	If emuPrimaryWindow.Active()
		x++
	emuPrimaryWindow.Activate()
	TimerUtils.Sleep(50,0)
}

HideAppEnd(hideEmuObj,hideEmu)
FadeInExit()

emuPrimaryWindow.Activate()

primaryExe.Process("WaitClose")
FadeOutExit()
ExitModule()

CloseProcess:
	FadeOutStart()
	emuPrimaryWindow.Close()
Return

Avatar de l’utilisateur
Jasou
Passionné
Passionné
Messages : 173
Inscription : 15 janv. 2013 - 00:00
A remercié : 37 fois
A été remercié : 17 fois

Re: quand je quitte un jeu sous FBA, "now loading" reste

Message par Jasou » 22 oct. 2018 - 11:01

Bonjour à tous j'ai résolu le problème en supprimant des lignes dans le module FBA et en ajoutant le dièse comme dis plus haut.
En gros voilà ce que donne mon module fonctionnel.

Code : Tout sélectionner

MURL := ["http://www.barryharris.me.uk/"]
MAuthor := ["djvj"]
MVersion := "2.0.3"
MCRC := "98E869CD"
iCRC := ""
MID := "635038268890292583"
MSystem := ["Final Burn Alpha","NEC TurboGrafx-16","NEC PC Engine","NEC SuperGrafx","Sega Mega Drive","SNK Neo Geo","Capcom Play System 3"]
;----------------------------------------------------------------------------
; Notes:
; You must have your roms renamed using clrmame and the dat generated by FBA. Run FBA manually and goto Misc->Generate dat file->Generate dat...
; Open FBA manually and select MISC->Configure ROM paths... and define at least one path to your roms.
; Fullscreen is now automatic when running FBA via command line
; FBA supports 7z, so no need for RocketLauncher 7z functions
;----------------------------------------------------------------------------
StartModule()
FadeInStart()

primaryExe := new Process(emuPath . "\" . executable)               ; instantiate emulator executable object
emuPrimaryWindow := new Window(new WindowTitle(,"FB Alpha"))   ; instantiate primary emulator window object
emuLoadingWindow := new Window(new WindowTitle(,"#32770"))


fbaRomName := (If ident ? ident : "") . romName   ; FBA requires an identifier prefix attached to the romName which tells FBA what system to run

hideEmuObj := Object(emuLoadingWindow,0,emuPrimaryWindow,1)
HideAppStart(hideEmuObj,hideEmu)
primaryExe.Run(" """ . fbaRomName . """")

emuPrimaryWindow.Wait()
emuPrimaryWindow.WaitActive()

; This loops detects the rom loading window and breaks when it's done. Only here to avoid using too many WinWait commands from all the odd flashing the emu does.
Loop {
   If emuLoadingWindow.Active()
      Break
   TimerUtils.Sleep(50,0)
}

; This loop detects when the emu window is done flashing back and forth between your FE and the emu window and is actually in the game.
Loop {
   If (x = 10)
      Break
   If emuPrimaryWindow.Active()
      x++
   emuPrimaryWindow.Activate()
   TimerUtils.Sleep(50,0)
}

HideAppEnd(hideEmuObj,hideEmu)
FadeInExit()

emuPrimaryWindow.Activate()

primaryExe.Process("WaitClose")
FadeOutExit()
ExitModule()

CloseProcess:
   FadeOutStart()
   emuPrimaryWindow.Close()
Return

Répondre

Revenir à « Aide sur RocketLauncher »