From: LockedLunatic Date: Tue, 28 Jun 2016 05:17:24 +0000 (+0200) Subject: level loader X-Git-Url: https://git.leopard-lacewing.eu/?a=commitdiff_plain;h=19cb11992968728576abc274226216c4172c56f9;p=cgue_weave.git level loader --- diff --git a/Weave/Game.cpp b/Weave/Game.cpp index 672bc8d..0e1356d 100644 --- a/Weave/Game.cpp +++ b/Weave/Game.cpp @@ -40,6 +40,7 @@ typedef unsigned int uint; Game::Game() : playing(true) { + /* srand((int)time(NULL)); // Hauptfenster current_world = new Scene(0, 0, Graphix::getWindowWidth(), Graphix::getWindowHeight(), 45, 0.1f, 40, vec3(0.0f, 0.0f, 0.f)); @@ -90,7 +91,7 @@ Game::Game() : playing(true) current_world->addObject(new Boar(translate(vec3(16.71088f, 0.1f, 0.83976f)) * rotate(-1.6f, vec3(0, 1, 0)))); - + */ /* SceneObject* tmp_world = new Level( "level_1", "model_levelTest_2D.jpg"); diff --git a/Weave/Stage.cpp b/Weave/Stage.cpp new file mode 100644 index 0000000..c115668 --- /dev/null +++ b/Weave/Stage.cpp @@ -0,0 +1,218 @@ +#include "Stage.h" + +#include + +#include "GLM.h" +#include + +#include +#include +#include + +#include + +#include "Scene.h" +#include "Scene\Lever.h" + +#include "Graphix\Shader.h" +#include "Graphix\Graphix.h" +#include "Graphix\Textures.h" +#include "Fps.h" +#include "Events.h" + +#include "Graphix\Model.h" + +#include "Message.h" + +//#include "PlayerI.h" + +#include +#include + +//#define FRAMERATE_FIX 60 + +using std::cout; +using std::endl; + +using std::string; + +typedef unsigned int uint; + +Stage::Stage() +{ + +} + +Stage::Stage(int num) +{ + SceneObject* tmp_world; + SceneObject* tmp_playerObject; + Door* door1; + Door* door2; + Lever* lever1; + Lever* lever2; + switch (num) + { + case 0: srand((int)time(NULL)); + // Hauptfenster + current_world = new Scene(0, 0, Graphix::getWindowWidth(), Graphix::getWindowHeight(), 45, 0.1f, 40, vec3(0.0f, 0.0f, 0.f)); + + // load LVL + tmp_world = new Level("level_1", "model_levelTest_2D.jpg"); + + //tmp_world->ignore = true; + current_world->addObject(tmp_world); + + // current_world->addObject(new SceneObject( translate(vec3(-3.f, 1.f, 0.f)), vec4(1.0f, 1.0f, 1.0f, 3.0f), new BBox(), "")); + + //Player + tmp_playerObject = new Marvin(translate(vec3(1.f, 3.f, 1.f))*rotate((float)M_PI_4, vec3(0.f, 1.f, 0.f))); + + current_world->addObject(tmp_playerObject); + current_world->setLookAt(tmp_playerObject); + + //current_world->addObject(new SceneObject( glm::mat4(1.0f), "Player.dae", "model_player.png")); + //current_world->addObject(new SceneObject( translate(vec3(-3.f, .4f, 0.f))*scale(vec3(3.f)), "cow/cow.dae", "model_cow_2D.jpg")); + current_world->addObject(new SceneObject(translate(vec3(-3.f, .4f, 0.f)), vec4(3.0f, 0.5f, 0.4f, 1.5f), "duck_col", "default_2D.png")); + //current_world->addObject(new SceneObject(translate(vec3(-5.f, .4f, 0.f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boar", "model_boar_2D.png")); + + door1 = new Door(translate(vec3(92.f, -12.f, -4.f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "door", "default_2D.png"); + current_world->addObject(door1); + door1->setAnimationLoop(false); + door1->timeresistant = true; + + door2 = new Door(translate(vec3(7.0f, 0.0f, -5.0f)), vec4(3.0f, 1.f, -1.4f, 1.5f), "door", "default_2D.png"); + current_world->addObject(door2); + door2->setAnimationLoop(false); + + lever1 = new Lever(translate(vec3(-47.03945f, 8.03048f, 10.50753f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "lever", "default_2D.png"); + current_world->addObject(lever1); + lever1->setAnimationLoop(false); + lever1->setup(door2); + + //lever2 = new Lever(translate(vec3(86.f, -18.f, 5.f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "lever", "model_duck_2D.png"); + lever2 = new Lever(translate(vec3(-5.f, 0.f, -5.f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "lever", "default_2D.png"); + current_world->addObject(lever2); + lever2->setAnimationLoop(false); + lever2->timeresistant = true; + lever2->setup(door2); + + current_world->addObject(new Boar(translate(vec3(-5.f, 1.f, 5.f)))); + + + //current_world->addObject(new SceneObject(translate(vec3(-5.f, 3.f, 0.f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "SkyBox", "model_SkyBox_2D.png")); + + current_world->addObject(new EventBox(translate(vec3(3.f, .4f, 0.f)), EB_LOSTZONE)); + //current_world->addObject(new EventBox(translate(vec3(0.f, -5.f, 0.f))*glm::scale(vec3(50.f,1.f,50.f)), EB_LOSTZONE)); + current_world->addObject(new EventBox(translate(vec3(3.f, .4f, -15.f)), EB_WINZONE)); + + current_world->addObject(new Boar(translate(vec3(-5.f, 4.f, 3.f)))); + break; + case 1: srand((int)time(NULL)); + // Hauptfenster + current_world = new Scene(0, 0, Graphix::getWindowWidth(), Graphix::getWindowHeight(), 45, 0.1f, 40, vec3(0.0f, 0.0f, 0.f)); + + // load LVL + + tmp_world = new Level("level_2", "model_levelTest_2D.jpg"); + current_world->addObject(tmp_world); + + //Player + tmp_playerObject = new Marvin(translate(vec3(-5.38658f, 0.73429f, 30.24083f))*rotate((float)M_PI_4, vec3(0.f, 1.f, 0.f))); + + current_world->addObject(tmp_playerObject); + current_world->setLookAt(tmp_playerObject); + + + lever1 = new Lever(translate(vec3(2.55167f, 2.51451f, -5.54817f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "lever", "default_2D.png"); + current_world->addObject(lever1); + lever1->setAnimationLoop(false); + + + door1 = new Door(translate(vec3(-9.78039f, -1.06029f, -6.46377f)) * rotate(1.5708f, vec3(0, 1, 0)), vec4(3.0f, 3.f, 0.4f, 1.5f), "Door", "default_2D.png"); + current_world->addObject(door1); + door1->setup(1.5708f, vec3(0, 1, 0), 1); + lever1->setup(door1); + door2 = new Door(translate(vec3(-2.58412f, -1.06029f, -6.46377f)) * rotate(-1.5708f, vec3(0, 1, 0)), vec4(3.0f, 3.f, 0.4f, 1.5f), "Door", "default_2D.png"); + current_world->addObject(door2); + door2->setup(-1.5708f, vec3(0, 1, 0), 1); + lever1->setup(door2); + + + current_world->addObject(new Level(translate(vec3(-5.50806f, 0.91084f, 19.01143f)) * rotate(-1.57f, vec3(0, 1, 0)), vec4(3.0f, 3.f, 0.4f, 1.5f), "Log", "model_levelTest_2D.png")); + current_world->addObject(new Level(translate(vec3(-5.50806f, -0.52355f, 7.75976f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "Log", "model_levelTest_2D.png")); + current_world->addObject(new Level(translate(vec3(3.0515f, -1.3978f, -3.00258f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png")); + current_world->addObject(new Level(translate(vec3(3.0515f, -1.3978f, -6.02786f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png")); + current_world->addObject(new Level(translate(vec3(10.0674f, -1.3978f, -1.83059f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png")); + current_world->addObject(new Level(translate(vec3(10.02701f, -1.3978f, 1.3517f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png")); + current_world->addObject(new Level(translate(vec3(16.17073f, -1.46596f, -5.34347f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png")); + current_world->addObject(new Level(translate(vec3(21.94122f, -1.36633f, 2.71334f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png")); + current_world->addObject(new Level(translate(vec3(30.17974f, -3.34705f, -2.16098f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png")); + current_world->addObject(new Level(translate(vec3(18.57976f, 2.46041f, -1.78333f)) * rotate(0.51f, vec3(0, 1, 0)), vec4(3.0f, 3.f, 0.4f, 1.5f), "Log", "model_levelTest_2D.png")); + current_world->addObject(new Level(translate(vec3(26.31248f, 1.66742f, 0.82817f)) * rotate(-0.95f, vec3(0, 1, 0)) * rotate(-0.35f, vec3(1, 0, 0)), vec4(3.0f, 3.f, 0.4f, 1.5f), "Log", "model_levelTest_2D.png")); + + + current_world->addObject(new Boar(translate(vec3(-7.14729f, 0.1f, -3.08567f)) * rotate(1.5f, vec3(0, 1, 0)))); + current_world->addObject(new Boar(translate(vec3(13.32701f, 0.1f, -2.53362f)) * rotate(1.8f, vec3(0, 1, 0)))); + current_world->addObject(new Boar(translate(vec3(23.64995f, 0.1f, -2.53362f)) * rotate(1.9f, vec3(0, 1, 0)))); + current_world->addObject(new Boar(translate(vec3(16.71088f, 0.1f, 0.83976f)) * rotate(-1.6f, vec3(0, 1, 0)))); + + + current_world->addObject(new EventBox(translate(vec3(0.f, .4f, 0.f)), EB_WINZONE)); + break; + case 2: srand((int)time(NULL)); + // Hauptfenster + current_world = new Scene(0, 0, Graphix::getWindowWidth(), Graphix::getWindowHeight(), 45, 0.1f, 40, vec3(0.0f, 0.0f, 0.f)); + + // load LVL + + tmp_world = new Level("level_3", "model_levelTest_2D.jpg"); + current_world->addObject(tmp_world); + + //Player + tmp_playerObject = new Marvin(translate(vec3(0.f, 0.73429f, 0.f))); + + current_world->addObject(tmp_playerObject); + current_world->setLookAt(tmp_playerObject); + + + lever1 = new Lever(translate(vec3(2.55167f, 2.51451f, -5.54817f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "lever", "default_2D.png"); + current_world->addObject(lever1); + lever1->setAnimationLoop(false); + + + door1 = new Door(translate(vec3(-9.78039f, -1.06029f, -6.46377f)) * rotate(1.5708f, vec3(0, 1, 0)), vec4(3.0f, 3.f, 0.4f, 1.5f), "Door", "default_2D.png"); + current_world->addObject(door1); + door1->setup(1.5708f, vec3(0, 1, 0), 1); + lever1->setup(door1); + door2 = new Door(translate(vec3(-2.58412f, -1.06029f, -6.46377f)) * rotate(-1.5708f, vec3(0, 1, 0)), vec4(3.0f, 3.f, 0.4f, 1.5f), "Door", "default_2D.png"); + current_world->addObject(door2); + door2->setup(-1.5708f, vec3(0, 1, 0), 1); + lever1->setup(door2); + + + current_world->addObject(new Level(translate(vec3(-5.50806f, 0.91084f, 19.01143f)) * rotate(-1.57f, vec3(0, 1, 0)), vec4(3.0f, 3.f, 0.4f, 1.5f), "Log", "model_levelTest_2D.png")); + current_world->addObject(new Level(translate(vec3(-5.50806f, -0.52355f, 7.75976f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "Log", "model_levelTest_2D.png")); + current_world->addObject(new Level(translate(vec3(3.0515f, -1.3978f, -3.00258f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png")); + current_world->addObject(new Level(translate(vec3(3.0515f, -1.3978f, -6.02786f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png")); + current_world->addObject(new Level(translate(vec3(10.0674f, -1.3978f, -1.83059f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png")); + current_world->addObject(new Level(translate(vec3(10.02701f, -1.3978f, 1.3517f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png")); + current_world->addObject(new Level(translate(vec3(16.17073f, -1.46596f, -5.34347f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png")); + current_world->addObject(new Level(translate(vec3(21.94122f, -1.36633f, 2.71334f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png")); + current_world->addObject(new Level(translate(vec3(30.17974f, -3.34705f, -2.16098f)), vec4(3.0f, 3.f, 0.4f, 1.5f), "boulder", "model_levelTest_2D.png")); + current_world->addObject(new Level(translate(vec3(18.57976f, 2.46041f, -1.78333f)) * rotate(0.51f, vec3(0, 1, 0)), vec4(3.0f, 3.f, 0.4f, 1.5f), "Log", "model_levelTest_2D.png")); + current_world->addObject(new Level(translate(vec3(26.31248f, 1.66742f, 0.82817f)) * rotate(-0.95f, vec3(0, 1, 0)) * rotate(-0.35f, vec3(1, 0, 0)), vec4(3.0f, 3.f, 0.4f, 1.5f), "Log", "model_levelTest_2D.png")); + + + current_world->addObject(new Boar(translate(vec3(-7.14729f, 0.1f, -3.08567f)) * rotate(1.5f, vec3(0, 1, 0)))); + current_world->addObject(new Boar(translate(vec3(13.32701f, 0.1f, -2.53362f)) * rotate(1.8f, vec3(0, 1, 0)))); + current_world->addObject(new Boar(translate(vec3(23.64995f, 0.1f, -2.53362f)) * rotate(1.9f, vec3(0, 1, 0)))); + current_world->addObject(new Boar(translate(vec3(16.71088f, 0.1f, 0.83976f)) * rotate(-1.6f, vec3(0, 1, 0)))); + break; + } +} + +Stage::~Stage() +{ + +} \ No newline at end of file diff --git a/Weave/Stage.h b/Weave/Stage.h new file mode 100644 index 0000000..03af091 --- /dev/null +++ b/Weave/Stage.h @@ -0,0 +1,11 @@ +#pragma once + +#include "Game.h" + +class Stage : public Game +{ +public: + Stage(); + Stage(int num); + ~Stage(); +}; \ No newline at end of file diff --git a/Weave/Weave.vcxproj b/Weave/Weave.vcxproj index 8255fa7..c507929 100644 --- a/Weave/Weave.vcxproj +++ b/Weave/Weave.vcxproj @@ -128,6 +128,7 @@ + @@ -172,6 +173,7 @@ + diff --git a/Weave/Weave.vcxproj.filters b/Weave/Weave.vcxproj.filters index d92779e..5f66bed 100644 --- a/Weave/Weave.vcxproj.filters +++ b/Weave/Weave.vcxproj.filters @@ -123,6 +123,9 @@ Source Files + + Source Files + @@ -251,5 +254,8 @@ Header Files + + Header Files + \ No newline at end of file diff --git a/Weave/main.cpp b/Weave/main.cpp index 82eef18..25cfdd0 100644 --- a/Weave/main.cpp +++ b/Weave/main.cpp @@ -24,8 +24,8 @@ //#include "Fps.h" -#include "Game.h" -//#include "Stage.h" +//#include "Game.h" +#include "Stage.h" //using std::cout; //using std::endl; @@ -50,13 +50,14 @@ int main(int argc, char *argv[]) Shader::init(); bool play(true); + int level = 1; while (!Events::quit) { if (play) { play = false; - Game spiel1; + Stage spiel1(level); spiel1.play(); @@ -65,8 +66,10 @@ int main(int argc, char *argv[]) } Events::processEvents(); - if (Events::halt) + if (Events::halt == 1) break; + if (Events::halt == 2) + level = 2; if (Events::isKHeld(SDLK_r)) play = true; diff --git a/models/level_3.blend b/models/level_3.blend index 1e248bb..7ac4c41 100644 Binary files a/models/level_3.blend and b/models/level_3.blend differ diff --git a/models/level_3.blend1 b/models/level_3.blend1 index 4e30259..a1e5b2a 100644 Binary files a/models/level_3.blend1 and b/models/level_3.blend1 differ diff --git a/models/level_3.dae b/models/level_3.dae index f5223f3..ae4ddf4 100644 --- a/models/level_3.dae +++ b/models/level_3.dae @@ -5,8 +5,8 @@ Blender User Blender 2.77.0 commit date:2016-04-05, commit time:18:12, hash:abf6f08 - 2016-06-28T05:59:20 - 2016-06-28T05:59:20 + 2016-06-28T07:07:42 + 2016-06-28T07:07:42 Z_UP @@ -111,7 +111,7 @@ - 4.74013e-4 0.9245764 -0.3809964 0 0.3826835 -0.9238796 0 -0.3826835 -0.9238796 0 -0.9263768 -0.3765984 -0.001812338 0.9999985 0 -0.9999989 0.001519501 0 -4.80534e-4 -1 0 0.9999999 0 5.3244e-4 1 0 0 -0.9999992 -5.02838e-4 -0.001214861 0 0.9238795 -0.3826835 0 0.3826833 -0.9238796 0 -0.3826833 -0.9238796 0.001704275 -0.9238782 -0.3826828 1.1942e-4 0.9999836 -0.005743503 -0.9999989 0.001519501 0 2.07239e-4 -0.9999979 -0.002047061 1 -6.7991e-5 3.9549e-4 1 -5.26522e-7 0 1 -1.54215e-7 0 -0.9999954 0.001519441 0.002645432 -0.9999999 2.09444e-4 -5.06022e-4 + -4.74004e-4 -0.9245765 0.3809964 0 -0.3826835 0.9238796 0 0.3826835 0.9238796 0 0.9263767 0.3765984 -0.001812338 0.9999985 0 -0.9999989 0.001519501 0 -4.80534e-4 -1 0 0.9999999 0 5.3244e-4 1 0 0 -0.9999992 -5.02838e-4 -0.001214861 0 -0.9238795 0.3826835 0 -0.3826833 0.9238796 0 0.3826833 0.9238796 -0.001704275 0.9238783 0.3826829 1.1942e-4 0.9999836 -0.005743503 -0.9999989 0.001519501 0 2.07239e-4 -0.9999979 -0.002047061 1 -6.7991e-5 3.9549e-4 1 -5.26522e-7 0 1 -1.54215e-7 0 -0.9999954 0.001519441 0.002645432 -0.9999999 2.09444e-4 -5.06022e-4 @@ -121,7 +121,7 @@ - 0.5565676 0.9981268 0.7294408 0.4026927 0.7294406 0.9986009 0.4585115 0.9980884 0.5565556 0.402686 0.5565676 0.9981268 0.9022533 0.9980995 1 0.4027057 1 0.9981465 0.7296274 0.9979444 0.9022532 0.4026588 0.9022533 0.9980995 0.448051 0.9993818 0.2242982 0.4040126 0.448051 0.4040852 0.4584999 0.4026477 0.6866806 0 0.6866807 0.4026477 0.2239893 0.4040126 0 0.9999269 1.42582e-4 0.4040188 0.2302656 0 0.4584997 0.4028625 0.2302658 0.4040126 0.2302656 0 0.06744325 0.3448463 0 0.2020063 0.9169994 0.2017202 0.8495561 0.3445602 0.6866807 0.4026477 0.5565676 0.9981268 0.5565556 0.402686 0.7294408 0.4026927 0.4585115 0.9980884 0.4584997 0.4026477 0.5565556 0.402686 0.9022533 0.9980995 0.9022532 0.4026588 1 0.4027057 0.7296274 0.9979444 0.7294408 0.4026477 0.9022532 0.4026588 0.448051 0.9993818 0.2239893 0.9994155 0.2242982 0.4040126 0.4584999 0.4026477 0.4584997 0 0.6866806 0 0.2239893 0.4040126 0.2239893 1 0 0.9999269 0.2302656 0 0.4584996 4.09817e-4 0.4584997 0.4028625 0 0.2020063 0.06744319 0.05916631 0.2302656 0 0.2302656 0 0.2302658 0.4040126 0.06744325 0.3448463 0.6866807 0.4026477 0.6866806 0 0.8495563 0.05888038 0.8495563 0.05888038 0.9169994 0.2017202 0.6866807 0.4026477 + 0.7294408 0.4026927 0.5565676 0.9981268 0.7294406 0.9986009 0.5565556 0.402686 0.4585115 0.9980884 0.5565676 0.9981268 1 0.4027057 0.9022533 0.9980995 1 0.9981465 0.9022532 0.4026588 0.7296274 0.9979444 0.9022533 0.9980995 0.448051 0.9993818 0.2242982 0.4040126 0.448051 0.4040852 0.4584999 0.4026477 0.6866806 0 0.6866807 0.4026477 0.2239893 0.4040126 0 0.9999269 1.42582e-4 0.4040188 0.2302656 0 0.4584997 0.4028625 0.2302658 0.4040126 0.2302656 0 0.06744325 0.3448463 0 0.2020063 0.9169994 0.2017202 0.8495561 0.3445602 0.6866807 0.4026477 0.7294408 0.4026927 0.5565556 0.402686 0.5565676 0.9981268 0.5565556 0.402686 0.4584997 0.4026477 0.4585115 0.9980884 1 0.4027057 0.9022532 0.4026588 0.9022533 0.9980995 0.9022532 0.4026588 0.7294408 0.4026477 0.7296274 0.9979444 0.448051 0.9993818 0.2239893 0.9994155 0.2242982 0.4040126 0.4584999 0.4026477 0.4584997 0 0.6866806 0 0.2239893 0.4040126 0.2239893 1 0 0.9999269 0.2302656 0 0.4584996 4.09817e-4 0.4584997 0.4028625 0 0.2020063 0.06744319 0.05916631 0.2302656 0 0.2302656 0 0.2302658 0.4040126 0.06744325 0.3448463 0.6866807 0.4026477 0.6866806 0 0.8495563 0.05888038 0.8495563 0.05888038 0.9169994 0.2017202 0.6866807 0.4026477 @@ -137,7 +137,7 @@ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 -

