Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
RomCenter - Jouez à vos ROMs rapidement !
Auteur Message
Répondre en citant
Message RomCenter - Jouez à vos ROMs rapidement ! 
Hello !

Récemment j'ai demandé l'ouverture d'une section pour RomCenter, un nouveau projet.
Malheureusement sans réponse, je décide de faire un topic dédié au projet ici, en espérant qu'il sera déplacé si la section est créée.

RomCenter, qu'est-ce que c'est ?

Il s'agit d'un programme regroupant plusieurs émulateurs, à la manière de RomStation, et qui permet de les exécuter. Toutefois, les ROMs sont à télécharger via votre navigateur, et non directement via l'application.
Les ROMs sont a ajouter dans le répertoire correspondant.
Pour l'instant, le programme comporte les émulateurs pouvant émuler les consoles suivantes :

Code:
- Game Boy
- Game Boy Color
- Game Gear
- Master System
- Megadrive
- NES
- SNES


En effet, je n'ai pas encore testé les consoles de 5ème génération et plus (Saturn, 3DO, Dreamcast, Nintendo 64, PS1...), ayant une mauvaise connexion pour télécharger les ROMs.
Toutefois, vous pouvez tester par vous même en ajoutant des émulateurs.

Comment ajouter un émulateur ?

Il faut d'abord passer par config.ini :

Code:
[config]
largeur=800
hauteur=600
theme=defaut
nb_console=7

!!! NE PAS MODIFIER LES PARTIES CI-DESSOUS POUR L'INSTANT !!!

[1]
console=megadrive
emulateur=fusion.exe
extension=.gen
vignette=250x350

[2]
console=nes
emulateur=fceux.exe
extension=.nes
vignette=250x350

[3]
console=snes
emulateur=snes9x.exe
extension=.smc
vignette=250x180

[4]
console=master system
emulateur=fusion.exe
extension=.sms
vignette=250x350

[5]
console=game gear
emulateur=fusion.exe
extension=.gg
vignette=250x350

[6]
console=game boy
emulateur=bgb.exe
extension=.gb
vignette=250x250

[7]
console=game boy color
emulateur=bgb.exe
extension=.gbc
vignette=250x250


Vous l'aurez compris, pour ajouter un 8ème émulateur, il faudra changer la valeur nb_console par 8, et ajouter la section numéro 8.
La clé "console" doit porter le nom du dossier qui contiendra l'émulateur.
La clé "émulateur" est le nom du .exe de celui-ci.
La clé "extension" est l'extension de la ROM lisible par l'émulateur.

Pour l'instant il ne peut y avoir qu'une seule extension, toutefois, pour certaines ROMs, il suffit de renommer l'extension pour qu'elle soit lisible.
Par exemple, par défaut les ROMs megadrive sont en .gen. Il arrive qu'il y ai des ROMs en .md, et bien changer l'extension .md en .gen et ça fonctionnera Wink

Enfin, la clé "vignette" correspond aux dimensions de l'image affiché dans le menu de selection. Mettez absolument une valeur, je conseil par défaut 250x350.

Une fois les modification de config.ini, il faut créer le dossier contenant l'émulateur et les ROMs, et le placer dans le dossier "emulation".
Exemple :



Ici, le dossier pour la megadrive. L'émulateur en rouge, les ROMs en bleu (en .gen), et les images (en .bmp) en vert (qui seront affichées dans le menu de selection, ayant pour dimension 250x350).
Cela correspond à :

Code:
[1]
console=megadrive
emulateur=fusion.exe
extension=.gen
vignette=250x350


Les ROMs et les images sont donc à ajouter directement dans le dossier contenant l'émulateur correspondant.

J'expliquerai la création de thème par la suite, en attendant, vous pouvez télécharger RomCenter ici : RomCenter
J'ai fais l'effort d'inclure 10 ROMs pour chaque émulateurs, sans oublier les images correspondantes aux ROMs Cool

