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

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

?? water.cpp

?? 傳奇客戶端源代碼
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
#include "StdAfx.h"


CWater::CWater()
{
	Init(RGB(220, 220, 220));
}


CWater::~CWater()
{
}


VOID CWater::Init(DWORD dwLightColor)
{
	m_dwLightColor = dwLightColor;
	m_bShowFog = FALSE;

	for ( INT nCntY = 0; nCntY < (WATER_NUM_CNTY_LIGHTTILE+1); nCntY++ )
	{
		for ( INT nCntX = 0; nCntX < (WATER_NUM_CNTX_LIGHTTILE+1); nCntX++ )
		{
			FLOAT az = (FLOAT)GetRandomNum(0, 17);
			m_avLight[nCntY][nCntX] = D3DLVERTEX(D3DVECTOR((FLOAT)(WATER_TILE_START_XPOS+(nCntX*WATER_TILE_WIDTH)), (FLOAT)(-WATER_TILE_START_YPOS-(nCntY*WATER_TILE_HEIGHT)), az),
								  			     m_dwLightColor, RGB(0, 0, 0), (FLOAT)((FLOAT)nCntX/(FLOAT)WATER_NUM_CNTX_LIGHTTILE), (FLOAT)((FLOAT)nCntY/(FLOAT)WATER_NUM_CNTY_LIGHTTILE));
		}
	}

	memcpy(m_avSaveLight, m_avLight, sizeof(D3DLVERTEX)*(WATER_NUM_CNTY_LIGHTTILE+1)*(WATER_NUM_CNTX_LIGHTTILE+1));

	// 鷗老棄府幫狼 牢鄲膠 積己.
    WORD* pwIndex = m_pwLightIndices;
	for ( nCntY = 0; nCntY < WATER_NUM_CNTY_LIGHTTILE; nCntY++ )
	{
		for ( INT nCntX = 0; nCntX < WATER_NUM_CNTX_LIGHTTILE; nCntX++ )
		{
			*pwIndex++ = (nCntX+1)+((WATER_NUM_CNTX_LIGHTTILE+1)*nCntY);  
			*pwIndex++ = nCntX+((WATER_NUM_CNTX_LIGHTTILE+1)*(nCntY+1));  
			*pwIndex++ = (nCntX+1)+((WATER_NUM_CNTX_LIGHTTILE+1)*(nCntY+1));
			*pwIndex++ = nCntX+((WATER_NUM_CNTX_LIGHTTILE+1)*(nCntY+1));  
			*pwIndex++ = (nCntX+1)+((WATER_NUM_CNTX_LIGHTTILE+1)*nCntY);  
			*pwIndex++ = (nCntX)+((WATER_NUM_CNTX_LIGHTTILE+1)*nCntY);
		}
	}

	m_bCurrTexIdx = 0;
	CHAR* szFileList[] = 
	{
		"Water00.bmp",
		"Water01.bmp",
		"Water02.bmp",
		"Water03.bmp",
		"Water04.bmp",
		"Water05.bmp",
		"Water06.bmp",
		"Water07.bmp",
		"Water08.bmp",
		"Water09.bmp",
		"Water10.bmp",
		"Water11.bmp",
		"Water12.bmp",
		"Water13.bmp",
		"Water14.bmp",
		"Water15.bmp",
		"Water16.bmp",
		"Water17.bmp",
		"Water18.bmp",
		"Water19.bmp",
		"Water20.bmp",
		"Water21.bmp",
		"Water22.bmp",
		"Water23.bmp",
		"Water24.bmp",
		"Water25.bmp",
	};
	for ( INT nCnt = 0; nCnt < 26; nCnt++ )
	{
		strcpy(m_szWater[nCnt], szFileList[nCnt]);
		D3DTextr_CreateTextureFromFile(m_szWater[nCnt]);
		D3DTextr_Restore(m_szWater[nCnt], g_xMainWnd.Get3DDevice());
	}
}


