亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? calpha.cpp

?? 成熟的RPG引擎,Flysky發布. 斜視角引擎.
?? CPP
字號:
//阿爾法混合
//Alpha 混合
//By Flysky
#include <ddraw.h>
#include "CDraw.h"
#include "CAlpha.h"
#include "CMMX.h"

DWORD s_dwAlphaMask=_ALPHA565RGBMASK; //Alpha混合的DW


void AlphaP565_mmx(WORD *Sour,int SourPitch,WORD *Dest,int DestPitch,COLORREF *colorkey,int Width,int Height,int aValue)
{
	_asm
	{
		//為了高速,從mm0開始
		//
		movd mm0,aValue; //把Alpha放進mm0;
		punpcklbw mm0,mm0;//從BYTE變到WORD | R0 G0 B0 ......|
		punpcklwd mm0,mm0; //從WORD變到DWORD  |
		punpckldq mm0,mm0; //從DWORD變到QWORD
		movd mm1,colorkey; //顏色鍵拷入
		punpcklwd mm1,mm1; //從WORD變到DWORD
		punpckldq mm1,mm1; //從DWORD變到QWORD

		emms; //清除MMX狀態

	}
}


//兩個表面的一部分的ALPHA混合(內聯版) By Flysky
//注意:Sour目標表面,Dest為Alpha通道。
//請不要使用后臺緩存,而使用Nbuffer
bool AlphaSR(LPDIRECTDRAWSURFACE7 Sour,LPDIRECTDRAWSURFACE7 Dest,RECT rect,int aValue,COLORREF *colorkey)
{
	BeginDraw(Sour); //Sour鎖屏
	WORD *pSour=GraphBuffer;
	int SourPitch=GraphPitch;
	BeginDraw(Dest); //Sour鎖屏
	WORD *pDest=GraphBuffer;
	int DestPitch=GraphPitch;
	int dy=0,sy=0;
	for(int y=rect.top;y<rect.bottom;y++)
	{
		dy=y*DestPitch;
		sy=y*SourPitch;
		for(int x=rect.left;x<rect.right;x++)
			if (colorkey==NULL||pDest[dy+x]==RGB16(*colorkey))
				pSour[sy+x]=AlphaP(pSour[sy+x],pDest[sy+x],aValue);
	}
	EndDraw(Sour);
	EndDraw(Dest);
	return true;
}

//兩個表面的ALPHA混合(內聯版) By Flysky
//注意:Sour目標表面,Dest為Alpha通道。
//請不要使用后臺緩存,而使用Nbuffer
bool AlphaS(LPDIRECTDRAWSURFACE7 Sour,LPDIRECTDRAWSURFACE7 Dest,int aValue,COLORREF *colorkey)
{
	//2005年7月30日重寫
	//哈哈,原來需要ScreenWidth和ScreenHeight,現在不需要了,主要是為了
	// 1. 完全庫技術
	// 2. 可以增大安全,可以混合不等于主頁面的頁面
	//如果兩個頁面大小不同,那么就混合小的那部分
	BeginDraw(Sour); //Sour鎖屏
	WORD *pSour=GraphBuffer;
	int SourPitch=GraphPitch;
	int Width=GraphWidth;//寬度
	int Height=GraphHeight; //高度
	BeginDraw(Dest); //Sour鎖屏
 	WORD *pDest=GraphBuffer;
	int DestPitch=GraphPitch;

	if (Width>GraphWidth) Width=GraphWidth;//寬度
	if (Height>GraphHeight) Height=GraphHeight; //高度
	int dy=0,sy=0;
	for(int y=0;y<Height;y++)
	{
		dy=y*DestPitch;
		sy=y*SourPitch;
		for(int x=0;x<Width;x++)
			if (colorkey==NULL||pDest[dy+x]==RGB16(*colorkey))
				pSour[sy+x]=AlphaP(pSour[sy+x],pDest[sy+x],aValue);
	}
	EndDraw(Sour);
	EndDraw(Dest);
	return true;
}

