// Grimoire \\ bientôt dévoilé

4 sujets de 16 à 19 (sur un total de 19)

  • 1
  • 2
  • AmiDARK

      #373947

      Après un long temps de pause, j’ai retravaillé ces jours ci sur Grimoire.
      J’ai fixé quelques bugs mineurs dans les macro qui servent à créer les Procedure, leurs paramètres d’entrée et la récupération d’une valeur en sortie de procédure.
      Là je commence à développer la partie graphique avec la librairie grimoire-screens.library qui permettra de gérer les écrans.
      C’est ma petite news sur le projet pour l’Amiga Day 🙂

      kamelito

        #373951

        Content que le projet ne soit pas abandonné.
        Merci et bon courage.

        BatteMan

          #373962

          Yep, ça fait plaisir à lire !


          /me encourage de tout cœur sieur AmiDARK !

          Only Amiga makes it possible !

          AmiDARK

            #373975

            Merci pour vos réponses.
            J’ai mis en place le système de gestion d’erreur. Maintenant, quand on appelle (via une MACRO) une méthode d’une des librairies du systèmes, si la méthode génère une erreur, le code s’arrêtera automatiquement, fera la purge (nettoyages mémoires) de tout ce qui a été allocationné et quittera proprement 🙂
            Il me reste à améliorer le système de GOSUB ( BasicGOSUB) et RETURN (BasicRETURN) pour gérer par rapport au gestionnaire d’erreurs sans faire de JSR mais j’ai déjà ma petite idée de comment je vais procéder. Le système de MACROS de Devpac étant très puissant c’est un régal à programmer 🙂

            Voila un exemple de MACRO qui appelle une fonction d’une des librairies (grmGetBestScreenMode 3 paramètres et sa version 4 èarapètres grmGetBestScreenModeEx).
            L’utilisateur n’a qu’à utiliser : getBestScreenMode Largeur, hauteur, profondeur(, mode) et cela appelera la bonne fonction :

            getBestScreenMode MACRO
              ; ********************************************************
              IFEQ (NARG-3) ; getBestScreenMode Width,Height,PixelFormat
                seMultiPushToStack \1,\2,\3
                grmScreensCall grmGetBestScreenMode
              ; ********************************************************
              ELSEIF
                IFEQ (NARG-4) ; getBestScreenModeEx Width,Height,PixelFormat,GFXMode
                  seMultiPushToStack \1,\2,\3,\4
                  grmScreensCall grmGetBestScreenModeEx
                ; ********************************************************
                ELSEIF
                  FAIL ; Wrong amount of parameters : getBestScreenMode Width,Height,PixelFormat (,GFXMode)
                ENDC
              ENDC
              tst.b        Error(a5)
              bne          CloseEngine
             ENDM
            

            Bien entendu les paramètres peuvent être des valeurs directes précédées d’un #, des registres de données et/ou d’adresses, des variables globales ou des variables locales à la procédure à partir de laquelle la commande est appelée.

            @+

          4 sujets de 16 à 19 (sur un total de 19)

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

          Forums AmigaOS, MorphOS et AROS Développement // Grimoire \\ bientôt dévoilé

          Amiga Impact