VOID CWater::ChangeLightColor(DWORD dwColor)
{
	if ( m_dwLightColor != dwColor )
	{
		for ( INT nCntY = 0; nCntY < WATER_NUM_CNTY_LIGHTTILE+1; nCntY++ )
		{
			for ( INT nCntX = 0; nCntX < WATER_NUM_CNTX_LIGHTTILE+1; nCntX++ )
			{
				m_avLight[nCntY][nCntX].color = dwColor;
			}
		}
		m_dwLightColor = dwColor;
		memcpy(m_avSaveLight, m_avLight, sizeof(D3DLVERTEX)*(WATER_NUM_CNTY_LIGHTTILE+1)*(WATER_NUM_CNTX_LIGHTTILE+1));
	}
}


VOID CWater::ClearSavedLightColor()
{
	memcpy(m_avLight, m_avSaveLight, sizeof(D3DLVERTEX)*(WATER_NUM_CNTY_LIGHTTILE+1)*(WATER_NUM_CNTX_LIGHTTILE+1));
}


BOOL CWater::GetScreenPosToLightTile(INT nX, INT nY, INT* nTileX, INT* nTileY)
{
	*nTileX = (nX - WATER_TILE_START_XPOS) / WATER_TILE_WIDTH;
	*nTileY = (nY - WATER_TILE_START_YPOS) / WATER_TILE_HEIGHT;
	
	return TRUE;
}


