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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cbavi.cpp

?? 赤壁之戰(zhàn)的游戲源代碼
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/////////////
//	CBAvi.cpp		:	v0010
//	Written by		:	Li Haijun
//	Compiler		:	Microsoft Visual C++ 4.0 & DirectX
//	Library			:	No .Lib
//	Copyright (C)	:	1997 WayAhead Corporation 
//	v0010			:	Apr.14.1997
/////////////
// to manage the all AVI ( send message , play, stop )
//////////////////////////////////////////////////////////

#include "stdafx.h"

#include "Assert.h"
#include "DDCompo.h"
#include "VCMApi.h"
#include "Mciapi.h"
#include "cbgame.h"
#include "CBData.h"
#include "Tbnbase.h"

#include "cbavi.h"
#include "interfac.h"
#include "DDButton.h"

// to define a global veriable to store the id of current AVI that is playing
extern struct GAME_STRUCT	GAME;
//extern	WAVEDYNAMIC	waveBack;
//////////////////////////////////////
// this is the main palettes in play state
extern	class CDDPalette	pal, palMain;
// get the current cursor
extern class CDDCursor *CURSOR_Get();

extern	MAIN_bMMX;
int		nCurrentVideoID = -1;
int		FACE_AVI_FLAG = TRUE;

// 是否全屏播放AVI, defined in CBMain.cpp
extern BOOL MAIN_AVI_bFullScreen;

