#include "siteswaprs.h"

/* Preferences */

extern Boolean pref_Sound;		/* Sound on or off	*/
extern Boolean pref_Pause;		/* Pause on or off	*/
extern Boolean pref_Hold;		/* Hold balls of height 2 */
extern Boolean pref_BackBuff;	/* Use backbuffer for rendering */
extern Boolean pref_Draw;		/* Draw path of balls by not erasing */

/* other vars */

extern int jugProp;
extern CharPtr wchItm;
extern char wchItmString[];
extern int *pattern;
extern int *balls;
double juggle_step;

/* Memory allocation Macros */

#define ALLOC(type, num)	(type *) MemPtrNew((unsigned)((num)*sizeof(type)))
#define REALLOC(var, type, num)	(type *) MemPtrNew((char *) var, (unsigned) ((num)*sizeof(type)))
#define DEALLOC(var)		MemPtrFree(var)


/* Debug Stuff */

char  debugstring1[20], debugstring2[20];
#define abort(msg)	ErrDisplayFileLineMsg(__FILE__, __LINE__, msg)
int debug_global;

/* bitmap offsets */

typedef struct bitmsize {
  int xball;
  int yball;
  int xProp[7];
  int yProp[7];
} BitMapSize;


/* About and Help text */

#define About_text	"Siteswap animator Version 1.2b1\n\nLicensed under GPL.\n"\
                    "This version was Released on 01/13/02 by Nathan Peterson\n\n"\
                    "The newest version can be downloaded from "\
                    "http://www.siteswap.org/palm\n"\
					"Contact me, Nathan Peterson (nathan@juggler.net), for "\
					"questions, comments, or suggestions.\n\nThe animation "\
					"code is based off of Glenn Hutchings source code for "\
					"Juggle v1.0 which was ported to the palmOS by "\
					"Stuart Macmillan.  The siteswap generation code was "\
					"ported from Jack Boyce's J2 siteswap generator.  See "\
					"readme.txt for more information about this program.\n\nSee "\
					"http://www.siteswap.org/ for information about siteswap notation."

#define Help_text	"The following is a list of the "\
					"application buttons in order and "\
					"what they are used for:\n\n"\
					"SOUND: turn sound on\n"\
					"DRAW: draw trails\n"\
					"PAUSE: pause animation\n"\
					"HOLD: hold balls of height 2\n"\
					"PROPS: change objects juggled\n"\
					"RANDOM: generate a random\n"\
					"\t           siteswap\n"\
					"INPUT: input your own siteswap\n"\
					"SELECT: select a siteswap from a\n"\
					"\t       list\n"\
					"GENERATE: generate lists of\n"\
					"                      siteswaps with\n"\
					"                      specified criterion"
