home *** CD-ROM | disk | FTP | other *** search
/ Phoenix Heaven Sunny 2 / APPARE2.BIN / oh_towns / install / _eastray.c next >
Text File  |  1995-06-20  |  7KB  |  191 lines

  1. /*************************************************************************
  2. *    EASTRAYインストール処理
  3. *************************************************************************/
  4.  
  5. int        _eastray_demo()
  6. {
  7.     static char    *tiflist[16] =
  8.     {
  9.         "MOON.TIF"    ,
  10.         "RAYTRACE.TIF",
  11.         "BALL3_2.TIF" ,
  12.         "FPICS.TIF"   ,
  13.         "FPICS2.TIF"  ,
  14.         "FR_C.TIF"    ,
  15.         "PLANET_C.TIF",
  16.         "SAM10.TIF"   ,
  17.         "SAM13.TIF"   ,
  18.         "SAM9.TIF"    ,
  19.         "TEST10.TIF"  ,
  20.         "TOUMEI_C.TIF",
  21.         "FIG3X.TIF"   ,
  22.         "FIG5X.TIF"   ,
  23.         "FIG6_2.TIF"  ,
  24.         NULL
  25.     };
  26.  
  27.     FS_chdrv( toupper(DirStart[0]) - 'A' );
  28.     FS_chdir( "/OH_TOWNS/EASTRAY/DEMO" );
  29.     tiflist_disp(tiflist);
  30.  
  31.     return (0);
  32. }
  33.  
  34. int        install_eastray()
  35. {
  36.     int                ret, drv, fcopy_att, prog_type, srcdrv, item_setup;
  37.     char           *softname;
  38.     char           *helpfn;
  39.     char           *srcdir;
  40.     char            instdir[256], *instfile;
  41.     char           *item_prog, *item_ttl, item_para[128];
  42.     int                item_att;
  43.     char           *dlgTxm;
  44.     char            tmp[256], tmp2[256];
  45.  
  46.     instdir[0] = '\0';
  47. #if    0
  48.     softname   = "「高機能レイトレーシングシステム EASTRAY」";
  49. #else
  50.     softname   = "「高機能レイトレーシング システム EASTRAY」";
  51. #endif
  52.     srcdir     = "/OH_TOWNS/EASTRAY";
  53.     instfile   = "*.*";
  54.     helpfn     = "/OH_TOWNS/EASTRAY/EASTRAY.GGG";
  55.     item_att   = 2;
  56.  
  57.     srcdrv = toupper(DirStart[0]) - 'A';
  58.  
  59.  
  60. _TOP:
  61.     syl_putf("%s",softname);
  62.     dlgTxm = DlgTxm_open(ColBoxNormal);
  63.     DlgTxm_setTitle(dlgTxm,Fnt16x16,softname);
  64.     DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
  65.         "%s をインストールします。", softname );
  66.     DlgTxm_putf( dlgTxm, Fnt16x12, TXMDAT_ATT_CENTER, "");
  67.  
  68.     DlgTxm_setBtn( dlgTxm, Fnt16x16, 120, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '\r'  , KA_EXEC  ,
  69.         1, "", 0, "インストール : [実行]");
  70.     DlgTxm_setBtn( dlgTxm, Fnt16x16, 120, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, 'H'   , KA_H     ,
  71.         2, "inst_help", helpfn, "説明 : [H]");
  72.     DlgTxm_setBtn( dlgTxm, Fnt16x16, 120, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, 'D'   , KA_D     ,
  73.         3, "", 0, "デモ : [D");
  74.     DlgTxm_setBtn( dlgTxm, Fnt16x16, 120, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '\x1B', KA_CANCEL,
  75.         4, "", NULL, "取消 : [取消]");
  76.  
  77.     DlgTxm_setSize(dlgTxm,480,40);
  78.     DlgTxm_setPosition(dlgTxm,DLGPOS_CENTER_OF_SCREEN);
  79.     do
  80.     {
  81.         ret = DlgTxm_start(dlgTxm);
  82.     } while ( ret == 2 );
  83.     DlgTxm_close(dlgTxm);
  84.     if ( ret == 3 )
  85.     {    /* デモ    */
  86.         _eastray_demo();
  87.         goto _TOP;
  88.     } else if ( ret != 1 )
  89.         goto _RET;
  90.  
  91.     /* インストールプログラム選択        ----------------------------------------*/
  92.     dlgTxm = DlgTxm_open(ColBoxNormal);
  93.     DlgTxm_setTitle(dlgTxm,Fnt16x16,softname);
  94.     DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
  95.         "プログラムの種別を指定してください。" );
  96.     DlgTxm_putf( dlgTxm, Fnt16x12, TXMDAT_ATT_CENTER, "");
  97.     DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_LEFT, "  1. TOS386 … TOWNS 用"                                         );
  98.     DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_LEFT, "  2. TOS387 … TOWNS 用        (数値演算プロセッサ/ODP 搭載機種)" );
  99.     DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_LEFT, "  3. DOS386 … DOS-EXTENDER汎用"                                 );
  100.     DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_LEFT, "  4. DOS387 … DOS-EXTENDER汎用(数値演算プロセッサ/ODP 搭載機種)" );
  101.  
  102.  
  103.     DlgTxm_setBtn( dlgTxm, Fnt16x16, 128, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '1', KA_1,
  104.         1, "", 0, "TOS386 : [1]");
  105.     DlgTxm_setBtn( dlgTxm, Fnt16x16, 128, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '2', KA_2,
  106.         2, "", 0, "TOS387 : [2]");
  107.     DlgTxm_setBtn( dlgTxm, Fnt16x16, 128, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '3', KA_3,
  108.         3, "", 0, "DOS386 : [3]");
  109.     DlgTxm_setBtn( dlgTxm, Fnt16x16, 128, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '4', KA_4,
  110.         4, "", 0, "DOS387 : [4]");
  111.  
  112.     DlgTxm_setSize(dlgTxm,480,40);
  113.     DlgTxm_setPosition(dlgTxm,DLGPOS_CENTER_OF_SCREEN);
  114.     do
  115.     {
  116.         ret = DlgTxm_start(dlgTxm);
  117.     } while ( ret < 1 );
  118.     DlgTxm_close(dlgTxm);
  119.     prog_type = ret;
  120.  
  121.     /* インストール先指定    --------------------------------------------*/
  122.     ret = APL_setInstallDir(instdir,"%s : インストール先指定", softname);
  123.     if ( ret )
  124.         goto _TOP;
  125.  
  126.     dlgTxm = DlgTxm_open(ColBoxNormal);
  127.     DlgTxm_setTitle(dlgTxm,Fnt16x16,softname);
  128.     DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
  129.         "%s", instdir );
  130.     DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
  131.         "このディレクトリにインストールしてもいいですか?" );
  132.     DlgTxm_putf( dlgTxm, Fnt16x12, TXMDAT_ATT_CENTER,"");
  133.     if ( prog_type == 1 || prog_type == 2 )
  134.     {
  135.         DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
  136.         "インストール1 … ファイルを複写してTownsMENU にアイテム登録");
  137.         DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
  138.             "インストール2 … ファイルを複写(アイテム登録はしない)    ");
  139.         DlgTxm_setBtn( dlgTxm, Fnt16x16, 144, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '\r'  , KA_EXEC  , 1, "", 0, "インストール1 : [実行]");
  140.         DlgTxm_setBtn( dlgTxm, Fnt16x16, 144, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, 'C'   , KA_C     , 2, "", 0, "インストール2 : [C]");
  141.     } else
  142.     {
  143.         DlgTxm_setBtn( dlgTxm, Fnt16x16, 144, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '\r'  , KA_EXEC  , 2, "", 0, "インストール : [実行]");
  144.     }
  145.     DlgTxm_setBtn( dlgTxm, Fnt16x16, 144, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '\x1B', KA_CANCEL, 3, "", 0, "取消 : [取消]");
  146.  
  147.     DlgTxm_setSize(dlgTxm,320,40);
  148.     DlgTxm_setPosition(dlgTxm,DLGPOS_CENTER_OF_SCREEN);
  149.     ret = DlgTxm_start(dlgTxm);
  150.     DlgTxm_close(dlgTxm);
  151.     if ( ret != 1 && ret != 2 )
  152.         goto _TOP;
  153.     item_setup = (ret == 1 ? 1 : 0);
  154.  
  155.     /* インストール開始    ------------------------------------------------*/
  156.     syl_putf("INSTALL START");
  157.     switch ( prog_type )
  158.     {
  159.         case 1:        srcdir = "/OH_TOWNS/EASTRAY/PROGRAM/TOWNS386";    break;
  160.         case 2:        srcdir = "/OH_TOWNS/EASTRAY/PROGRAM/TOWNS387";    break;
  161.         case 3:        srcdir = "/OH_TOWNS/EASTRAY/PROGRAM/EXTEN386";    break;
  162.         case 4:        srcdir = "/OH_TOWNS/EASTRAY/PROGRAM/EXTEN387";    break;
  163.     }
  164.  
  165.     FS_chdrv(srcdrv);
  166.     FS_getFullPn(tmp,srcdir);
  167.     fcopy_att = FCOPY_ATT_TIMESTAMP | FCOPY_ATT_CHK_OVERWRITE;
  168.     instfile = "*.*";
  169.     ret = FCOPY_exec(fcopy_att, tmp, instfile, instdir);
  170.  
  171.  
  172.     /* アイテム登録    ----------------------------------------------------*/
  173.     if ( ret == NORMAL && item_setup != 0 )
  174.     {
  175.         syl_putf("ITEM SETUP");
  176.         drv = toupper(instdir[0]) - 'A';
  177.         strcpy(item_para,"");
  178.  
  179.         strcpy(tmp,instdir);
  180.         add_path_fn(tmp,"SUPPORT.EXP");
  181.         item_setApl( drv, 1024, "EASTRAY/SUPPORT", tmp, item_para, item_att );
  182.     }
  183.  
  184.     /* インストール終了    ------------------------------------------------*/
  185.     install_end( softname, ret );
  186.  
  187. _RET:
  188.     syl_clear();
  189.     return (0);
  190. }
  191.