4 0 0 3 0 1 2 0 2 6 1 3 5 1 4 4 1 5 8 2 6 7 2 7 6 2 8 0 3 9 9 3 10 8 3 11 1 4 12 10 4 13 0 4 14 10 5 15 2 5 16 0 5 17 13 6 18 3 6 19 2 6 20 3 7 21 11 7 22 1 7 23 3 8 24 9 8 25 7 8 26 6 9 27 8 9 28 0 9 29 4 10 30 5 10 31 3 10 32 6 11 33 7 11 34 5 11 35 8 12 36 9 12 37 7 12 38 0 13 39 1 13 40 9 13 41 1 14 42 11 14 43 10 14 44 10 15 45 13 15 46 2 15 47 13 16 48 12 16 49 3 16 50 3 17 51 12 17 52 11 17 53 7 18 54 5 18 55 3 18 56 3 19 57 1 19 58 9 19 59 0 20 60 2 20 61 4 20 62 4 21 63 6 21 64 0 21 65

+

3 0 0 4 0 1 2 0 2 5 1 3 6 1 4 4 1 5 7 2 6 8 2 7 6 2 8 9 3 9 0 3 10 8 3 11 1 4 12 10 4 13 0 4 14 10 5 15 2 5 16 0 5 17 13 6 18 3 6 19 2 6 20 3 7 21 11 7 22 1 7 23 3 8 24 9 8 25 7 8 26 6 9 27 8 9 28 0 9 29 3 10 30 5 10 31 4 10 32 5 11 33 7 11 34 6 11 35 7 12 36 9 12 37 8 12 38 9 13 39 1 13 40 0 13 41 1 14 42 11 14 43 10 14 44 10 15 45 13 15 46 2 15 47 13 16 48 12 16 49 3 16 50 3 17 51 12 17 52 11 17 53 7 18 54 5 18 55 3 18 56 3 19 57 1 19 58 9 19 59 0 20 60 2 20 61 4 20 62 4 21 63 6 21 64 0 21 65

@@ -189,19 +189,19 @@ - 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 + 0.3 0 0 -2.171479 0 0.3 0 -6.854875 0 0 0.3 1.294761 0 0 0 1 - 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 + 0.3 0 0 -2.171479 0 0.3 0 -6.854875 0 0 0.3 1.294761 0 0 0 1 - 1 0 0 -12.40845 0 1 0 26.96462 0 0 1 1.202948 0 0 0 1 + 0.3 0 0 -5.894014 0 0.3 0 1.23451 0 0 0.3 1.655645 0 0 0 1 - 1 0 0 0 0 1 0 10.48751 0 0 1 1 0 0 0 1 + 0.6 0 0 -2.171479 0 0.6 0 -3.708623 0 0 0.6 0.7429211 0 0 0 1