]> git.leopard-lacewing.eu Git - cgue_weave.git/commitdiff
restart Game
authorPeter Schaefer <schaeferpm@gmail.com>
Mon, 4 May 2015 20:17:02 +0000 (22:17 +0200)
committerPeter Schaefer <schaeferpm@gmail.com>
Mon, 4 May 2015 20:17:02 +0000 (22:17 +0200)
fixed Level Texture

12 files changed:
Weave/Events.cpp
Weave/Game.cpp
Weave/Game.h
Weave/Graphix/GLM.cpp
Weave/Graphix/GLM.h
Weave/Graphix/Model/Model.cpp
Weave/Graphix/Texture.cpp
Weave/Scene/EventBox.cpp
Weave/Scene/Scene.cpp
Weave/main.cpp
textures/model_levelTest_2D.png
textures/model_levelTest_2D.psb

index 14baa4ad3a47fd27dbb6ab686649edf9562e263e..6c31b0e20da9ffe1e6865ac10f3bea73bec84755 100644 (file)
@@ -43,7 +43,7 @@ void Events::processEvents()
                case SDL_KEYDOWN:
                        if (sdl_event.key.keysym.sym == SDLK_ESCAPE)
                        {
-                               quit = true;    //TODO nicht gleich alles beenden bei Escape
+                               //quit = true;  //TODO nicht gleich alles beenden bei Escape
                                halt = true;
                        }
                        if (!isKHeld(sdl_event.key.keysym.sym))
index b204211a606f516ad80ecd2722e6dd783f6d31a0..c5afb7fb967287adccab4b19b2ddc1f68cf86e0b 100644 (file)
@@ -55,7 +55,7 @@ Game::Game() : playing(true)
 //     current_world->addObject(new SceneObject(shader1, translate(vec3(-3.f, 1.f, 0.f)), vec4(1.0f, 1.0f, 1.0f, 3.0f), new BBox(), ""));
 
        //Player
-       SceneObject* tmp_playerObject = new Marvin(shader1, translate(vec3(1.f, 3.f, 1.f))*rotate((float)M_PI_4,vec3(0.f,1.f,0.f))*scale(vec3(.2f)));
+       SceneObject* tmp_playerObject = new Marvin(shader1, translate(vec3(1.f, 3.f, 1.f))*rotate((float)M_PI_4,vec3(0.f,1.f,0.f)));
 
        tmp_playerObject->yStatic= false;
 
@@ -74,7 +74,6 @@ Game::Game() : playing(true)
 Game::~Game()
 { 
        delete current_world;
-
 }
 
 