BOOL CWater::SetLightRadiusWithRing(INT XLightPos, INT YLightPos, 
									   INT nSmallRadius, 
									   INT nSmallRed, INT nSmallGreen, INT nSmallBlue, 
									   INT nLargeRadius,
									   INT nLargeRed, INT nLargeGreen, INT nLargeBlue)
{
	INT nX, nY;
	GetScreenPosToLightTile(XLightPos, YLightPos, &nX, &nY);

	INT nStartTileX			= nX - nLargeRadius;
	INT nStartTileY			= nY - nLargeRadius;
	INT nEndTileX			= nX + nLargeRadius + 1;
	INT nEndTileY			= nY + nLargeRadius + 1;

	// y甫 綿欄肺 秦輯 倆 絹滴款 何盒闌 備茄促.(x焊促 y啊 歹 利欄骨肺)
	nLargeRadius = (nLargeRadius*WATER_TILE_HEIGHT);
	nSmallRadius = (nSmallRadius*WATER_TILE_HEIGHT);

	DOUBLE rLengthCnt		= 0;
	INT nSelectedRedValue	= 0; 
	INT nSelectedGreenValue	= 0;
	INT nSelectedBlueValue	= 0;

	if ( nStartTileX < 0 )					nStartTileX = 0;
	if ( nStartTileY < 0 )					nStartTileY = 0;
	if ( nEndTileX > WATER_NUM_CNTX_LIGHTTILE+1 )	nEndTileX = WATER_NUM_CNTX_LIGHTTILE+1;
	if ( nEndTileY > WATER_NUM_CNTY_LIGHTTILE+1 )	nEndTileY = WATER_NUM_CNTY_LIGHTTILE+1;	

	for ( INT nCntY = nStartTileY; nCntY < nEndTileY; nCntY++ )
	{
		for ( INT nCntX = nStartTileX; nCntX < nEndTileX; nCntX++ )
		{			
			rLengthCnt	= sqrt((XLightPos-(nCntX*WATER_TILE_WIDTH+WATER_TILE_START_XPOS))*(XLightPos-(nCntX*WATER_TILE_WIDTH+WATER_TILE_START_XPOS)) + 
							   (YLightPos-(nCntY*WATER_TILE_HEIGHT+WATER_TILE_START_YPOS))*(YLightPos-(nCntY*WATER_TILE_HEIGHT+WATER_TILE_START_YPOS)));
			if ( nCntX < WATER_NUM_CNTX_LIGHTTILE && nCntY < WATER_NUM_CNTY_LIGHTTILE )
			{
				// 器牢飄痢闌 器竊竅瘤 臼綽 諒竅. 器牢飄痢闌 器竊竅瘤 臼綽 快惑.
				if ( (nCntX > nX && nCntY < nY) || (nCntX < nX && nCntY > nY) )
				{
					WORD* pwIndex = ((WORD*)m_pwLightIndices+(nCntX+nCntY*(WATER_NUM_CNTX_LIGHTTILE))*6);
					*pwIndex++ = (nCntX)+((WATER_NUM_CNTX_LIGHTTILE+1)*nCntY);
					*pwIndex++ = (nCntX+1)+((WATER_NUM_CNTX_LIGHTTILE+1)*nCntY);  
					*pwIndex++ = (nCntX+1)+((WATER_NUM_CNTX_LIGHTTILE+1)*(nCntY+1));
					*pwIndex++ = (nCntX)+((WATER_NUM_CNTX_LIGHTTILE+1)*nCntY);
					*pwIndex++ = nCntX+((WATER_NUM_CNTX_LIGHTTILE+1)*(nCntY+1));  
					*pwIndex++ = (nCntX+1)+((WATER_NUM_CNTX_LIGHTTILE+1)*(nCntY+1));
				}
				else
				{
					WORD* pwIndex = ((WORD*)m_pwLightIndices+(nCntX+nCntY*(WATER_NUM_CNTX_LIGHTTILE))*6);
					*pwIndex++ = (nCntX+1)+((WATER_NUM_CNTX_LIGHTTILE+1)*nCntY);  
					*pwIndex++ = nCntX+((WATER_NUM_CNTX_LIGHTTILE+1)*(nCntY+1));  
					*pwIndex++ = (nCntX+1)+((WATER_NUM_CNTX_LIGHTTILE+1)*(nCntY+1));
					*pwIndex++ = nCntX+((WATER_NUM_CNTX_LIGHTTILE+1)*(nCntY+1));  
					*pwIndex++ = (nCntX+1)+((WATER_NUM_CNTX_LIGHTTILE+1)*nCntY);  
					*pwIndex++ = (nCntX)+((WATER_NUM_CNTX_LIGHTTILE+1)*nCntY);
				}
			}

			if ( rLengthCnt	< nSmallRadius )
			{
				nSelectedRedValue	= nSmallRed - INT((nSmallRed*rLengthCnt)/(nLargeRadius));
				nSelectedGreenValue	= nSmallGreen - INT((nSmallGreen*rLengthCnt)/(nLargeRadius));
				nSelectedBlueValue	= nSmallBlue - INT((nSmallBlue*rLengthCnt)/(nLargeRadius));
			}
			else if ( rLengthCnt >= nSmallRadius && rLengthCnt <= nLargeRadius )
			{
				nSelectedRedValue	= nLargeRed - INT((nLargeRed*rLengthCnt)/(nLargeRadius));
				nSelectedGreenValue	= nLargeGreen - INT((nLargeGreen*rLengthCnt)/(nLargeRadius));
				nSelectedBlueValue	= nLargeBlue - INT((nLargeBlue*rLengthCnt)/(nLargeRadius));
			}
			else
			{
				nSelectedRedValue = nSelectedGreenValue = nSelectedBlueValue = 0;
			}

			if ( nSelectedRedValue	 < 0 )		nSelectedRedValue	= 0;
			if ( nSelectedGreenValue < 0 )		nSelectedGreenValue = 0;
			if ( nSelectedBlueValue	 < 0 )		nSelectedBlueValue	= 0;

			if ( m_avLight[nCntY][nCntX].color == 0 )
				m_avLight[nCntY][nCntX].color = RGB(nSelectedRedValue, nSelectedGreenValue, nSelectedBlueValue); 
			else
			{
				nSelectedRedValue += (INT)RGB_GETBLUE(m_avLight[nCntY][nCntX].color);
				nSelectedGreenValue += (INT)RGB_GETGREEN(m_avLight[nCntY][nCntX].color);
				nSelectedBlueValue += (INT)RGB_GETRED(m_avLight[nCntY][nCntX].color);

				if ( nSelectedRedValue	 > 255 )		nSelectedRedValue	= 255;
				if ( nSelectedGreenValue > 255 )		nSelectedGreenValue = 255;
				if ( nSelectedBlueValue	 > 255 )		nSelectedBlueValue	= 255;

				m_avLight[nCntY][nCntX].color =  RGB(nSelectedRedValue, nSelectedGreenValue, nSelectedBlueValue);
			}
		}
	}

	return TRUE;
}


