]> git.leopard-lacewing.eu Git - cgue_weave.git/commitdiff
level loader
authorLockedLunatic <locked.lunatic@aon.at>
Tue, 28 Jun 2016 05:17:24 +0000 (07:17 +0200)
committerLockedLunatic <locked.lunatic@aon.at>
Tue, 28 Jun 2016 05:17:24 +0000 (07:17 +0200)
Weave/Game.cpp
Weave/Stage.cpp [new file with mode: 0644]
Weave/Stage.h [new file with mode: 0644]
Weave/Weave.vcxproj
Weave/Weave.vcxproj.filters
Weave/main.cpp
models/level_3.blend
models/level_3.blend1
models/level_3.dae

index 672bc8dba0fdabff695f97fcf7e599e979ba27b9..0e1356def283700ae71f676a70229d6eb32d4ff7 100644 (file)
@@ -40,6 +40,7 @@ typedef unsigned int uint;
 \r
 Game::Game() : playing(true)\r
 {\r
+       /*\r
        srand((int)time(NULL));\r
        // Hauptfenster\r
        current_world = new Scene(0, 0, Graphix::getWindowWidth(), Graphix::getWindowHeight(), 45, 0.1f, 40, vec3(0.0f, 0.0f, 0.f));\r
@@ -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))));\r
 \r
 \r
-\r
+       */\r
 \r
        /*\r
        SceneObject* tmp_world = new Level( "level_1", "model_levelTest_2D.jpg");\r
diff --git a/Weave/Stage.cpp b/Weave/Stage.cpp
new file mode 100644 (file)
index 0000000..c115668
--- /dev/null
@@ -0,0 +1,218 @@
+#include "Stage.h"
+
+#include <string>
+
+#include "GLM.h"
+#include <Windows.h>
+
+#include <assimp/Importer.hpp>
+#include <assimp/scene.h>
+#include <assimp/postprocess.h>
+
+#include <GL\glew.h>
+
+#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 <iostream>
+#include <time.h>
+
+//#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 (file)
index 0000000..03af091
--- /dev/null
@@ -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
index 8255fa7c3f7f35526d0af15786dfa939e459f283..c50792942c2fcc9912ba949da157e23b7c818a22 100644 (file)
     <ClCompile Include="Scene\Sky.cpp" />\r
     <ClCompile Include="Scene\Timestamp.cpp" />\r
     <ClCompile Include="Graphix\Textures\tImage.cpp" />\r
+    <ClCompile Include="Stage.cpp" />\r
   </ItemGroup>\r
   <ItemGroup>\r
     <ClInclude Include="Average.h" />\r
     <ClInclude Include="Scene\Sky.h" />\r
     <ClInclude Include="Scene\Timestamp.h" />\r
     <ClInclude Include="Graphix\Textures\tImage.h" />\r
+    <ClInclude Include="Stage.h" />\r
   </ItemGroup>\r
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
   <ImportGroup Label="ExtensionTargets">\r
index d92779ee7042806f599e5e8abdbf9a1ab4787282..5f66bede3882c179e99ffac7de03773e6a426f66 100644 (file)
     <ClCompile Include="Scene\Door.cpp">\r
       <Filter>Source Files</Filter>\r
     </ClCompile>\r
+    <ClCompile Include="Stage.cpp">\r
+      <Filter>Source Files</Filter>\r
+    </ClCompile>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <ClInclude Include="Fps.h">\r
     <ClInclude Include="Scene\Door.h">\r
       <Filter>Header Files</Filter>\r
     </ClInclude>\r
+    <ClInclude Include="Stage.h">\r
+      <Filter>Header Files</Filter>\r
+    </ClInclude>\r
   </ItemGroup>\r
 </Project>
\ No newline at end of file
index 82eef18f5db4219dae0c6798716858086b820f02..25cfdd0a8feef4ef78519553b7722abe5daf171d 100644 (file)
@@ -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;
 
index 1e248bba3c2cc102a43230f0d43eafc5581fb9af..7ac4c416f2cb490f5e4195a2b37c46794c7c4022 100644 (file)
Binary files a/models/level_3.blend and b/models/level_3.blend differ
index 4e30259ba7a6e0a09597e9c2e473abe4ed2c44d0..a1e5b2a53c7aa1eb4013ca29eddd477a64157e1e 100644 (file)
Binary files a/models/level_3.blend1 and b/models/level_3.blend1 differ
index f5223f3205028cfddee9602c24650c03e0c1993f..ae4ddf44c9cf070aa5dc07cee9d1156ab245f0e9 100644 (file)
@@ -5,8 +5,8 @@
       <author>Blender User</author>
       <authoring_tool>Blender 2.77.0 commit date:2016-04-05, commit time:18:12, hash:abf6f08</authoring_tool>
     </contributor>
-    <created>2016-06-28T05:59:20</created>
-    <modified>2016-06-28T05:59:20</modified>
+    <created>2016-06-28T07:07:42</created>
+    <modified>2016-06-28T07:07:42</modified>
     <unit name="meter" meter="1"/>
     <up_axis>Z_UP</up_axis>
   </asset>
           </technique_common>
         </source>
         <source id="Plane_005-mesh-normals">
-          <float_array id="Plane_005-mesh-normals-array" count="66">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</float_array>
+          <float_array id="Plane_005-mesh-normals-array" count="66">-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</float_array>
           <technique_common>
             <accessor source="#Plane_005-mesh-normals-array" count="22" stride="3">
               <param name="X" type="float"/>
           </technique_common>
         </source>
         <source id="Plane_005-mesh-map-0">
-          <float_array id="Plane_005-mesh-map-0-array" count="132">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</float_array>
+          <float_array id="Plane_005-mesh-map-0-array" count="132">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</float_array>
           <technique_common>
             <accessor source="#Plane_005-mesh-map-0-array" count="66" stride="2">
               <param name="S" type="float"/>
           <input semantic="NORMAL" source="#Plane_005-mesh-normals" offset="1"/>
           <input semantic="TEXCOORD" source="#Plane_005-mesh-map-0" offset="2" set="0"/>
           <vcount>3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 </vcount>
-          <p>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</p>
+          <p>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</p>
         </polylist>
       </mesh>
     </geometry>
   <library_visual_scenes>
     <visual_scene id="Scene" name="Scene">
       <node id="Floor" name="Floor" type="NODE">
-        <matrix sid="transform">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix>
+        <matrix sid="transform">0.3 0 0 -2.171479 0 0.3 0 -6.854875 0 0 0.3 1.294761 0 0 0 1</matrix>
         <instance_geometry url="#Plane_001-mesh" name="Floor"/>
       </node>
       <node id="Fence" name="Fence" type="NODE">
-        <matrix sid="transform">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix>
+        <matrix sid="transform">0.3 0 0 -2.171479 0 0.3 0 -6.854875 0 0 0.3 1.294761 0 0 0 1</matrix>
         <instance_geometry url="#Plane_002-mesh" name="Fence"/>
       </node>
       <node id="Barn" name="Barn" type="NODE">
-        <matrix sid="transform">1 0 0 -12.40845 0 1 0 26.96462 0 0 1 1.202948 0 0 0 1</matrix>
+        <matrix sid="transform">0.3 0 0 -5.894014 0 0.3 0 1.23451 0 0 0.3 1.655645 0 0 0 1</matrix>
         <instance_geometry url="#Plane_005-mesh" name="Barn"/>
       </node>
       <node id="Hay" name="Hay" type="NODE">
-        <matrix sid="transform">1 0 0 0 0 1 0 10.48751 0 0 1 1 0 0 0 1</matrix>
+        <matrix sid="transform">0.6 0 0 -2.171479 0 0.6 0 -3.708623 0 0 0.6 0.7429211 0 0 0 1</matrix>
         <instance_geometry url="#Cylinder_005-mesh" name="Hay"/>
       </node>
     </visual_scene>