Aidez moi à utiliser setFunction pour patcher Warp3D/FPSE/Je

4 sujets de 1 à 4 (sur un total de 4)

  • thellier

      #10054

      Bonjour

      J’ai compris que si FPSE l’émulateur de playstation ne marche pas parfois avec Warp3D c’est car il utilise W3D_DrawElement() qui est pas toujours implémenté (dingue non ?) dans certains drivers de Warp3D

      Là j’ai eu du courage ce week-end et j’ai REECRIS W3D_DrawElement() et W3D_DrawArrays() et j’avais aussi fait des patchs pour d’autres fonctions buggées de Warp3D

      Maintenant comment je fais le setfonction() pour patcher Warp3D ? notamment pour que ces fonctions restent ‘residentes’ ???

      Alain Thellier

      breed

        #153655

        Henes est appelé à l’accueil!

        ;-)

        henes

          #153656

          thellier a écrit :

          J’ai compris que si FPSE l’émulateur de playstation ne marche pas parfois avec Warp3D c’est car il utilise W3D_DrawElement() qui est pas toujours implémenté (dingue non ?) dans certains drivers de Warp3D

          C’est un peu étonnant car je me souviens que W3D_DrawElement() est au contraire utilisé par plusieurs logiciels et qu’ils fonctionnaient comme prévus sur Permedia2 et Voodoo3. En regardant rapidement mes notes, je vois que c’est entre autres le cas des démos MiniGL du groupe Encore (Sulaco et By Night) et peut-être aussi de Shogo (ou alors il utilise juste W3D_DrawArray() ?). Sans doute aussi certaines versions de GLQuake.

          Aucune idée pour le pilote Virge mais bon…

          Maintenant comment je fais le setfonction() pour patcher Warp3D ?

          L’utilisation de SetFunction() est relativement simple… tant qu’on n’essaye pas d’enlever le patch :)

          Sur quoi bloques-tu exactement ?

          notamment pour que ces fonctions restent ‘residentes’ ???

          Si tu ne sais pas faire du code détachable, pourquoi ne pas simplement faire un éxécutable qui applique le patch et attend un ctrl-c pour (tenter de) l’enlever ?


          @breed

          Viens-tu nous montrer tes 12 enfants à l’Alchimie ?

          thellier

            #153657

            Hello

            Merci de ton aide Henes

            On peut voir que DrawElement() marche pas avec par exemple mon Aminet/cow3d.lha en appuyant sur ‘e’ il trace avec w3d_drawelement()

            Je bloquais sur le fait que le patch “survive” en mémoire après que le programme de patchage ce soit fermé

            Mais OK je vais faire comme tu dis “un éxécutable qui applique le patch et attend un ctrl-c pour l’enlever”

            Je compile,je teste et j’espère diffuser dans peu de temps

            Alain Thellier

          4 sujets de 1 à 4 (sur un total de 4)

          • Vous devez être connecté pour répondre à ce sujet.

          Forums AmigaOS, MorphOS et AROS Développement Aidez moi à utiliser setFunction pour patcher Warp3D/FPSE/Je

          Amiga Impact