stoneage8.5/石器时代8.5客户端最新源代码/石器源码/systeminc/sprmgr.h

100 lines
2.7 KiB
C
Raw Normal View History

2020-06-23 15:27:59 +08:00
/************************/
/* sprmgr.h */
/************************/
#ifndef _SPRMGR_H_
#define _SPRMGR_H_
#include <ddraw.h>
#ifndef _READ16BITBMP
//<2F>غ<EFBFBD><D8BA><EFBFBD> _READ16BITBMPVARIABLES <20>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define OLD_GRAPHICS_START 1000000 // ԭ<><D4AD>realbinͼ<6E><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define MAX_GRAPHICS OLD_GRAPHICS_START // <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>// ????<3F><>?
#else
#define MAX_GRAPHICS_24 50000 // <20>߲<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
#define OLD_GRAPHICS_START 1000000 // ԭ<><D4AD>realbinͼ<6E><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define MAX_GRAPHICS OLD_GRAPHICS_START + MAX_GRAPHICS_24 // <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>// ????<3F><>?
#define MAX_GRAPHICS_ALPHA 50000 // <20>߲<EFBFBD>ͼalphaͨ<61><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
#endif
#ifdef _READ16BITBMPVARIABLES //<2F><> _READ16BITBMP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
#define MAX_GRAPHICS_24 50000 // <20>߲<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
#define OLD_GRAPHICS_START 500000 // ԭ<><D4AD>realbinͼ<6E><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define MAX_GRAPHICS OLD_GRAPHICS_START + MAX_GRAPHICS_24 // <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>// ??
#endif
#define DEF_COLORKEY 0 //Ԥ<><D4A4>͸<EFBFBD><CDB8>ɫ// <20>a<EFBFBD><61><EFBFBD><EFBFBD>???<3F><><EFBFBD>k?
#define SURFACE_WIDTH 64 //<2F><>ͼ<EFBFBD>õ<EFBFBD>source face<63><65>//
#define SURFACE_HEIGHT 48 //<2F><>ͼ<EFBFBD>õ<EFBFBD>source face<63><65>//
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; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int palNo; //<2F><>ǰ<EFBFBD><C7B0>ɫ<EFBFBD><C9AB>
int sizeX; //<2F><><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD>
int sizeY; //<2F><><EFBFBD>Ƹ߶<C6B8>
BOOL colordepth; //ʹ<>õ<EFBFBD>ɫ<EFBFBD><C9AB>
#endif
#ifdef _READ16BITBMP
BYTE *lpAlphaData;
BOOL useAlpha;
#endif
#ifdef _NEW_COLOR_
BOOL useAlpha;
BYTE *lpAlphaData; //16λ<36>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>±<EFBFBD><C2B1><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endif
int bmpNo; //ͼ<>ı<EFBFBD><C4B1><EFBFBD>,-1 <20><><EFBFBD><EFBFBD>source faceΪ<65>յ<EFBFBD>// ??????<3F>k?
UINT date; //<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>source faceʹ<65>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>
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