Index: /branches/presentation/src/util/hud.cc
===================================================================
--- /branches/presentation/src/util/hud.cc	(revision 10763)
+++ /branches/presentation/src/util/hud.cc	(revision 10764)
@@ -210,32 +210,49 @@
 void Hud::setShieldWidget(OrxGui::GLGuiWidget* widget)
 {
-  /*
-  if (this->shipValuesBox == NULL)
-    this->createShipValuesBox();
-  */
-
-  // decopple old widget
-  if (this->shieldWidget != NULL)
-  {
-    this->shieldWidget->hide();
-  }
-
-  this->shieldWidget = widget;
-  if (this->shieldWidget != NULL)
-  {
-    //this->shieldWidget->shiftDir2D(270);
-    //this->shipValuesBox->pack(this->shieldWidget);
-    //dynamic_cast<OrxGui::GLGuiEnergyWidgetVertical*> (this->shieldWidget)->setStandardSettings();
-    this->shieldWidget->setParent2D(this->leftRect);
-    dynamic_cast<OrxGui::GLGuiEnergyWidgetVertical*> (this->shieldWidget)->setDisplayedImage("textures/gui/gui_shield_icon.png");
-    if (!this->hidden)
-    	this->shieldWidget->show();
-    else
+	if( this->playmode == FirstPerson )
+	{
+		this->shieldWidget = new OrxGui::GLGuiBar();
+		dynamic_cast<OrxGui::GLGuiBar*> (this->shieldWidget)->setMaximum(dynamic_cast<OrxGui::GLGuiEnergyWidgetVertical*> (widget)->getBarWidget()->maximum());
+		dynamic_cast<OrxGui::GLGuiBar*> (this->shieldWidget)->setValue(dynamic_cast<OrxGui::GLGuiEnergyWidgetVertical*> (widget)->getBarWidget()->value());
+		this->shieldWidget->setBackgroundTexture(Texture());
+		this->shieldWidget->setBackgroundColor(Color(0,0,0,0));
+		this->shieldWidget->setForegroundTexture("textures/gui/gui_element_background_faded.png");
+		this->shieldWidget->setForegroundColor(Color(1,1,0,1));
+		dynamic_cast<OrxGui::GLGuiBar*>(this->shieldWidget)->setChangedValueColor(Color(1,0,0,0.2));
+		this->shieldWidget->setWidgetSize(150,20);
+		this->shieldWidget->setRelDir2D(180);
+		this->shieldWidget->setParent2D(this->barSocket);
+	}
+	else
+	{
+	/*
+	if (this->shipValuesBox == NULL)
+	this->createShipValuesBox();
+	*/
+	
+	// decopple old widget
+	if (this->shieldWidget != NULL)
+	{
 	this->shieldWidget->hide();
-    /*    this->shieldWidget->frontMaterial().setDiffuseMap("hud_energy_bar.png");
-        this->shieldWidget->frontMaterial().setBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);*/
-  }
-  else
-    printf("schild im hud nicht uebergeben!!!!!!!!!!!!!!!!!!!!!!!!!");
+	}
+	
+	this->shieldWidget = widget;
+	if (this->shieldWidget != NULL)
+	{
+	//this->shieldWidget->shiftDir2D(270);
+	//this->shipValuesBox->pack(this->shieldWidget);
+	//dynamic_cast<OrxGui::GLGuiEnergyWidgetVertical*> (this->shieldWidget)->setStandardSettings();
+	this->shieldWidget->setParent2D(this->leftRect);
+	dynamic_cast<OrxGui::GLGuiEnergyWidgetVertical*> (this->shieldWidget)->setDisplayedImage("textures/gui/gui_shield_icon.png");
+	if (!this->hidden)
+		this->shieldWidget->show();
+	else
+		this->shieldWidget->hide();
+	/*    this->shieldWidget->frontMaterial().setDiffuseMap("hud_energy_bar.png");
+		this->shieldWidget->frontMaterial().setBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);*/
+	}
+	else
+	printf("schild im hud nicht uebergeben!!!!!!!!!!!!!!!!!!!!!!!!!");
+  }
 
   this->updateResolution();
@@ -249,4 +266,11 @@
 		dynamic_cast<OrxGui::GLGuiBar*> (this->healthWidget)->setMaximum(dynamic_cast<OrxGui::GLGuiEnergyWidgetVertical*> (widget)->getBarWidget()->maximum());
 		dynamic_cast<OrxGui::GLGuiBar*> (this->healthWidget)->setValue(dynamic_cast<OrxGui::GLGuiEnergyWidgetVertical*> (widget)->getBarWidget()->value());
+		this->healthWidget->setBackgroundTexture(Texture());
+		this->healthWidget->setBackgroundColor(Color(0,0,0,0));
+		this->healthWidget->setForegroundTexture("textures/gui/gui_element_background_faded.png");
+		this->healthWidget->setForegroundColor(Color::red);
+		dynamic_cast<OrxGui::GLGuiBar*>(this->healthWidget)->setChangedValueColor(Color(1,0,0,0.2));
+		this->healthWidget->setWidgetSize(150,20);
+		this->healthWidget->setRelDir2D(180);
 		this->healthWidget->setParent2D(this->barSocket);
 	}
@@ -271,5 +295,5 @@
 	    //dynamic_cast<OrxGui::GLGuiEnergyWidgetVertical*> (this->healthWidget)->setStandardSettings();
 	    this->healthWidget->setParent2D(this->leftRect);
-	    //dynamic_cast<OrxGui::GLGuiEnergyWidgetVertical*> (this->healthWidget)->setDisplayedImage("textures/gui/gui_health_icon.png");
+	    dynamic_cast<OrxGui::GLGuiEnergyWidgetVertical*> (this->healthWidget)->setDisplayedImage("textures/gui/gui_health_icon.png");
 	    if(!this->hidden)
 		this->healthWidget->show();
@@ -489,5 +513,4 @@
 	{
 		hitBarCount -= dt;
-		printf("Reduce visibilty!\n");
 	}
 	if (hitBarCount <= 0)
@@ -496,5 +519,4 @@
 		this->leftHit->hide();
 		this->rightHit->hide();
-		printf("Hide again!\n");
 	}
   }
@@ -684,7 +706,16 @@
 		this->barSocket->setWidgetSize( float(overlayWidth), float(overlayWidth));
 		this->barSocket->setRelCoor2D(this->resX - float(overlayWidth),0);
-		this->barSocket->show();
+		if (!this->hidden)
+			this->barSocket->show();
+		else
+			this->barSocket->hide();
 		
-		this->healthWidget->setRelCoor2D(10,-20);
+		this->healthWidget->setRelCoor2D(50,70);
+		this->healthWidget->show();
+		if (this->shieldWidget)
+		{
+			this->shieldWidget->setRelCoor2D(40,110);
+			this->shieldWidget->show();
+		}
 	}
 	
Index: /branches/presentation/src/util/hud.h
===================================================================
--- /branches/presentation/src/util/hud.h	(revision 10763)
+++ /branches/presentation/src/util/hud.h	(revision 10764)
@@ -114,4 +114,5 @@
   OrxGui::GLGuiWidget*      healthWidget;
   OrxGui::GLGuiWidget*      implantWidget;
+  OrxGui::GLGuiText*	    energyText;
 
   OrxGui::GLGuiNotifier*    notifier;
Index: /branches/presentation/src/world_entities/player.cc
===================================================================
--- /branches/presentation/src/world_entities/player.cc	(revision 10763)
+++ /branches/presentation/src/world_entities/player.cc	(revision 10764)
@@ -80,4 +80,5 @@
     	this->_hud.setMode(Hud::FirstPerson);
     	this->_hud.setHealthWidget(this->playable->getHealthWidget());
+	this->_hud.setShieldWidget(this->playable->getShieldWidget());
     }
     else
@@ -85,4 +86,5 @@
     	this->_hud.setMode(Hud::Full3D);
     	this->_hud.setHealthWidget(this->playable->getHealthWidget());
+	this->_hud.setShieldWidget(this->playable->getShieldWidget());
     }
     /*if (dynamic_cast<SpaceShip*>(this->playable) != 0)
