コード例 #1
0
ファイル: volumewindow.cpp プロジェクト: antrad/Abuse_1996
void VolumeWindow::redraw()
{
    m_surf->PutImage(cache.img(bg), ivec2(0, 0));
    draw_music_vol();
    draw_sfx_vol();
    inm->redraw();
}
コード例 #2
0
ファイル: old_earth_menu.c プロジェクト: spippolatore/abuse
static void create_volume_window()
{
  char *ff="art/frame.spe";
  int t=SPEC_IMAGE;
  int u_u=cash.reg(ff,"u_u",t,1),
      u_d=cash.reg(ff,"u_u",t,1),
      u_ua=cash.reg(ff,"u_ua",t,1),
      u_da=cash.reg(ff,"u_da",t,1),

      d_u=cash.reg(ff,"d_u",t,1),
      d_d=cash.reg(ff,"d_u",t,1),
      d_ua=cash.reg(ff,"d_ua",t,1),
      d_da=cash.reg(ff,"d_da",t,1);
  
  volume_window=eh->new_window(prop->getd("volume_x",xres/2-20),
			       prop->getd("volume_y",yres/2-50),
			       41-WINDOW_FRAME_LEFT-WINDOW_FRAME_RIGHT,
			       101-WINDOW_FRAME_TOP-WINDOW_FRAME_BOTTOM,
			     new ico_button(10,27,ID_SFX_DOWN,d_u,d_d,d_ua,d_da,
			     new ico_button(21,27,ID_SFX_UP,u_u,u_d,u_ua,u_da,

			     new ico_button(10,63,ID_MUSIC_DOWN,d_u,d_d,d_ua,d_da,
			     new ico_button(21,63,ID_MUSIC_UP,u_u,u_d,u_ua,u_da,
					    NULL)))));
  cash.img(cash.reg(ff,"vcontrol",t,1))->put_image(volume_window->screen,0,0);
  draw_music_vol();
  draw_sfx_vol();
  volume_window->inm->redraw();
  eh->grab_focus(volume_window);
}
コード例 #3
0
ファイル: menu.c プロジェクト: spippolatore/abuse
static void create_volume_window()
{
/*  int vx=WINDOW_FRAME_LEFT,vy=WINDOW_FRAME_TOP+eh->font()->height()*2,scroller_height=130,bh=eh->font()->height()+5;

  volume_window=eh->new_window(prop->getd("volume_x",xres/2-20),
			       prop->getd("volume_y",yres/2-50),
			       -1,
			       -1,
			       new scroller(vx,vy,LOWER_SFX,0,scroller_height,0,127,
			       new scroller(vx+30,vy,LOWER_MUSIC,0,scroller_height,0,127,NULL)),symbol_str("VOLUME"));
  event ev;
  int done=0;
  do
  {
    eh->flush_screen();
    eh->get_event(ev);
    if (ev.type==EV_CLOSE_WINDOW && ev.window==volume_window) done=1;    
  } while (!done);
  eh->close_window(volume_window);
  volume_window=NULL; */


  char *ff="art/frame.spe";
  int t=SPEC_IMAGE;
  int u_u=cash.reg(ff,"u_u",t,1),
      u_d=cash.reg(ff,"u_u",t,1),
      u_ua=cash.reg(ff,"u_ua",t,1),
      u_da=cash.reg(ff,"u_da",t,1),

      d_u=cash.reg(ff,"d_u",t,1),
      d_d=cash.reg(ff,"d_u",t,1),
      d_ua=cash.reg(ff,"d_ua",t,1),
      d_da=cash.reg(ff,"d_da",t,1),
      slider=cash.reg(ff,"volume_slide",t,1);

  image *ok_image=cash.img(cash.reg("art/frame.spe","dev_ok",SPEC_IMAGE,1))->copy();
  
  volume_window=eh->new_window(prop->getd("volume_x",xres-185),
			       prop->getd("volume_y",yres/2-50),
			       120-WINDOW_FRAME_LEFT-WINDOW_FRAME_RIGHT-2,
			       163-WINDOW_FRAME_TOP-WINDOW_FRAME_BOTTOM,
			     new ico_button(62,112,ID_SFX_DOWN,d_u,d_d,d_ua,d_da,
			     new ico_button(24,18,ID_SFX_UP,u_u,u_d,u_ua,u_da,
                             new button(17,127,ID_QUIT_OK,ok_image,
                             new info_field(35,0,0,symbol_str("SFXv"),0)))));

  /*			     new ico_button(10,72,ID_MUSIC_DOWN,d_u,d_d,d_ua,d_da,
			     new ico_button(21,72,ID_MUSIC_UP,u_u,u_d,u_ua,u_da,
                             new info_field(3,86,0,symbol_str("MUSICv"),
					    NULL))))))); */

  cash.img(cash.reg(ff,"vcontrol",t,1))->put_image(volume_window->screen,0,0);
  //  draw_music_vol(slider);
  draw_sfx_vol(slider);
  volume_window->inm->redraw();
  eh->grab_focus(volume_window);
  eh->flush_screen();

  volume_window->inm->allow_no_selections();
  volume_window->inm->clear_current();

  event ev;
  do
  {
    do { eh->get_event(ev); } while (ev.type==EV_MOUSE_MOVE && eh->event_waiting()); 
    eh->flush_screen();
    if (ev.type==EV_MESSAGE)
    {
      switch (ev.message.id)
      {
      	case ID_SFX_UP :
        { if (volume_window) 
        {
          sfx_volume+=16;
          if (sfx_volume>127) sfx_volume=127;
          draw_sfx_vol(slider);
          char *s="sfx/ambtech1.wav";
          if (sound_avail&SFX_INITIALIZED) 
            cash.sfx(cash.reg(s,s,SPEC_EXTERN_SFX,1))->play(sfx_volume);
        }
        } break;
      	case ID_SFX_DOWN :
        { if (volume_window) 
        {
          sfx_volume-=16;
          if (sfx_volume<0) sfx_volume=0;
          draw_sfx_vol(slider);
          char *s="sfx/ambtech1.wav";
          if (sound_avail&SFX_INITIALIZED) 
            cash.sfx(cash.reg(s,s,SPEC_EXTERN_SFX,1))->play(sfx_volume);
        }
        } break;

      	case ID_MUSIC_UP :
        { if (volume_window) 
        {
          music_volume+=16;
          if (music_volume>127) music_volume=127;
          draw_music_vol(slider);
          if (current_song) current_song->set_volume(music_volume);
        }
        } break;
      	case ID_MUSIC_DOWN :
        { if (volume_window) 
        {
          music_volume-=16;
          if (music_volume<0) music_volume=0;
          draw_music_vol(slider);
          if (current_song) current_song->set_volume(music_volume);
        }
        } break;
        case ID_QUIT_OK :
        {
          eh->close_window(volume_window);
          volume_window=NULL;      
        }
      }
    } else if (ev.type==EV_CLOSE_WINDOW || (ev.type==EV_KEY && ev.key==JK_ESC))
    {
      eh->close_window(volume_window);
      volume_window=NULL;
    }
  } while (volume_window);
  delete ok_image;
}
コード例 #4
0
ファイル: old_earth_menu.c プロジェクト: spippolatore/abuse
void menu_handler(event &ev, jwindow *ico_win)
{
  switch (ev.type)
  {
    case EV_MESSAGE :
    {
      switch (ev.message.id)
      {
	case ID_LIGHT_OFF :
	{
	  gamma_correct(pal,1);
	} break;
	case ID_START_GAME :
	{        
	  the_game->load_level(level_file);
	  the_game->set_state(RUN_STATE);
	} break;

	case ID_VOLUME : 
	{ create_volume_window(); } break;
      	case ID_SFX_UP :
	{ if (volume_window) 
	  {
	    sfx_volume+=16;
	    if (sfx_volume>127) sfx_volume=127;
	    draw_sfx_vol();
	  }
	} break;
      	case ID_SFX_DOWN :
	{ if (volume_window) 
	  {
	    sfx_volume-=16;
	    if (sfx_volume<0) sfx_volume=0;
	    draw_sfx_vol();
	  }
	} break;

      	case ID_MUSIC_UP :
	{ if (volume_window) 
	  {
	    music_volume+=16;
	    if (music_volume>127) music_volume=127;
	    draw_music_vol();
	  }
	} break;
      	case ID_MUSIC_DOWN :
	{ if (volume_window) 
	  {
	    music_volume-=16;
	    if (music_volume<0) music_volume=0;
	    draw_music_vol();
	  }
	} break;
	case ID_MEDIUM :
	{
	  set_symbol_value(l_difficulty,l_medium);
	  save_difficulty();
	} break;
	case ID_HARD :
	{
	  set_symbol_value(l_difficulty,l_hard);
	  save_difficulty();
	} break;
	case ID_EXTREME :
	{
	  set_symbol_value(l_difficulty,l_extreme);
	  save_difficulty();
	} break;
	case ID_EASY :
	{
	  set_symbol_value(l_difficulty,l_easy);
	  save_difficulty();
	} break;
		      
			 
      } break;
    } break;
    case EV_CLOSE_WINDOW :
    {
      if (ev.window==volume_window)
      { eh->close_window(volume_window); volume_window=NULL; }
    } break;
  }
}