/*************************************************************************
*	"blackout.c"
*************************************************************************/

int		BlackOutUsr_func( int x1, int y1, int x2, int y2)
{
	int		x, y, r, c, col;
	int		xs, ys;
	char	para[8];

	xs = x2 - x1 + 1;
	ys = y2 - y1 + 1;
	c = 0;
	while ( 1 )
	{
		if ( ++c > 128 )
		{
			DSP_boxf( x1, y1, x2, y2, PSET, C_MBLACK );
			c = 0;
		}
		if ( (c & 15) == 0 )
		{
			EVT_idl();
			MOS_COFF();
		}
		if ( kbhit() || (KYB_shift() & 0x14) != 0 || MOS_pget(&x,&y) )
			break;
		col = (rand() % 14) + 1;
		x = x1 + (rand() % xs);
		y = y1 + (rand() % ys);
		r = rand() % 320;			/* 半径	*/
		EGB_color( EgbPtr,0,col);
		EGB_writeMode( EgbPtr, PSET );
		EGB_paintMode( EgbPtr, 0x002);
		_setWord( para  , x );
		_setWord( para+2, y );
		_setWord( para+4, r );
		EGB_circle( EgbPtr, para );
	}
}

/*************************************************************************
*	ブラックアウト設定（デバッグ用）
*-------------------------------------------------------------------------
*	アイテム登録可能（パラメータ必須）
*	パラメータ：	<時間(秒)>	[<関数名>]
*************************************************************************/

int		CCI_setBlackOut( int argc, char **argv )
{
	char	*func;

	if ( argc > 1 )
	{
		if ( argc > 2 )
			func = argv[2];
		else
			func = "";
		Apl_setBlackOut( 0, atoi(argv[1]) & 0xFFFF, func );
	}
	return (NORMAL);
}
