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

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

?? mousecursor.cpp

?? 完整龍族的無錯反外掛登陸器,b編譯后直接直接就可以放在客戶端下運行
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
	int sy = g_pointMouseY + CurMouseCursorSpotY - s->oy;
	int ex = sx + s->xl;
	int ey = sy + s->yl;
		
	if( sx < PmcSx ) PmcSx = sx;
	if( sy < PmcSy ) PmcSy = sy;
	if( ex > PmcEx ) PmcEx = ex;
	if( ey > PmcEy ) PmcEy = ey;
		
	if( PmcSx < 0 ) PmcSx = 0;
	if( PmcSy < 0 ) PmcSy = 0;
	if( PmcEx > SCREEN_WIDTH -1) PmcEx = SCREEN_WIDTH-1;
	if( PmcEy > SCREEN_HEIGHT-1) PmcEy = SCREEN_HEIGHT-1;

#ifdef _DEBUG	
	if( (PmcEx-PmcSx+1)*(PmcEy-PmcSy+1) >= MAX_MOUSE_AREA_BUF_SIZE )
		Error( "Mouse MgBuf is Too Small..\n %d %d %d %d",  PmcSx, PmcSy,  PmcEx, PmcEy );
#endif	

	GetImageBox( MgBuf, g_DestBackBuf, PmcSx, PmcSy,  PmcEx, PmcEy );

	if( SMenu[MN_LODING].bActive != TRUE )  // 拳擱 Loading且錠綽 嘛瘤 臼綽促.
	{	
		PutCompressedImage( g_pointMouseX + CurMouseCursorSpotX, g_pointMouseY + CurMouseCursorSpotY, s );
		int ttx = g_pointMouseX + Mapx, tty = g_pointMouseY + Mapy;

		static int to, tcolor=0, ccolor=0;
		
		if( to ) 
		{
			tcolor += 20;  if( tcolor >= 250  ) { tcolor = 250; to = !to;  }
		}
		else 
		{
			tcolor -= 20;  if( tcolor <= 150  ) { to = !to; }
		}
		ccolor = RGB16( tcolor, tcolor, tcolor );

		Line( ttx-2, tty, ttx+3, tty, ccolor );
		Line( ttx, tty-2, ttx, tty+3, ccolor );

		withSkillItem();
	}

//-------
	if( tool_MouseCursorBlock )
	{
		PutCompressedImage( 320 + CurMouseCursorSpotX, 240 + CurMouseCursorSpotY, s );
		int ttx = 320 + Mapx, 
			tty = 240 + Mapy;
		Line( ttx-5, tty, ttx+5, tty, 0xffff );
		Line( ttx, tty-5, ttx, tty+5, 0xffff );
	}
