#ifndef CHUNKYPPC_PROTOS_H #define CHUNKYPPC_PROTOS_H #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif struct Soff { int x; int y; }; struct Buffers { UBYTE *address; UBYTE *mask; }; #define BIT16 1 #define BIT16_SWAP 2 #define BIT16_ROT 4 #define BIT16_SWAP_ROT 8 #define BIT24 16 #define BIT24_ROT 32 #define BIT32 64 #define BIT32_SWAP 128 #define BIT32_ROT 256 #define BIT32_SWAP_ROT 512 #define BIT32_ROT_REVERSE 1024 #define BIT32_SWAP_ROT_REVERSE 2048 #define BIT8 4096 struct Mode_Screen { struct Screen *video_screen; struct Window *video_window; int bpr; int wb_int; int pip_int; int dbuf_int; int oldstyle_int; char pubscreenname[512]; int mode; int SCREENWIDTH; int SCREENHEIGHT; int MAXWIDTH; int MAXHEIGHT; int MINDEPTH; int MAXDEPTH; int format; int video_depth; UWORD *emptypointer; struct BitMap *video_tmp_bm; int video_is_native_mode; int video_is_cyber_mode; unsigned char *screen; int video_oscan_height; int bufnum; struct RastPort *video_rastport; struct BitMap *bitmapa; struct BitMap *bitmapb; struct BitMap *bitmapc; struct BitMap *thebitmap; struct RastPort *video_temprp; struct ScreenModeRequester *video_smr; int ham_int; UBYTE *wbcolors; UBYTE *transtable; unsigned long *WBColorTable; unsigned long *ColorTable; int pal_changed; int pen_obtained; unsigned char *screenb; unsigned char *screenc; int numbuffers; int rtgm_int; struct ScreenBuffer *Buf1; struct ScreenBuffer *Buf2; struct ScreenBuffer *Buf3; void * (*algo)(struct Mode_Screen *ms,unsigned char *dest,unsigned char *src, int srcformat,void *(*hook68k)(unsigned char *data),unsigned char *data); void (*Internal1)(void); void (*Internal2)(void); int onlyptr; int cgxlike; }; struct Mode_Screen *OpenGraphics(char *Title, struct Mode_Screen *ms,int override); void CloseGraphics(struct Mode_Screen *ms, int shutdownlibs); void LoadColors(struct Mode_Screen *ms, ULONG *Table); void DoubleBuffer(struct Mode_Screen *ms); int ChunkyInit68k(struct Mode_Screen *ms, int srcformat); void ChunkyNoffFast(UBYTE *, UBYTE *, int, int, int); void ChunkyNoffFastest(UBYTE *, UBYTE *, int, int, int); void ChunkyNoffNormal(UBYTE *, UBYTE *, int, int, int); void ChunkyFast(UBYTE *, UBYTE *, int, int, int, int, int); void ChunkyFastest(UBYTE *, UBYTE *, int, int, int, int, int); void ChunkyNormal(UBYTE *, UBYTE *, int, int, int, int, int); void ChunkyFastFull(UBYTE *, UBYTE *, struct Soff *, struct Soff *, int, struct Soff *, int); void ChunkyFastestFull(UBYTE *, UBYTE *, struct Soff *, struct Soff *, int, struct Soff *, int); void ChunkyNormalFull(UBYTE *, UBYTE *, struct Soff *, struct Soff *, int, struct Soff *, int); void c2p_1(UBYTE *, struct BitMap *, int, int); void c2p_2(UBYTE *, UBYTE *, UBYTE *, int); void c2p_3(void *, void *, int , int , struct Soff * , int , int); void c2p_4(void *, UBYTE *, UBYTE *, struct Soff *, struct Soff *, struct Soff *); void ChunkyNoffFastHT(UBYTE *,UBYTE *,int,int,int,int); void ChunkyNoffFastestHT(UBYTE *,UBYTE *,int,int,int,int); void ChunkyNoffNormalHT(UBYTE *,UBYTE *,int,int,int,int); void ChunkyFastHT(UBYTE *,UBYTE *,struct Soff *,int,int,int,int); void ChunkyFastestHT(UBYTE *,UBYTE *,struct Soff *,int,int,int,int); void ChunkyNormalHT(UBYTE *,UBYTE *,struct Soff *,int,int,int,int); void ChunkyFastFullHT(UBYTE *,UBYTE *,struct Soff *,struct Soff *,struct Soff *,struct Soff *,int); void ChunkyFastestFullHT(UBYTE *,UBYTE *,struct Soff *,struct Soff *,struct Soff *, struct Soff *, int); void ChunkyNormalFullHT(UBYTE *,UBYTE *,struct Soff *,struct Soff *,struct Soff *,struct Soff *, int); void ChunkyNoffMask(struct Buffers *,UBYTE *,int,int,int,int); void ChunkyMask(struct Buffers *,UBYTE *,struct Soff *,int,int,int,int); void ChunkyMaskFull(struct Buffers *,UBYTE *,struct Soff *, struct Soff *,struct Soff *,struct Soff *, int); void c2p_HI(UBYTE *, int, UBYTE *, UBYTE *, UBYTE *, UBYTE *, UBYTE *); void ham_c2p(unsigned char *chunky, unsigned char *planar, int width, int height, int depth, int qual, int ham_width); int ChunkyInit(struct Mode_Screen *, int); #ifdef __cplusplus }; #endif #endif