bool AlphaSRP(LPDIRECTDRAWSURFACE7 Sour,int x,int y,LPDIRECTDRAWSURFACE7 Dest,RECT rect,int aValue,COLORREF *colorkey)//最高級的Alpha混合方法
{
	BeginDraw(Sour); //Sour鎖屏
	WORD *pSour=GraphBuffer;
	int SourPitch=GraphPitch;
	BeginDraw(Dest); //Sour鎖屏
	WORD *pDest=GraphBuffer;
	int DestPitch=GraphPitch;
	int dy=0,sy=0,x1=0,x2=0,y1=0,y2=0;
	for(y1=rect.top,y2=y;y<rect.bottom;y1++,y2++)
	{
		dy=y1*DestPitch;
		sy=y2*SourPitch;
		for(x1=rect.left,x2=x;x1<rect.right;x1++,x2++)
			if (colorkey==NULL||pDest[dy+x1]==RGB16(*colorkey))
				pSour[sy+x2]=AlphaP(pSour[sy+x2],pDest[sy+x1],aValue);
	}
	EndDraw(Sour);
	EndDraw(Dest);
	return true;
}

bool AlphaSRP(LPDIRECTDRAWSURFACE7 Sour,int x,int y,LPDIRECTDRAWSURFACE7 Dest,RECT rect,int aValue,WORD colorkey)//最高級的Alpha混合方法
{
	BeginDraw(Sour); //Sour鎖屏
	WORD *pSour=GraphBuffer;
	int SourPitch=GraphPitch;
	BeginDraw(Dest); //Sour鎖屏
	WORD *pDest=GraphBuffer;
	int DestPitch=GraphPitch;
	int dy=0,sy=0,x1=0,x2=0,y1=0,y2=0;
	for(y1=rect.top,y2=y;y<rect.bottom;y1++,y2++)
	{
		dy=y1*DestPitch;
		sy=y2*SourPitch;
		for(x1=rect.left,x2=x;x1<rect.right;x1++,x2++)
			if (colorkey==NULL||pDest[dy+x1]==colorkey)
				pSour[sy+x2]=AlphaP(pSour[sy+x2],pDest[sy+x1],aValue);
	}
	EndDraw(Sour);
	EndDraw(Dest);
	return true;
}

//淡入淡出 BY Flysky
//Sour 源表面 Dest 為Alpha 通道
//混合將保存到Sour
bool NTLightTN(LPDIRECTDRAWSURFACE7 Sour,LPDIRECTDRAWSURFACE7 Dest,RECT *rt)
{
	static int alpha=0; //淡入淡出的Alpha的值
	static int k=1;
	alpha+=k;
	if(alpha>128)
	{
		k=-k;
		alpha=128;
	}
	if(alpha<0) 
	{
		alpha=0;
	    if (rt!=NULL) AlphaSR(Sour,Dest,*rt,alpha>>2,NULL);
		else AlphaS(Sour,Dest,alpha>>2,NULL);
		return true;
	}
	if (rt!=NULL) AlphaSR(Sour,Dest,*rt,alpha>>2,NULL);
	else AlphaS(Sour,Dest,alpha>>2,NULL);
	return false;
}

//淡入 BY Flysky
//Sour 源表面 Dest 為Alpha 通道
//混合將保存到Sour
bool NTLight(LPDIRECTDRAWSURFACE7 Sour,LPDIRECTDRAWSURFACE7 Dest,RECT *rt)
{
	static int alpha=0; //淡入淡出的Alpha的值
	static int k=1;
	alpha+=k;
	if(alpha>128)
	{
		alpha=0;
		if (rt!=NULL) AlphaSR(Sour,Dest,*rt,alpha>>2,NULL);
		else AlphaS(Sour,Dest,alpha>>2,NULL);
		return true;
	}
	if (rt!=NULL) AlphaSR(Sour,Dest,*rt,alpha>>2,NULL);
	else AlphaS(Sour,Dest,alpha>>2,NULL);
	return false;
}

