/*************************************************************************
*	SIDEWORK TOOL
*************************************************************************/

int		_sdktool_make_template( char *instdir );

char	*_sdktool_file[10] =
{
	"メニュー           sdkmenu.exp"  ,
	"数式計算           sdkcalc.exp"  ,
	"CD演奏開始         sdkcdt.exp    \"play -cdvol 127\"",
	"CD演奏停止         sdkcdt.exp    \"stop\""           , 
	"CD辞書検索         sdkdic.exp"   ,
	"ファイルセレクタ   sdkfs.exp"    ,
	"システムロック     sdklock.exp"  ,
	"SMFPLAY            smfplay.exp"  ,
	NULL          
};

#if	0
int		_sdktool_config(char *instdir,int item_setup)
{
	int			ret, drv;
	char	   *dlgTxm;
	char	   *fp;
	char		tmp[256], fn[256];

_RETRY:
	_sdktool_setdrv = -1;
	dlgTxm = DlgTxm_open(ColBoxNormal);
	DlgTxm_setTitle(dlgTxm,Fnt16x16,"サイドワーク環境設定");

	DlgTxm_putf( dlgTxm, Fnt16x12, TXMDAT_ATT_CENTER, "ｲﾝｽﾄｰﾙ先 : %s", instdir );
	DlgTxm_putf( dlgTxm, Fnt16x12, TXMDAT_ATT_CENTER, "");
	DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
	    "サイドワークプログラムの登録は行いますか？");

	DlgTxm_setBtn( dlgTxm, Fnt16x16, 128, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK,
	    'S'    , KA_S     , 1, "", 0, "登録する : [S]");
	DlgTxm_setBtn( dlgTxm, Fnt16x16, 128, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK,
	    '\x1B' , KA_CANCEL, 0, "", 0, "登録しない : [取消]");

	DlgTxm_setSize(dlgTxm,480,40);
	DlgTxm_setPosition(dlgTxm,DLGPOS_CENTER_OF_SCREEN);
	do
	{
		ret = DlgTxm_start(dlgTxm);
	} while ( ret < 0 );
	DlgTxm_close(dlgTxm);
	if ( ret != 1 )
		return (0);

	tmp[0] = '\0';
	APL_setInstallDir(tmp,"TownsOSがｲﾝｽﾄｰﾙされているﾄﾞﾗｲﾌﾞを指定してください");
	drv = tmp[0];
	if ( !isalpha(drv) )
		drv = FS_getdrv() + 'A';
	sprintf( fn, "%c:/SIDEWORK/sidework.sys", drv );
	if ( (fp = FS_fopen(fn,"r")) == NULL )
	{
		dlgTxm = DlgTxm_open(ColBoxError);
		DlgTxm_setTitle(dlgTxm,Fnt16x16,"SIDEWORK CONFIG ERROR");

		DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
		    "サイドワークの定義ファイルが見つかりません");
		DlgTxm_putf( dlgTxm, Fnt16x12, TXMDAT_ATT_CENTER, "%s", fn );

		DlgTxm_setBtn( dlgTxm, Fnt16x16, 128, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK,
		    '\r'   , KA_EXEC  , 1, "", 0, "OK : [実行]");
	
		DlgTxm_setSize(dlgTxm,480,40);
		DlgTxm_setPosition(dlgTxm,DLGPOS_CENTER_OF_SCREEN);
		do
		{
			ret = DlgTxm_start(dlgTxm);
		} while ( ret < 0 );
		DlgTxm_close(dlgTxm);
		goto _RETRY;
	}
	FS_fclose(fp);
	_sdktool_setdrv = toupper(drv) - 'A';

	return (0);
}
#endif

int		_sdktool_install(char *instdir,int item_setup)
{
	int			ret, att;
	char	   *srcdir, *instfile;
	char		tmp[256];

	syl_putf("SIDEWORK PROGRAM INSTALL");

	srcdir    = "/TAROPYON/SDK";
	instfile  = "*.exp *.dll *.doc";

	srcdir = _tc_getFcopySrcDir( srcdir, tmp);
	att    = _FCOPY_MODE_INIT;
	ret    =  FCOPY_exec(att, srcdir, instfile, instdir);

	if ( ret == NORMAL )
	{	/* サイドワーク定義ファイルのテンプレート作成	*/
		ret = _sdktool_make_template( instdir );
	}
	return (ret);
}

int		_sdktool_make_template( char *instdir )
{
	int			i, argc;
	char	   *fp;
	char	  **argv, tmp[256], fn[256], para[256];

	strcpy( tmp, instdir);	add_path_fn(tmp,"sidework.tmp");
	if ( (fp = FS_fopen(tmp,"wb")) == NULL )
		return (-1);
	for ( i = 0; _sdktool_file[i] != NULL; ++i )
	{
		if ( (argc = DTA_makeArg(_sdktool_file[i],&argv)) > 0 )
		{
			if ( argc > 1 )
			{
				strcpy( tmp, instdir);	add_path_fn(tmp,argv[1]);
				FS_dosFn(fn,tmp);
				if ( argc > 2 )
					sprintf(para," %s", argv[2]);
				else
					para[0] = '\0';
				fprintf(fp,"%c \"%s\" %s%s\r\n",
				    i + 'A', argv[0], fn, para);
			}
			DTA_clearArg(argc,argv);
		}
	}
	FS_fclose(fp);
	return (0);
}