//-------
	CurMouseCursorFrameCounter();
}
/*
{		
	if( MouseCursorOnOff == false ) return;// 扁賤矯傈吝.
//	if( SMenu[MN_LOGO_START].bActive==true ) return;
	if( SMenu[MN_LODING].bActive ==true )return;  // 拳擱 Loading且錠綽 嘛瘤 臼綽促.
	PmcSx = SCREEN_WIDTH;
	PmcSy = SCREEN_HEIGHT;
	PmcEx = PmcEy = 0;
	Spr *s;

	switch(CurMouseCursorNo)
	{
	case 1://sa
		{
			s = GetSprOfMenu(CURSOR_DEFAULT_IMG	,0);
			FieldTypeNomalPut(0,0,g_pointMouseX,g_pointMouseY,0,CURSOR_DEFAULT_IMG);
	//CURSOR_CLICK_IMG				10024
	//		s = FieldTypeNomalPut(int mx, int my, int x,int y,int nImageNumber, int type);
		}break;
	default :
		{
			s = &mc[ CurMouseCursorNo-1][ CurMouseCursorAni];
		}break;
	}

	const int sx = g_pointMouseX + CurMouseCursorSpotX - s->ox;
	const int sy = g_pointMouseY + CurMouseCursorSpotY - s->oy;
	const int ex = sx + s->xl;
	const int ey = sy + s->yl;
		
	if( sx < PmcSx ) PmcSx = sx;
	if( sy < PmcSy ) PmcSy = sy;
	if( ex > PmcEx ) PmcEx = ex;
	if( ey > PmcEy ) PmcEy = ey;
		
	if( PmcSx < 0 ) PmcSx = 0;
	if( PmcSy < 0 ) PmcSy = 0;
	if( PmcEx > SCREEN_WIDTH -1) PmcEx = SCREEN_WIDTH-1;
	if( PmcEy > SCREEN_HEIGHT-1) PmcEy = SCREEN_HEIGHT-1;

#ifdef _DEBUG	
	if( (PmcEx-PmcSx+1)*(PmcEy-PmcSy+1) >= MAX_MOUSE_AREA_BUF_SIZE )
	{
		Error( "Mouse MgBuf is Too Small..\n %d %d %d %d",  PmcSx, PmcSy,  PmcEx, PmcEy );
	}
	Hprint2(100,120, g_DestBackBuf,"付快膠 %d,%d",CurMouseCursorNo,CurMouseCursorAni);
#endif	

//	GetImageBox( MgBuf, g_DestBackBuf, PmcSx, PmcSy,  PmcEx, PmcEy );
	switch(CurMouseCursorNo)
	{
	case 1:
		break;
	default:
		{
			PutCompressedImage( g_pointMouseX + CurMouseCursorSpotX, g_pointMouseY + CurMouseCursorSpotY, s );//付快膠 目輯 弊覆 嘛綽鎊
		}
	}
	
	//努腐器牢飄 扼牢 弊府綽 鎊
	{
	const int ClickPointX = g_pointMouseX + Mapx;
	const int ClickPointY = g_pointMouseY + Mapy;
	static char cRelayColor = 0;//static 撈促
	cRelayColor+=16;
	const unsigned char ucTempColor= abs(cRelayColor);
	const WORD wColor = ConvertColor(ucTempColor,ucTempColor,ucTempColor);
	Line( ClickPointX-2,ClickPointY,	ClickPointX+3,	ClickPointY,	wColor );
	Line( ClickPointX,	ClickPointY-2,	ClickPointX,	ClickPointY+3,	wColor );
	}

	withSkillItem();
	
	if( tool_MouseCursorBlock )
	{
		PutCompressedImage( 320 + CurMouseCursorSpotX, 240 + CurMouseCursorSpotY, s );
		int ttx = 320 + Mapx, 
			tty = 240 + Mapy;
		Line( ttx-5, tty, ttx+5, tty, 0xffff );
		Line( ttx, tty-5, ttx, tty+5, 0xffff );
	}
	CurMouseCursorFrameCounter();
}
*/
/*
void CursorDisplay_Sub( int *newflag )
{			
	int sx, sy, ex, ey;
	char *t;
	static int oldx, oldy;


	if( MouseCursorOnOff == false ) return;// 扁賤矯傈吝.

//	if( SMenu[MN_LOGO_START_SAMSUNG].bActive==TRUE ) return;
	if( SMenu[MN_LOGO_START].bActive==true ) return;

	
	if( oldx == g_pointMouseX && oldy == g_pointMouseY ) return;
	oldx = g_pointMouseX, oldy = g_pointMouseY;

	t = g_DestBackBuf;
	WORD twdxsize = wDxSize;
	DWORD tddxsize = dDxSize;
	wDxSize = wSurDxSize;
	dDxSize = dSurDxSize;

	g_DestBackBuf = GetSurfacePointer( g_DirectDrawInfo.lpDirectDrawSurfacePrimary );
	if( *newflag == 1 )
	{	
		PutImageBox( MgBuf, g_DestBackBuf, PmcSx, PmcSy,  PmcEx, PmcEy );
	}	
	PmcSx = SCREEN_WIDTH;
	PmcSy = SCREEN_HEIGHT;
	PmcEx = PmcEy = 0;
	
	Spr *s = &mc[ CurMouseCursorNo-1][ CurMouseCursorAni]; 
	sx = g_pointMouseX + CurMouseCursorSpotX - s->ox;
	sy = g_pointMouseY + CurMouseCursorSpotY - s->oy;
	ex = sx + s->xl;
	ey = sy + s->yl;
	
	if( sx < PmcSx ) PmcSx = sx;
	if( sy < PmcSy ) PmcSy = sy;
	if( ex > PmcEx ) PmcEx = ex;
	if( ey > PmcEy ) PmcEy = ey;

	if( PmcSx < 0 ) PmcSx = 0;
	if( PmcSy < 0 ) PmcSy = 0;
	if( PmcEx > SCREEN_WIDTH -1) PmcEx = SCREEN_WIDTH-1;
	if( PmcEy > SCREEN_HEIGHT-1) PmcEy = SCREEN_HEIGHT-1;

	if( (PmcEx-PmcSx+1)*(PmcEy-PmcSy+1) >= MAX_MOUSE_AREA_BUF_SIZE )
		Error( "Mouse MgBuf is Too Small..\n %d %d %d %d",  PmcSx, PmcSy,  PmcEx, PmcEy );

	GetImageBox( MgBuf, g_DestBackBuf, PmcSx, PmcSy,  PmcEx, PmcEy );

	*newflag = 1;	

	if( SMenu[MN_LODING].bActive != TRUE )  // 拳擱 Loading且錠綽 嘛瘤 臼綽促.
	{	
		PutCompressedImage( g_pointMouseX + CurMouseCursorSpotX, g_pointMouseY + CurMouseCursorSpotY, s );
		withSkillItem();
	}	

	wDxSize = twdxsize;
	dDxSize = tddxsize;

	g_DestBackBuf = t;
}
*/
/*
int CursorDisplay( int *newflag )
{
//	MSG msg;
	int c=0;

	if( SysInfo.dx == 0 ) return 1;

//  while( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) !=0 )
//  {	
//		if( msg.message == WM_QUIT ) 
//		{	
//			QuitFlag = SWD_QUIT;
//			return 0;
//		}
//		TranslateMessage(&msg);
//		DispatchMessage(&msg);
//	}	




	if( c == 0 ) CursorDisplay_Sub( newflag );

	return 1;
}
*/
void FreeMouseCursor ( void )
{	
	if( McBuf ) GlobalFree( McBuf );
	McBuf = NULL;
}
void LoadMouseCursor( char *filename )
{		
	FILE *fp;
	char  temp[ FILENAME_MAX];
	short no;
	DWORD sysfilelength, size;
	DWORD nOff = 0;
	int   i,j;

	FreeMouseCursor ();
		
	sprintf( temp, "./data/%s", filename );
		
	fp = Fopen( temp, "rb" );
	if( fp == NULL ) return;
		
	fread( &no, 2,1, fp);
	fseek( fp, no * 4, SEEK_CUR );  // 坷橇悸 膠諾
	sysfilelength = _filelength( _fileno( fp) ) - no * 4 * 2 - 2;
			
	MemAlloc(McBuf, sysfilelength );
		
	for( i = 0 ;i < no / 20  ; i ++) // MAX_MOUSE_CURSOR
	{	
		for( j = 0 ; j < 20 ; j ++)
		{
			if( nOff >= sysfilelength )
				Error("mouse cursor Sprite file size too big" );

			fread( &size, 4,1, fp);
			
			fread( &mc[i][j].xl, sizeof( short ), 1, fp);
			fread( &mc[i][j].yl, sizeof( short ), 1, fp);
			fread( &mc[i][j].ox, sizeof( short ), 1, fp);
			fread( &mc[i][j].oy, sizeof( short ), 1, fp);
			fread( &mc[i][j].size, sizeof( unsigned int ), 1, fp);
			
			fread( McBuf + nOff, mc[i][j].size,1 ,fp);
			mc[i][j].img = (char *)McBuf + nOff;

			convert565to555( &mc[i][j]);
			nOff += size;

		}	
	}	
	fclose(fp);
}

