X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2FYoinkApp.cc;h=a8a06cc82f6d1e6f9f694fda7114c3c7f322ef08;hp=2b4cb8cfdcc77db88754f04151af4b4a2ce1fa73;hb=542e50a284c7f5b144a5c97c17f6d89b2af0175c;hpb=d50942708db230dc5c43b8df89ede45525e1c394 diff --git a/src/YoinkApp.cc b/src/YoinkApp.cc index 2b4cb8c..a8a06cc 100644 --- a/src/YoinkApp.cc +++ b/src/YoinkApp.cc @@ -30,13 +30,12 @@ #include #include -#include - #include #include #include #include #include +#include #include #include @@ -116,14 +115,14 @@ YoinkApp::YoinkApp(int argc, char* argv[]) : heroine = Character::alloc("RobotTrooper"); heroine->getAnimation().startSequence("Run"); - Mf::Scalar a[6] = {0.0, 1.5, -0.5, 3.0, -1.5, 1.0}; + Mf::Scalar a[6] = {0.0, 1.5, -0.5, 3.0, -2.0, 1.0}; interp.init(a, 2.0, Mf::Interpolator::OSCILLATE); Mf::Scalar b[2] = {1.0, 0.0}; fadeIn.init(b, 1.0); - testScene = Mf::Scene::alloc("Test"); - heroine->treeNode = testScene->getOctree()->insert(heroine); + octree = Mf::loadScene("Classic"); + heroine->treeNode = octree->insert(heroine); } YoinkApp::~YoinkApp() @@ -174,19 +173,19 @@ void YoinkApp::contextRecreated(const Mf::Notification* note) void YoinkApp::update(Mf::Scalar t, Mf::Scalar dt) { - //dt *= 0.1; + //dt *= 0.7; - music.update(t, dt); fadeIn.update(dt); camera.update(t, 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)); + camera.setPosition(Mf::Vector3(-heroine->current.position[0], + -heroine->current.position[1], -256)); interp.update(dt); hud.setBar1Progress(interp.getState(dt)); @@ -203,7 +202,11 @@ void YoinkApp::draw(Mf::Scalar alpha) // 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(); @@ -258,11 +261,6 @@ void YoinkApp::handleEvent(const Mf::Event& event) 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"); @@ -295,7 +293,8 @@ void YoinkApp::handleEvent(const Mf::Event& event) case SDL_VIDEORESIZE: glViewport(0, 0, event.resize.w, event.resize.h); hud.resize(event.resize.w, event.resize.h); - camera.setProjection(cml::rad(60.0), double(event.resize.w / event.resize.h), 32.0, 2500.0); + camera.setProjection(cml::rad(60.0), + double(event.resize.w) / double(event.resize.h), 32.0, 2500.0); camera.uploadProjectionToGL(); break; }