/* ------------------------------------------------------------------------- */
/* ----- Let 'em Fly!   V 1.2 ----------- (c) 1991-93 by Oliver Scheel ----- */
/* ------------------------------------------------------------------------- */
/* ----- Module: ltmf_def.h   Definitions ---------------------------------- */
/* ------------------------------------------------------------------------- */

/* #define LIGHT */

#define ETV_CRITIC

#define ENGLISH

/* ------------------------------------------------------------------------- */

void memwcpy(void *dest, void *src, size_t len);

#define memcpy	memwcpy

#define isspace(ch)	(ch == ' ')

#ifndef sgn
#define sgn(x)	((x) == 0 ? 0 : ((x) > 0 ? 1 : -1))
#endif

/* #define AESVersion()	global[0] */
#define AESVersion()	aes_version
extern	int	aes_version;

/* ------------------------------------------------------------------------- */

				/* --- ob_type ROOT ---	*/
#define MAGIC	0x8900		/* magic byte  *137*	*/
#define GLOBOFF	0x7100		/* Let 'em Fly! OFF	*/
				/* --- ob_flags ROOT -- */
#define NOFLY	0x1000		/* flying OFF		*/
#define SNAPIN	0x2000		/* snap in mode		*/
#define FRCCENT	0x4000		/* save position OFF	*/
#define CENTER	0x8000		/* dial already centerd	*/

				/* --- ob_type OBJ ---- */
#define TKNEXT	0x1000		/* take next text	*/
#define SPECIAL	0x2000		/* special key (UNDO..)	*/
#define FLYER	0x4000		/* fly button		*/
#define EXAPPL	0x8000		/* EXAPPLBLK structure	*/
#define FLYALL	0x0100		/* everyth. is fly-able	*/
#define FLYNOCL	0x0200		/* never hide fly-button*/
				/* --- ob_flags OBJ --- */
/*
#define EXAPPL	0x0200		/* EXAPPLBLK structure	*/
#define EXEDIT	0x0400		/* extended editor OFF	*/
*/
#define KEYDIAL	0x0800		/* key dials OFF	*/
#define NODUPE	0x1000		/* supresses key-dupes	*/
/*
#define FLYER	0x1000		/* fly button		*/
#define FLYALL	0x2000		/* everthing is flyable	*/
*/
/* ------------------------------------------------------------------------- */

#define MEMCUT	2048l

#define	MAXDIAL	6		/* number of possible dials	*/
#define MAXALPH	36		/* number of alpha keys		*/
#define MAXFKEY	10		/* number of function keys	*/
#define MAXKEYS	50		/* number of possible keys	*/
#define MAXUNDO	10		/* number of possible undo-aliases*/
#define MAXHELP	2		/* number of possible help-aliases*/
#define MAXOK	5		/* number of ok's		*/
#define MAXALCH	256		/* max len of alert string	*/

#ifdef ETV_CRITIC
	#define MAXICON	7	/* number of alert icons	*/
#else
	#define MAXICON	4
#endif

#define MAXCHAR 32		/* max len of string check	*/

#define MAXHIST	20		/* number of history entries	*/
#define HISTLEN	40		/* character length of history	*/

#define FMD_FORWARD	0x00
#define FMD_BACKWARD	0x01
#define FMD_TURN	0x02

#define DSAVE		0
#define DRESTORE	1

/* ------------------------------------------------------------------------- */

typedef struct
{
/*	OBJECT	*tree;
*/	MFDB	dial,
		mem;
	VRECT	dpos,
		mpos;
	void	*flybuf;
	long	msize;
} DIALSAV;

typedef struct
{
	int	obj,
		kobj,
		chpos,
		tlen;
} KBDTAB;

typedef struct
{
	char	*text;
	int	len;
} ALIAS;

typedef struct
{
	long	id,
		*ptr;
} COOKJAR;

typedef struct
{
	long	cookie;
	long	product;
	int	version;
	int	x, y, w, h;
} VSCRINF;

/* ------------------------------------------------------------------------- */

extern	LTMFLY	letemfly;

/* ------------------------------------------------------------------------- */