//-------------------------------------------------------------------
//-------------------------------------------------------------------
//-------------------------------------------------------------------
//-------------------------------------------------------------------
//-------------------------------------------------------------------

void DeleteSkillCursor( LPSKILLCURSOR tt )
{		
	LPSKILLCURSOR  t = g_SkillCursor;

	while( t != NULL )
	{		
		if( t == tt )
		{	
			if( t->ch == Hero ) 
			{
				MouseCursorOnOff = true;
			}

			if( t == g_SkillCursor )
			{	
				t = g_SkillCursor->next;
				MemFree( g_SkillCursor );
		
				g_SkillCursor = t;
				if( t != NULL )	g_SkillCursor->prev = NULL;
				
				return;
			}
			else 
			{
				if ( t->prev != NULL )
					t->prev->next = t->next;
	
				if( t->next != NULL )
					t->next->prev = t->prev;
	
				
   				MemFree( t );
				return;
			}
		}
		t = t->next;
	}		
}	
LPSKILLCURSOR AddSkillCursor( LPCHARACTER ch, int skillno, int cursorno, int x, int y, int repeat )
{
	LPSKILLCURSOR temp = NULL, t;
	cursorno /= 10;
	if( cursorno == 0 ) return NULL;
	
	//-----------------------------------
	
	if( ch == Hero ) MouseCursorOnOff = false;
	
	MemAlloc( temp, sizeof( SKILLCURSOR ));
	
	temp->ch		= ch;
	temp->skillno	= skillno;
	temp->cursorno	= cursorno-1;
	temp->x			= x;
	temp->y			= y;
	temp->curframe	= cursorani[cursorno-1].start;
	temp->repeat	= repeat;
	temp->endtime   = g_curr_time + repeat;
	
	
	temp->prev = NULL;
	temp->next = NULL;
	
	
	
	if( g_SkillCursor == NULL )
	{	
		g_SkillCursor		= temp;
	}	
	else
	{	
		t					= g_SkillCursor;
		g_SkillCursor		= temp;
		g_SkillCursor->next	= t;
		t->prev				= g_SkillCursor;
	}		
	
	return g_SkillCursor;
}	
	
