

                              /*  stuff.h  */

#ifndef INTUITION_INTUITION_H
#include <intuition/intuition.h>
#endif
#include <functions.h>

#define loop        for                         /*  I hate this keyword...  */
#define IF          if        /*  make outer and inner blocks more visible  */
#define CS          case
#define ELSE        else
#define LOOP        loop
#define RET         return
#define SWITCH      switch
#define IFN(x)      if(!(x))
#define ifn(X)      if(!(X))
#define forever     for(;;)
#define Struck      struct
#define ST          Struck
#define SS          static struct
#define UB          UBYTE *
#define REG         register
#define NL          NULL
#define CTRL    IEQUALIFIER_CONTROL
#define LSHIFT  IEQUALIFIER_LSHIFT
#define RSHIFT  IEQUALIFIER_RSHIFT
#define LALT    IEQUALIFIER_LALT
#define RALT    IEQUALIFIER_RALT
#define LCOM    IEQUALIFIER_LCOMMAND
#define RCOM    IEQUALIFIER_RCOMMAND
#define Qmask  (CTRL|RALT|LALT|RSHIFT|LSHIFT|LCOM|RCOM)
#define izCtrl(x) ((x)==CTRL)
#define izAlt(x) (((x)==LALT)||((x)==RALT)||((x)==(LALT|RALT)))
#define izShift(x) (((x)==LSHIFT)||((x)==RSHIFT)||((x)==(LSHIFT|RSHIFT)))
#define izCom(x) (((x)==LCOM)||((x)==RCOM)||((x)==(LCOM|RCOM)))
#define gadzon(g)   ((g).Flags & SELECTED)

extern int      gargc;
extern char   **gargv;

void  art (), init (), help (), pickmouse (), hotHelp (), popChip (),
      new (), quit (), pick (), increment (), newOnion (), flash_blok (),
     load (), roll (), newactive (), Rcloze (), redrawWorkArea (),
     hide (), free (), save (), new_color (), freeWindow (), stack (),
     stor (), doBox (), SchRep (), onionOn (), onionOff (), popOnOff (),
     fill (), onInput (), offInput (), clozeClipWin (), dealwithit (),
	 /*deadwindow (),*/ clipAction (), openSeqWin (), closeSeqWin (), zapAllWindows ();

char *hex (), *decimal ();
USHORT hexToUshort ();
unsigned int input ();

                     /*  all this just to count???  */
#define COL0  32
#define COL1   1
#define COL2   2
#define COL3   3
#define COL4   4
#define COL5   5
#define COL6   6
#define COL7   7
#define COL8   8
#define COL9   9
#define COL10 10
#define COL11 11
#define COL12 12
#define COL13 13
#define COL14 14
#define COL15 15
#define COL16 16
#define COL17 17
#define COL18 18
#define COL19 19
#define COL20 20
#define COL21 21
#define COL22 22
#define COL23 23
#define COL24 24
#define COL25 25
#define COL26 26
#define COL27 27
#define COL28 28
#define COL29 29
#define COL30 30
#define COL31 31

#define HATCG 33
#define UNHTG 34
#define PICKG 35
#define NEW_G 36
#define BLOKG 37
#define SAVEG 38
#define LOADG 39
#define CLONG 40
#define SVSZG 41
#define ROLLG 42
#define HAIRS 43
#define INC_G 44
#define INS_G 45
#define FILLG 46
#define COPYG 47
#define UNDOG 48
#define STAKG 49
#define SEQ_G 50
#define SQSTG 51
#define CNL_G 52
#define NOCMG 53
#define FREEG 54
#define ONIOG 54
#define POP_G 55
#define XWB_G 56
#define TWEKG 57
#define HEX_G 58
                         /*  Guys, could we have, like, MORE gadgets here?  */

                          /*  Hot Help types  */
#define HHnothing   0
#define HHnormal    1
#define HHmessage   2
#define HHalert     3

#define debug(x)    /*printf (" %ld \n", (long) x)*/
#define rnd(x)      (rand()%(x))

struct helperizer {   SHORT     xx,  yy,  xxx, yyy;
                      UBYTE    *help;
                        int     heat;  };

#define Ratio         3  /*  pix per spot  */
#define MaxUP         4
#define MaxDN        40
#define ImageWid    (MaxUP*16)
#define PixOver      242
#define PixDown       22
#define UbfOver      250
#define UbfDown       80
#define HIDESIZE    (MaxUP * MaxDN * 5 * sizeof (USHORT) + 24)
#define ALERT(x)     hotHelp (x, HHalert, 2)
#define Mess(x)      hotHelp (x, HHmessage, 1)
#define maxsupwin     64
#define SEQLEN      128
#define SW          SUPERwindow
#define swin(x)     (SuperWindows [x].it)
#define zreep(x)    (SuperWindows [x].sreep)
#define zhid(x)     (SuperWindows [x].hid)

struct SUPERwindow {    Struck Window    *it;
                        Struck RastPort  *sreep;  };

#define SIP (struct InuitionBase *)
#define SGP (struct      GfxBase *)
#define OLB OpenLibrary
#define OSC OpenScreen
#define OWN OpenWindow
#define OAM AllocMem
#define YOTEX(col1, col2, say_what)  { col1,col2,JAM2,0,0,NL,(UBYTE*) say_what, NL }
