[RELEASE] Support des musiques CD sur Gex3D Windows 10

Réduire
X
 
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages
  • Tgames
    Barbarian


    • mars 2014
    • 306

    #1

    [RELEASE] Support des musiques CD sur Gex3D Windows 10

    Salut à tous,

    Je voulais savoir si ça intéresserait du monde que je rajoute (via un launcher externe) le support des musiques sur le jeu Gex3D pour Windows 10 ?

    En gros voilà le concept :

    - L'utilisateur lancera mon launcher, le bon lecteur CD sera automatiquement sélectionné contenant les pistes audios (ou il pourra être sélectionné manuellement).
    - Puis l'utilisateur pourra directement lancer le jeu depuis le launcher.

    Ce qui permettra d'avoir les pistes audios fonctionelles avec la version 3DFX et D3D.

    D'ailleurs en bonus je pourrai aussi gérer le fonctionnement de pistes audios séparés en wav (donc plus besoin d'utiliser un ISO à monter ou un CD audio à mettre).

    Donc plus besoin de CD pour avoir les musiques ça serai sympa ça. Mais je le ferai que si ça intéresse le site abandonware forums .

    Je suis obligé de faire mon propre launcher externe car intégrer ce code à l'intérieur de l'exe original poserai plein de soucis et serai très long à faire.

    Alors que faire mon propre launcher, en 3h-4h c'est fait.
    Après le plus long sera d'associer les pistes aux moments clés dans le jeu.
    Pour la première version je ferai selon la map chargée en mémoire. Pour la suite on sera plus précis.
    Je pourrai rajouter un fichier de configuration pour les paths etc, à voir .

    Merci de valider ici même si ça intéresse.
    Je mettrais à disposition le launcher une fois que je l'aurai codé.

    Egalement si ça intéresse la partie cheats pourra aussi être intégré au launcher, ce qui regroupera le développement des deux en un.

    Cordialement.
    Dernière modification par Tgames, 14 avril 2018, 15h47.
  • The Uploader
    MechWarrior


    • février 2010
    • 7353

    #2
    Salut

    Pour le support des musiques CD, j'ai modifié "mon" wrapper Ogg-Winmm spécialement pour Gex 3D :

    Le code est ici :
    https://github.com/maximilien-noal/o.../commits/gex3d

    (testé avec la version 3DFX uniquement)

    Pour l'utiliser :
    - Téléchargé la version pre-compilée (avec la musique au format Ogg Vorbis incluse) suivante :
    https://1drv.ms/u/s!Ajs65zQFF72DjXaj3K4iHJRqNFGQ
    - Installer le MSVC Runtime 2017 x86 (VC_Redist.86.exe) :
    https://aka.ms/vs/15/release/vc_redist.x86.exe

    - Décompresser le patch dans le répertoire du jeu
    - Renommer l'import de WINMM.DLL par WINM.DLL dans GEX3D.EXE (avec CFF explorer ou un héditeur hexa), sinon il se peut que selon les options de compatibilité, le wrapper ne soit pas chargé.
    - Renommer WINMM.DLL en WINM.DLL

    Fonctionnement du wrapper :
    - au lancement, on scan un sous-dossier Music (dossier relatif à l'emplacement du wrapper), on s'attend à un formatage des noms du fichiers du genre track02.ogg (première piste audio), track03.ogg, et ainsi de suite
    - Quand l'exécutable fait appel à WINMM, il fait appel au wrapper. Si c'est une fonction non-prise en charge (comme timeGetTime), on appelle le vrai WINMM, sinon on utilise notre implémentation de mciSendCommandA et mciSendStringA (selon ce qu'appel l'exécutable). La dite fonction utilise évidemment un player Ogg Vorbis pour lire les musiques.
    - Tout est implémenté et compatible à 99% avec l'existant, comme la modification du volume des musiques CD, le changement de piste, le repeat, ... (bien que je n'ai rien implémenté de tout ça moi-même, j'ai juste vu du code existant non-maintenu, avec des bugs, que j'ai forké)

    Et voilà.


    Pourquoi cette branche de développement spécifique ?
    -> Pour pallier aux bugs de l'usage de l'API mci du jeu

    Notamment :
    - Il a un bug, qui fait qu'il met le volume des musiques CD à 0 au lancement, et ne le modifie pas ensuite (donc pas de musique)
    - Le jeu utilise WINMM#mciSendCommandA pour les musiques CD, mais il ne spécifie pas la répétition des musiques CD. Très vite, les niveaux se retrouvent sans musique.
    - Le jeu stop les musiques CD lors de l'entrée en pause
    - Le jeu recommence la lecture de la musique CD en sortie de pause


    Par ailleurs :
    - Pour lire les musiques depuis le disque dur, la même API prend en charge la lecture de fichiers, tels que des fichiers MP3.
    - Si mciSendCommandA est trop compliqué, on peut utiliser à la place mciSendStringA.

    Exemple en C# :
    Code:
    using System;
    using System.IO;
    using System.Runtime.InteropServices;
    using System.Text;
    
    namespace MotorheadHook
    {
        public class MP3Player
        {
            private string _command;
            private string _playedFile;
            [DllImport("winmm.dll")]
            private static extern long mciSendString(string strCommand, StringBuilder strReturn, int iReturnLength, IntPtr hwndCallback);
    
            public MP3Player()
            {
                System.Windows.Forms.Application.ApplicationExit += Application_ApplicationExit;
            }
    
            private void Application_ApplicationExit(object sender, EventArgs e)
            {
                Stop();
            }
    
            public void Stop()
            {
                _command = "close MediaFile";
                mciSendString(_command, null, 0, IntPtr.Zero);
                _playedFile = "";
            }
    
            private void OpenMediaFile()
            {
                if (String.IsNullOrEmpty(_playedFile) || File.Exists(_playedFile) == false)
                {
                    return;
                }
    
                _command = "open \"" + _playedFile + "\" type mpegvideo alias MediaFile";
                mciSendString(_command, null, 0, IntPtr.Zero);
            }
    
            public void Play(string filename)
            {
                if (String.IsNullOrEmpty(filename) || File.Exists(filename) == false)
                {
                    return;
                }
    
                if (_playedFile == filename)
                {
                    return;
                }
                if (String.IsNullOrEmpty(_playedFile) == false)
                {
                    Stop();
                }
                _playedFile = filename;
                OpenMediaFile();
                _command = "play MediaFile";
                _command += " REPEAT";
                mciSendString(_command, null, 0, IntPtr.Zero);
            }
        }
    }
    Voilou. Bon, j'espère que tout cela te sera utile.
    RUNEXITW : pour quand RUNEXIT quitte le jeu trop tôt |
    Pack émulation PCem + Windows 95 | Pack émulation PCem + Windows 98SE | Pack émulation DOSBox + Win 3.11 | Pack PCem + Win 3.11 | Ma collection de wrappers (pas à jour)

    Commentaire

    • Tgames
      Barbarian


      • mars 2014
      • 306

      #3
      Merci pour ton message je vais jeter un coup d'oeil à l'API.

      En attendant voici ma solution en POC (c'est à dire que c'est juste pour montrer ce que ça donne mais sans avoir implémenté toutes les fonctions).
      Je n'utilise pas d'API externe dans cette solution ni ne détourne directement les fonctions CD du jeu.

      Cliquez sur l'image pour la voir en taille réelleà  Nom : 		gexMusicsPOC.pngà Affichages :	1à Taille :		724 Koà ID : 			774070

      Code:
      Gex 3D : Enter The Gecko D3D/3DFX (Launcher and Handlers for Musics & Controllers) V1.0 by Tgames
      ------------------------------------------------------------------
      
      [ENGLISH]
      
      This program is made for handling musics of the game with any CD letter
      Will support later files without disc (wav, mp3, ogg...).
      
      Installation :
      --------------
      
      0) Mount your Gex3D ISO (3DFX and D3D ISO supported) to any letter available
      1) Launch Gex3DLauncher.exe
      2) Launch your Gex3D Game (C:\Program Files\Crystal Dynamics\gex23dfx or C:\Program Files\Crystal Dynamics\gex23d)
      ---> Only D3D version of the game supported or 3DFX patched to D3D
      ---> Musics volume ajustments are supported (configure the music volume in Options Menu from the game)
      ---> All cuts and repeats functions supported.
      3) Play !
      
      [FRANCAIS]
      
      Ce programme a été conçu pour la gestion des musiques du jeu avec n'importe quelle lettre de lecteur CD.
      Supportera plus tard des fichiers sans CD (wav, mp3, ogg..).
      
      Installation :
      --------------
      
      0) Montez l'ISO de Gex3D (3DFX and D3D ISO supported) vers n'importe quelle lettre de lecteur disponible.
      1) Lancez Gex3DLauncher.exe
      2) Lancez le jeu Gex3D (C:\Program Files\Crystal Dynamics\gex23dfx or C:\Program Files\Crystal Dynamics\gex23d)
      ---> Seulement la version D3D du jeu supportée ou la version 3DFX patchée D3D.
      ---> Support du contrôle du volume des musiques (configurez le volume des musiques dans le menu option du jeu)
      ---> Toutes les fonctions de coupures des musiques, de bouclages sont supportés
      3) Jouez !
      
      
      (C) Tgames 2018
      http://tgames.fr
      Téléchargement :

      http://tgames.fr/tgames/PC/Gex3DMusics_POC.zip
      Mise à jour : Ne plus utiliser le POC, merci d'utiliser la version 1.0 de Gex Launcher : http://tgames.fr/tgames/PC/Gex3DLauncherV1.0.zip

      Mise à jour : Version V1.1 "No Controller" : http://tgames.fr/tgames/PC/Gex3DLaun...Controller.zip


      Téléchargement : http://tgames.fr/tgames/PC/Gex3DMusicsHandlerV1.1.zip

      Téléchargement : http://tgames.fr/tgames/PC/Gex3DControlsHandlerV1.1.zip


      -----------------------------------------------------------------------

      Dans ce POC je n'utilise pas d'API externe ou Ogg-Winmm. C'est 100% du code maison.
      Je gère les pistes audios avec mon propre handler (seuls les premiers niveaux sont supportés dans mon code pour l'instant et pas de coupure sur les menus pauses (mais facilement intégrable).

      L'avantage c'est que l'outil peut rester ouvert, on peut fermer le jeu, le rouvrir, finir le jeu, les musiques seront toujours joués et sans bug de volume.

      Actuellement :
      - Support automatisé de choix du lecteur CD contenant les pistes audio correspondantes pour le jeu (c'est à dire que quelque soit la lettre du lecteur, le programme va intelligemment retrouver le bon lecteur pour lire les musiques)
      - Support des CD "3DFX" et CD "D3D"
      - La musique se coupe automatiquement quand le jeu se ferme
      - Le handler peut rester ouvert, il va automatiquement détecter lorsqu'une instance du jeu reprends
      - Le handler sait détecter si le niveau suivant a la même musique, dans ce cas la musique ne se coupe pas (ça ne sert que dans le menu debug)
      - La musique boucle sans glitchs sonore ou interruption du programme
      - Aucune interruption du programme quand on change de musique


      Ce qui sera facile à faire avec l'outil :
      - Egalement on pourra totalement configurer l'outil pour jouer les musiques de la version PS1 par exemple...
      - Supporter des fichiers de musiques en tout format (MP3, WAV, OGG...)
      - Couper la musique en pause Supporté dans la nouvelle version.
      - Possibilité de baisser, augmenter le son via des touches de contrôles (Déjà possible mais désactivé, à voir si ça intéresse en tout cas c'est déjà codé)
      - Possibilité de baisser, augmenter le son via le jeu directement. Supporté dans la nouvelle version.
      - Possibilité de choisir les musiques des niveaux à jouer


      Note: Tout ce qui est noté au dessus sera facile à implémenter.
      Dernière modification par Tgames, 20 avril 2018, 16h05.

      Commentaire

      • Tgames
        Barbarian


        • mars 2014
        • 306

        #4
        Rappel : Le Handler n'est que pour la version D3D ou 3DFX patchée D3D.
        Les CD D3D et 3DFX sont supportés néanmoins.

        Update :

        La gestion du volume des musiques est supportée depuis le jeu (mon handler est capable de détecter les variations de volume depuis le jeu désormais).
        Il suffit de configurer le volume depuis le jeu (dans le menu options puis "End Speakers"). Réglez alors le dessin d'haut parleur au niveau que vous souhaitez avec les touches fléchés.

        La désactivation de la musique n'est pas supportée pour l'instant. Uniquement les niveaux de volume !

        Update 2 :

        Support de la pause dans le jeu => la musique est muette le temps que le pause est active

        Gros avantage par rapport à l'handler d'origine => pas de reboot des musiques après une pause !

        Update 3 :

        Toutes les musiques sont gérés, à chaque niveaux sa musique.

        Prochaine étape (semaine prochaine) :

        - Support des pistes audio sans CD (en .wav)
        - Support des pistes audios de la version Playstation (sachant qu'elles sont différente de celles PC ça peut être intéressant !)
        Peut être d'autres choses si j'ai le temps.

        En réalité j'ai casi terminé mon propre handler.
        Un fois terminé je regarderai si on peut avoir toutes mes fonctions via la solution The Uploader (donc je reporte de 15 jours pour regarder ta solution).
        Dernière modification par Tgames, 16 avril 2018, 01h07.

        Commentaire

        • The Uploader
          MechWarrior


          • février 2010
          • 7353

          #5
          Je me suis rendu compte d'une possible ambiguïté dans mon poste :
          - L'API WINMM permet de lire des MP3, WAV, pistes audios, et autres fichiers multimédia (entre autres capacités, tels que donner le temps avec timeGetTime, configurer le joystick, ...), mais pas le wrapper. Le wrapper ne fonctionne que pour émuler l'accès à des pistes audio à l'aide de mciSendString / mciSendCommand, via un sous-dossier Music contenant des fichiers Ogg Vorbis.

          Autrement dit, on peut utiliser les fonctions autres que mciSendCommand / mciSendString au travers du wrapper, il appellera le vrai WINMM.

          Mais pour lire/gérer autre chose que de (fausses) "pistes" audio de CD, à l'aide de mciSendCommand / mciSendString, il faut être sûr de ne pas utiliser le wrapper, sinon on aura rien.
          RUNEXITW : pour quand RUNEXIT quitte le jeu trop tôt |
          Pack émulation PCem + Windows 95 | Pack émulation PCem + Windows 98SE | Pack émulation DOSBox + Win 3.11 | Pack PCem + Win 3.11 | Ma collection de wrappers (pas à jour)

          Commentaire

          • Tgames
            Barbarian


            • mars 2014
            • 306

            #6
            Pour l'instant je vais terminer mon programme de gestion des musiques comme je l'avais commencé.
            Car il n'utilise rien d'externe et je ne dépends pas du code de gestion du jeu.
            C'est à dire que les potentiels bugs d'origine etc ne seront pas présent dans mon handler de musiques.

            N'hésite pas à le tester au cas où.


            Ps : ça t'intéresserai que j'intègre un handler des contrôles des manettes pour la Manette Xbox 360 à mon handler ?
            Je peux coder ça sans soucis. ça fonctionnera que sous Windows 10 par contre pour l'instant.
            Dernière modification par Tgames, 16 avril 2018, 14h51.

            Commentaire

            • The Uploader
              MechWarrior


              • février 2010
              • 7353

              #7
              Ah oui, de quoi gérer une manette Xbox 360 sous Windows 10 serait formidable.
              RUNEXITW : pour quand RUNEXIT quitte le jeu trop tôt |
              Pack émulation PCem + Windows 95 | Pack émulation PCem + Windows 98SE | Pack émulation DOSBox + Win 3.11 | Pack PCem + Win 3.11 | Ma collection de wrappers (pas à jour)

              Commentaire

              • Tgames
                Barbarian


                • mars 2014
                • 306

                #8
                Ok j'intègre ça a mon développement Tu n'aura rien à configurer, la manette sera reconnue directement et les boutons déjà assignés.

                Passage du programme en V1.0.

                Update :

                - Support de la coupure des musiques à l'écran des objectifs
                - Support de la coupure des musiques à l'écran des résultats
                - Support de la coupure des musiques durant toutes les cinématiques du jeu
                - Support et correction du bug de programmation dans Gex3D qui fait qu'après la fin du jeu plus de musique => pas ce bug dans mon handler

                Téléchargement : http://tgames.fr/tgames/PC/Gex3DLauncherV1.0.zip

                Normalement 90% des fonctions CD du jeu sont supportés (à mon avis 100% mais à vérifier)
                Dernière modification par Tgames, 19 avril 2018, 16h36.

                Commentaire

                • Tgames
                  Barbarian


                  • mars 2014
                  • 306

                  #9
                  MISE à JOUR :

                  - Support des fichiers audios en .WAV, copiez le dossier "musics" venant du zip dans le dossier du jeu : C:\Program Files\Crystal Dynamics\gex23dfx or C:\Program Files\Crystal Dynamics\gex23d
                  - Si vous insérez le CD du jeu, c'est le CD qui aura ses pistes audios de lu, si pas de CD c'est alors les fichiers WAV qui seront lus.
                  - Beaucoup d'optimisations dans le code pour la partie CD (étant terminé totalement).

                  Notes: Les fichiers wav sont cherchés là où c'est renseigné dans le registre Windows (HKEY_LOCAL_MACHINE\SOFTWARE\Crystal Dynamics\Gex2\1.00\InstallDir)
                  Si vous avez installé le jeu sur un autre lecteur, aucun soucis ça fonctionnera.


                  Téléchargement : http://tgames.fr/tgames/PC/Gex3DLauncherV1.0.zip


                  ------------------------------------------------------

                  MISE à JOUR en V1.1 :

                  - Lancement du jeu directement depuis le launcher
                  - Ajout du support Expérimental de la manette Xbox360, pour l'instant seul les déplacements de Gex sont supportés avec le stick gauche !
                  Si vous souhaitez tester que la partie musique, assurez vous de ne pas brancher votre manette Xbox 360 car la partie manette n'est pas stable. OU utilisez la version V1.1 "No Controller".

                  Téléchargement : http://tgames.fr/tgames/PC/Gex3DLauncherV1.1.zip

                  Téléchargement : http://tgames.fr/tgames/PC/Gex3DLaun...Controller.zip


                  Pack de musiques WAV (pour avoir les musiques SANS CD) : http://tgames.fr/tgames/PC/gex3D_musics.zip

                  BONUS :
                  Pack des musiques WAV PLAYSTATION pour la version PC (Gex 3D Launcher V1.2 supportera les 31 pistes) :

                  Sur la V1.1, seul 15 pistes seront supportés de la version PS1.
                  Dans la version Playstation, nous avons des musiques différentes pour certains niveau (notamment une musique clone Indiana Jones et une musique clone Star Wars, censurés sur PC)

                  http://tgames.fr/tgames/PC/Gex3D_ps1Musics.zip


                  Cliquez sur l'image pour la voir en taille réelleà  Nom : 		gexMusicsPOC.pngà Affichages :	1à Taille :		1716 Koà ID : 			774182

                  Mise à jour : Rajout du saut (buggé), attaque queue (buggé), accroupi (et encore buggé lol).
                  ça sera corrigé en réécrivant les étapes d'animations + quelques calculs.
                  Dernière modification par Tgames, 20 avril 2018, 15h07.

                  Commentaire

                  • The Uploader
                    MechWarrior


                    • février 2010
                    • 7353

                    #10
                    Salut

                    Merci pour tout ce que tu fais, c'est très impressionnant.

                    Tu développes ça en quel langage ? Du C89 ? Avec quel outil ? (je suis curieux )

                    Par ailleurs, y'aurait-il moyen d'avoir un outil qui s'occupe uniquement de la manette ?

                    Ce sera plus facile/rapide à intégrer/valider au sein de la version automatique.

                    Et j'aime bien le fait de forcer la répétition des musiques, et de ne pas la stopper/redémarrer pour la pause, mais unquement la redémarrer si on arrive à la fin de la musique, et la stopper si on quitte le jeu / change de musique, comme c'est fait actuellement avec le wrapper.

                    En tout cas, je testerai ça sûrement ce WE. Là, je finis de mettre en place un nouvel ordi de ma collection (Packard Bell Chrom@ modèle 9750 ou approchant avec Windows 98SE, chipset sonore Yamaha YF754B compatible Sound Blaster (émulation SB16/General MIDI sous Windows avec pilote WDM), ATI Rage Mobility M1 (basé sur la Rage PRO), Intel Pentium III @ 700 MHz, et 128 Mo de mémoire. Parfait pour les jeux Windows 9X sans se trimballer un PC de bureau, et pour jouer à pas mal de jeux DOS compatibles Windows, avec le son).

                    J'ai trouvé un chargeur, il ne me manque plus qu'à remplacer la batterie (tout à fait morte).... Et à trouver une variante du driver sonore qui donne pas des écrans bleus avec les jeux DOS au bout de quelques instants (j'en ai mis un mais avec un fichier ydsdev.cat manquant... Ceci explique sûrement cela...).

                    Le premier jeu DOS avec lequel je vais le tester sera Duke Nukem 3D, ensuite sûrement Dungeon Keeper.

                    Le premier jeu Windows qu'il va accueillir sera le jeu X-Files.
                    RUNEXITW : pour quand RUNEXIT quitte le jeu trop tôt |
                    Pack émulation PCem + Windows 95 | Pack émulation PCem + Windows 98SE | Pack émulation DOSBox + Win 3.11 | Pack PCem + Win 3.11 | Ma collection de wrappers (pas à jour)

                    Commentaire

                    • Tgames
                      Barbarian


                      • mars 2014
                      • 306

                      #11
                      Salut

                      Merci pour ton message, j'ai suivi ta suggestion et séparé le développement en 2 branches "MusicsHandler" et "ControlsHandler"
                      J'ai profité pour améliorer un peu le visuel des logiciels.

                      Cliquez sur l'image pour la voir en taille réelle   Nom : 		gexMusics.png  Affichages :	1  Taille :		1988 Ko  ID : 			774198

                      Téléchargement
                      : http://tgames.fr/tgames/PC/Gex3DMusicsHandlerV1.1.zip

                      Cliquez sur l'image pour la voir en taille réelle   Nom : 		gexControls.png  Affichages :	1  Taille :		2083 Ko  ID : 			774199


                      Téléchargement : http://tgames.fr/tgames/PC/Gex3DControlsHandlerV1.1.zip
                      Utilisez WiinUPro qui sera bien meilleur et gère plein de manette : http://www.wiinupro.com/home
                      Par contre ne pas utiliser la fonction XInput le jeu ne sait pas le gérer.


                      ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
                      ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



                      Voilà comme ça c'est beaucoup plus propre ainsi (je comptais les séparer au final au bout d'un moment donc ça tombe bien).


                      Envoyé par The Uploader Voir le message
                      Salut

                      Merci pour tout ce que tu fais, c'est très impressionnant.

                      Tu développes ça en quel langage ? Du C89 ? Avec quel outil ? (je suis curieux )

                      Par ailleurs, y'aurait-il moyen d'avoir un outil qui s'occupe uniquement de la manette ?

                      Ce sera plus facile/rapide à intégrer/valider au sein de la version automatique.

                      Et j'aime bien le fait de forcer la répétition des musiques, et de ne pas la stopper/redémarrer pour la pause, mais unquement la redémarrer si on arrive à la fin de la musique, et la stopper si on quitte le jeu / change de musique, comme c'est fait actuellement avec le wrapper.

                      En tout cas, je testerai ça sûrement ce WE. Là, je finis de mettre en place un nouvel ordi de ma collection (Packard Bell Chrom@ modèle 9750 ou approchant avec Windows 98SE, chipset sonore Yamaha YF754B compatible Sound Blaster (émulation SB16/General MIDI sous Windows avec pilote WDM), ATI Rage Mobility M1 (basé sur la Rage PRO), Intel Pentium III @ 700 MHz, et 128 Mo de mémoire. Parfait pour les jeux Windows 9X sans se trimballer un PC de bureau, et pour jouer à pas mal de jeux DOS compatibles Windows, avec le son).

                      J'ai trouvé un chargeur, il ne me manque plus qu'à remplacer la batterie (tout à fait morte).... Et à trouver une variante du driver sonore qui donne pas des écrans bleus avec les jeux DOS au bout de quelques instants (j'en ai mis un mais avec un fichier ydsdev.cat manquant... Ceci explique sûrement cela...).

                      Le premier jeu DOS avec lequel je vais le tester sera Duke Nukem 3D, ensuite sûrement Dungeon Keeper.

                      Le premier jeu Windows qu'il va accueillir sera le jeu X-Files.
                      Je code (pour ce projet) en vb, comme je connais bien Gex3D (pour avoir gérer les voix et le portage vers D3D), je suis capable de détecter tout ce que fais le jeu et d'y imposer mes propres déclancheurs et actions associés.
                      D'où le handler, je capte les actions du jeu puis réécris tout le comportement.
                      Donc concernant les musiques, je n'aurai jamais les bugs du jeu car j'ai développé mon propre gestionnaire des musiques du jeu avec mes propres actions.

                      Oui niveau musique c'est largement mieux comment je l'ai géré dans le programme, comparé à ce qu'ils ont fait les développeurs à l'origine.
                      Car pas de sans arrêt reprise à zéro des musiques après chaque pause, pas de bug d'arrêt des musiques etc etc...

                      Cordialement.

                      Dernière modification par Tgames, 21 avril 2018, 14h35.

                      Commentaire

                      • Tgames
                        Barbarian


                        • mars 2014
                        • 306

                        #12
                        PS : Je pense que développer mon handler de controles ne servira plus à rien après avoir découvert que le programme WiinUPro fonctionne avec le jeu.

                        Le jeu n'utilise pas Xinput mais le DirectInput et donc avait un bug avec une manette Xbox360 sous Windows 10 (ça fonctionnait que sous Windows XP et Windows 98 car DirectInput avec les pilotes non officielles japonnais).

                        Sous Windows 10, il suffit de connecter une manette Wii U Pro ou Nintendo Switch Pro Controller en bluetooth, de démarrer WiinUPro et Gex 3D fonctionne parfaitement.

                        http://www.wiinupro.com/home

                        Donc le développement de la partie "ControllerHandler" s'arrête là, j'avais améliorer quelques contrôles mais là voyant qu'un autre handler permet de faire fonctionner ces manettes avec le jeu c'est bon pour moi.

                        Là actuellement j'ai testé avec une manette Nintendo Switch Pro Controller ça fonctionne sans problème.

                        J'ai essayé d'utiliser x360ce sans succès avec ce jeu, à voir si je m'y suis mal pris.

                        Cordialement.
                        Dernière modification par Tgames, 21 avril 2018, 14h39.

                        Commentaire

                        • The Uploader
                          MechWarrior


                          • février 2010
                          • 7353

                          #13
                          Je savais pas que y'avait des pilotes non-officiels japonais pour manette filaire Xbox 360. Ça me serait trèèèèès utile. Tu aurais un lien ?
                          Edit : il me semble avoir trouvé une version traduite en anglais.

                          Je suis plus partisan des manettes Xbox 360, donc pour Gex 3D je vais tester/intégrer ton handler sous peu.

                          Merci énormément pour toutes tes découvertes passionnantes.
                          RUNEXITW : pour quand RUNEXIT quitte le jeu trop tôt |
                          Pack émulation PCem + Windows 95 | Pack émulation PCem + Windows 98SE | Pack émulation DOSBox + Win 3.11 | Pack PCem + Win 3.11 | Ma collection de wrappers (pas à jour)

                          Commentaire

                          • Tgames
                            Barbarian


                            • mars 2014
                            • 306

                            #14
                            Oui ça été traduit en anglais c'est pour Windows 98 et Windows XP ça fonctionne du tonnerre c'est un japonnais qu'il l'a écris.
                            J'utilise ma manette Xbox360 filaile sous Windows 98 pour jouer à tous mes jeux.
                            Pour ceux qui nous lisent c'est là : https://msfn.org/board/topic/119841-...ver-for-win98/

                            Concernant les handlers :

                            - Celui des musiques est terminé et totalement stable à 100%. Donc pour moi j'ai rien de plus à faire dessus, sauf si tu me trouve un défaut à ajuster.
                            Il gère tous les lecteurs CD avec les 2 versions CD du jeu (3DFX & D3D) ainsi que les pistes audios en WAV dans le dossier du jeu (mettre tout dans "musics" et nommer de track01 à track15).
                            A utiliser avec la version D3D originale ou 3DFX patchée D3D (pas de support de la version 3DFX originale, mais de toute façon elle a beaucoup plus de bugs que celle D3D).
                            Pour rappel pour ceux voulant aller vite j'ai fait un pack avec les musiques (il suffit d'extraire dans le dossier du jeu) :
                            http://tgames.fr/tgames/PC/gex3D_musics.zip

                            - Celui des contrôles est ultra expérimental et avec beaucoup de bugs, c'était surtout pour voir si je pouvais gérer moi même les contrôles à la manette Xbox360.
                            Donc à utiliser en connaissance de cause pour le Handler Contrôles.
                            Donc sauf si vraiment tu veux qu'on continue dessus tu me dit, j'avais déjà résolu les contrôles du saut et 2-3 mouvements dans une version que je comptais sortir plus tard.

                            Par contre celui musique tu peux l'intégrer je vais rien modifier de plus dessus.
                            Sauf je prépare une petite version surprise (à part) qui gérera toutes les pistes PS1 (sur PS1 il y a 31 pistes, sur PC seulement 15 avec des censures, mais ça sera à part car non officieux).

                            ---------------------------------------------------

                            En aparté je pense avoir beaucoup exploité Gex 3D, maintenant sauf si tu me trouve des bugs je vais aller sur un autre projet un autre jeu .
                            Dernière modification par Tgames, 21 avril 2018, 21h38.

                            Commentaire

                            Chargement...