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

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

?? cbdrawm.cpp

?? 赤壁之戰的游戲源代碼
?? CPP
字號:
/////////////
//	CBDrawM.cpp		:	v0010
//	Written by		:	Liu Gang
//	Compiler		:	Microsoft Visual C++ 4.2 & DirectX
//	Library			:	DDraw.Lib
//  Copyright		:	WayAhead Software Co.Ltd.	1996-1997
//	v0010			:	Feb.9.1997
//	v0011			:	May.15.1997, changed FilpWater()
/////////////
// implementation file
// misc functions in drawing
// copy screen, to make screen shots

#include "stdafx.h"
#include "Assert.h"
#include "DDCompo.h"	// Direct Draw objects and components

#include "CBDraw.h"
#include <stdio.h>

// global
extern CDDPalette palMain;

////////////////
// copy back buffer to a file named "ScreenXX.bmp"
// to make screen shots, advertising
// true if succeeded
BOOL DRAW_CopyScreen()
{
	FILE * fp = NULL;
	
	// open file
	char filename[65];
	int i=0;
	do
	{
		strcpy( filename, "Screen" );
		char tmp[32];
		wsprintf( tmp, "%02d", i );
		strcat( filename, tmp );
		strcat( filename, ".bmp" );
		i++;
		if( fp )	fclose( fp );
	}while( (fp = fopen( filename, "rb" )) != NULL );

	fp = fopen( filename, "wb" );
	if( !fp )
	{
		OutputDebugString( "DRAW_CopyScreen Error(0): Cannot open file named: " );
		OutputDebugString( filename );
		OutputDebugString( "\n" );
		return FALSE;
	}

	// prepare headers to write to bitmap
	BITMAPFILEHEADER	fileheader;
	BITMAPINFOHEADER	bmiheader;
	PALETTEENTRY		ape[256];

	memset( &fileheader, 0 , sizeof( fileheader ) );
	memset( &bmiheader, 0, sizeof( bmiheader ) );
	memset( ape, 0, sizeof( ape ) );

	fileheader.bfType = 0x4D42;
	fileheader.bfOffBits = sizeof(fileheader)+sizeof(bmiheader)+sizeof(ape);
	fileheader.bfSize = fileheader.bfOffBits+SCREEN_WIDTH*SCREEN_HEIGHT;
	
	bmiheader.biSize = sizeof( bmiheader );
	bmiheader.biWidth = SCREEN_WIDTH;
	bmiheader.biHeight = SCREEN_HEIGHT;
	bmiheader.biPlanes = 1;
	bmiheader.biBitCount = 8;
	bmiheader.biCompression = BI_RGB;
	bmiheader.biSizeImage = SCREEN_WIDTH*SCREEN_HEIGHT;

	if( DD_GetPalette()->GetEntries( 0, 0, 256, ape ) != DD_OK )
	{
		OutputDebugString( "DRAW_CopyScreen Error(1): cannot get palette from system!\n" );
		fclose( fp );
		return FALSE;
	}
	// flip palette entries
    for(i=0; i<256; i++ )
    {
        BYTE r = ape[i].peRed;
        ape[i].peRed  = ape[i].peBlue;
        ape[i].peBlue = r;
    }
	
	// write data
	// write headers
	if( fwrite( &fileheader, sizeof(fileheader), 1, fp ) != 1 )
	{
		OutputDebugString( "DRAW_CopyScreen Error(2): error in writing file header!\n" );
		fclose( fp );
		return FALSE;
	}
	if( fwrite( &bmiheader, sizeof(bmiheader), 1, fp ) != 1 )
	{
		OutputDebugString( "DRAW_CopyScreen Error(3): error in writing bitmap info header!\n" );
		fclose( fp );
		return FALSE;
	}
	if( fwrite( ape, sizeof(ape), 1, fp ) != 1 )
	{
		OutputDebugString( "DRAW_CopyScreen Error(4): error in writing palette!\n" );
		fclose( fp );
		return FALSE;
	}

	// write map data
	LPDIRECTDRAWSURFACE2 lpSurface = DD_GetBackBuffer();
	DDSURFACEDESC       ddsd;
	ddsd.dwSize = sizeof( ddsd );
	
	Assert( lpSurface );
	if( lpSurface->Lock( NULL, &ddsd, DDLOCK_WAIT, NULL ) == DD_OK )
	{
		BYTE *pSrc = (BYTE*)ddsd.lpSurface;
		int widthSrc = ddsd.dwWidth;
		int heightSrc = ddsd.dwHeight;

		pSrc += widthSrc*(heightSrc-1);
		for( int i=0; i<heightSrc; i++ )
		{
			if( fwrite( pSrc, widthSrc, 1, fp ) != 1 )
			{
				OutputDebugString( "DRAW_CopyScreen Error(5): error in writing map data!\n" );
				fclose( fp );
				return FALSE;
			}
			pSrc -= widthSrc;
		}
		lpSurface->Unlock( NULL );
	}

	// close file
	fclose( fp );
	return TRUE;
}
////////////////

