home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1997 December / VPR9712A.ISO / Ffilly / sksk20 / sk_open.tfy < prev    next >
Text File  |  1996-06-23  |  15KB  |  534 lines

  1. //
  2. // Toffy 雛形
  3. //
  4.  
  5. #info INAM "さくさくアルバム君オープニング"
  6. #info ISBJ "さくさくアルバム君オープニング"
  7. #info IART "Yuji Kagami,JBB02737@niftyserve.or.jp"
  8. #info ICMS "(有)ゆんファクトリー"
  9. #info ICOP "Yuji Kagami,JBB02737@niftyserve.or.jp"
  10. #info IENG "Yuji Kagami,JBB02737@niftyserve.or.jp"
  11. #info MDFY "NO"
  12. #info TRNS "NO"
  13. #info JINT "NO"
  14. #info INST "MIDI"
  15. #info VIDO "640x480; 256"
  16. #info GRPC "Yuji Kagami,JBB02737@niftyserve.or.jp"
  17. #info PROD "Yuji Kagami,JBB02737@niftyserve.or.jp"
  18. #info CONT "Yuji Kagami,JBB02737@niftyserve.or.jp"
  19.  
  20.  
  21. int    base_win;
  22. int    base_pico;
  23. int    base_pic;
  24. int    base_cast;
  25. int    but_pic[];
  26. int    but_cast[];
  27. int    xoff[];
  28. int    yoff[];
  29. int    maje_pic;
  30.  
  31. str    alininame;
  32. int    covernum;
  33. int    mountnum;
  34. int    bgmnum;
  35. str    midiname;
  36.  
  37. str    sdir;
  38. str    sdrive;
  39. str    cdir;
  40. str    cdrive;
  41.  
  42. //int    deby;
  43.  
  44. #include    "sk_help.tfy"
  45.  
  46. main()
  47. {
  48.     int    i;
  49.     int    pic;
  50.     str    s;
  51.  
  52. //    Debug( 1 );
  53. //    deby = 0;
  54.  
  55.     xoff[0] = 152;    yoff[0] = 180;    // ini name
  56.     xoff[1] = 264;    yoff[1] = 259;    // cover l
  57.     xoff[2] = 324;    yoff[2] = 259;    // cover r
  58.     xoff[3] = 264;    yoff[3] = 340;    // mount l
  59.     xoff[4] = 324;    yoff[4] = 340;    // mount r
  60.     xoff[5] = 264;    yoff[5] = 419;    // bgm l
  61.     xoff[6] = 324;    yoff[6] = 419;    // bgm r
  62.     xoff[7] = 589;    yoff[7] = 341;    // start
  63.     xoff[8] = 588;    yoff[8] = 438;    // end
  64.     xoff[9] = 450;    yoff[9] = 240;    // cover
  65.     xoff[10] = 450;    yoff[10] = 320;    // mount
  66.     xoff[11] = 450;    yoff[11] = 400;    // bgm
  67.     covernum = 0;
  68.     mountnum = 0;
  69.     bgmnum = 0;
  70.  
  71.     s = GetIniStr( "Directory", "sakusaku", ".", "inst.ini" );
  72.     sdrive = SubStr( s, 0, 1 );
  73.     sdir = SubStr( s, 2, StrLen( s ) - 2 );
  74.     if( sdir == "\" ) {
  75.         sdir = "";
  76.     }
  77. //    s = GetCWD( 1 );
  78. //    cdrive = SubStr( s, 0, 1 );
  79. //    cdir = SubStr( s, 2, StrLen( s ) - 2 );
  80. //    if( cdir == "\" ) {
  81. //        cdir = "";
  82. //    }
  83.     cdrive = sdrive;
  84.     cdir = sdir + "\album";
  85.     ChDrive( sdrive );
  86.     ChDir( sdir );
  87.  
  88.     base_pico = LoadPic( "al_ottl.bmp" );
  89.     base_pic = CreatePic( base_pico );
  90.     but_pic[0] = CreatePic( base_pico, 336, 27 );
  91.     SetPaintColor( 0xffffff );
  92.     SetLineSize( 1 );
  93.     DrawRect( but_pic[0], 0, 0, 336, 35 );
  94.     but_pic[1] = LoadPic( "al_left.bmp" );
  95.     but_pic[2] = LoadPic( "al_right.bmp" );
  96.     but_pic[3] = CreatePic( but_pic[1] );
  97.     MovePic( but_pic[1], 0, 0, PicWidth( but_pic[1] ), PicHeight( but_pic[1] ), but_pic[3] );
  98.     but_pic[4] = CreatePic( but_pic[2] );
  99.     MovePic( but_pic[2], 0, 0, PicWidth( but_pic[2] ), PicHeight( but_pic[2] ), but_pic[4] );
  100.     but_pic[5] = CreatePic( but_pic[1] );
  101.     MovePic( but_pic[1], 0, 0, PicWidth( but_pic[1] ), PicHeight( but_pic[1] ), but_pic[5] );
  102.     but_pic[6] = CreatePic( but_pic[2] );
  103.     MovePic( but_pic[2], 0, 0, PicWidth( but_pic[2] ), PicHeight( but_pic[2] ), but_pic[6] );
  104.     but_pic[7] = CreatePic( but_pic[2] );
  105.     MovePic( but_pic[2], 0, 0, PicWidth( but_pic[2] ), PicHeight( but_pic[2] ), but_pic[7] );
  106.     but_pic[8] = LoadPic( "al_end.bmp" );
  107.     maje_pic = CreatePic( but_pic[0] );
  108.     but_pic[9] = CreatePic( but_pic[0], 90, 68 );
  109.     but_pic[10] = CreatePic( but_pic[0], 90, 68 );
  110.     but_pic[11] = CreatePic( but_pic[0], 90, 68 );
  111.  
  112.     base_cast = PutCast( base_pico, base_pic );
  113.     for( i = 0; i <= 11; i = i + 1 ) {
  114.         but_cast[i] = PutCast( but_pic[i], base_pic, xoff[i], yoff[i], 0xff00ff );
  115.     }
  116.  
  117.     alininame = GetIniStr( "Edit", "LastAlbum", "", "sksk.ini" );
  118.     inichange();
  119.  
  120.     base_win = OpenWin( base_pic );
  121.     bgm();
  122.     proc();
  123.     helpflag = 0;
  124.     helpcast = 0;
  125.     mousex = 0;
  126.     mousey = 0;
  127.     rproc1();
  128.     rproc3();
  129. }
  130.  
  131.  
  132. proc()
  133. {
  134.     int    cast2;
  135.     int    i;
  136.  
  137.     mes( LBDOWN ) {
  138.         cast2 = HitCast( base_pic, MesP2, MesP3 );
  139.         for( i = 0; i < 9; i = i + 1 ) {
  140.             if( cast2 == but_cast[i] ) {
  141.                 proc2( i );
  142.                 del_me;
  143.             }
  144.         }
  145.     }
  146. }
  147.  
  148.  
  149. proc2( int i )
  150. {
  151.     int    j, k;
  152.     int    len;
  153.     str    s, s2;
  154.     int    cast2;
  155.     int    hitflag;
  156.     int    pic;
  157.  
  158.     if( i == 0 ) {
  159.         ChDrive( cdrive );
  160.         ChDir( cdir );
  161.         s = StrInput( "ini", "INIファイル(*.ini)|*.ini||", 1, 0, "al001.ini", 1 );
  162.         if( s != "" ) {
  163.             alininame = s;
  164.             s = GetCWD( 1 );
  165.             cdrive = SubStr( s, 0, 1 );
  166.             cdir = SubStr( s, 2, StrLen( s ) - 2 );
  167.             if( cdir == "\" ) {
  168.                 cdir = "";
  169.             }
  170.             ChDrive( sdrive );
  171.             ChDir( sdir );
  172.             WriteIniStr( "Edit", "LastAlbum", alininame, "sksk.ini" );
  173.             k = 0;
  174.             len = StrLen( alininame );
  175.             for( i = 0; i < len; i = i + 1 ) {
  176.                 j = CharCode( SubStr( alininame, i, 1 ) );
  177.                 if( j == 0x5c || j == 0x3a ) {
  178.                     k = 1;
  179.                     break;
  180.                 }
  181.             }
  182.             if( k == 0 ) {
  183.                 // ディレクトリ、ドライブの指定無し
  184.                 alininame = ".\" + alininame;
  185.             }
  186. //            if( len > 40 ) {
  187. //                
  188. //            }
  189.             inichange();
  190.         } else {
  191.             ChDrive( sdrive );
  192.             ChDir( sdir );
  193.         }
  194.         proc();
  195.     } else {
  196.         MoveCast( but_cast[i], but_pic[i], xoff[i] + 3, yoff[i] + 3 );
  197.         hitflag = 1;
  198.         mes( MOUSEMOVE ) {
  199.             cast2 = HitCast( base_pic, MesP2, MesP3 );
  200.             if( cast2 != but_cast[i] && hitflag == 1 ) {
  201.                 MoveCast( but_cast[i], but_pic[i], xoff[i], yoff[i] );
  202.                 hitflag = 0;
  203.             } else if( cast2 == but_cast[i] && hitflag == 0 ) {
  204.                 MoveCast( but_cast[i], but_pic[i], xoff[i] + 3, yoff[i] + 3 );
  205.                 hitflag = 1;
  206.             }
  207.         }
  208.         mes( LBUP ) {
  209.             del_us;
  210.             if( hitflag == 1 ) {
  211.                 MoveCast( but_cast[i], but_pic[i], xoff[i], yoff[i] );
  212.                 proc3( i );
  213.             } else {
  214.                 proc();
  215.             }
  216.             del_me;
  217.         }
  218.     }
  219. }
  220.  
  221.  
  222. proc3( int i )
  223. {
  224.     int    j;
  225.     str    s;
  226.     int    pic;
  227.  
  228.     if( i == 1 ) {
  229.         if( covernum <= 0 ) {
  230.             for( covernum = 0; ; ) {
  231.                 s = GetIniStr( "Cover", StrPrint( "Pic%ld", covernum + 1 ), "0", "sksk.ini" );
  232.                 if( s == "0" ) {
  233.                     break;
  234.                 }
  235.                 covernum = covernum + 1;
  236.             }
  237.         } else {
  238.             covernum = covernum - 1;
  239.         }
  240.         pic = LoadPic( GetIniStr( "Cover", StrPrint( "Pic%ld", covernum ), "0", "sksk.ini" ) );
  241.         SetFont( 20, "MS ゴシック", 128, 10, 0, 0, 1000, 0, 0, 0, 0, 0, 1, 1 );
  242.         BackMode( 1 );
  243.         TextColor( 0, 0, 0 );
  244.         TextWrite( StrPrint( "表紙%ld", covernum ), pic, 60 + 18 + 1, 24 + 1 );
  245.         TextColor( 200, 100, 0 );
  246.         TextWrite( StrPrint( "表紙%ld", covernum ), pic, 60 + 18 + 0, 24 + 0 );
  247.         MovePic( pic, 60, 0, 90, 68, but_pic[9], 0, 0 );
  248.         MoveCast( but_cast[9], but_pic[9] );
  249.         DelPic( pic );
  250.     } else if( i == 2 ) {
  251.         s = GetIniStr( "Cover", StrPrint( "Pic%ld", covernum + 1 ), "0", "sksk.ini" );
  252.         if( s == "0" ) {
  253.             covernum = 0;
  254.         } else {
  255.             covernum = covernum + 1;
  256.         }
  257.         pic = LoadPic( GetIniStr( "Cover", StrPrint( "Pic%ld", covernum ), "0", "sksk.ini" ) );
  258.         SetFont( 20, "MS ゴシック", 128, 10, 0, 0, 1000, 0, 0, 0, 0, 0, 1, 1 );
  259.         BackMode( 1 );
  260.         TextColor( 0, 0, 0 );
  261.         TextWrite( StrPrint( "表紙%ld", covernum ), pic, 60 + 18 + 1, 24 + 1 );
  262.         TextColor( 200, 100, 0 );
  263.         TextWrite( StrPrint( "表紙%ld", covernum ), pic, 60 + 18 + 0, 24 + 0 );
  264.         MovePic( pic, 60, 0, 90, 68, but_pic[9], 0, 0 );
  265.         MoveCast( but_cast[9], but_pic[9] );
  266.         DelPic( pic );
  267.     } else if( i == 3 ) {
  268.         if( mountnum <= 0 ) {
  269.             for( mountnum = 0; ; ) {
  270.                 s = GetIniStr( "Mount", StrPrint( "Pic%ld", mountnum + 1 ), "0", "sksk.ini" );
  271.                 if( s == "0" ) {
  272.                     break;
  273.                 }
  274.                 mountnum = mountnum + 1;
  275.             }
  276.         } else {
  277.             mountnum = mountnum - 1;
  278.         }
  279.         pic = LoadPic( GetIniStr( "Mount", StrPrint( "Pic%ld", mountnum ), "0", "sksk.ini" ) );
  280.         SetFont( 20, "MS ゴシック", 128, 10, 0, 0, 1000, 0, 0, 0, 0, 0, 1, 1 );
  281.         BackMode( 1 );
  282.         TextColor( 0, 0, 0 );
  283.         TextWrite( StrPrint( "台紙%ld", mountnum ), pic, 60 + 18 + 1, 24 + 1 );
  284.         TextColor( 200, 100, 0 );
  285.         TextWrite( StrPrint( "台紙%ld", mountnum ), pic, 60 + 18 + 0, 24 + 0 );
  286.         MovePic( pic, 60, 0, 90, 68, but_pic[10], 0, 0 );
  287.         MoveCast( but_cast[10], but_pic[10] );
  288.         DelPic( pic );
  289.     } else if( i == 4 ) {
  290.         s = GetIniStr( "Mount", StrPrint( "Pic%ld", mountnum + 1 ), "0", "sksk.ini" );
  291.         if( s == "0" ) {
  292.             mountnum = 0;
  293.         } else {
  294.             mountnum = mountnum + 1;
  295.         }
  296.         pic = LoadPic( GetIniStr( "Mount", StrPrint( "Pic%ld", mountnum ), "0", "sksk.ini" ) );
  297.         SetFont( 20, "MS ゴシック", 128, 10, 0, 0, 1000, 0, 0, 0, 0, 0, 1, 1 );
  298.         BackMode( 1 );
  299.         TextColor( 0, 0, 0 );
  300.         TextWrite( StrPrint( "台紙%ld", mountnum ), pic, 60 + 18 + 1, 24 + 1 );
  301.         TextColor( 200, 100, 0 );
  302.         TextWrite( StrPrint( "台紙%ld", mountnum ), pic, 60 + 18 + 0, 24 + 0 );
  303.         MovePic( pic, 60, 0, 90, 68, but_pic[10], 0, 0 );
  304.         MoveCast( but_cast[10], but_pic[10] );
  305.         DelPic( pic );
  306.     } else if( i == 5 ) {
  307.         if( bgmnum <= 0 ) {
  308.             for( bgmnum = 0; ; ) {
  309.                 s = GetIniStr( "BGM", StrPrint( "BGM%ld", bgmnum + 1 ), "0", "sksk.ini" );
  310.                 if( s == "0" ) {
  311.                     break;
  312.                 }
  313.                 bgmnum = bgmnum + 1;
  314.             }
  315.         } else {
  316.             bgmnum = bgmnum - 1;
  317.         }
  318.         midiname = GetIniStr( "BGM", StrPrint( "BGM%ld", bgmnum ), "0", "sksk.ini" );
  319.         PostMes( USER, 1 );
  320.         pic = LoadPic( "al_lay1.bmp" );
  321.         SetFont( 20, "MS ゴシック", 128, 10, 0, 0, 1000, 0, 0, 0, 0, 0, 1, 1 );
  322.         BackMode( 1 );
  323.         TextColor( 0, 0, 0 );
  324.         TextWrite( StrPrint( "BGM%ld", bgmnum ), pic, 23 + 1, 24 + 1 );
  325.         TextColor( 200, 100, 0 );
  326.         TextWrite( StrPrint( "BGM%ld", bgmnum ), pic, 23 + 0, 24 + 0 );
  327.         MovePic( pic, 0, 0, 90, 68, but_pic[11], 0, 0 );
  328.         MoveCast( but_cast[11], but_pic[11] );
  329.         DelPic( pic );
  330.     } else if( i == 6 ) {
  331.         s = GetIniStr( "BGM", StrPrint( "BGM%ld", bgmnum + 1 ), "0", "sksk.ini" );
  332.         if( s == "0" ) {
  333.             bgmnum = 0;
  334.         } else {
  335.             bgmnum = bgmnum + 1;
  336.         }
  337.         midiname = GetIniStr( "BGM", StrPrint( "BGM%ld", bgmnum ), "0", "sksk.ini" );
  338.         PostMes( USER, 1 );
  339.         pic = LoadPic( "al_lay1.bmp" );
  340.         SetFont( 20, "MS ゴシック", 128, 10, 0, 0, 1000, 0, 0, 0, 0, 0, 1, 1 );
  341.         BackMode( 1 );
  342.         TextColor( 0, 0, 0 );
  343.         TextWrite( StrPrint( "BGM%ld", bgmnum ), pic, 23 + 1, 24 + 1 );
  344.         TextColor( 200, 100, 0 );
  345.         TextWrite( StrPrint( "BGM%ld", bgmnum ), pic, 23 + 0, 24 + 0 );
  346.         MovePic( pic, 0, 0, 90, 68, but_pic[11], 0, 0 );
  347.         MoveCast( but_cast[11], but_pic[11] );
  348.         DelPic( pic );
  349.     } else if( i == 7 ) {
  350.         // start
  351.         if( alininame == "" ) {
  352.             helpflag = 50;
  353.             PostMes( RBDOWN, 100, mousex, mousey );
  354.         } else {
  355.             if( covernum >= 0 ) {
  356.                 WriteIniStr( "Basic", "Cover", GetIniStr( "Cover", StrPrint( "Pic%ld", covernum ), "0", "sksk.ini" ), alininame );
  357.             }
  358.             if( mountnum >= 0 ) {
  359.                 WriteIniStr( "Basic", "Mount", GetIniStr( "Mount", StrPrint( "Pic%ld", mountnum ), "0", "sksk.ini" ), alininame );
  360.                 WriteIniStr( "Basic", "Mountm", GetIniStr( "Mount", StrPrint( "Picm%ld", mountnum ), "0", "sksk.ini" ), alininame );
  361.             }
  362.             WriteIniStr( "Basic", "BGM", GetIniStr( "BGM", StrPrint( "BGM%ld", bgmnum ), "0", "sksk.ini" ), alininame );
  363.             Shell( GetIniStr( "Directory", "system", "c:\filly\bin", "inst.ini" ) + "\filly.exe", GetIniStr( "Directory", "sakusaku", ".", "inst.ini" ) + "\sksk.fil", ".\" );
  364.             ExitTitle();
  365.         }
  366.     } else if( i == 8 ) {
  367.         // end
  368.         ExitTitle();
  369.     }
  370.     proc();
  371. }
  372.  
  373.  
  374. inichange()
  375. {
  376.     str    s, s2;
  377.     int    pic;
  378.  
  379.     SetPaintColor( 0xff00ff );
  380.     DrawRect( maje_pic, 0, 0, 336, 35 );
  381.     SetFont( 16, "MS ゴシック", 128, 8, 0, 0, 1000, 0, 0, 0, 0, 0, 1, 1 );
  382.     BackMode( 1 );
  383.     TextColor( 0, 0, 0 );
  384.     TextWrite( alininame, maje_pic, 1, 1 );
  385.     TextColor( 200, 100, 0 );
  386.     TextWrite( alininame, maje_pic, 0, 0 );
  387.     SetPaintColor( 0xffffff );
  388.     DrawRect( but_pic[0], 0, 0, 336, 35 );
  389.     MovePic( maje_pic, 0, 0, PicWidth( maje_pic ), PicHeight( maje_pic ), but_pic[0], 2, 4, 0, 0xff00ff );
  390.     MoveCast( but_cast[0], but_pic[0] );
  391.  
  392.     s = GetIniStr( "Basic", "Cover", "", alininame );
  393. //TextWrite( s, base_pic, 0, deby ); deby = deby + 20;
  394.     if( s != "" ) {
  395.         pic = LoadPic( s );
  396.         for( covernum = 0; ; ) {
  397.             s2 = GetIniStr( "Cover", StrPrint( "Pic%ld", covernum ), "0", "sksk.ini" );
  398.             if( s2 == s ) {
  399.                 break;
  400.             } else if( s2 == "0" ) {
  401.                 covernum = -1;
  402.                 break;
  403.             }
  404.             covernum = covernum + 1;
  405.         }
  406.     } else {
  407.         s = GetIniStr( "Cover", StrPrint( "Pic%ld", covernum ), "albmttl1.bmp", "sksk.ini" );
  408.         pic = LoadPic( s );
  409.     }
  410.     SetFont( 20, "MS ゴシック", 128, 10, 0, 0, 1000, 0, 0, 0, 0, 0, 1, 1 );
  411.     BackMode( 1 );
  412.     TextColor( 0, 0, 0 );
  413.     TextWrite( StrPrint( "表紙%ld", covernum ), pic, 60 + 18 + 1, 24 + 1 );
  414.     TextColor( 200, 100, 0 );
  415.     TextWrite( StrPrint( "表紙%ld", covernum ), pic, 60 + 18 + 0, 24 + 0 );
  416.     MovePic( pic, 60, 0, 90, 68, but_pic[9], 0, 0 );
  417.     MoveCast( but_cast[9], but_pic[9] );
  418.     DelPic( pic );
  419.  
  420.     s = GetIniStr( "Basic", "Mount", "", alininame );
  421. //TextWrite( s, base_pic, 0, deby ); deby = deby + 20;
  422.     if( s != "" ) {
  423.         pic = LoadPic( s );
  424.         for( mountnum = 0; ; ) {
  425.             s2 = GetIniStr( "Mount", StrPrint( "Pic%ld", mountnum ), "0", "sksk.ini" );
  426.             if( s2 == s ) {
  427.                 break;
  428.             } else if( s2 == "0" ) {
  429.                 mountnum = -1;
  430.                 break;
  431.             }
  432.             mountnum = mountnum + 1;
  433.         }
  434.     } else {
  435.         s = GetIniStr( "Mount", StrPrint( "Pic%ld", mountnum ), "albm_bk1.bmp", "sksk.ini" );
  436.         pic = LoadPic( s );
  437.     }
  438.     SetFont( 20, "MS ゴシック", 128, 10, 0, 0, 1000, 0, 0, 0, 0, 0, 1, 1 );
  439.     BackMode( 1 );
  440.     TextColor( 0, 0, 0 );
  441.     TextWrite( StrPrint( "台紙%ld", mountnum ), pic, 60 + 18 + 1, 24 + 1 );
  442.     TextColor( 200, 100, 0 );
  443.     TextWrite( StrPrint( "台紙%ld", mountnum ), pic, 60 + 18 + 0, 24 + 0 );
  444.     MovePic( pic, 60, 0, 90, 68, but_pic[10], 0, 0 );
  445.     MoveCast( but_cast[10], but_pic[10] );
  446.     DelPic( pic );
  447.  
  448.     s = GetIniStr( "Basic", "BGM", "", alininame );
  449. //TextWrite( s, base_pic, 0, deby ); deby = deby + 20;
  450.     if( s != "" ) {
  451.         midiname = s;
  452.         PostMes( USER, 1 );
  453.     } else {
  454.         midiname = GetIniStr( "BGM", StrPrint( "BGM%ld", bgmnum ), "0", "sksk.ini" );
  455.         PostMes( USER, 1 );
  456.     }
  457.     for( bgmnum = 0; ; bgmnum = bgmnum + 1 ) {
  458.         s = GetIniStr( "BGM", StrPrint( "BGM%ld", bgmnum ), "", "sksk.ini" );
  459.         if( s == midiname ) {
  460.             break;
  461.         }
  462.         if( s == "" ) {
  463.             break;
  464.         }
  465.     }
  466.     pic = LoadPic( "al_lay1.bmp" );
  467.     SetFont( 20, "MS ゴシック", 128, 10, 0, 0, 1000, 0, 0, 0, 0, 0, 1, 1 );
  468.     BackMode( 1 );
  469.     TextColor( 0, 0, 0 );
  470.     TextWrite( StrPrint( "BGM%ld", bgmnum ), pic, 23 + 1, 24 + 1 );
  471.     TextColor( 200, 100, 0 );
  472.     TextWrite( StrPrint( "BGM%ld", bgmnum ), pic, 23 + 0, 24 + 0 );
  473.     MovePic( pic, 0, 0, 90, 68, but_pic[11], 0, 0 );
  474.     MoveCast( but_cast[11], but_pic[11] );
  475.     DelPic( pic );
  476. }
  477.  
  478.  
  479. bgm()
  480. {
  481.     mes( MIDI_END ) {
  482.         PlayMIDI( midiname );
  483.     }
  484.     PlayMIDI( midiname );
  485.     mes( USER ) {
  486.         if( MesP1 == 1 ) {
  487.             del_us;
  488.             bgm();
  489.             del_me;
  490.         }
  491.     }
  492. }
  493.  
  494.  
  495. rproc1()
  496. {
  497.     int    i;
  498.     int    cast2;
  499.  
  500.     mes( RBDOWN ) {
  501.         if( helpflag == 50 ) {
  502.             del_us;
  503.             helpcast = but_cast[7];
  504.             helpflag = 0;
  505.             rproc2( 50, MesP2, MesP3 );
  506.             del_me;
  507.         } else {
  508.             cast2 = HitCast( base_pic, MesP2, MesP3 );
  509. //            if( cast2 != helpcast || helpflag == 0 ) {
  510.             if( cast2 == helpcast && MesP1 == 100 ) {
  511.             } else {
  512.                 if( helpflag == 1 ) {
  513.                     PostMes( USER, 20 );
  514.                 }
  515.                 helpcast = cast2;
  516.                 for( i = 0; i <= 8; i = i + 1 ) {
  517.                     if( cast2 == but_cast[i] ) {
  518.                         del_us;
  519.                         rproc2( i, MesP2, MesP3 );
  520.                         del_me;
  521.                     }
  522.                 }
  523.             }
  524.         }
  525.     }
  526.     mes( MOUSEMOVE ) {
  527. //        del_us;
  528.         mousex = MesP2;
  529.         mousey = MesP3;
  530. //        rproc1();
  531. //        del_me;
  532.     }
  533. }
  534.