home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / SHMOD10.LHA / ShowModule / Modules / NasGûlModule.doc < prev    next >
Encoding:
Text File  |  1994-05-27  |  12.1 KB  |  283 lines

  1.  
  2.  
  3.     Programmers informations:
  4.     ------------------------
  5.  
  6.     MODULE 3Dview.m
  7.     ---------------
  8.  
  9.         This file contents the id chunk of differents 3D objects.
  10.         the ID_3D2 and ID_3D3D are read like INT.
  11.  
  12.         (---) OBJECT database3d
  13.         (  0)   nbrsobjs:LONG            /* number of obj(s) in the base */
  14.         (  4)   totalpts:LONG            /* total of vertices */
  15.         (  8)   totalfaces:LONG          /* total of faces */
  16.         ( 12)   firstobj:LONG            /* address of the first obj */
  17.         (---) ENDOBJECT
  18.  
  19.         (---) OBJECT object3d
  20.         (  0)   num:LONG                 /* num of the obj */
  21.         (  4)   nbrspts:LONG             /* number of vertices */
  22.         (  8)   nbrsfaces:LONG           /* number of faces */
  23.         ( 12)   datapts:LONG             /* address of the data of vertices (LONG) */
  24.         ( 16)   datafaces:LONG           /* address of the data of faces (LONG) */
  25.         ( 20)   typeobj:LONG             /* type of the obj */
  26.         ( 24)   objcx:LONG               /* center x of the obj */
  27.         ( 28)   objcy:LONG               /* center y of the obj */
  28.         ( 32)   objcz:LONG               /* center z of the obj */
  29.         ( 36)   objminx:LONG             /* minx of the obj */
  30.         ( 40)   objmaxx:LONG             /* maxx of the obj */
  31.         ( 44)   objminy:LONG             /* miny of the obj */
  32.         ( 48)   objmaxy:LONG             /* maxy of the obj */
  33.         ( 52)   objminz:LONG             /* minz of the obj */
  34.         ( 56)   objmaxz:LONG             /* maxz of the obj */
  35.         ( 60)   selected:LONG            /* obj selected ? (TRUE or FALSE) */
  36.         ( 64)   bounded:LONG             /* obj bounded ? (TRUE or FALSE) */
  37.         (---) ENDOBJECT
  38.  
  39.         (---) OBJECT vertices            /* Not used in the 3Dview Prg */
  40.         (  0)   x:LONG                   /* Coord. x of vertice */
  41.         (  4)   y:LONG                   /* Coord. y of vertice */
  42.         (  8)   z:LONG                   /* Coord. z of vertice */
  43.         (---) ENDOBJECT
  44.  
  45.         (---) OBJECT faces               /* Not used in the 3Dview prg */
  46.         (  0)   v1:LONG                  /* num of the 1 vertice */
  47.         (  4)   v2:LONG                  /* num of the 2 vertice */
  48.         (  8)   v3:LONG                  /* num of the 3 vertice */
  49.         (---) ENDOBJECT
  50.  
  51.  
  52.     MODULE ClickGui.m
  53.     -----------------
  54.  
  55.         CONST ID_CLRU=$434C5255,    /* ID of the file */
  56.               ID_COMM=$434F4D4D     /* ID of the clickfile OBJECT */
  57.  
  58.  
  59.         (---) OBJECT clicknode
  60.         (  0)   node:substructure   /* node.name content the command name (STRING) */
  61.         ( 14)   stack:LONG          /* the stack of the command */
  62.         ( 18)   pri:LONG            /* the priority of the command */
  63.         ( 22)   currentdir:LONG     /* the current directory of the command (STRING) */
  64.         (---) ENDOBJECT
  65.  
  66.         (---) OBJECT clickfile
  67.         (  0)   stack:LONG          /* the same but the strings are at the end (NULL terminated) */
  68.         (  4)   pri:LONG
  69.         (  8)   currentdir:LONG
  70.         ( 12)   commande:LONG
  71.         (---) ENDOBJECT
  72.  
  73.  
  74.     MODULE Eutils.m and Mheader.m
  75.     ---------------
  76.  
  77.         (---) OBJECT eudatabase
  78.         (  0)   ed:LONG          /* The name of the text editor (STRING) */
  79.         (  4)   ec:LONG          /* EC and options (STRING) */
  80.         (  8)   epp:LONG         /* EPP and options (STRING) */
  81.         ( 12)   source:LONG      /* the name of the source code (.e) (STRING) */
  82.         ( 16)   eppdest:LONG     /* the name of the EPP destination (STRING) */
  83.         ( 20)   exec:LONG        /* the name of the executable (STRING) */
  84.         ( 24)   isource:LONG     /* the name of a .i source (to convert with Iconvert/A68K) (STRING) */
  85.         ( 28)   version:LONG     /* Version of the prg */
  86.         ( 32)   revision:LONG    /* Revision of the prg */
  87.         ( 36)   strdate:LONG     /* the date of the last compilation (STRING) */
  88.         ( 40)   strtime:LONG     /* the time of the last compilation (STRING) */
  89.         ( 44)   author:LONG      /* the name of the author (STRING) */
  90.         ( 48)   prgname:LONG     /* the name of the prg (can be different than the exec) (STRING) */
  91.         ( 52)   banner:LONG      /* the version string ($VER:...) (STRING) */
  92.         (---) ENDOBJECT     /* SIZEOF=56 */
  93.  
  94.         The file create by Eutils (<name of exec>.header) can be read with this module,
  95.         And the Procedure p_DoReadHeader(my_header:PTR TO prgheader) in file Pmodules:PMheader.e.
  96.  
  97.  
  98.         (---) OBJECT prgheader
  99.         (  0)   version:INT             /* The version of prg */
  100.         (  2)   revision:INT            /* The Revision of prg */
  101.         (  4)   strdate:substructure    /* The date of the last compilation (STRING length:8) */
  102.         ( 12)   strtime:substructure    /* The time of the last compilation (STRING length:8) */
  103.         ( 20)   auteur:substructure     /* The name of the author (STRING length:20) */
  104.         ( 40)   nomprg:substructure     /* The name of the prg (STRING length:20) */
  105.         ( 60)   verstag:substructure    /* The string version (STRING length:80) */
  106.         (---) ENDOBJECT     /* SIZEOF=140 */
  107.  
  108.  
  109.     MODULE readguifile.m
  110.     --------------------
  111.  
  112.         I can't read a .gui file (Gadtoolsbox) with the fonctions of the library
  113.         (Guru).I don't no why, so i make this:
  114.  
  115.         The data base:
  116.  
  117.         (---) OBJECT guibase
  118.         (  0)   adrlistdef:LONG       /* address of a list (lh) who content the gobals definitions */
  119.         (  4)   adrlistwindow:LONG    /* address of a list (lh) who content the windownode */
  120.         (  8)   currentwindow:LONG    /* address of the current windownode */
  121.         ( 12)   currentgadget:LONG    /* address of the current gadget */
  122.         (---) ENDOBJECT     /* SIZEOF=16 */
  123.  
  124.         The window node:
  125.  
  126.         (---) OBJECT windownode
  127.         (  0)   node:substructure     /* the node.name content the project name window in gadtoolbox */
  128.         ( 14)   left:LONG             /* like write... */
  129.         ( 18)   top:LONG
  130.         ( 22)   width:LONG
  131.         ( 26)   height:LONG
  132.         ( 30)   idcmp:LONG
  133.         ( 34)   flags:LONG
  134.         ( 38)   adrgadgetlist:LONG    /* address of the gadgetlist of the window who content the gadgetnode */
  135.         ( 42)   adrmenulist:LONG      /* address of the menulist who content the menunode */
  136.         ( 46)   adrbboxlist:LONG      /* address of the bevelboxlist who content the bboxnode */
  137.         ( 50)   adritextlist:LONG     /* address of the itextlist who content the itextnode */
  138.         ( 54)   title:LONG            /* title of the window (STRING) */
  139.         ( 58)   screen:LONG           /* title of the screen (STRING) */
  140.         (---) ENDOBJECT     /* SIZEOF=62 */
  141.  
  142.         The gadgetnode:
  143.  
  144.         (---) OBJECT gadgetnode
  145.         (  0)   node:substructure     /* node.name content the gadgetlabel in gadtoolsbox */
  146.         ( 14)   kind:INT              /* like the gadtools.library */
  147.         ( 16)   leftedge:INT
  148.         ( 18)   topedge:INT
  149.         ( 20)   width:INT
  150.         ( 22)   height:INT
  151.         ( 24)   gadgettext:LONG
  152.         ( 28)   flags:LONG
  153.         (---) ENDOBJECT     /* SIZEOF=32 */
  154.  
  155.         The menunode:
  156.  
  157.         (---) OBJECT menunode
  158.         (  0)   node:substructure     /* node.name content the NAME OF THE MENU */
  159.         ( 14)   type:INT              /* like gadtools.library */
  160.         ( 16)   text:LONG
  161.         ( 20)   comkey:LONG           /* (STRING) */
  162.         ( 24)   flags:LONG
  163.         ( 28)   mutualexclude:LONG
  164.         (---) ENDOBJECT     /* SIZEOF=32 */
  165.  
  166.         The bboxnode:
  167.  
  168.         (---) OBJECT bboxnode
  169.         (  0)   node:substructure     /* node.name content ' ' */
  170.         ( 14)   left:INT
  171.         ( 16)   top:INT
  172.         ( 18)   width:INT
  173.         ( 20)   height:INT
  174.         ( 22)   flags:INT
  175.         (---) ENDOBJECT     /* SIZEOF=24 */
  176.  
  177.         (---) OBJECT itextnode
  178.         (  0)   node:substructure     /* node.name content ' ' */
  179.         ( 14)   left:INT
  180.         ( 16)   top:INT
  181.         ( 18)   text:LONG             /* (STRING) */
  182.         (---) ENDOBJECT     /* SIZEOF=22 */
  183.  
  184.     MODULE RecallPrefs.m
  185.     --------------------
  186.  
  187.         CONST ID_RCLN=$52434C4E  /* THE ID file */
  188.  
  189.         (---) OBJECT rcnode
  190.         (  0)   node:substructure   /* node.name content the date string **-**-** (STRING) */
  191.         ( 14)   alert:LONG          /* the alert text (STRING) */
  192.         (---) ENDOBJECT     /* SIZEOF=18 */
  193.  
  194.         (---) OBJECT filercnode
  195.         (  0)   filedate:substructure    /* the date **-**-** (STRING) length:8 (NULL terminated string) */
  196.         ( 10)   filealert:substructure   /* the alert text (STRING) length:80 (NULL terminated string) */
  197.         (---) ENDOBJECT     /* SIZEOF=90 */
  198.  
  199.  
  200.     MODULE SMGui.m
  201.     --------------
  202.  
  203.         (---) OBJECT smbase
  204.         (  0)   emptylist:LONG       /* a empty list (lh) */
  205.         (  4)   modulelist:LONG      /* the list (lh) of the modulenode */
  206.         (---) ENDOBJECT     /* SIZEOF=8 */
  207.  
  208.         (---) OBJECT modulenode
  209.         (  0)   node:substructure    /* node.name content the filename of the module */
  210.         ( 14)   datalist:LONG        /* list of ln with ln.name content the module text */
  211.         (---) ENDOBJECT     /* SIZEOF=18 */
  212.  
  213.  
  214.     MODULE WBMessage.m
  215.     ------------------
  216.  
  217.         I found it in the source of toolmanager.
  218.  
  219.         (---) OBJECT wbstartmsg
  220.         (  0)   msg:substructure    /* exec message */
  221.         ( 20)   name:LONG           /* the command name */
  222.         ( 24)   dirlock:LONG        /* the lock of the command */
  223.         ( 28)   stack:LONG          /* the stack of the command */
  224.         ( 32)   prio:LONG           /* the priority of the command */
  225.         ( 36)   numargs:LONG        /* like a appmessage */
  226.         ( 40)   arglist:LONG        /* like a appmessage */
  227.         (---) ENDOBJECT     /* SIZEOF=44 */
  228.  
  229.  
  230.     MODULE WVprefs.m
  231.     ----------------
  232.  
  233.         this is my big work....
  234.  
  235.             Whatview and wvprefs used the same module, in WVprefs
  236.         the wvbase.emptylist is really a emptylist but Whatview use
  237.         it to stock the arguments.
  238.  
  239.         CONST ID_WVPR=$57565052,  /* ID of the file */
  240.               ID_WVAC=$57564143   /* ID of the the command description */
  241.  
  242.         (---) OBJECT wvbase
  243.         (  0)   adridlist:LONG           /* address of all the ID of the Whatis.library (list lh) */
  244.         (  4)   adractionlist:LONG       /* address of the action list (list lh) */
  245.         (  8)   adremptylist:LONG        /* address of a empty list (WVprefs) or the wvarg (Whatview) */
  246.         (---) ENDOBJECT     /* SIZEOF=12 */
  247.  
  248.         (---) OBJECT actionnode
  249.         (  0)   node:substructure        /* node.name content a ID of the whatis.library */
  250.         ( 14)   exectype:INT             /* type of launch MODE_WB or MODE_CLI */
  251.         ( 16)   command:LONG             /* the command name (STRING) */
  252.         ( 20)   currentdir:LONG          /* the current dir of the command (STRING) */
  253.         ( 24)   stack:LONG               /* stack of the command (STRING) */
  254.         ( 28)   priority:LONG            /* priority of the command (STRING) */
  255.         ( 32)   numarg:LONG              /* the number of arguments */
  256.         ( 36)   arglist:substructure     /* the argument list (like a appmessage) MAX 20 */
  257.         (196)   cmd:LONG                 /* the cmd for command in MODE_CLI */
  258.         (---) ENDOBJECT     /* SIZEOF=200 */
  259.  
  260.         CONST MODE_WB=0,
  261.               MODE_CLI=1
  262.  
  263.         (---) OBJECT wvarg
  264.         (  0)   node:substructure        /* node.name content the name of the file */
  265.         ( 14)   lock:LONG                /* the lock of the file */
  266.         ( 18)   size:LONG                /* the size of file */
  267.         ( 22)   date:LONG                /* the date (???) i want but i can't */
  268.         ( 26)   idstring:LONG            /* the IDString (STRING) */
  269.         (---) ENDOBJECT     /* SIZEOF=30 */
  270.  
  271.         you can send command to the WhatViewPort with this message structure.
  272.  
  273.         (---) OBJECT wvmsg
  274.         (  0)   msg:substructure    /* a exec message */
  275.         ( 20)   name:LONG           /* the filename */
  276.         ( 24)   lock:LONG           /* the lock of the file */
  277.         (---) ENDOBJECT     /* SIZEOF=28 */
  278.  
  279.         if lock=0 it's a command, command are in uppercase:
  280.  
  281.         WHATVIEW INFO ADDICON EXECUTE QUIT PREFS FLUSH
  282.  
  283.