#include <boost/bind.hpp>
+#include <Moof/Exception.hh>
+#include <Moof/Log.hh>
#include <Moof/Math.hh>
#include <Moof/OpenGL.hh>
#include <Moof/Settings.hh>
music("NightFusion"),
punchSound("RobotPunch")
{
- Mf::Dispatcher::instance().addHandler("video.context_recreated",
+ Mf::dispatcher::addHandler("video.context_recreated",
boost::bind(&YoinkApp::contextRecreated, this, _1), this);
setupGL();
state = 0.0;
- heroine = CharacterPtr(new Character("RobotTrooper"));
+ heroine = Character::alloc("RobotTrooper");
heroine->getAnimation().startSequence("Run");
font = new TilemapFont;
Mf::Scalar coeff[2] = {1.0, 0.0};
fadeIn.init(coeff, 0.1);
- testScene = new Mf::Scene("Test");
+ testScene = Mf::Scene::alloc("Test");
heroine->treeNode = testScene->getOctree()->insert(heroine);
}
{
//delete heroine;
delete font;
- delete testScene;
- Mf::Dispatcher::instance().removeHandler(this);
+ Mf::dispatcher::removeHandler(this);
}
heroine->update(t, dt);
heroine->treeNode = testScene->getOctree()->reinsert(heroine, heroine->treeNode);
+ testScene->getOctree()->print(heroine->treeNode);
//camera.lookAt(heroine->getSphere().point);
camera.setPosition(Mf::Vector3(-heroine->current.position[0], -heroine->current.position[1], -256));
//heroine->draw(alpha);
+ heroine->getAabb().draw();
hud.draw();
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::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:
int main(int argc, char* argv[])
{
- std::cout << PACKAGE_STRING << std::endl
+ std::cout << std::endl << PACKAGE_STRING << std::endl
<< "Compiled " << __TIME__ " " __DATE__ << std::endl
<< "Send patches and bug reports to <"
PACKAGE_BUGREPORT << ">." << std::endl << std::endl;
+#if ! NDEBUG
+ Mf::setLogLevel(Mf::DEBUGGING);
+#endif
+
int status = 0;
try
YoinkApp app(argc, argv);
status = app.run();
}
- catch (Mf::Engine::Exception e)
+ catch (Mf::Exception e)
{
- std::cerr << "Unhandled exception: " << e.what() << std::endl;
+ Mf::logError("unhandled exception: <<%s>>", e.what());
+ Mf::logInfo("it's time to crash now :-(");
status = 1;
}
- std::cout << "Goodbye..." << std::endl;
+ std::cout << std::endl << "Goodbye..." << std::endl << std::endl;
return status;
}