From 917e2a45320cacb0e8baa53f13ea5a155f6043c8 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sun, 20 Jan 2013 05:40:37 +1000 Subject: Change the fly by stuff. Still not so good at the end. --- ClientHamr/extantz/CDemo.cpp | 54 ++++++++++++++++++++++++++++---------------- 1 file changed, 35 insertions(+), 19 deletions(-) (limited to 'ClientHamr') diff --git a/ClientHamr/extantz/CDemo.cpp b/ClientHamr/extantz/CDemo.cpp index 09821ec..9632675 100644 --- a/ClientHamr/extantz/CDemo.cpp +++ b/ClientHamr/extantz/CDemo.cpp @@ -106,9 +106,13 @@ void CDemo::switchToNextScene() { case 1: // panorama camera { - currentScene += 1; core::array points; + points.push_back(core::vector3df(-931.473755f, 900.0f, 2000.0f)); // -49873 + points.push_back(core::vector3df(-931.473755f, 700.0f, 1750.0f)); // -49873 + points.push_back(core::vector3df(-931.473755f, 500.0f, 1500.0f)); // -49873 + points.push_back(core::vector3df(-931.473755f, 300.0f, 1250.0f)); // -49873 + points.push_back(core::vector3df(-931.473755f, 200.0f, 1000.0f)); // -49873 points.push_back(core::vector3df(-931.473755f, 138.300003f, 987.279114f)); // -49873 points.push_back(core::vector3df(-847.902222f, 136.757553f, 915.792725f)); // -50559 points.push_back(core::vector3df(-748.680420f, 152.254501f, 826.418945f)); // -51964 @@ -146,13 +150,13 @@ void CDemo::switchToNextScene() points.push_back(core::vector3df(96.783348f, 181.639481f, 648.188110f)); points.push_back(core::vector3df(97.865623f, 138.905975f, 484.812561f)); points.push_back(core::vector3df(99.612457f, 102.463669f, 347.603210f)); - points.push_back(core::vector3df(99.612457f, 102.463669f, 347.603210f)); - points.push_back(core::vector3df(99.612457f, 102.463669f, 347.603210f)); + points.push_back(core::vector3df(99.0f, 90.0f, 347.0f)); + points.push_back(core::vector3df(99.0f, 90.0f, 347.0f)); + points.push_back(core::vector3df(99.0f, 90.0f, 347.0f)); - timeForThisScene = (points.size()-3)* 1000; + timeForThisScene = (points.size() - 1) * 1000; - camera = sm->addCameraSceneNode(0, points[0], core::vector3df(0 ,400,0)); - //camera->setTarget(core::vector3df(0,400,0)); + camera = sm->addCameraSceneNode(0, points[0], core::vector3df(0, 400, 0)); sa = sm->createFollowSplineAnimator(device->getTimer()->getTime(), points); @@ -161,13 +165,29 @@ void CDemo::switchToNextScene() } break; - case 2: // down fly anim camera - camera = sm->addCameraSceneNode(0, core::vector3df(100,40,-80), core::vector3df(844,670,-885)); - sa = sm->createFlyStraightAnimator(core::vector3df(94, 1002, 127), - core::vector3df(108, 15, -60), 10000, true); - camera->addAnimator(sa); - timeForThisScene = 9900; - sa->drop(); + case 2: // panorama camera + { + core::array points; + + points.push_back(core::vector3df(99.0f, 90.0f, 347.0f)); + points.push_back(core::vector3df(99.0f, 90.0f, 347.0f)); + points.push_back(core::vector3df(99.0f, 90.0f, 347.0f)); + points.push_back(core::vector3df(99.0f, 90.0f, 347.0f)); + points.push_back(core::vector3df(108.0f, 90.0f, -140.0f)); + points.push_back(core::vector3df(108.0f, 90.0f, -140.0f)); + points.push_back(core::vector3df(108.0f, 90.0f, -140.0f)); + points.push_back(core::vector3df(108.0f, 90.0f, -140.0f)); + points.push_back(core::vector3df(108.0f, 90.0f, -140.0f)); + + timeForThisScene = (points.size() - 1) * 500; + + camera = sm->addCameraSceneNode(0, points[0], core::vector3df(108, 90, -140)); + + sa = sm->createFollowSplineAnimator(device->getTimer()->getTime(), + points); + camera->addAnimator(sa); + sa->drop(); + } break; case 3: // interactive, go around @@ -199,15 +219,11 @@ void CDemo::switchToNextScene() keyMap[8].KeyCode = KEY_KEY_J; camera = sm->addCameraSceneNodeFPS(0, 100.0f, .4f, -1, keyMap, 9, false, 3.f); - camera->setPosition(core::vector3df(108,140,-140)); + camera->setPosition(core::vector3df(108, 90, -140)); camera->setFarValue(5000.0f); scene::ISceneNodeAnimatorCollisionResponse* collider = - sm->createCollisionResponseAnimator( - metaSelector, camera, core::vector3df(25,50,25), - core::vector3df(0, quakeLevelMesh ? -10.f : 0.0f,0), - core::vector3df(0,45,0), 0.005f); - + sm->createCollisionResponseAnimator(metaSelector, camera, core::vector3df(50, 100, 25), core::vector3df(0, quakeLevelMesh ? -10.f : 0.0f, 0), core::vector3df(0, 45, 0), 0.005f); camera->addAnimator(collider); collider->drop(); } -- cgit v1.1