typedef struct palette
	{
	LONG R;
	LONG G;
	LONG B;
	}PALETTE;

typedef struct palrgb
	{
	UBYTE R;
	UBYTE G;
	UBYTE B;
	}PALRGB;

typedef struct TextP
	{
	LONG PosX;
	LONG PosY;
	APTR *BitMap;
	LONG SizeX;
	LONG SizeY;
	}TEXTP;


#define TEXT_WIDTH 81
#define TEXTCOLOR 255
#define RCOLOR 13 //128

VOID ScaleUP(UBYTE *Src,UBYTE *Dest,ULONG *Pal,BOOL Fish);
VOID TileUP(UBYTE *Src,UBYTE *Dest,LONG TNumber);
VOID PutTile(UBYTE *Src,UBYTE *Dest,LONG PosX,LONG PosY,LONG Size);

extern __asm VOID MemSet(REGISTER __a0 VOID *mem,REGISTER __d0 UBYTE value,
                              REGISTER __d1 ULONG size);
extern __asm VOID MemCpy(REGISTER __a0 VOID *src,REGISTER __a1 VOID *dest,
                              REGISTER __d0 ULONG size);
extern __asm VOID ScaleChunky(REGISTER __a0 UBYTE *bm,REGISTER __a1 UBYTE *dest,
                              REGISTER __d0 ULONG w,REGISTER __d1 ULONG h,
                              REGISTER __d2 ULONG nw,REGISTER __d3 ULONG nh);

VOID PrepareRGB32Pal(PALRGB *Src,ULONG *Palette);
extern __asm VOID ClearBack(REGISTER __a0 UBYTE *Chunky,REGISTER __a1 UBYTE *Back);

extern __asm LONG WaitMouse(VOID);
VOID PrepareChunky(ULONG xsize,ULONG ysize,UBYTE *Plane,UBYTE *Chunky);
extern __asm VOID PutText(REGISTER __a0 UBYTE *text,REGISTER __a1 UBYTE *Chunky,
                          REGISTER __d0 ULONG posy,REGISTER __d1 ULONG sizey);

VOID DoRamka(UBYTE *Src,LONG sizex,LONG sizey);
extern __asm ULONG FindBest(REGISTER __d0 LONG r, REGISTER __d1 LONG g,
                            REGISTER __d2 LONG b, REGISTER __a0 PALETTE *Palette);
VOID Blur(UBYTE *Src, LONG width, LONG height,PALETTE *Palette);
VOID PrepareRGBPal(PALETTE *Dest,ULONG *Palette);
VOID PrepareMULUTab(ULONG *MulTab);

extern __asm VOID PutBulb(REGISTER __a0 UBYTE *bulb,REGISTER __a1 UBYTE *Chunky,
                          REGISTER __d0 ULONG posx,REGISTER __d1 ULONG posy);
#ifdef __DISK_SHADE__
VOID MakeShadeTable(UBYTE *ShadeTable,ULONG *Pal,LONG Bright,char *name);
#else
VOID MakeShadeTable(UBYTE *ShadeTable,ULONG *Pal,LONG Bright);
#endif

VOID Progress(VOID);
VOID PrepareColorTexture(UBYTE *Dest);

VOID CreatePhong(UBYTE *Phong);
