heroine = Character::alloc("RobotTrooper");
heroine->getAnimation().startSequence("Run");
- font = new TilemapFont;
+ Mf::Scalar a[6] = {0.0, 1.5, -0.5, 3.0, -1.5, 1.0};
+ interp.init(a, 2.0, Mf::Interpolator::OSCILLATE);
- Mf::Scalar coeffs[4];
- coeffs[0] = 0.0;
- coeffs[1] = 1.5;
- coeffs[2] = -0.5;
- coeffs[3] = 1.0;
- interp.init(coeffs, 1.0, Mf::Interpolator::OSCILLATE);
+ Mf::Scalar b[2] = {1.0, 0.0};
+ fadeIn.init(b, 1.0);
- Mf::Scalar coeff[2] = {1.0, 0.0};
- fadeIn.init(coeff, 0.1);
-
- testScene = Mf::Scene::alloc("Test");
- heroine->treeNode = testScene->getOctree()->insert(heroine);
+ octree = Mf::loadScene("Test");
+ heroine->treeNode = octree->insert(heroine);
}
YoinkApp::~YoinkApp()
{
- //delete heroine;
- delete font;
-
Mf::dispatcher::removeHandler(this);
}
void YoinkApp::contextRecreated(const Mf::Notification* note)
{
- // Whenever the context and a new one created, it probably won't contain our
- // state so we need to set that up again.
+ // Whenever the context is destroyed and a new one created, it probably
+ // won't contain our state so we need to set that up again.
setupGL();
}
void YoinkApp::update(Mf::Scalar t, Mf::Scalar dt)
{
- //dt *= 0.5;
+ //dt *= 0.7;
music.update(t, dt);
fadeIn.update(dt);
heroine->update(t, dt);
// reinsert heroine
- heroine->treeNode = testScene->getOctree()->reinsert(heroine, heroine->treeNode);
- testScene->getOctree()->print(heroine->treeNode);
+ heroine->treeNode = octree->reinsert(heroine, heroine->treeNode);
+ octree->print(heroine->treeNode);
//camera.lookAt(heroine->getSphere().point);
camera.setPosition(Mf::Vector3(-heroine->current.position[0], -heroine->current.position[1], -256));
interp.update(dt);
- hud.setBar1Progress(interp.getValue());
- hud.setBar2Progress(1.0 - interp.getValue());
+ hud.setBar1Progress(interp.getState(dt));
+ hud.setBar2Progress(1.0 - interp.getState(dt));
}
// DRAW THE SCENE
Mf::Texture::resetBind();
- testScene->draw(alpha, camera);
+
+ glEnableClientState(GL_VERTEX_ARRAY);
+ glEnableClientState(GL_TEXTURE_COORD_ARRAY);
+
+ octree->drawIfVisible(alpha, camera.getFrustum());
//heroine->draw(alpha);
heroine->getAabb().draw();
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");
{
Mf::logError("unhandled exception: <<%s>>", e.what());
Mf::logInfo("it's time to crash now :-(");
- status = 1;
+ //status = 1;
+ throw e;
}
std::cout << std::endl << "Goodbye..." << std::endl << std::endl;