/************************/ /* sprmgr.h */ /************************/ #ifndef _SPRMGR_H_ #define _SPRMGR_H_ #include #ifndef _READ16BITBMP //关后用 _READ16BITBMPVARIABLES 的参数来代替 #define OLD_GRAPHICS_START 1000000 // 原本realbin图的最大量 #define MAX_GRAPHICS OLD_GRAPHICS_START // 最大图量// ????? #else #define MAX_GRAPHICS_24 50000 // 高彩图最大图量 #define OLD_GRAPHICS_START 1000000 // 原本realbin图的最大量 #define MAX_GRAPHICS OLD_GRAPHICS_START + MAX_GRAPHICS_24 // 最大图量// ????? #define MAX_GRAPHICS_ALPHA 50000 // 高彩图alpha通道最大图量 #endif #ifdef _READ16BITBMPVARIABLES //关 _READ16BITBMP 后还须要的参数 #define MAX_GRAPHICS_24 50000 // 高彩图最大图量 #define OLD_GRAPHICS_START 500000 // 原本realbin图的最大量 #define MAX_GRAPHICS OLD_GRAPHICS_START + MAX_GRAPHICS_24 // 最大图量// ?? #endif #define DEF_COLORKEY 0 //预设透明色// ???? #define SURFACE_WIDTH 64 //存图用的source face宽// #define SURFACE_HEIGHT 48 //存图用的source face高// extern LPDIRECTDRAWSURFACE lpBattleSurface; #ifdef _READ16BITBMP extern LPDIRECTDRAWSURFACE lpBattleSurfaceSys; #endif extern int SurfaceDispCnt; extern int SurfaceSizeX; extern int SurfaceSizeY; extern UINT SurfaceDate; struct surfaceInfo{ LPDIRECTDRAWSURFACE lpSurface; #ifdef _CACHE_SURFACE_ char *lpCacheData; //缓冲数据 int palNo; //当前调色板 int sizeX; //绘制宽度 int sizeY; //绘制高度 BOOL colordepth; //使用调色板 #endif #ifdef _READ16BITBMP BYTE *lpAlphaData; BOOL useAlpha; #endif #ifdef _NEW_COLOR_ BOOL useAlpha; BYTE *lpAlphaData; //16位分辨率下保存半透明像素 #endif int bmpNo; //图的编号,-1 代表source face为空的// ??????? UINT date; //记录这个source face使用的日期 short offsetX; short offsetY; surfaceInfo *pNext; }; typedef struct surfaceInfo SURFACE_INFO; typedef struct{ SURFACE_INFO *lpSurfaceInfo; #ifdef _READ16BITBMP SURFACE_INFO *lpSurfaceInfoSys; #endif short width,height; int AlphaFlg; }SPRITE_INFO; extern SPRITE_INFO SpriteInfo[]; extern SURFACE_INFO SurfaceInfo[]; #ifdef _READ16BITBMP extern SURFACE_INFO SurfaceInfoSys[]; #endif extern int SurfaceCnt; extern int VramSurfaceCnt; extern int SysramSurfaceCnt; extern int SurfaceSearchPoint; #ifdef _READ16BITBMP #ifdef _STONDEBUG_ extern unsigned int iTotalUseTime; extern unsigned int iTotalProcTime; extern unsigned int iTotalRunCount; extern LARGE_INTEGER tf; #endif #endif #ifdef _STONDEBUG_ extern int SurfaceUseCnt; #endif BOOL InitOffScreenSurface( void ); void InitSurfaceInfo( void ); void InitSpriteInfo( void ); BOOL LoadBmp( int bmpNo ); #endif