home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / wbgames / shuffle / source / shuffle.h < prev    next >
C/C++ Source or Header  |  1977-12-31  |  7KB  |  200 lines

  1. /*
  2.  *  Source machine generated by GadToolsBox V1.4
  3.  *  which is (c) Copyright 1991,92 Jaba Development
  4.  */
  5.  
  6.  
  7. #include <exec/types.h>
  8. #include <intuition/intuition.h>
  9. #include <intuition/classes.h>
  10. #include <intuition/classusr.h>
  11. #include <intuition/imageclass.h>
  12. #include <intuition/gadgetclass.h>
  13. #include <workbench/workbench.h>
  14. #include <libraries/gadtools.h>
  15. #include <libraries/asl.h>
  16. #include <graphics/displayinfo.h>
  17. #include <graphics/gfxbase.h>
  18. #include <clib/exec_protos.h>
  19. #include <clib/intuition_protos.h>
  20. #include <clib/gadtools_protos.h>
  21. #include <clib/graphics_protos.h>
  22. #include <clib/utility_protos.h>
  23. #include <clib/dos_protos.h>
  24. #include <clib/asl_protos.h>
  25. #include <clib/icon_protos.h>
  26. #include <string.h>
  27. #include <time.h>
  28. #include <proto/dos.h>
  29. #include <dos/dos.h>
  30. #include <pragmas/dos_pragmas.h>
  31. #include <pragmas/exec_pragmas.h>
  32. #include <pragmas/intuition_pragmas.h>
  33. #include <pragmas/gadtools_pragmas.h>
  34. #include <pragmas/graphics_pragmas.h>
  35. #include <pragmas/utility_pragmas.h>
  36. #include <pragmas/asl_pragmas.h>
  37. #include <pragmas/icon_pragmas.h>
  38.  
  39. #define GetString( g )      ((( struct StringInfo * )g->SpecialInfo )->Buffer  )
  40. #define GetNumber( g )      ((( struct StringInfo * )g->SpecialInfo )->LongInt )
  41.  
  42. #define GD_start                               0
  43. #define GD_tiles                               1
  44. #define GD_shuffle                             2
  45. #define GD_numbers                             3
  46. #define GD_mode                                4
  47.  
  48. #define GDX_start                              0
  49. #define GDX_tiles                              1
  50. #define GDX_shuffle                            2
  51. #define GDX_numbers                            3
  52. #define GDX_mode                               4
  53.  
  54. #define Project0_CNT 5
  55.  
  56.  
  57. #define DIR_UP       0
  58. #define DIR_DOWN     1
  59. #define DIR_LEFT     2
  60. #define DIR_RIGHT    3
  61. #define MAX_XY      16
  62. #define MODE_TILES   0
  63. #define MODE_GAP     1
  64. #define NUMTILES     5
  65. #define NUMSHUFFLES  7
  66. #define SAVE_AS         0
  67. #define SAVE_NAME       1
  68. #define SAVE_DEF_ENVARC 2
  69. #define SAVE_DEF_ENV    3
  70.  
  71. extern struct Screen        *Scr;
  72. extern UBYTE                 *PubScreenName;
  73. extern APTR                  VisualInfo;
  74. extern struct Window        *Project0Wnd;
  75. extern struct Menu          *Project0Menus;
  76. extern struct Gadget        *Project0GList;
  77. extern struct IntuiMessage   Project0Msg;
  78. extern struct Gadget        *Project0Gadgets[5];
  79. extern UWORD                 Project0Left;
  80. extern UWORD                 Project0Top;
  81. extern UWORD                 Project0Width;
  82. extern UWORD                 Project0Height;
  83. extern UBYTE                *Project0Wdt;
  84. extern struct TextAttr      *Font, Attr;
  85. extern UWORD                 FontX, FontY;
  86. extern UWORD                 OffX, OffY;
  87. extern struct GfxBase       *GfxBase;
  88. extern UBYTE                *tiles0Labels[];
  89. extern UBYTE                *shuffle0Labels[];
  90. extern UWORD                 Project0GTypes[];
  91. extern struct NewGadget      Project0NGad[];
  92. extern ULONG                 Project0GTags[];
  93. extern struct NewMenu        Project0NewMenu[];
  94.  
  95.  
  96. extern struct GfxBase       *GfxBase;
  97. extern struct IntuitionBase *IntuitionBase;
  98. extern struct Library       *GadToolsBase;
  99. extern struct Library       *AslBase;
  100. extern struct Library       *IconBase;
  101. extern __far ULONG            RangeSeed;
  102.  
  103. struct shu_data
  104.         {
  105.          struct
  106.                 {
  107.                  UWORD        x_res;
  108.                  UWORD        y_res;
  109.                 }             resolution[5];
  110.          struct
  111.                 {
  112.                  UWORD        dir;
  113.                  UWORD        opposite;
  114.                 }             dirs[4];
  115.          UWORD                shuffles[6];
  116.          UWORD                res;
  117.          UWORD                x_pos[MAX_XY];
  118.          UWORD                y_pos[MAX_XY];
  119.          UWORD                current_x;
  120.          UWORD                current_y;
  121.          UWORD                old_dir;
  122.          ULONG                width;
  123.          ULONG                height;
  124.          ULONG                shuffle;
  125.          struct Screen       *sc;
  126.          struct Window       *wd;
  127.          struct DrawInfo     *dri;
  128.          UWORD                numbers;
  129.          UWORD                mode;
  130.          WORD                 step_x;
  131.          WORD                 step_y;
  132.          WORD                 size_x;
  133.          WORD                 size_y;
  134.          UWORD                solved[MAX_XY][MAX_XY];
  135.          UWORD                current[MAX_XY][MAX_XY];
  136.          UWORD                cx;
  137.          UWORD                cy;
  138.          UWORD                 w;
  139.          UWORD                 h;
  140.          struct ColorMap      *oldcmap;
  141.          ULONG                moves;
  142.          ULONG                m_tiles;
  143.          ULONG                m_shuffles;
  144.          ULONG                writeicon;
  145.          UBYTE                f_dir[256];
  146.          UBYTE                f_file[256];                
  147.         };
  148.  
  149. union wbstart
  150.       {
  151.        char **args;
  152.        struct WBStartup *msg;
  153.       };
  154.  
  155. extern struct shu_data        info; 
  156. extern struct Border          b1,b2;
  157. extern WORD                   bp1[],bp2[];
  158.  
  159.  
  160. extern int startClicked( void );
  161. extern int tilesClicked( void );
  162. extern int shuffleClicked( void );
  163. extern int numbersClicked( void );
  164. extern int modeClicked( void );
  165. extern int Project0loadconfig( void );
  166. extern int Project0saveconfig( void );
  167. extern int Project0saveasconfig( void );
  168. extern int Project0savedefault( void );
  169. extern int Project0about( void );
  170. extern int Project0quit( void );
  171. extern int Project0Icon( void );
  172.  
  173.  
  174. extern int SetupScreen( void );
  175. extern void CloseDownScreen( void );
  176. extern int HandleProject0IDCMP( void );
  177. extern int Project0CloseWindow( void );
  178. extern int OpenProject0Window( void );
  179. extern void CloseProject0Window( void );
  180. extern int Project0VanillaKey( void );
  181.  
  182. ULONG __stdargs FastRand( unsigned long seed );
  183. UWORD __stdargs RangeRand( unsigned long maxValue );      
  184. void  __stdargs main(int argc, union wbstart argv);
  185. extern int  MakeScWd(void);
  186. extern void  FreeScWd(void);
  187. extern void  CopyWBGfx(void);
  188. extern struct Screen  *CloneScreen(struct Screen *scr);
  189. extern struct Window  *MakeWd(struct Screen *scr);
  190. extern void Play(void);
  191. extern void SetUpValues(void);
  192. extern void SliceBoard(void);   
  193. extern void shuffle(UWORD howmuch);
  194. extern void MoveRect(UWORD to);
  195. extern int  _solved(void);
  196. extern void swap(UWORD to);
  197. void DisplayReq(struct IntuiText *text);
  198. extern void save_config(ULONG mode);
  199. extern void load_config(UBYTE *name);
  200.