diff --git a/Application.cpp b/Application.cpp index b5dbe0e..c831a4f 100644 --- a/Application.cpp +++ b/Application.cpp @@ -332,8 +332,8 @@ void eject(PartInstance * colliding, PartInstance * collider) { if(colliding == collider || !colliding->canCollide || !collider->canCollide) return; - if(G3D::CollisionDetection::fixedSolidBoxIntersectsFixedSolidBox(collider->getBox(), colliding->getBox())); - collider->setVelocity(collider->getVelocity() - colliding->cFrame.lookVector()); + if(G3D::CollisionDetection::fixedSolidBoxIntersectsFixedSolidBox(collider->getBox(), colliding->getBox())) + collider->setVelocity(collider->getVelocity().reflectionDirection(colliding->cFrame.upVector())/1.3); } diff --git a/Instance.cpp b/Instance.cpp index 996aaac..37bbcf7 100644 --- a/Instance.cpp +++ b/Instance.cpp @@ -3,6 +3,7 @@ #include "Instance.h" + Instance::Instance(void) { parent = NULL; diff --git a/Instance.h b/Instance.h index dcee204..7e25dce 100644 --- a/Instance.h +++ b/Instance.h @@ -1,6 +1,7 @@ #pragma once #include #include "propertyGrid.h" +#include "map" class Instance { @@ -31,5 +32,6 @@ protected: std::string className; Instance* parent; // Another pointer. PROPGRIDITEM createPGI(LPSTR catalog, LPSTR propName, LPSTR propDesc, LPARAM curVal, INT type, TCHAR choices[] = NULL); - +private: + static const std::map g_logLevelsDescriptions; };