N'hésitez à essayer d'ajouter des émulateurs (même si dans config.ini j'ai mis "!!! NE PAS MODIFIER LES PARTIES CI-DESSOUS POUR L'INSTANT !!!", ce n'est pas grave) et dites moi si ils marchent, en m'envoyant un lien pour télécharger l'émulateur, et le nouveau config.ini, ça m'aiderai grandement pour proposer plus d'émulateurs de base Mr. Green

Appuyez sur ENTREE pour sélectionner la console au départ (et naviguez avec les flèches), le reste ce passe avec la souris.

Captures d'écrans :






Code source :

Code:
#Include <Array.Au3>
#Include <Misc.Au3>
#Include <File.Au3>
#Include <GUIConstants.Au3>
#Include <GUIConstantsEx.Au3>
#Include <WindowsConstants.Au3>

AutoItSetOption("MouseCoordMode", 2)

Global $Nb_Console = IniRead(".\config.ini", "config", "nb_console", "")   ; // Nombre de consoles à émuler //
Global $Console = 1                                           ; // On se place par défaut sur la première console //
Global $nConsole = IniRead(".\config.ini", $Console, "console", "")         ; // Nom de la console par défaut //
Global $Theme = String(IniRead(".\config.ini", "config", "theme", ""))
Global $Largeur = IniRead(".\config.ini", "config", "largeur", "")
Global $Hauteur = IniRead(".\config.ini", "config", "hauteur", "")

_Nb_Rom()                                                    ; // Emulateur, Extension, ROMs... //
_Accueil()                                                    ; // On affiche l'accueil //

Func _Accueil()
   Global $Page = 1
   Global $cPage = 1
   Global $GUI = GUICreate("RomCenter", $Largeur, $Hauteur)
   GUISetBkColor(IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_fond", ""))
   GUICtrlCreatePic(".\theme\" & $Theme & "\" & IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "fond", ""), 0, 100, $Largeur, $Hauteur-130)

   Global $LblH = GUICtrlCreateLabel("", 0, 98, $Largeur, 2)
   GUICtrlSetBkColor($LblH, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_txt_survol", ""))

   Global $LblB = GUICtrlCreateLabel("", 0, $Hauteur-32, $Largeur, 2)
   GUICtrlSetBkColor($LblB, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_txt_survol", ""))

   Global $Quitter = GUICtrlCreateLabel("QUITTER", 0, $Hauteur-30, 120, 30, $SS_CENTER)
   GUICtrlSetFont(-1, 20, "", "", "Consolas")
   GUICtrlSetColor(-1, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_txt", ""))
   GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)

   GUICtrlCreateLabel("", 0, ($Hauteur-200)/2, $Largeur, 200)
   GUICtrlSetBkColor(-1, "0xE0E0E0")
   Global $Lbl_Nb_Rom = GUICtrlCreateLabel($Nb_Rom & " " & $Txt, 0, ($Hauteur-200)/2+200, $Largeur, 30, $SS_CENTER)
   GUICtrlSetFont(-1, 20, "", "", "Consolas")
   GUICtrlSetColor(-1, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_txt_info", ""))
   GUICtrlSetBkColor(-1, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_fond_info", ""))

   Global $Lbl_Console = GUICtrlCreateLabel("CONSOLE: " & StringUpper(IniRead(".\config.ini", $Console, "console", "")) & "[" & $Console & "/" & IniRead(".\config.ini", "config", "nb_console", "") & "]", 0, ($Hauteur-200)/2-30, $Largeur, 30, $SS_CENTER)
   GUICtrlSetFont(-1, 20, "", "", "Consolas")
   GUICtrlSetColor(-1, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_txt_info", ""))
   GUICtrlSetBkColor(-1, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_fond_info", ""))

   If FileExists(".\theme\" & $Theme & "\" & $nConsole & "_logo.bmp") = 1 Then
     Global $Logo_Console = GUICtrlCreatePic(".\theme\" & $Theme & "\" & $nConsole & "_logo.bmp", ($Largeur-500)/2, ($Hauteur-200)/2, 500, 200)
   Else
     Global $Logo_Console = GUICtrlCreatePic(".\theme\" & $Theme & "\no_image.bmp", ($Largeur-500)/2, ($Hauteur-200)/2, 500, 200)
   EndIf
   GUISetState(@SW_SHOW, $GUI)

   While 1
     $Cur_X = MouseGetPos(0)
     $Cur_Y = MouseGetPos(1)

     ; // Quitter //

     If $Cur_X > 0 And $Cur_X < 120 And $Cur_Y > $Hauteur-30 And $Cur_Y < $Hauteur Then
       If IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_fond_survol", "") = "transparent" Then
         GUICtrlSetBkColor($Quitter, $GUI_BKCOLOR_TRANSPARENT)
       Else
         GUICtrlSetBkColor($Quitter, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_fond_survol", ""))
       EndIf
       GUICtrlSetColor($Quitter, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_txt_survol", ""))
       While $Cur_X > 0 And $Cur_X < 120 And $Cur_Y > $Hauteur-30 And $Cur_Y < $Hauteur
         $Cur_X = MouseGetPos(0)
         $Cur_Y = MouseGetPos(1)
         If _IsPressed("01") Then
            While _IsPressed("01") = 1
            WEnd
            Exit
         EndIf
       WEnd
         GUICtrlSetColor($Quitter, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_txt", ""))
         GUICtrlSetBkColor($Quitter, $GUI_BKCOLOR_TRANSPARENT)
       EndIf

     If _IsPressed("25") Then ; // 25 = Flèche de gauche //
       $Console-=1
       If $Console = 0 Then $Console = IniRead(".\config.ini", "config", "nb_console", "")
       For $I = 1 To $Nb_Rom
         Assign("Nom_Rom_" & $I, "", 2)
       Next
       _Nb_Rom()
       Global $nConsole = IniRead(".\config.ini", $Console, "console", "")
       If FileExists(".\theme\" & $Theme & "\" & $nConsole & "_logo.bmp") = 1 Then
         GUICtrlSetImage($Logo_Console, ".\theme\" & $Theme & "\" & $nConsole & "_logo.bmp")
       Else
         GUICtrlSetImage($Logo_Console, ".\theme\" & $Theme & "\no_image.bmp")
       EndIf
       GUICtrlSetData($Lbl_Nb_Rom, $Nb_Rom & " " & $Txt)
       GUICtrlSetData($Lbl_Console, "CONSOLE: " & StringUpper(IniRead(".\config.ini", $Console, "console", "")) & "[" & $Console & "/" & IniRead(".\config.ini", "config", "nb_console", "") & "]")
       While _IsPressed("25") = 1
       WEnd
     EndIf

     If _IsPressed("27") Then ; // 27 = Flèche de droite //
       $Console+=1
       If $Console = IniRead(".\config.ini", "config", "nb_console", "")+1 Then $Console = 1
       For $I = 1 To $Nb_Rom
         Assign("Nom_Rom_" & $I, "", 2)
       Next
       _Nb_Rom()
       Global $nConsole = IniRead(".\config.ini", $Console, "console", "")
       If FileExists(".\theme\" & $Theme & "\" & $nConsole & "_logo.bmp") = 1 Then
         GUICtrlSetImage($Logo_Console, ".\theme\" & $Theme & "\" & $nConsole & "_logo.bmp")
       Else
         GUICtrlSetImage($Logo_Console, ".\theme\" & $Theme & "\no_image.bmp")
       EndIf
       GUICtrlSetData($Lbl_Nb_Rom, $Nb_Rom & " " & $Txt)
       GUICtrlSetData($Lbl_Console, "CONSOLE: " & StringUpper(IniRead(".\config.ini", $Console, "console", "")) & "[" & $Console & "/" & IniRead(".\config.ini", "config", "nb_console", "") & "]")
       While _IsPressed("27") = 1
       WEnd
     EndIf

     If _IsPressed("0D") Then ; // 0D = Entrée //
       While _IsPressed("0D") = 1
       WEnd
       _Menu()
     EndIf
   WEnd
EndFunc

Func _Menu()
   GUIDelete($GUI)
   Global $GUI_Menu = GUICreate("RomCenter - " & StringUpper(IniRead(".\config.ini", $Console, "console", "")), $Largeur, $Hauteur)
   GUISetState(@SW_SHOW, $GUI_Menu)
   GUISetBkColor(IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_fond", ""))
   GUICtrlCreatePic(".\theme\" & $Theme & "\" & IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "fond", ""), 0, 100, $Largeur, $Hauteur-130)
   If FileExists(".\theme\" & $Theme & "\" & $nConsole & "_logo_menu.bmp") = 1 Then
     GUICtrlCreatePic(".\theme\" & $Theme & "\" & $nConsole & "_logo_menu.bmp", 20, 0, 250, 100)
   Else
     GUICtrlCreatePic(".\theme\" & $Theme & "\no_image_menu.bmp", 0, 0, 250, 100)
   EndIf

   Global $LblH = GUICtrlCreateLabel("", 0, 98, $Largeur, 2)
   GUICtrlSetBkColor($LblH, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_txt_survol", ""))

   Global $LblB = GUICtrlCreateLabel("", 0, $Hauteur-32, $Largeur, 2)
   GUICtrlSetBkColor($LblB, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_txt_survol", ""))

   Global $Retour = GUICtrlCreateLabel("RETOUR", 0, $Hauteur-30, 100, 30, $SS_CENTER)
   GUICtrlSetFont(-1, 20, "", "", "Consolas")
   GUICtrlSetColor(-1, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_txt", ""))
   GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)

   Global $PosY = 100
   Global $Lbl_Menu_Largeur = $Largeur-290
   Global $Lbl_Menu_Hauteur = 30

   Global $Nb_Lbl = 1
   For $I = 100 To $Hauteur-100 Step 1 ; // On compte le nombre de pixel disponible en hauteur pour savoir combien de ROMs on pourra afficher //
     $Nb_Lbl+=1
   Next

   $Nb_Lbl = $Nb_Lbl/$Lbl_Menu_Hauteur ; // On transforme le nombre de pixel en nombre de ROMs affichable dans la liste //
   $Nb_Lbl = Round($Nb_Lbl, 0)-1
   Global $dVignette = StringSplit(IniRead(".\config.ini", $Console, "vignette", ""), "x")
   Global $Vignette = GUICtrlCreatePic("", $Largeur-($dVignette[1]+20), 120, $dVignette[1], $dVignette[2])

   _Lister($cPage) ; // On liste les ROMs disponibles //

   Global $Lbl_Page = GUICtrlCreateLabel("PAGE :", 100, $Hauteur-30, 100, 30, $SS_CENTER)
   GUICtrlSetFont(-1, 20, "", "", "Consolas")
   GUICtrlSetColor(-1, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_txt", ""))
   GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)

   Global $Page_Pre = GUICtrlCreateLabel("PRECEDENTE", 200, $Hauteur-30, 150, 30, $SS_CENTER)
   GUICtrlSetFont(-1, 20, "", "", "Consolas")
   GUICtrlSetColor(-1, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_txt", ""))
   GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)

   Global $Page_Sui = GUICtrlCreateLabel("SUIVANTE [" & $cPage & "/" & $Page & "]", 350, $Hauteur-30, 250, 30, $SS_CENTER)
   GUICtrlSetFont(-1, 20, "", "", "Consolas")
   GUICtrlSetColor(-1, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_txt", ""))
   GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)

   While 1
     If BitAND(WinGetState($GUI_Menu), 8) Then
       Global $Cur_X = MouseGetPos(0)
       Global $Cur_Y = MouseGetPos(1)
       If $Nb_Rom > 0 Then
         For $I = 1 To $Nb_Rom Step 1
            $Cur_X = MouseGetPos(0)
            $Cur_Y = MouseGetPos(1)

            ; // Menu //

            If $Cur_X > Eval("Lbl_Menu_" & $I & "_X") And $Cur_X < $Lbl_Menu_Largeur And $Cur_Y > Eval("Lbl_Menu_" & $I & "_Y") And $Cur_Y < Eval("Lbl_Menu_" & $I & "_Y")+$Lbl_Menu_Hauteur Then ; // Passage du curseur sur Menu //
              If IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_fond_survol", "") = "transparent" Then
                GUICtrlSetBkColor(Eval("Lbl_Menu_" & $I), $GUI_BKCOLOR_TRANSPARENT)
              Else
                GUICtrlSetBkColor(Eval("Lbl_Menu_" & $I), IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_fond_survol", ""))
              EndIf
              GUICtrlSetColor(Eval("Lbl_Menu_" & $I), IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_txt_survol", ""))
              GUICtrlDelete($Vignette)
              Global $Vignette = GUICtrlCreatePic(".\emulation\" & IniRead(".\config.ini", $Console, "console", "") & ".\" & Eval("Nom_Rom_" & $I) & ".bmp", $Largeur-($dVignette[1]+20), 120, $dVignette[1], $dVignette[2])
              GUICtrlSetState(-1, $GUI_ENABLE)
              While $Cur_X > Eval("Lbl_Menu_" & $I & "_X") And $Cur_X < $Lbl_Menu_Largeur And $Cur_Y > Eval("Lbl_Menu_" & $I & "_Y") And $Cur_Y < Eval("Lbl_Menu_" & $I & "_Y")+$Lbl_Menu_Hauteur
                $Cur_X = MouseGetPos(0)
                $Cur_Y = MouseGetPos(1)
                If _IsPressed("01") Then
                  If Eval("Nom_Rom_" & $I) <> "" Then _Lancer_Rom(IniRead(".\config.ini", $Console, "console", ""), $Emulateur, Eval("Nom_Rom_" & $I), $Extension)
                  While _IsPressed("01") = 1
                  WEnd
                EndIf
              WEnd
              GUICtrlDelete($Vignette)
              Global $Vignette = GUICtrlCreatePic(".\emulation\" & IniRead(".\config.ini", $Console, "console", "") & ".\" & Eval("Nom_Rom_" & $I) & ".bmp", $Largeur-($dVignette[1]+20), 120, $dVignette[1], $dVignette[2])
              GUICtrlSetBkColor(Eval("Lbl_Menu_" & $I), $GUI_BKCOLOR_TRANSPARENT)
              GUICtrlSetColor(Eval("Lbl_Menu_" & $I), IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_txt", ""))
            EndIf

            ; // Retour //

            If $Cur_X > 0 And $Cur_X < 100 And $Cur_Y > $Hauteur-30 And $Cur_Y < $Hauteur Then  ; // Passage du curseur sur Retour //
              If IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_fond_survol", "") = "transparent" Then
                GUICtrlSetBkColor($Retour, $GUI_BKCOLOR_TRANSPARENT)
              Else
                GUICtrlSetBkColor($Retour, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_fond_survol", ""))
              EndIf
              GUICtrlSetColor($Retour, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_txt_survol", ""))
              While $Cur_X > 0 And $Cur_X < 100 And $Cur_Y > $Hauteur-30 And $Cur_Y < $Hauteur
                $Cur_X = MouseGetPos(0)
                $Cur_Y = MouseGetPos(1)
                If _IsPressed("01") Then
                  While _IsPressed("01") = 1
                  WEnd
                  For $I = 1 To $Nb_Rom
                     GUICtrlDelete(Eval("Lbl_Menu_" & $I))
                     Assign("Nom_Rom_" & $I, "", 2)
                     Assign("Lbl_Menu_" & $I & "_Y", "", 2)
                     $PosY = 100
                  Next
                  GUIDelete($GUI_Menu)
                  Global $Page = 1
                  Global $cPage = 1
                  _Nb_Rom()
                  GUIDelete($GUI_Menu)
                  _Accueil()
                EndIf
              WEnd
              GUICtrlSetColor($Retour, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_txt", ""))
              GUICtrlSetBkColor($Retour, $GUI_BKCOLOR_TRANSPARENT)
            EndIf

            ; // Precedent //

            If $Cur_X > 200 And $Cur_X < 350 And $Cur_Y > $Hauteur-30 And $Cur_Y < $Hauteur Then  ; // Passage du curseur sur Précèdent //
              If IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_fond_survol", "") = "transparent" Then
                GUICtrlSetBkColor($Page_Pre, $GUI_BKCOLOR_TRANSPARENT)
              Else
                GUICtrlSetBkColor($Page_Pre, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_fond_survol", ""))
              EndIf
              GUICtrlSetColor($Page_Pre, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_txt_survol", ""))
              While $Cur_X > 200 And $Cur_X < 350 And $Cur_Y > $Hauteur-30 And $Cur_Y < $Hauteur
                $Cur_X = MouseGetPos(0)
                $Cur_Y = MouseGetPos(1)
                If _IsPressed("01") Then
                  While _IsPressed("01") = 1
                  WEnd
                  If $cPage > 1 Then
                     $cPage-=1
                     For $I = 1 To $Nb_Rom
                       GUICtrlDelete(Eval("Lbl_Menu_" & $I))
                       Assign("Lbl_Menu_" & $I & "_Y", "", 2)
                       Global $PosY = 100
                     Next
                     GUICtrlSetData($Page_Sui, "SUIVANTE [" & $cPage & "/" & $Page & "]")
                     GUIDelete($GUI_Menu)
                     _Nb_Rom()
                     _Menu()
                     _Lister($cPage)
                  EndIf
                EndIf
              WEnd
              GUICtrlSetColor($Page_Pre, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_txt", ""))
              GUICtrlSetBkColor($Page_Pre, $GUI_BKCOLOR_TRANSPARENT)
            EndIf

            ; // Suivant //

            If $Cur_X > 350 And $Cur_X < 600 And $Cur_Y > $Hauteur-30 And $Cur_Y < $Hauteur Then ; // Passage du curseur sur Suivant //
              If IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_fond_survol", "") = "transparent" Then
                GUICtrlSetBkColor($Page_Sui, $GUI_BKCOLOR_TRANSPARENT)
              Else
                GUICtrlSetBkColor($Page_Sui, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_fond_survol", ""))
              EndIf
              GUICtrlSetColor($Page_Sui, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_txt_survol", ""))
              While $Cur_X > 350 And $Cur_X < 600 And $Cur_Y > $Hauteur-30 And $Cur_Y < $Hauteur
                $Cur_X = MouseGetPos(0)
                $Cur_Y = MouseGetPos(1)
                If _IsPressed("01") Then
                  While _IsPressed("01") = 1
                  WEnd
                  If $cPage < $Page Then
                     $cPage+=1
                     For $I = 1 To $Nb_Rom
                       GUICtrlDelete(Eval("Lbl_Menu_" & $I))
                       Assign("Lbl_Menu_" & $I & "_Y", "", 2)
                       Global $PosY = 100
                     Next
                     GUICtrlSetData($Page_Sui, "SUIVANTE [" & $cPage & "/" & $Page & "]")
                     GUIDelete($GUI_Menu)
                     _Nb_Rom()
                     _Menu()
                     _Lister($cPage)
                  EndIf
                EndIf
              WEnd
              GUICtrlSetColor($Page_Sui, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_txt", ""))
              GUICtrlSetBkColor($Page_Sui, $GUI_BKCOLOR_TRANSPARENT)
            EndIf
         Next
       Else
         If $Cur_X > 0 And $Cur_X < 100 And $Cur_Y > $Hauteur-30 And $Cur_Y < $Hauteur Then
            If IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_fond_survol", "") = "transparent" Then
              GUICtrlSetBkColor($Retour, $GUI_BKCOLOR_TRANSPARENT)
            Else
              GUICtrlSetBkColor($Retour, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_fond_survol", ""))
            EndIf
            GUICtrlSetColor($Retour, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_txt_survol", ""))
            While $Cur_X > 0 And $Cur_X < 100 And $Cur_Y > $Hauteur-30 And $Cur_Y < $Hauteur
              $Cur_X = MouseGetPos(0)
              $Cur_Y = MouseGetPos(1)
              If _IsPressed("01") Then
                While _IsPressed("01") = 1
                WEnd
                GUISetState($GUI, @SW_ENABLE)
                GUISetState($GUI, @SW_SHOW)
                GUIDelete($GUI_Menu)
                Global $Page = 1
                Global $cPage = 1
                _Nb_Rom()
                GUIDelete($GUI_Menu)
                _Accueil()
              EndIf
            WEnd
            GUICtrlSetColor($Retour, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_txt", ""))
            GUICtrlSetBkColor($Retour, $GUI_BKCOLOR_TRANSPARENT)
         EndIf
       EndIf
     EndIf
   WEnd
EndFunc

Func _Lancer_Rom($1, $2, $3, $4) ; $1 = Nom Console - $2 = Nom Emulateur - $3 = Nom Jeu - $4 = Extension
   $Path = String('.\run.bat ".\emulation\' & $1 & '" "' & $2 & '" "' & $3 & $4 & '"')
   If IniRead(".\config.ini", $Console, "console", "") = "snes" Then $Path = String('.\run.bat ".\emulation\' & $1 & '" "' & $3 & $4 & '"')
   $Rom = Run($Path)
   Sleep(1500)
   ProcessClose($Rom)
   For $I = 1 To $Nb_Rom
     GUICtrlDelete(Eval("Lbl_Menu_" & $I))
     Assign("Nom_Rom_" & $I, "", 2)
     Assign("Lbl_Menu_" & $I & "_Y", "", 2)
     $PosY = 100
   Next
   GUIDelete($GUI_Menu)
   _Nb_Rom()
   _Menu()
EndFunc

Func _Nb_Rom()
   Global $Extension = IniRead(".\config.ini", $Console, "extension", "")
   Global $Emulateur = IniRead(".\config.ini", $Console, "emulateur", "")
   Global $Nb_Rom = 0
   Global $aNb_Rom = _FileListToArray(".\emulation\" & IniRead(".\config.ini", $Console, "console", ""), "*" & $Extension)
   If @error = 0 Then
     Global $Nb_Rom = $aNb_Rom[0]
     For $I = 1 To $Nb_Rom
       Global $Nom_Rom = StringSplit($aNb_Rom[$I], ".")
       Assign("Nom_Rom_" & $I, $Nom_Rom[1], 2)
     Next
   EndIf
   If $Nb_Rom = 0 Then Global $Txt = "AUCUN JEU DISPONIBLE"
   If $Nb_Rom = 1 Then Global $Txt = "JEU DISPONIBLE"
   If $Nb_Rom > 1 Then Global $Txt = "JEUX DISPONIBLES"
EndFunc

Func _Lister($cPage)
   If $Nb_Rom > 0 Then
     Global $nRom = 1
     Global $Page = 1
     For $I = 1 To $Nb_Rom
       If $nRom = $Nb_Lbl Then
         $Page+=1
         Global $nRom = 0
       EndIf
       $nRom+=1
     Next
     $pRom = $cPage*$Nb_Lbl-$Nb_Lbl+1
     Global $Count = 0
     For $I = $pRom To $Nb_Lbl*$Page
       $Count+=1
       If $Count = $Nb_Lbl+1 Then ExitLoop
       Assign("Lbl_Menu_" & $I & "_X", 0, 2)
       Assign("Lbl_Menu_" & $I & "_Y", $PosY, 2)
       Assign("Lbl_Menu_" & $I, GUICtrlCreateLabel(" " & Eval("Nom_Rom_" & $I), Eval("Lbl_Menu_" & $I & "_X"), Eval("Lbl_Menu_" & $I & "_Y"), $Lbl_Menu_Largeur, $Lbl_Menu_Hauteur), 2)
       GUICtrlSetFont(-1, 20, "", "", "Consolas")
       GUICtrlSetColor(-1, IniRead(".\theme\" & $Theme & "\" & "config.ini", "theme", "c_txt", ""))
       GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
       $PosY+=$Lbl_Menu_Hauteur
     Next
   EndIf
EndFunc



Sur ce, j'espère qu'il y aura une section dédié au projet, et je vous souhaite une bonne journée/soirée Wink
Dylan




______________________________________________________
Viens découvrir INTERPOL, un nouveau langage interprété !

Yahoo Messenger
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message RomCenter - Jouez à vos ROMs rapidement ! 
Salut Dylan,

ça fais vraiment plaisir de te revoir Okay

Comment va-tu ?




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Message RomCenter - Jouez à vos ROMs rapidement ! 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch