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

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

?? mainfrm.cpp

?? 2D即時戰略游戲VC源碼
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
                initFail("IDS_DPLOBBY_ERROR_C");
                goto FAIL;
            }
            // move on
            return FALSE;
        }
        else
        {
            initFail("IDS_DPLOBBY_ERROR_C");
            goto FAIL;
        }
    }

    // are we hosting or joining ?
    if (glpdplConnection->dwFlags & DPLCONNECTION_CREATESESSION)
    {
        gbIsHost = TRUE;
    }

    // set our session flags
    glpdplConnection->lpSessionDesc->dwFlags = DPSESSION_MIGRATEHOST | 
                                                 DPSESSION_KEEPALIVE;

    // let lobby know our connection flags
    hr = DPLobbySetConnectionSettings();
    if (FAILED(hr))
    {
        initFail("IDS_DPLOBBY_ERROR_C");
        goto FAIL;
    }

    if ( !gbIsHost ) 
    {
        // show splash screen and 
        // connection status if we are joining a game
       // UpdateWindow(ghWndMain);
        //hwndStatus = ShowConnectStatus();
    }
    else
    {
        // we are hosting, don't need connection status
        hwndStatus = NULL;
    }

    // connect to the lobby
    hr = DPLobbyConnect();

    if ( hwndStatus )
    {
        // get rid of the connectino status window
        DestroyWindow(hwndStatus);
    }

    if (FAILED(hr))
    {
        initFail("IDS_DPLOBBY_ERROR_C");
        goto FAIL;
    }

    // create our player
    hr = DPlayCreatePlayer(
                            &gOurID,
#ifdef UNICODE
                            glpdplConnection->lpPlayerName->lpszShortName,
#else
                            glpdplConnection->lpPlayerName->lpszShortNameA,
#endif
                            NULL,
                            NULL,
                            0
                          );

    if (FAILED(hr))
    {
        initFail("IDS_DPLOBBY_ERROR_C");
        goto FAIL;
    }


    // cleanup
    hr = DPLobbyRelease();
    if (FAILED(hr))
    {
        initFail("IDS_DPLOBBY_ERROR_C");
        goto FAIL;
    }

    // we were lobbied
    return TRUE;

FAIL:
    // cleanup and exit
    DPLobbyRelease();
    //ExitGame();
    return FALSE;
}



void InitMessageBuffers(void)
{gHostMsg.byType=MSG_HOST;
 gBuildMsg.byType=MSG_BUILD;
 gFireMsg.byType=MSG_FIRE;
 gMoveMsg.byType=MSG_MOVE;
 gCallFixMsg.byType=MSG_CALLFIX;
 gTalkMsg.byType=MSG_TALK;
}

void InitMudGame(void)
{  HRESULT hr;

	// were we launched by a lobby ?
    if (LaunchedByLobby())
    {
        // start game
        PostMessage(WinMain, UM_LAUNCH, 0, 0);
        bMud = TRUE;
    }


    
    // initialize global message buffers
    InitMessageBuffers();

    // update window title
//    UpdateTitle();

    // get current session description (glpdpSD is initialized in here)
    hr = DPlayGetSessionDesc();
    if ((FAILED(hr)) || (!glpdpSD))
    {
        initFail("IDS_DPLAY_ERROR_GSD");
        return;
    }


}

/*
 * updateFrame
 * 
 * Decide what needs to be blitted next, wait for flip to complete,
 * then flip the buffers.
 */

void UpdateFrame( void )
{  MCI_ANIM_STEP_PARMS sp;
   MCI_SET_PARMS Set;
//   MCI_STATUS_PARMS Status;
   RECT rect;
   DWORD Keys=NULL;
   DWORD time=0;
   
   
   
   rect.left=rect.top=0;
   rect.right=rect.bottom=480;
   if(ProgramState!=PLAYING)
   {switch(ProgramState)
      {case SPLASH:
         
   		  //InitInput
			
     
        if(animEscnum==0) 
		{
		 InitInput(ghinst,ghWndMain);  //init one time is important!!!
	
		 //FillColor(lpDDSPrimary,0);
		 wAviID=PlayAvi("avi\\start.avi",120,80,400,300,NULL,ghWndMain,1);
         NowTime=timeGetTime();
		 animEscnum=2;
		  if(wAviID==-1)NowTime=0;
	
		}
		else if(animEscnum==1) 
		{Keys=DI_ReadKeys(NULL);
			while(DI_ReadKeys(NULL));
		if((Keys & KEY_ESC)||((timeGetTime()-NowTime)>=40500)) 
		  {
		
		   mciSendCommand(wAviID,MCI_CLOSE,0,NULL);
			//FillColor(lpDDSPrimary,0);
		   //wAviID=PlayAvi("avi\\tank.avi",120,80,400,300,NULL,ghWndMain,1);
           NowTime=timeGetTime();
		   animEscnum=2;
		   //avitimer=540;
		   if(wAviID==-1)NowTime=0;
		   
		}                                                                       

		}

		else if(animEscnum==2) 
		{Keys=DI_ReadKeys(NULL);
			while(DI_ReadKeys(NULL));
			if((Keys & KEY_ESC)||((timeGetTime()-NowTime)>=40500)) 
		   { mciSendCommand(wAviID,MCI_CLOSE,0,NULL);
	
		     ProgramState=GETSELECT;
				return;
		   }
		  }

//		   mciSendCommand(wAviID,MCI_STEP,MCI_ANIM_STEP_FRAMES,(DWORD)(LPVOID)&sp);
  //         mciSendCommand(wAviID,MCI_PLAY,0,NULL);
     
		   
     
    
			
		 break;
       case GETSELECT:
		
		  
		   
		//	   PlayAvi("avi\\intr1.avi",120,80,400,300,NULL,ghWndMain,1);

		    
				  Guid=DoWizard(pv);
              //ProgramState=ALONE;
		    /*if(ProcessKeys()==MUD)
				ProgramState=MUD;
			else if(ProcessKeys()==ALONE)
				ProgramState=ALONE;*/
			//Flip();
			break;
       case ALONE:
		   // mciSendCommand(wAviID,MCI_CLOSE,0,NULL);
			POINT p;
			p.x=30;
			p.y=30;
			
          
			if(IntrPlay.bplay==FALSE)
				IntrPlay.InitIntro();
			if((!IntrPlay.Intro())||(DI_ReadKeys(NULL) & KEY_RETURN))
			  {
			   //while(DI_ReadKeys(NULL));//clear the kb buffer
				FillColor(lpDDSPrimary,0);		
                 
				IntrPlay.FreeIntro();
				//view start windows
				LPDIRECTDRAWSURFACE lpstart; 
	            lpstart=DDLoadBitmap(lpDD,"bmp\\start.bmp",0,0);
	            //JFBlt(lpGround,0,0,640,480,lpwin,0,0,DDBLTFAST_NOCOLORKEY);
                JFBlt(lpDDSPrimary,120,90,400,300,lpstart,0,0,DDBLTFAST_NOCOLORKEY);
	             time = timeGetTime();
	             while(1)
				 {if(((timeGetTime()-time)>5000)||(DI_ReadKeys(NULL) & KEY_RETURN))
				  break;
				  
				 }
	            if(lpstart!=NULL)
				{lpstart->Release();
				}

			    InitAloneGame();
				CleanupInput();
				ProgramState=PLAYING;
			    Sound(p,5,TRUE);
			    }
				
			break;
       
       case MUD:
		   InitMudGame();
		   ProgramState=GETCONNECT;
            break;
        }
   return;
   }
		   

  
   // Blit the stuff for the next frame
 
   
 // JFBlt(lpDDSPrimary, 0, 0, 480,480,lpShape,0,0,
 //           DDBLTFAST_SRCCOLORKEY );

 
//FillColor(lpDDSBack,RGB(100,255,100));
Blt(lpDDSBack, 0, 0, 640,480,lpGround,0,0);
//DDSPrimary->Flip(lpGround,NULL);

OnFight();
if(groupselect==TRUE)
	RT(lpDDSBack,grouprect,1);
if(panelview==TRUE)
  JFBlt(lpDDSBack, 480, 0, 160,480,lpDDPP,0,0,
           DDBLTFAST_NOCOLORKEY );
else JFBlt(lpDDSBack, 624, 0, 16,480,Others[5],0,0,
           DDBLTFAST_NOCOLORKEY );
// if(lpShape->UpdateOverlay(&rect,lpDDSBack,&rect,DDOVER_SHOW,NULL)!=DD_OK);  
  //  initFail("Overlay Fail");
  
 
 Flip();

} /* updateFrame */



/*
 * restoreAll
 *
 * restore all lost objects
 */
HRESULT restoreAll( void )
{int i;
    HRESULT     ddrval;

    ddrval = lpDDSPrimary->Restore();
    if( ddrval == DD_OK )
    {

		ddrval = lpDDSBack->Restore();
		if(ddrval!=DD_OK)return ddrval;

		ddrval=lpGround->Restore();
		if(ddrval!=DD_OK)return ddrval;

        for(i=0;i<FLOORNUM;i++)
		  {ddrval = Floor[i]->Restore();
			if(ddrval!=DD_OK)return ddrval;
		  }	
        for(i=0;i<BUILDNUM;i++)
		  {ddrval = Build[i]->Restore();
			if(ddrval!=DD_OK)return ddrval;
		  }	
        for(i=0;i<MYARMYNUM;i++)
		  {ddrval = Myarmy[i]->Restore();
			if(ddrval!=DD_OK)return ddrval;
		}	
		 for(i=0;i<ARMYNUM;i++)
		  {ddrval = Army[i]->Restore();
			if(ddrval!=DD_OK)return ddrval;
		}	
        for(i=0;i<ENEMYNUM;i++)
		  {ddrval = Enemy[i]->Restore();
			if(ddrval!=DD_OK)return ddrval;
		}	
        for(i=0;i<EXPNUM;i++)
		  {ddrval = PicExp[i]->Restore();
			if(ddrval!=DD_OK)return ddrval;
		}	
         
        for(i=0;i<BULLETNUM;i++)
		  {ddrval =PicBullet[i]->Restore();
			if(ddrval!=DD_OK)return ddrval;
		}	

        for(i=0;i<TREENUM;i++)
		  {ddrval =PicTree[i]->Restore();
			if(ddrval!=DD_OK)return ddrval;
		}	 
		for(i=0;i<HILLNUM;i++)
		  {ddrval =PicHill[i]->Restore();
			if(ddrval!=DD_OK)return ddrval;
		}	 
        ddrval = PicRect->Restore();
			if(ddrval!=DD_OK)return ddrval;
        //ddrval = PicShape->Restore();
		//	if(ddrval!=DD_OK)return ddrval;
        ddrval = PicWhite->Restore();
			if(ddrval!=DD_OK)return ddrval;
        ddrval = PicBlack->Restore();
			if(ddrval!=DD_OK)return ddrval;
//        InitSurfaces();
           
        
    }
    return ddrval;

} /* restoreAll */





/*----------------------------------------------------------------------------*\
| AppExit()                                                                    |
|                                                                              |
| Description:                                                                 |
|   App is just about to exit, cleanup.                                        |
|                                                                              |
\*----------------------------------------------------------------------------*/
void AppExit(HWND Window)
{// ReleaseCapture();
  
} 


       

static BOOL InitDib()
{int i;
 char File[32];
 for (i=0;i<FLOORNUM;i++)
 {sprintf(File,"bmp\\tileb%d.bmp",i);
    	
  Floor[i]=DDLoadBitmap(lpDD,File,0,0);
  DDSetColorKey(Floor[i],CLR_INVALID);
  if(Floor[i]==NULL)return initFail(NULL);
 }
 for (i=0;i<BUILDNUM;i++)
 {sprintf(File,"bmp\\build%d.bmp",i);
    	
  Build[i]=DDLoadBitmap(lpDD,File,0,0);
  DDSetColorKey(Build[i],CLR_INVALID);
  if(Build[i]==NULL)return initFail(NULL);
 }
  
 for (i=0;i<MYARMYNUM;i++)
 { sprintf(File,"bmp\\x-tt74%d.bmp",i);
    	
  Myarmy[i]=DDLoadBitmap(lpDD,File,0,0);
  DDSetColorKey(Myarmy[i],CLR_INVALID);
  if(Myarmy[i]==NULL)return initFail(NULL);
 }
 
 for (i=0;i<ARMYNUM;i++)
 { sprintf(File,"bmp\\army%d.bmp",i);
    	
  Army[i]=DDLoadBitmap(lpDD,File,0,0);
  DDSetColorKey(Army[i],CLR_INVALID);
  if(Army[i]==NULL)return initFail(NULL);
 }
 
 for (i=0;i<ENEMYNUM;i++)
 { sprintf(File,"bmp\\ene-tk%d.bmp",i);
    	
  Enemy[i]=DDLoadBitmap(lpDD,File,0,0);
   DDSetColorKey(Enemy[i],CLR_INVALID);
  if(Enemy[i]==NULL)return initFail(NULL);

 }
 for (i=0;i<EXPNUM;i++)
 { sprintf(File,"bmp\\x-exp%d.bmp",i);
    	
  PicExp[i]=DDLoadBitmap(lpDD,File,0,0);
   DDSetColorKey(PicExp[i],CLR_INVALID);
  if(PicExp[i]==NULL)return initFail(NULL);
 }
 for (i=0;i<BULLETNUM;i++)
 { sprintf(File,"bmp\\bullet%d.bmp",i);
    	
  PicBullet[i]=DDLoadBitmap(lpDD,File,0,0);
   DDSetColorKey(PicBullet[i],CLR_INVALID);
  if(PicBullet[i]==NULL)return initFail(NULL);
 }
 
  for (i=0;i<TREENUM;i++)
 { sprintf(File,"bmp\\X-tree%d.bmp",i);
    	
  PicTree[i]=DDLoadBitmap(lpDD,File,0,0);
   DDSetColorKey(PicTree[i],CLR_INVALID);
  if(PicTree[i]==NULL)return initFail(NULL);
 }

 for (i=0;i<HILLNUM;i++)
 { sprintf(File,"bmp\\hill%d.bmp",i);
    	
  PicHill[i]=DDLoadBitmap(lpDD,File,0,0);
   DDSetColorKey(PicHill[i],CLR_INVALID);
  if(PicHill[i]==NULL)return initFail(NULL);
 }
 for (i=0;i<OTHERSNUM;i++)
 { sprintf(File,"bmp\\others%d.bmp",i);
    	
  Others[i]=DDLoadBitmap(lpDD,File,0,0);
   DDSetColorKey(Others[i],CLR_INVALID);
  if(Others[i]==NULL)return initFail(NULL);
 }
 
  PicRect=DDLoadBitmap(lpDD,"bmp\\rect.bmp",0,0);
   DDSetColorKey(PicRect,CLR_INVALID);
  if(PicRect==NULL)return initFail(NULL);
/*
 PicShape=DDLoadBitmap(lpDD,"bmp\\shape.bmp",0,0);
   DDSetColorKey(PicShape,RGB(128,128,128));
  if(PicShape==NULL)return initFail(NULL);
  */

   PicWhite=DDLoadBitmap(lpDD,"bmp\\white.bmp",0,0);
   DDSetColorKey(PicWhite,CLR_INVALID);
  if(PicWhite==NULL)return initFail(NULL);

   PicBlack=DDLoadBitmap(lpDD,"bmp\\Black.bmp",0,0);
   DDSetColorKey(PicBlack,CLR_INVALID);
  if(PicBlack==NULL)return initFail(NULL);

return TRUE;
}


 

