home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Phoenix Heaven Sunny 2
/
APPARE2.BIN
/
oh_towns
/
install
/
_eastray.c
next >
Wrap
Text File
|
1995-06-20
|
7KB
|
191 lines
/*************************************************************************
* EASTRAYインストール処理
*************************************************************************/
int _eastray_demo()
{
static char *tiflist[16] =
{
"MOON.TIF" ,
"RAYTRACE.TIF",
"BALL3_2.TIF" ,
"FPICS.TIF" ,
"FPICS2.TIF" ,
"FR_C.TIF" ,
"PLANET_C.TIF",
"SAM10.TIF" ,
"SAM13.TIF" ,
"SAM9.TIF" ,
"TEST10.TIF" ,
"TOUMEI_C.TIF",
"FIG3X.TIF" ,
"FIG5X.TIF" ,
"FIG6_2.TIF" ,
NULL
};
FS_chdrv( toupper(DirStart[0]) - 'A' );
FS_chdir( "/OH_TOWNS/EASTRAY/DEMO" );
tiflist_disp(tiflist);
return (0);
}
int install_eastray()
{
int ret, drv, fcopy_att, prog_type, srcdrv, item_setup;
char *softname;
char *helpfn;
char *srcdir;
char instdir[256], *instfile;
char *item_prog, *item_ttl, item_para[128];
int item_att;
char *dlgTxm;
char tmp[256], tmp2[256];
instdir[0] = '\0';
#if 0
softname = "「高機能レイトレーシングシステム EASTRAY」";
#else
softname = "「高機能レイトレーシング システム EASTRAY」";
#endif
srcdir = "/OH_TOWNS/EASTRAY";
instfile = "*.*";
helpfn = "/OH_TOWNS/EASTRAY/EASTRAY.GGG";
item_att = 2;
srcdrv = toupper(DirStart[0]) - 'A';
_TOP:
syl_putf("%s",softname);
dlgTxm = DlgTxm_open(ColBoxNormal);
DlgTxm_setTitle(dlgTxm,Fnt16x16,softname);
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
"%s をインストールします。", softname );
DlgTxm_putf( dlgTxm, Fnt16x12, TXMDAT_ATT_CENTER, "");
DlgTxm_setBtn( dlgTxm, Fnt16x16, 120, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '\r' , KA_EXEC ,
1, "", 0, "インストール : [実行]");
DlgTxm_setBtn( dlgTxm, Fnt16x16, 120, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, 'H' , KA_H ,
2, "inst_help", helpfn, "説明 : [H]");
DlgTxm_setBtn( dlgTxm, Fnt16x16, 120, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, 'D' , KA_D ,
3, "", 0, "デモ : [D");
DlgTxm_setBtn( dlgTxm, Fnt16x16, 120, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '\x1B', KA_CANCEL,
4, "", NULL, "取消 : [取消]");
DlgTxm_setSize(dlgTxm,480,40);
DlgTxm_setPosition(dlgTxm,DLGPOS_CENTER_OF_SCREEN);
do
{
ret = DlgTxm_start(dlgTxm);
} while ( ret == 2 );
DlgTxm_close(dlgTxm);
if ( ret == 3 )
{ /* デモ */
_eastray_demo();
goto _TOP;
} else if ( ret != 1 )
goto _RET;
/* インストールプログラム選択 ----------------------------------------*/
dlgTxm = DlgTxm_open(ColBoxNormal);
DlgTxm_setTitle(dlgTxm,Fnt16x16,softname);
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
"プログラムの種別を指定してください。" );
DlgTxm_putf( dlgTxm, Fnt16x12, TXMDAT_ATT_CENTER, "");
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_LEFT, " 1. TOS386 … TOWNS 用" );
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_LEFT, " 2. TOS387 … TOWNS 用 (数値演算プロセッサ/ODP 搭載機種)" );
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_LEFT, " 3. DOS386 … DOS-EXTENDER汎用" );
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_LEFT, " 4. DOS387 … DOS-EXTENDER汎用(数値演算プロセッサ/ODP 搭載機種)" );
DlgTxm_setBtn( dlgTxm, Fnt16x16, 128, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '1', KA_1,
1, "", 0, "TOS386 : [1]");
DlgTxm_setBtn( dlgTxm, Fnt16x16, 128, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '2', KA_2,
2, "", 0, "TOS387 : [2]");
DlgTxm_setBtn( dlgTxm, Fnt16x16, 128, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '3', KA_3,
3, "", 0, "DOS386 : [3]");
DlgTxm_setBtn( dlgTxm, Fnt16x16, 128, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '4', KA_4,
4, "", 0, "DOS387 : [4]");
DlgTxm_setSize(dlgTxm,480,40);
DlgTxm_setPosition(dlgTxm,DLGPOS_CENTER_OF_SCREEN);
do
{
ret = DlgTxm_start(dlgTxm);
} while ( ret < 1 );
DlgTxm_close(dlgTxm);
prog_type = ret;
/* インストール先指定 --------------------------------------------*/
ret = APL_setInstallDir(instdir,"%s : インストール先指定", softname);
if ( ret )
goto _TOP;
dlgTxm = DlgTxm_open(ColBoxNormal);
DlgTxm_setTitle(dlgTxm,Fnt16x16,softname);
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
"%s", instdir );
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
"このディレクトリにインストールしてもいいですか?" );
DlgTxm_putf( dlgTxm, Fnt16x12, TXMDAT_ATT_CENTER,"");
if ( prog_type == 1 || prog_type == 2 )
{
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
"インストール1 … ファイルを複写してTownsMENU にアイテム登録");
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
"インストール2 … ファイルを複写(アイテム登録はしない) ");
DlgTxm_setBtn( dlgTxm, Fnt16x16, 144, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '\r' , KA_EXEC , 1, "", 0, "インストール1 : [実行]");
DlgTxm_setBtn( dlgTxm, Fnt16x16, 144, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, 'C' , KA_C , 2, "", 0, "インストール2 : [C]");
} else
{
DlgTxm_setBtn( dlgTxm, Fnt16x16, 144, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '\r' , KA_EXEC , 2, "", 0, "インストール : [実行]");
}
DlgTxm_setBtn( dlgTxm, Fnt16x16, 144, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '\x1B', KA_CANCEL, 3, "", 0, "取消 : [取消]");
DlgTxm_setSize(dlgTxm,320,40);
DlgTxm_setPosition(dlgTxm,DLGPOS_CENTER_OF_SCREEN);
ret = DlgTxm_start(dlgTxm);
DlgTxm_close(dlgTxm);
if ( ret != 1 && ret != 2 )
goto _TOP;
item_setup = (ret == 1 ? 1 : 0);
/* インストール開始 ------------------------------------------------*/
syl_putf("INSTALL START");
switch ( prog_type )
{
case 1: srcdir = "/OH_TOWNS/EASTRAY/PROGRAM/TOWNS386"; break;
case 2: srcdir = "/OH_TOWNS/EASTRAY/PROGRAM/TOWNS387"; break;
case 3: srcdir = "/OH_TOWNS/EASTRAY/PROGRAM/EXTEN386"; break;
case 4: srcdir = "/OH_TOWNS/EASTRAY/PROGRAM/EXTEN387"; break;
}
FS_chdrv(srcdrv);
FS_getFullPn(tmp,srcdir);
fcopy_att = FCOPY_ATT_TIMESTAMP | FCOPY_ATT_CHK_OVERWRITE;
instfile = "*.*";
ret = FCOPY_exec(fcopy_att, tmp, instfile, instdir);
/* アイテム登録 ----------------------------------------------------*/
if ( ret == NORMAL && item_setup != 0 )
{
syl_putf("ITEM SETUP");
drv = toupper(instdir[0]) - 'A';
strcpy(item_para,"");
strcpy(tmp,instdir);
add_path_fn(tmp,"SUPPORT.EXP");
item_setApl( drv, 1024, "EASTRAY/SUPPORT", tmp, item_para, item_att );
}
/* インストール終了 ------------------------------------------------*/
install_end( softname, ret );
_RET:
syl_clear();
return (0);
}