Description d’un “.info”

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

  • thyphoon

      #6195

      Bonjour,

      Je cherche a savoir comment est constitué un fichier .info

      Afin de pouvoir récupérer les informations tel que l’outil part default et les tooltips.

      Ou puis-je trouver ça ?

      Merci

      Thy

      centaurz

        #102266

        Il n’y a pas qu’un seul format “.info”, c’est le système qui se charge de gérer ces fichiers de manière transparente (par exemple pour les icônes png les tooltypes sont stockés dans le fichier d’image PNG). Donc il vaudrait mieux que tu utilises par exemple l’icon.library si tu programmes en C (à moins que tu cherches un outil en ligne de commande ?).

        thyphoon

          #102267

          Merci de t’être intéressé a ma question.:-D

          En verité je développe une petite application sous linux qui permet de naviguer sur des Cds Amiga et je voulais pouvoir decoder le fichier.info en gros une explication sur sa construction. le plus important etant la récupération des tools types.

          un peu comme la description du format wav ici : http://sub0.developpez.com/FormatWAV/FormatWAV.htm

          Merci d’avance 8-)

          centaurz

            #102268

            De rien ;-).

            Je ne crois pas que le format original des .info soit documenté publiquement, en tout cas pas en regardant le SDK officiel. Mais par contre, tu peux jeter un coup d’oeil aux sources d’AROS, et en particulier celle de l’icon.library (dans workbench/libs/icon).

            thyphoon

              #102269

              merci…je vais aller voir ça … j’ai trouvé quelques infos comme sur http://en.wikipedia.org/wiki/Amiga_Hunk

              mais ça m’a l’air bien compliqué…

              Voxel

                #102270

                logiquement tu peux trouver l’info dans les Rom Kernel Manuals édités par Commodore, dans la Bible de l’Amiga, ou encore le Guru Book.

                edit : j’oubliais ! les Rom Kernels se trouvent aussi en amigaguide dans le CDRom développeur n°2 :-)

                thyphoon

                  #102271

                  Merci beaucoup ! Est ce que ça peut se télécharger librement quelque part ?

                  Je vais aller voir sur Aminet.

                  J’en étais rendu a épluché les sources de l’icon library d’Aros. Mais j’avoue que je nageais complètement

                  Voxel

                    #102272

                    tout ce que je cite n’est pas libre de droits donc non, tu ne peux pas les télécharger.

                    par contre il me reste un CD Développeur v2 en stock si tu veux :-)

                    thellier

                      #102273

                      #ifndef CLIB_ICON_PROTOS_H

                      #define CLIB_ICON_PROTOS_H

                      /*

                      ** $VER: icon_protos.h 38.2 (16.6.93)

                      ** Includes Release 40.15

                      **

                      ** C prototypes. For use with 32 bit integers only.

                      **

                      ** (C) Copyright 1990-1993 Commodore-Amiga, Inc.

                      ** All Rights Reserved

                      */

                      #ifndef EXEC_TYPES_H

                      #include

                      #endif

                      #ifndef WORKBENCH_WORKBENCH_H

                      #include

                      #endif

                      void FreeFreeList( struct FreeList *freelist );

                      BOOL AddFreeList( struct FreeList *freelist, APTR mem, unsigned long size );

                      struct DiskObject *GetDiskObject( UBYTE *name );

                      BOOL PutDiskObject( UBYTE *name, struct DiskObject *diskobj );

                      void FreeDiskObject( struct DiskObject *diskobj );

                      UBYTE *FindToolType( UBYTE **toolTypeArray, UBYTE *typeName );

                      BOOL MatchToolValue( UBYTE *typeString, UBYTE *value );

                      UBYTE *BumpRevision( UBYTE *newname, UBYTE *oldname );

                      /*— functions in V36 or higher (Release 2.0) —*/

                      struct DiskObject *GetDefDiskObject( long type );

                      BOOL PutDefDiskObject( struct DiskObject *diskObject );

                      struct DiskObject *GetDiskObjectNew( UBYTE *name );

                      /*— functions in V37 or higher (Release 2.04) —*/

                      BOOL DeleteDiskObject( UBYTE *name );

                      #endif /* CLIB_ICON_PROTOS_H */

                      #ifndef WORKBENCH_WORKBENCH_H

                      #define WORKBENCH_WORKBENCH_H

                      /*

                      ** $VER: workbench.h 40.1 (26.8.93)

                      ** Includes Release 40.15

                      **

                      ** workbench.library general definitions

                      **

                      ** (C) Copyright 1985-1993 Commodore-Amiga, Inc.

                      ** All Rights Reserved

                      */

                      #ifndef EXEC_TYPES_H

                      #include “exec/types.h”

                      #endif

                      #ifndef EXEC_NODES_H

                      #include “exec/nodes.h”

                      #endif

                      #ifndef EXEC_LISTS_H

                      #include “exec/lists.h”

                      #endif

                      #ifndef EXEC_TASKS_H

                      #include “exec/tasks.h”

                      #endif

                      #ifndef INTUITION_INTUITION_H

                      #include “intuition/intuition.h”

                      #endif

                      #define WBDISK 1

                      #define WBDRAWER 2

                      #define WBTOOL 3

                      #define WBPROJECT 4

                      #define WBGARBAGE 5

                      #define WBDEVICE 6

                      #define WBKICK 7

                      #define WBAPPICON 8

                      struct OldDrawerData { /* pre V36 definition */

                      struct NewWindow dd_NewWindow; /* args to open window */

                      LONG dd_CurrentX; /* current x coordinate of origin */

                      LONG dd_CurrentY; /* current y coordinate of origin */

                      };

                      /* the amount of DrawerData actually written to disk */

                      #define OLDDRAWERDATAFILESIZE (sizeof(struct OldDrawerData))

                      struct DrawerData {

                      struct NewWindow dd_NewWindow; /* args to open window */

                      LONG dd_CurrentX; /* current x coordinate of origin */

                      LONG dd_CurrentY; /* current y coordinate of origin */

                      ULONG dd_Flags; /* flags for drawer */

                      UWORD dd_ViewModes; /* view mode for drawer */

                      };

                      /* the amount of DrawerData actually written to disk */

                      #define DRAWERDATAFILESIZE (sizeof(struct DrawerData))

                      struct DiskObject {

                      UWORD do_Magic; /* a magic number at the start of the file */

                      UWORD do_Version; /* a version number, so we can change it */

                      struct Gadget do_Gadget; /* a copy of in core gadget */

                      UBYTE do_Type;

                      char * do_DefaultTool;

                      char ** do_ToolTypes;

                      LONG do_CurrentX;

                      LONG do_CurrentY;

                      struct DrawerData * do_DrawerData;

                      char * do_ToolWindow; /* only applies to tools */

                      LONG do_StackSize; /* only applies to tools */

                      };

                      #define WB_DISKMAGIC 0xe310 /* a magic number, not easily impersonated */

                      #define WB_DISKVERSION 1 /* our current version number */

                      #define WB_DISKREVISION 1 /* our current revision number */

                      /* I only use the lower 8 bits of Gadget.UserData for the revision # */

                      #define WB_DISKREVISIONMASK 255

                      struct FreeList {

                      WORD fl_NumFree;

                      struct List fl_MemList;

                      };

                      /* workbench does different complement modes for its gadgets.

                      ** It supports separate images, complement mode, and backfill mode.

                      ** The first two are identical to intuitions GFLG_GADGIMAGE and GFLG_GADGHCOMP.

                      ** backfill is similar to GFLG_GADGHCOMP, but the region outside of the

                      ** image (which normally would be color three when complemented)

                      ** is flood-filled to color zero.

                      */

                      #define GFLG_GADGBACKFILL 0x0001

                      #define GADGBACKFILL 0x0001 /* an old synonym */

                      /* if an icon does not really live anywhere, set its current position

                      ** to here

                      */

                      #define NO_ICON_POSITION (0x80000000)

                      /* workbench now is a library. this is it’s name */

                      #define WORKBENCH_NAME “workbench.library”

                      /* If you find am_Version >= AM_VERSION, you know this structure has

                      * at least the fields defined in this version of the include file

                      */

                      #define AM_VERSION 1

                      struct AppMessage {

                      struct Message am_Message; /* standard message structure */

                      UWORD am_Type; /* message type */

                      ULONG am_UserData; /* application specific */

                      ULONG am_ID; /* application definable ID */

                      LONG am_NumArgs; /* # of elements in arglist */

                      struct WBArg *am_ArgList; /* the arguements themselves */

                      UWORD am_Version; /* will be AM_VERSION */

                      UWORD am_Class; /* message class */

                      WORD am_MouseX; /* mouse x position of event */

                      WORD am_MouseY; /* mouse y position of event */

                      ULONG am_Seconds; /* current system clock time */

                      ULONG am_Micros; /* current system clock time */

                      ULONG am_Reserved[8]; /* avoid recompilation */

                      };

                      /* types of app messages */

                      #define AMTYPE_APPWINDOW 7 /* app window message */

                      #define AMTYPE_APPICON 8 /* app icon message */

                      #define AMTYPE_APPMENUITEM 9 /* app menu item message */

                      /*

                      * The following structures are private. These are just stub

                      * structures for code compatibility…

                      */

                      struct AppWindow { void *aw_PRIVATE; };

                      struct AppIcon { void *ai_PRIVATE; };

                      struct AppMenuItem { void *ami_PRIVATE; };

                      #endif /* !WORKBENCH_WORKBENCH_H */

                      thellier

                        #102274

                        tel que je le comprends les icones sont des struct DiskObject

                        Alain

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

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

                      Forums AmigaOS, MorphOS et AROS Développement Description d’un “.info”

                      Amiga Impact