]> Dogcows Code - chaz/yoink/blobdiff - src/YoinkApp.cc
no more useless singleton class
[chaz/yoink] / src / YoinkApp.cc
index bf6d71ab8d462d81507ee6525be954287111a51e..626fe1aea9ab18e823c49635573a19dad9dfac8c 100644 (file)
@@ -107,7 +107,7 @@ YoinkApp::YoinkApp(int argc, char* argv[]) :
        music("NightFusion"),
        punchSound("RobotPunch")
 {
-       Mf::Dispatcher::instance().addHandler("video.context_recreated",
+       Mf::Dispatcher::getInstance().addHandler("video.context_recreated",
                        boost::bind(&YoinkApp::contextRecreated, this, _1), this);
        setupGL();
 
@@ -138,11 +138,12 @@ YoinkApp::YoinkApp(int argc, char* argv[]) :
 
 YoinkApp::~YoinkApp()
 {
+       std::cerr << "yoinkapp destructor" << std::endl;
        //delete heroine;
        delete font;
        delete testScene;
 
-       Mf::Dispatcher::instance().removeHandler(this);
+       Mf::Dispatcher::getInstance().removeHandler(this);
 }
 
 
@@ -396,28 +397,39 @@ void YoinkApp::handleEvent(const Mf::Event& event)
                        if (event.key.keysym.sym == SDLK_ESCAPE)
                        {
                                stop();
+                               break;
                        }
                        else if (event.key.keysym.sym == SDLK_f)
                        {
                                getVideo().toggleFull();
+                               break;
                        }
                        else if (event.key.keysym.sym == SDLK_SPACE)
                        {
                                heroine->getAnimation().startSequence("Punch");
                                punchSound.play();
+                               break;
                        }
                        else if (event.key.keysym.sym == SDLK_r)
                        {
                                testScene->refresh();
+                               break;
+                       }
+                       else if (event.key.keysym.sym == SDLK_t)
+                       {
+                               Mf::Dispatcher::getInstance().dispatch("video.context_recreated");
+                               break;
                        }
                        else if (event.key.keysym.sym == SDLK_p)
                        {
                                music.togglePlayPause();
+                               break;
                        }
                        else if (event.key.keysym.sym == SDLK_l)
                        {
                                getVideo().toggleCursorGrab();
                                getVideo().toggleCursorVisible();
+                               break;
                        }
 
                case SDL_KEYUP:
@@ -454,8 +466,9 @@ int main(int argc, char* argv[])
 
        try
        {
-               YoinkApp app(argc, argv);
-               status = app.run();
+               YoinkApp* app = new YoinkApp(argc, argv);
+               status = app->run();
+               delete app;
        }
        catch (Mf::Engine::Exception e)
        {
This page took 0.019745 seconds and 4 git commands to generate.