/[enigma]/enigma/src/enigma.cc
ViewVC logotype

Diff of /enigma/src/enigma.cc

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by dheck, Sun Jan 5 19:56:39 2003 UTC revision 1.2 by dheck, Mon Jan 6 12:28:52 2003 UTC
# Line 246  namespace Line 246  namespace
246          void handle_events();          void handle_events();
247          void on_keydown(SDL_Event &e);          void on_keydown(SDL_Event &e);
248          void on_mousebutton(SDL_Event &e);          void on_mousebutton(SDL_Event &e);
249            void update_mouse_button_state();
250          void change_state(State newstate);          void change_state(State newstate);
251          void tick(double dtime);          void tick(double dtime);
252          void show_menu();          void show_menu();
# Line 385  Game::load_level(int ilevel) Line 386  Game::load_level(int ilevel)
386      ShowScreen(video::TM_PUSH_RANDOM, video::BackBuffer());      ShowScreen(video::TM_PUSH_RANDOM, video::BackBuffer());
387  //    FX_Fade(video::FADEIN);  //    FX_Fade(video::FADEIN);
388      flush_events();      flush_events();
389        update_mouse_button_state();
390      last_tick_time = SDL_GetTicks();      last_tick_time = SDL_GetTicks();
391      return true;      return true;
392  }  }
# Line 413  Game::run (LevelPack *lp, int ilevel) Line 415  Game::run (LevelPack *lp, int ilevel)
415    
416          int sleeptime = 10 - (SDL_GetTicks()-last_tick_time);          int sleeptime = 10 - (SDL_GetTicks()-last_tick_time);
417          if (sleeptime > 0)          if (sleeptime > 0)
418              SDL_Delay(sleeptime);              ; //SDL_Delay(sleeptime);
419    
420          dtime=(SDL_GetTicks()-last_tick_time)/1000.0;          dtime=(SDL_GetTicks()-last_tick_time)/1000.0;
421          if (dtime > 500.0) /* Time has done something strange, perhaps          if (dtime > 500.0) /* Time has done something strange, perhaps
# Line 421  Game::run (LevelPack *lp, int ilevel) Line 423  Game::run (LevelPack *lp, int ilevel)
423              dtime = 0.0;              dtime = 0.0;
424          else if (dtime > 0.5)          else if (dtime > 0.5)
425              dtime = 0.5;              dtime = 0.5;
426    //         if (dtime > 15.0/1000)
427    //             dtime = 15.0/1000;
428      }      }
429      video::ShowMouse();      video::ShowMouse();
430  }  }
# Line 473  Game::on_mousebutton(SDL_Event &e) Line 477  Game::on_mousebutton(SDL_Event &e)
477          if (e.button.button == 1) {          if (e.button.button == 1) {
478              // left mousebutton -> activate first item in inventory              // left mousebutton -> activate first item in inventory
479              player::ActivateItem();              player::ActivateItem();
             player::InhibitPickup(true);  
480          }          }
481          else if (e.button.button == 3) {          else if (e.button.button == 3) {
482              // right mousebutton -> rotate inventory              // right mousebutton -> rotate inventory
483              display::GetStatusBar()->hide_text();              display::GetStatusBar()->hide_text();
484              player::RotateInventory();              player::RotateInventory();
             player::InhibitPickup(true);  
485          }          }
486      }      }
487      else {      update_mouse_button_state();
488          // mouse button released -> allow picking up items  }
489          int b = SDL_GetMouseState(0, 0);  
490          if (!(b & SDL_BUTTON(1)) &&  !(b & SDL_BUTTON(3))) {  void
491              player::InhibitPickup(false);  Game::update_mouse_button_state()
492          }  {
493      }      int b = SDL_GetMouseState(0, 0);
494        player::InhibitPickup((b & SDL_BUTTON(1)) || (b & SDL_BUTTON(3)));
495  }  }
496    
497  static void set_mousespeed(double spd)  static void set_mousespeed(double spd)
# Line 608  Game::show_menu() Line 611  Game::show_menu()
611      GameMenu m;      GameMenu m;
612      m.manage(scr);      m.manage(scr);
613      video::HideMouse();      video::HideMouse();
614        update_mouse_button_state();
615      last_tick_time = SDL_GetTicks();      last_tick_time = SDL_GetTicks();
616      if (state != ABORT)      if (state != ABORT)
617          display::RedrawAll(get_screen());          display::RedrawAll(get_screen());

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26