extern	BOOL MAIN_InitOthers();
int bMoviePlaying = FALSE;
// 播放AVI
void	FACE_Avi_Play(LPSTR lpszAviFilename, int nCommandState /*=COMMAND_STATE_AVI_MISSION*/ )
{
	FACE_SetProgramState(PROGRAM_STATE_AVI) ;
	// to erase the whole screen to black
	DD_EraseFrontScreen();

//	WriteLogFile( "sound.log","AAAAA\n" );
	if( GAME_nDisk == 0 )
	{
		// stop playing music
		DATA_WAVE_MusicStop();
	}
	// close the sound first
	DS_QuitSound() ;
//	WriteLogFile( "sound.log","BBBBB\n" );

	CDDCursor * pCurrentCursor;
	// to get the current cursor and hide it
	pCurrentCursor = CURSOR_Get();
	if(pCurrentCursor != NULL)
	{
		// to hide current cursor if it is exist
		pCurrentCursor->Show(FALSE);
		// to erase the whole screen to black
		DD_EraseFrontScreen();
	}
	// to set all button's state to disable
	FACE_SetAllButtonState( BUTTON_DISABLE );

	if( FACE_AVI_FLAG == FALSE)
	{
		FACE_SetCommandState( nCommandState );
		PostMessage( hwndGame, MM_MCINOTIFY, 0, 0 );
		return;
	}
//	WriteLogFile( "sound.log","CCCCC\n" );
	if( MAIN_bMMX == TRUE )
	{
		Assert( bMoviePlaying == FALSE );
		MovieInitialize( hwndGame );
		while( MovieFileOpen (hwndGame, lpszAviFilename ) == FALSE )
		{
			// Aug 11, 1997, Liu Gang
			// if no avi, quit
			ErrorMessageNoQuit( hwndGame, 1011, "Insert game CD please!\n" );
//			PostMessage( hwndGame, WM_QUIT, 0, 65535 );
//			return;
		}
		MoviePause( hwndGame );
		MovieSetOptionsBitdepth (hwndGame, ID_OPTIONS_BITDEPTH_CLUT8);
		MovieSetOptionsResolution (hwndGame, ID_OPTIONS_RESOLUTION_ZOOMBY2);
		//MovieSetOptionsResolution (hwndGame, ID_OPTIONS_RESOLUTION_NATIVE);
		MoviePlay ( hwndGame );
		nCurrentVideoID = MovieGetHandle();
		bMoviePlaying = TRUE;
	}
	else
	{
		RECT rect={160, 120, 480, 360 };
		Assert( nCurrentVideoID == -1 );
		nCurrentVideoID = MCI_AVI_Open( hwndGame, lpszAviFilename, &rect );
		while( nCurrentVideoID == -1 )
		{
			// Aug 11, 1997, Liu Gang
			// if no avi, quit
			ErrorMessageNoQuit( hwndGame, 1011, "Insert game CD please!\n" );
//			PostMessage( hwndGame, WM_QUIT, 0, 65535 );
			nCurrentVideoID = MCI_AVI_Open( hwndGame, lpszAviFilename, &rect );
//			return;
		}
		Assert( nCurrentVideoID != -1 );
		if( MAIN_AVI_bFullScreen == TRUE )
			MCI_AVI_Play( hwndGame, nCurrentVideoID, MCI_NOTIFY|MCI_MCIAVI_PLAY_FULLSCREEN );
		else
			MCI_AVI_Play( hwndGame, nCurrentVideoID );
		Sleep(100);
	}

	// CD Audio only, Nov.8.1997
	if( GAME_nDisk != 0 )
	{
		// stop playing music
		DATA_WAVE_MusicStop();
	}
//	WriteLogFile( "sound.log","DDDDD\n" );
	FACE_SetCommandState( nCommandState );

}
//  to play the single fight avi
void	FACE_Avi_Play_Single_Fight( int nCommandState /*=COMMAND_STATE_AVI_MISSION*/ )
{
	// to erase the whole screen to black
	DD_EraseFrontScreen();

//	WriteLogFile( "avi.log","AAAAA\n" );

	if( GAME_nDisk == 0 )
	{
		// stop playing music
		DATA_WAVE_MusicStop();
	}

	// close the sound first
	DS_QuitSound() ;
//	WriteLogFile( "sound.log","BBBBB\n" );

	CDDCursor * pCurrentCursor;
	// to get the current cursor and hide it
	pCurrentCursor = CURSOR_Get();
	if(pCurrentCursor != NULL)
	{
		// to hide current cursor if it is exist
		pCurrentCursor->Show(FALSE);
		// to erase the whole screen to black
		DD_EraseFrontScreen();
	}
	// to set all button's state to disable
	FACE_SetAllButtonState( BUTTON_DISABLE );
	FACE_SetProgramState( PROGRAM_STATE_AVI ) ;
	FACE_SetCommandState( COMMAND_STATE_AVI_SINGLE ) ;

	if( FACE_AVI_FLAG == FALSE )
	{
		FACE_SetCommandState( nCommandState );
		PostMessage( hwndGame, MM_MCINOTIFY, 0, 0 );
		return;
	}

	RECT rect={160, 120, 480, 360 };
	Assert( nCurrentVideoID == -1 );
	char avifile[_MAX_FNAME];
	strcpy( avifile, GAME_strSetupDirectory );
	strcat( avifile, "\\avi\\ldan.avi" );
	nCurrentVideoID = MCI_AVI_Open( hwndGame, avifile, &rect );
	if( nCurrentVideoID == -1 )
	{
		PostMessage( hwndGame, MM_MCINOTIFY, 0, 0 );
		return;
	}
	Assert( nCurrentVideoID != -1 );

	int	random ;
	int Begin, End ;

	random = getrandom(0,17) ;
//	random = 0;

	Begin = 90 * random ;	// every single fight avi include 90 frames
	End = Begin + 90 ;

	char tm[32];
	itoa( random, tm, 10 );
//	MCI_AVI_Play( hwndGame, nCurrentVideoID, MCI_NOTIFY|MCI_MCIAVI_PLAY_FULLSCREEN, Begin, End );
	MCI_AVI_Play( hwndGame, nCurrentVideoID, MCI_NOTIFY, Begin, End );

	// CD Audio only, Nov.8.1997
	if( GAME_nDisk != 0 )
	{
		// stop playing music
		DATA_WAVE_MusicStop();
	}
}