void InitBackground(int state)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美极品xxx| 国产精品一区二区三区网站| 久久精品国产精品亚洲精品| 国产精品一区不卡| 欧美视频一区在线| 久久精品视频一区二区三区| 亚洲国产wwwccc36天堂| 99视频热这里只有精品免费| 日韩欧美中文字幕公布| 夜夜嗨av一区二区三区网页| 国产乱淫av一区二区三区 | 亚洲成人免费av| 福利一区二区在线| 精品福利二区三区| 日本伊人色综合网| 一本久久综合亚洲鲁鲁五月天| 久久老女人爱爱| 久久国产精品露脸对白| 欧美日韩极品在线观看一区| 日韩伦理免费电影| 成人精品高清在线| 久久久国产一区二区三区四区小说| 首页国产欧美久久| 制服丝袜一区二区三区| 一区二区三区在线影院| 色婷婷亚洲精品| 亚洲综合一区在线| 欧美综合视频在线观看| 亚洲欧美色一区| 欧美性猛交xxxx乱大交退制版| 亚洲欧洲另类国产综合| 91丨porny丨在线| 亚洲男同1069视频| 欧美性大战久久久| 日韩精品久久久久久| 欧美一区二区三级| 国产一区欧美二区| 欧美韩国日本综合| 91美女福利视频| 一区二区久久久久久| 欧美日韩一区二区电影| 天堂va蜜桃一区二区三区漫画版| 欧美日韩国产成人在线免费| 日韩精品免费专区| 精品久久久三级丝袜| 成人一区在线看| 亚洲欧美日韩在线| 欧美日韩国产小视频在线观看| 午夜精品福利视频网站 | 色系网站成人免费| 亚洲第四色夜色| 精品久久人人做人人爽| 国产成人综合视频| 中文字幕在线不卡视频| 欧美日韩一区精品| 国产在线播放一区三区四| 日本一区二区三区视频视频| 99视频有精品| 蜜桃视频一区二区| 国产精品不卡视频| 欧美一区二区三区免费观看视频 | 麻豆精品蜜桃视频网站| 国产亚洲综合色| 欧美伊人久久久久久久久影院| 蜜桃av一区二区三区电影| 欧美国产日产图区| 91精品国产一区二区人妖| 国产盗摄精品一区二区三区在线| 国产精品久久久久久久久免费樱桃| 91成人免费电影| 国产福利一区二区三区| 午夜亚洲国产au精品一区二区| 久久综合给合久久狠狠狠97色69| 色综合激情久久| 激情亚洲综合在线| 午夜精品在线看| 中文字幕在线不卡一区| 精品国产区一区| 精品视频在线看| 99精品久久只有精品| 久久97超碰色| 偷拍与自拍一区| 国产精品麻豆久久久| 日韩欧美高清dvd碟片| 一本大道久久a久久精二百| 国产一区二区三区免费看| 亚洲线精品一区二区三区| 国产精品视频在线看| 精品久久人人做人人爱| 欧美久久一二区| 色妹子一区二区| av一二三不卡影片| 国产一区二区三区在线观看精品 | 五月天激情小说综合| 1000精品久久久久久久久| 久久综合av免费| 精品国产乱码久久久久久久久| 精品视频1区2区| 日本韩国欧美三级| 99综合电影在线视频| 国产高清精品久久久久| 激情六月婷婷久久| 奇米综合一区二区三区精品视频| 亚洲一区在线观看免费观看电影高清| 国产精品另类一区| 国产精品素人视频| 欧美激情综合网| 欧美韩国日本综合| 国产精品乱子久久久久| 中文在线资源观看网站视频免费不卡| 久久欧美一区二区| 久久久精品欧美丰满| 国产色产综合色产在线视频| 久久精品一区二区三区av| 国产偷国产偷亚洲高清人白洁| 精品久久久久久久久久久久久久久久久 | 久久国产精品色婷婷| 免费观看成人av| 国产一区二区中文字幕| 国模无码大尺度一区二区三区| 老司机精品视频一区二区三区| 久久精品国产成人一区二区三区| 人人狠狠综合久久亚洲| 六月丁香综合在线视频| 国产一区 二区| 成人av电影观看| 91黄色小视频| 欧美一区二区美女| 久久久久久久av麻豆果冻| 中文久久乱码一区二区| 亚洲激情图片qvod| 日韩影院精彩在线| 国产精华液一区二区三区| 成人av免费在线| 欧美日本精品一区二区三区| 日韩三级精品电影久久久| 久久久久久久久久看片| 亚洲欧美日韩电影| 亚洲va韩国va欧美va精品| 精品一区二区三区在线观看| 丁香婷婷深情五月亚洲| 欧美色精品在线视频| 精品成人在线观看| 亚洲欧洲三级电影| 日本欧美一区二区在线观看| 国产乱子伦一区二区三区国色天香 | 综合欧美一区二区三区| 午夜电影网一区| 国产精品一区二区不卡| 欧洲国产伦久久久久久久| 欧美tickle裸体挠脚心vk| 中文字幕一区三区| 奇米影视7777精品一区二区| 成人国产精品免费观看| 欧美一区二区三区免费大片| 国产精品久久精品日日| 日韩av电影免费观看高清完整版在线观看 | 91精品福利视频| 久久综合色一综合色88| 亚洲一区二区在线播放相泽| 国产一区二区三区四| 欧美日韩高清一区二区三区| 中文字幕欧美国产| 蜜桃传媒麻豆第一区在线观看| 99久久精品国产一区二区三区| 91精品婷婷国产综合久久竹菊| 亚洲桃色在线一区| 国产不卡视频在线播放| 欧美一区二区三区日韩| 一区二区三区中文在线观看| 成人亚洲一区二区一| 精品噜噜噜噜久久久久久久久试看| 一区二区三区在线视频免费 | 国内精品伊人久久久久影院对白| 在线观看欧美黄色| 国产精品久久久久影院亚瑟| 九九精品视频在线看| 欧美肥大bbwbbw高潮| 亚洲精品国产精品乱码不99| 国产美女一区二区| 欧美刺激脚交jootjob| 亚洲高清久久久| 色伊人久久综合中文字幕| 国产精品美日韩| 国产激情一区二区三区四区| 日韩一本二本av| 视频一区视频二区中文字幕| 色久优优欧美色久优优| 亚洲欧美偷拍三级| 91网站在线观看视频| 亚洲欧洲国产专区| 91一区一区三区| 日韩毛片视频在线看| caoporm超碰国产精品| 亚洲国产精品精华液2区45| 国产suv精品一区二区883| 久久蜜桃av一区精品变态类天堂 | 欧美在线短视频| 亚洲一区二区五区| 欧美怡红院视频|