100 lines
2.8 KiB
C
100 lines
2.8 KiB
C
/************************/
|
|
/* sprmgr.h */
|
|
/************************/
|
|
#ifndef _SPRMGR_H_
|
|
#define _SPRMGR_H_
|
|
#include <ddraw.h>
|
|
#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
|