00001
00002
00003
00004 #ifdef __cplusplus
00005 extern "C" {
00006 #endif
00007
00008 #define MER_NONE 0
00009 #define MER_OUTOFMEM 1
00010 #define MER_MAPLOADERROR 2
00011 #define MER_NOOPEN 3
00012 #define MER_NOSCREEN 4
00013 #define MER_NOACCELERATION 5
00014 #define MER_CVBFAILED 6
00015
00016 #define AN_END -1
00017 #define AN_NONE 0
00018 #define AN_LOOPF 1
00019 #define AN_LOOPR 2
00020 #define AN_ONCE 3
00021 #define AN_ONCEH 4
00022 #define AN_PPFF 5
00023 #define AN_PPRR 6
00024 #define AN_PPRF 7
00025 #define AN_PPFR 8
00026 #define AN_ONCES 9
00027
00028
00029 #define MapDraw8BG MapDrawBG
00030 #define MapDraw8BGT MapDrawBGT
00031 #define MapDraw8FG MapDrawFG
00032 #define MapDraw15BG MapDrawBG
00033 #define MapDraw15BGT MapDrawBGT
00034 #define MapDraw15FG MapDrawFG
00035 #define MapDraw16BG MapDrawBG
00036 #define MapDraw16BGT MapDrawBGT
00037 #define MapDraw16FG MapDrawFG
00038 #define MapDraw32BG MapDrawBG
00039 #define MapDraw32BGT MapDrawBGT
00040 #define MapDraw32FG MapDrawFG
00041
00042 typedef struct {
00043 long int bgoff, fgoff;
00044 long int fgoff2, fgoff3;
00045 unsigned long int user1, user2;
00046 unsigned short int user3, user4;
00047 unsigned char user5, user6, user7;
00048 unsigned char tl : 1;
00049 unsigned char tr : 1;
00050 unsigned char bl : 1;
00051 unsigned char br : 1;
00052 unsigned char trigger : 1;
00053 unsigned char unused1 : 1;
00054 unsigned char unused2 : 1;
00055 unsigned char unused3 : 1;
00056 } BLKSTR;
00057
00058 typedef struct {
00059 signed char antype;
00060 signed char andelay;
00061 signed char ancount;
00062 signed char anuser;
00063 long int ancuroff;
00064 long int anstartoff;
00065 long int anendoff;
00066 } ANISTR;
00067
00068
00069
00070 extern int maperror;
00071 extern short int mapwidth, mapheight, mapblockwidth, mapblockheight, mapdepth;
00072 extern short int mapblockstrsize, mapnumblockstr, mapnumblockgfx;
00073 extern short int * mappt;
00074 extern short int ** maparraypt;
00075 extern char * mapcmappt;
00076 extern char * mapblockgfxpt;
00077 extern char * mapblockstrpt;
00078 extern ANISTR * mapanimstrpt;
00079 extern ANISTR * mapanimstrendpt;
00080 extern RGB * mapcmap6bit;
00081 extern short int ** mapmappt;
00082 extern short int *** mapmaparraypt;
00083 extern BITMAP ** abmTiles;
00084 extern int mapblocksinvidmem, mapblocksinsysmem;
00085 extern int mapblockgapx, mapblockgapy;
00086 extern int mapblockstaggerx, mapblockstaggery;
00087
00088
00089 void Mapconv8to6pal (unsigned char *);
00090 void MapFreeMem (void);
00091 void MapSetPal8 (void);
00092 void MapCorrectColours (void);
00093 int MapRelocate (void);
00094 int MapLoad (char *);
00095 int MapLoadVRAM (char *);
00096 int MapLoadABM (char *);
00097 int MapDecode (unsigned char *);
00098 int MapDecodeVRAM (unsigned char *);
00099 int MapDecodeABM (unsigned char *);
00100 int MapLoadMAR (char *, int);
00101 int MapDecodeMAR (unsigned char *, int);
00102 int MapGetBlockID (int, int);
00103 int MapGenerateYLookup (void);
00104 int MapChangeLayer (int);
00105 int MapGetXOffset (int, int);
00106 int MapGetYOffset (int, int);
00107 BLKSTR * MapGetBlockInPixels (int, int);
00108 BLKSTR * MapGetBlock (int, int);
00109 void MapSetBlockInPixels (int, int, int);
00110 void MapSetBlock (int, int, int);
00111 void MapRestore (void);
00112 void MapInitAnims (void);
00113 void MapUpdateAnims (void);
00114 void MapDrawBG (BITMAP *, int, int, int, int, int, int);
00115 void MapDrawBGT (BITMAP *, int, int, int, int, int, int);
00116 void MapDrawFG (BITMAP *, int, int, int, int, int, int, int);
00117 void MapDrawRow (BITMAP *, int, int, int, int, int, int, int, void (*cellcall) (int cx, int cy, int dx, int dy));
00118 BITMAP * MapMakeParallaxBitmap (BITMAP *, int);
00119 void MapDrawParallax (BITMAP *, BITMAP *, int, int, int, int, int, int);
00120
00121 #ifdef __cplusplus
00122 }
00123 #endif