#include <dos.h>
typedef unsigned char far * block;


extern unsigned char currentcolor;
extern block abuf;
#define true 1;
#define down 1
#define left 2
#define right 3
#define vertical 0
#define horizontal 1
extern int but,mx,my;

typedef struct {
	unsigned char r,g,b;
	} color;
//extern color palette[256];

extern void vga256(void);
extern void wsetcolor(int);
extern void wputpixel(int,int);
extern int wgetpixel(int,int);
extern void wsetpalette(int,int,color *);
extern void wsetrgb(int,int,int,int,color *);
extern void wcolrotate(int,int,int,color[255]);
extern void wline(int,int,int,int);
extern void wrectangle(int,int,int,int);
extern void wbar(int,int,int,int);
extern void wcircle(int,int,int);
extern void wfill_circle(int,int,int);
extern void wbutt(int,int,int,int);

extern block wnewblock(int,int,int,int);
extern void wflipblock(block ,int);
extern void wputblock(int,int,block ,int);
extern void wfreeblock(block );
extern void wcopyscreen(int,int,int,int,block ,int,int,block );
extern void wresize(int,int,int,int,block);


extern void wcls(int);
extern void wsetscreen(block ),wnormscreen(void);
extern void wfade(block ,int *,int);
extern void wfade_out(int,int,int,color[255]);
extern void wfade_in(int,int,int,color[255]);
extern int wgetblockwidth(block );
extern int wgetblockheight(block );
extern void wretrace(void);


// mouse functions
extern void minit(void),mon(void),moff(void),mread(void),noclick(void);
extern void msetbounds(int, int, int, int);
extern void mouseshape(int,int,void far *);
extern void msetspeed(int,int);			
extern void msetthreshhold(int);		 


extern void wclip(int,int,int,int);

extern int wsaveblock(char *,block );
extern block wloadblock(char *);
extern void wloadpalette(char[12],color *);
extern void wsavepalette(char[12],color *);

extern int wsavepak(char *,block );
extern block wloadpak(char *);
extern int wloadpcx(char *,color *);

// text functions
extern void wtexttransparent(int);
extern void wtextgrid(int);
extern void wtextbackground(unsigned char);
extern void wtextcolor(unsigned char);
extern void wouttextxy(int,int,char *);
extern int  wstring (int, int, char *, char *, int);
extern void wsetcursor(int,int);
extern void wflashcursor(void);
extern int curspeed;

// fill routines
extern void  wregionfill(int,int);			// fills an area

int wloadsprites(color *,char *,block[101]);
void wfreesprites(block[101]);
extern int spritemade[101];