1 /*
2  * Seven Kingdoms: Ancient Adversaries
3  *
4  * Copyright 1997,1998 Enlight Software Ltd.
5  *
6  * This program is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
18  *
19  */
20 
21 //Filename    : VGAFUN.H
22 //Description : Header file for image manipulation functions
23 
24 #ifndef __VGAFUN_H
25 #define __VGAFUN_H
26 
27 #include <asmfun.h>
28 
29 //------- Declare external functions ---------//
30 
31 extern "C"
32 {
33 	// not used : void IMGcall IMGinit(int,int);
34 	void IMGcall IMGbar(char*,int pitch,int,int,int,int,int);
35 	void IMGcall IMGread(char*,int pitch,int,int,int,int,char*);
36 	void IMGcall IMGblack32x32(char*,int pitch,int,int);
37 
38 	void IMGcall IMGblt(char*,int pitch,int,int,char*);
39 	void IMGcall IMGblt2(char*,int pitch,int,int,int,int,char*);
40 	void IMGcall IMGblt32x32(char*,int pitch,int,int,char*);
41 	void IMGcall IMGbltDW(char*,int pitch,int,int,char*);
42 	void IMGcall IMGbltTrans(char*,int pitch,int,int,char*);
43 	void IMGcall IMGbltTransHMirror(char*,int pitch,int,int,char*);
44 	void IMGcall IMGbltTransVMirror(char*,int pitch,int,int,char*);
45 	void IMGcall IMGbltTransHVMirror(char*,int pitch,int,int,char*);
46 	void IMGcall IMGbltTransRemap(char*,int pitch,int,int,char*,char*);
47 	void IMGcall IMGbltArea(char* imageBuf,int pitch, int desX, int desY, char* bitmapBuf, int srcX1, int srcY1, int srcX2, int srcY2);
48 	void IMGcall IMGbltAreaTrans(char* imageBuf, int pitch, int desX, int desY, char* bitmapBuf, int srcX1, int srcY1, int srcX2, int srcY2);
49 	void IMGcall IMGbltAreaTransHMirror(char* imageBuf, int pitch, int desX, int desY, char* bitmapBuf, int srcX1, int srcY1, int srcX2, int srcY2);
50 
51 	void IMGcall IMGbltTransDecompressHMirror(char* imageBuf, int pitch, int desX, int desY, char* bitmapBuf);
52 	void IMGcall IMGbltAreaTransDecompressHMirror(char* imageBuf, int pitch, int desX, int desY, char* bitmapBuf, int srcX1, int srcY1, int srcX2, int srcY2);
53 
54 	void IMGcall IMGremapDecompress(char* desPtr, char* srcPtr, char* colorTable);
55 	void IMGcall IMGbltTransDecompress(char* imageBuf, int pitch, int desX, int desY, char* bitmapBuf);
56 	void IMGcall IMGbltTransRemapDecompress(char* imageBuf, int pitch, int desX, int desY, char* bitmapBuf, char* colorTable);
57 	void IMGcall IMGbltTransRemapDecompressHMirror(char* imageBuf, int pitch, int desX, int desY, char* bitmapBuf, char* colorTable);
58 	void IMGcall IMGbltAreaTransDecompress(char* imageBuf, int pitch, int desX, int desY, char* bitmapBuf, int srcX1, int srcY1, int srcX2, int srcY2);
59 	void IMGcall IMGbltAreaTransRemapDecompress(char* imageBuf, int pitch, int desX, int desY, char* bitmapBuf, int srcX1, int srcY1, int srcX2, int srcY2, char* colorTable);
60 	void IMGcall IMGbltAreaTransRemapDecompressHMirror(char* imageBuf, int pitch, int desX, int desY, char* bitmapBuf, int srcX1, int srcY1, int srcX2, int srcY2, char* colorTable);
61 
62 	void IMGcall IMGjoinTrans(char* imageBuf, int imgPitch, char* backBuf, int backPitch, int x, int y, char* bitmapPtr);
63 	void IMGcall IMGcopy(char* imageBuf, int imgPitch, char* backBuf, int backPitch, int x1, int y1, int x2, int y2);
64 	void IMGcall IMGcopyRemap(char*, int imgPitch,char*, int backPitch,int,int,int,int,unsigned char*);
65 
66 	// used in wall
67 	void IMGcall IMGbltRemap(char* imageBuf, int pitch, int desX, int desY, char* bitmapBuf, char* colorTable);
68 	void IMGcall IMGbltAreaTransRemap(char* imageBuf, int pitch, int desX, int desY, char* bitmapBuf, int srcX1, int srcY1, int srcX2, int srcY2, char* colorTable);
69 	void IMGcall IMGbltAreaRemap(char* imageBuf, int pitch, int desX, int desY, char* bitmapBuf, int srcX1, int srcY1, int srcX2, int srcY2, char* colorTable);
70 
71 	void IMGcall IMGputBitFont(char*,int pitch,int,int,int,int,int,int,char*,int,int);
72 	void IMGcall IMGline(char*,int pitch,int w, int h, int,int,int,int,int);
73 	void IMGcall IMGxor(char*,int pitch,int,int,int,int);
74 
75 	void IMGcall IMGdarken(char*,int pitch,int,int,int,int,int);
76 	void IMGcall IMGtile(char*,int pitch,int,int,int,int,char*);
77 	void IMGcall IMGpixel32x32(char*,int pitch,int,int,int);
78 
79 	void IMGcall IMGsnow32x32(char*,int pitch,int,int,int,int);
80 	void IMGcall IMGexploreMask32x32( char *,int pitch, int, int, char *, int, int, int);
81 	void IMGcall IMGexploreRemap32x32( char *,int pitch, int, int, char *, char **,int, int, int);
82 	void IMGcall IMGfogRemap32x32( char *,int pitch, int, int, char**, unsigned char*, unsigned char*, unsigned char*);
83 
84 	// ----- colour remapping functions ------//
85 	void IMGcall IMGremapBar(char*,int pitch,int,int,int,int,unsigned char*);
86 	void IMGcall IMGremap(char*,int pitch,int,int,char*,unsigned char**);
87 	void IMGcall IMGremapHMirror(char*,int pitch,int,int,char*,unsigned char**);
88 	void IMGcall IMGremapArea(char*,int pitch,int,int,char*,unsigned char**,int,int,int,int);
89 	void IMGcall IMGremapAreaHMirror(char*,int pitch,int,int,char*,unsigned char**,int,int,int,int);
90 };
91 
92 //-------------------------------------------//
93 
94 #endif
95 
96