#303: Typo fixes from mathnerd314
[supertux.git] / src / mainloop.cpp
index 4d32e54..978d6bf 100644 (file)
@@ -35,6 +35,7 @@
 #include "screen_fade.hpp"
 #include "timer.hpp"
 #include "player_status.hpp"
+#include "video/renderer.hpp"
 #include "random_generator.hpp"
 
 // the engine will be run with a logical framerate of 64fps.
@@ -179,21 +180,49 @@ void
 MainLoop::process_events()
 {
   main_controller->update();
+  Uint8* keystate = SDL_GetKeyState(NULL);
   SDL_Event event;
-  while(SDL_PollEvent(&event)) {
-    main_controller->process_event(event);
-    if(Menu::current() != NULL)
-      Menu::current()->event(event);
-    if(event.type == SDL_QUIT)
-      quit();
-    else if (event.type == SDL_KEYDOWN && event.key.keysym.sym == SDLK_F11) {
-      config->use_fullscreen = !config->use_fullscreen;
-      init_video();
-    }
-    else if (event.type == SDL_KEYDOWN && event.key.keysym.sym == SDLK_PRINT) {
-      take_screenshot();
+  while(SDL_PollEvent(&event)) 
+    {
+      main_controller->process_event(event);
+
+      if(Menu::current() != NULL)
+        Menu::current()->event(event);
+
+      switch(event.type)
+        {
+          case SDL_QUIT:
+            quit();
+            break;
+              
+          case SDL_VIDEORESIZE:
+            Renderer::instance()->resize(event.resize.w, event.resize.h);
+            Menu::recalc_pos();
+            break;
+            
+          case SDL_KEYDOWN:
+            if (event.key.keysym.sym == SDLK_F11) 
+              {
+                config->use_fullscreen = !config->use_fullscreen;
+                init_video();
+                Menu::recalc_pos();
+              }
+            else if (event.key.keysym.sym == SDLK_PRINT ||
+                     event.key.keysym.sym == SDLK_F12)
+              {
+                take_screenshot();
+              }
+            else if (event.key.keysym.sym == SDLK_F1 &&
+                     (keystate[SDLK_LCTRL] || keystate[SDLK_RCTRL]) &&
+                     keystate[SDLK_c])
+              {
+                Console::instance->toggle();
+                config->console_enabled = true;
+                config->save();
+              }
+            break;
+        }
     }
-  }
 }
 
 void
@@ -250,7 +279,7 @@ MainLoop::run(DrawingContext &context)
 
     if (elapsed_ticks > ticks_per_frame*4) {
       // when the game loads up or levels are switched the
-      // elapsed_ticks grows extremly large, so we just ignore those
+      // elapsed_ticks grows extremely large, so we just ignore those
       // large time jumps
       elapsed_ticks = 0;
     }