bool StopDoingSkillCursor( LPCHARACTER ch )
{	
	LPSKILLCURSOR t, temp;
	
	t = g_SkillCursor;
	while( t != NULL )
	{		
		if( t->ch == ch )
		{
			temp = t->next; 
			DeleteSkillCursor( t ); 
			t = temp; 
			continue; 
		}	
		t = t->next;
	}			
	return false;
}	
	
	
	
bool IsDoingSkillCursor( LPCHARACTER ch )
{	
	LPSKILLCURSOR t;
	
	t = g_SkillCursor;
	while( t != NULL )
	{		
		if( t->ch == ch )
		{
			return true;
		}	
			
		t = t->next;
	}			
	return false;
}	
	
	
	
	
void OutputSkillCursor( void )
{	
	LPSKILLCURSOR t, temp;
	LPORDERTABLE o;
	
	t = g_SkillCursor;
	while( t != NULL )
	{		
		if( t->curframe >= cursorani[ t->cursorno].end ) 
		{	
			t->repeat--;
			if( t->repeat <= 0 ) 
//			if( g_curr_time > t->endtime )
			{
				temp = t->next; 
				DeleteSkillCursor( t ); 
				t = temp; 
				continue; 
			}
			else
			{
				t->curframe = cursorani[t->cursorno].start;
			}
		}	
			
		t->sp = &mc[ t->cursorno ][ t->curframe ];
			
		if( t->curframe == cursorani[t->cursorno].start )
		{
			if( SkillTable[ t->skillno].Effect_wave1 )
			{
				PlayListAutoSounds( SkillTable[ t->skillno].Effect_wave1, 0, 0, 0 );
			}
		}
		
		
		if( BoxAndDotCrash( Mapx, Mapy, GAME_SCREEN_XSIZE, GAME_SCREEN_YSIZE, t->x, t->y ) )
		{		
			o = &g_OrderInfo.order[ g_OrderInfo.count ];
					
			o->wType		= SPRITETYPE_SKILLCURSOR;
			o->x			= t->x + cursorani[t->cursorno].offx;
			o->y			= t->y + cursorani[t->cursorno].offy;
			o->height		= 0;
			o->offset		= t->y + cursorani[t->cursorno].offy;
			o->lpvData		= (LPVOID)t;
			o->show			= 1;
			o->sort			= 1;
			g_OrderInfo.count++;
		}	
		
		t->curframe ++;
		t = t->next;
	}		
}		
	