BOOL CWater::SetLightRadiusWithCircle(INT XLightPos, INT YLightPos, INT nRadius, 
										 INT nRedValue, INT nGreenValue, INT nBlueValue, 
										 FLOAT rDrakRate)
{
	INT nX, nY;
	GetScreenPosToLightTile(XLightPos, YLightPos, &nX, &nY);

	INT nStartTileX			= nX - nRadius;
	INT nStartTileY			= nY - nRadius;
	INT nEndTileX			= nX + nRadius + 1;
	INT nEndTileY			= nY + nRadius + 1;

	// y甫 綿欄肺 秦輯 倆 絹滴款 何盒闌 備茄促.(x焊促 y啊 歹 利欄骨肺)
	nRadius = (nRadius*WATER_TILE_HEIGHT);

	DOUBLE rLengthCnt		= 0;
	INT nSelectedRedValue	= 0; 
	INT nSelectedGreenValue	= 0;
	INT nSelectedBlueValue	= 0;

	if ( nStartTileX < 0 )					nStartTileX = 0;
	if ( nStartTileY < 0 )					nStartTileY = 0;
	if ( nEndTileX > WATER_NUM_CNTX_LIGHTTILE+1 )	nEndTileX = WATER_NUM_CNTX_LIGHTTILE+1;
	if ( nEndTileY > WATER_NUM_CNTY_LIGHTTILE+1 )	nEndTileY = WATER_NUM_CNTY_LIGHTTILE+1;	

	for ( INT nCntY = nStartTileY; nCntY < nEndTileY; nCntY++ )
	{
		for ( INT nCntX = nStartTileX; nCntX < nEndTileX; nCntX++ )
		{			
			rLengthCnt	= sqrt((XLightPos-(nCntX*WATER_TILE_WIDTH+WATER_TILE_START_XPOS))*(XLightPos-(nCntX*WATER_TILE_WIDTH+WATER_TILE_START_XPOS)) + 
							   (YLightPos-(nCntY*WATER_TILE_HEIGHT+WATER_TILE_START_YPOS))*(YLightPos-(nCntY*WATER_TILE_HEIGHT+WATER_TILE_START_YPOS)));
			if ( nCntX < WATER_NUM_CNTX_LIGHTTILE && nCntY < WATER_NUM_CNTY_LIGHTTILE )
			{
				// 器牢飄痢闌 器竊竅瘤 臼綽 諒竅. 器牢飄痢闌 器竊竅瘤 臼綽 快惑.
				if ( (nCntX > nX && nCntY < nY) || (nCntX < nX && nCntY > nY) )
				{
					WORD* pwIndex = ((WORD*)m_pwLightIndices+(nCntX+nCntY*(WATER_NUM_CNTX_LIGHTTILE))*6);
					*pwIndex++ = (nCntX)+((WATER_NUM_CNTX_LIGHTTILE+1)*nCntY);
					*pwIndex++ = (nCntX+1)+((WATER_NUM_CNTX_LIGHTTILE+1)*nCntY);  
					*pwIndex++ = (nCntX+1)+((WATER_NUM_CNTX_LIGHTTILE+1)*(nCntY+1));
					*pwIndex++ = (nCntX)+((WATER_NUM_CNTX_LIGHTTILE+1)*nCntY);
					*pwIndex++ = nCntX+((WATER_NUM_CNTX_LIGHTTILE+1)*(nCntY+1));  
					*pwIndex++ = (nCntX+1)+((WATER_NUM_CNTX_LIGHTTILE+1)*(nCntY+1));
				}
				else
				{
					WORD* pwIndex = ((WORD*)m_pwLightIndices+(nCntX+nCntY*(WATER_NUM_CNTX_LIGHTTILE))*6);
					*pwIndex++ = (nCntX+1)+((WATER_NUM_CNTX_LIGHTTILE+1)*nCntY);  
					*pwIndex++ = nCntX+((WATER_NUM_CNTX_LIGHTTILE+1)*(nCntY+1));  
					*pwIndex++ = (nCntX+1)+((WATER_NUM_CNTX_LIGHTTILE+1)*(nCntY+1));
					*pwIndex++ = nCntX+((WATER_NUM_CNTX_LIGHTTILE+1)*(nCntY+1));  
					*pwIndex++ = (nCntX+1)+((WATER_NUM_CNTX_LIGHTTILE+1)*nCntY);  
					*pwIndex++ = (nCntX)+((WATER_NUM_CNTX_LIGHTTILE+1)*nCntY);
				}
			}

/*			RECT rc;
			SetRect(&rc,
				   (nCntX*WATER_TILE_WIDTH+WATER_TILE_START_XPOS),
				   (nCntY*WATER_TILE_HEIGHT+WATER_TILE_START_YPOS),
				   (nCntX*WATER_TILE_WIDTH+WATER_TILE_START_XPOS+WATER_TILE_WIDTH),
				   (nCntY*WATER_TILE_HEIGHT+WATER_TILE_START_YPOS+WATER_TILE_HEIGHT));
			g_xMainWnd.DrawWithGDI(rc, NULL, RGB(0, 255, 255), 1);
*/
			if ( rLengthCnt	<= nRadius )
			{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一二三级电影| 欧美在线综合视频| 欧美性高清videossexo| 久久综合色综合88| 亚洲成a人片在线不卡一二三区| 捆绑调教一区二区三区| 91国偷自产一区二区三区成为亚洲经典 | 亚洲午夜精品17c| voyeur盗摄精品| 欧美一区二区成人6969| 亚洲综合一区二区三区| 国产精品亚洲午夜一区二区三区 | 久久夜色精品一区| 亚洲福利视频导航| 91麻豆国产香蕉久久精品| 亚洲精品在线电影| 日韩av在线播放中文字幕| 91麻豆国产在线观看| 国产精品久久久久久户外露出| 日产精品久久久久久久性色| 在线免费观看日本欧美| 国产精品久久久久久久久图文区| 韩国成人福利片在线播放| 欧美另类变人与禽xxxxx| 亚洲免费观看高清完整| 高清久久久久久| 欧美国产精品一区| 国产河南妇女毛片精品久久久| 精品久久久久一区二区国产| 天堂精品中文字幕在线| 欧美精品日韩精品| 日本免费新一区视频| 日韩一区和二区| 狠狠久久亚洲欧美| 久久九九久久九九| 国产另类ts人妖一区二区| 国产喂奶挤奶一区二区三区| 国产精品亚洲一区二区三区妖精| 欧美xingq一区二区| 久久99久久久久久久久久久| 制服视频三区第一页精品| 久久精品国产亚洲a| www亚洲一区| 国产成人精品aa毛片| 中文字幕va一区二区三区| av一区二区不卡| 美女国产一区二区三区| 欧美电影免费观看高清完整版在| 精品一区二区三区在线视频| 精品国产精品一区二区夜夜嗨| 国产成人精品综合在线观看| 亚洲天堂2016| 欧美疯狂性受xxxxx喷水图片| 蜜乳av一区二区| 国产三级精品在线| 99视频在线精品| 亚洲小说春色综合另类电影| 欧美一区永久视频免费观看| 国产高清视频一区| 亚洲自拍偷拍网站| 久久伊99综合婷婷久久伊| 91丨porny丨国产入口| 亚洲aaa精品| 国产欧美日韩另类一区| 91影院在线免费观看| 天天综合网天天综合色| 国产亚洲一本大道中文在线| 日本黄色一区二区| 国内精品伊人久久久久av一坑 | 久久66热re国产| 综合自拍亚洲综合图不卡区| 91精品国产欧美一区二区成人| 国产乱一区二区| 亚洲午夜激情网站| 亚洲国产精品激情在线观看| 欧美精品在线视频| proumb性欧美在线观看| 日本一道高清亚洲日美韩| 亚洲男人天堂av| 久久只精品国产| 宅男噜噜噜66一区二区66| 波多野结衣在线aⅴ中文字幕不卡| 日韩不卡一区二区| 亚洲精品福利视频网站| 国产午夜亚洲精品午夜鲁丝片| 欧美乱熟臀69xxxxxx| 99久久er热在这里只有精品15| 久久成人免费电影| 午夜一区二区三区视频| 国产精品私房写真福利视频| 日韩免费视频一区二区| 欧美日本一道本| 色婷婷久久99综合精品jk白丝| 韩国av一区二区| 久久国产精品露脸对白| 亚洲va韩国va欧美va精品| 亚洲三级久久久| 国产精品午夜免费| 国产欧美日韩久久| 久久综合国产精品| 日韩欧美一区电影| 91精品国产色综合久久久蜜香臀| 91丨九色丨国产丨porny| 成人一道本在线| 成人综合婷婷国产精品久久免费| 加勒比av一区二区| 国产一本一道久久香蕉| 国产麻豆视频精品| 国产精品自拍在线| 国产成人在线看| 国产成人精品亚洲777人妖| 国产一区二三区好的| 国产毛片精品一区| 国产精品资源站在线| 国产成人av影院| 国产成人精品免费一区二区| 成人免费视频免费观看| 波多野结衣中文字幕一区二区三区| 国产69精品久久99不卡| 不卡视频一二三| 在线观看91视频| 这里只有精品视频在线观看| 日韩欧美中文字幕公布| 久久久噜噜噜久噜久久综合| 久久久不卡网国产精品一区| 国产精品视频观看| 一区二区成人在线观看| 性久久久久久久久| 久久国产成人午夜av影院| 国产一区美女在线| 一本色道久久加勒比精品| 在线观看日韩精品| 欧美videofree性高清杂交| 国产欧美日韩三级| 洋洋av久久久久久久一区| 日本在线不卡视频| 黄色小说综合网站| eeuss鲁片一区二区三区| 色婷婷激情综合| 日韩欧美国产wwwww| 欧美高清在线一区| 亚洲成人一二三| 国产福利精品一区| 欧美主播一区二区三区美女| 5858s免费视频成人| 国产日韩成人精品| 午夜日韩在线观看| 国产成人免费av在线| 欧美日韩国产片| 久久久777精品电影网影网 | 欧美一卡二卡三卡四卡| 中文字幕国产一区| 日韩激情在线观看| 国产成人在线视频网站| 欧美日韩国产免费一区二区 | 日韩欧美你懂的| 亚洲精品久久嫩草网站秘色| 国模少妇一区二区三区| 色婷婷综合五月| 国产亚洲综合在线| 日韩电影在线一区| 99精品视频在线观看免费| 欧美本精品男人aⅴ天堂| 一区二区三区中文在线观看| 麻豆久久一区二区| 欧美视频中文字幕| 国产精品福利在线播放| 精品在线亚洲视频| 欧美视频在线观看一区二区| 国产欧美日韩不卡免费| 秋霞成人午夜伦在线观看| 在线亚洲高清视频| 国产精品欧美一区二区三区| 美女任你摸久久| 欧美精品一卡二卡| 亚洲精品欧美激情| 成人高清视频在线观看| 精品国产成人在线影院| 偷拍一区二区三区四区| 色综合久久中文综合久久97| 欧美激情一区二区三区蜜桃视频| 美女视频一区二区| 欧美一区二区三区免费观看视频 | 99久久久久免费精品国产| 国产欧美精品国产国产专区 | 日本欧美韩国一区三区| 欧美私模裸体表演在线观看| 亚洲人123区| 91丝袜高跟美女视频| 亚洲欧洲av色图| 99久久99精品久久久久久 | 久久一区二区三区四区| 久久精品国产精品亚洲红杏 | 欧美日韩日日骚| 亚洲大片在线观看| 欧美日韩国产在线观看| 婷婷综合另类小说色区| 欧美猛男男办公室激情| 视频在线观看一区二区三区| 欧美午夜影院一区|