//淡出 BY Flysky
//Sour 源表面 Dest 為Alpha 通道
//混合將保存到Sour
bool LightTN(LPDIRECTDRAWSURFACE7 Sour,LPDIRECTDRAWSURFACE7 Dest,RECT *rt)
{
	static int alpha=0; //淡入淡出的Alpha的值
	static int k=1;
	alpha+=k;
	if(alpha<0) 
	{
		k=-k;
		alpha=0;
		if (rt!=NULL) AlphaSR(Sour,Dest,*rt,alpha>>2,NULL);
		else AlphaS(Sour,Dest,alpha>>2,NULL);
		return true;
	}
	if (rt!=NULL) AlphaSR(Sour,Dest,*rt,alpha>>2,NULL);
	else AlphaS(Sour,Dest,alpha>>2,NULL);
	return false;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品911| 欧美一区欧美二区| 欧美最新大片在线看 | 久久久综合激的五月天| 国产无遮挡一区二区三区毛片日本| 国产精品国产馆在线真实露脸 | 色悠悠亚洲一区二区| 欧美欧美午夜aⅴ在线观看| 精品国内片67194| 综合色中文字幕| 久久99精品国产.久久久久久| 99re成人精品视频| 精品国产三级a在线观看| 日韩美女视频一区二区 | 粉嫩蜜臀av国产精品网站| 日本高清不卡一区| 国产日本一区二区| 日韩中文字幕区一区有砖一区 | 国产一区不卡视频| 欧美老女人第四色| 亚洲三级久久久| 图片区小说区国产精品视频| www.欧美精品一二区| 欧美一区二区三区免费视频| 亚洲欧美另类小说视频| 国产剧情一区在线| 欧美一区在线视频| 亚洲已满18点击进入久久| 免费成人在线视频观看| 在线观看91精品国产入口| 日本一区二区免费在线| 国产自产v一区二区三区c| 欧美精品久久久久久久多人混战| 中文字幕精品一区二区三区精品| 免费xxxx性欧美18vr| 欧美三级韩国三级日本一级| 亚洲欧美在线aaa| 国产毛片精品视频| 欧美成人bangbros| 日本不卡不码高清免费观看| 欧美日本乱大交xxxxx| 亚洲综合自拍偷拍| 色婷婷综合久色| 亚洲黄色免费网站| 成人av动漫在线| 中文字幕一区二区三区在线不卡| 国产精品一区免费在线观看| 久久蜜桃av一区精品变态类天堂 | 欧美日韩精品专区| 亚洲一区二区在线播放相泽| 色婷婷综合久久久中文字幕| 亚洲六月丁香色婷婷综合久久| 成人精品鲁一区一区二区| 中文字幕高清一区| 色悠悠久久综合| 欧美激情一区二区三区全黄| 国产成人鲁色资源国产91色综 | 国产精品午夜免费| 成人精品视频一区二区三区尤物| 国产精品久久久久一区二区三区| 成人爽a毛片一区二区免费| 国产精品久久久久影院老司 | 亚洲1区2区3区视频| 91麻豆精品国产91| 国产麻豆欧美日韩一区| 国产欧美日韩精品a在线观看| 福利一区二区在线| 亚洲天堂中文字幕| 精品视频999| 日韩电影在线一区| 国产日韩精品视频一区| 成人av影视在线观看| 亚洲综合一区二区三区| 91精品国产综合久久久久久久久久| 蜜臀精品一区二区三区在线观看 | 日韩一级成人av| 天堂一区二区在线免费观看| 欧美日韩国产123区| 国产综合成人久久大片91| 中文字幕日韩av资源站| 欧美精品在线观看一区二区| 国内成人精品2018免费看| 亚洲私人影院在线观看| 成年人午夜久久久| 午夜精品一区二区三区免费视频| 精品久久久久99| 在线视频欧美精品| 激情小说欧美图片| 亚洲伦理在线精品| 精品国产乱码久久久久久图片| 日韩国产精品大片| 欧美日韩亚州综合| 北条麻妃一区二区三区| 国精产品一区一区三区mba桃花 | 欧美日韩久久久| 91麻豆成人久久精品二区三区| 国产在线播放一区二区三区| 日韩精品色哟哟| 午夜电影一区二区三区| 一片黄亚洲嫩模| 亚洲免费观看视频| 国产精品久久午夜| 国产精品午夜春色av| 国产亚洲综合av| 久久综合狠狠综合| 精品国产网站在线观看| 26uuu精品一区二区在线观看| 欧美一区二区精品在线| 欧美一区二区三区思思人| 欧美日韩久久久| 777久久久精品| 56国语精品自产拍在线观看| 欧美日韩国产综合视频在线观看 | 91在线无精精品入口| 不卡电影免费在线播放一区| 成人中文字幕在线| 懂色av一区二区三区蜜臀| 国产丶欧美丶日本不卡视频| 国产精品888| 成人动漫视频在线| 99精品视频在线观看| 99精品视频中文字幕| 欧美性生活一区| 欧美精品久久久久久久久老牛影院 | 4438亚洲最大| 日韩精品一区二区三区视频播放 | 制服丝袜av成人在线看| 日韩欧美一区二区在线视频| 91精品国产一区二区三区| 欧美videos大乳护士334| 久久久美女艺术照精彩视频福利播放| 久久婷婷色综合| 国产精品全国免费观看高清| 亚洲女同女同女同女同女同69| 亚洲成人你懂的| 国模一区二区三区白浆 | 国产精品亚洲一区二区三区妖精| 成人午夜碰碰视频| 在线影院国内精品| 欧美一区二区三区公司| 久久久久97国产精华液好用吗| 国产欧美精品区一区二区三区 | 久久99精品一区二区三区| 国产aⅴ综合色| 欧美日韩五月天| 国产亚洲成av人在线观看导航| 中文字幕在线不卡视频| 日韩极品在线观看| 国产成人精品亚洲午夜麻豆| 欧美视频在线观看一区二区| 久久综合久久鬼色| 亚洲已满18点击进入久久| 国产一区二区三区在线观看免费 | 国产精品国产自产拍高清av王其| 亚洲一区二区三区国产| 国产一区二区美女诱惑| 在线中文字幕一区二区| 国产日产欧美一区二区视频| 午夜精品在线看| jlzzjlzz亚洲日本少妇| 日韩视频一区二区在线观看| 亚洲精品免费在线| 懂色av中文一区二区三区| 在线成人小视频| 自拍偷在线精品自拍偷无码专区| 蜜桃视频在线一区| 欧美少妇一区二区| 亚洲视频小说图片| 国产传媒日韩欧美成人| 欧美高清一级片在线| 日韩一区在线免费观看| 国产在线播放一区三区四| 91精品国产综合久久福利软件| 中文字幕在线一区| 日韩电影网1区2区| 欧美亚洲自拍偷拍| 亚洲欧美日韩国产一区二区三区| 久久国产婷婷国产香蕉| 欧美综合一区二区三区| 亚洲国产精品精华液ab| 国产一区二区在线观看免费| 日韩一区二区三区免费看| 亚洲午夜久久久久久久久电影院| 99久久er热在这里只有精品15| 久久久一区二区三区捆绑**| 久久成人18免费观看| 欧美一级艳片视频免费观看| 亚洲第一成人在线| 欧美午夜视频网站| 亚洲国产精品久久久久婷婷884 | eeuss鲁片一区二区三区 | 97精品国产露脸对白| 国产精品欧美久久久久一区二区| 激情成人综合网| 久久综合狠狠综合| 国产精品一区二区91| 国产午夜精品福利| 成人av电影在线| 亚洲三级小视频| 欧美三级电影在线看|