/////////////////////////////////////////////////////////////////////////////////////////
	
static int		HEAD, TAIL;
	
void ClearQueue( void )
{	
	HEAD = TAIL = 0;
}
	
int queuein( t_queue *n )
{	
	if( (TAIL+1) %  MAX_MQUEUE != HEAD )
	{	
		memcpy( &aQueue[TAIL], n, sizeof( t_queue ) );
		TAIL ++;
		TAIL = TAIL % MAX_MQUEUE ;
		return 1;
	}	
	return 0;
}	

int queueout( t_queue *n)
{		
	if( TAIL != HEAD )
	{	
		memcpy( n, &aQueue[HEAD], sizeof( t_queue ) );
		HEAD ++;
		HEAD = HEAD % MAX_MQUEUE;
		return 1;
	}	
		
	n = NULL;
	return 0;
}	
	
	
	
	
	
	
	
	
	
		

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲男同1069视频| 国产成人亚洲精品青草天美| 久久精品国产免费看久久精品| 福利一区二区在线观看| 欧美高清视频在线高清观看mv色露露十八| xf在线a精品一区二区视频网站| 亚洲精品国产精华液| 国产麻豆欧美日韩一区| 91精品啪在线观看国产60岁| 亚洲欧美成人一区二区三区| 国产精品18久久久久久久久| 欧美一级电影网站| 亚洲一区二区av电影| k8久久久一区二区三区| 国产午夜精品久久| 国产一区二区三区黄视频 | 亚洲欧美自拍偷拍| 国产美女精品一区二区三区| 日韩免费高清电影| 美女爽到高潮91| 欧美日韩高清影院| 亚洲一区二区综合| 色8久久人人97超碰香蕉987| 中文在线一区二区| 东方欧美亚洲色图在线| 337p粉嫩大胆色噜噜噜噜亚洲| 日韩 欧美一区二区三区| 日本道色综合久久| 亚洲精品视频在线| 在线亚洲高清视频| 亚洲午夜三级在线| 欧美日韩黄色影视| 天天综合网天天综合色| 欧美三级中文字幕| 亚洲成av人在线观看| 欧美酷刑日本凌虐凌虐| 免费成人av资源网| 久久网站最新地址| 成人黄色综合网站| 亚洲女人****多毛耸耸8| 91极品视觉盛宴| 日韩av一二三| 久久午夜电影网| av中文字幕在线不卡| 一区二区高清视频在线观看| 欧美伊人久久久久久久久影院| 午夜精品国产更新| 欧美成va人片在线观看| 国产成人激情av| 一区二区激情视频| 日韩精品专区在线| 国产成人av一区二区三区在线观看| 国产精品女同互慰在线看 | 风间由美性色一区二区三区| 国产精品乱人伦| 国产福利精品导航| 亚洲精品自拍动漫在线| 欧美久久久久久蜜桃| 国产麻豆视频精品| 夜夜爽夜夜爽精品视频| 日韩一区二区三区在线| 成人免费精品视频| 日韩黄色小视频| 中文字幕在线不卡| 欧美一卡2卡3卡4卡| 成人av电影免费观看| 午夜精品久久久久久| 欧美激情中文不卡| 91精品中文字幕一区二区三区| 国产一区二区福利视频| 亚洲夂夂婷婷色拍ww47| 26uuu成人网一区二区三区| 色屁屁一区二区| 国产一区欧美一区| 亚洲国产中文字幕在线视频综合| 精品成人免费观看| 在线观看三级视频欧美| 国产激情精品久久久第一区二区| 香蕉影视欧美成人| 亚洲码国产岛国毛片在线| 亚洲精品在线观| 91精品中文字幕一区二区三区| jlzzjlzz亚洲日本少妇| 韩国一区二区在线观看| 亚洲成人动漫av| ㊣最新国产の精品bt伙计久久| 欧美成人一区二区三区在线观看 | 一区二区三区免费| 久久毛片高清国产| 欧美v亚洲v综合ⅴ国产v| 欧美亚洲综合久久| 91免费国产在线| 国产suv精品一区二区883| 麻豆精品一区二区三区| 亚洲第一搞黄网站| 亚洲精品国久久99热| 日本一二三四高清不卡| 2014亚洲片线观看视频免费| 欧美日韩免费视频| 欧美午夜在线一二页| 色狠狠综合天天综合综合| 国产suv一区二区三区88区| 久久不见久久见免费视频1| 丝袜a∨在线一区二区三区不卡| 亚洲精选视频免费看| 中文av一区二区| 国产女同性恋一区二区| 久久蜜桃一区二区| 国产亚洲精品福利| 久久久久久夜精品精品免费| 精品国产91久久久久久久妲己| 91精品在线麻豆| 日韩亚洲欧美中文三级| 日韩欧美亚洲一区二区| 日韩欧美一区二区三区在线| 日韩网站在线看片你懂的| 日韩欧美国产三级| 精品国产在天天线2019| 久久色.com| 中文字幕一区二区三区四区不卡 | 中文字幕欧美日韩一区| 国产亚洲欧美日韩俺去了| 欧美激情在线一区二区三区| 欧美精彩视频一区二区三区| 国产精品伦理在线| 亚洲精品国产一区二区精华液 | 国产乱码精品一区二区三区忘忧草 | 尤物av一区二区| 一区二区三区国产精品| 亚洲一级不卡视频| 看片网站欧美日韩| 久久97超碰国产精品超碰| 国产激情91久久精品导航| 成人av动漫网站| 在线观看网站黄不卡| 7777女厕盗摄久久久| 久久久久久久av麻豆果冻| 国产女同性恋一区二区| 一区二区三区日韩精品视频| 亚洲国产成人av好男人在线观看| 无码av中文一区二区三区桃花岛| 日韩精品亚洲专区| 国产精品一区二区果冻传媒| www.在线成人| 欧美乱熟臀69xxxxxx| 精品成a人在线观看| 一区二区三区中文字幕| 午夜国产精品一区| 国产精品小仙女| 欧美日韩视频在线第一区| 精品国产一区二区三区久久久蜜月| 欧美极品aⅴ影院| 日日噜噜夜夜狠狠视频欧美人| 国产精品99久久久久| 欧美在线不卡一区| 久久在线免费观看| 一区二区视频在线看| 久久国产免费看| 色哟哟一区二区| 26uuu亚洲| 亚洲一区二区美女| 成人免费毛片嘿嘿连载视频| 在线观看91精品国产麻豆| 欧美国产精品一区二区| 婷婷久久综合九色综合绿巨人 | 国产成人自拍高清视频在线免费播放| 色噜噜狠狠成人网p站| 久久免费看少妇高潮| 日韩高清不卡一区二区三区| 99精品国产热久久91蜜凸| 91精品久久久久久蜜臀| 亚洲综合激情另类小说区| 国产成人av电影| 精品久久人人做人人爱| 日韩国产一二三区| 欧洲一区二区三区免费视频| 中文字幕亚洲一区二区va在线| 精品夜夜嗨av一区二区三区| 欧美日本在线看| 一区二区三区在线视频播放| 成人av网站在线观看| 久久精品一区二区三区不卡牛牛| 天天色 色综合| 色94色欧美sute亚洲13| 亚洲色图在线视频| 国产99久久久国产精品免费看| 日韩视频免费观看高清完整版在线观看 | 精品伦理精品一区| 日韩**一区毛片| 91精品国产综合久久久久| 亚洲成a人v欧美综合天堂下载| 91福利视频在线| 亚洲乱码一区二区三区在线观看| 成人开心网精品视频| 欧美国产日产图区| 成人中文字幕合集| 国产精品色在线观看| 成人精品视频一区二区三区尤物| 久久久亚洲精华液精华液精华液 | 91免费小视频|