////////////////
#define	DRAW_FLIPWATER_DELAY	6
// draw blinking water, change palette to perform it
//PALETTEENTRY colorWater[6]={{0,10,70,0},{0,25,85,0},{5,40,100,0},{10,55,120,0},{15,70,135,0},{20,85,150,0}};
PALETTEENTRY colorWater[4]={{0,25,85,0},{5,40,100,0},{10,55,120,0},{15,70,135,0}};
void DRAW_FlipWater()
{
	static int timedelay=0;
	timedelay++;
	if( timedelay< DRAW_FLIPWATER_DELAY )	return;
	
	timedelay=0;

	// get palette
	PALETTEENTRY	ape[256];
	if( DD_GetPalette()->GetEntries( 0, 0, 256, ape ) != DD_OK )
	{
		OutputDebugString( "DRAW_FlipWater Error(0): Cannot get palette object!\n" );
		return;
	}

	int nDest[3] = {101,102,103};
	int nSrc[6] = {0,1,2,3,2,1};
	static int nCounter=0;

	memcpy( &ape[nDest[0]], &colorWater[nSrc[(0+nCounter)%6]], sizeof( PPALETTEENTRY ) );
	memcpy( &ape[nDest[1]], &colorWater[nSrc[(1+nCounter)%6]], sizeof( PPALETTEENTRY ) );
	memcpy( &ape[nDest[2]], &colorWater[nSrc[(2+nCounter)%6]], sizeof( PPALETTEENTRY ) );
	nCounter++;

	// set palette
	if( DD_GetPalette()->SetEntries(0, 0, 256, ape) != DD_OK )
	{
		OutputDebugString( "DRAW_FlipWater Error(1): Cannot set palette object!\n" );
		return;
	}
}
////////////////

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
宅男噜噜噜66一区二区66| 中文乱码免费一区二区| 久久精品国产精品亚洲红杏 | 欧美系列在线观看| 午夜精品爽啪视频| 欧美一区国产二区| 国产一二精品视频| 国产精品不卡视频| 欧美中文字幕一二三区视频| 午夜久久久影院| 精品久久久久香蕉网| 丁香桃色午夜亚洲一区二区三区| 综合亚洲深深色噜噜狠狠网站| 在线视频一区二区免费| 青青草国产精品亚洲专区无| 日本一区二区三区在线观看| 色成年激情久久综合| 免费在线欧美视频| 亚洲国产精品精华液ab| 在线观看一区日韩| 麻豆91免费观看| 国产精品久久久久三级| 精品视频一区二区不卡| 国产乱码精品一区二区三区av| 最新高清无码专区| 欧美一区二区三区公司| 不卡影院免费观看| 日韩精彩视频在线观看| 国产欧美日韩中文久久| 欧美午夜一区二区三区免费大片| 韩国精品主播一区二区在线观看| 中文字幕在线观看不卡| 日韩一区二区在线看片| www.欧美日韩| 久久精品国产一区二区三 | 亚洲小少妇裸体bbw| 精品久久久久久久久久久久包黑料| www.综合网.com| 人人狠狠综合久久亚洲| 国产精品传媒入口麻豆| 99久久99久久精品免费看蜜桃| 国产精品一线二线三线精华| 高清成人免费视频| 亚洲国产精品自拍| 国产午夜精品一区二区三区嫩草| 在线视频中文字幕一区二区| 国产一区二区精品在线观看| 亚洲成av人片一区二区| 国产精品视频在线看| 欧美一区二区国产| 日本国产一区二区| 国产精品18久久久久久久久久久久| 亚洲韩国一区二区三区| 国产亚洲精品7777| 欧美久久一二三四区| 国产99一区视频免费| 男人的j进女人的j一区| 亚洲精品一二三区| 国产欧美日韩视频一区二区 | 欧美在线观看你懂的| 国产乱国产乱300精品| 丝袜国产日韩另类美女| 亚洲色图制服丝袜| 国产嫩草影院久久久久| 欧美一区二区三区不卡| 在线免费观看视频一区| 国产91精品露脸国语对白| 美女网站一区二区| 午夜精品免费在线观看| 亚洲人成伊人成综合网小说| 国产人妖乱国产精品人妖| 精品国产自在久精品国产| 欧美日韩一二区| 在线亚洲一区二区| av福利精品导航| 国产无一区二区| 国内精品国产成人| 亚洲成人av在线电影| 国产精品久久午夜| 久久久久国产精品厨房| 日韩午夜激情av| 在线成人免费观看| 欧美性一级生活| 色哟哟一区二区在线观看| 波多野结衣中文字幕一区二区三区| 国内外成人在线| 麻豆91精品91久久久的内涵| 亚洲3atv精品一区二区三区| 一区二区三区91| 亚洲欧美日韩系列| 综合欧美亚洲日本| 亚洲色图第一区| 中文字幕一区二区三区在线播放| 久久精品男人天堂av| 久久精品夜夜夜夜久久| 精品国产一区二区三区忘忧草| 日韩欧美一区二区不卡| 欧美一级艳片视频免费观看| 欧美丰满一区二区免费视频| 欧美日韩国产高清一区二区三区 | 九九**精品视频免费播放| 视频在线在亚洲| 午夜精品久久一牛影视| 午夜精品123| 天天综合日日夜夜精品| 日韩黄色一级片| 免费欧美在线视频| 免播放器亚洲一区| 久久成人免费电影| 国产一区二区福利视频| 国产精品一二一区| 成人免费毛片嘿嘿连载视频| 成人综合在线视频| eeuss鲁一区二区三区| av中文字幕不卡| 色域天天综合网| 欧美日韩在线综合| 91精品国产综合久久蜜臀| 6080国产精品一区二区| 日韩欧美中文一区二区| 精品久久人人做人人爽| 久久久久九九视频| 国产精品久久久久影院色老大| 亚洲欧美日韩在线不卡| 亚洲国产一区在线观看| 免费人成精品欧美精品| 国产乱人伦偷精品视频免下载| 粉嫩av一区二区三区| 色综合天天综合网天天看片| 在线观看亚洲成人| 91精品婷婷国产综合久久竹菊| 日韩欧美在线123| 久久男人中文字幕资源站| 国产精品超碰97尤物18| 亚洲综合图片区| 麻豆精品视频在线观看免费| 国产不卡高清在线观看视频| 91日韩一区二区三区| 欧美日韩dvd在线观看| 久久综合九色综合97_久久久| 中文字幕国产精品一区二区| 亚洲一区在线电影| 免费不卡在线观看| 成人久久18免费网站麻豆| 欧美性做爰猛烈叫床潮| 精品国产免费一区二区三区香蕉| 亚洲国产精品成人综合色在线婷婷| 一区二区三区在线不卡| 麻豆精品新av中文字幕| 不卡影院免费观看| 777午夜精品视频在线播放| 久久蜜桃一区二区| 一区二区三区中文字幕在线观看| 天堂成人国产精品一区| 国产精品91xxx| 欧美日韩中文字幕精品| 久久久久免费观看| 夜夜操天天操亚洲| 精品在线播放午夜| 91蜜桃在线观看| 日韩一区二区三区视频| 国产精品嫩草影院com| 三级亚洲高清视频| 成人av在线观| 日韩一区二区电影在线| 国产精品久久久爽爽爽麻豆色哟哟 | 国产亚洲一区字幕| 亚洲一区二区三区四区不卡| 国产在线一区二区| 在线观看日韩高清av| 久久久综合精品| 亚洲一区av在线| 成人免费毛片app| 日韩一区二区免费在线观看| 国产精品成人在线观看| 久久精品国产亚洲高清剧情介绍| 91香蕉视频黄| 2024国产精品| 亚洲国产成人va在线观看天堂 | 久久99精品久久久久| 色94色欧美sute亚洲线路一久| 欧美videos大乳护士334| 亚洲天堂网中文字| 激情图区综合网| 欧美日韩国产免费一区二区| 中文字幕一区二区三区不卡| 狠狠色伊人亚洲综合成人| 欧美午夜精品久久久久久超碰| 国产午夜精品一区二区三区四区| 亚洲超碰精品一区二区| 不卡的av在线| 久久久久久9999| 日韩成人一区二区| 在线观看日产精品| 日本一区二区三区久久久久久久久不 | 亚洲视频在线一区二区| 国产一区二区三区在线观看免费| 欧美军同video69gay| 一区二区在线看| gogogo免费视频观看亚洲一|