示例#1
0
文件: mouse.cpp 项目: 0xrofi/Aquaplus
void MUS_SetMouseRect_DispActive( int lay_onry )
{
	int	i,j,a;
	static int	disp_count=0;
	static int	alpha_count=0;

	for(i=0; i<disp_count ;i++){
		D3DD_ResetGraph( D3DD_MAX_DISP_AMOUNT-2-i );
	}

	disp_count=0;
	if(lay_onry==-1) return ;
	for(j=0; j<MOUSE_LAYER_MAX ;j++){
		if( !lay_onry && j!=MouseStruct.lno ) continue;
		for(i=0; i<MOUSE_REST_MAX ;i++){
			if( MouseCheck[j][i].flag){
				GD_SetGraphPrimitive( D3DD_MAX_DISP_AMOUNT-2-disp_count, 4, 20000, ON );
				GD_SetGraphDstRect( D3DD_MAX_DISP_AMOUNT-2-disp_count, MouseCheck[j][i].sx, MouseCheck[j][i].sy, MouseCheck[j][i].w, MouseCheck[j][i].h );

				if(MouseStruct.lno==j){
					if(MouseStruct.no==i){
						a=0;
					}else{

						a = 32 + STD_LimitLoop( alpha_count, 64);
					}
				}else{
					a=64;
				}

				switch(j%6){
					case 0:	GD_SetGraphColor( D3DD_MAX_DISP_AMOUNT-2-disp_count, a, 255, 0, 0 );	break;
					case 1:	GD_SetGraphColor( D3DD_MAX_DISP_AMOUNT-2-disp_count, a, 0, 255, 0 );	break;
					case 2:	GD_SetGraphColor( D3DD_MAX_DISP_AMOUNT-2-disp_count, a, 0, 0, 255 );	break;
					case 3:	GD_SetGraphColor( D3DD_MAX_DISP_AMOUNT-2-disp_count, a, 255, 255, 0 );	break;
					case 4:	GD_SetGraphColor( D3DD_MAX_DISP_AMOUNT-2-disp_count, a, 0, 255, 255 );	break;
					case 5:	GD_SetGraphColor( D3DD_MAX_DISP_AMOUNT-2-disp_count, a, 255, 0, 255 );	break;
				}
				GD_SetGraphBlendParam( D3DD_MAX_DISP_AMOUNT-2-disp_count, BLEND_ALPHA );
				GD_SetGraphGroup( D3DD_MAX_DISP_AMOUNT-2-disp_count, 0x03 );
				disp_count++;
			}
		}
	}
	alpha_count++;
}
示例#2
0
BOOL DEM_SystemMain(void )
{
	int		bmp_bpp = BPP(MainWindow.draw_mode2);
	BOOL	ret = TRUE;
	int		dc = (0x1000-DemoCounter[0])%96-16;
	int		r2 = STD_LimitLoop( GlobalCount2*4, 255 );

	int		r = timeGetTime();
	int		lr = STD_LimitLoop( r/8, 255 );
	int		x = r%DISP_X;
	int		y = r%DISP_Y;
	int		i=0,j=0;
	static int	flag = 0;
	char		*str = "<Aアクセント>が出せます。\n\\k<s6一次停止、<w30><s4スピード変更>とか>\\k表示中の演出挿入";
	static int	mh;
	int			Angle = 0;
	static		an=0;
	int			count = DemoCounter[1]*4;
	int			mx,my;
	MUS_GetMousePos( &mx, &my );

	MainWindow.draw_flag=1;

	Avg.frame=30;

	static int	wavw_cnt=0;
	AVG_GetGameKey();
	if(GameKey.click)
		wavw_cnt=0;
	
	if(GameKey.cansel)
		ChangeSetpCounter( 1, (DemoStep[1]+1)%2, 0 );
	
	if(KeyCond.trg.f1)
	{
	}
	if(KeyCond.trg.f2)
	{
	}
	if(KeyCond.trg.f3)
	{
	}
	if(KeyCond.trg.f4)
	{
	}

	r = SIN( timeGetTime()/10%256 )/2 ;

	switch( DemoStep[1] )
	{
		default:
		case 0:
			DSP_SetGraphPrim( 0, PRM_FLAT, POL_RECT, 0, ON );
			DSP_SetGraphPosRect( 0, 0,0,800,600 );
			DSP_SetGraphBright( 0, 255,128,50 );

			r = DemoCounter[0]*2%256;

			DSP_SetGraph( 1, 10 + (DemoCounter[0]*2/256+0)%4, 1, ON, CHK_NO );
			DSP_SetGraph( 2, 10 + (DemoCounter[0]*2/256+1)%4, 1, ON, CHK_NO );
			DSP_SetGraph( 3, 10 + (DemoCounter[0]*2/256+2)%4, 1, ON, CHK_NO );
			DSP_SetGraph( 4, 10 + (DemoCounter[0]*2/256+3)%4, 1, !!r, CHK_NO );

			DSP_SetGraphFade( 1, 64-r/8 );
			DSP_SetGraphPosPoly( 1, -r,    -r, 200-r*200/256, 150-r*150/256,
									-r, 600+r, 200-r*200/256, 150+300+r*150/256,
									0, 0, 400,   0, 0, 300, 400,     300 );

			DSP_SetGraphFade( 2, 128-r/4 );
			DSP_SetGraphPosPoly( 2, 200-r*200/256,     150-r*150/256, 200+400-r*400/256, 150,
									200-r*200/256, 300+150+r*150/256, 400+200-r*400/256, 150+300,
									0, 0, 400,   0, 0, 300, 400,     300 );

			DSP_SetGraphFade( 3, 64+r/4 );
			DSP_SetGraphPosPoly( 3, 400+200-r*400/256,     150, 800-r*200/256, 0+r*150/256,
									400+200-r*400/256, 300+150, 800-r*200/256, 600-r*150/256,
									0, 0, 400,   0, 0, 300, 400,     300 );

			DSP_SetGraphFade( 4, 32+r/8 );
			DSP_SetGraphPosPoly( 4, 800-r*200/256,     r*150/256, 800+256-r,    -256+r,
									800-r*200/256, 600-r*150/256, 800+256-r, 600+256-r,
									0, 0, 400,   0, 0, 300, 400,     300 );
			break;
		case 1:
			DSP_SetGraph( 0, 0, 0, ON, CHK_NO );
			DSP_ResetGraph( 1);
			DSP_ResetGraph( 2);
			DSP_ResetGraph( 3);
			DSP_ResetGraph( 4);
			if(0)
			{
				long	xxx[36];
				long	yyy[36];
				long	xx[6];
				long	yy[6];

				if(wavw_cnt<256) wavw_cnt+=4;
				r = COS( wavw_cnt )*1536/4096;
				r = r/32;

				xxx[0*6+0] = r*3;	yyy[0*6+0] = r*3;
				xxx[0*6+1] = r*2;	yyy[0*6+1] = r*2;
				xxx[0*6+2] = r;		yyy[0*6+2] = r;
				xxx[0*6+3] = -r;	yyy[0*6+3] = r;
				xxx[0*6+4] = -r*2;	yyy[0*6+4] = r*2;
				xxx[0*6+5] = -r*3;	yyy[0*6+5] = r*3;

				xxx[1*6+0] = r*2;	yyy[1*6+0] = r*2;
				xxx[1*6+1] = r;		yyy[1*6+1] = r;
				xxx[1*6+2] = r/2;	yyy[1*6+2] = r/2;
				xxx[1*6+3] = -r/2;	yyy[1*6+3] = r/2;
				xxx[1*6+4] = -r;	yyy[1*6+4] = r;
				xxx[1*6+5] = -r*2;	yyy[1*6+5] = r*2;

				xxx[2*6+0] = r;		yyy[2*6+0] = r;
				xxx[2*6+1] = r/2;	yyy[2*6+1] = r/2;
				xxx[2*6+2] = -r;	yyy[2*6+2] = -r;
				xxx[2*6+3] = r;		yyy[2*6+3] = -r;
				xxx[2*6+4] = -r/2;	yyy[2*6+4] = r/2;
				xxx[2*6+5] = -r;	yyy[2*6+5] = r;

				xxx[3*6+0] = r;		yyy[3*6+0] = -r;
				xxx[3*6+1] = r/2;	yyy[3*6+1] = -r/2;
				xxx[3*6+2] = -r;	yyy[3*6+2] = r;
				xxx[3*6+3] = r;		yyy[3*6+3] = r;
				xxx[3*6+4] = -r/2;	yyy[3*6+4] = -r/2;
				xxx[3*6+5] = -r;	yyy[3*6+5] = -r;

				xxx[4*6+0] = r*2;	yyy[4*6+0] = -r*2;
				xxx[4*6+1] = r;		yyy[4*6+1] = -r;
				xxx[4*6+2] = r/2;	yyy[4*6+2] = -r/2;
				xxx[4*6+3] = -r/2;	yyy[4*6+3] = -r/2;
				xxx[4*6+4] = -r;	yyy[4*6+4] = -r;
				xxx[4*6+5] = -r*2;	yyy[4*6+5] = -r*2;

				xxx[5*6+0] = r*3;	yyy[5*6+0] = -r*3;
				xxx[5*6+1] = r*2;	yyy[5*6+1] = -r*2;
				xxx[5*6+2] = r*1;	yyy[5*6+2] = -r*1;
				xxx[5*6+3] = -r*1;	yyy[5*6+3] = -r*1;
				xxx[5*6+4] = -r*2;	yyy[5*6+4] = -r*2;
				xxx[5*6+5] = -r*3;	yyy[5*6+5] = -r*3;

				x=mx;
				y=my;
				xx[0] = -128;
				xx[1] = 128+x*1/5-128;
				xx[2] = 128+x*4/5-128;
				xx[3] = 128+x+(800-x)/5-128;
				xx[4] = 128+x+(800-x)*4/5-128;
				xx[5] = 800+256-128;

				yy[0] = -96;
				yy[1] = 96+y*1/5-96;
				yy[2] = 96+y*4/5-96;
				yy[3] = 96+y+(600-y)/5-96;
				yy[4] = 96+y+(600-y)*4/5-96;
				yy[5] = 600+192-96;

				for(i=0;i<5;i++)
				{
					for(j=0;j<5;j++)
					{
						DSP_SetGraph( i*5+j, 1, 0, ON, CHK_NO );
						DSP_SetGraphPosPoly( i*5+j,
							xx[j]+xxx[ i   *6+j],   yy[i  ]+yyy[ i   *6+j],   xx[j+1]+xxx[ i   *6+j+1], yy[i  ]+yyy[ i   *6+j+1],
							xx[j]+xxx[(i+1)*6+j],   yy[i+1]+yyy[(i+1)*6+j],   xx[j+1]+xxx[(i+1)*6+j+1], yy[i+1]+yyy[(i+1)*6+j+1],
							xx[j]+128, yy[i]+96,   xx[j+1]+128, yy[i]+96,   xx[j]+128, yy[i+1]+96,   xx[j+1]+128, yy[i+1]+96 );
					}
				}
			}
			break;
		case 2:
			for( i=0 ; i<RippleGno ; i++ )
				DSP_ResetGraph( i );

			SetRipple( (DrawCount)%256 );
			DRW_RenewRippleTable(1);

			DSP_SetGraph( 0, 0, 1, ON, CHK_NO );
			DSP_SetGraphPos( 0, 0,0, 0,0, 800, 600 );
			DSP_SetGraphParam( 0, DRW_RP2( 255-LIM(r/10%512*4/3,0,255), r/20%256 ) );
			DSP_SetGraphFade( 0, 128-LIM(DrawCount%256-128,0,128) );
			break;
		case 3:
			DSP_SetGraph( 0, 0, 0, ON, CHK_NO );
			DSP_SetGraph( 1, 1, 1, ON, CHK_NO );
			DSP_SetGraphBSet2( 1, 2, 3, lr*lr/255 );
			break;
		case 4:
			DSP_SetTextStr( 0, "モザイクワイプ" );

			DSP_SetGraph( 0, 0, 0, ON, CHK_NO );
			DSP_SetGraphDisp( 1, OFF );
			DSP_SetGraphParam( 0, DRW_MOZ(count*2) );

			ChangeSetpCounter( 1, 5, 64 );
			break;
		case 5:
			DSP_SetGraph( 0, 1, 0, ON, CHK_NO );
			DSP_SetGraphDisp( 1, OFF );
			DSP_SetGraphParam( 0, DRW_MOZ(128-count*2) );

			ChangeSetpCounter( 1, 6, 64 );
			break;
		case 6:
			DSP_SetTextStr( 0, "モザイクフェード" );

			DSP_SetGraph( 0, 0, 1, ON, CHK_NO );
			DSP_SetGraph( 1, 1, 0, ON, CHK_NO );
			DSP_SetGraphParam( 0, DRW_BLD(count*4) );
			DSP_SetGraphParam( 1, DRW_MOZ(count*4) );

			ChangeSetpCounter( 1, 7, 64 );
			break;
		case 7:
			DSP_SetTextStr( 0, "パターンフェード1" );

			DSP_SetGraph( 0, 0, 0, ON, CHK_NO );
			DSP_SetGraph( 1, 1, 1, ON, CHK_NO );
			DSP_SetGraphBSet( 1, 2, count*4 );

			ChangeSetpCounter( 1, 8, 64 );
			break;
		case 8:
			DSP_SetTextStr( 0, "パターンフェード2" );

			DSP_SetGraph( 0, 0, 1, ON, CHK_NO );
			DSP_SetGraph( 1, 1, 0, ON, CHK_NO );
			DSP_SetGraphBSet( 0, 3, count*4 );

			ChangeSetpCounter( 1, 9, 64 );
			break;
		case 9:
			DSP_SetTextStr( 0, "パターンフェード3" );

			DSP_SetGraph( 0, 0, 0, ON, CHK_NO );
			DSP_SetGraph( 1, 1, 1, ON, CHK_NO );
			DSP_SetGraphBSet( 1, 4, count*4 );

			ChangeSetpCounter( 1, 10, 64 );
			break;
		case 10:
			DSP_SetTextStr( 0, "パターンフェード4(放射)" );
			DSP_SetGraph( 0, 0, 1, ON, CHK_NO );
			DSP_SetGraph( 1, 1, 0, ON, CHK_NO );
			DSP_SetGraphBSet( 0, 5, count*4 );
			ChangeSetpCounter( 1, 11, 64 );
			break;
		case 11:
			DSP_SetTextStr( 0, "パターンフェード5(文字)" );

			DSP_SetGraph( 0, 0, 0, ON, CHK_NO );
			DSP_SetGraph( 1, 1, 1, ON, CHK_NO );
			DSP_SetGraphBSet( 1, 6, count*4 );
			ChangeSetpCounter( 1, 12, 64 );
			break;

		case 12:
			DSP_SetTextStr( 0, "スクロールワイプ(横)" );

			DSP_SetGraph( 0, 0, 0, ON, CHK_NO );
			DSP_SetGraph( 1, 1, 1, ON, CHK_NO );

			r = count*count/64;
			x = 800*r/64;
			DSP_SetGraphMove( 0, x-800, 0 );
			DSP_SetGraphMove( 1, x, 0 );

			DSP_SetGraphParam( 0, DRW_BLD(32+r*2) );
			DSP_SetGraphParam( 1, DRW_BLD(32) );

			ChangeSetpCounter( 1, 13, 64 );
			break;

		case 13:
			DSP_SetTextStr( 0, "スクロールワイプ(縦)" );

			DSP_SetGraph( 0, 0, 0, ON, CHK_NO );
			DSP_SetGraph( 1, 1, 1, ON, CHK_NO );

			r = count*count/64;
			y = -600*r/64;
			DSP_SetGraphMove( 0, 0, y );
			DSP_SetGraphPosRect( 1, 0, y+600, 800, 600 );

			DSP_SetGraphParam( 0, DRW_BLD(32) );
			DSP_SetGraphParam( 1, DRW_BLD(32+r*2) );

			ChangeSetpCounter( 1, 14, 64 );
			break;

		case 14:
			DSP_SetTextStr( 0, "ズームワイプ1" );

			DSP_SetGraph( 0, 0, 1, ON, CHK_NO );
			DSP_SetGraph( 1, 1, 0, ON, CHK_NO );

			r = 64-(64-count)*(64-count)/64;
			DSP_SetGraphZoom2( 1, 400, 300, r*4 );
			DSP_SetGraphParam( 0, DRW_BLD(r*4) );

			ChangeSetpCounter( 1, 15, 64 );
			break;
		case 15:
			DSP_SetTextStr( 0, "ズームワイプ2" );

			DSP_SetGraphDisp( 0, OFF );
			DSP_SetGraph( 1, 1, 0, ON, CHK_NO );

			r = 64-count*count/64;
			DSP_SetGraphZoom2( 1, 400, 300, r*4 );
			DSP_SetGraphParam( 1, DRW_BLD(16+128-r*2) );

			ChangeSetpCounter( 1, 16, 64 );
			break;
		case 16:
			DSP_SetTextStr( 0, "ズームワイプ3" );

			DSP_SetGraph( 0, 0, 0, ON, CHK_NO );
			DSP_SetGraph( 1, 1, 1, ON, CHK_NO );

			r = 64-count;
			r = r*r/64;
			DSP_SetGraphPos( 1, 0, 0, 0,0, 800, 600 );
			DSP_SetGraphZoom2( 1, 400, 300, r*4-256 );
			DSP_SetGraphParam( 1, DRW_BLD(r*4) );

			ChangeSetpCounter( 1, 17, 64 );
			break;
		case 17:
			DSP_SetTextStr( 0, "ズームワイプ4" );

			DSP_SetGraphDisp( 0, OFF );
			DSP_SetGraph( 1, 1, 1, ON, CHK_NO );

			r = 64-count;
			r = 64-r*r/64;
			DSP_SetGraphPos( 1, 0, 0, 0,0, 800, 600 );
			DSP_SetGraphZoom2( 1, 400, 300, r*4-256 );
			DSP_SetGraphParam( 1, DRW_BLD(r*2) );

			ChangeSetpCounter( 1, 18, 64 );
			break;
		case 18:
			DSP_SetTextStr( 0, "ノイズワイプ" );

			DSP_SetGraph( 0, 0, 1, ON, CHK_NO );
			DSP_SetGraph( 1, 1, 0, ON, CHK_NO );

			r = count*2;
			DSP_SetGraphParam( 0, DRW_NIS(r) );

			ChangeSetpCounter( 1, 19, 128 );
			break;
		case 19:
			DSP_SetTextStr( 0, "加算パターンホワイトフェード" );

			DSP_SetGraph( 0, 0, 0, ON, CHK_NO );
			DSP_SetGraph( 1, 5, 1, ON, CHK_NO );

			r = STD_LimitLoop( count, 64 )*4;
			DSP_SetGraphParam( 1, DRW_ADD );
			DSP_SetGraphFade( 1, r );

			ChangeSetpCounter( 1, 20, 128 );
			break;
		case 20:
			DSP_SetTextStr( 0, "減算パターンフェード" );

			DSP_SetGraph( 0, 0, 0, ON, CHK_NO );
			DSP_SetGraph( 1, 5, 1, ON, CHK_NO );

			r = STD_LimitLoop( count, 64 )*4;
			DSP_SetGraphParam( 1, DRW_SUB );
			DSP_SetGraphFade( 1, r );

			ChangeSetpCounter( 1, 0, 128 );
			break;
	}
	AVG_ControlWeather();
	return ret;
}