@@ -82,7 +81,7 @@ void Game::play()
 {
        Fps fps(0.3f);
        int sleep_time=0;
-       while (!Events::quit){
+       while (!Events::halt){
                fps.step();
 
                sleep_time += (int)(1000./ FRAMERATE_FIX - fps.getTicks());
index e62f1291b0e4604ff8a65774c3cbbaf76430bc37..1e584f158168592222c6a6f763e8b1d587189906 100644 (file)
@@ -29,10 +29,5 @@ private:
        void update(float);
        void draw() const;
 
-
-       Shader* shader_skybox;
-       Texture* texture_skybox;
-       Model* model_skybox;
-
 };
 
index 6ca7de208bd0d0227c09464cd3b930c1a4d19bee..b405afd989106682ead2397cc5e4eb243f97e752 100644 (file)
@@ -26,4 +26,9 @@ vec3 getScale(const mat4& matrix)
                scalingV[i] =  sqrt(scalingM[i][i]);
 
        return scalingV;
+}
+
+vec3 orthoVec(const vec3& _direction, const vec3& _vec)
+{
+       return normalize(_vec + _direction * dot(_direction, _vec));
 }
\ No newline at end of file
index b02fb3be4c1a4a8c18cca6a437199947bc2ee410..b70bbd243f7a8ebfd036e953a93766202e3b2c70 100644 (file)
@@ -44,3 +44,5 @@ float VektorAbs(const vec3& vek);
 mat4 removeScale(const mat4& matrix);
 vec3 getScale(const mat4& matrix);
 
+vec3 orthoVec(const vec3& direction, const vec3& vec);
+
index fa5b7f1f571a5307539595a0525903c3bd1e4af6..6b270a1195a32e0ca704f14a991ff09c1061bf44 100644 (file)
@@ -364,10 +364,6 @@ Model* Model::getBBoxModel()
 
 float Model::getPDistHit(const vec3& _P, const vec3& _direction) const
 {
-       vec3 n2 = cross(_direction, vec3(1.f, 0.f, 0.f));
-       if (n2.length()<=0.01f)
-               n2 = cross(_direction, vec3(0.f, 1.f, 0.f));
-       vec3 n3 = cross(_direction, n2);
 
        vec3 posA, sizeA;
        getBBsp(sizeA, posA);
index 6c19a45b46cc329ec19ab02e9c403d2709300cec..e1408613a77dfd1712fb49563951a62c65ca026d 100644 (file)
@@ -96,7 +96,7 @@ Texture::Texture(const string& _path, const vec4& _material) : path(_path), hand
 
 Texture::~Texture()
 {
-       //glDeleteTextures(1, &handle);
+       glDeleteTextures(1, &handle);
 }
 
 void Texture::bind(int unit)
index 7fd6f96fc94854bb0c064ac0147835e9405d6e66..2abe6a84140cd5428fe36b30a26f17e08becd3a5 100644 (file)
@@ -34,7 +34,22 @@ void EventBox::collides(SceneObject* _other)
 {
        if ((texture != nullptr && texture->operator std::string() == "model_player_2D.png") || _other->getTexture() != nullptr && (_other->getTexture()->operator std::string() == "model_player_2D.png"))
        {
-               if (!ignore && !_other->ignore)
-                       Message::info("EB Kollision!" + eb_type);
+               //if (!ignore && !_other->ignore)
+                       
+                       switch (eb_type)
+                       {
+                       default:
+                               Message::info("EB Kollision: " + std::to_string(eb_type) + " !");
+                               break;
+                       case EB_LOSTZONE:
+                               Message::info("Spiel Verloren!");
+                               Events::halt = true;
+                               break;
+                       case EB_WINZONE:
+                               Message::info("Spiel Gewonnen!");
+                               Events::halt = true;
+                               break;
+                       }
+
        }
 }
\ No newline at end of file
index aa0034c9b3b643ca7331c2a4ee2ce1eef698af81..d12e815d894c024771f115ec5cd8fe9f630ba0be 100644 (file)
@@ -21,7 +21,7 @@ using std::set;
 #define TIME_TILL_DIRECTION_ROTATE 1
 
 #define SPEED_MOVE_NORMAL 1.5f
-#define MOVE_FASTER 2.f
+#define MOVE_FASTER 2.5f
 
 
 Scene::Scene(unsigned int x, unsigned int y, unsigned int width, unsigned int height, float fovy, float zNear, float zFar, vec3 pos, SceneObject* _lookat) :
index 4f84b32e342675a7e51a4e5b8aa61003cb9175ec..c75cc2a8f3cff7007dface4aaad61725bff92e8e 100644 (file)
@@ -2,7 +2,7 @@
 #include <iostream>
 #include <fstream>
 
-#include "Graphix\GLM.h"
+//#include "Graphix\GLM.h"
 
 //#include <GL\glew.h>         //glew32.dll
 
 
 //#include "Graphix\SceneObject.h"
 //#include "Graphix\Shader.h"
-//#include "Message.h"
+#include "Message.h"
 
 #include "Graphix\Graphix.h"
 //#include "Graphix\Scene.h"
-//#include "Events.h"
+#include "Events.h"
 
 //#include "Average.h"
 
@@ -44,9 +44,29 @@ int main(int argc, char *argv[])
 
        Graphix::init();
 
-       Game spiel1;
+       bool play(true);
+
+       while (!Events::quit)
+       {
+               if (play)
+               {
+                       play = false;
+                       Game spiel1;
+
+                       spiel1.play();
+
+                       Events::halt = false;
+                       Message::info("Press ESC to quit or R for a new Game.");
+
+               }
+               Events::processEvents();
+               if (Events::halt)
+                       break;
+               if (Events::isKHeld(SDLK_r))
+                       play = true;
+
+       }
 
-       spiel1.play();
 
        Graphix::cleanup();
 
index 2aa9b42dcfc436ce6b275a3ae0050e1d92772a33..05ecc13a89ac5dd8f0885613c72e9da089a89150 100644 (file)
Binary files a/textures/model_levelTest_2D.png and b/textures/model_levelTest_2D.png differ
index 832e5df9337bd285f7f2d5a2752326644d7bb83b..94144fc1a60a0de7a018afe1ff88335ff8a6f6f4 100644 (file)
Binary files a/textures/model_levelTest_2D.psb and b/textures/model_levelTest_2D.psb differ