Index: /trunk/src/lib/graphics/effects/lense_flare.cc
===================================================================
--- /trunk/src/lib/graphics/effects/lense_flare.cc	(revision 6883)
+++ /trunk/src/lib/graphics/effects/lense_flare.cc	(revision 6884)
@@ -29,4 +29,6 @@
 
 #include "render2D/billboard.h"
+
+#include "light.h"
 
 using namespace std;
@@ -54,4 +56,6 @@
   this->flareMatrix[10] = -0.25f; this->flareMatrix[11] = 0.25f;
   this->flareMatrix[12] = 1.82f; this->flareMatrix[13] = 0.25f;
+
+  this->lightSource = (LightManager::getInstance())->getLight(0);
 }
 
@@ -127,5 +131,5 @@
 void LenseFlare::addFlare(const char* textureName)
 {
-  if( this->flares.size() < LF_MAX_FLARES)
+  if( this->flares.size() > LF_MAX_FLARES)
   {
     PRINTF(2)("You tried to add more than %i lense flares, ignoring\n", LF_MAX_FLARES);
@@ -154,4 +158,10 @@
   if( unlikely(!this->bActivated || this->flares.size() == 0))
     return;
+
+  if( unlikely( this->lightSource == NULL))
+    this->lightSource = (LightManager::getInstance())->getLight(0);
+  else
+    this->lightSource->debug();
+
   // always update the screen center, it could be, that the window is resized
   this->screenCenter = Vector(State::getResX()/2.0f, State::getResY()/2.0f, 0.0f);
@@ -160,4 +170,6 @@
   this->distance = this->flareVector.len();
   this->flareVector.normalize();
+
+  PRINTF(0)("Debug: screenCenter: %f, %f - flareVec: %f, %f\n", screenCenter.x, screenCenter.y, flareVector.x, flareVector.y);
 
   // now calculate the new coordinates of the billboards
@@ -168,5 +180,5 @@
     // set the new position
     (*it)->setAbsCoor2D(this->flareVector * this->flareMatrix[i * 2]);
-    PRINTF(0)("Drawing flare %i @ (%f, %f)\n", i, (this->flareVector * this->flareMatrix[i * 2]).x, (this->flareVector * this->flareMatrix[i * 2]).y);
+    PRINTF(0)("Tick flare %i @ (%f, %f)\n", i, (*it)->getAbsCoor2D().x, (*it)->getAbsCoor2D().y);
     // tick them
     (*it)->tick(dt);
Index: /trunk/src/lib/graphics/graphics_engine.cc
===================================================================
--- /trunk/src/lib/graphics/graphics_engine.cc	(revision 6883)
+++ /trunk/src/lib/graphics/graphics_engine.cc	(revision 6884)
@@ -38,4 +38,5 @@
 #include "effects/graphics_effect.h"
 #include "effects/fog_effect.h"
+#include "effects/lense_flare.h"
 
 #include "shell_command.h"
@@ -171,4 +172,15 @@
 //   fe->activate();
 //   PRINTF(0)("--------------------------------------------------------------\n");
+
+  LenseFlare* ge = new LenseFlare();
+  this->loadGraphicsEffect(ge);
+
+  ge->addFlare("pictures/lense_flares/lens1.jpg");
+  ge->addFlare("pictures/lense_flares/lens2.jpg");
+  ge->addFlare("pictures/lense_flares/lens3.jpg");
+  ge->addFlare("pictures/lense_flares/lens4.jpg");
+
+
+  ge->activate();
 }
 
@@ -610,5 +622,5 @@
   Shader::restoreShader();
 
-  //draw the graphics
+  //draw the graphics effects
   list<GraphicsEffect*>::const_iterator it;
   for (it = this->graphicsEffects.begin(); it != this->graphicsEffects.end(); it++)
Index: /trunk/src/lib/graphics/light.cc
===================================================================
--- /trunk/src/lib/graphics/light.cc	(revision 6883)
+++ /trunk/src/lib/graphics/light.cc	(revision 6884)
@@ -337,4 +337,13 @@
 }
 
+
+Light* LightManager::getLight(int lightNumber) const
+{
+  if( lightNumber < NUMBEROFLIGHTS)
+    return this->lights[lightNumber];
+
+  return NULL;
+}
+
 /**
  *  draws all the Lights in their appropriate position
Index: /trunk/src/story_entities/simple_game_menu.cc
===================================================================
--- /trunk/src/story_entities/simple_game_menu.cc	(revision 6883)
+++ /trunk/src/story_entities/simple_game_menu.cc	(revision 6884)
@@ -230,5 +230,5 @@
       ie->setBindNode((const PNode*)NULL);
       ie->setRelCoor2D(State::getResX() / 2.0f + 250.0f, State::getResY() / 2.0f, 0.0f);
-      ie->setSize2D(100.0f, 75.0f);
+      ie->setSize2D(140.0f, 105.0f);
       this->menuLayer[1]->screenshootList.push_back(ie);
     }
