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

Diff of /enigma/src/game.cc

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

revision 1.2 by dheck, Thu Jan 30 20:33:33 2003 UTC revision 1.3 by dheck, Fri Jan 31 17:05:02 2003 UTC
# Line 320  void Line 320  void
320  Game::change_state(State newstate)  Game::change_state(State newstate)
321  {  {
322      if (state == newstate) return;      if (state == newstate) return;
323      state = newstate;      switch (newstate) {
     current_state_dtime = 0;  
   
     switch (state) {  
324      case NOMORELIVES:      case NOMORELIVES:
325          sound::PlaySound("exit");          sound::PlaySound("exit");
326          break;          break;
327    
328      case LEVELFINISHED:      case LEVELFINISHED:
329          sound::PlaySound("finished");          if (state==INGAME) {
330          display::GetStatusBar()->show_text("Level finished!", display::TEXT_STATIC);              sound::PlaySound("finished");
331          player::LevelFinished(); // remove player-controlled actors              display::GetStatusBar()->show_text("Level finished!", display::TEXT_STATIC);
332                player::LevelFinished(); // remove player-controlled actors
333          options::SetLevelFinished(level_pack->name,              
334                                    level_pack->levels[icurrent_level].filename,              options::SetLevelFinished(level_pack->name,
335                                    DIFFICULTY_HARD);                                        level_pack->levels[icurrent_level].filename,
336                                          DIFFICULTY_HARD);
337            }
338            else
339                return;             // do not enter state
340          break;          break;
341      case PLAYERDEAD:      case PLAYERDEAD:
342          actor_dead_dtime=0;          actor_dead_dtime=0;
# Line 343  Game::change_state(State newstate) Line 344  Game::change_state(State newstate)
344          break;          break;
345      default: break;      default: break;
346      }      }
347        state = newstate;
348        current_state_dtime = 0;
349  }  }
350    
351  void  void
# Line 387  Game::tick(double dtime) Line 390  Game::tick(double dtime)
390          break;          break;
391    
392      case LEVELFINISHED:      case LEVELFINISHED:
393          if (current_state_dtime <= 1.5) {          if (current_state_dtime <= 2.5) {
394              handle_events();              handle_events();
395              player::Tick(dtime);              player::Tick(dtime);
396              world::Tick(dtime);              world::Tick(dtime);

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

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