//	to restore the program state and close the avi file when receive the MM_MCINOTIFY
extern BOOL MAIN_bFirst;	// defined in CBMain.cpp
BOOL	FACE_Avi_Close()
{

	if( (FACE_GetCommandState() == COMMAND_STATE_AVI_BEGIN ) ||
		(FACE_GetCommandState() == COMMAND_STATE_AVI_END ) ||
		(FACE_GetCommandState() == COMMAND_STATE_AVI_MISSION ) ||
		(FACE_GetCommandState() == COMMAND_STATE_AVI_REALTIME ) ||
		(FACE_GetCommandState() == COMMAND_STATE_AVI_SINGLE ) ||
		(FACE_GetCommandState() == COMMAND_STATE_AVI_HISTORY ) 
	  )
	{	// 會接收到兩次消息
		// to erase the whole screen to black
		DD_EraseFrontScreen();

		// to do the next thing by the current program state
		int		nCommandState;

		nCommandState = FACE_GetCommandState();
		if( GAME_nDisk != 0 )
		{
			if( MAIN_bMMX == TRUE 
			&& FACE_GetCommandState() != COMMAND_STATE_AVI_SINGLE )
			{
				MovieStop( hwndGame );
			}
			else
			{
				MCI_AVI_Stop( hwndGame, nCurrentVideoID );
			}
			if( nCommandState == COMMAND_STATE_AVI_BEGIN )
			{
				char wavfile[_MAX_FNAME];
				strcpy( wavfile, GAME_strSetupDirectory );
				strcat( wavfile, "\\sound\\Start.wav" );
				DATA_WAVE_MusicPlayS( wavfile );
				strcpy( GAME.strStartWAV, wavfile );
			}
			else if( nCommandState == COMMAND_STATE_AVI_END )
			{
				DATA_WAVE_MusicPlay( GAME.nMusicID );
			}
			else if( nCommandState == COMMAND_STATE_AVI_MISSION )
			{
				DATA_WAVE_MusicPlay( GAME.nMusicID );
			}
			else if( nCommandState == COMMAND_STATE_AVI_REALTIME )
			{
				DATA_WAVE_MusicPlay( GAME.nMusicID );
			}
			else if( nCommandState == COMMAND_STATE_AVI_SINGLE )
			{
				DATA_WAVE_MusicPlay( GAME.nMusicID );
			}
			else if( nCommandState == COMMAND_STATE_AVI_HISTORY )
			{
				char wavfile[_MAX_FNAME];
				strcpy( wavfile, GAME_strSetupDirectory );
				strcat( wavfile, "\\sound\\Start.wav" );
				DATA_WAVE_MusicPlayS( wavfile );
			}
		}


		if( FACE_AVI_FLAG == FALSE )
		{
		}
		else if( MAIN_bMMX == TRUE 
			&& FACE_GetCommandState() != COMMAND_STATE_AVI_SINGLE )
		{
			Assert( bMoviePlaying == TRUE );
			if( GAME_nDisk == 0 )
			{
				MovieStop( hwndGame );
			}
			MovieFileClose( hwndGame );
			MovieTerminate( hwndGame );
			nCurrentVideoID = -1;
			bMoviePlaying = FALSE;
		}
		else
		{
			Assert( nCurrentVideoID != -1 );
			if( GAME_nDisk == 0 )
			{
				MCI_AVI_Stop( hwndGame, nCurrentVideoID );
			}
			MCI_AVI_Close( nCurrentVideoID );
			nCurrentVideoID = -1;
		}

		// to get the sound device 
		DS_InitSound( hwndGame ) ;

		// what are you going to do after play the begin AVI
		if( nCommandState == COMMAND_STATE_AVI_BEGIN )
		{
			DD_EraseFrontScreen();
			MAIN_InitOthers();

			//to play the sound 
			//DATA_WAVE_MusicPlay( GAME.nMusicID );

			if( GAME_nDisk == 0 )
			{
				char wavfile[_MAX_FNAME];
				strcpy( wavfile, GAME_strSetupDirectory );
				strcat( wavfile, "\\sound\\Start.wav" );
				DATA_WAVE_MusicPlayS( wavfile );
				strcpy( GAME.strStartWAV, wavfile );
			}
			
			GAME.nID = 0;
			FACE_SetProgramState( PROGRAM_STATE_PLAY );
			FACE_SetCommandState( COMMAND_STATE_PLAY );
			SendMessage(hwndGame, WM_COMMAND, SHOW_MAIN_MENU, 0);
			// to restore all button's state
			FACE_RestoreAllButtonState();
		}
		// what are you going to do after play the end AVI
		else if( nCommandState == COMMAND_STATE_AVI_END )
		{
			//to play the sound 
			if( GAME_nDisk == 0 )
			{
				DATA_WAVE_MusicPlay( GAME.nMusicID );
			}
			//DATA_WAVE_MusicPlay(0) ;
//			WriteLogFile( "sound.log","IIIII\n" );
			// to restore all button's state
			FACE_RestoreAllButtonState();
		}
		// what are you going to do after play the mission AVI
		else if( nCommandState == COMMAND_STATE_AVI_MISSION )
		{
			// to restore the palette
			palMain.ReloadPalette();
			//--fade in
			DD_FadeClear( palMain.GetPalette() );
			palMain.SetPalette();
			//--fade in

			// to get current cursor and show it
			CURSOR_Get()->Show(TRUE);
//			FACE_SetProgramState( FACE_GetPreProgramState() );
			FACE_SetProgramState( PROGRAM_STATE_PLAY );
			FACE_SetCommandState( COMMAND_STATE_MENU );

			//to play the sound 
			if( GAME_nDisk == 0 )
			{
				DATA_WAVE_MusicPlay( GAME.nMusicID );

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二视频| 欧美视频你懂的| 久久精品视频免费| 免费成人在线播放| 7777女厕盗摄久久久| 亚洲午夜国产一区99re久久| 91玉足脚交白嫩脚丫在线播放| 国产午夜精品在线观看| 国产在线不卡一卡二卡三卡四卡| 精品国产亚洲一区二区三区在线观看| 日韩精品1区2区3区| 欧美日韩一区二区在线视频| 一区二区三区国产精品| 欧洲精品一区二区| 亚洲与欧洲av电影| 欧美三级午夜理伦三级中视频| 亚洲欧美另类在线| 色一区在线观看| 亚洲一区日韩精品中文字幕| 欧美亚洲动漫制服丝袜| 香蕉加勒比综合久久| 欧美人妇做爰xxxⅹ性高电影| 首页国产欧美日韩丝袜| 91精品国产91久久久久久一区二区 | 国产亚洲欧美色| 国产激情一区二区三区| 国产欧美精品一区aⅴ影院| 国产99久久久国产精品潘金 | 国产亚洲成av人在线观看导航 | 国产91高潮流白浆在线麻豆| 国产精品国产三级国产aⅴ无密码| www.欧美.com| 亚洲线精品一区二区三区| 欧美日韩亚洲综合在线 | 国产综合色在线| 中文字幕乱码一区二区免费| 97久久超碰国产精品| 亚洲一卡二卡三卡四卡五卡| 7777精品伊人久久久大香线蕉 | 91原创在线视频| 一区二区三区精品视频在线| 欧美精品精品一区| 蜜桃精品在线观看| 国产欧美日韩精品a在线观看| 豆国产96在线|亚洲| 亚洲男人电影天堂| 欧美四级电影网| 亚洲最新视频在线观看| 91精品国产91久久综合桃花| 国产在线精品一区二区不卡了| 国产精品传媒视频| 在线观看视频一区| 久久精品免费观看| 国产视频一区二区在线观看| 99精品偷自拍| 亚洲成国产人片在线观看| 精品久久国产老人久久综合| 成人黄色软件下载| 亚洲成av人片在线| 日韩精品一区二区三区视频播放 | 亚洲视频狠狠干| 欧美日韩国产高清一区二区三区| 国产在线播放一区二区三区| 日韩毛片在线免费观看| 在线观看国产91| 国模无码大尺度一区二区三区| 国产精品理伦片| 欧美高清视频不卡网| 国产一区二区三区| 洋洋成人永久网站入口| 精品国产乱码久久| 欧美综合天天夜夜久久| 亚洲黄色小视频| 日韩欧美国产一区二区三区| 亚洲色大成网站www久久九九| 日韩精品91亚洲二区在线观看| 欧美高清在线一区二区| 国内一区二区在线| 亚洲婷婷在线视频| 欧美大肚乱孕交hd孕妇| 97超碰欧美中文字幕| 日本sm残虐另类| 国产精品色呦呦| 欧美一区二区精品久久911| 成人精品小蝌蚪| 日本午夜精品一区二区三区电影| 欧美国产精品v| 欧美一激情一区二区三区| 亚洲综合色噜噜狠狠| 欧美日韩一级黄| 懂色av中文一区二区三区| 午夜天堂影视香蕉久久| 国产亚洲污的网站| 欧美日韩免费不卡视频一区二区三区| 国产精品亚洲人在线观看| 亚洲成人第一页| 中文字幕亚洲电影| 日韩一区二区三| 91国产精品成人| 国产精品羞羞答答xxdd| 亚洲尤物在线视频观看| 国产视频一区在线观看| 欧美在线观看你懂的| 99视频一区二区| 日本aⅴ免费视频一区二区三区| 一区二区三区欧美| 国产欧美日韩激情| 精品女同一区二区| 不卡欧美aaaaa| 韩国av一区二区三区在线观看| 亚洲高清视频在线| 综合久久综合久久| 久久精品欧美日韩精品| 欧美成人欧美edvon| 欧美老肥妇做.爰bbww视频| av影院午夜一区| 国产大陆亚洲精品国产| 奇米亚洲午夜久久精品| 亚洲大尺度视频在线观看| 亚洲欧洲色图综合| 国产欧美一区二区三区鸳鸯浴| 日韩你懂的在线播放| 色婷婷av久久久久久久| av一区二区三区黑人| 99精品视频一区二区三区| 国产精品影视天天线| 国产一区二区三区免费播放| 日韩av一区二区在线影视| 亚洲国产美国国产综合一区二区 | 麻豆成人久久精品二区三区小说| 视频一区二区三区入口| 一级精品视频在线观看宜春院| 亚洲精品自拍动漫在线| 中文字幕一区二区三区视频| 自拍偷拍亚洲激情| 国产精品久久久久久久久搜平片| 久久久精品人体av艺术| 久久久精品免费免费| 精品免费国产二区三区| www一区二区| 亚洲精品在线观| 国产人妖乱国产精品人妖| 国产农村妇女精品| 中文字幕在线观看一区二区| 国产精品女主播在线观看| 综合精品久久久| 亚洲欧美日韩在线不卡| 亚洲自拍偷拍麻豆| 亚洲一区二区三区四区五区黄| 亚洲国产精品综合小说图片区| 亚洲尤物在线视频观看| 强制捆绑调教一区二区| 久久成人免费电影| 美女视频黄频大全不卡视频在线播放| 亚洲成人三级小说| 丝袜美腿亚洲综合| 免费看精品久久片| 秋霞午夜鲁丝一区二区老狼| 午夜欧美一区二区三区在线播放| 天天操天天干天天综合网| 日本亚洲电影天堂| 九九视频精品免费| 麻豆国产精品视频| 成人深夜福利app| 一本大道久久精品懂色aⅴ| 欧美亚洲一区二区三区四区| 91精品国产一区二区| 精品国产污网站| 国产精品久久久久久久久久久免费看| 中文字幕日韩av资源站| 亚洲国产三级在线| 免费欧美在线视频| 不卡av电影在线播放| 91精品91久久久中77777| 日韩一区二区视频在线观看| 7777精品伊人久久久大香线蕉最新版| 久久精品亚洲精品国产欧美| 1区2区3区精品视频| 婷婷丁香激情综合| 狠狠色丁香婷婷综合久久片| 99久久99久久精品免费观看| 色av综合在线| 精品国产一二三| 亚洲精品videosex极品| 蜜桃av一区二区在线观看| 亚洲激情一二三区| 青青草精品视频| 国产成人av网站| 欧美三级日韩三级国产三级| 日韩视频一区二区三区| 日韩理论片中文av| 天天综合天天做天天综合| 国产乱码精品一区二区三区忘忧草| av激情亚洲男人天堂| 4438x亚洲最大成人网| 久久无码av三级| 亚洲成av人综合在线观看| 毛片基地黄久久久久久天堂| 91小视频在线免费看| 欧美成人精品福利|