⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cdraw.h

📁 成熟的RPG引擎,Flysky发布. 斜视角引擎.
💻 H
字号:
// |//////////////////////////////梦幻水晶游戏程序 V1.0///////////////////////////////|
// ||     ;;;;;;     ;;         ;;    ;;           ;,;;        ;;    <;     ;;    ;; ||
// ||     ;.         ;;          ;,  ;;           ;,           ,;  ;;        ;,  ;;  ||
// ||     .;;;;;     ,,           ; ;.             ;;          ;.;;           ; ;.   ||
// ||     ;;         ;;            ;.                ;;        .;;;            ;.    ||
// ||     ..         ,,            ,;                ,.        ;;  ;;          ,;    ||
// ||     ;,         ;;;;;;        .,             ;;;,        ;;    <;         .,    ||
// |//////////////////////////////////////////////////////////////////////////////////|
//庞大的DDraw 封装
//感谢 SoftBoy 云风 鹏博 微软
//By Flysky
#pragma once
#define DDS_NUM 8
//8个表面
#define DDS_Primary 0 //主表面
#define DDS_Buffer 1 //后台表面
#define DDS_Back 2 //背景表面
#define DDS_Mouse 3 //鼠标表面
#define DDS_Map 4 //地图表面
#define DDS_Alpha 5 //Alpha表面
#define DDS_Temp 6 //临时表面
#define DDS_Temp1 7 //临时表面

extern LPDIRECTDRAW7 lpDD;
extern LPDIRECTDRAWSURFACE7 lpDDS[DDS_NUM];
extern DDSURFACEDESC2 ddsd;

extern WORD *GraphBuffer;		// 绘图缓冲区
extern int GraphPitch;			// 缓冲区跨度
extern int GraphWidth;			//页面宽度
extern int GraphHeight;		//页面高度

extern bool Is555;  //是否为555格式

#define SrcKey DDBLTFAST_SRCCOLORKEY | DDBLTFAST_WAIT //有颜色键
#define NoKey DDBLTFAST_NOCOLORKEY | DDBLTFAST_WAIT //无颜色键

#define  RGBto565(r, g, b)   (((WORD)r<<8)&0xf800)|(((WORD)g<<3)&0x07e0)|((WORD)b>>3) //转换为565
#define  RGBto555(r, g, b)   (((WORD)r<<7)&0x7c00)|(((WORD)g<<2)&0x03e0)|((WORD)b>>3) //转换为555

BOOL InitDDraw(HWND Hwnd,int WindowS); //建立DDraw
BOOL CreateClipper();//创建一个GDI裁减器
bool CreateSurface(LPDIRECTDRAWSURFACE7 &tmpS,char *FileName,int Width,int Height);
void FreeDDraw();  //关闭DDraw
void RestoreSurface(); //恢复页面
void FlipSurface(); //翻页
void SetColorKey(COLORREF rgb); //社定颜色键
void BltFast(LPDIRECTDRAWSURFACE7 SS,int x,int y,LPDIRECTDRAWSURFACE7 DS,LPRECT rcRect,DWORD Flag);//快速位图拷贝
void BltFast_MMX(LPDIRECTDRAWSURFACE7 SS,int x,int y,LPDIRECTDRAWSURFACE7 DS,LPRECT rcRect,DWORD Flag);//MMX位图拷贝
void Blt(LPDIRECTDRAWSURFACE7 SS,int x,int y,LPDIRECTDRAWSURFACE7 DS,RECT rcRect,DWORD Flag);//位图拷贝
void Clrscr(LPDIRECTDRAWSURFACE7 surf,WORD color ); //清屏
BOOL SBlt(LPDIRECTDRAWSURFACE7 SS,RECT sr,LPDIRECTDRAWSURFACE7 DS,RECT dr,BOOL Flag); //带缩放的位图拷贝
bool BeginDraw(LPDIRECTDRAWSURFACE7 lpSur);//Open Lock
bool EndDraw(LPDIRECTDRAWSURFACE7 lpSur);  //Close Lock
WORD RGB16(WORD r, WORD g, WORD b);
WORD RGB16(DWORD color); //24B to 16B
void PixFormat(LPDIRECTDRAWSURFACE7 LpDD);
void FillSurface(LPDIRECTDRAWSURFACE7 surf, WORD color);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -