home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1999 February / VPR9902A.BIN / FFILLY / UG / card.tfy < prev    next >
Text File  |  1998-04-30  |  4KB  |  110 lines

  1.  
  2.     // WIN ----------------------------------------------------------------
  3.   int CardWin( int winnum, int mwn, int spic ) {
  4.     int mwin, pic, facepic;
  5.     int x, y, w, h;
  6.     int n, i;
  7.     int fw, fh, mfw, mfh;
  8.     int fx, fy, mfx, mfy;
  9.     int c_type[], lr;
  10.     str bfname;
  11.  
  12.     fw = 130; fh = 130; mfw = 80; mfh = 80;
  13.     w = 20*2 + fw*2;  h = 80 + fh + 20 + mfh + 60;
  14.     x = scrW/2 - w/2; y = scrH/2 - h/2;
  15.     fx  = w/2 - fw - 10;         fy  = 80;
  16.     mfx = w/2 - mfw/2 - mfw -10; mfy = fy + fh + 20;
  17.  
  18.     c_type[0] = C_Type[0]; c_type[1] = C_Type[1];
  19.     lr  = LR;
  20.     bfname = "b";
  21.  
  22.     GB_Cap[0] = "";  //  NON 3D
  23.     inputButArr( "", -1, fy,  fw, fh, -2, 3,  1,2 );
  24.     GB_X[1] = fx;
  25.     GB_X[2] = fx + ( fw +20 );
  26.     inputButArr( "", -1,mfy, mfw,mfh, -2, 3,  3,5 );
  27.     GB_X[3] = mfx;
  28.     GB_X[4] = mfx +( mfw +10 );
  29.     GB_X[5] = mfx +( mfw +10 )*2;
  30.     inputButArr( "", -1, h - 40, 60, 20, -2, 3,  6,8 );
  31.     GB_Cap[6]  = "BGM";    GB_X[6]  = w/2 - 100;
  32.     GB_Cap[7]  = "OK";     GB_X[7]  = w/2 -  30;
  33.     GB_Cap[8]  = "CANCEL"; GB_X[8]  = w/2 +  40;
  34.  
  35.      // ウインドウ作成
  36.     pic = CreatePic( spic, w, h );
  37.     TextColor( 0, 0, 0 ); BackMode(1);
  38.     makeWindow( winnum, pic, 0,0, w,h, 8, 0, 0xc0c0c0 );
  39.  
  40.     paintLabel( pic, w/2 - 130, 10, 260, 30, 0x000000, "  CARD SELECTOR" );
  41.     paintSelect( pic, w, fw, 55, lr );
  42.  
  43.     facepic = LoadPic( StrPrint( "face.%s", picExt ) );
  44.     for( i = 0; i < 2; i = i  + 1 ) {
  45.       MovePic( facepic, c_type[i]*fw +1, 1, fw-2, fh-2,
  46.                    pic, fx +( fw +20 )*i +1, fy +1 );
  47.     }
  48.     for( i = 0; i < 3; i = i  + 1 ){
  49.       MoveSPic( facepic, i*fw +1, 1, fw-2, fh-2,
  50.                     pic, mfx +( mfw+10 )*i +1, mfy +1, mfw-2, mfh-2 );
  51.     }
  52.  
  53.     CapTitle( " CARD SELECTOR" );
  54.     mwin = OpenWin( pic, x,y, w,h, 0,0, 0x000000 );   // ウィンドウ
  55.  
  56.     mes( USER ) {
  57.       if ( GetHiWord( MesP1 ) == winnum ) { // GET WIN NUM
  58.         n = GetLowWord( MesP1 );            // GET MES NUM
  59.         if ( 1 <= n && n <= 2 ) { // LR
  60.           lr = n -1;
  61.           paintSelect( pic, w, fw, 55, lr );
  62.         }
  63.         else if ( 3 <= n && n <= 5 ) { // CHARA
  64.           c_type[ lr ] = n -3;
  65.           i = lr;
  66.           MovePic( facepic, c_type[i]*fw +1, 1, fw-2, fh-2,
  67.                        pic, fx +( fw +20 )*i +1, fy +1 );
  68.         }
  69.         else if ( n == 6 ) {  // BGM
  70.           bfname = StrInput( ".mid", "MIDI File(*.mid)|*.mid||", 1, 0x1000, "",1 );
  71.           PostMes( LBUP );
  72.         }
  73.         else if ( n == 7 || n == 8 ) { // EXIT
  74.           if ( n == 7 ) { // OK
  75.             C_Type[0] = c_type[0]; C_Type[1] = c_type[1];
  76.             LR = lr;
  77.             if ( bfname != "b" ) { // CHANGE
  78.               if ( M_Open == 1 )  { closeBGM(); }
  79.               if ( bfname != "" ) { openBGM( bfname ); }
  80.             }
  81.           }
  82.           PostMes( USER, MakeLong( 1000, winnum ) );
  83.           CloseWin( mwin );
  84.           DelPic( pic ); DelPic( facepic );
  85.           WinFocus = mwn;
  86.           del_me;
  87.         }
  88.       } // if winnum end
  89.     } // mesUSER end
  90.  
  91.   } // method end
  92.  
  93.  
  94.     // PAINT --------------------------------------------------------------
  95.   int paintSelect( int pic, int w, int fw, int sy, int lr ) {
  96.     int col1, col2;
  97.     str ser1, ser2;
  98.     if ( lr == 0 ) {
  99.       col1 = 0x0000ff; col2 = 0x000000;
  100.       ser1 = "  SELECTED"; ser2 = "";
  101.     }
  102.     else {
  103.       col1 = 0x000000; col2 = 0x0000ff;
  104.       ser1 = ""; ser2 = "  SELECTED";
  105.     }
  106.     paintLabel( pic, w/2 - fw - 10, sy, fw,20, col1, ser1 );
  107.     paintLabel( pic, w/2      + 10, sy, fw,20, col2, ser2 );
  108.   } // method end
  109.  
  110.