ソースを参照

compiliert wieder

Kolja Strohm 5 年 前
コミット
098c312a32
34 ファイル変更7923 行追加7996 行削除
  1. 1 3
      KSGClient/Global/Initialisierung.cpp
  2. 1 1
      KSGClient/Global/Variablen.cpp
  3. 8 5
      KSGClient/KSGClient.vcxproj
  4. 2 2
      KSGClient/NachLogin/Account/SpielPartner/AccountSpielPartner.cpp
  5. 2 2
      KSGClient/NachLogin/Account/Spiele_Karten/AccountSpieleUndKarten.cpp
  6. 1130 1130
      KSGClient/NachLogin/Chat/ChatLeiste.cpp
  7. 979 979
      KSGClient/NachLogin/Chat/FreundesListe.cpp
  8. 364 364
      KSGClient/NachLogin/Chat/NachrichtenListe.cpp
  9. 17 18
      KSGClient/NachLogin/Editor/Karte/Beschreibung/KEBVorschau.cpp
  10. 58 58
      KSGClient/NachLogin/Editor/Karte/Dateien/KEDEditor.cpp
  11. 53 54
      KSGClient/NachLogin/Editor/Karte/Dateien/KEDModel2DEditor.cpp
  12. 2 0
      KSGClient/NachLogin/Editor/Karte/Dateien/KEDModel2DEditor.h
  13. 40 40
      KSGClient/NachLogin/Editor/Karte/ShopSeite/KESSEditor.cpp
  14. 34 39
      KSGClient/NachLogin/Editor/Karte/ShopSeite/KESSVorschau.cpp
  15. 1 0
      KSGClient/NachLogin/Editor/Karte/ShopSeite/KESSVorschau.h
  16. 3 2
      KSGClient/NachLogin/MiniGames/Minigames.cpp
  17. 292 292
      KSGClient/NachLogin/NachLogin.cpp
  18. 1817 1816
      KSGClient/NachLogin/Spiele/Gruppe/Gruppe.cpp
  19. 1 0
      KSGClient/NachLogin/Spiele/Gruppe/Gruppe.h
  20. 4 5
      KSGClient/NachLogin/Spiele/Karte Auswahl/KarteAuswahl.cpp
  21. 1 0
      KSGClient/NachLogin/Spiele/Karte Auswahl/KarteAuswahl.h
  22. 36 38
      KSGClient/NachLogin/Spiele/Spiel Auswahl/SpielAuswahl.cpp
  23. 2 0
      KSGClient/NachLogin/Spiele/Spiel Auswahl/SpielAuswahl.h
  24. 622 622
      KSGClient/NachLogin/Titel/TitelLeiste.cpp
  25. 1 1
      KSGClient/NachLogin/Update/Update.cpp
  26. 0 78
      KSGClient/Start/Start.cpp
  27. 454 454
      KSGClient/VorLogin/Account verwalten/EMail.cpp
  28. 418 418
      KSGClient/VorLogin/Account verwalten/Geheimnis.cpp
  29. 181 181
      KSGClient/VorLogin/Account verwalten/Name.cpp
  30. 448 448
      KSGClient/VorLogin/Account verwalten/Passwort.cpp
  31. 399 397
      KSGClient/VorLogin/Account verwalten/Registrierung.cpp
  32. 248 245
      KSGClient/VorLogin/Account verwalten/Unregistrierung.cpp
  33. 9 9
      KSGClient/VorLogin/Login/Login.cpp
  34. 295 295
      KSGClient/VorLogin/VorLogin.cpp

+ 1 - 3
KSGClient/Global/Initialisierung.cpp

@@ -342,10 +342,8 @@ ZeichnungHintergrund *initZeichnungHintergrund( int x, int y, int br, int h
 
 void initToolTip( Zeichnung *obj, const char *txt, Schrift *schrift, Bildschirm *zBs )
 {
-	obj->setToolTipText( txt , zBs );
-	obj->zToolTip()->setSchriftZ( schrift );
+	obj->setToolTipText( txt , zBs, schrift );
 	obj->zToolTip()->addStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Rahmen | TextFeld::Style::Hintergrund | TextFeld::Style::HAlpha | TextFeld::Style::Mehrzeilig );
 	obj->zToolTip()->setHintergrundFarbe( 0xA0000000 );
 	obj->zToolTip()->setRahmenFarbe( 0xFFFFFFFF );
-	obj->zToolTip()->setSchriftFarbe( 0xFFFFFFFF );
 }

+ 1 - 1
KSGClient/Global/Variablen.cpp

@@ -110,7 +110,7 @@ void releaseVariables()
     if( minigameClient )
         minigameClient = minigameClient->release();
 	if( ladeAnimation )
-		ladeAnimation = ladeAnimation->release();
+		ladeAnimation = (Animation2D*)ladeAnimation->release();
 	if( hauptScreen )
 		hauptScreen = hauptScreen->release();
     if( mainClient )

+ 8 - 5
KSGClient/KSGClient.vcxproj

@@ -23,32 +23,32 @@
     <Keyword>Win32Proj</Keyword>
     <RootNamespace>MyKSGClient</RootNamespace>
     <ProjectName>KSGClient</ProjectName>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+    <WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v141</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
     <CharacterSet>Unicode</CharacterSet>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v141</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
     <CharacterSet>MultiByte</CharacterSet>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>v141</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <CharacterSet>MultiByte</CharacterSet>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>v141</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <CharacterSet>MultiByte</CharacterSet>
   </PropertyGroup>
@@ -115,6 +115,9 @@
     <CustomBuildStep>
       <Command>copy "..\..\..\..\Allgemein\Framework\x64\Debug\Framework.dll" "framework.dll"
 copy "..\..\..\..\Allgemein\Network\x64\Debug\Network.dll" "network.dll"
+xcopy /S /Q /y "..\..\Fertig\Debug\x64\data" "data\"
+xcopy /S /Q /y "..\..\Fertig\Debug\Minigames\x64" "data\Minigames\"
+xcopy /S /Q /y "..\..\Fertig\Debug\Spiele\x64" "data\spiele\"
 copy "..\..\..\..\Allgemein\GSL\GSL\x64\Debug\GSL.dll" "data\bin\GSL.dll"
 copy "..\..\..\..\Allgemein\KSGScript\x64\Debug\KSGScript.dll" "data\bin\KSGScript.dll"
 copy "..\..\Update\x64\Debug\Update.dll" "data\bin\Update.dll"

+ 2 - 2
KSGClient/NachLogin/Account/SpielPartner/AccountSpielPartner.cpp

@@ -224,12 +224,12 @@ void AccountSPListeEintrag::doMausEreignis( MausEreignis &me )
 			if( details->zHintergrundBild() == ausklappen )
 			{
 				details->setHintergrundBildZ( einklappen->getThis() );
-				details->zToolTip()->setText( "Karten verbergen." );
+				// TODO: details->zToolTip()->setText( "Karten verbergen." );
 			}
 			else
 			{
 				details->setHintergrundBildZ( ausklappen->getThis() );
-				details->zToolTip()->setText( "Karten anzeigen." );
+				// TODO: details->zToolTip()->setText( "Karten anzeigen." );
 			}
 		}
 	}

+ 2 - 2
KSGClient/NachLogin/Account/Spiele_Karten/AccountSpieleUndKarten.cpp

@@ -333,12 +333,12 @@ void AccountSUKListeSpiel::doMausEreignis( MausEreignis &me )
 		if( details->zHintergrundBild() == ausklappen )
 		{
 			details->setHintergrundBildZ( einklappen->getThis() );
-			details->zToolTip()->setText( "Karten verbergen." );
+			// TODO: details->zToolTip()->setText( "Karten verbergen." );
 		}
 		else
 		{
 			details->setHintergrundBildZ( ausklappen->getThis() );
-			details->zToolTip()->setText( "Karten anzeigen." );
+			// TODO: details->zToolTip()->setText( "Karten anzeigen." );
 		}
 	}
 }

+ 1130 - 1130
KSGClient/NachLogin/Chat/ChatLeiste.cpp

@@ -14,211 +14,211 @@ typedef GSL::GSLDateiV *( *GetGSLDatei )( );
 // Konstruktor
 Chat::Chat( Schrift *zSchrift )
 {
-	Bild *minimierenBild = bilder->get( "chat.ltdb/minimieren.png" );
-	if( !minimierenBild )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-		datei->leseDaten( 0 );
-		minimierenBild = datei->laden( 0, new Text( "minimieren.png" ) );
-		datei->release();
-		bilder->add( "chat.ltdb/minimieren.png", minimierenBild->getThis() );
-	}
-	Bild *closeBild = bilder->get( "chat.ltdb/entfernen.png" );
-	if( !closeBild )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-		datei->leseDaten( 0 );
-		closeBild = datei->laden( 0, new Text( "entfernen.png" ) );
-		datei->release();
-		bilder->add( "chat.ltdb/entfernen.png", closeBild->getThis() );
-	}
-	rahmen = new LRahmen();
-	rahmen->setAlpha( 1 );
-	rahmen->setFarbe( 0xFFFFFFFF );
-	rahmen->setRamenBreite( 1 );
-	verlauf = initTextFeld( 7, 7, 184, 210, zSchrift, TextFeld::Style::TextGebiet, "" );
-	verlauf->removeStyle( TextFeld::Style::Erlaubt );
-	verlauf->updateVScroll();
-	nachricht = initTextFeld( 1, 220, 198, 20, zSchrift, TextFeld::Style::TextFeld, "" );
-	initToolTip( nachricht, "Nachricht senden.", zSchrift->getThis(), hauptScreen );
-	name = initTextFeld( 1, 250, 198, 29, zSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, "" );
-	minimieren = initKnopf( 159, 255, 20, 20, 0, 0, "" );
-	minimieren->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-	minimieren->setHintergrundBildZ( minimierenBild );
-	initToolTip( minimieren, "Fenster einklappen.", zSchrift->getThis(), hauptScreen );
-	close = initKnopf( 179, 255, 20, 20, 0, 0, "" );
-	close->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-	close->setHintergrundBildZ( closeBild );
-	initToolTip( close, "Fenster schließen.", zSchrift->getThis(), hauptScreen );
-	bildschirmGröße = BildschirmGröße();
-	admin = 0;
-	tickVal = 0;
-	sichtbar = 1;
-	breite = 0;
-	höhe = 30;
-	animation = 1;
-	rend = 0;
-	msgSound = 0;
-	HMODULE dll = dllDateien->ladeDLL( "GSL.dll", "data/bin/GSL.dll" );
-	if( dll )
-	{
-		GetGSLDatei getGSLDatei = (GetGSLDatei)GetProcAddress( dll, "getGSLDatei" );
-		if( getGSLDatei )
-		{
-			GSL::GSLDateiV *sDat = getGSLDatei();
-			sDat->setDatei( "data/sounds/popup.gsl" );
-			sDat->leseDaten();
-			msgSound = sDat->getSound( "chat.wav" );
-			sDat->release();
-			if( msgSound )
-				msgSound->setVolume( 0xFFFF, 0xFFFF );
-		}
-		if( !msgSound )
-			dllDateien->releaseDLL( "GSL.dll" );
-	}
-	ref = 1;
+    Bild *minimierenBild = bilder->get( "chat.ltdb/minimieren.png" );
+    if( !minimierenBild )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+        datei->leseDaten( 0 );
+        minimierenBild = datei->laden( 0, new Text( "minimieren.png" ) );
+        datei->release();
+        bilder->add( "chat.ltdb/minimieren.png", minimierenBild->getThis() );
+    }
+    Bild *closeBild = bilder->get( "chat.ltdb/entfernen.png" );
+    if( !closeBild )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+        datei->leseDaten( 0 );
+        closeBild = datei->laden( 0, new Text( "entfernen.png" ) );
+        datei->release();
+        bilder->add( "chat.ltdb/entfernen.png", closeBild->getThis() );
+    }
+    rahmen = new LRahmen();
+    rahmen->setAlpha( 1 );
+    rahmen->setFarbe( 0xFFFFFFFF );
+    rahmen->setRamenBreite( 1 );
+    verlauf = initTextFeld( 7, 7, 184, 210, zSchrift, TextFeld::Style::TextGebiet, "" );
+    verlauf->removeStyle( TextFeld::Style::Erlaubt );
+    verlauf->updateVScroll();
+    nachricht = initTextFeld( 1, 220, 198, 20, zSchrift, TextFeld::Style::TextFeld, "" );
+    initToolTip( nachricht, "Nachricht senden.", zSchrift->getThis(), hauptScreen );
+    name = initTextFeld( 1, 250, 198, 29, zSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, "" );
+    minimieren = initKnopf( 159, 255, 20, 20, 0, 0, "" );
+    minimieren->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
+    minimieren->setHintergrundBildZ( minimierenBild );
+    initToolTip( minimieren, "Fenster einklappen.", zSchrift->getThis(), hauptScreen );
+    close = initKnopf( 179, 255, 20, 20, 0, 0, "" );
+    close->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
+    close->setHintergrundBildZ( closeBild );
+    initToolTip( close, "Fenster schließen.", zSchrift->getThis(), hauptScreen );
+    bildschirmGröße = BildschirmGröße();
+    admin = 0;
+    tickVal = 0;
+    sichtbar = 1;
+    breite = 0;
+    höhe = 30;
+    animation = 1;
+    rend = 0;
+    msgSound = 0;
+    HMODULE dll = dllDateien->ladeDLL( "GSL.dll", "data/bin/GSL.dll" );
+    if( dll )
+    {
+        GetGSLDatei getGSLDatei = (GetGSLDatei)GetProcAddress( dll, "getGSLDatei" );
+        if( getGSLDatei )
+        {
+            GSL::GSLDateiV *sDat = getGSLDatei();
+            sDat->setDatei( "data/sounds/popup.gsl" );
+            sDat->leseDaten();
+            msgSound = sDat->getSound( "chat.wav" );
+            sDat->release();
+            if( msgSound )
+                msgSound->setVolume( 0xFFFF, 0xFFFF );
+        }
+        if( !msgSound )
+            dllDateien->releaseDLL( "GSL.dll" );
+    }
+    ref = 1;
 }
 
 // Destruktor
 Chat::~Chat()
 {
-	if( msgSound )
-	{
-		msgSound->release();
-		dllDateien->releaseDLL( "GSL.dll" );
-	}
-	rahmen->release();
-	verlauf = verlauf->release();
-	nachricht = nachricht->release();
-	name = name->release();
-	minimieren = minimieren->release();
-	close = close->release();
+    if( msgSound )
+    {
+        msgSound->release();
+        dllDateien->releaseDLL( "GSL.dll" );
+    }
+    rahmen->release();
+    verlauf = (TextFeld *)verlauf->release();
+    nachricht = (TextFeld *)nachricht->release();
+    name = (TextFeld *)name->release();
+    minimieren = (Knopf *)minimieren->release();
+    close = (Knopf *)close->release();
 }
 
 // nicht constant
 void Chat::setSichtbar( bool sichtbar )
 {
-	if( sichtbar )
-		animation = 2;
-	else
-		animation = 3;
-	this->sichtbar = sichtbar;
+    if( sichtbar )
+        animation = 2;
+    else
+        animation = 3;
+    this->sichtbar = sichtbar;
 }
 
 void Chat::entfernen()
 {
-	animation = 4;
+    animation = 4;
 }
 
 void Chat::addNachricht( char *txt )
 {
-	if( msgSound )
-	    msgSound->playSound();
-	Text *n = new Text( txt );
-	if( txt[ 0 ] != '\r' )
-		n->append( "\r0xFFFFFFFF" );
-	verlauf->zTextRenderer()->textFormatieren( n, verlauf->getBreite() - 20 );
-	if( n->getText()[ n->getLength() - 1 ] != '\n' )
-		n->append( "\n" );
-	verlauf->zText()->append( n );
-	if( animation != 4 )
-		animation = 2;
-	verlauf->updateVScroll();
-	rend = 1;
+    if( msgSound )
+        msgSound->playSound();
+    Text * n = new Text( txt );
+    if( txt[ 0 ] != '\r' )
+        n->append( "\r0xFFFFFFFF" );
+    verlauf->zTextRenderer()->textFormatieren( n, verlauf->getBreite() - 20 );
+    if( n->getText()[ n->getLength() - 1 ] != '\n' )
+        n->append( "\n" );
+    verlauf->zText()->append( n );
+    if( animation != 4 )
+        animation = 2;
+    verlauf->updateVScroll();
+    rend = 1;
 }
 
 void Chat::setAdmin()
 {
-	admin = 1;
-	rend = 1;
+    admin = 1;
+    rend = 1;
 }
 
 void Chat::addSpieler( int accountId )
 {
-	// nur bei chatroom
+    // nur bei chatroom
 }
 
 void Chat::removeSpieler( int accountId )
 {
-	// nur bei chatroom
+    // nur bei chatroom
 }
 
 bool Chat::tick( double tickVal )
 {
-	// virtual
-	return 0;
+    // virtual
+    return 0;
 }
 
-void Chat::doMausEreignis( MausEreignis &me )
+void Chat::doMausEreignis( MausEreignis & me )
 {
-	// virtual
+    // virtual
 }
 
-void Chat::doTastaturEreignis( TastaturEreignis &te )
+void Chat::doTastaturEreignis( TastaturEreignis & te )
 {
-	// virtual
+    // virtual
 }
 
-void Chat::render( int x, Bild &zRObj )
+void Chat::render( int x, Bild & zRObj )
 {
-	// virtual
+    // virtual
 }
 
 // constant
 TextFeld *Chat::getName() const
 {
-	return name->getThis();
+    return (TextFeld *)name->getThis();
 }
 
 TextFeld *Chat::zName() const
 {
-	return name;
+    return name;
 }
 
 int Chat::getAccountId() const
 {
-	// nur bei chat
-	return 0;
+    // nur bei chat
+    return 0;
 }
 
 int Chat::getChatroomId() const
 {
-	// nur bei chatroom
-	return 0;
+    // nur bei chatroom
+    return 0;
 }
 
 int Chat::getBreite() const
 {
-	return breite;
+    return breite;
 }
 
 bool Chat::istSichtbar() const
 {
-	return sichtbar;
+    return sichtbar;
 }
 
 // Reference Counting
 void *Chat::getThis()
 {
-	// virtual
-	return 0;
+    // virtual
+    return 0;
 }
 
 void *Chat::release()
 {
-	// virtual
-	return 0;
+    // virtual
+    return 0;
 }
 
 // Inhalt der ChatFenster Klasse aus ChatLeiste.h
 // Konstruktor
-ChatFenster::ChatFenster( Schrift *zSchrift, int accountId )
-	: Chat( zSchrift )
+ChatFenster::ChatFenster( Schrift * zSchrift, int accountId )
+    : Chat( zSchrift )
 {
-	this->accountId = accountId;
-	name->setTextZ( infoClient->getSpielerName( accountId ) );
+    this->accountId = accountId;
+    name->setTextZ( infoClient->getSpielerName( accountId ) );
 }
 
 // Destruktor
@@ -230,981 +230,981 @@ ChatFenster::~ChatFenster()
 // nicht constant
 bool ChatFenster::tick( double tickVal )
 {
-	rend |= close->tick( tickVal );
-	rend |= minimieren->tick( tickVal );
-	rend |= verlauf->tick( tickVal );
-	rend |= nachricht->tick( tickVal );
-	if( !animation )
-	{
-		bool ret = rend;
-		rend = 0;
-		return ret;
-	}
-	this->tickVal += tickVal * 300;
-	int val = ( int )this->tickVal;
-	if( val < 1 )
-	{
-		bool ret = rend;
-		rend = 0;
-		return ret;
-	}
-	if( val > 10 )
-		val = 10;
-	this->tickVal -= val;
-	switch( animation )
-	{
-	case 1: // erstellen
-	case 2: // ausfahren
-		if( breite == 200 )
-		{
-			höhe += val;
-			if( höhe > 280 )
-			{
-				höhe = 280;
-				animation = 0;
-			}
-		}
-		else
-		{
-			breite += val;
-			if( breite > 200 )
-				breite = 200;
-		}
-		rend = 1;
-		break;
-	case 3: // einfahren
-		if( höhe == 30 )
-		{
-			breite -= val;
-			if( breite < 100 )
-			{
-				breite = 100;
-				animation = 0;
-			}
-		}
-		else
-		{
-			höhe -= val;
-			if( höhe < 30 )
-				höhe = 30;
-		}
-		rend = 1;
-		break;
-	case 4: // close
-		if( höhe == 30 )
-		{
-			breite -= val;
-			if( breite < 0 )
-			{
-				nachLogin->zChatLeiste()->removeChat( this ); // delete this
-				return 1;
-			}
-		}
-		else
-		{
-			höhe -= val;
-			if( höhe < 30 )
-				höhe = 30;
-		}
-		rend = 1;
-		break;
-	}
-	bool ret = rend;
-	rend = 0;
-	return ret;
-}
-
-void ChatFenster::doMausEreignis( MausEreignis &me )
-{
-	bool tmp = me.verarbeitet;
-	if( me.mx < 0 || me.mx > breite || me.my < 280 - höhe || animation )
-		me.verarbeitet = 1;
-	verlauf->doMausEreignis( me );
-	bool vera = me.verarbeitet;
-	minimieren->doMausEreignis( me );
-	int aktion = me.verarbeitet && !vera ? 1 : 0;
-	close->doMausEreignis( me );
-	if( !aktion )
-		aktion = me.verarbeitet && !vera ? 2 : 0;
-	nachricht->doMausEreignis( me );
-	if( me.mx < 0 || me.mx > breite || me.my < 280 - höhe || animation )
-	{
-		me.verarbeitet = tmp;
-		return;
-	}
-	if( !aktion && !sichtbar && !vera )
-	{
-		if( me.mx < breite && me.mx > 0 && me.my > 250 && me.my < 280 )
-			aktion = 3;
-	}
-	switch( aktion )
-	{
-	case 1: // einfahren
-		if( me.id == ME_RLinks )
-			this->setSichtbar( 0 );
-		break;
-	case 2: // close
-		if( me.id == ME_RLinks )
-			animation = 4;
-		break;
-	case 3: // ausfahren
-		if( me.id == ME_RLinks )
-			this->setSichtbar( 1 );
-		break;
-	}
-}
-
-void ChatFenster::doTastaturEreignis( TastaturEreignis &te )
-{
-	bool tmp = te.verarbeitet;
-	if( animation )
-		te.verarbeitet = 1;
-	nachricht->doTastaturEreignis( te );
-	int aktion = te.verarbeitet && !tmp ? 1 : 0;
-	if( animation )
-	{
-		te.verarbeitet = tmp;
-		return;
-	}
-	switch( aktion )
-	{
-	case 1:
-		if( te.id == TE_Release && te.taste == T_Enter )
-		{
-			if( !nachricht->zText()->getLength() )
-				break;
-			nachricht->zText()->remove( "\n" );
-			if( chatClient->chatNachricht( accountId, nachricht->zText()->getText() ) )
-			{
-				Text *n = new Text( nachricht->zText()->getText() );
-				n->insert( 0, "\r0xFF00FF00" );
-				n->append( "\r0xFFFFFFFF" );
-				verlauf->zTextRenderer()->textFormatieren( n, verlauf->getBreite() - 15 );
-				if( n->getText()[ n->getLength() - 1 ] != '\n' )
-					n->append( "\n" );
-				verlauf->zText()->append( n->getText() );
-				n->release();
-				verlauf->updateVScroll();
-				nachricht->setText( "" );
-				nachricht->setAuswahl( 0, 0 );
-				rend = 1;
-			}
-		}
-		break;
-	}
-}
-
-void ChatFenster::render( int xPos, Bild &zRObj )
-{
-	int x = xPos;
-	int y = 280 - höhe;
-	int br = breite;
-	int hö = höhe;
-	if( !zRObj.setDrawOptions( x, y, br, hö ) )
-		return;
-	zRObj.alphaRegion( 0, 0, br, hö, 0xA0000000 );
-	rahmen->setSize( br, hö );
-	rahmen->render( zRObj );
-	zRObj.addScrollOffset( 0, 280 - höhe );
-	verlauf->render( zRObj );
-	nachricht->render( zRObj );
-	name->render( zRObj );
-	minimieren->render( zRObj );
-	close->render( zRObj );
-	zRObj.releaseDrawOptions();
+    rend |= close->tick( tickVal );
+    rend |= minimieren->tick( tickVal );
+    rend |= verlauf->tick( tickVal );
+    rend |= nachricht->tick( tickVal );
+    if( !animation )
+    {
+        bool ret = rend;
+        rend = 0;
+        return ret;
+    }
+    this->tickVal += tickVal * 300;
+    int val = (int)this->tickVal;
+    if( val < 1 )
+    {
+        bool ret = rend;
+        rend = 0;
+        return ret;
+    }
+    if( val > 10 )
+        val = 10;
+    this->tickVal -= val;
+    switch( animation )
+    {
+    case 1: // erstellen
+    case 2: // ausfahren
+        if( breite == 200 )
+        {
+            höhe += val;
+            if( höhe > 280 )
+            {
+                höhe = 280;
+                animation = 0;
+            }
+        }
+        else
+        {
+            breite += val;
+            if( breite > 200 )
+                breite = 200;
+        }
+        rend = 1;
+        break;
+    case 3: // einfahren
+        if( höhe == 30 )
+        {
+            breite -= val;
+            if( breite < 100 )
+            {
+                breite = 100;
+                animation = 0;
+            }
+        }
+        else
+        {
+            höhe -= val;
+            if( höhe < 30 )
+                höhe = 30;
+        }
+        rend = 1;
+        break;
+    case 4: // close
+        if( höhe == 30 )
+        {
+            breite -= val;
+            if( breite < 0 )
+            {
+                nachLogin->zChatLeiste()->removeChat( this ); // delete this
+                return 1;
+            }
+        }
+        else
+        {
+            höhe -= val;
+            if( höhe < 30 )
+                höhe = 30;
+        }
+        rend = 1;
+        break;
+    }
+    bool ret = rend;
+    rend = 0;
+    return ret;
+}
+
+void ChatFenster::doMausEreignis( MausEreignis & me )
+{
+    bool tmp = me.verarbeitet;
+    if( me.mx < 0 || me.mx > breite || me.my < 280 - höhe || animation )
+        me.verarbeitet = 1;
+    verlauf->doMausEreignis( me );
+    bool vera = me.verarbeitet;
+    minimieren->doMausEreignis( me );
+    int aktion = me.verarbeitet && !vera ? 1 : 0;
+    close->doMausEreignis( me );
+    if( !aktion )
+        aktion = me.verarbeitet && !vera ? 2 : 0;
+    nachricht->doMausEreignis( me );
+    if( me.mx < 0 || me.mx > breite || me.my < 280 - höhe || animation )
+    {
+        me.verarbeitet = tmp;
+        return;
+    }
+    if( !aktion && !sichtbar && !vera )
+    {
+        if( me.mx < breite &&me.mx > 0 && me.my > 250 && me.my < 280 )
+            aktion = 3;
+    }
+    switch( aktion )
+    {
+    case 1: // einfahren
+        if( me.id == ME_RLinks )
+            this->setSichtbar( 0 );
+        break;
+    case 2: // close
+        if( me.id == ME_RLinks )
+            animation = 4;
+        break;
+    case 3: // ausfahren
+        if( me.id == ME_RLinks )
+            this->setSichtbar( 1 );
+        break;
+    }
+}
+
+void ChatFenster::doTastaturEreignis( TastaturEreignis & te )
+{
+    bool tmp = te.verarbeitet;
+    if( animation )
+        te.verarbeitet = 1;
+    nachricht->doTastaturEreignis( te );
+    int aktion = te.verarbeitet && !tmp ? 1 : 0;
+    if( animation )
+    {
+        te.verarbeitet = tmp;
+        return;
+    }
+    switch( aktion )
+    {
+    case 1:
+        if( te.id == TE_Release && te.taste == T_Enter )
+        {
+            if( !nachricht->zText()->getLength() )
+                break;
+            nachricht->zText()->remove( "\n" );
+            if( chatClient->chatNachricht( accountId, nachricht->zText()->getText() ) )
+            {
+                Text *n = new Text( nachricht->zText()->getText() );
+                n->insert( 0, "\r0xFF00FF00" );
+                n->append( "\r0xFFFFFFFF" );
+                verlauf->zTextRenderer()->textFormatieren( n, verlauf->getBreite() - 15 );
+                if( n->getText()[ n->getLength() - 1 ] != '\n' )
+                    n->append( "\n" );
+                verlauf->zText()->append( n->getText() );
+                n->release();
+                verlauf->updateVScroll();
+                nachricht->setText( "" );
+                nachricht->setAuswahl( 0, 0 );
+                rend = 1;
+            }
+        }
+        break;
+    }
+}
+
+void ChatFenster::render( int xPos, Bild & zRObj )
+{
+    int x = xPos;
+    int y = 280 - höhe;
+    int br = breite;
+    int hö = höhe;
+    if( !zRObj.setDrawOptions( x, y, br, hö ) )
+        return;
+    zRObj.alphaRegion( 0, 0, br, hö, 0xA0000000 );
+    rahmen->setSize( br, hö );
+    rahmen->render( zRObj );
+    zRObj.addScrollOffset( 0, 280 - höhe );
+    verlauf->render( zRObj );
+    nachricht->render( zRObj );
+    name->render( zRObj );
+    minimieren->render( zRObj );
+    close->render( zRObj );
+    zRObj.releaseDrawOptions();
 }
 
 // constant
 int ChatFenster::getAccountId() const
 {
-	return accountId;
+    return accountId;
 }
 
 // Reference Counting
 void *ChatFenster::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 void *ChatFenster::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 // Inhalt der ChatroomFenster Klasse aus ChatLeiste.h
 // Konstruktor
-ChatroomFenster::ChatroomFenster( Schrift *zSchrift, int chatroomId )
-	: Chat( zSchrift )
-{
-	Bild *maximierenBild = bilder->get( "chat.ltdb/maximieren.png" );
-	if( !maximierenBild )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-		datei->leseDaten( 0 );
-		maximierenBild = datei->laden( 0, new Text( "maximieren.png" ) );
-		datei->release();
-		bilder->add( "chat.ltdb/maximieren.png", maximierenBild->getThis() );
-	}
-	this->chatroomId = chatroomId;
-	spielerName = initTextFeld( 200, 5, 120, 0, zSchrift, TextFeld::Style::TextFeld, "" );
-	initToolTip( spielerName, "Name des Spielers der eingeladen werden soll.", zSchrift->getThis(), hauptScreen );
-	einladen = initKnopf( 325, 5, 20, 0, 0, 0, "" );
-	einladen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-	einladen->setHintergrundBildZ( maximierenBild );
-	initToolTip( einladen, "Spieler ins Chatroom einladen.", zSchrift->getThis(), hauptScreen );
-	spieler = new ObjTabelle();
-	spieler->setMausEreignis( _ret1ME );
-	spieler->setStyle( ObjTabelle::Style::Sichtbar | ObjTabelle::Style::Rahmen | ObjTabelle::Style::VScroll | ObjTabelle::Style::Erlaubt | ObjTabelle::Style::VScroll | ObjTabelle::Style::Raster );
-	spieler->setVertikalKlickScroll( 5 );
-	spieler->setPosition( 200, 1 );
-	spieler->setSize( 149, 240 );
-	spieler->setRasterFarbe( 0xFF555555 );
-	spieler->setRahmenFarbe( 0xFFFFFFFF );
-	spieler->addSpalte( 0, "Name" );
-	spieler->addSpalte( 1, "Freund" );
-	spieler->addSpalte( 2, "Kick" );
-	spieler->setSpaltenBreite( 0, 110 );
-	spieler->setSpaltenBreite( 1, 20 );
-	spieler->setSpaltenBreite( 2, 0 );
-	schrift = zSchrift->getThis();
-	name->setTextZ( infoClient->getChatroomName( chatroomId ) );
-	close->setPosition( close->getX() + 150, close->getY() );
-	minimieren->setPosition( minimieren->getX() + 150, minimieren->getY() );
-	neueSpieler = new Array< int >();
-	alteSpieler = new Array< int >();
-	neueSpielerAnzahl = 0;
-	alteSpielerAnzahl = 0;
+ChatroomFenster::ChatroomFenster( Schrift * zSchrift, int chatroomId )
+    : Chat( zSchrift )
+{
+    Bild *maximierenBild = bilder->get( "chat.ltdb/maximieren.png" );
+    if( !maximierenBild )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+        datei->leseDaten( 0 );
+        maximierenBild = datei->laden( 0, new Text( "maximieren.png" ) );
+        datei->release();
+        bilder->add( "chat.ltdb/maximieren.png", maximierenBild->getThis() );
+    }
+    this->chatroomId = chatroomId;
+    spielerName = initTextFeld( 200, 5, 120, 0, zSchrift, TextFeld::Style::TextFeld, "" );
+    initToolTip( spielerName, "Name des Spielers der eingeladen werden soll.", zSchrift->getThis(), hauptScreen );
+    einladen = initKnopf( 325, 5, 20, 0, 0, 0, "" );
+    einladen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
+    einladen->setHintergrundBildZ( maximierenBild );
+    initToolTip( einladen, "Spieler ins Chatroom einladen.", zSchrift->getThis(), hauptScreen );
+    spieler = new ObjTabelle();
+    spieler->setMausEreignis( _ret1ME );
+    spieler->setStyle( ObjTabelle::Style::Sichtbar | ObjTabelle::Style::Rahmen | ObjTabelle::Style::VScroll | ObjTabelle::Style::Erlaubt | ObjTabelle::Style::VScroll | ObjTabelle::Style::Raster );
+    spieler->setVertikalKlickScroll( 5 );
+    spieler->setPosition( 200, 1 );
+    spieler->setSize( 149, 240 );
+    spieler->setRasterFarbe( 0xFF555555 );
+    spieler->setRahmenFarbe( 0xFFFFFFFF );
+    spieler->addSpalte( 0, "Name" );
+    spieler->addSpalte( 1, "Freund" );
+    spieler->addSpalte( 2, "Kick" );
+    spieler->setSpaltenBreite( 0, 110 );
+    spieler->setSpaltenBreite( 1, 20 );
+    spieler->setSpaltenBreite( 2, 0 );
+    schrift = zSchrift->getThis();
+    name->setTextZ( infoClient->getChatroomName( chatroomId ) );
+    close->setPosition( close->getX() + 150, close->getY() );
+    minimieren->setPosition( minimieren->getX() + 150, minimieren->getY() );
+    neueSpieler = new Array< int >();
+    alteSpieler = new Array< int >();
+    neueSpielerAnzahl = 0;
+    alteSpielerAnzahl = 0;
 }
 
 // Destruktor
 ChatroomFenster::~ChatroomFenster()
 {
-	chatClient->chatroomVerlassen( chatroomId );
-	schrift = schrift->release();
-	neueSpieler = neueSpieler->release();
-	alteSpieler = alteSpieler->release();
-	for( int i = 0; i < spieler->getZeilenAnzahl(); i++ )
-	{
-		TextFeld *name = (TextFeld*)spieler->zZeichnung( 0, 0 );
-		name = name->release();
-		Knopf *freund = (Knopf*)spieler->zZeichnung( 1, 0 );
-		freund = freund->release();
-		Knopf *entfernen = (Knopf*)spieler->zZeichnung( 2, 0 );
-		entfernen = entfernen->release();
-		spieler->removeZeile( 0 );
-	}
-	for( int i = 0; i < 3; i++ )
-		spieler->removeSpalte( 0 );
-	spieler = spieler->release();
-	spielerName = spielerName->release();
-	einladen = einladen->release();
+    chatClient->chatroomVerlassen( chatroomId );
+    schrift = schrift->release();
+    neueSpieler = neueSpieler->release();
+    alteSpieler = alteSpieler->release();
+    for( int i = 0; i < spieler->getZeilenAnzahl(); i++ )
+    {
+        TextFeld *name = (TextFeld *)spieler->zZeichnung( 0, 0 );
+        name = (TextFeld *)name->release();
+        Knopf *freund = (Knopf *)spieler->zZeichnung( 1, 0 );
+        freund = (Knopf *)freund->release();
+        Knopf *entfernen = (Knopf *)spieler->zZeichnung( 2, 0 );
+        entfernen = (Knopf *)entfernen->release();
+        spieler->removeZeile( 0 );
+    }
+    for( int i = 0; i < 3; i++ )
+        spieler->removeSpalte( 0 );
+    spieler = (ObjTabelle *)spieler->release();
+    spielerName = (TextFeld *)spielerName->release();
+    einladen = (Knopf *)einladen->release();
 }
 
 // nicht constant
 void ChatroomFenster::addSpieler( int accountId )
 {
-	Text *zeile = new Text();
-	zeile->append( accountId );
-	if( spieler->getZeilenNummer( zeile->getText() ) >= 0 )
-		return;
-	Bild *einladenBild = bilder->get( "chat.ltdb/maximieren.png" );
-	if( !einladenBild )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-		datei->leseDaten( 0 );
-		einladenBild = datei->laden( 0, new Text( "maximieren.png" ) );
-		datei->release();
-		bilder->add( "chat.ltdb/maximieren.png", einladenBild->getThis() );
-	}
-	Bild *closeBild = bilder->get( "chat.ltdb/entfernen.png" );
-	if( !closeBild )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-		datei->leseDaten( 0 );
-		closeBild = datei->laden( 0, new Text( "entfernen.png" ) );
-		datei->release();
-		bilder->add( "chat.ltdb/entfernen.png", closeBild->getThis() );
-	}
-	spieler->addZeile( zeile->getText() );
-	spieler->setZeilenHeight( zeile->getText(), 0 );
-	Text *name = infoClient->getSpielerName( accountId );
-	TextFeld *sName = initTextFeld( 0, 0, 110, 20, schrift, TextFeld::Style::Sichtbar | TextFeld::Style::Text | TextFeld::Style::Center, name->getText() );
-	name = name->release();
-	spieler->setZeichnungZ( "Name", zeile->getText(), sName );
-	Knopf *freund = initKnopf( 0, 0, 20, 20, 0, 0, "" );
-	freund->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-	freund->setHintergrundBildZ( einladenBild->getThis() );
-	freund->setMausEreignisParameter( this );
-	freund->setMausEreignis( chatroomFensterFreundME );
-	initToolTip( freund, "Freundeseinladung an den Spieler schicken.", schrift->getThis(), hauptScreen );
-	spieler->setZeichnungZ( "Freund", zeile->getText(), freund );
-	Knopf *entfernen = initKnopf( 0, 0, 0, 20, 0, 0, "" );
-	entfernen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-	entfernen->setHintergrundBildZ( closeBild );
-	entfernen->setMausEreignisParameter( this );
-	entfernen->setMausEreignis( chatroomFensterEntfernenME );
-	initToolTip( entfernen, "Spieler aus Chatroom entfernen.", schrift->getThis(), hauptScreen );
-	spieler->setZeichnungZ( "Kick", zeile->getText(), entfernen );
-	neueSpieler->add( accountId, neueSpielerAnzahl );
-	neueSpielerAnzahl++;
-	zeile = zeile->release();
-	rend = 1;
+    Text *zeile = new Text();
+    zeile->append( accountId );
+    if( spieler->getZeilenNummer( zeile->getText() ) >= 0 )
+        return;
+    Bild * einladenBild = bilder->get( "chat.ltdb/maximieren.png" );
+    if( !einladenBild )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+        datei->leseDaten( 0 );
+        einladenBild = datei->laden( 0, new Text( "maximieren.png" ) );
+        datei->release();
+        bilder->add( "chat.ltdb/maximieren.png", einladenBild->getThis() );
+    }
+    Bild *closeBild = bilder->get( "chat.ltdb/entfernen.png" );
+    if( !closeBild )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+        datei->leseDaten( 0 );
+        closeBild = datei->laden( 0, new Text( "entfernen.png" ) );
+        datei->release();
+        bilder->add( "chat.ltdb/entfernen.png", closeBild->getThis() );
+    }
+    spieler->addZeile( zeile->getText() );
+    spieler->setZeilenHeight( zeile->getText(), 0 );
+    Text *name = infoClient->getSpielerName( accountId );
+    TextFeld *sName = initTextFeld( 0, 0, 110, 20, schrift, TextFeld::Style::Sichtbar | TextFeld::Style::Text | TextFeld::Style::Center, name->getText() );
+    name = name->release();
+    spieler->setZeichnungZ( "Name", zeile->getText(), sName );
+    Knopf *freund = initKnopf( 0, 0, 20, 20, 0, 0, "" );
+    freund->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
+    freund->setHintergrundBildZ( einladenBild->getThis() );
+    freund->setMausEreignisParameter( this );
+    freund->setMausEreignis( chatroomFensterFreundME );
+    initToolTip( freund, "Freundeseinladung an den Spieler schicken.", schrift->getThis(), hauptScreen );
+    spieler->setZeichnungZ( "Freund", zeile->getText(), freund );
+    Knopf * entfernen = initKnopf( 0, 0, 0, 20, 0, 0, "" );
+    entfernen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
+    entfernen->setHintergrundBildZ( closeBild );
+    entfernen->setMausEreignisParameter( this );
+    entfernen->setMausEreignis( chatroomFensterEntfernenME );
+    initToolTip( entfernen, "Spieler aus Chatroom entfernen.", schrift->getThis(), hauptScreen );
+    spieler->setZeichnungZ( "Kick", zeile->getText(), entfernen );
+    neueSpieler->add( accountId, neueSpielerAnzahl );
+    neueSpielerAnzahl++;
+    zeile = zeile->release();
+    rend = 1;
 }
 
 void ChatroomFenster::removeSpieler( int accountId )
 {
-	Text *zeile = new Text();
-	zeile->append( accountId );
-	if( spieler->getZeilenNummer( zeile ) >= 0 )
-	{
-		alteSpieler->add( accountId, alteSpielerAnzahl );
-		alteSpielerAnzahl++;
-		rend = 1;
-	}
+    Text *zeile = new Text();
+    zeile->append( accountId );
+    if( spieler->getZeilenNummer( zeile ) >= 0 )
+    {
+        alteSpieler->add( accountId, alteSpielerAnzahl );
+        alteSpielerAnzahl++;
+        rend = 1;
+    }
 }
 
 bool ChatroomFenster::tick( double tickVal )
 {
-	rend |= close->tick( tickVal );
-	rend |= minimieren->tick( tickVal );
-	rend |= einladen->tick( tickVal );
-	rend |= spieler->tick( tickVal );
-	rend |= spielerName->tick( tickVal );
-	rend |= verlauf->tick( tickVal );
-	rend |= nachricht->tick( tickVal );
-	this->tickVal += tickVal * 300;
-	int val = ( int )this->tickVal;
-	if( val < 1 )
-	{
-		bool ret = rend;
-		rend = 0;
-		return ret;
-	}
-	if( val > 10 )
-		val = 10;
-	this->tickVal -= val;
-	switch( animation )
-	{
-	case 1: // erstellen
-	case 2: // ausfahren
-		if( breite == 350 )
-		{
-			höhe += val;
-			if( höhe > 280 )
-			{
-				höhe = 280;
-				animation = 0;
-			}
-		}
-		else
-		{
-			breite += val;
-			if( breite > 350 )
-				breite = 350;
-		}
-		rend = 1;
-		break;
-	case 3: // einfahren
-		if( höhe == 30 )
-		{
-			breite -= val;
-			if( breite < 100 )
-			{
-				breite = 100;
-				animation = 0;
-			}
-		}
-		else
-		{
-			höhe -= val;
-			if( höhe < 30 )
-				höhe = 30;
-		}
-		rend = 1;
-		break;
-	case 4: // close
-		if( höhe == 30 )
-		{
-			breite -= val;
-			if( breite < 0 )
-			{
-				nachLogin->zChatLeiste()->removeChat( this ); // delete this
-				return 1;
-			}
-		}
-		else
-		{
-			höhe -= val;
-			if( höhe < 30 )
-				höhe = 30;
-		}
-		rend = 1;
-		break;
-	}
-	Text *zeile = new Text( "" );
-	for( int i = 0; i < neueSpielerAnzahl; i++ )
-	{
-		int id = neueSpieler->hat( i ) ? neueSpieler->get( i ) : 0;
-		zeile->append( id );
-		int z = spieler->getZeilenNummer( zeile->getText() );
-		spieler->setZeilenHeight( z, spieler->getZeilenHeight( z ) + val / 2 );
-		if( spieler->getZeilenHeight( z ) > 20 )
-		{
-			spieler->setZeilenHeight( z, 20 );
-			neueSpieler->remove( i );
-			neueSpielerAnzahl--;
-			i--;
-		}
-		zeile->setText( "" );
-		rend = 1;
-	}
-	for( int i = 0; i < alteSpielerAnzahl; i++ )
-	{
-		int id = alteSpieler->hat( i ) ? alteSpieler->get( i ) : 0;
-		zeile->append( id );
-		int z = spieler->getZeilenNummer( zeile->getText() );
-		spieler->setZeilenHeight( z, spieler->getZeilenHeight( z ) - val / 2 );
-		if( spieler->getZeilenHeight( z ) <= 0 )
-		{
-			TextFeld *name = (TextFeld*)spieler->zZeichnung( 0, z );
-			name = name->release();
-			Knopf *freund = (Knopf*)spieler->zZeichnung( 1, z );
-			freund = freund->release();
-			Knopf *entfernen = (Knopf*)spieler->zZeichnung( 2, z );
-			entfernen = entfernen->release();
-			spieler->removeZeile( z );
-			alteSpieler->remove( i );
-			alteSpielerAnzahl--;
-			i--;
-		}
-		zeile->setText( "" );
-		rend = 1;
-	}
-	zeile = zeile->release();
-	if( admin )
-	{
-		if( spielerName->getHeight() != 20 )
-		{
-			spielerName->setSize( spielerName->getBreite(), spielerName->getHeight() + val / 2 );
-			einladen->setSize( einladen->getBreite(), einladen->getHeight() + val / 2 );
-			spieler->setPosition( spieler->getX(), spieler->getY() + val / 2 );
-			spieler->setSize( spieler->getBreite(), spieler->getHeight() - val / 2 );
-			if( spielerName->getHeight() >= 20 )
-			{
-				spielerName->setSize( spielerName->getBreite(), 20 );
-				einladen->setSize( einladen->getBreite(), 20 );
-				spieler->setPosition( spieler->getX(), 30 );
-				spieler->setSize( spieler->getBreite(), 210 );
-			}
-			rend = 1;
-		}
-		if( spieler->getSpaltenBreite( 2 ) != 20 )
-		{
-			spieler->setSpaltenBreite( 2, spieler->getSpaltenBreite( 2 ) + val / 2 );
-			spieler->setSpaltenBreite( 0, spieler->getSpaltenBreite( 0 ) - val / 2 );
-			if( spieler->getSpaltenBreite( 2 ) > 20 )
-			{
-				spieler->setSpaltenBreite( 2, 20 );
-				spieler->setSpaltenBreite( 0, 90 );
-			}
-			rend = 1;
-		}
-	}
-	bool ret = rend;
-	rend = 0;
-	return ret;
-}
-
-void ChatroomFenster::doMausEreignis( MausEreignis &me )
-{
-	bool tmp = me.verarbeitet;
-	if( me.mx < 0 || me.mx > breite || me.my < 280 - höhe || animation )
-		me.verarbeitet = 1;
-	verlauf->doMausEreignis( me );
-	bool vera = me.verarbeitet;
-	minimieren->doMausEreignis( me );
-	int aktion = me.verarbeitet && !vera ? 1 : 0;
-	close->doMausEreignis( me );
-	if( !aktion )
-		aktion = me.verarbeitet && !vera ? 2 : 0;
-	einladen->doMausEreignis( me );
-	if( !aktion )
-		aktion = me.verarbeitet && !vera ? 4 : 0;
-	nachricht->doMausEreignis( me );
-	spielerName->doMausEreignis( me );
-	spieler->doMausEreignis( me );
-	if( me.mx < 0 || me.mx > breite || me.my < 280 - höhe || animation )
-	{
-		me.verarbeitet = tmp;
-		return;
-	}
-	if( !aktion && !sichtbar && !vera )
-	{
-		if( me.mx < breite && me.mx > 0 && me.my > 250 && me.my < 280 )
-			aktion = 3;
-	}
-	switch( aktion )
-	{
-	case 1: // einfahren
-		if( me.id == ME_RLinks )
-			this->setSichtbar( 0 );
-		break;
-	case 2: // close
-		if( me.id == ME_RLinks )
-			animation = 4;
-		break;
-	case 3: // ausfahren
-		if( me.id == ME_RLinks )
-			this->setSichtbar( 1 );
-		break;
-	case 4: // einladen
-		if( me.id != ME_RLinks )
-			break;
-		if( spielerName->zText()->getLength() )
-		{
-			int accountId = infoClient->getAccountId( spielerName->zText()->getText() );
-			if( accountId )
-			{
-				if( chatClient->chatroomEinladung( accountId, chatroomId ) )
-				{
-					nachLogin->zNachrichtenListe()->addNachricht( new Text( "Chatroom Einladung" ), new Text( "Es wurde eine Chatroom Einladung an den Spieler gesendet." ),
-																  new Text( "Ok" ), 0 );
-					spielerName->setText( "" );
-					spielerName->setAuswahl( 0, 0 );
-					rend = 1;
-				}
-			}
-			else
-			{
-				nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( "Der Spieler wurde nicht gefunden." ),
-															  new Text( "Ok" ), 0 );
-			}
-		}
-		break;
-	}
-}
-
-void ChatroomFenster::doTastaturEreignis( TastaturEreignis &te )
-{
-	bool tmp = te.verarbeitet;
-	if( animation )
-		te.verarbeitet = 1;
-	nachricht->doTastaturEreignis( te );
-	int aktion = te.verarbeitet && !tmp ? 1 : 0;
-	if( admin )
-	{
-		spielerName->doTastaturEreignis( te );
-		if( !aktion )
-			aktion = te.verarbeitet && !tmp ? 2 : 0;
-	}
-	if( animation )
-	{
-		te.verarbeitet = tmp;
-		return;
-	}
-	switch( aktion )
-	{
-	case 1:
-		if( te.id == TE_Release && te.taste == T_Enter )
-		{
-			nachricht->zText()->remove( "\n" );
-			chatClient->chatroomNachricht( chatroomId, nachricht->zText()->getText() );
-			nachricht->setText( "" );
-			nachricht->setAuswahl( 0, 0 );
-			rend = 1;
-		}
-		break;
-	case 2:
-		if( te.id == TE_Release && te.taste == T_Enter )
-		{
-			if( !spielerName->zText()->getLength() )
-				break;
-			int accountId = infoClient->getAccountId( spielerName->zText()->getText() );
-			if( accountId )
-			{
-				if( chatClient->chatroomEinladung( accountId, chatroomId ) )
-				{
-					nachLogin->zNachrichtenListe()->addNachricht( new Text( "Chatroom Einladung" ), new Text( "Es wurde eine Chatroom Einladung an den Spieler gesendet." ),
-																  new Text( "Ok" ), 0 );
-					spielerName->setText( "" );
-					spielerName->setAuswahl( 0, 0 );
-					rend = 1;
-				}
-			}
-			else
-			{
-				nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( "Der Spieler wurde nicht gefunden." ),
-															  new Text( "Ok" ), 0 );
-			}
-		}
-		break;
-	}
-}
-
-void ChatroomFenster::render( int xPos, Bild &zRObj )
-{
-	int x = xPos;
-	int y = 280 - höhe;
-	int br = breite;
-	int hö = höhe;
-	if( !zRObj.setDrawOptions( x, y, br, hö ) )
-		return;
-	zRObj.alphaRegion( 0, 0, br, hö, 0x88000000 );
-	rahmen->setSize( br, hö );
-	rahmen->render( zRObj );
-	zRObj.addScrollOffset( 0, 280 - höhe );
-	verlauf->render( zRObj );
-	nachricht->render( zRObj );
-	spieler->render( zRObj );
-	name->render( zRObj );
-	minimieren->render( zRObj );
-	close->render( zRObj );
-	if( spielerName->getHeight() )
-	{
-		spielerName->render( zRObj );
-		einladen->render( zRObj );
-	}
-	zRObj.releaseDrawOptions();
-}
-
-bool ChatroomFenster::druckFreund( void *obj, MausEreignis &me )
-{
-	if( me.id == ME_RLinks )
-	{
-		Punkt p = spieler->getZeichnungPosition( (Zeichnung*)obj );
-		if( p.y >= 0 )
-		{
-			int accountId = TextZuInt( spieler->zZeilenName( p.y )->getText(), 10 );
-			if( chatClient->freundesAnfrage( accountId ) )
-			{
-				nachLogin->zNachrichtenListe()->addNachricht( new Text( "Freundes Einladung" ), new Text( "Es wurde eine Freundesanfrage an den Spieler gesendet." ),
-															  new Text( "Ok" ), 0 );
-			}
-		}
-		return 0;
-	}
-	return 1;
-}
-
-bool ChatroomFenster::druckEntfernen( void *obj, MausEreignis &me )
-{
-	if( me.id == ME_RLinks && admin )
-	{
-		Punkt p = spieler->getZeichnungPosition( (Zeichnung*)obj );
-		if( p.y >= 0 )
-		{
-			int accountId = TextZuInt( spieler->zZeilenName( p.y )->getText(), 10 );
-			if( chatClient->chatroomKick( chatroomId, accountId ) )
-			{
-				nachLogin->zNachrichtenListe()->addNachricht( new Text( "Kick" ), new Text( "Der Spieler musste das Chatroom verlassen." ),
-															  new Text( "Ok" ), 0 );
-			}
-		}
-		return 0;
-	}
-	return 1;
+    rend |= close->tick( tickVal );
+    rend |= minimieren->tick( tickVal );
+    rend |= einladen->tick( tickVal );
+    rend |= spieler->tick( tickVal );
+    rend |= spielerName->tick( tickVal );
+    rend |= verlauf->tick( tickVal );
+    rend |= nachricht->tick( tickVal );
+    this->tickVal += tickVal * 300;
+    int val = (int)this->tickVal;
+    if( val < 1 )
+    {
+        bool ret = rend;
+        rend = 0;
+        return ret;
+    }
+    if( val > 10 )
+        val = 10;
+    this->tickVal -= val;
+    switch( animation )
+    {
+    case 1: // erstellen
+    case 2: // ausfahren
+        if( breite == 350 )
+        {
+            höhe += val;
+            if( höhe > 280 )
+            {
+                höhe = 280;
+                animation = 0;
+            }
+        }
+        else
+        {
+            breite += val;
+            if( breite > 350 )
+                breite = 350;
+        }
+        rend = 1;
+        break;
+    case 3: // einfahren
+        if( höhe == 30 )
+        {
+            breite -= val;
+            if( breite < 100 )
+            {
+                breite = 100;
+                animation = 0;
+            }
+        }
+        else
+        {
+            höhe -= val;
+            if( höhe < 30 )
+                höhe = 30;
+        }
+        rend = 1;
+        break;
+    case 4: // close
+        if( höhe == 30 )
+        {
+            breite -= val;
+            if( breite < 0 )
+            {
+                nachLogin->zChatLeiste()->removeChat( this ); // delete this
+                return 1;
+            }
+        }
+        else
+        {
+            höhe -= val;
+            if( höhe < 30 )
+                höhe = 30;
+        }
+        rend = 1;
+        break;
+    }
+    Text *zeile = new Text( "" );
+    for( int i = 0; i < neueSpielerAnzahl; i++ )
+    {
+        int id = neueSpieler->hat( i ) ? neueSpieler->get( i ) : 0;
+        zeile->append( id );
+        int z = spieler->getZeilenNummer( zeile->getText() );
+        spieler->setZeilenHeight( z, spieler->getZeilenHeight( z ) + val / 2 );
+        if( spieler->getZeilenHeight( z ) > 20 )
+        {
+            spieler->setZeilenHeight( z, 20 );
+            neueSpieler->remove( i );
+            neueSpielerAnzahl--;
+            i--;
+        }
+        zeile->setText( "" );
+        rend = 1;
+    }
+    for( int i = 0; i < alteSpielerAnzahl; i++ )
+    {
+        int id = alteSpieler->hat( i ) ? alteSpieler->get( i ) : 0;
+        zeile->append( id );
+        int z = spieler->getZeilenNummer( zeile->getText() );
+        spieler->setZeilenHeight( z, spieler->getZeilenHeight( z ) - val / 2 );
+        if( spieler->getZeilenHeight( z ) <= 0 )
+        {
+            TextFeld *name = (TextFeld *)spieler->zZeichnung( 0, z );
+            name = (TextFeld *)name->release();
+            Knopf *freund = (Knopf *)spieler->zZeichnung( 1, z );
+            freund = (Knopf *)freund->release();
+            Knopf *entfernen = (Knopf *)spieler->zZeichnung( 2, z );
+            entfernen = (Knopf *)entfernen->release();
+            spieler->removeZeile( z );
+            alteSpieler->remove( i );
+            alteSpielerAnzahl--;
+            i--;
+        }
+        zeile->setText( "" );
+        rend = 1;
+    }
+    zeile = zeile->release();
+    if( admin )
+    {
+        if( spielerName->getHeight() != 20 )
+        {
+            spielerName->setSize( spielerName->getBreite(), spielerName->getHeight() + val / 2 );
+            einladen->setSize( einladen->getBreite(), einladen->getHeight() + val / 2 );
+            spieler->setPosition( spieler->getX(), spieler->getY() + val / 2 );
+            spieler->setSize( spieler->getBreite(), spieler->getHeight() - val / 2 );
+            if( spielerName->getHeight() >= 20 )
+            {
+                spielerName->setSize( spielerName->getBreite(), 20 );
+                einladen->setSize( einladen->getBreite(), 20 );
+                spieler->setPosition( spieler->getX(), 30 );
+                spieler->setSize( spieler->getBreite(), 210 );
+            }
+            rend = 1;
+        }
+        if( spieler->getSpaltenBreite( 2 ) != 20 )
+        {
+            spieler->setSpaltenBreite( 2, spieler->getSpaltenBreite( 2 ) + val / 2 );
+            spieler->setSpaltenBreite( 0, spieler->getSpaltenBreite( 0 ) - val / 2 );
+            if( spieler->getSpaltenBreite( 2 ) > 20 )
+            {
+                spieler->setSpaltenBreite( 2, 20 );
+                spieler->setSpaltenBreite( 0, 90 );
+            }
+            rend = 1;
+        }
+    }
+    bool ret = rend;
+    rend = 0;
+    return ret;
+}
+
+void ChatroomFenster::doMausEreignis( MausEreignis & me )
+{
+    bool tmp = me.verarbeitet;
+    if( me.mx < 0 || me.mx > breite || me.my < 280 - höhe || animation )
+        me.verarbeitet = 1;
+    verlauf->doMausEreignis( me );
+    bool vera = me.verarbeitet;
+    minimieren->doMausEreignis( me );
+    int aktion = me.verarbeitet && !vera ? 1 : 0;
+    close->doMausEreignis( me );
+    if( !aktion )
+        aktion = me.verarbeitet && !vera ? 2 : 0;
+    einladen->doMausEreignis( me );
+    if( !aktion )
+        aktion = me.verarbeitet && !vera ? 4 : 0;
+    nachricht->doMausEreignis( me );
+    spielerName->doMausEreignis( me );
+    spieler->doMausEreignis( me );
+    if( me.mx < 0 || me.mx > breite || me.my < 280 - höhe || animation )
+    {
+        me.verarbeitet = tmp;
+        return;
+    }
+    if( !aktion && !sichtbar && !vera )
+    {
+        if( me.mx < breite &&me.mx > 0 && me.my > 250 && me.my < 280 )
+            aktion = 3;
+    }
+    switch( aktion )
+    {
+    case 1: // einfahren
+        if( me.id == ME_RLinks )
+            this->setSichtbar( 0 );
+        break;
+    case 2: // close
+        if( me.id == ME_RLinks )
+            animation = 4;
+        break;
+    case 3: // ausfahren
+        if( me.id == ME_RLinks )
+            this->setSichtbar( 1 );
+        break;
+    case 4: // einladen
+        if( me.id != ME_RLinks )
+            break;
+        if( spielerName->zText()->getLength() )
+        {
+            int accountId = infoClient->getAccountId( spielerName->zText()->getText() );
+            if( accountId )
+            {
+                if( chatClient->chatroomEinladung( accountId, chatroomId ) )
+                {
+                    nachLogin->zNachrichtenListe()->addNachricht( new Text( "Chatroom Einladung" ), new Text( "Es wurde eine Chatroom Einladung an den Spieler gesendet." ),
+                                                                  new Text( "Ok" ), 0 );
+                    spielerName->setText( "" );
+                    spielerName->setAuswahl( 0, 0 );
+                    rend = 1;
+                }
+            }
+            else
+            {
+                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( "Der Spieler wurde nicht gefunden." ),
+                                                              new Text( "Ok" ), 0 );
+            }
+        }
+        break;
+    }
+}
+
+void ChatroomFenster::doTastaturEreignis( TastaturEreignis & te )
+{
+    bool tmp = te.verarbeitet;
+    if( animation )
+        te.verarbeitet = 1;
+    nachricht->doTastaturEreignis( te );
+    int aktion = te.verarbeitet && !tmp ? 1 : 0;
+    if( admin )
+    {
+        spielerName->doTastaturEreignis( te );
+        if( !aktion )
+            aktion = te.verarbeitet && !tmp ? 2 : 0;
+    }
+    if( animation )
+    {
+        te.verarbeitet = tmp;
+        return;
+    }
+    switch( aktion )
+    {
+    case 1:
+        if( te.id == TE_Release && te.taste == T_Enter )
+        {
+            nachricht->zText()->remove( "\n" );
+            chatClient->chatroomNachricht( chatroomId, nachricht->zText()->getText() );
+            nachricht->setText( "" );
+            nachricht->setAuswahl( 0, 0 );
+            rend = 1;
+        }
+        break;
+    case 2:
+        if( te.id == TE_Release && te.taste == T_Enter )
+        {
+            if( !spielerName->zText()->getLength() )
+                break;
+            int accountId = infoClient->getAccountId( spielerName->zText()->getText() );
+            if( accountId )
+            {
+                if( chatClient->chatroomEinladung( accountId, chatroomId ) )
+                {
+                    nachLogin->zNachrichtenListe()->addNachricht( new Text( "Chatroom Einladung" ), new Text( "Es wurde eine Chatroom Einladung an den Spieler gesendet." ),
+                                                                  new Text( "Ok" ), 0 );
+                    spielerName->setText( "" );
+                    spielerName->setAuswahl( 0, 0 );
+                    rend = 1;
+                }
+            }
+            else
+            {
+                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( "Der Spieler wurde nicht gefunden." ),
+                                                              new Text( "Ok" ), 0 );
+            }
+        }
+        break;
+    }
+}
+
+void ChatroomFenster::render( int xPos, Bild & zRObj )
+{
+    int x = xPos;
+    int y = 280 - höhe;
+    int br = breite;
+    int hö = höhe;
+    if( !zRObj.setDrawOptions( x, y, br, hö ) )
+        return;
+    zRObj.alphaRegion( 0, 0, br, hö, 0x88000000 );
+    rahmen->setSize( br, hö );
+    rahmen->render( zRObj );
+    zRObj.addScrollOffset( 0, 280 - höhe );
+    verlauf->render( zRObj );
+    nachricht->render( zRObj );
+    spieler->render( zRObj );
+    name->render( zRObj );
+    minimieren->render( zRObj );
+    close->render( zRObj );
+    if( spielerName->getHeight() )
+    {
+        spielerName->render( zRObj );
+        einladen->render( zRObj );
+    }
+    zRObj.releaseDrawOptions();
+}
+
+bool ChatroomFenster::druckFreund( void *obj, MausEreignis & me )
+{
+    if( me.id == ME_RLinks )
+    {
+        Punkt p = spieler->getZeichnungPosition( (Zeichnung *)obj );
+        if( p.y >= 0 )
+        {
+            int accountId = TextZuInt( spieler->zZeilenName( p.y )->getText(), 10 );
+            if( chatClient->freundesAnfrage( accountId ) )
+            {
+                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Freundes Einladung" ), new Text( "Es wurde eine Freundesanfrage an den Spieler gesendet." ),
+                                                              new Text( "Ok" ), 0 );
+            }
+        }
+        return 0;
+    }
+    return 1;
+}
+
+bool ChatroomFenster::druckEntfernen( void *obj, MausEreignis & me )
+{
+    if( me.id == ME_RLinks && admin )
+    {
+        Punkt p = spieler->getZeichnungPosition( (Zeichnung *)obj );
+        if( p.y >= 0 )
+        {
+            int accountId = TextZuInt( spieler->zZeilenName( p.y )->getText(), 10 );
+            if( chatClient->chatroomKick( chatroomId, accountId ) )
+            {
+                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Kick" ), new Text( "Der Spieler musste das Chatroom verlassen." ),
+                                                              new Text( "Ok" ), 0 );
+            }
+        }
+        return 0;
+    }
+    return 1;
 }
 
 // constant
 int ChatroomFenster::getChatroomId() const
 {
-	return chatroomId;
+    return chatroomId;
 }
 
 // Reference Counting
 void *ChatroomFenster::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 void *ChatroomFenster::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 // Inhalt der ChatLeisteObj Klasse aus ChatLeiste.h
 // Konstruktor
-ChatLeisteObj::ChatLeisteObj( Schrift *zSchrift )
-	: Zeichnung()
+ChatLeisteObj::ChatLeisteObj( Schrift * zSchrift )
+    : Zeichnung()
 {
-	schrift = zSchrift->getThis();
-	chats = new RCArray< Chat >();
-	hsb = new HScrollBar();
-	bildschirmGröße = BildschirmGröße();
-	anzahl = 0;
-	ref = 1;
-	nowME = -1;
+    schrift = zSchrift->getThis();
+    chats = new RCArray< Chat >();
+    hsb = new HScrollBar();
+    bildschirmGröße = BildschirmGröße();
+    anzahl = 0;
+    ref = 1;
+    nowME = -1;
 }
 
 // Destruktor
 ChatLeisteObj::~ChatLeisteObj()
 {
-	chats = chats->release();
-	hsb = (HScrollBar*)hsb->release();
-	schrift = schrift->release();
+    chats = chats->release();
+    hsb = (HScrollBar *)hsb->release();
+    schrift = schrift->release();
 }
 
 // nicht constant
 void ChatLeisteObj::chatNachricht( int vonAccount, char *txt )
 {
-	if( !vonAccount )
-		return;
-	lockZeichnung();
-	bool gefunden = 0;
-	for( int i = 0; i < anzahl; i++ )
-	{
-		Chat *tmp = chats->z( i );
-		if( tmp->getAccountId() == vonAccount )
-		{
-			tmp->addNachricht( txt );
-			gefunden = 1;
-			break;
-		}
-	}
-	if( !gefunden )
-	{
-		addChat( vonAccount, 0 );
-		chatNachricht( vonAccount, txt );
-	}
-	unlockZeichnung();
+    if( !vonAccount )
+        return;
+    lockZeichnung();
+    bool gefunden = 0;
+    for( int i = 0; i < anzahl; i++ )
+    {
+        Chat *tmp = chats->z( i );
+        if( tmp->getAccountId() == vonAccount )
+        {
+            tmp->addNachricht( txt );
+            gefunden = 1;
+            break;
+        }
+    }
+    if( !gefunden )
+    {
+        addChat( vonAccount, 0 );
+        chatNachricht( vonAccount, txt );
+    }
+    unlockZeichnung();
 }
 
 void ChatLeisteObj::chatroomNachricht( int chatroomId, char *txt )
 {
-	lockZeichnung();
-	bool gefunden = 0;
-	for( int i = 0; i < anzahl; i++ )
-	{
-		Chat *tmp = chats->z( i );
-		if( tmp->getChatroomId() == chatroomId )
-		{
-			tmp->addNachricht( txt );
-			gefunden = 1;
-			break;
-		}
-	}
-	if( !gefunden )
-	{
-		addChat( 0, chatroomId );
-		chatroomNachricht( chatroomId, txt );
-	}
-	unlockZeichnung();
+    lockZeichnung();
+    bool gefunden = 0;
+    for( int i = 0; i < anzahl; i++ )
+    {
+        Chat *tmp = chats->z( i );
+        if( tmp->getChatroomId() == chatroomId )
+        {
+            tmp->addNachricht( txt );
+            gefunden = 1;
+            break;
+        }
+    }
+    if( !gefunden )
+    {
+        addChat( 0, chatroomId );
+        chatroomNachricht( chatroomId, txt );
+    }
+    unlockZeichnung();
 }
 
 void ChatLeisteObj::addChat( int accountId, int chatroomId )
 {
-	lockZeichnung();
-	bool gefunden = 0;
-	if( accountId )
-	{
-		for( int i = 0; i < anzahl; i++ )
-		{
-			Chat *tmp = chats->z( i );
-			if( tmp->getAccountId() == accountId )
-			{
-				tmp->setSichtbar( 1 );
-				gefunden = 1;
-				break;
-			}
-		}
-		if( !gefunden )
-		{
-			ChatFenster *neu = new ChatFenster( schrift, accountId );
-			chats->add( neu, anzahl );
-			anzahl++;
-			rend = 1;
-		}
-	}
-	else if( chatroomId )
-	{
-		for( int i = 0; i < anzahl; i++ )
-		{
-			Chat *tmp = chats->z( i );
-			if( tmp->getChatroomId() == chatroomId )
-			{
-				tmp->setSichtbar( 1 );
-				gefunden = 1;
-				break;
-			}
-		}
-		if( !gefunden )
-		{
-			ChatroomFenster *neu = new ChatroomFenster( schrift, chatroomId );
-			chats->add( neu, anzahl );
-			anzahl++;
-			rend = 1;
-		}
-	}
-	unlockZeichnung();
+    lockZeichnung();
+    bool gefunden = 0;
+    if( accountId )
+    {
+        for( int i = 0; i < anzahl; i++ )
+        {
+            Chat *tmp = chats->z( i );
+            if( tmp->getAccountId() == accountId )
+            {
+                tmp->setSichtbar( 1 );
+                gefunden = 1;
+                break;
+            }
+        }
+        if( !gefunden )
+        {
+            ChatFenster *neu = new ChatFenster( schrift, accountId );
+            chats->add( neu, anzahl );
+            anzahl++;
+            rend = 1;
+        }
+    }
+    else if( chatroomId )
+    {
+        for( int i = 0; i < anzahl; i++ )
+        {
+            Chat *tmp = chats->z( i );
+            if( tmp->getChatroomId() == chatroomId )
+            {
+                tmp->setSichtbar( 1 );
+                gefunden = 1;
+                break;
+            }
+        }
+        if( !gefunden )
+        {
+            ChatroomFenster *neu = new ChatroomFenster( schrift, chatroomId );
+            chats->add( neu, anzahl );
+            anzahl++;
+            rend = 1;
+        }
+    }
+    unlockZeichnung();
 }
 
 void ChatLeisteObj::removeChat( int accountId, int chatroomId )
 {
-	lockZeichnung();
-	if( accountId )
-	{
-		for( int i = 0; i < anzahl; i++ )
-		{
-			Chat *tmp = chats->z( i );
-			if( tmp->getAccountId() == accountId )
-				tmp->entfernen();
-		}
-	}
-	else if( chatroomId )
-	{
-		for( int i = 0; i < anzahl; i++ )
-		{
-			Chat *tmp = chats->z( i );
-			if( tmp->getChatroomId() == chatroomId )
-				tmp->entfernen();
-		}
-	}
-	rend = 1;
-	unlockZeichnung();
-}
-
-void ChatLeisteObj::removeChat( Chat *zChat )
-{
-	lockZeichnung();
-	for( int i = 0; i < anzahl; i++ )
-	{
-		if( chats->z( i ) == zChat )
-		{
-			chats->remove( i );
-			anzahl--;
-			rend = 1;
-			break;
-		}
-	}
-	unlockZeichnung();
+    lockZeichnung();
+    if( accountId )
+    {
+        for( int i = 0; i < anzahl; i++ )
+        {
+            Chat *tmp = chats->z( i );
+            if( tmp->getAccountId() == accountId )
+                tmp->entfernen();
+        }
+    }
+    else if( chatroomId )
+    {
+        for( int i = 0; i < anzahl; i++ )
+        {
+            Chat *tmp = chats->z( i );
+            if( tmp->getChatroomId() == chatroomId )
+                tmp->entfernen();
+        }
+    }
+    rend = 1;
+    unlockZeichnung();
+}
+
+void ChatLeisteObj::removeChat( Chat * zChat )
+{
+    lockZeichnung();
+    for( int i = 0; i < anzahl; i++ )
+    {
+        if( chats->z( i ) == zChat )
+        {
+            chats->remove( i );
+            anzahl--;
+            rend = 1;
+            break;
+        }
+    }
+    unlockZeichnung();
 }
 
 void ChatLeisteObj::removeAll()
 {
-	lockZeichnung();
-	chats->leeren();
-	anzahl = 0;
-	rend = 1;
-	unlockZeichnung();
+    lockZeichnung();
+    chats->leeren();
+    anzahl = 0;
+    rend = 1;
+    unlockZeichnung();
 }
 
 void ChatLeisteObj::addSpieler( int chatroomId, int accountId )
 {
-	if( !chatroomId || !accountId )
-		return;
-	lockZeichnung();
-	for( int i = 0; i < anzahl; i++ )
-	{
-		Chat *tmp = chats->z( i );
-		if( tmp->getChatroomId() == chatroomId )
-		{
-			tmp->addSpieler( accountId );
-			break;
-		}
-	}
-	unlockZeichnung();
+    if( !chatroomId || !accountId )
+        return;
+    lockZeichnung();
+    for( int i = 0; i < anzahl; i++ )
+    {
+        Chat *tmp = chats->z( i );
+        if( tmp->getChatroomId() == chatroomId )
+        {
+            tmp->addSpieler( accountId );
+            break;
+        }
+    }
+    unlockZeichnung();
 }
 
 void ChatLeisteObj::removeSpieler( int chatroomId, int accountId )
 {
-	lockZeichnung();
-	if( !chatroomId || !accountId )
-		return;
-	for( int i = 0; i < anzahl; i++ )
-	{
-		Chat *tmp = chats->z( i );
-		if( tmp->getChatroomId() == chatroomId )
-		{
-			tmp->removeSpieler( accountId );
-			break;
-		}
-	}
-	unlockZeichnung();
+    lockZeichnung();
+    if( !chatroomId || !accountId )
+        return;
+    for( int i = 0; i < anzahl; i++ )
+    {
+        Chat *tmp = chats->z( i );
+        if( tmp->getChatroomId() == chatroomId )
+        {
+            tmp->removeSpieler( accountId );
+            break;
+        }
+    }
+    unlockZeichnung();
 }
 
 void ChatLeisteObj::setChatroomAdmin( int chatroomId )
 {
-	lockZeichnung();
-	for( int i = 0; i < anzahl; i++ )
-	{
-		Chat *tmp = chats->z( i );
-		if( tmp->getChatroomId() == chatroomId )
-		{
-			tmp->setAdmin();
-			break;
-		}
-	}
-	unlockZeichnung();
+    lockZeichnung();
+    for( int i = 0; i < anzahl; i++ )
+    {
+        Chat *tmp = chats->z( i );
+        if( tmp->getChatroomId() == chatroomId )
+        {
+            tmp->setAdmin();
+            break;
+        }
+    }
+    unlockZeichnung();
 }
 
 bool ChatLeisteObj::tick( double tickVal )
 {
-	rend |= hsb->getRend();
-	rend |= nachLogin->zChatLeiste()->tick( tickVal );
-	for( int i = 0; i < anzahl; i++ )
-		rend |= chats->z( i )->tick( tickVal );
-	bool ret = rend;
-	rend = 0;
-	return ret;
-}
-
-void ChatLeisteObj::doTastaturEreignis( TastaturEreignis &te )
-{
-	for( int i = 0; i < anzahl; i++ )
-		chats->z( i )->doTastaturEreignis( te );
-}
-
-void ChatLeisteObj::doMausEreignis( MausEreignis &me )
-{
-	int mx = me.mx;
-	int my = me.my;
-	me.my += 250;
-	me.mx += hsb->getScroll();
-	for( int i = 0; i < anzahl; i++ )
-	{
-		Chat *tmp = chats->z( i );
-		nowME = i;
-		tmp->doMausEreignis( me );
-		nowME = -1;
-		me.mx -= tmp->getBreite();
-	}
-	me.mx = mx;
-	me.my = my;
-	hsb->doMausMessage( 1, 30, bildschirmGröße.x - 20, 20, me );
-}
-
-void ChatLeisteObj::render( Bild &zRObj )
-{
-	int x = pos.x;
-	int y = pos.y;
-	int br = bildschirmGröße.x - 20;
-	int hö = 300;
-	if( !zRObj.setDrawOptionsErzwingen( x, y - 250, br, hö ) )
-		return;
-	int breite = 0;
-	for( int i = 0; i < anzahl; i++ )
-	{
-		Chat *tmp = chats->z( i );
-		tmp->render( breite - ( hsb ? hsb->getScroll() : 0 ), zRObj );
-		breite += tmp->getBreite();
-	}
-	if( hsb )
-	{
-		hsb->update( breite, bildschirmGröße.x - 22 );
-		hsb->render( 0, 280, bildschirmGröße.x - 22, 20, zRObj );
-	}
-	zRObj.releaseDrawOptions();
+    rend |= hsb->getRend();
+    rend |= nachLogin->zChatLeiste()->tick( tickVal );
+    for( int i = 0; i < anzahl; i++ )
+        rend |= chats->z( i )->tick( tickVal );
+    bool ret = rend;
+    rend = 0;
+    return ret;
+}
+
+void ChatLeisteObj::doTastaturEreignis( TastaturEreignis & te )
+{
+    for( int i = 0; i < anzahl; i++ )
+        chats->z( i )->doTastaturEreignis( te );
+}
+
+void ChatLeisteObj::doMausEreignis( MausEreignis & me )
+{
+    int mx = me.mx;
+    int my = me.my;
+    me.my += 250;
+    me.mx += hsb->getScroll();
+    for( int i = 0; i < anzahl; i++ )
+    {
+        Chat *tmp = chats->z( i );
+        nowME = i;
+        tmp->doMausEreignis( me );
+        nowME = -1;
+        me.mx -= tmp->getBreite();
+    }
+    me.mx = mx;
+    me.my = my;
+    hsb->doMausMessage( 1, 30, bildschirmGröße.x - 20, 20, me );
+}
+
+void ChatLeisteObj::render( Bild & zRObj )
+{
+    int x = pos.x;
+    int y = pos.y;
+    int br = bildschirmGröße.x - 20;
+    int hö = 300;
+    if( !zRObj.setDrawOptionsErzwingen( x, y - 250, br, hö ) )
+        return;
+    int breite = 0;
+    for( int i = 0; i < anzahl; i++ )
+    {
+        Chat *tmp = chats->z( i );
+        tmp->render( breite - ( hsb ? hsb->getScroll() : 0 ), zRObj );
+        breite += tmp->getBreite();
+    }
+    if( hsb )
+    {
+        hsb->update( breite, bildschirmGröße.x - 22 );
+        hsb->render( 0, 280, bildschirmGröße.x - 22, 20, zRObj );
+    }
+    zRObj.releaseDrawOptions();
 }
 
 // constant
@@ -1212,179 +1212,179 @@ void ChatLeisteObj::render( Bild &zRObj )
 // Reference Counting
 ChatLeisteObj *ChatLeisteObj::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 ChatLeisteObj *ChatLeisteObj::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 // Inhalt der ChatLeiste Klasse aus ChatLeiste.h
 // Konstruktor
-ChatLeiste::ChatLeiste( Schrift *zSchrift, Fenster *zNachLoginFenster )
-{
-	minimierenBild = bilder->get( "chat.ltdb/minimieren.png" );
-	if( !minimierenBild )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-		datei->leseDaten( 0 );
-		minimierenBild = datei->laden( 0, new Text( "minimieren.png" ) );
-		datei->release();
-		bilder->add( "chat.ltdb/minimieren.png", minimierenBild->getThis() );
-	}
-	maximierenBild = bilder->get( "chat.ltdb/maximieren.png" );
-	if( !maximierenBild )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-		datei->leseDaten( 0 );
-		maximierenBild = datei->laden( 0, new Text( "maximieren.png" ) );
-		datei->release();
-		bilder->add( "chat.ltdb/maximieren.png", maximierenBild->getThis() );
-	}
-	bildschirmGröße = BildschirmGröße();
-	fenster = initFenster( 20 - bildschirmGröße.x, bildschirmGröße.y - 50, bildschirmGröße.x, 50, 0, Fenster::Style::Sichtbar | Fenster::Style::Erlaubt | Fenster::Style::BodyHintergrund | Fenster::Style::Rahmen, "" );
-	fenster->setKBgFarbe( 0xFF000000 );
-	minMax = initKnopf( bildschirmGröße.x - 21, 1, 20, 20, 0, 0, "" );
-	minMax->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-	minMax->setHintergrundBildZ( minimierenBild->getThis() );
-	minMax->setMausEreignisParameter( this );
-	minMax->setMausEreignis( chatLeisteMinMaxME );
-	initToolTip( minMax, "Chat Leiste minimieren.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( minMax );
-	chatLeiste = new ChatLeisteObj( zSchrift );
-	fenster->addMember( chatLeiste );
-	zNachLoginFenster->addMember( fenster );
-	tickVal = 0;
-	animation = 1;
-	ref = 1;
-	rend = 0;
-	chatClient->chatNachrichtAnfrage();
+ChatLeiste::ChatLeiste( Schrift * zSchrift, Fenster * zNachLoginFenster )
+{
+    minimierenBild = bilder->get( "chat.ltdb/minimieren.png" );
+    if( !minimierenBild )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+        datei->leseDaten( 0 );
+        minimierenBild = datei->laden( 0, new Text( "minimieren.png" ) );
+        datei->release();
+        bilder->add( "chat.ltdb/minimieren.png", minimierenBild->getThis() );
+    }
+    maximierenBild = bilder->get( "chat.ltdb/maximieren.png" );
+    if( !maximierenBild )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+        datei->leseDaten( 0 );
+        maximierenBild = datei->laden( 0, new Text( "maximieren.png" ) );
+        datei->release();
+        bilder->add( "chat.ltdb/maximieren.png", maximierenBild->getThis() );
+    }
+    bildschirmGröße = BildschirmGröße();
+    fenster = initFenster( 20 - bildschirmGröße.x, bildschirmGröße.y - 50, bildschirmGröße.x, 50, 0, Fenster::Style::Sichtbar | Fenster::Style::Erlaubt | Fenster::Style::BodyHintergrund | Fenster::Style::Rahmen, "" );
+    fenster->setKBgFarbe( 0xFF000000 );
+    minMax = initKnopf( bildschirmGröße.x - 21, 1, 20, 20, 0, 0, "" );
+    minMax->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
+    minMax->setHintergrundBildZ( minimierenBild->getThis() );
+    minMax->setMausEreignisParameter( this );
+    minMax->setMausEreignis( chatLeisteMinMaxME );
+    initToolTip( minMax, "Chat Leiste minimieren.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( minMax );
+    chatLeiste = new ChatLeisteObj( zSchrift );
+    fenster->addMember( chatLeiste );
+    zNachLoginFenster->addMember( fenster );
+    tickVal = 0;
+    animation = 1;
+    ref = 1;
+    rend = 0;
+    chatClient->chatNachrichtAnfrage();
 }
 
 // Destruktor
 ChatLeiste::~ChatLeiste()
 {
-	minimierenBild = minimierenBild->release();
-	maximierenBild = maximierenBild->release();
-	fenster = fenster->release();
-	minMax = minMax->release();
-	chatLeiste = chatLeiste->release();
+    minimierenBild = minimierenBild->release();
+    maximierenBild = maximierenBild->release();
+    fenster = (Fenster*)fenster->release();
+    minMax = (Knopf*)minMax->release();
+    chatLeiste = chatLeiste->release();
 }
 
 // nicht constant
 void ChatLeiste::chatNachricht( int vonAccount, char *txt )
 {
-	chatLeiste->chatNachricht( vonAccount, txt );
+    chatLeiste->chatNachricht( vonAccount, txt );
 }
 
 void ChatLeiste::chatroomNachricht( int chatroomId, int vonAccount, char *txt )
 {
-	chatLeiste->chatroomNachricht( chatroomId, txt );
+    chatLeiste->chatroomNachricht( chatroomId, txt );
 }
 
 void ChatLeiste::addChat( int accountId, int chatroomId )
 {
-	chatLeiste->addChat( accountId, chatroomId );
+    chatLeiste->addChat( accountId, chatroomId );
 }
 
 void ChatLeiste::removeChat( int accountId, int chatroomId )
 {
-	chatLeiste->removeChat( accountId, chatroomId );
+    chatLeiste->removeChat( accountId, chatroomId );
 }
 
-void ChatLeiste::removeChat( Chat *zChat )
+void ChatLeiste::removeChat( Chat * zChat )
 {
-	chatLeiste->removeChat( zChat );
+    chatLeiste->removeChat( zChat );
 }
 
 void ChatLeiste::removeAll()
 {
-	chatLeiste->removeAll();
+    chatLeiste->removeAll();
 }
 
 void ChatLeiste::addSpieler( int chatroomId, int accountId )
 {
-	chatLeiste->addSpieler( chatroomId, accountId );
+    chatLeiste->addSpieler( chatroomId, accountId );
 }
 
 void ChatLeiste::removeSpieler( int chatroomId, int accountId )
 {
-	chatLeiste->removeSpieler( chatroomId, accountId );
+    chatLeiste->removeSpieler( chatroomId, accountId );
 }
 
 void ChatLeiste::setChatroomAdmin( int chatroomId )
 {
-	chatLeiste->setChatroomAdmin( chatroomId );
+    chatLeiste->setChatroomAdmin( chatroomId );
 }
 
 bool ChatLeiste::tick( double tickVal )
 {
-	this->tickVal += tickVal * 500;
-	int val = ( int )this->tickVal;
-	if( val < 1 )
-	{
-		bool ret = rend;
-		rend = 0;
-		return ret;
-	}
-	if( val > 16 )
-		val = 16;
-	this->tickVal -= val;
-	switch( animation )
-	{
-	case 1: // einfahren
-		if( fenster->getX() < 0 )
-			fenster->setPosition( fenster->getX() + val, fenster->getY() );
-		else
-		{
-			fenster->setPosition( 0, fenster->getY() );
-			animation = 0;
-		}
-		rend = 1;
-		break;
-	case 2: // ausfahren
-		if( fenster->getX() + fenster->getBreite() > 21 )
-			fenster->setPosition( fenster->getX() - val, fenster->getY() );
-		else
-		{
-			fenster->setPosition( 21 - fenster->getBreite(), fenster->getY() );
-			animation = 0;
-		}
-		rend = 1;
-		break;
-	}
-	bool ret = rend;
-	rend = 0;
-	return ret;
-}
-
-bool ChatLeiste::druckMinMax( MausEreignis &me )
-{
-	if( animation )
-		return 1;
-	if( me.id == ME_RLinks )
-	{
-		if( minMax->zHintergrundBild() == minimierenBild )
-		{
-			animation = 2;
-			minMax->setHintergrundBildZ( maximierenBild->getThis() );
-			minMax->zToolTip()->setText( "Chat Leiste maximieren." );
-		}
-		else
-		{
-			animation = 1;
-			minMax->setHintergrundBildZ( minimierenBild->getThis() );
-			minMax->zToolTip()->setText( "Chat Leiste minimieren." );
-		}
-	}
-	return 1;
+    this->tickVal += tickVal * 500;
+    int val = (int)this->tickVal;
+    if( val < 1 )
+    {
+        bool ret = rend;
+        rend = 0;
+        return ret;
+    }
+    if( val > 16 )
+        val = 16;
+    this->tickVal -= val;
+    switch( animation )
+    {
+    case 1: // einfahren
+        if( fenster->getX() < 0 )
+            fenster->setPosition( fenster->getX() + val, fenster->getY() );
+        else
+        {
+            fenster->setPosition( 0, fenster->getY() );
+            animation = 0;
+        }
+        rend = 1;
+        break;
+    case 2: // ausfahren
+        if( fenster->getX() + fenster->getBreite() > 21 )
+            fenster->setPosition( fenster->getX() - val, fenster->getY() );
+        else
+        {
+            fenster->setPosition( 21 - fenster->getBreite(), fenster->getY() );
+            animation = 0;
+        }
+        rend = 1;
+        break;
+    }
+    bool ret = rend;
+    rend = 0;
+    return ret;
+}
+
+bool ChatLeiste::druckMinMax( MausEreignis & me )
+{
+    if( animation )
+        return 1;
+    if( me.id == ME_RLinks )
+    {
+        if( minMax->zHintergrundBild() == minimierenBild )
+        {
+            animation = 2;
+            minMax->setHintergrundBildZ( maximierenBild->getThis() );
+            // TODO minMax->zToolTip()->setText( "Chat Leiste maximieren." );
+        }
+        else
+        {
+            animation = 1;
+            minMax->setHintergrundBildZ( minimierenBild->getThis() );
+             // TODO minMax->zToolTip()->setText( "Chat Leiste minimieren." );
+        }
+    }
+    return 1;
 }
 
 // constant
@@ -1392,30 +1392,30 @@ bool ChatLeiste::druckMinMax( MausEreignis &me )
 // Reference Counting
 ChatLeiste *ChatLeiste::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 ChatLeiste *ChatLeiste::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 // Nachrichten
 bool chatLeisteMinMaxME( void *p, void *obj, MausEreignis me )
 {
-	return ( (ChatLeiste*)p )->druckMinMax( me );
+    return ( (ChatLeiste *)p )->druckMinMax( me );
 }
 
 bool chatroomFensterFreundME( void *p, void *obj, MausEreignis me )
 {
-	return ( (ChatroomFenster*)p )->druckFreund( obj, me );
+    return ( (ChatroomFenster *)p )->druckFreund( obj, me );
 }
 
 bool chatroomFensterEntfernenME( void *p, void *obj, MausEreignis me )
 {
-	return ( (ChatroomFenster*)p )->druckEntfernen( obj, me );
+    return ( (ChatroomFenster *)p )->druckEntfernen( obj, me );
 }

+ 979 - 979
KSGClient/NachLogin/Chat/FreundesListe.cpp

@@ -12,240 +12,240 @@
 // Inhalt der FreundData Klasse aus FreundesListe.h
 // Konstruktor
 FreundData::FreundData( int accountId, LRahmen *rahmen, AlphaFeld *auswahlBuffer, Schrift *zSchrift )
-	: Thread()
-{
-	Bild *entfernenBild = bilder->get( "chat.ltdb/entfernen.png" );
-	if( !entfernenBild )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-		datei->leseDaten( 0 );
-		entfernenBild = datei->laden( 0, new Text( "entfernen.png" ) );
-		datei->release();
-		bilder->add( "chat.ltdb/entfernen.png", entfernenBild->getThis() );
-	}
-	Bild *ansehenBild = bilder->get( "chat.ltdb/ansehen.png" );
-	if( !ansehenBild )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-		datei->leseDaten( 0 );
-		ansehenBild = datei->laden( 0, new Text( "ansehen.png" ) );
-		datei->release();
-		bilder->add( "chat.ltdb/ansehen.png", ansehenBild->getThis() );
-	}
-	Bild *nachrichtBild = bilder->get( "chat.ltdb/nachricht.png" );
-	if( !nachrichtBild )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-		datei->leseDaten( 0 );
-		nachrichtBild = datei->laden( 0, new Text( "nachricht.png" ) );
-		datei->release();
-		bilder->add( "chat.ltdb/nachricht.png", nachrichtBild->getThis() );
-	}
-	Bild *einladenBild = bilder->get( "chat.ltdb/neuerfreund.png" );
-	if( !einladenBild )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-		datei->leseDaten( 0 );
-		einladenBild = datei->laden( 0, new Text( "neuerfreund.png" ) );
-		datei->release();
-		bilder->add( "chat.ltdb/neuerfreund.png", einladenBild->getThis() );
-	}
-	this->accountId = accountId;
-	this->rahmen = rahmen;
-	this->auswahlBuffer = auswahlBuffer;
-	name = new TextFeld();
-	name->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Center );
-	name->setSchriftZ( zSchrift->getThis() );
-	name->setSchriftFarbe( 0xFFFFFFFF );
-	name->setSchriftSize( 12 );
-	name->setText( "" );
-	name->setSize( 200, 20 );
-	name->setPosition( 25, 1 );
-	status = new TextFeld();
-	status->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Center );
-	status->setSchriftZ( zSchrift->getThis() );
-	status->setSchriftFarbe( 0xFFFF0000 );
-	status->setSchriftSize( 12 );
-	status->setText( "offline" );
-	status->setSize( 200, 20 );
-	status->setPosition( 25, 24 );
-	entfernen = initKnopf( 228, 49, 20, 20, 0, 0, "" );
-	entfernen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-	entfernen->setHintergrundBildZ( entfernenBild );
+    : Thread()
+{
+    Bild *entfernenBild = bilder->get( "chat.ltdb/entfernen.png" );
+    if( !entfernenBild )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+        datei->leseDaten( 0 );
+        entfernenBild = datei->laden( 0, new Text( "entfernen.png" ) );
+        datei->release();
+        bilder->add( "chat.ltdb/entfernen.png", entfernenBild->getThis() );
+    }
+    Bild *ansehenBild = bilder->get( "chat.ltdb/ansehen.png" );
+    if( !ansehenBild )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+        datei->leseDaten( 0 );
+        ansehenBild = datei->laden( 0, new Text( "ansehen.png" ) );
+        datei->release();
+        bilder->add( "chat.ltdb/ansehen.png", ansehenBild->getThis() );
+    }
+    Bild *nachrichtBild = bilder->get( "chat.ltdb/nachricht.png" );
+    if( !nachrichtBild )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+        datei->leseDaten( 0 );
+        nachrichtBild = datei->laden( 0, new Text( "nachricht.png" ) );
+        datei->release();
+        bilder->add( "chat.ltdb/nachricht.png", nachrichtBild->getThis() );
+    }
+    Bild *einladenBild = bilder->get( "chat.ltdb/neuerfreund.png" );
+    if( !einladenBild )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+        datei->leseDaten( 0 );
+        einladenBild = datei->laden( 0, new Text( "neuerfreund.png" ) );
+        datei->release();
+        bilder->add( "chat.ltdb/neuerfreund.png", einladenBild->getThis() );
+    }
+    this->accountId = accountId;
+    this->rahmen = rahmen;
+    this->auswahlBuffer = auswahlBuffer;
+    name = new TextFeld();
+    name->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Center );
+    name->setSchriftZ( zSchrift->getThis() );
+    name->setSchriftFarbe( 0xFFFFFFFF );
+    name->setSchriftSize( 12 );
+    name->setText( "" );
+    name->setSize( 200, 20 );
+    name->setPosition( 25, 1 );
+    status = new TextFeld();
+    status->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Center );
+    status->setSchriftZ( zSchrift->getThis() );
+    status->setSchriftFarbe( 0xFFFF0000 );
+    status->setSchriftSize( 12 );
+    status->setText( "offline" );
+    status->setSize( 200, 20 );
+    status->setPosition( 25, 24 );
+    entfernen = initKnopf( 228, 49, 20, 20, 0, 0, "" );
+    entfernen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
+    entfernen->setHintergrundBildZ( entfernenBild );
     entfernen->setHintergrundFarbe( 0 );
-	initToolTip( entfernen, "Freund entfernen.", zSchrift->getThis(), hauptScreen );
-	ansehen = initKnopf( 208, 49, 20, 20, 0, 0, "" );
-	ansehen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-	ansehen->setHintergrundBildZ( ansehenBild );
+    initToolTip( entfernen, "Freund entfernen.", zSchrift->getThis(), hauptScreen );
+    ansehen = initKnopf( 208, 49, 20, 20, 0, 0, "" );
+    ansehen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
+    ansehen->setHintergrundBildZ( ansehenBild );
     ansehen->setHintergrundFarbe( 0 );
-	initToolTip( ansehen, "Account ansehen.", zSchrift->getThis(), hauptScreen );
-	nachricht = initKnopf( 188, 49, 20, 20, 0, 0, "" );
-	nachricht->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-	nachricht->setHintergrundBildZ( nachrichtBild );
+    initToolTip( ansehen, "Account ansehen.", zSchrift->getThis(), hauptScreen );
+    nachricht = initKnopf( 188, 49, 20, 20, 0, 0, "" );
+    nachricht->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
+    nachricht->setHintergrundBildZ( nachrichtBild );
     nachricht->setHintergrundFarbe( 0 );
-	initToolTip( nachricht, "Nachricht senden.", zSchrift->getThis(), hauptScreen );
-	einladen = initKnopf( 168, 49, 20, 20, 0, 0, "" );
-	einladen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-	einladen->setHintergrundBildZ( einladenBild );
+    initToolTip( nachricht, "Nachricht senden.", zSchrift->getThis(), hauptScreen );
+    einladen = initKnopf( 168, 49, 20, 20, 0, 0, "" );
+    einladen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
+    einladen->setHintergrundBildZ( einladenBild );
     einladen->setHintergrundFarbe( 0 );
-	initToolTip( einladen, "Spieler in Gruppe einladen.\nDies kann nur der Gruppen Administrator.", zSchrift->getThis(), hauptScreen );
-	online = 0;
-	einladenSichtbar = 0;
-	ausgewählt = 0;
-	höhe = 0;
-	animation = 1;
-	auswahlAlpha = 0;
-	tickVal = 0;
-	rend = 0;
-	ref = 1;
-	start();
+    initToolTip( einladen, "Spieler in Gruppe einladen.\nDies kann nur der Gruppen Administrator.", zSchrift->getThis(), hauptScreen );
+    online = 0;
+    einladenSichtbar = 0;
+    ausgewählt = 0;
+    höhe = 0;
+    animation = 1;
+    auswahlAlpha = 0;
+    tickVal = 0;
+    rend = 0;
+    ref = 1;
+    start();
 }
 
 // Destruktor
 FreundData::~FreundData()
 {
-	rahmen->release();
-	auswahlBuffer = auswahlBuffer->release();
-	name = name->release();
-	status = status->release();
-	entfernen = entfernen->release();
-	ansehen = ansehen->release();
-	nachricht = nachricht->release();
-	einladen = einladen->release();
+    rahmen->release();
+    auswahlBuffer = (AlphaFeld *)auswahlBuffer->release();
+    name = (TextFeld *)name->release();
+    status = (TextFeld *)status->release();
+    entfernen = (Knopf *)entfernen->release();
+    ansehen = (Knopf *)ansehen->release();
+    nachricht = (Knopf *)nachricht->release();
+    einladen = (Knopf *)einladen->release();
 }
 
 // nicht constant
 void FreundData::thread()
 {
-	if( infoClient )
-	{
-		Text *n = infoClient->getSpielerName( accountId );
-		name->setTextZ( n );
-	}
-	run = 0;
+    if( infoClient )
+    {
+        Text *n = infoClient->getSpielerName( accountId );
+        name->setTextZ( n );
+    }
+    run = 0;
 }
 
 void FreundData::setName( char *txt )
 {
-	name->setText( txt );
-	rend = 1;
+    name->setText( txt );
+    rend = 1;
 }
 
 void FreundData::setStatus( char *txt )
 {
-	status->setText( txt );
-	rend = 1;
+    status->setText( txt );
+    rend = 1;
 }
 
 void FreundData::setOnline( bool online )
 {
-	this->online = online;
-	if( online )
-	{
-		status->setSchriftFarbe( 0xFF00FF00 );
-		status->setText( "online" );
-	}
-	else
-	{
-		status->setSchriftFarbe( 0xFFFF0000 );
-		status->setText( "offline" );
-	}
-	einladen->setStyle( Knopf::Style::Erlaubt, einladenSichtbar && online );
-	rend = 1;
+    this->online = online;
+    if( online )
+    {
+        status->setSchriftFarbe( 0xFF00FF00 );
+        status->setText( "online" );
+    }
+    else
+    {
+        status->setSchriftFarbe( 0xFFFF0000 );
+        status->setText( "offline" );
+    }
+    einladen->setStyle( Knopf::Style::Erlaubt, einladenSichtbar && online );
+    rend = 1;
 }
 
 void FreundData::setAusgewählt( bool ausw )
 {
-	if( animation != 3 )
-	{
-		ausgewählt = ausw;
-		if( ausw )
-			animation = 2;
-		else
-			animation = 1;
-	}
+    if( animation != 3 )
+    {
+        ausgewählt = ausw;
+        if( ausw )
+            animation = 2;
+        else
+            animation = 1;
+    }
 }
 
 void FreundData::remove()
 {
-	animation = 3;
+    animation = 3;
 }
 
 void FreundData::zeigeEinladeKnopf( bool zeigen )
 {
-	einladenSichtbar = zeigen;
-	einladen->setStyle( Knopf::Style::Erlaubt, einladenSichtbar && online );
-	rend = 1;
-}
-
-void FreundData::doMausEreignis( MausEreignis &me )
-{
-	if( animation != 3 )
-	{
-		bool tmp = 0;
-		if( me.my > höhe || !ausgewählt )
-		{
-			tmp = me.verarbeitet;
-			me.verarbeitet = 1;
-		}
-		char aktion = 0;
-		bool vera = me.verarbeitet;
-		nachricht->doMausEreignis( me );
-		aktion = me.verarbeitet && !vera ? 1 : 0;
-		ansehen->doMausEreignis( me );
-		if( !aktion )
-			aktion = me.verarbeitet && !vera ? 2 : 0;
-		entfernen->doMausEreignis( me );
-		if( !aktion )
-			aktion = me.verarbeitet && !vera ? 3 : 0;
-		einladen->doMausEreignis( me );
-		if( !aktion )
-			aktion = me.verarbeitet && !vera ? 4 : 0;
-		if( me.my > höhe || !ausgewählt )
-		{
-			me.verarbeitet = tmp;
-			return;
-		}
-		switch( aktion )
-		{
-		case 1:
-			// Nachricht senden
-			if( me.id == ME_RLinks )
-				nachLogin->zChatLeiste()->addChat( accountId, 0 );
-			break;
-		case 2:
-			// profil ansehen
-			if( me.id == ME_RLinks )
-			{
-				if( nachLogin->zAccountAnsehenFenster()->setSpielerDetails( accountId, 2 ) )
-				{
-					MausEreignis me = { ME_RLinks, 0, 0, 0, 0, 0 };
-					nachLogin->zTitelLeiste()->druckAccountAnsehen( me );
-				}
-			}
-			break;
-		case 3:
-			// freund entfernen
-			if( me.id == ME_RLinks )
-			{
-				int id = accountId;
-				Text *nachricht = new Text( "Möchtest du deine Freundschaft mit " );
-				nachricht->append( name->zText()->getText() );
-				nachricht->append( " wirklich beenden?" );
-				nachLogin->zNachrichtenListe()->addNachricht( new Text( "Bist du dir Sicher?" ), nachricht, new Text( "ja" ),
+    einladenSichtbar = zeigen;
+    einladen->setStyle( Knopf::Style::Erlaubt, einladenSichtbar && online );
+    rend = 1;
+}
+
+void FreundData::doMausEreignis( MausEreignis & me )
+{
+    if( animation != 3 )
+    {
+        bool tmp = 0;
+        if( me.my > höhe || !ausgewählt )
+        {
+            tmp = me.verarbeitet;
+            me.verarbeitet = 1;
+        }
+        char aktion = 0;
+        bool vera = me.verarbeitet;
+        nachricht->doMausEreignis( me );
+        aktion = me.verarbeitet && !vera ? 1 : 0;
+        ansehen->doMausEreignis( me );
+        if( !aktion )
+            aktion = me.verarbeitet && !vera ? 2 : 0;
+        entfernen->doMausEreignis( me );
+        if( !aktion )
+            aktion = me.verarbeitet && !vera ? 3 : 0;
+        einladen->doMausEreignis( me );
+        if( !aktion )
+            aktion = me.verarbeitet && !vera ? 4 : 0;
+        if( me.my > höhe || !ausgewählt )
+        {
+            me.verarbeitet = tmp;
+            return;
+        }
+        switch( aktion )
+        {
+        case 1:
+            // Nachricht senden
+            if( me.id == ME_RLinks )
+                nachLogin->zChatLeiste()->addChat( accountId, 0 );
+            break;
+        case 2:
+            // profil ansehen
+            if( me.id == ME_RLinks )
+            {
+                if( nachLogin->zAccountAnsehenFenster()->setSpielerDetails( accountId, 2 ) )
+                {
+                    MausEreignis me = { ME_RLinks, 0, 0, 0, 0, 0 };
+                    nachLogin->zTitelLeiste()->druckAccountAnsehen( me );
+                }
+            }
+            break;
+        case 3:
+            // freund entfernen
+            if( me.id == ME_RLinks )
+            {
+                int id = accountId;
+                Text *nachricht = new Text( "Möchtest du deine Freundschaft mit " );
+                nachricht->append( name->zText()->getText() );
+                nachricht->append( " wirklich beenden?" );
+                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Bist du dir Sicher?" ), nachricht, new Text( "ja" ),
                                                               new Text( "abbrechen" ), [ id ]()
                 {
                     chatClient->freundschaftBeenden( id );
                 } );
-			}
-			break;
-		case 4: // In Gruppe einladen
-			if( me.id == ME_RLinks )
-			{
+            }
+            break;
+        case 4: // In Gruppe einladen
+            if( me.id == ME_RLinks )
+            {
                 if( !anmeldungClient )
                     anmeldungClient = mainClient->createAnmeldungServerClient();
                 if( !anmeldungClient )
@@ -253,7 +253,7 @@ void FreundData::doMausEreignis( MausEreignis &me )
                     nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( mainClient->getLetzterFehler() ),
                                                                   new Text( "Ok" ), 0 );
                 }
-                if( anmeldungClient && anmeldungClient->verbinde() )
+                if( anmeldungClient &&anmeldungClient->verbinde() )
                 {
                     if( !anmeldungClient->gruppeSpielerEinladen( accountId, nachLogin->zSpielenFenster()->getGruppeId() ) )
                     {
@@ -267,1003 +267,1003 @@ void FreundData::doMausEreignis( MausEreignis &me )
                     nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
                                                                   new Text( "Ok" ), 0 );
                 }
-			}
-		default:
-			// nichts
-			break;
-		}
-	}
+            }
+        default:
+            // nichts
+            break;
+        }
+    }
 }
 
 bool FreundData::tick( double tickVal )
 {
-	rend |= name->tick( tickVal );
-	rend |= status->tick( tickVal );
-	rend |= entfernen->tick( tickVal );
-	rend |= ansehen->tick( tickVal );
-	rend |= nachricht->tick( tickVal );
-	rend |= einladen->tick( tickVal );
-	this->tickVal += tickVal * 100;
-	int val = ( int )this->tickVal;
-	if( val < 1 )
-	{
-		bool ret = rend;
-		rend = 0;
-		return ret;
-	}
-	if( val > 4 )
-		val = 4;
-	this->tickVal -= val;
-	switch( animation )
-	{
-	case 1:
-		if( höhe != 50 )
-		{
-			if( höhe > 50 )
-			{
-				höhe -= val;
-				if( höhe < 50 )
-					höhe = 50;
-			}
-			else
-			{
-				höhe += val;
-				if( höhe > 50 )
-					höhe = 50;
-			}
-			rend = 1;
-		}
-		else
-			animation = 0;
-		break;
-	case 2:
-		if( höhe != 70 )
-		{
-			höhe += val;
-			if( höhe > 70 )
-				höhe = 70;
-			rend = 1;
-		}
-		else
-			animation = 0;
-		break;
-	case 3:
-		höhe -= val;
-		if( höhe <= 0 )
-		{
-			nachLogin->zFreundesListe()->removeMember( this ); // delete this
-			return 1;
-		}
-		rend = 1;
-		break;
-	}
-	if( ausgewählt && auswahlAlpha < 50 )
-	{
-		if( auswahlAlpha + val > 50 )
-			auswahlAlpha = 50;
-		else
-			auswahlAlpha += val;
-		rend = 1;
-	}
-	else if( !ausgewählt && auswahlAlpha > 0 )
-	{
-		if( auswahlAlpha - val < 0 )
-			auswahlAlpha = 0;
-		else
-			auswahlAlpha -= val;
-		rend = 1;
-	}
-	bool ret = rend;
-	rend = 0;
-	return ret;
-}
-
-void FreundData::render( int yPos, Bild &zRObj )
-{
-	int br = 250;
-	if( !zRObj.setDrawOptions( 0, yPos, br, höhe ) )
-		return;
-	rahmen->setSize( br, höhe );
-	rahmen->render( zRObj );
-	int rbr = rahmen->getRBreite();
-	if( !zRObj.setDrawOptions( rbr, rbr, br - rbr * 2, höhe - rbr * 2 ) )
-	{
-		zRObj.releaseDrawOptions();
-		return;
-	}
-	if( auswahlAlpha > 0 )
-	{
-		auswahlBuffer->setFarbe( 0x0000FF00 | ( ( (int)auswahlAlpha << 24 ) & 0xFF000000 ) );
-		auswahlBuffer->setSize( br - rbr * 2, höhe - rbr * 2 );
-		auswahlBuffer->render( zRObj );
-	}
-	name->render( zRObj );
-	status->render( zRObj );
-	einladen->render( zRObj );
-	nachricht->render( zRObj );
-	ansehen->render( zRObj );
-	entfernen->render( zRObj );
-	zRObj.releaseDrawOptions();
-	zRObj.releaseDrawOptions();
+    rend |= name->tick( tickVal );
+    rend |= status->tick( tickVal );
+    rend |= entfernen->tick( tickVal );
+    rend |= ansehen->tick( tickVal );
+    rend |= nachricht->tick( tickVal );
+    rend |= einladen->tick( tickVal );
+    this->tickVal += tickVal * 100;
+    int val = (int)this->tickVal;
+    if( val < 1 )
+    {
+        bool ret = rend;
+        rend = 0;
+        return ret;
+    }
+    if( val > 4 )
+        val = 4;
+    this->tickVal -= val;
+    switch( animation )
+    {
+    case 1:
+        if( höhe != 50 )
+        {
+            if( höhe > 50 )
+            {
+                höhe -= val;
+                if( höhe < 50 )
+                    höhe = 50;
+            }
+            else
+            {
+                höhe += val;
+                if( höhe > 50 )
+                    höhe = 50;
+            }
+            rend = 1;
+        }
+        else
+            animation = 0;
+        break;
+    case 2:
+        if( höhe != 70 )
+        {
+            höhe += val;
+            if( höhe > 70 )
+                höhe = 70;
+            rend = 1;
+        }
+        else
+            animation = 0;
+        break;
+    case 3:
+        höhe -= val;
+        if( höhe <= 0 )
+        {
+            nachLogin->zFreundesListe()->removeMember( this ); // delete this
+            return 1;
+        }
+        rend = 1;
+        break;
+    }
+    if( ausgewählt && auswahlAlpha < 50 )
+    {
+        if( auswahlAlpha + val > 50 )
+            auswahlAlpha = 50;
+        else
+            auswahlAlpha += val;
+        rend = 1;
+    }
+    else if( !ausgewählt && auswahlAlpha > 0 )
+    {
+        if( auswahlAlpha - val < 0 )
+            auswahlAlpha = 0;
+        else
+            auswahlAlpha -= val;
+        rend = 1;
+    }
+    bool ret = rend;
+    rend = 0;
+    return ret;
+}
+
+void FreundData::render( int yPos, Bild & zRObj )
+{
+    int br = 250;
+    if( !zRObj.setDrawOptions( 0, yPos, br, höhe ) )
+        return;
+    rahmen->setSize( br, höhe );
+    rahmen->render( zRObj );
+    int rbr = rahmen->getRBreite();
+    if( !zRObj.setDrawOptions( rbr, rbr, br - rbr * 2, höhe - rbr * 2 ) )
+    {
+        zRObj.releaseDrawOptions();
+        return;
+    }
+    if( auswahlAlpha > 0 )
+    {
+        auswahlBuffer->setFarbe( 0x0000FF00 | ( ( (int)auswahlAlpha << 24 ) & 0xFF000000 ) );
+        auswahlBuffer->setSize( br - rbr * 2, höhe - rbr * 2 );
+        auswahlBuffer->render( zRObj );
+    }
+    name->render( zRObj );
+    status->render( zRObj );
+    einladen->render( zRObj );
+    nachricht->render( zRObj );
+    ansehen->render( zRObj );
+    entfernen->render( zRObj );
+    zRObj.releaseDrawOptions();
+    zRObj.releaseDrawOptions();
 }
 
 // constant
 bool FreundData::istOnline() const
 {
-	return online;
+    return online;
 }
 
 bool FreundData::istAusgewählt() const
 {
-	return ausgewählt;
+    return ausgewählt;
 }
 
 char *FreundData::zName() const
 {
-	return name->zText()->getText();
+    return name->zText()->getText();
 }
 
 Text *FreundData::getName() const
 {
-	return name->getText();
+    return name->getText();
 }
 
 char *FreundData::zStatus() const
 {
-	return status->zText()->getText();
+    return status->zText()->getText();
 }
 
 Text *FreundData::getStatus() const
 {
-	return status->getText();
+    return status->getText();
 }
 
 int FreundData::getAccountId() const
 {
-	return accountId;
+    return accountId;
 }
 
 int FreundData::getHeight() const
 {
-	return höhe;
+    return höhe;
 }
 
 // reference Counting
 FreundData *FreundData::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 FreundData *FreundData::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 // Inhalt der FreundesListeObj Klasse aus FreundesListe.h
 // Konstruktor
-FreundesListeObj::FreundesListeObj( Schrift *zSchrift )
-	: Zeichnung()
-{
-	members = new RCArray< FreundData >();
-	schrift = zSchrift->getThis();
-	memberRahmen = new LRahmen();
-	memberRahmen->setFarbe( 0xFFFFFFFF );
-	memberRahmen->setRamenBreite( 1 );
-	auswahlBuffer = new AlphaFeld();
-	auswahlBuffer->setStrength( -2 );
-	auswahlBuffer->setPosition( 1, 1 );
-	vsb = new VScrollBar();
-	vsb->setKlickScroll( 10 );
-	bildschirmGröße = BildschirmGröße();
-	vsb->update( 0, bildschirmGröße.y - 200 );
-	memberNummer = 0;
-	einladenSichtbar = 0;
-	ref = 1;
+FreundesListeObj::FreundesListeObj( Schrift * zSchrift )
+    : Zeichnung()
+{
+    members = new RCArray< FreundData >();
+    schrift = zSchrift->getThis();
+    memberRahmen = new LRahmen();
+    memberRahmen->setFarbe( 0xFFFFFFFF );
+    memberRahmen->setRamenBreite( 1 );
+    auswahlBuffer = new AlphaFeld();
+    auswahlBuffer->setStrength( -2 );
+    auswahlBuffer->setPosition( 1, 1 );
+    vsb = new VScrollBar();
+    vsb->setKlickScroll( 10 );
+    bildschirmGröße = BildschirmGröße();
+    vsb->update( 0, bildschirmGröße.y - 200 );
+    memberNummer = 0;
+    einladenSichtbar = 0;
+    ref = 1;
 }
 
 // Destruktor
 FreundesListeObj::~FreundesListeObj()
 {
-	members = members->release();
-	schrift = schrift->release();
-	memberRahmen->release();
-	auswahlBuffer = auswahlBuffer->release();
-	vsb = (VScrollBar*)vsb->release();
+    members = members->release();
+    schrift = schrift->release();
+    memberRahmen->release();
+    auswahlBuffer = (AlphaFeld *)auswahlBuffer->release();
+    vsb = (VScrollBar *)vsb->release();
 }
 
 // nicht constant
 void FreundesListeObj::addMember( int accountId )
 {
-	FreundData *tmp = new FreundData( accountId, (LRahmen*)memberRahmen->getThis(), auswahlBuffer->getThis(), schrift );
-	members->add( tmp, memberNummer );
-	memberNummer++;
-	if( einladenSichtbar )
-		tmp->zeigeEinladeKnopf( 1 );
-	rend = 1;
+    FreundData *tmp = new FreundData( accountId, (LRahmen *)memberRahmen->getThis(), (AlphaFeld *)auswahlBuffer->getThis(), schrift );
+    members->add( tmp, memberNummer );
+    memberNummer++;
+    if( einladenSichtbar )
+        tmp->zeigeEinladeKnopf( 1 );
+    rend = 1;
 }
 
 void FreundesListeObj::removeMember( int accountId )
 {
-	for( int i = 0; i < memberNummer; i++ )
-	{
-		FreundData *tmp = members->z( i );
-		if( tmp->getAccountId() == accountId )
-		{
-			tmp->remove();
-			break;
-		}
-	}
+    for( int i = 0; i < memberNummer; i++ )
+    {
+        FreundData *tmp = members->z( i );
+        if( tmp->getAccountId() == accountId )
+        {
+            tmp->remove();
+            break;
+        }
+    }
 }
 
-void FreundesListeObj::removeMember( FreundData *member )
+void FreundesListeObj::removeMember( FreundData * member )
 {
-	for( int i = 0; i < memberNummer; i++ )
-	{
-		if( members->z( i ) == member )
-		{
-			members->remove( i );
-			memberNummer--;
-			rend = 1;
-			break;
-		}
-	}
+    for( int i = 0; i < memberNummer; i++ )
+    {
+        if( members->z( i ) == member )
+        {
+            members->remove( i );
+            memberNummer--;
+            rend = 1;
+            break;
+        }
+    }
 }
 
 void FreundesListeObj::removeAll()
 {
-	members->leeren();
-	memberNummer = 0;
-	rend = 1;
+    members->leeren();
+    memberNummer = 0;
+    rend = 1;
 }
 
 void FreundesListeObj::setName( int accountId, char *txt )
 {
-	for( int i = 0; i < memberNummer; i++ )
-	{
-		FreundData *tmp = members->z( i );
-		if( tmp->getAccountId() == accountId )
-		{
-			tmp->setName( txt );
-			break;
-		}
-	}
+    for( int i = 0; i < memberNummer; i++ )
+    {
+        FreundData *tmp = members->z( i );
+        if( tmp->getAccountId() == accountId )
+        {
+            tmp->setName( txt );
+            break;
+        }
+    }
 }
 
 void FreundesListeObj::setStatus( int accountId, char *txt )
 {
-	for( int i = 0; i < memberNummer; i++ )
-	{
-		FreundData *tmp = members->z( i );
-		if( tmp->getAccountId() == accountId )
-		{
-			tmp->setStatus( txt );
-			break;
-		}
-	}
+    for( int i = 0; i < memberNummer; i++ )
+    {
+        FreundData *tmp = members->z( i );
+        if( tmp->getAccountId() == accountId )
+        {
+            tmp->setStatus( txt );
+            break;
+        }
+    }
 }
 
 void FreundesListeObj::setOnline( int accountId, bool online )
 {
-	for( int i = 0; i < memberNummer; i++ )
-	{
-		FreundData *tmp = members->z( i );
-		if( tmp->getAccountId() == accountId )
-		{
-			tmp->setOnline( online );
-			break;
-		}
-	}
+    for( int i = 0; i < memberNummer; i++ )
+    {
+        FreundData *tmp = members->z( i );
+        if( tmp->getAccountId() == accountId )
+        {
+            tmp->setOnline( online );
+            break;
+        }
+    }
 }
 
 void FreundesListeObj::zeigeEinladeKnopf( bool zeigen )
 {
-	einladenSichtbar = zeigen;
-	for( int i = 0; i < memberNummer; i++ )
-	{
-		FreundData *tmp = members->z( i );
-		tmp->zeigeEinladeKnopf( zeigen );
-	}
+    einladenSichtbar = zeigen;
+    for( int i = 0; i < memberNummer; i++ )
+    {
+        FreundData *tmp = members->z( i );
+        tmp->zeigeEinladeKnopf( zeigen );
+    }
 }
 
 bool FreundesListeObj::tick( double tickVal )
 {
-	rend |= vsb->getRend();
-	rend |= nachLogin->zFreundesListe()->tick( tickVal );
-	for( int i = 0; i < memberNummer; i++ )
-	{
-		FreundData *tmp = members->z( i );
-		if( tmp )
-			rend |= tmp->tick( tickVal );
-	}
-	bool ret = rend;
-	rend = 0;
-	return ret;
-}
-
-void FreundesListeObj::doMausEreignis( MausEreignis &me )
-{
-	int my = me.my;
-	me.my -= pos.y;
-	if( me.mx <= 250 && me.mx > 0 && me.my >= 0 )
-	{
-		me.my += vsb->getScroll();
-		for( int i = 0; i < memberNummer; i++ )
-		{
-			FreundData *tmp = members->z( i );
-			if( tmp )
-			{
-				if( me.my > 0 && me.my < tmp->getHeight() )
-					tmp->setAusgewählt( 1 );
-				else
-					tmp->setAusgewählt( 0 );
-				tmp->doMausEreignis( me );
-				me.my -= tmp->getHeight();
-			}
-		}
-		me.my -= vsb->getScroll();
-	}
-	else
-	{
-		me.my += vsb->getScroll();
-		for( int i = 0; i < memberNummer; i++ )
-		{
-			FreundData *tmp = members->z( i );
-			if( tmp )
-			{
-				tmp->setAusgewählt( 0 );
-				tmp->doMausEreignis( me );
-				me.my -= tmp->getHeight();
-			}
-		}
-		me.my -= vsb->getScroll();
-	}
-	me.my = my;
-	vsb->doMausMessage( 250, pos.y, 20, gr.y, me );
-}
-
-void FreundesListeObj::render( Bild &zrObj )
-{
-	if( !zrObj.setDrawOptions( pos.x, pos.y, gr.x, gr.y ) )
-		return;
-	int höhe = 0;
-	for( int i = 0; i < memberNummer; i++ )
-	{
-		FreundData *tmp = members->z( i );
-		tmp->render( höhe, zrObj );
-		höhe += tmp->getHeight();
-	}
-	vsb->update( höhe, gr.y );
-	vsb->render( 250, 0, 20, gr.y, zrObj );
-	zrObj.releaseDrawOptions();
+    rend |= vsb->getRend();
+    rend |= nachLogin->zFreundesListe()->tick( tickVal );
+    for( int i = 0; i < memberNummer; i++ )
+    {
+        FreundData *tmp = members->z( i );
+        if( tmp )
+            rend |= tmp->tick( tickVal );
+    }
+    bool ret = rend;
+    rend = 0;
+    return ret;
+}
+
+void FreundesListeObj::doMausEreignis( MausEreignis & me )
+{
+    int my = me.my;
+    me.my -= pos.y;
+    if( me.mx <= 250 && me.mx > 0 && me.my >= 0 )
+    {
+        me.my += vsb->getScroll();
+        for( int i = 0; i < memberNummer; i++ )
+        {
+            FreundData *tmp = members->z( i );
+            if( tmp )
+            {
+                if( me.my > 0 && me.my < tmp->getHeight() )
+                    tmp->setAusgewählt( 1 );
+                else
+                    tmp->setAusgewählt( 0 );
+                tmp->doMausEreignis( me );
+                me.my -= tmp->getHeight();
+            }
+        }
+        me.my -= vsb->getScroll();
+    }
+    else
+    {
+        me.my += vsb->getScroll();
+        for( int i = 0; i < memberNummer; i++ )
+        {
+            FreundData *tmp = members->z( i );
+            if( tmp )
+            {
+                tmp->setAusgewählt( 0 );
+                tmp->doMausEreignis( me );
+                me.my -= tmp->getHeight();
+            }
+        }
+        me.my -= vsb->getScroll();
+    }
+    me.my = my;
+    vsb->doMausMessage( 250, pos.y, 20, gr.y, me );
+}
+
+void FreundesListeObj::render( Bild & zrObj )
+{
+    if( !zrObj.setDrawOptions( pos.x, pos.y, gr.x, gr.y ) )
+        return;
+    int höhe = 0;
+    for( int i = 0; i < memberNummer; i++ )
+    {
+        FreundData *tmp = members->z( i );
+        tmp->render( höhe, zrObj );
+        höhe += tmp->getHeight();
+    }
+    vsb->update( höhe, gr.y );
+    vsb->render( 250, 0, 20, gr.y, zrObj );
+    zrObj.releaseDrawOptions();
 }
 
 // constant
 bool FreundesListeObj::istFreund( int accId ) const
 {
-	for( int i = 0; i < memberNummer; i++ )
-	{
-		FreundData *tmp = members->z( i );
-		if( tmp->getAccountId() == accId )
-			return 1;
-	}
-	return 0;
+    for( int i = 0; i < memberNummer; i++ )
+    {
+        FreundData *tmp = members->z( i );
+        if( tmp->getAccountId() == accId )
+            return 1;
+    }
+    return 0;
 }
 
 // reference Counting
 FreundesListeObj *FreundesListeObj::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 FreundesListeObj *FreundesListeObj::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 // Inhalt der FreundesListe Klasse aus FreundesListe.h
 // Konstruktor
-FreundesListe::FreundesListe( Schrift *zSchrift, Fenster *zNachLoginFenster )
-	: Thread()
-{
-	minimierenBild = bilder->get( "chat.ltdb/minimieren.png" );
-	if( !minimierenBild )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-		datei->leseDaten( 0 );
-		minimierenBild = datei->laden( 0, new Text( "minimieren.png" ) );
-		datei->release();
-		bilder->add( "chat.ltdb/minimieren.png", minimierenBild->getThis() );
-	}
-	maximierenBild = bilder->get( "chat.ltdb/maximieren.png" );
-	if( !maximierenBild )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-		datei->leseDaten( 0 );
-		maximierenBild = datei->laden( 0, new Text( "maximieren.png" ) );
-		datei->release();
-		bilder->add( "chat.ltdb/maximieren.png", maximierenBild->getThis() );
-	}
-	Bild *neuerFreundBild = bilder->get( "chat.ltdb/neuerfreund.png" );
-	if( !neuerFreundBild )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-		datei->leseDaten( 0 );
-		neuerFreundBild = datei->laden( 0, new Text( "neuerfreund.png" ) );
-		datei->release();
-		bilder->add( "chat.ltdb/neuerfreund.png", neuerFreundBild->getThis() );
-	}
-
-	bildschirmGröße = BildschirmGröße();
-
-	fenster = new Fenster();
-	fenster->setStyle( Fenster::Style::Sichtbar | Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::BodyHintergrund );
-	fenster->setSize( 270, 20 );
-	fenster->setRFarbe( 0xFFFFFFFF );
-	fenster->setKBgFarbe( 0xFF000000 );
-	fenster->setPosition( -250, 100 );
-
-	minMax = initKnopf( 249, 1, 20, 20, 0, 0, "" );
-	minMax->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-	minMax->setHintergrundBildZ( minimierenBild->getThis() );
-	minMax->setMausEreignisParameter( this );
-	minMax->setMausEreignis( freundesListeMinMaxME );
-	initToolTip( minMax, "Freundes Leiste minimieren.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( minMax );
-
-	überschrift = initTextFeld( 0, 5, 250, 25, zSchrift, TextFeld::Style::Text | TextFeld::Style::Center | TextFeld::Style::Sichtbar, "Freunde" );
-	überschrift->setSchriftSize( 15 );
-	fenster->addMember( überschrift );
-
-	accountName = initTextFeld( 25, 40, 200, 20, zSchrift, TextFeld::Style::TextFeld | TextFeld::Style::Sichtbar, "" );
-	accountName->setTastaturEreignisParameter( this );
-	accountName->setTastaturEreignis( freundesListeNameTE );
-	initToolTip( accountName, "Mit diesem Namen bist du bei anderen Spielern sichtbar.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( accountName );
-
-	LTDBDatei *chatBilder = new LTDBDatei();
-	chatBilder->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-	chatBilder->leseDaten( 0 );
-	Bild *neuerChatBild = chatBilder->laden( 0, new Text( "neuerchat.png" ) );
-	chatBilder = chatBilder->release();
-
-	neuerFreund = initKnopf( 5, 75, 20, 20, 0, 0, "" );
-	neuerFreund->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::HAlpha | Knopf::Style::KlickBuffer );
-	neuerFreund->setHintergrundBildZ( neuerFreundBild );
-	neuerFreund->setMausEreignisParameter( this );
-	neuerFreund->setMausEreignis( freundesListeNeuerFreundME );
-	initToolTip( neuerFreund, "Freundesanfrage senden.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( neuerFreund );
-
-	neuerChat = initKnopf( 30, 75, 20, 20, 0, 0, "" );
-	neuerChat->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::HAlpha | Knopf::Style::KlickBuffer );
-	neuerChat->setHintergrundBildZ( neuerChatBild );
-	neuerChat->setMausEreignisParameter( this );
-	neuerChat->setMausEreignis( freundesListeNeuerChatME );
-	initToolTip( neuerChat, "Nachricht senden.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( neuerChat );
-
-	neuerFreundFenster = initFenster( 0, 100, 270, 0, 0, Fenster::Style::Erlaubt | Fenster::Style::Rahmen, 0 );
-	neuerFreundSpielerName = initTextFeld( 5, 5, 235, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::TextFeld, "Spieler Name" );
-	neuerFreundSpielerName->setTastaturEreignisParameter( this );
-	neuerFreundSpielerName->setTastaturEreignis( freundesListeNeuerFreundSpielerNameTE );
-	initToolTip( neuerFreundSpielerName, "Name des Spielers an den eine Freundesanfrage gesendet werden soll.", zSchrift->getThis(), hauptScreen );
-	neuerFreundFenster->addMember( neuerFreundSpielerName );
-	neuerFreundFertig = initKnopf( 245, 5, 20, 20, 0, 0, "" );
-	neuerFreundFertig->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::HAlpha | Knopf::Style::KlickBuffer );
-	neuerFreundFertig->setHintergrundBildZ( maximierenBild->getThis() );
-	neuerFreundFertig->setMausEreignisParameter( this );
-	neuerFreundFertig->setMausEreignis( freundesListeNeuerFreundFertigME );
-	initToolTip( neuerFreundFertig, "Diesem Spieler eine Freundesanfrage senden.", zSchrift->getThis(), hauptScreen );
-	neuerFreundFenster->addMember( neuerFreundFertig );
-	fenster->addMember( neuerFreundFenster );
-
-	neuerChatFenster = initFenster( 0, 100, 270, 0, 0, Fenster::Style::Erlaubt | Fenster::Style::Rahmen, 0 );
-	neuerChatName = initTextFeld( 5, 5, 235, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::TextFeld, "Spieler Name" );
-	neuerChatName->setTastaturEreignisParameter( this );
-	neuerChatName->setTastaturEreignis( freundesListeNeuerChatNameTE );
-	initToolTip( neuerChatName, "Name des Spielers an den eine Nachricht gesendet werden soll.", zSchrift->getThis(), hauptScreen );
-	neuerChatFenster->addMember( neuerChatName );
-	neuerChatFertig = initKnopf( 245, 5, 20, 20, 0, 0, "" );
-	neuerChatFertig->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::HAlpha | Knopf::Style::KlickBuffer );
-	neuerChatFertig->setHintergrundBildZ( maximierenBild->getThis() );
-	neuerChatFertig->setMausEreignisParameter( this );
-	neuerChatFertig->setMausEreignis( freundesListeNeuerChatFertigME );
-	initToolTip( neuerChatFertig, "Diesem Spieler eine Nachricht senden.", zSchrift->getThis(), hauptScreen );
-	neuerChatFenster->addMember( neuerChatFertig );
-	neuesChatroomName = initTextFeld( 5, 30, 235, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::TextFeld, "Chatroom Name" );
-	neuesChatroomName->setTastaturEreignisParameter( this );
-	neuesChatroomName->setTastaturEreignis( freundesListeNeuesChatroomNameTE );
-	initToolTip( neuesChatroomName, "Name des Chatroom dem du beitreten möchtest.", zSchrift->getThis(), hauptScreen );
-	neuerChatFenster->addMember( neuesChatroomName );
-	neuesChatroomFertig = initKnopf( 245, 30, 20, 20, 0, 0, "" );
-	neuesChatroomFertig->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::HAlpha | Knopf::Style::KlickBuffer );
-	neuesChatroomFertig->setHintergrundBildZ( maximierenBild->getThis() );
-	neuesChatroomFertig->setMausEreignisParameter( this );
-	neuesChatroomFertig->setMausEreignis( freundesListeNeuesChatroomFertigME );
-	initToolTip( neuesChatroomFertig, "Chatroom erstellen oder beitreten.", zSchrift->getThis(), hauptScreen );
-	neuerChatFenster->addMember( neuesChatroomFertig );
-	fenster->addMember( neuerChatFenster );
-
-	freundesListe = new FreundesListeObj( zSchrift );
-	freundesListe->setPosition( 0, 100 );
-	freundesListe->setSize( 270, bildschirmGröße.y - 200 );
-	fenster->addMember( freundesListe );
-
-	zNachLoginFenster->addMember( fenster );
-	animation = 1;
-	tickVal = 0;
-	ref = 1;
-	neuerFreundSichtbar = 0;
-	neuerChatSichtbar = 0;
-	rend = 0;
-
-	start();
+FreundesListe::FreundesListe( Schrift * zSchrift, Fenster * zNachLoginFenster )
+    : Thread()
+{
+    minimierenBild = bilder->get( "chat.ltdb/minimieren.png" );
+    if( !minimierenBild )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+        datei->leseDaten( 0 );
+        minimierenBild = datei->laden( 0, new Text( "minimieren.png" ) );
+        datei->release();
+        bilder->add( "chat.ltdb/minimieren.png", minimierenBild->getThis() );
+    }
+    maximierenBild = bilder->get( "chat.ltdb/maximieren.png" );
+    if( !maximierenBild )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+        datei->leseDaten( 0 );
+        maximierenBild = datei->laden( 0, new Text( "maximieren.png" ) );
+        datei->release();
+        bilder->add( "chat.ltdb/maximieren.png", maximierenBild->getThis() );
+    }
+    Bild *neuerFreundBild = bilder->get( "chat.ltdb/neuerfreund.png" );
+    if( !neuerFreundBild )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+        datei->leseDaten( 0 );
+        neuerFreundBild = datei->laden( 0, new Text( "neuerfreund.png" ) );
+        datei->release();
+        bilder->add( "chat.ltdb/neuerfreund.png", neuerFreundBild->getThis() );
+    }
+
+    bildschirmGröße = BildschirmGröße();
+
+    fenster = new Fenster();
+    fenster->setStyle( Fenster::Style::Sichtbar | Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::BodyHintergrund );
+    fenster->setSize( 270, 20 );
+    fenster->setRFarbe( 0xFFFFFFFF );
+    fenster->setKBgFarbe( 0xFF000000 );
+    fenster->setPosition( -250, 100 );
+
+    minMax = initKnopf( 249, 1, 20, 20, 0, 0, "" );
+    minMax->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
+    minMax->setHintergrundBildZ( minimierenBild->getThis() );
+    minMax->setMausEreignisParameter( this );
+    minMax->setMausEreignis( freundesListeMinMaxME );
+    initToolTip( minMax, "Freundes Leiste minimieren.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( minMax );
+
+    überschrift = initTextFeld( 0, 5, 250, 25, zSchrift, TextFeld::Style::Text | TextFeld::Style::Center | TextFeld::Style::Sichtbar, "Freunde" );
+    überschrift->setSchriftSize( 15 );
+    fenster->addMember( überschrift );
+
+    accountName = initTextFeld( 25, 40, 200, 20, zSchrift, TextFeld::Style::TextFeld | TextFeld::Style::Sichtbar, "" );
+    accountName->setTastaturEreignisParameter( this );
+    accountName->setTastaturEreignis( freundesListeNameTE );
+    initToolTip( accountName, "Mit diesem Namen bist du bei anderen Spielern sichtbar.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( accountName );
+
+    LTDBDatei * chatBilder = new LTDBDatei();
+    chatBilder->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+    chatBilder->leseDaten( 0 );
+    Bild * neuerChatBild = chatBilder->laden( 0, new Text( "neuerchat.png" ) );
+    chatBilder = chatBilder->release();
+
+    neuerFreund = initKnopf( 5, 75, 20, 20, 0, 0, "" );
+    neuerFreund->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::HAlpha | Knopf::Style::KlickBuffer );
+    neuerFreund->setHintergrundBildZ( neuerFreundBild );
+    neuerFreund->setMausEreignisParameter( this );
+    neuerFreund->setMausEreignis( freundesListeNeuerFreundME );
+    initToolTip( neuerFreund, "Freundesanfrage senden.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( neuerFreund );
+
+    neuerChat = initKnopf( 30, 75, 20, 20, 0, 0, "" );
+    neuerChat->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::HAlpha | Knopf::Style::KlickBuffer );
+    neuerChat->setHintergrundBildZ( neuerChatBild );
+    neuerChat->setMausEreignisParameter( this );
+    neuerChat->setMausEreignis( freundesListeNeuerChatME );
+    initToolTip( neuerChat, "Nachricht senden.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( neuerChat );
+
+    neuerFreundFenster = initFenster( 0, 100, 270, 0, 0, Fenster::Style::Erlaubt | Fenster::Style::Rahmen, 0 );
+    neuerFreundSpielerName = initTextFeld( 5, 5, 235, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::TextFeld, "Spieler Name" );
+    neuerFreundSpielerName->setTastaturEreignisParameter( this );
+    neuerFreundSpielerName->setTastaturEreignis( freundesListeNeuerFreundSpielerNameTE );
+    initToolTip( neuerFreundSpielerName, "Name des Spielers an den eine Freundesanfrage gesendet werden soll.", zSchrift->getThis(), hauptScreen );
+    neuerFreundFenster->addMember( neuerFreundSpielerName );
+    neuerFreundFertig = initKnopf( 245, 5, 20, 20, 0, 0, "" );
+    neuerFreundFertig->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::HAlpha | Knopf::Style::KlickBuffer );
+    neuerFreundFertig->setHintergrundBildZ( maximierenBild->getThis() );
+    neuerFreundFertig->setMausEreignisParameter( this );
+    neuerFreundFertig->setMausEreignis( freundesListeNeuerFreundFertigME );
+    initToolTip( neuerFreundFertig, "Diesem Spieler eine Freundesanfrage senden.", zSchrift->getThis(), hauptScreen );
+    neuerFreundFenster->addMember( neuerFreundFertig );
+    fenster->addMember( neuerFreundFenster );
+
+    neuerChatFenster = initFenster( 0, 100, 270, 0, 0, Fenster::Style::Erlaubt | Fenster::Style::Rahmen, 0 );
+    neuerChatName = initTextFeld( 5, 5, 235, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::TextFeld, "Spieler Name" );
+    neuerChatName->setTastaturEreignisParameter( this );
+    neuerChatName->setTastaturEreignis( freundesListeNeuerChatNameTE );
+    initToolTip( neuerChatName, "Name des Spielers an den eine Nachricht gesendet werden soll.", zSchrift->getThis(), hauptScreen );
+    neuerChatFenster->addMember( neuerChatName );
+    neuerChatFertig = initKnopf( 245, 5, 20, 20, 0, 0, "" );
+    neuerChatFertig->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::HAlpha | Knopf::Style::KlickBuffer );
+    neuerChatFertig->setHintergrundBildZ( maximierenBild->getThis() );
+    neuerChatFertig->setMausEreignisParameter( this );
+    neuerChatFertig->setMausEreignis( freundesListeNeuerChatFertigME );
+    initToolTip( neuerChatFertig, "Diesem Spieler eine Nachricht senden.", zSchrift->getThis(), hauptScreen );
+    neuerChatFenster->addMember( neuerChatFertig );
+    neuesChatroomName = initTextFeld( 5, 30, 235, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::TextFeld, "Chatroom Name" );
+    neuesChatroomName->setTastaturEreignisParameter( this );
+    neuesChatroomName->setTastaturEreignis( freundesListeNeuesChatroomNameTE );
+    initToolTip( neuesChatroomName, "Name des Chatroom dem du beitreten möchtest.", zSchrift->getThis(), hauptScreen );
+    neuerChatFenster->addMember( neuesChatroomName );
+    neuesChatroomFertig = initKnopf( 245, 30, 20, 20, 0, 0, "" );
+    neuesChatroomFertig->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::HAlpha | Knopf::Style::KlickBuffer );
+    neuesChatroomFertig->setHintergrundBildZ( maximierenBild->getThis() );
+    neuesChatroomFertig->setMausEreignisParameter( this );
+    neuesChatroomFertig->setMausEreignis( freundesListeNeuesChatroomFertigME );
+    initToolTip( neuesChatroomFertig, "Chatroom erstellen oder beitreten.", zSchrift->getThis(), hauptScreen );
+    neuerChatFenster->addMember( neuesChatroomFertig );
+    fenster->addMember( neuerChatFenster );
+
+    freundesListe = new FreundesListeObj( zSchrift );
+    freundesListe->setPosition( 0, 100 );
+    freundesListe->setSize( 270, bildschirmGröße.y - 200 );
+    fenster->addMember( freundesListe );
+
+    zNachLoginFenster->addMember( fenster );
+    animation = 1;
+    tickVal = 0;
+    ref = 1;
+    neuerFreundSichtbar = 0;
+    neuerChatSichtbar = 0;
+    rend = 0;
+
+    start();
 }
 
 // Destruktor
 FreundesListe::~FreundesListe()
 {
-	ende();
-	fenster = fenster->release();
-	minimierenBild = minimierenBild->release();
-	maximierenBild = maximierenBild->release();
-	minMax = minMax->release();
-	überschrift = überschrift->release();
-	accountName = accountName->release();
-	freundesListe = freundesListe->release();
-	neuerFreund = neuerFreund->release();
-	neuerChat = neuerChat->release();
-	neuerFreundFenster = neuerFreundFenster->release();
-	neuerFreundSpielerName = neuerFreundSpielerName->release();
-	neuerFreundFertig = neuerFreundFertig->release();
-	neuerChatFenster = neuerChatFenster->release();
-	neuerChatName = neuerChatName->release();
-	neuerChatFertig = neuerChatFertig->release();
-	neuesChatroomName = neuesChatroomName->release();
-	neuesChatroomFertig = neuesChatroomFertig->release();
+    ende();
+    fenster = (Fenster *)fenster->release();
+    minimierenBild = minimierenBild->release();
+    maximierenBild = maximierenBild->release();
+    minMax = (Knopf *)minMax->release();
+    überschrift = (TextFeld *)überschrift->release();
+    accountName = (TextFeld *)accountName->release();
+    freundesListe = freundesListe->release();
+    neuerFreund = (Knopf *)neuerFreund->release();
+    neuerChat = (Knopf *)neuerChat->release();
+    neuerFreundFenster = (Fenster *)neuerFreundFenster->release();
+    neuerFreundSpielerName = (TextFeld *)neuerFreundSpielerName->release();
+    neuerFreundFertig = (Knopf *)neuerFreundFertig->release();
+    neuerChatFenster = (Fenster *)neuerChatFenster->release();
+    neuerChatName = (TextFeld *)neuerChatName->release();
+    neuerChatFertig = (Knopf *)neuerChatFertig->release();
+    neuesChatroomName = (TextFeld *)neuesChatroomName->release();
+    neuesChatroomFertig = (Knopf *)neuesChatroomFertig->release();
 }
 
 // nicht constant
 void FreundesListe::addMember( int accountId )
 {
-	freundesListe->addMember( accountId );
+    freundesListe->addMember( accountId );
 }
 
 void FreundesListe::removeMember( int accountId )
 {
-	freundesListe->removeMember( accountId );
+    freundesListe->removeMember( accountId );
 }
 
-void FreundesListe::removeMember( FreundData *member )
+void FreundesListe::removeMember( FreundData * member )
 {
-	freundesListe->removeMember( member );
+    freundesListe->removeMember( member );
 }
 
 void FreundesListe::removeAll()
 {
-	freundesListe->removeAll();
+    freundesListe->removeAll();
 }
 
 void FreundesListe::setName( int accountId, char *txt )
 {
-	freundesListe->setName( accountId, txt );
+    freundesListe->setName( accountId, txt );
 }
 
 void FreundesListe::setStatus( int accountId, char *txt )
 {
-	freundesListe->setStatus( accountId, txt );
+    freundesListe->setStatus( accountId, txt );
 }
 
 void FreundesListe::setOnline( int accountId, bool online )
 {
-	freundesListe->setOnline( accountId, online );
+    freundesListe->setOnline( accountId, online );
 }
 
 void FreundesListe::setAnimation( int animation )
 {
-	this->animation = animation;
+    this->animation = animation;
 }
 
 void FreundesListe::thread()
 {
-	bool err = 1;
-	if( infoClient && loginClient )
-	{
-		Text *name = infoClient->getSpielerName( loginClient->getAccountId() );
-		if( name )
-		{
-			accountName->setText( name->getText() );
-			name->release();
-			err = 0;
-		}
-	}
-	if( err && nachLogin->zNachrichtenListe() )
-	{
-		nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-													   new Text( "Dein Accountname konnte nicht ermittelt werden." ),
-													   new Text( "Ok" ),
-													   0 );
-	}
-	err = 0;
-	if( ( !chatClient || !chatClient->freundesListeAnfragen() ) && nachLogin->zNachrichtenListe() )
-	{
-		nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-													   new Text( "Deine Freunde konnten nicht geladen werden." ),
-													   new Text( "Ok" ),
-													   0 );
-	}
-	run = 0;
+    bool err = 1;
+    if( infoClient && loginClient )
+    {
+        Text *name = infoClient->getSpielerName( loginClient->getAccountId() );
+        if( name )
+        {
+            accountName->setText( name->getText() );
+            name->release();
+            err = 0;
+        }
+    }
+    if( err &&nachLogin->zNachrichtenListe() )
+    {
+        nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
+                                                      new Text( "Dein Accountname konnte nicht ermittelt werden." ),
+                                                      new Text( "Ok" ),
+                                                      0 );
+    }
+    err = 0;
+    if( ( !chatClient || !chatClient->freundesListeAnfragen() ) && nachLogin->zNachrichtenListe() )
+    {
+        nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
+                                                      new Text( "Deine Freunde konnten nicht geladen werden." ),
+                                                      new Text( "Ok" ),
+                                                      0 );
+    }
+    run = 0;
 }
 
 void FreundesListe::zeigeEinladeKnopf( bool zeigen )
 {
-	freundesListe->zeigeEinladeKnopf( zeigen );
+    freundesListe->zeigeEinladeKnopf( zeigen );
 }
 
 bool FreundesListe::tick( double tickVal )
 {
-	this->tickVal += tickVal * 400;
-	int val = ( int )this->tickVal;
-	if( val < 1 )
-	{
-		bool ret = rend;
-		rend = 0;
-		return ret;
-	}
-	if( val > 14 )
-		val = 14;
-	this->tickVal -= val;
-	switch( animation )
-	{
-	case 1:
-		if( fenster->getX() < 0 )
-		{
-			fenster->setPosition( fenster->getX() + val, fenster->getY() );
-			if( fenster->getX() > 0 )
-				fenster->setPosition( 0, fenster->getY() );
-		}
-		else if( fenster->getHeight() < bildschirmGröße.y - 100 )
-		{
-			fenster->setSize( fenster->getBreite(), fenster->getHeight() + val );
-			if( fenster->getHeight() > bildschirmGröße.y - 100 )
-				fenster->setSize( fenster->getBreite(), bildschirmGröße.y - 100 );
-		}
-		else
-			animation = 0;
-		rend = 1;
-		break;
-	case 2:
-		if( fenster->getHeight() > 20 )
-		{
-			fenster->setSize( fenster->getBreite(), fenster->getHeight() - val );
-			if( fenster->getHeight() < 20 )
-				fenster->setSize( fenster->getBreite(), 20 );
-		}
-		else if( fenster->getX() > -250 )
-		{
-			fenster->setPosition( fenster->getX() - val, fenster->getY() );
-			if( fenster->getX() < -250 )
-				fenster->setPosition( -250, fenster->getY() );
-		}
-		else
-			animation = 0;
-		rend = 1;
-		break;
-	}
-	if( neuerFreundSichtbar )
-	{
-		if( neuerFreundFenster->getHeight() != 30 && neuerChatFenster->hatStyleNicht( Fenster::Style::Sichtbar ) )
-		{
-			neuerFreundFenster->addStyle( Fenster::Style::Sichtbar );
-			neuerFreundFenster->setSize( neuerFreundFenster->getBreite(), neuerFreundFenster->getHeight() + val );
-			freundesListe->setPosition( freundesListe->getX(), freundesListe->getY() + val );
-			freundesListe->setSize( freundesListe->getBreite(), freundesListe->getHeight() - val );
-			if( neuerFreundFenster->getHeight() > 30 )
-			{
-				neuerFreundFenster->setSize( neuerFreundFenster->getBreite(), 30 );
-				freundesListe->setPosition( freundesListe->getX(), 130 );
-				freundesListe->setSize( freundesListe->getBreite(), bildschirmGröße.y - 230 );
-			}
-			rend = 1;
-		}
-	}
-	else
-	{
-		if( neuerFreundFenster->hatStyle( Fenster::Style::Sichtbar ) )
-		{
-			neuerFreundFenster->setSize( neuerFreundFenster->getBreite(), neuerFreundFenster->getHeight() - val );
-			freundesListe->setPosition( freundesListe->getX(), freundesListe->getY() - val );
-			freundesListe->setSize( freundesListe->getBreite(), freundesListe->getHeight() + val );
-			if( neuerFreundFenster->getHeight() < 0 )
-			{
-				neuerFreundFenster->setSize( neuerFreundFenster->getBreite(), 0 );
-				neuerFreundFenster->removeStyle( Fenster::Style::Sichtbar );
-				freundesListe->setPosition( freundesListe->getX(), 100 );
-				freundesListe->setSize( freundesListe->getBreite(), bildschirmGröße.y - 200 );
-			}
-			rend = 1;
-		}
-	}
-	if( neuerChatSichtbar )
-	{
-		if( neuerChatFenster->getHeight() != 55 && neuerFreundFenster->hatStyleNicht( Fenster::Style::Sichtbar ) )
-		{
-			neuerChatFenster->addStyle( Fenster::Style::Sichtbar );
-			neuerChatFenster->setSize( neuerChatFenster->getBreite(), neuerChatFenster->getHeight() + val );
-			freundesListe->setPosition( freundesListe->getX(), freundesListe->getY() + val );
-			freundesListe->setSize( freundesListe->getBreite(), freundesListe->getHeight() - val );
-			if( neuerChatFenster->getHeight() > 55 )
-			{
-				neuerChatFenster->setSize( neuerChatFenster->getBreite(), 55 );
-				freundesListe->setPosition( freundesListe->getX(), 155 );
-				freundesListe->setSize( freundesListe->getBreite(), bildschirmGröße.y - 255 );
-			}
-			rend = 1;
-		}
-	}
-	else
-	{
-		if( neuerChatFenster->hatStyle( Fenster::Style::Sichtbar ) )
-		{
-			neuerChatFenster->setSize( neuerChatFenster->getBreite(), neuerChatFenster->getHeight() - val );
-			freundesListe->setPosition( freundesListe->getX(), freundesListe->getY() - val );
-			freundesListe->setSize( freundesListe->getBreite(), freundesListe->getHeight() + val );
-			if( neuerChatFenster->getHeight() < 0 )
-			{
-				neuerChatFenster->setSize( neuerChatFenster->getBreite(), 0 );
-				neuerChatFenster->removeStyle( Fenster::Style::Sichtbar );
-				freundesListe->setPosition( freundesListe->getX(), 100 );
-				freundesListe->setSize( freundesListe->getBreite(), bildschirmGröße.y - 200 );
-			}
-			rend = 1;
-		}
-	}
-	bool ret = rend;
-	rend = 0;
-	return ret;
-}
-
-bool FreundesListe::druckMinMax( MausEreignis &me )
-{
-	if( me.id == ME_RLinks )
-	{
-		if( minMax->zHintergrundBild() == minimierenBild )
-		{
-			animation = 2;
-			minMax->setHintergrundBildZ( maximierenBild->getThis() );
-			minMax->zToolTip()->setText( "Freundes Leiste maximieren." );
-		}
-		else
-		{
-			animation = 1;
-			minMax->setHintergrundBildZ( minimierenBild->getThis() );
-			minMax->zToolTip()->setText( "Freundes Leiste minimieren." );
-		}
-	}
-	return 1;
-}
-
-bool FreundesListe::druckName( TastaturEreignis &te )
-{
-	if( te.id == TE_Release && te.taste == T_Enter )
-		chatClient->accountNameÄndern( accountName->zText()->getText() );
-	return 1;
-}
-
-bool FreundesListe::druckNeuerFreund( MausEreignis &me )
-{
-	if( me.id == ME_RLinks )
-	{
-		neuerChatSichtbar = 0;
-		neuerFreundSichtbar = !neuerFreundSichtbar;
-	}
-	return 1;
-}
-
-bool FreundesListe::druckNeuerChat( MausEreignis &me )
-{
-	if( me.id == ME_RLinks )
-	{
-		neuerFreundSichtbar = 0;
-		neuerChatSichtbar = !neuerChatSichtbar;
-	}
-	return 1;
-}
-
-bool FreundesListe::druckNeuerFreundSpielerName( TastaturEreignis &te )
-{
-	if( !neuerFreundSichtbar )
-		return 0;
-	if( te.id == TE_Release && te.taste == T_Enter )
-	{
-		MausEreignis me = { ME_RLinks, 0, 0, 0 };
-		druckNeuerFreundFertig( me );
-	}
-	return 1;
-}
-
-bool FreundesListe::druckNeuerFreundFertig( MausEreignis &me )
-{
-	if( !neuerFreundSichtbar )
-		return 0;
-	if( me.id == ME_RLinks )
-	{
-		if( neuerFreundSpielerName->zText()->getLength() )
-		{
-			int accountId = infoClient->getAccountId( neuerFreundSpielerName->zText()->getText() );
-			if( accountId )
-			{
-				if( chatClient->freundesAnfrage( accountId ) )
-				{
-					nachLogin->zNachrichtenListe()->addNachricht( new Text( "Freundesanfrage" ), new Text( "Es wurde eine Anfrage an den Spieler gesendet." ),
-																  new Text( "Ok" ), 0 );
-					neuerFreundSichtbar = 0;
-				}
-			}
-			else
-				nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( "Der Spieler wurde nicht gefunden." ),
-				new Text( "Ok" ), 0 );
-		}
-	}
-	return 1;
-}
-
-bool FreundesListe::druckNeuerChatName( TastaturEreignis &te )
-{
-	if( !neuerChatSichtbar )
-		return 0;
-	if( te.id == TE_Release && te.taste == T_Enter )
-	{
-		MausEreignis me = { ME_RLinks, 0, 0, 0 };
-		druckNeuerChatFertig( me );
-	}
-	return 1;
-}
-
-bool FreundesListe::druckNeuerChatFertig( MausEreignis &me )
-{
-	if( !neuerChatSichtbar )
-		return 0;
-	if( me.id == ME_RLinks )
-	{
-		if( neuerChatName->zText()->getLength() )
-		{
-			int accountId = infoClient->getAccountId( neuerChatName->zText()->getText() );
-			if( accountId )
-			{
-				nachLogin->zChatLeiste()->addChat( accountId, 0 );
-				neuerChatSichtbar = 0;
-			}
-			else
-				nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( "Der Spieler wurde nicht gefunden." ),
-				new Text( "Ok" ), 0 );
-		}
-	}
-	return 1;
-}
-
-bool FreundesListe::druckNeuesChatroomName( TastaturEreignis &te )
-{
-	if( !neuerChatSichtbar )
-		return 0;
-	if( te.id == TE_Release && te.taste == T_Enter )
-	{
-		MausEreignis me = { ME_RLinks, 0, 0, 0 };
-		druckNeuesChatroomFertig( me );
-	}
-	return 1;
-}
-
-bool FreundesListe::druckNeuesChatroomFertig( MausEreignis &me )
-{
-	if( !neuerChatSichtbar )
-		return 0;
-	if( me.id == ME_RLinks )
-	{
-		if( neuesChatroomName->zText()->getLength() )
-		{
-			int chatroomId = infoClient->getChatroomId( neuesChatroomName->zText()->getText() );
-			if( chatroomId )
-			{
-				if( chatClient->chatroomBetreten( chatroomId ) )
-				{
-					nachLogin->zChatLeiste()->addChat( 0, chatroomId );
-					neuerChatSichtbar = 0;
-				}
-			}
-			else
-			{
-				chatroomId = chatClient->chatroomErstellen( neuesChatroomName->zText()->getText() );
-				if( chatroomId )
-				{
-					nachLogin->zChatLeiste()->addChat( 0, chatroomId );
-					neuerChatSichtbar = 0;
-				}
-			}
-		}
-	}
-	return 1;
+    this->tickVal += tickVal * 400;
+    int val = (int)this->tickVal;
+    if( val < 1 )
+    {
+        bool ret = rend;
+        rend = 0;
+        return ret;
+    }
+    if( val > 14 )
+        val = 14;
+    this->tickVal -= val;
+    switch( animation )
+    {
+    case 1:
+        if( fenster->getX() < 0 )
+        {
+            fenster->setPosition( fenster->getX() + val, fenster->getY() );
+            if( fenster->getX() > 0 )
+                fenster->setPosition( 0, fenster->getY() );
+        }
+        else if( fenster->getHeight() < bildschirmGröße.y - 100 )
+        {
+            fenster->setSize( fenster->getBreite(), fenster->getHeight() + val );
+            if( fenster->getHeight() > bildschirmGröße.y - 100 )
+                fenster->setSize( fenster->getBreite(), bildschirmGröße.y - 100 );
+        }
+        else
+            animation = 0;
+        rend = 1;
+        break;
+    case 2:
+        if( fenster->getHeight() > 20 )
+        {
+            fenster->setSize( fenster->getBreite(), fenster->getHeight() - val );
+            if( fenster->getHeight() < 20 )
+                fenster->setSize( fenster->getBreite(), 20 );
+        }
+        else if( fenster->getX() > -250 )
+        {
+            fenster->setPosition( fenster->getX() - val, fenster->getY() );
+            if( fenster->getX() < -250 )
+                fenster->setPosition( -250, fenster->getY() );
+        }
+        else
+            animation = 0;
+        rend = 1;
+        break;
+    }
+    if( neuerFreundSichtbar )
+    {
+        if( neuerFreundFenster->getHeight() != 30 && neuerChatFenster->hatStyleNicht( Fenster::Style::Sichtbar ) )
+        {
+            neuerFreundFenster->addStyle( Fenster::Style::Sichtbar );
+            neuerFreundFenster->setSize( neuerFreundFenster->getBreite(), neuerFreundFenster->getHeight() + val );
+            freundesListe->setPosition( freundesListe->getX(), freundesListe->getY() + val );
+            freundesListe->setSize( freundesListe->getBreite(), freundesListe->getHeight() - val );
+            if( neuerFreundFenster->getHeight() > 30 )
+            {
+                neuerFreundFenster->setSize( neuerFreundFenster->getBreite(), 30 );
+                freundesListe->setPosition( freundesListe->getX(), 130 );
+                freundesListe->setSize( freundesListe->getBreite(), bildschirmGröße.y - 230 );
+            }
+            rend = 1;
+        }
+    }
+    else
+    {
+        if( neuerFreundFenster->hatStyle( Fenster::Style::Sichtbar ) )
+        {
+            neuerFreundFenster->setSize( neuerFreundFenster->getBreite(), neuerFreundFenster->getHeight() - val );
+            freundesListe->setPosition( freundesListe->getX(), freundesListe->getY() - val );
+            freundesListe->setSize( freundesListe->getBreite(), freundesListe->getHeight() + val );
+            if( neuerFreundFenster->getHeight() < 0 )
+            {
+                neuerFreundFenster->setSize( neuerFreundFenster->getBreite(), 0 );
+                neuerFreundFenster->removeStyle( Fenster::Style::Sichtbar );
+                freundesListe->setPosition( freundesListe->getX(), 100 );
+                freundesListe->setSize( freundesListe->getBreite(), bildschirmGröße.y - 200 );
+            }
+            rend = 1;
+        }
+    }
+    if( neuerChatSichtbar )
+    {
+        if( neuerChatFenster->getHeight() != 55 && neuerFreundFenster->hatStyleNicht( Fenster::Style::Sichtbar ) )
+        {
+            neuerChatFenster->addStyle( Fenster::Style::Sichtbar );
+            neuerChatFenster->setSize( neuerChatFenster->getBreite(), neuerChatFenster->getHeight() + val );
+            freundesListe->setPosition( freundesListe->getX(), freundesListe->getY() + val );
+            freundesListe->setSize( freundesListe->getBreite(), freundesListe->getHeight() - val );
+            if( neuerChatFenster->getHeight() > 55 )
+            {
+                neuerChatFenster->setSize( neuerChatFenster->getBreite(), 55 );
+                freundesListe->setPosition( freundesListe->getX(), 155 );
+                freundesListe->setSize( freundesListe->getBreite(), bildschirmGröße.y - 255 );
+            }
+            rend = 1;
+        }
+    }
+    else
+    {
+        if( neuerChatFenster->hatStyle( Fenster::Style::Sichtbar ) )
+        {
+            neuerChatFenster->setSize( neuerChatFenster->getBreite(), neuerChatFenster->getHeight() - val );
+            freundesListe->setPosition( freundesListe->getX(), freundesListe->getY() - val );
+            freundesListe->setSize( freundesListe->getBreite(), freundesListe->getHeight() + val );
+            if( neuerChatFenster->getHeight() < 0 )
+            {
+                neuerChatFenster->setSize( neuerChatFenster->getBreite(), 0 );
+                neuerChatFenster->removeStyle( Fenster::Style::Sichtbar );
+                freundesListe->setPosition( freundesListe->getX(), 100 );
+                freundesListe->setSize( freundesListe->getBreite(), bildschirmGröße.y - 200 );
+            }
+            rend = 1;
+        }
+    }
+    bool ret = rend;
+    rend = 0;
+    return ret;
+}
+
+bool FreundesListe::druckMinMax( MausEreignis & me )
+{
+    if( me.id == ME_RLinks )
+    {
+        if( minMax->zHintergrundBild() == minimierenBild )
+        {
+            animation = 2;
+            minMax->setHintergrundBildZ( maximierenBild->getThis() );
+            // TODO minMax->zToolTip()->setText( "Freundes Leiste maximieren." );
+        }
+        else
+        {
+            animation = 1;
+            minMax->setHintergrundBildZ( minimierenBild->getThis() );
+            // TODO minMax->zToolTip()->setText( "Freundes Leiste minimieren." );
+        }
+    }
+    return 1;
+}
+
+bool FreundesListe::druckName( TastaturEreignis & te )
+{
+    if( te.id == TE_Release && te.taste == T_Enter )
+        chatClient->accountNameÄndern( accountName->zText()->getText() );
+    return 1;
+}
+
+bool FreundesListe::druckNeuerFreund( MausEreignis & me )
+{
+    if( me.id == ME_RLinks )
+    {
+        neuerChatSichtbar = 0;
+        neuerFreundSichtbar = !neuerFreundSichtbar;
+    }
+    return 1;
+}
+
+bool FreundesListe::druckNeuerChat( MausEreignis & me )
+{
+    if( me.id == ME_RLinks )
+    {
+        neuerFreundSichtbar = 0;
+        neuerChatSichtbar = !neuerChatSichtbar;
+    }
+    return 1;
+}
+
+bool FreundesListe::druckNeuerFreundSpielerName( TastaturEreignis & te )
+{
+    if( !neuerFreundSichtbar )
+        return 0;
+    if( te.id == TE_Release && te.taste == T_Enter )
+    {
+        MausEreignis me = { ME_RLinks, 0, 0, 0 };
+        druckNeuerFreundFertig( me );
+    }
+    return 1;
+}
+
+bool FreundesListe::druckNeuerFreundFertig( MausEreignis & me )
+{
+    if( !neuerFreundSichtbar )
+        return 0;
+    if( me.id == ME_RLinks )
+    {
+        if( neuerFreundSpielerName->zText()->getLength() )
+        {
+            int accountId = infoClient->getAccountId( neuerFreundSpielerName->zText()->getText() );
+            if( accountId )
+            {
+                if( chatClient->freundesAnfrage( accountId ) )
+                {
+                    nachLogin->zNachrichtenListe()->addNachricht( new Text( "Freundesanfrage" ), new Text( "Es wurde eine Anfrage an den Spieler gesendet." ),
+                                                                  new Text( "Ok" ), 0 );
+                    neuerFreundSichtbar = 0;
+                }
+            }
+            else
+                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( "Der Spieler wurde nicht gefunden." ),
+                                                              new Text( "Ok" ), 0 );
+        }
+    }
+    return 1;
+}
+
+bool FreundesListe::druckNeuerChatName( TastaturEreignis & te )
+{
+    if( !neuerChatSichtbar )
+        return 0;
+    if( te.id == TE_Release && te.taste == T_Enter )
+    {
+        MausEreignis me = { ME_RLinks, 0, 0, 0 };
+        druckNeuerChatFertig( me );
+    }
+    return 1;
+}
+
+bool FreundesListe::druckNeuerChatFertig( MausEreignis & me )
+{
+    if( !neuerChatSichtbar )
+        return 0;
+    if( me.id == ME_RLinks )
+    {
+        if( neuerChatName->zText()->getLength() )
+        {
+            int accountId = infoClient->getAccountId( neuerChatName->zText()->getText() );
+            if( accountId )
+            {
+                nachLogin->zChatLeiste()->addChat( accountId, 0 );
+                neuerChatSichtbar = 0;
+            }
+            else
+                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( "Der Spieler wurde nicht gefunden." ),
+                                                              new Text( "Ok" ), 0 );
+        }
+    }
+    return 1;
+}
+
+bool FreundesListe::druckNeuesChatroomName( TastaturEreignis & te )
+{
+    if( !neuerChatSichtbar )
+        return 0;
+    if( te.id == TE_Release && te.taste == T_Enter )
+    {
+        MausEreignis me = { ME_RLinks, 0, 0, 0 };
+        druckNeuesChatroomFertig( me );
+    }
+    return 1;
+}
+
+bool FreundesListe::druckNeuesChatroomFertig( MausEreignis & me )
+{
+    if( !neuerChatSichtbar )
+        return 0;
+    if( me.id == ME_RLinks )
+    {
+        if( neuesChatroomName->zText()->getLength() )
+        {
+            int chatroomId = infoClient->getChatroomId( neuesChatroomName->zText()->getText() );
+            if( chatroomId )
+            {
+                if( chatClient->chatroomBetreten( chatroomId ) )
+                {
+                    nachLogin->zChatLeiste()->addChat( 0, chatroomId );
+                    neuerChatSichtbar = 0;
+                }
+            }
+            else
+            {
+                chatroomId = chatClient->chatroomErstellen( neuesChatroomName->zText()->getText() );
+                if( chatroomId )
+                {
+                    nachLogin->zChatLeiste()->addChat( 0, chatroomId );
+                    neuerChatSichtbar = 0;
+                }
+            }
+        }
+    }
+    return 1;
 }
 
 // constant
 bool FreundesListe::istFreund( int accId ) const
 {
-	return freundesListe->istFreund( accId );
+    return freundesListe->istFreund( accId );
 }
 
 // reference Counting
 FreundesListe *FreundesListe::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 FreundesListe *FreundesListe::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 // Nachrichten
 bool freundesListeMinMaxME( void *p, void *obj, MausEreignis me )
 {
-	return ( (FreundesListe*)p )->druckMinMax( me );
+    return ( (FreundesListe *)p )->druckMinMax( me );
 }
 
 bool freundesListeNameTE( void *p, void *obj, TastaturEreignis te )
 {
-	return ( (FreundesListe*)p )->druckName( te );
+    return ( (FreundesListe *)p )->druckName( te );
 }
 
 bool freundesListeNeuerFreundME( void *p, void *obj, MausEreignis me )
 {
-	return ( (FreundesListe*)p )->druckNeuerFreund( me );
+    return ( (FreundesListe *)p )->druckNeuerFreund( me );
 }
 
 bool freundesListeNeuerChatME( void *p, void *obj, MausEreignis me )
 {
-	return ( (FreundesListe*)p )->druckNeuerChat( me );
+    return ( (FreundesListe *)p )->druckNeuerChat( me );
 }
 
 bool freundesListeNeuerFreundSpielerNameTE( void *p, void *obj, TastaturEreignis te )
 {
-	return ( (FreundesListe*)p )->druckNeuerFreundSpielerName( te );
+    return ( (FreundesListe *)p )->druckNeuerFreundSpielerName( te );
 }
 
 bool freundesListeNeuerFreundFertigME( void *p, void *obj, MausEreignis me )
 {
-	return ( (FreundesListe*)p )->druckNeuerFreundFertig( me );
+    return ( (FreundesListe *)p )->druckNeuerFreundFertig( me );
 }
 
 bool freundesListeNeuerChatNameTE( void *p, void *obj, TastaturEreignis te )
 {
-	return ( (FreundesListe*)p )->druckNeuerChatName( te );
+    return ( (FreundesListe *)p )->druckNeuerChatName( te );
 }
 
 bool freundesListeNeuerChatFertigME( void *p, void *obj, MausEreignis me )
 {
-	return ( (FreundesListe*)p )->druckNeuerChatFertig( me );
+    return ( (FreundesListe *)p )->druckNeuerChatFertig( me );
 }
 
 bool freundesListeNeuesChatroomNameTE( void *p, void *obj, TastaturEreignis te )
 {
-	return ( (FreundesListe*)p )->druckNeuesChatroomName( te );
+    return ( (FreundesListe *)p )->druckNeuesChatroomName( te );
 }
 
 bool freundesListeNeuesChatroomFertigME( void *p, void *obj, MausEreignis me )
 {
-	return ( (FreundesListe*)p )->druckNeuesChatroomFertig( me );
+    return ( (FreundesListe *)p )->druckNeuesChatroomFertig( me );
 }

+ 364 - 364
KSGClient/NachLogin/Chat/NachrichtenListe.cpp

@@ -22,7 +22,7 @@ NLNachricht::NLNachricht( Schrift *zSchrift, Text *titel )
     titel = titel->release();
     close = initKnopf( 208, 1, 20, 20, 0, 0, "" );
     close->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::HAlpha | Knopf::Style::KlickBuffer );
-    Bild *closeBild = bilder->get( "chat.ltdb/entfernen.png" );
+    Bild * closeBild = bilder->get( "chat.ltdb/entfernen.png" );
     if( !closeBild )
     {
         LTDBDatei *datei = new LTDBDatei();
@@ -45,8 +45,8 @@ NLNachricht::NLNachricht( Schrift *zSchrift, Text *titel )
 
 NLNachricht::~NLNachricht()
 {
-    titel = titel->release();
-    close = close->release();
+    titel = (TextFeld *)titel->release();
+    close = (Knopf *)close->release();
     rahmen->release();
 }
 
@@ -68,7 +68,7 @@ void NLNachricht::setAusgew
     }
 }
 
-void NLNachricht::doMausEreignis( MausEreignis &me )
+void NLNachricht::doMausEreignis( MausEreignis & me )
 {
     if( animation != 3 )
     {
@@ -162,7 +162,7 @@ bool NLNachricht::tick( double tickVal )
     return ret;
 }
 
-void NLNachricht::render( int y, Bild &zRObj )
+void NLNachricht::render( int y, Bild & zRObj )
 {
     int br = 228;
     int hö = höhe;
@@ -213,7 +213,7 @@ NLNachricht *NLNachricht::release()
     return 0;
 }
 
-SpielUpdateNachricht::SpielUpdateNachricht( Schrift *zSchrift, Text *titel, Text *nachricht, int dgID, std::function<void()> posAk, std::function<void()> negAk )
+SpielUpdateNachricht::SpielUpdateNachricht( Schrift * zSchrift, Text * titel, Text * nachricht, int dgID, std::function<void()> posAk, std::function<void()> negAk )
     : NLNachricht( zSchrift, titel )
 {
     Text *result = new Text( nachricht->getText() );
@@ -268,7 +268,7 @@ SpielUpdateNachricht::SpielUpdateNachricht( Schrift *zSchrift, Text *titel, Text
     this->posAk = posAk;
     this->negAk = negAk;
     maxHöhe = 75 + y;
-    update = new Update( zSchrift, fortschritt->getThis(), dgID, [this]( bool ok )
+    update = new Update( zSchrift, (FBalken *)fortschritt->getThis(), dgID, [ this ]( bool ok )
     {
         this->animation = 3;
         if( ok )
@@ -297,7 +297,7 @@ void SpielUpdateNachricht::entfernen()
     negAk();
 }
 
-void SpielUpdateNachricht::doMausEreignis( MausEreignis &me )
+void SpielUpdateNachricht::doMausEreignis( MausEreignis & me )
 {
     __super::doMausEreignis( me );
     if( animation != 3 )
@@ -347,7 +347,7 @@ bool SpielUpdateNachricht::tick( double tickVal )
     return __super::tick( tickVal );
 }
 
-void SpielUpdateNachricht::render( int y, Bild &zRObj )
+void SpielUpdateNachricht::render( int y, Bild & zRObj )
 {
     __super::render( y, zRObj );
     int rbr = rahmen->getRBreite();
@@ -362,10 +362,10 @@ void SpielUpdateNachricht::render( int y, Bild &zRObj )
 
 // Inhalt der Nachricht Klasse aus NachrichtListe.h
 // Konstruktor
-Nachricht::Nachricht( Schrift *zSchrift, Text *titel, Text *nachricht, Text *positiv, Text *negativ, std::function<void()> posAk, std::function<void()> negAk )
+Nachricht::Nachricht( Schrift * zSchrift, Text * titel, Text * nachricht, Text * positiv, Text * negativ, std::function<void()> posAk, std::function<void()> negAk )
     : NLNachricht( zSchrift, titel )
 {
-    
+
     Text *result = new Text( nachricht->getText() );
     int län = nachricht->getLength();
     char *txt = nachricht->getText();
@@ -434,11 +434,11 @@ Nachricht::Nachricht( Schrift *zSchrift, Text *titel, Text *nachricht, Text *pos
 // Destruktor
 Nachricht::~Nachricht()
 {
-	text = text->release();
-	if( positiv )
-		positiv = positiv->release();
-	if( negativ )
-		negativ = negativ->release();
+    text = (TextFeld *)text->release();
+    if( positiv )
+        positiv = (Knopf *)positiv->release();
+    if( negativ )
+        negativ = (Knopf *)negativ->release();
 }
 
 void Nachricht::entfernen()
@@ -447,213 +447,213 @@ void Nachricht::entfernen()
     negAk();
 }
 
-void Nachricht::doMausEreignis( MausEreignis &me )
+void Nachricht::doMausEreignis( MausEreignis & me )
 {
     __super::doMausEreignis( me );
-	if( animation != 3 )
-	{
-		bool tmp = 0;
-		if( me.my > höhe || !ausgewählt )
-		{
-			tmp = me.verarbeitet;
-			me.verarbeitet = 1;
-		}
-		char aktion = me.verarbeitet ? 3 : 0;
-		if( positiv )
-			positiv->doMausEreignis( me );
+    if( animation != 3 )
+    {
+        bool tmp = 0;
+        if( me.my > höhe || !ausgewählt )
+        {
+            tmp = me.verarbeitet;
+            me.verarbeitet = 1;
+        }
+        char aktion = me.verarbeitet ? 3 : 0;
+        if( positiv )
+            positiv->doMausEreignis( me );
         if( !aktion )
             aktion = me.verarbeitet ? 1 : 0;
-		if( negativ )
-			negativ->doMausEreignis( me );
-		if( !aktion )
-			aktion = me.verarbeitet ? 2 : 0;
-		if( me.my > höhe || !ausgewählt )
-		{
-			me.verarbeitet = tmp;
-			return;
-		}
-		if( me.id != ME_RLinks )
-			return;
-		switch( aktion )
-		{
-		case 1:
+        if( negativ )
+            negativ->doMausEreignis( me );
+        if( !aktion )
+            aktion = me.verarbeitet ? 2 : 0;
+        if( me.my > höhe || !ausgewählt )
+        {
+            me.verarbeitet = tmp;
+            return;
+        }
+        if( me.id != ME_RLinks )
+            return;
+        switch( aktion )
+        {
+        case 1:
             // positiv
             __super::entfernen();
             posAk();
-			break;
-		case 2:
-			// negativ
+            break;
+        case 2:
+            // negativ
             __super::entfernen();
             negAk();
-			break;
-		}
-	}
+            break;
+        }
+    }
 }
 
 bool Nachricht::tick( double tickVal )
 {
-	rend |= positiv ? positiv->tick( tickVal ) : 0;
-	rend |= negativ ? negativ->tick( tickVal ) : 0;
-	rend |= text->tick( tickVal );
-	return __super::tick( tickVal );
+    rend |= positiv ? positiv->tick( tickVal ) : 0;
+    rend |= negativ ? negativ->tick( tickVal ) : 0;
+    rend |= text->tick( tickVal );
+    return __super::tick( tickVal );
 }
 
-void Nachricht::render( int yPos, Bild &zRObj )
+void Nachricht::render( int yPos, Bild & zRObj )
 {
     __super::render( yPos, zRObj );
-	int rbr = rahmen->getRBreite();
-	if( !zRObj.setDrawOptions( rbr, yPos + rbr, rahmen->getBreite() - rbr * 2, rahmen->getHeight() - rbr * 2 ) )
-		return;
-	text->render( zRObj );
-	if( positiv )
-		positiv->render( zRObj );
-	if( negativ )
-		negativ->render( zRObj );
-	zRObj.releaseDrawOptions();
+    int rbr = rahmen->getRBreite();
+    if( !zRObj.setDrawOptions( rbr, yPos + rbr, rahmen->getBreite() - rbr * 2, rahmen->getHeight() - rbr * 2 ) )
+        return;
+    text->render( zRObj );
+    if( positiv )
+        positiv->render( zRObj );
+    if( negativ )
+        negativ->render( zRObj );
+    zRObj.releaseDrawOptions();
 }
 
 
 // Inhalt der NachrichtenListeObj Klasse aus NachrichtListe.h
 // Konstruktor
-NachrichtenListeObj::NachrichtenListeObj( Schrift *zSchrift )
-: Zeichnung()
+NachrichtenListeObj::NachrichtenListeObj( Schrift * zSchrift )
+    : Zeichnung()
 {
-	members = new RCArray< NLNachricht >();
-	schrift = zSchrift->getThis();
-	vsb = new VScrollBar();
-	vsb->setKlickScroll( 10 );
-	bildschirmGröße = BildschirmGröße();
-	vsb->update( 0, bildschirmGröße.y - 122 );
-	anzahl = 0;
-	gr = Punkt( 250, bildschirmGröße.y - 122 );
-	ref = 1;
+    members = new RCArray< NLNachricht >();
+    schrift = zSchrift->getThis();
+    vsb = new VScrollBar();
+    vsb->setKlickScroll( 10 );
+    bildschirmGröße = BildschirmGröße();
+    vsb->update( 0, bildschirmGröße.y - 122 );
+    anzahl = 0;
+    gr = Punkt( 250, bildschirmGröße.y - 122 );
+    ref = 1;
 }
 
 // Destruktor
 NachrichtenListeObj::~NachrichtenListeObj()
 {
-	schrift = schrift->release();
-	vsb = (VScrollBar*)vsb->release();
-	members = members->release();
+    schrift = schrift->release();
+    vsb = (VScrollBar *)vsb->release();
+    members = members->release();
 }
 
 // nicht constant
-void NachrichtenListeObj::addNachricht( NLNachricht *nachricht )
+void NachrichtenListeObj::addNachricht( NLNachricht * nachricht )
 {
-	members->add( nachricht, anzahl );
-	anzahl++;
-	rend = 1;
+    members->add( nachricht, anzahl );
+    anzahl++;
+    rend = 1;
 }
 
-void NachrichtenListeObj::removeNachricht( NLNachricht *zNachricht )
+void NachrichtenListeObj::removeNachricht( NLNachricht * zNachricht )
 {
-	for( int i = 0; i < anzahl; i++ )
-	{
-		if( members->z( i ) == zNachricht )
-		{
-			members->remove( i );
-			anzahl--;
-			rend = 1;
-			break;
-		}
-	}
+    for( int i = 0; i < anzahl; i++ )
+    {
+        if( members->z( i ) == zNachricht )
+        {
+            members->remove( i );
+            anzahl--;
+            rend = 1;
+            break;
+        }
+    }
 }
 
 void NachrichtenListeObj::removeAll()
 {
-	lockZeichnung();
-	members->leeren();
-	anzahl = 0;
-	rend = 1;
-	unlockZeichnung();
+    lockZeichnung();
+    members->leeren();
+    anzahl = 0;
+    rend = 1;
+    unlockZeichnung();
 }
 
 bool NachrichtenListeObj::tick( double tickVal )
 {
-	lockZeichnung();
-	rend |= vsb->getRend();
-	rend |= nachLogin->zNachrichtenListe()->tick( tickVal );
-	for( int i = 0; i < anzahl; i++ )
-	{
-		NLNachricht *tmp = members->z( i );
-		if( tmp )
-			rend |= tmp->tick( tickVal );
-	}
-	unlockZeichnung();
-	bool ret = rend;
-	rend = 0;
-	return ret;
-}
-
-void NachrichtenListeObj::doMausEreignis( MausEreignis &me )
-{
-	lockZeichnung();
-	int my = me.my;
-	me.my -= 20;
-	if( me.mx <= 229 && me.mx > 0 && me.my >= 0 )
-	{
-		me.my += vsb->getScroll();
-		for( int i = 0; i < anzahl; i++ )
-		{
-			NLNachricht *tmp = members->z( i );
-			if( tmp )
-			{
-				if( me.my > 0 && me.my < tmp->getHeight() )
-					tmp->setAusgewählt( 1 );
-				else
-					tmp->setAusgewählt( 0 );
-				tmp->doMausEreignis( me );
-				me.my -= tmp->getHeight();
-			}
-		}
-		me.my -= vsb->getScroll();
-	}
-	else
-	{
-		me.my += vsb->getScroll();
-		for( int i = 0; i < anzahl; i++ )
-		{
-			NLNachricht *tmp = members->z( i );
-			if( tmp )
-			{
-				tmp->setAusgewählt( 0 );
-				tmp->doMausEreignis( me );
-				me.my -= tmp->getHeight();
-			}
-		}
-		me.my -= vsb->getScroll();
-	}
-	me.my = my;
-	vsb->doMausMessage( 229, 20, 20, bildschirmGröße.y - 122, me );
-	unlockZeichnung();
-}
-
-void NachrichtenListeObj::render( Bild &zrObj )
-{
-	lockZeichnung();
-	int x = pos.x;
-	int y = pos.y;
-	int br = gr.x;
-	int hö = gr.y;
-	if( !zrObj.setDrawOptions( x, y, br, hö ) )
-	{
-		unlockZeichnung();
-		return;
-	}
-	int höhe = 0;
-	for( int i = 0; i < anzahl; i++ )
-	{
-		NLNachricht *tmp = members->z( i );
-		tmp->render( höhe - ( vsb ? vsb->getScroll() : 0 ), zrObj );
-		höhe += tmp->getHeight();
-	}
-	if( vsb )
-	{
-		vsb->update( höhe, bildschirmGröße.y - 122 );
-		vsb->render( 229, 0, 20, bildschirmGröße.y - 122, zrObj );
-	}
-	zrObj.releaseDrawOptions();
-	unlockZeichnung();
+    lockZeichnung();
+    rend |= vsb->getRend();
+    rend |= nachLogin->zNachrichtenListe()->tick( tickVal );
+    for( int i = 0; i < anzahl; i++ )
+    {
+        NLNachricht *tmp = members->z( i );
+        if( tmp )
+            rend |= tmp->tick( tickVal );
+    }
+    unlockZeichnung();
+    bool ret = rend;
+    rend = 0;
+    return ret;
+}
+
+void NachrichtenListeObj::doMausEreignis( MausEreignis & me )
+{
+    lockZeichnung();
+    int my = me.my;
+    me.my -= 20;
+    if( me.mx <= 229 && me.mx > 0 && me.my >= 0 )
+    {
+        me.my += vsb->getScroll();
+        for( int i = 0; i < anzahl; i++ )
+        {
+            NLNachricht *tmp = members->z( i );
+            if( tmp )
+            {
+                if( me.my > 0 && me.my < tmp->getHeight() )
+                    tmp->setAusgewählt( 1 );
+                else
+                    tmp->setAusgewählt( 0 );
+                tmp->doMausEreignis( me );
+                me.my -= tmp->getHeight();
+            }
+        }
+        me.my -= vsb->getScroll();
+    }
+    else
+    {
+        me.my += vsb->getScroll();
+        for( int i = 0; i < anzahl; i++ )
+        {
+            NLNachricht *tmp = members->z( i );
+            if( tmp )
+            {
+                tmp->setAusgewählt( 0 );
+                tmp->doMausEreignis( me );
+                me.my -= tmp->getHeight();
+            }
+        }
+        me.my -= vsb->getScroll();
+    }
+    me.my = my;
+    vsb->doMausMessage( 229, 20, 20, bildschirmGröße.y - 122, me );
+    unlockZeichnung();
+}
+
+void NachrichtenListeObj::render( Bild & zrObj )
+{
+    lockZeichnung();
+    int x = pos.x;
+    int y = pos.y;
+    int br = gr.x;
+    int hö = gr.y;
+    if( !zrObj.setDrawOptions( x, y, br, hö ) )
+    {
+        unlockZeichnung();
+        return;
+    }
+    int höhe = 0;
+    for( int i = 0; i < anzahl; i++ )
+    {
+        NLNachricht *tmp = members->z( i );
+        tmp->render( höhe - ( vsb ? vsb->getScroll() : 0 ), zrObj );
+        höhe += tmp->getHeight();
+    }
+    if( vsb )
+    {
+        vsb->update( höhe, bildschirmGröße.y - 122 );
+        vsb->render( 229, 0, 20, bildschirmGröße.y - 122, zrObj );
+    }
+    zrObj.releaseDrawOptions();
+    unlockZeichnung();
 }
 
 // contant
@@ -661,125 +661,125 @@ void NachrichtenListeObj::render( Bild &zrObj )
 // Reference Counting
 NachrichtenListeObj *NachrichtenListeObj::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 NachrichtenListeObj *NachrichtenListeObj::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 // Inhalt der NachrichtenListe Klasse aus NachrichtListe.h
 // Konstruktor
-NachrichtenListe::NachrichtenListe( Schrift *zSchrift, Fenster *zNachLoginFenster )
+NachrichtenListe::NachrichtenListe( Schrift * zSchrift, Fenster * zNachLoginFenster )
 {
     schrift = zSchrift->getThis();
-	minimierenBild = bilder->get( "chat.ltdb/minimieren.png" );
-	if( !minimierenBild )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-		datei->leseDaten( 0 );
-		minimierenBild = datei->laden( 0, new Text( "minimieren.png" ) );
-		datei->release();
-		bilder->add( "chat.ltdb/minimieren.png", minimierenBild->getThis() );
-	}
-	maximierenBild = bilder->get( "chat.ltdb/maximieren.png" );
-	if( !maximierenBild )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-		datei->leseDaten( 0 );
-		maximierenBild = datei->laden( 0, new Text( "maximieren.png" ) );
-		datei->release();
-		bilder->add( "chat.ltdb/maximieren.png", maximierenBild->getThis() );
-	}
-	bildschirmGröße = BildschirmGröße();
-	fenster = initFenster( bildschirmGröße.x - 21, 100, 250, 22, zSchrift, Fenster::Style::Sichtbar | Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::BodyHintergrund, "" );
-	fenster->setKBgFarbe( 0xFF000000 );
-	überschrift = initTextFeld( 1, 1, 248, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::Center | TextFeld::Style::Sichtbar, "Nachrichten" );
-	überschrift->setSchriftSize( 15 );
-	fenster->addMember( überschrift );
-	minMax = initKnopf( 1, 1, 20, 20, 0, 0, "" );
-	minMax->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::HAlpha | Knopf::Style::KlickBuffer );
-	minMax->setMausEreignisParameter( this );
-	minMax->setMausEreignis( NachrichtenListeMinMaxME );
-	minMax->setHintergrundBildZ( minimierenBild->getThis() );
-	initToolTip( minMax, "Nachrichten Leiste minimieren.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( minMax );
-	nachrichtenListe = new NachrichtenListeObj( zSchrift );
-	nachrichtenListe->setPosition( 1, 21 );
-	nachrichtenListe->setSize( 248, bildschirmGröße.y - 122 );
-	fenster->addMember( nachrichtenListe );
-	zNachLoginFenster->addMember( fenster );
-	tickVal = 0;
-	animation = 1;
-	rend = 0;
-	msgSound = 0;
-	errSound = 0;
-	HMODULE dll = dllDateien->ladeDLL( "GSL.dll", "data/bin/GSL.dll" );
-	if( dll )
-	{
-		GetGSLDatei getGSLDatei = (GetGSLDatei)GetProcAddress( dll, "getGSLDatei" );
-		if( getGSLDatei )
-		{
-			GSL::GSLDateiV *sDat = getGSLDatei();
-			sDat->setDatei( "data/sounds/popup.gsl" );
-			sDat->leseDaten();
-			msgSound = sDat->getSound( "info.wav" );
-			errSound = sDat->getSound( "error.wav" );
-			sDat->release();
-			if( msgSound )
-				msgSound->setVolume( 0xFFFF, 0xFFFF );
-			if( errSound )
-				errSound->setVolume( 0xFFFF, 0xFFFF );
-		}
-		if( !msgSound && !errSound )
-			dllDateien->releaseDLL( "GSL.dll" );
-	}
-	ref = 1;
+    minimierenBild = bilder->get( "chat.ltdb/minimieren.png" );
+    if( !minimierenBild )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+        datei->leseDaten( 0 );
+        minimierenBild = datei->laden( 0, new Text( "minimieren.png" ) );
+        datei->release();
+        bilder->add( "chat.ltdb/minimieren.png", minimierenBild->getThis() );
+    }
+    maximierenBild = bilder->get( "chat.ltdb/maximieren.png" );
+    if( !maximierenBild )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+        datei->leseDaten( 0 );
+        maximierenBild = datei->laden( 0, new Text( "maximieren.png" ) );
+        datei->release();
+        bilder->add( "chat.ltdb/maximieren.png", maximierenBild->getThis() );
+    }
+    bildschirmGröße = BildschirmGröße();
+    fenster = initFenster( bildschirmGröße.x - 21, 100, 250, 22, zSchrift, Fenster::Style::Sichtbar | Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::BodyHintergrund, "" );
+    fenster->setKBgFarbe( 0xFF000000 );
+    überschrift = initTextFeld( 1, 1, 248, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::Center | TextFeld::Style::Sichtbar, "Nachrichten" );
+    überschrift->setSchriftSize( 15 );
+    fenster->addMember( überschrift );
+    minMax = initKnopf( 1, 1, 20, 20, 0, 0, "" );
+    minMax->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::HAlpha | Knopf::Style::KlickBuffer );
+    minMax->setMausEreignisParameter( this );
+    minMax->setMausEreignis( NachrichtenListeMinMaxME );
+    minMax->setHintergrundBildZ( minimierenBild->getThis() );
+    initToolTip( minMax, "Nachrichten Leiste minimieren.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( minMax );
+    nachrichtenListe = new NachrichtenListeObj( zSchrift );
+    nachrichtenListe->setPosition( 1, 21 );
+    nachrichtenListe->setSize( 248, bildschirmGröße.y - 122 );
+    fenster->addMember( nachrichtenListe );
+    zNachLoginFenster->addMember( fenster );
+    tickVal = 0;
+    animation = 1;
+    rend = 0;
+    msgSound = 0;
+    errSound = 0;
+    HMODULE dll = dllDateien->ladeDLL( "GSL.dll", "data/bin/GSL.dll" );
+    if( dll )
+    {
+        GetGSLDatei getGSLDatei = (GetGSLDatei)GetProcAddress( dll, "getGSLDatei" );
+        if( getGSLDatei )
+        {
+            GSL::GSLDateiV *sDat = getGSLDatei();
+            sDat->setDatei( "data/sounds/popup.gsl" );
+            sDat->leseDaten();
+            msgSound = sDat->getSound( "info.wav" );
+            errSound = sDat->getSound( "error.wav" );
+            sDat->release();
+            if( msgSound )
+                msgSound->setVolume( 0xFFFF, 0xFFFF );
+            if( errSound )
+                errSound->setVolume( 0xFFFF, 0xFFFF );
+        }
+        if( !msgSound && !errSound )
+            dllDateien->releaseDLL( "GSL.dll" );
+    }
+    ref = 1;
 }
 
 // Destruktor
 NachrichtenListe::~NachrichtenListe()
 {
-	if( msgSound || errSound )
-	{
-		if( msgSound )
-		{
-			msgSound->stopSound();
-			msgSound->release();
-		}
-		if( errSound )
-		{
-			errSound->stopSound();
-			errSound->release();
-		}
-		dllDateien->releaseDLL( "GSL.dll" );
-	}
-	überschrift = überschrift->release();
-	fenster = fenster->release();
-	minMax = minMax->release();
-	nachrichtenListe = nachrichtenListe->release();
-	minimierenBild = minimierenBild->release();
-	maximierenBild = maximierenBild->release();
+    if( msgSound || errSound )
+    {
+        if( msgSound )
+        {
+            msgSound->stopSound();
+            msgSound->release();
+        }
+        if( errSound )
+        {
+            errSound->stopSound();
+            errSound->release();
+        }
+        dllDateien->releaseDLL( "GSL.dll" );
+    }
+    überschrift = (TextFeld *)überschrift->release();
+    fenster = (Fenster *)fenster->release();
+    minMax = (Knopf *)minMax->release();
+    nachrichtenListe = nachrichtenListe->release();
+    minimierenBild = minimierenBild->release();
+    maximierenBild = maximierenBild->release();
     schrift->release();
 }
 
 // nicht constant
-void NachrichtenListe::addNachricht( Text *titel, Text *nachricht, Text *positiv, Text *negativ, std::function<void()> posAk, std::function<void()> negAk )
+void NachrichtenListe::addNachricht( Text * titel, Text * nachricht, Text * positiv, Text * negativ, std::function<void()> posAk, std::function<void()> negAk )
 {
-	if( titel && titel->hat( "Fehler" ) && errSound )
-		errSound->playSound();
-	else if( msgSound )
-		msgSound->playSound();
-	nachrichtenListe->addNachricht( new Nachricht( schrift, titel, nachricht, positiv, negativ, posAk, negAk ) );
+    if( titel &&titel->hat( "Fehler" ) && errSound )
+        errSound->playSound();
+    else if( msgSound )
+        msgSound->playSound();
+    nachrichtenListe->addNachricht( new Nachricht( schrift, titel, nachricht, positiv, negativ, posAk, negAk ) );
 }
-void NachrichtenListe::addNachricht( NLNachricht *nachricht )
+void NachrichtenListe::addNachricht( NLNachricht * nachricht )
 {
     if( nachricht->zTitel() && nachricht->zTitel()->hat( "Fehler" ) && errSound )
         errSound->playSound();
@@ -788,105 +788,105 @@ void NachrichtenListe::addNachricht( NLNachricht *nachricht )
     nachrichtenListe->addNachricht( nachricht );
 }
 
-void NachrichtenListe::removeNachricht( NLNachricht *zNachricht )
+void NachrichtenListe::removeNachricht( NLNachricht * zNachricht )
 {
-	nachrichtenListe->removeNachricht( zNachricht );
+    nachrichtenListe->removeNachricht( zNachricht );
 }
 
 void NachrichtenListe::removeAll()
 {
-	nachrichtenListe->removeAll();
+    nachrichtenListe->removeAll();
 }
 
-bool NachrichtenListe::druckMinMax( MausEreignis &me )
+bool NachrichtenListe::druckMinMax( MausEreignis & me )
 {
-	if( me.id == ME_RLinks )
-	{
-		if( minMax->zHintergrundBild() == minimierenBild )
-		{
-			animation = 2;
-			minMax->setHintergrundBildZ( maximierenBild->getThis() );
-			minMax->zToolTip()->setText( "Nachrichten Leiste maximieren." );
-		}
-		else
-		{
-			animation = 1;
-			minMax->setHintergrundBildZ( minimierenBild->getThis() );
-			minMax->zToolTip()->setText( "Nachrichten Leiste minimieren." );
-		}
-	}
-	return 1;
+    if( me.id == ME_RLinks )
+    {
+        if( minMax->zHintergrundBild() == minimierenBild )
+        {
+            animation = 2;
+            minMax->setHintergrundBildZ( maximierenBild->getThis() );
+            // TODO minMax->zToolTip()->setText( "Nachrichten Leiste maximieren." );
+        }
+        else
+        {
+            animation = 1;
+            minMax->setHintergrundBildZ( minimierenBild->getThis() );
+            // TODO minMax->zToolTip()->setText( "Nachrichten Leiste minimieren." );
+        }
+    }
+    return 1;
 }
 
 bool NachrichtenListe::tick( double tickVal )
 {
-	if( !animation )
-	{
-		bool ret = rend;
-		rend = 0;
-		return ret;
-	}
-	this->tickVal += tickVal * 400;
-	int val = ( int )this->tickVal;
-	if( val < 1 )
-	{
-		bool ret = rend;
-		rend = 0;
-		return ret;
-	}
-	if( val > 14 )
-		val = 14;
-	this->tickVal -= val;
-	switch( animation )
-	{
-	case 1: // maximieren
-		if( fenster->getX() > bildschirmGröße.x - 250 )
-		{
-			fenster->setPosition( fenster->getX() - val, fenster->getY() );
-			minMax->setPosition( minMax->getX() + val, minMax->getY() );
-			if( fenster->getX() < bildschirmGröße.x - 250 )
-			{
-				fenster->setPosition( bildschirmGröße.x - 250, fenster->getY() );
-				minMax->setPosition( 229, minMax->getY() );
+    if( !animation )
+    {
+        bool ret = rend;
+        rend = 0;
+        return ret;
+    }
+    this->tickVal += tickVal * 400;
+    int val = (int)this->tickVal;
+    if( val < 1 )
+    {
+        bool ret = rend;
+        rend = 0;
+        return ret;
+    }
+    if( val > 14 )
+        val = 14;
+    this->tickVal -= val;
+    switch( animation )
+    {
+    case 1: // maximieren
+        if( fenster->getX() > bildschirmGröße.x - 250 )
+        {
+            fenster->setPosition( fenster->getX() - val, fenster->getY() );
+            minMax->setPosition( minMax->getX() + val, minMax->getY() );
+            if( fenster->getX() < bildschirmGröße.x - 250 )
+            {
+                fenster->setPosition( bildschirmGröße.x - 250, fenster->getY() );
+                minMax->setPosition( 229, minMax->getY() );
             }
             rend = 1;
-		}
-		else if( fenster->getHeight() < bildschirmGröße.y - 100 )
-		{
-			fenster->setSize( fenster->getBreite(), fenster->getHeight() + val );
-			if( fenster->getHeight() >= bildschirmGröße.y - 100 )
-			{
-				fenster->setSize( fenster->getBreite(), bildschirmGröße.y - 100 );
-				animation = 0;
+        }
+        else if( fenster->getHeight() < bildschirmGröße.y - 100 )
+        {
+            fenster->setSize( fenster->getBreite(), fenster->getHeight() + val );
+            if( fenster->getHeight() >= bildschirmGröße.y - 100 )
+            {
+                fenster->setSize( fenster->getBreite(), bildschirmGröße.y - 100 );
+                animation = 0;
             }
             rend = 1;
-		}
-		break;
-	case 2: // minimieren
-		if( fenster->getHeight() > 22 )
-		{
-			fenster->setSize( fenster->getBreite(), fenster->getHeight() - val );
-			if( fenster->getHeight() < 22 )
+        }
+        break;
+    case 2: // minimieren
+        if( fenster->getHeight() > 22 )
+        {
+            fenster->setSize( fenster->getBreite(), fenster->getHeight() - val );
+            if( fenster->getHeight() < 22 )
                 fenster->setSize( fenster->getBreite(), 22 );
             rend = 1;
-		}
-		else if( fenster->getX() < bildschirmGröße.x - 21 )
-		{
-			minMax->setPosition( minMax->getX() - val, minMax->getY() );
-			fenster->setPosition( fenster->getX() + val, fenster->getY() );
-			if( fenster->getX() >= bildschirmGröße.x - 21 )
-			{
-				minMax->setPosition( 1, minMax->getY() );
-				fenster->setPosition( bildschirmGröße.x - 21, fenster->getY() );
-				animation = 0;
+        }
+        else if( fenster->getX() < bildschirmGröße.x - 21 )
+        {
+            minMax->setPosition( minMax->getX() - val, minMax->getY() );
+            fenster->setPosition( fenster->getX() + val, fenster->getY() );
+            if( fenster->getX() >= bildschirmGröße.x - 21 )
+            {
+                minMax->setPosition( 1, minMax->getY() );
+                fenster->setPosition( bildschirmGröße.x - 21, fenster->getY() );
+                animation = 0;
             }
             rend = 1;
-		}
-		break;
-	}
-	bool ret = rend;
-	rend = 0;
-	return ret;
+        }
+        break;
+    }
+    bool ret = rend;
+    rend = 0;
+    return ret;
 }
 
 // contant
@@ -898,20 +898,20 @@ Schrift *NachrichtenListe::zSchrift() const
 // Reference Counting
 NachrichtenListe *NachrichtenListe::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 NachrichtenListe *NachrichtenListe::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 // Nachrichten
 bool NachrichtenListeMinMaxME( void *p, void *obj, MausEreignis me )
 {
-	return ( (NachrichtenListe*)p )->druckMinMax( me );
+    return ( (NachrichtenListe *)p )->druckMinMax( me );
 }

+ 17 - 18
KSGClient/NachLogin/Editor/Karte/Beschreibung/KEBVorschau.cpp

@@ -7,12 +7,12 @@ void kEBVorschauKSGSAktion( void *p, RCArray< KSGSVariable > *parameter, KSGSVar
 {
     if( !p )
         return;
-    ( (KEBVorschauKarteScript*)p )->ksgsAktion( parameter, retVal );
+    ( (KEBVorschauKarteScript *)p )->ksgsAktion( parameter, retVal );
 }
 
 // Inhalt der KEBVorschauKarteScript Klasse aus KEBVorschau.h
 // Konstruktor
-KEBVorschauKarteScript::KEBVorschauKarteScript( Schrift *zSchrift, TextFeld *zLog )
+KEBVorschauKarteScript::KEBVorschauKarteScript( Schrift * zSchrift, TextFeld * zLog )
     : Thread()
 {
     ksgs = dllDateien->ladeDLL( "KSGScript.dll", "data/bin/KSGScript.dll" );
@@ -26,14 +26,14 @@ KEBVorschauKarteScript::KEBVorschauKarteScript( Schrift *zSchrift, TextFeld *zLo
             fenster->setSize( 578, 428 );
             fenster->setRückrufParam( this );
             fenster->setRückrufFunktion( kEBVorschauKSGSAktion );
-            fenster->setLog( zLog->getThis() );
+            fenster->setLog( (TextFeld *)zLog->getThis() );
         }
         else
         {
             fenster = 0;
             nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
                                                           new Text( "Der Einstiegspunkt '" KSGS_START_FUNKTION "' in der DLL-Datei "
-                                                                    "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
+                                                          "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
                                                           new Text( "Ok" ), 0 );
         }
     }
@@ -124,11 +124,10 @@ void KEBVorschauKarteScript::ladeKarteSeite( char *pfad )
     start();
 }
 
-void KEBVorschauKarteScript::ksgsAktion( RCArray< KSGSVariable > *parameter, KSGSVariable **retVal )
-{
-}
+void KEBVorschauKarteScript::ksgsAktion( RCArray< KSGSVariable > * parameter, KSGSVariable * *retVal )
+{}
 
-void KEBVorschauKarteScript::doMausEreignis( MausEreignis &me )
+void KEBVorschauKarteScript::doMausEreignis( MausEreignis & me )
 {
     me.mx -= pos.x;
     me.my -= pos.y;
@@ -138,7 +137,7 @@ void KEBVorschauKarteScript::doMausEreignis( MausEreignis &me )
     me.my += pos.y;
 }
 
-void KEBVorschauKarteScript::doTastaturEreignis( TastaturEreignis &te )
+void KEBVorschauKarteScript::doTastaturEreignis( TastaturEreignis & te )
 {
     if( fenster )
         fenster->doTastaturEreignis( te );
@@ -155,7 +154,7 @@ bool KEBVorschauKarteScript::tick( double zeit )
             alpha -= (unsigned char)( zeit * 150 );
         rend = 1;
     }
-    if( sichtbar && alpha < 255 )
+    if( sichtbar &&alpha < 255 )
     {
         if( alpha + zeit * 150 > 255 )
             alpha = 255;
@@ -166,7 +165,7 @@ bool KEBVorschauKarteScript::tick( double zeit )
     return rend;
 }
 
-void KEBVorschauKarteScript::render( Bild &zRObj )
+void KEBVorschauKarteScript::render( Bild & zRObj )
 {
     if( !zRObj.setDrawOptions( pos.x, pos.y, ram->getBreite(), ram->getHeight() ) )
         return;
@@ -179,7 +178,7 @@ void KEBVorschauKarteScript::render( Bild &zRObj )
 }
 
 // Reference Counting
-KEBVorschauKarteScript *KEBVorschauKarteScript::getThis()
+KEBVorschauKarteScript * KEBVorschauKarteScript::getThis()
 {
     ref++;
     return this;
@@ -196,7 +195,7 @@ KEBVorschauKarteScript *KEBVorschauKarteScript::release()
 
 // Inhalt der KEBVorschau Klasse aus KEBVorschau.h
 // Konstruktor
-KEBVorschau::KEBVorschau( Schrift *zSchrift )
+KEBVorschau::KEBVorschau( Schrift * zSchrift )
 {
     this->schrift = zSchrift->getThis();
     neu = initKnopf( 10, 10, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Neu starten" );
@@ -262,18 +261,18 @@ void KEBVorschau::setSichtbar( bool sicht )
     sichtbar = sicht;
 }
 
-void KEBVorschau::doMausEreignis( MausEreignis &me )
+void KEBVorschau::doMausEreignis( MausEreignis & me )
 {
     if( !sichtbar )
         return;
     script->doMausEreignis( me );
     bool mev = me.verarbeitet;
     neu->doMausEreignis( me );
-    if( !mev && me.verarbeitet && me.id == ME_RLinks )
+    if( !mev && me.verarbeitet &&me.id == ME_RLinks )
         script->ladeKarteSeite( "data/tmp/ke/kbv" );
     mev = me.verarbeitet;
     beenden->doMausEreignis( me );
-    if( !mev && me.verarbeitet && me.id == ME_RLinks )
+    if( !mev && me.verarbeitet &&me.id == ME_RLinks )
         aktion = 1;
     log->doMausEreignis( me );
     bool eu = 0;
@@ -283,7 +282,7 @@ void KEBVorschau::doMausEreignis( MausEreignis &me )
         script->setErlaubt( erlaubt->hatStyle( KontrollKnopf::Style::Selected ) );
 }
 
-void KEBVorschau::doTastaturEreignis( TastaturEreignis &te )
+void KEBVorschau::doTastaturEreignis( TastaturEreignis & te )
 {
     if( !sichtbar )
         return;
@@ -322,7 +321,7 @@ bool KEBVorschau::tick( double zeit )
     return ret;
 }
 
-void KEBVorschau::render( Bild &zRObj )
+void KEBVorschau::render( Bild & zRObj )
 {
     zRObj.setAlpha( alpha );
     script->render( zRObj );

+ 58 - 58
KSGClient/NachLogin/Editor/Karte/Dateien/KEDEditor.cpp

@@ -12,8 +12,8 @@ KEDBildSeite::KEDBildSeite( Schrift *zSchrift, Knopf *zNeueDatei, Knopf *zDateiR
     bildObj = initBildZ( 430, 10, 440, 440, BildZ::Style::normal | BildZ::Style::Alpha, 0 );
     bildLöschen = initKnopf( 430, 460, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Bild Löschen" );
     importieren = initKnopf( 430, 490, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Importieren" );
-    dateiLöschen = zDateiRemove->getThis();
-    neueDatei = zNeueDatei->getThis();
+    dateiLöschen = (Knopf *)zDateiRemove->getThis();
+    neueDatei = (Knopf *)zNeueDatei->getThis();
     importDialog = 0;
     importPfad = 0;
     aktion = 0;
@@ -47,7 +47,7 @@ int KEDBildSeite::getAktion()
     return ret;
 }
 
-void KEDBildSeite::setBildListe( RCArray< Text > *list )
+void KEDBildSeite::setBildListe( RCArray< Text > * list )
 {
     hauptScreen->lock();
     Text txt = bilder->zEintrag( bilder->getAuswahl() ) ? bilder->zEintrag( bilder->getAuswahl() )->zText()->getText() : "";
@@ -69,7 +69,7 @@ void KEDBildSeite::setBildListe( RCArray< Text > *list )
     hauptScreen->unlock();
 }
 
-void KEDBildSeite::setBild( Bild *b )
+void KEDBildSeite::setBild( Bild * b )
 {
     hauptScreen->lock();
     bildObj->setBild( b );
@@ -91,7 +91,7 @@ bool KEDBildSeite::tick( double tv )
                 importPfad->release();
             importPfad = importDialog->getPfad();
             importDialog = importDialog->release();
-            if( sichtbar && importPfad )
+            if( sichtbar &&importPfad )
                 aktion = 3;
         }
     }
@@ -142,7 +142,7 @@ bool KEDBildSeite::tick( double tv )
     return ret;
 }
 
-void KEDBildSeite::doMausEreignis( MausEreignis &me )
+void KEDBildSeite::doMausEreignis( MausEreignis & me )
 {
     if( !sichtbar )
         return;
@@ -157,11 +157,11 @@ void KEDBildSeite::doMausEreignis( MausEreignis &me )
     }
     bool vera = me.verarbeitet;
     dateiLöschen->doMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    if( !vera && me.verarbeitet &&me.id == ME_RLinks )
         aktion = 4;
     vera = me.verarbeitet;
     neueDatei->doMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    if( !vera && me.verarbeitet &&me.id == ME_RLinks )
         aktion = 5;
     vera = me.verarbeitet;
     importieren->doMausEreignis( me );
@@ -184,11 +184,11 @@ void KEDBildSeite::doMausEreignis( MausEreignis &me )
     bildObj->doMausEreignis( me );
     vera = me.verarbeitet;
     bildLöschen->doMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    if( !vera && me.verarbeitet &&me.id == ME_RLinks )
         aktion = 2;
 }
 
-void KEDBildSeite::render( Bild &zRObj )
+void KEDBildSeite::render( Bild & zRObj )
 {
     if( !alpha )
         return;
@@ -238,16 +238,16 @@ KEDBildSeite *KEDBildSeite::release()
 bool kEDEditorNeuModelOkME( void *p, void *obj, MausEreignis me )
 {
     if( p )
-        return ( (KEDModellSeite*)p )->neuModelOkME( me );
+        return ( (KEDModellSeite *)p )->neuModelOkME( me );
     else if( me.id == ME_RLinks )
-        ( (Fenster*)obj )->removeStyle( Fenster::Style::Sichtbar );
+        ( (Fenster *)obj )->removeStyle( Fenster::Style::Sichtbar );
     return 1;
 }
 
 
 // Inhalt der KEDModellSeite Klasse aus KEDEditor.h
 // Konstruktor
-KEDModellSeite::KEDModellSeite( Schrift *zSchrift, Knopf *zNeueDatei, Knopf *zDateiRemove, AuswahlListe *datL )
+KEDModellSeite::KEDModellSeite( Schrift * zSchrift, Knopf * zNeueDatei, Knopf * zDateiRemove, AuswahlListe * datL )
 {
     dateien = datL;
     modelle = initAuswahlListe( 220, 10, 200, 510, zSchrift, AuswahlListe::Style::Normal, {} );
@@ -263,12 +263,12 @@ KEDModellSeite::KEDModellSeite( Schrift *zSchrift, Knopf *zNeueDatei, Knopf *zDa
     modelLöschen = initKnopf( 430, 460, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Modell2D Löschen" );
     neuesModel = initKnopf( 430, 490, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Neues Modell2D" );
     bearbeiten = initKnopf( 550, 490, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Bearbeiten" );
-    dateiLöschen = zDateiRemove->getThis();
-    neueDatei = zNeueDatei->getThis();
+    dateiLöschen = (Knopf *)zDateiRemove->getThis();
+    neueDatei = (Knopf *)zNeueDatei->getThis();
     editor = new Model2DEditor::GUI( zSchrift );
     neuModelF = initFenster( 365, 160, 150, 90, zSchrift, Fenster::Style::Erlaubt | Fenster::Style::BodyHintergrund | Fenster::Style::BodyHAlpha |
-                                                                          Fenster::Style::Rahmen | Fenster::Style::Closable | Fenster::Style::ClosingKlickBuffer | Fenster::Style::ClosingHintergrund |
-                                                                          Fenster::Style::ClosingHAlpha | Fenster::Style::Titel | Fenster::Style::TitelHintergrund | Fenster::Style::TitelHAlpha | Fenster::Style::TitelBuffered, "Neues Modell" );
+                             Fenster::Style::Rahmen | Fenster::Style::Closable | Fenster::Style::ClosingKlickBuffer | Fenster::Style::ClosingHintergrund |
+                             Fenster::Style::ClosingHAlpha | Fenster::Style::Titel | Fenster::Style::TitelHintergrund | Fenster::Style::TitelHAlpha | Fenster::Style::TitelBuffered, "Neues Modell" );
     neuModelF->setKBgFarbe( 0xC0000000 );
     neuModelF->setSBgFarbe( 0xC0000000 );
     neuModelF->setTBgFarbe( 0xC0000000 );
@@ -313,7 +313,7 @@ int KEDModellSeite::getAktion()
     return ret;
 }
 
-bool KEDModellSeite::neuModelOkME( MausEreignis &me )
+bool KEDModellSeite::neuModelOkME( MausEreignis & me )
 {
     if( me.id == ME_RLinks )
     {
@@ -323,7 +323,7 @@ bool KEDModellSeite::neuModelOkME( MausEreignis &me )
     return 1;
 }
 
-void KEDModellSeite::setModelListe( RCArray< Text > *list )
+void KEDModellSeite::setModelListe( RCArray< Text > * list )
 {
     hauptScreen->lock();
     Text txt = modelle->zEintrag( modelle->getAuswahl() ) ? modelle->zEintrag( modelle->getAuswahl() )->zText()->getText() : "";
@@ -345,7 +345,7 @@ void KEDModellSeite::setModelListe( RCArray< Text > *list )
     hauptScreen->unlock();
 }
 
-void KEDModellSeite::setModel( Model2DData *mdl )
+void KEDModellSeite::setModel( Model2DData * mdl )
 {
     modelObj->setModel2D( mdl->getThis() );
     editor->setModel( mdl );
@@ -428,7 +428,7 @@ bool KEDModellSeite::tick( double tv )
             alpha3 -= val;
         ret = 1;
     }
-    if( sichtbar && neuModelF->hatStyleNicht( Fenster::Style::Sichtbar ) && alpha3 < 255 )
+    if( sichtbar &&neuModelF->hatStyleNicht( Fenster::Style::Sichtbar ) && alpha3 < 255 )
     {
         if( alpha3 + val > 255 )
             alpha3 = 255;
@@ -439,7 +439,7 @@ bool KEDModellSeite::tick( double tv )
     return ret;
 }
 
-void KEDModellSeite::doMausEreignis( MausEreignis &me )
+void KEDModellSeite::doMausEreignis( MausEreignis & me )
 {
     if( !sichtbar )
         return;
@@ -459,21 +459,21 @@ void KEDModellSeite::doMausEreignis( MausEreignis &me )
     }
     bool vera = me.verarbeitet;
     dateiLöschen->doMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    if( !vera && me.verarbeitet &&me.id == ME_RLinks )
         aktion = 5;
     vera = me.verarbeitet;
     neueDatei->doMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    if( !vera && me.verarbeitet &&me.id == ME_RLinks )
         aktion = 6;
     vera = me.verarbeitet;
     neuesModel->doMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    if( !vera && me.verarbeitet &&me.id == ME_RLinks )
         neuModelF->addStyle( Fenster::Style::Sichtbar );
     vera = me.verarbeitet;
     if( modelle->getAuswahl() < 0 )
         return;
     bearbeiten->doMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    if( !vera && me.verarbeitet &&me.id == ME_RLinks )
     {
         editor->setSichtbar( 1 );
         modelObj->removeStyle( Model2D::Style::Sichtbar );
@@ -489,11 +489,11 @@ void KEDModellSeite::doMausEreignis( MausEreignis &me )
     editor->doMausEreignis( me );
     vera = me.verarbeitet;
     modelLöschen->doMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    if( !vera && me.verarbeitet &&me.id == ME_RLinks )
         aktion = 2;
 }
 
-void KEDModellSeite::doTastaturEreignis( TastaturEreignis &te )
+void KEDModellSeite::doTastaturEreignis( TastaturEreignis & te )
 {
     if( neuModelF->hatStyle( Fenster::Style::Sichtbar ) )
     {
@@ -503,7 +503,7 @@ void KEDModellSeite::doTastaturEreignis( TastaturEreignis &te )
     editor->doTastaturEreignis( te );
 }
 
-void KEDModellSeite::render( Bild &zRObj )
+void KEDModellSeite::render( Bild & zRObj )
 {
     if( !alpha )
         return;
@@ -565,15 +565,15 @@ KEDModellSeite *KEDModellSeite::release()
 
 // Inhalt der KEDSoundSeite Klasse aus KEDEditor.h
 // Konstruktor
-KEDSoundSeite::KEDSoundSeite( Schrift *zSchrift, Knopf *zNeueDatei, Knopf *zDateiRemove )
+KEDSoundSeite::KEDSoundSeite( Schrift * zSchrift, Knopf * zNeueDatei, Knopf * zDateiRemove )
 {
     dllDateien->ladeDLL( "GSL.dll", "data/bin/GSL.dll" );
     sounds = initAuswahlListe( 220, 10, 200, 510, zSchrift, AuswahlListe::Style::Normal, {} );
     play = initKnopf( 430, 430, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Play" );
     soundLöschen = initKnopf( 430, 460, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Bild Löschen" );
     importieren = initKnopf( 430, 490, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Importieren" );
-    dateiLöschen = zDateiRemove->getThis();
-    neueDatei = zNeueDatei->getThis();
+    dateiLöschen = (Knopf *)zDateiRemove->getThis();
+    neueDatei = (Knopf *)zNeueDatei->getThis();
     importDialog = 0;
     importPfad = 0;
     aktion = 0;
@@ -614,7 +614,7 @@ int KEDSoundSeite::getAktion()
     return ret;
 }
 
-void KEDSoundSeite::setSoundListe( RCArray< Text > *list )
+void KEDSoundSeite::setSoundListe( RCArray< Text > * list )
 {
     hauptScreen->lock();
     Text txt = sounds->zEintrag( sounds->getAuswahl() ) ? sounds->zEintrag( sounds->getAuswahl() )->zText()->getText() : "";
@@ -636,7 +636,7 @@ void KEDSoundSeite::setSoundListe( RCArray< Text > *list )
     hauptScreen->unlock();
 }
 
-void KEDSoundSeite::setSound( GSL::GSLSoundV *b )
+void KEDSoundSeite::setSound( GSL::GSLSoundV * b )
 {
     if( sound )
     {
@@ -662,7 +662,7 @@ bool KEDSoundSeite::tick( double tv )
                 importPfad->release();
             importPfad = importDialog->getPfad();
             importDialog = importDialog->release();
-            if( sichtbar && importPfad )
+            if( sichtbar &&importPfad )
                 aktion = 3;
         }
     }
@@ -713,7 +713,7 @@ bool KEDSoundSeite::tick( double tv )
     return ret;
 }
 
-void KEDSoundSeite::doMausEreignis( MausEreignis &me )
+void KEDSoundSeite::doMausEreignis( MausEreignis & me )
 {
     if( !sichtbar )
         return;
@@ -731,11 +731,11 @@ void KEDSoundSeite::doMausEreignis( MausEreignis &me )
     }
     bool vera = me.verarbeitet;
     dateiLöschen->doMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    if( !vera && me.verarbeitet &&me.id == ME_RLinks )
         aktion = 4;
     vera = me.verarbeitet;
     neueDatei->doMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    if( !vera && me.verarbeitet &&me.id == ME_RLinks )
         aktion = 5;
     vera = me.verarbeitet;
     importieren->doMausEreignis( me );
@@ -755,7 +755,7 @@ void KEDSoundSeite::doMausEreignis( MausEreignis &me )
         return;
     vera = me.verarbeitet;
     play->doMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    if( !vera && me.verarbeitet &&me.id == ME_RLinks )
     {
         if( sound )
             sound->stopSound();
@@ -763,11 +763,11 @@ void KEDSoundSeite::doMausEreignis( MausEreignis &me )
     }
     vera = me.verarbeitet;
     soundLöschen->doMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    if( !vera && me.verarbeitet &&me.id == ME_RLinks )
         aktion = 2;
 }
 
-void KEDSoundSeite::render( Bild &zRObj )
+void KEDSoundSeite::render( Bild & zRObj )
 {
     if( !alpha )
         return;
@@ -817,22 +817,22 @@ KEDSoundSeite *KEDSoundSeite::release()
 bool kEDEditorNeuDateiOkME( void *p, void *obj, MausEreignis me )
 {
     if( p )
-        return ( (KEDEditor*)p )->neuDateiOkME( me );
+        return ( (KEDEditor *)p )->neuDateiOkME( me );
     else if( me.id == ME_RLinks )
-        ( (Fenster*)obj )->removeStyle( Fenster::Style::Sichtbar );
+        ( (Fenster *)obj )->removeStyle( Fenster::Style::Sichtbar );
     return 1;
 }
 
 
 // Inhalt der KEDEditor Klasse aus KEDEditor.h
 // Konstruktor
-KEDEditor::KEDEditor( Schrift *zSchrift )
+KEDEditor::KEDEditor( Schrift * zSchrift )
 {
     neueDatei = initKnopf( 0, 0, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Neue Datei" );
     dateiLöschen = initKnopf( 0, 0, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Datei Löschen" );
     dateien = initAuswahlListe( 10, 10, 200, 510, zSchrift, AuswahlListe::Style::Normal, {} );
     bildSeite = new KEDBildSeite( zSchrift, neueDatei, dateiLöschen );
-    modelSeite = new KEDModellSeite( zSchrift, neueDatei, dateiLöschen, dateien->getThis() );
+    modelSeite = new KEDModellSeite( zSchrift, neueDatei, dateiLöschen, (AuswahlListe *)dateien->getThis() );
     soundSeite = new KEDSoundSeite( zSchrift, neueDatei, dateiLöschen );
     neuDateiF = initFenster( 365, 145, 150, 120, zSchrift, Fenster::Style::Erlaubt | Fenster::Style::BodyHintergrund | Fenster::Style::BodyHAlpha |
                              Fenster::Style::Rahmen | Fenster::Style::Closable | Fenster::Style::ClosingKlickBuffer | Fenster::Style::ClosingHintergrund |
@@ -880,7 +880,7 @@ int KEDEditor::getAktion()
     return ret;
 }
 
-bool KEDEditor::neuDateiOkME( MausEreignis &me )
+bool KEDEditor::neuDateiOkME( MausEreignis & me )
 {
     if( me.id == ME_RLinks )
     {
@@ -890,7 +890,7 @@ bool KEDEditor::neuDateiOkME( MausEreignis &me )
     return 1;
 }
 
-void KEDEditor::setDateiListe( RCArray< Text > *list )
+void KEDEditor::setDateiListe( RCArray< Text > * list )
 {
     hauptScreen->lock();
     dateien->deSelect();
@@ -907,7 +907,7 @@ void KEDEditor::setDateiListe( RCArray< Text > *list )
     hauptScreen->unlock();
 }
 
-void KEDEditor::setBildListe( RCArray< Text > *list )
+void KEDEditor::setBildListe( RCArray< Text > * list )
 {
     soundSeite->setSichtbar( 0 );
     modelSeite->setSichtbar( 0 );
@@ -915,7 +915,7 @@ void KEDEditor::setBildListe( RCArray< Text > *list )
     bildSeite->setSichtbar( 1 );
 }
 
-void KEDEditor::setSoundListe( RCArray< Text > *list )
+void KEDEditor::setSoundListe( RCArray< Text > * list )
 {
     modelSeite->setSichtbar( 0 );
     bildSeite->setSichtbar( 0 );
@@ -923,7 +923,7 @@ void KEDEditor::setSoundListe( RCArray< Text > *list )
     soundSeite->setSichtbar( 1 );
 }
 
-void KEDEditor::setModel2dListe( RCArray< Text > *list )
+void KEDEditor::setModel2dListe( RCArray< Text > * list )
 {
     bildSeite->setSichtbar( 0 );
     soundSeite->setSichtbar( 0 );
@@ -931,17 +931,17 @@ void KEDEditor::setModel2dListe( RCArray< Text > *list )
     modelSeite->setSichtbar( 1 );
 }
 
-void KEDEditor::setBild( Bild *b )
+void KEDEditor::setBild( Bild * b )
 {
     bildSeite->setBild( b );
 }
 
-void KEDEditor::setSound( GSL::GSLSoundV *s )
+void KEDEditor::setSound( GSL::GSLSoundV * s )
 {
     soundSeite->setSound( s );
 }
 
-void KEDEditor::setModel2d( Model2DData *d )
+void KEDEditor::setModel2d( Model2DData * d )
 {
     modelSeite->setModel( d );
 }
@@ -1068,7 +1068,7 @@ bool KEDEditor::tick( double tv )
     return ret;
 }
 
-void KEDEditor::doMausEreignis( MausEreignis &me )
+void KEDEditor::doMausEreignis( MausEreignis & me )
 {
     if( !sichtbar )
         return;
@@ -1093,19 +1093,19 @@ void KEDEditor::doMausEreignis( MausEreignis &me )
     {
         bool vera = me.verarbeitet;
         neueDatei->doMausEreignis( me );
-        if( !vera && me.verarbeitet && me.id == ME_RLinks )
+        if( !vera && me.verarbeitet &&me.id == ME_RLinks )
             neuDateiF->addStyle( Fenster::Style::Sichtbar );
         if( dateien->getEintragAnzahl() > 0 && dateien->zEintrag( 0 )->zText()->istGleich( ".." ) )
         {
             vera = me.verarbeitet;
             dateiLöschen->doMausEreignis( me );
-            if( !vera && me.verarbeitet && me.id == ME_RLinks )
+            if( !vera && me.verarbeitet &&me.id == ME_RLinks )
                 aktion = 3;
         }
     }
 }
 
-void KEDEditor::doTastaturEreignis( TastaturEreignis &te )
+void KEDEditor::doTastaturEreignis( TastaturEreignis & te )
 {
     if( neuDateiF->hatStyle( Fenster::Style::Sichtbar ) )
     {
@@ -1115,7 +1115,7 @@ void KEDEditor::doTastaturEreignis( TastaturEreignis &te )
     modelSeite->doTastaturEreignis( te );
 }
 
-void KEDEditor::render( Bild &zRObj )
+void KEDEditor::render( Bild & zRObj )
 {
     zRObj.setAlpha( alpha );
     zRObj.setAlpha( alpha2 );

+ 53 - 54
KSGClient/NachLogin/Editor/Karte/Dateien/KEDModel2DEditor.cpp

@@ -112,7 +112,7 @@ VertexData *VertexData::release()
 
 // Inhalt der PolygonData Klasse aus KEDModel2DEditor.h
 // Konstruktor
-PolygonData::PolygonData( Polygon2D &pg )
+PolygonData::PolygonData( Polygon2D & pg )
 {
     name = pg.name->getText();
     vd = new RCArray< VertexData >();
@@ -126,7 +126,7 @@ PolygonData::PolygonData( Polygon2D &pg )
         Vertex t( 0, 0 );
         if( pg.vertex->hat( i ) )
             v = pg.vertex->get( i );
-        if( pg.tKordinaten && pg.tKordinaten->hat( i ) )
+        if( pg.tKordinaten &&pg.tKordinaten->hat( i ) )
             t = pg.tKordinaten->get( i );
         vd->add( new VertexData( v, t ) );
     }
@@ -215,7 +215,7 @@ int PolygonData::getVertexAnzahl() const
     return vd->getEintragAnzahl();
 }
 
-void PolygonData::getM2( Polygon2D &pd, bool textur ) const
+void PolygonData::getM2( Polygon2D & pd, bool textur ) const
 {
     int anz = vd->getEintragAnzahl();
     if( !pd.name )
@@ -255,7 +255,7 @@ PolygonData *PolygonData::release()
 
 // Inhalt der Data Klasse aus KEDModel2DEditor.h
 // Konstruktor
-Data::Data( Model2DData *mdl )
+Data::Data( Model2DData * mdl )
 {
     pd = new RCArray< PolygonData >();
     tPos.x = 0;
@@ -351,7 +351,7 @@ void Data::saveTextur()
         i->saveTextur( tPos, textur->getSize() );
 }
 
-void Data::setTextur( Bild *t )
+void Data::setTextur( Bild * t )
 {
     if( textur )
         textur->release();
@@ -438,7 +438,7 @@ Data *Data::release()
 
 // Inhalt der EditorListe Klasse aus KEDModel2DEditor.h
 // Konstruktor
-EditorListe::EditorListe( Schrift *zSchrift )
+EditorListe::EditorListe( Schrift * zSchrift )
 {
     ram = new LRahmen();
     ram->setRamenBreite( 1 );
@@ -447,6 +447,7 @@ EditorListe::EditorListe( Schrift *zSchrift )
     ram->setPosition( 720, 10 );
     scroll = new VScrollBar();
     schrift = zSchrift->getThis();
+    tr = new TextRenderer( schrift ? schrift->getThis() : 0 );
     pName = initTextFeld( 0, 0, 70, 20, schrift, TextFeld::Style::TextFeld, "" );
     koordF = initFenster( 10, 10, 150, 140, zSchrift, ( Fenster::Style::normal | Fenster::Style::TitelHintergrund | Fenster::Style::BodyHintergrund ) & ~Fenster::Style::Sichtbar, "Koordinaten" );
     koordF->setKBgFarbe( 0xFF000000 );
@@ -461,22 +462,22 @@ EditorListe::EditorListe( Schrift *zSchrift )
     tkx = initTextFeld( 40, 70, 90, 20, zSchrift, TextFeld::Style::TextFeld, "" );
     tky = initTextFeld( 40, 100, 90, 20, zSchrift, TextFeld::Style::TextFeld, "" );
     int *polIP = &polI, *verIP = &verI;
-    TextFeld *kxTmp = kx;
-    TextFeld *kyTmp = ky;
+    TextFeld * kxTmp = kx;
+    TextFeld * kyTmp = ky;
     auto saveK = [ polIP, verIP, kxTmp, kyTmp ]( void *p, void *o, TastaturEreignis te )
     {
-        Data *data = (Data*)p;
-        data->zPolygon( *polIP )->zVertex( *verIP )->setPosition( Vertex( (float)(double)*kxTmp->zText(), (float)(double)*kyTmp->zText() ) );
+        Data *data = (Data *)p;
+        data->zPolygon( *polIP )->zVertex( *verIP )->setPosition( Vertex( (float)(double)* kxTmp->zText(), (float)(double)* kyTmp->zText() ) );
         return 1;
     };
     kx->setNTastaturEreignis( saveK );
     ky->setNTastaturEreignis( saveK );
-    TextFeld *tkxTmp = tkx;
-    TextFeld *tkyTmp = tky;
+    TextFeld * tkxTmp = tkx;
+    TextFeld * tkyTmp = tky;
     auto saveTK = [ polIP, verIP, tkxTmp, tkyTmp ]( void *p, void *o, TastaturEreignis te )
     {
-        Data *data = (Data*)p;
-        data->zPolygon( *polIP )->zVertex( *verIP )->setTextur( Vertex( (float)(double)*tkxTmp->zText(), (float)(double)*tkyTmp->zText() ) );
+        Data *data = (Data *)p;
+        data->zPolygon( *polIP )->zVertex( *verIP )->setTextur( Vertex( (float)(double)* tkxTmp->zText(), (float)(double)* tkyTmp->zText() ) );
         return 1;
     };
     tkx->setNTastaturEreignis( saveTK );
@@ -513,17 +514,18 @@ EditorListe::~EditorListe()
     tkyT->release();
     tkx->release();
     tky->release();
+    tr->release();
 }
 
 // nicht constant
-void EditorListe::setDataZ( Data *d )
+void EditorListe::setDataZ( Data * d )
 {
     if( data )
         data->release();
     data = d;
 }
 
-void EditorListe::doMausEreignis( MausEreignis &me )
+void EditorListe::doMausEreignis( MausEreignis & me )
 {
     koordF->doMausEreignis( me );
     me.mx -= ram->getX();
@@ -564,7 +566,7 @@ void EditorListe::doMausEreignis( MausEreignis &me )
                 data->zPolygon( i )->setTransparent( !data->zPolygon( i )->istTransparent() );
                 rend = 1;
             }
-            else if( me.mx > 0 && me.my > y && me.mx < 133 && me.my < y + 20 )
+            else if( me.mx > 0 && me.my > y &&me.mx < 133 && me.my < y + 20 )
             { // Polygon Auswählen und Abwählen
                 if( data->getSelectedPolygon() != i )
                     data->selectPolygon( i );
@@ -572,7 +574,7 @@ void EditorListe::doMausEreignis( MausEreignis &me )
                     data->selectPolygon( -1 );
                 rend = 1;
             }
-            PolygonData *pd = data->zPolygon( i );
+            PolygonData * pd = data->zPolygon( i );
             if( pd && ausgeklappt.hat( i ) && ausgeklappt.get( i ) )
             {
                 int vAnz = pd->getVertexAnzahl();
@@ -605,7 +607,7 @@ void EditorListe::doMausEreignis( MausEreignis &me )
                         ky->setText( Text() += pd->zVertex( j )->getPos().y );
                         koordF->addStyle( Fenster::Style::Sichtbar );
                     }
-                    else if( me.my > y && me.my < y + 20 && me.mx > 0 && me.mx < 133 )
+                    else if( me.my > y &&me.my < y + 20 && me.mx > 0 && me.mx < 133 )
                     { // Auswählen und Abwählen
                         pd->zVertex( j )->setAuswahl( !pd->zVertex( j )->istAusgewählt() );
                         rend = 1;
@@ -620,24 +622,24 @@ void EditorListe::doMausEreignis( MausEreignis &me )
     me.my += ram->getY();
 }
 
-void EditorListe::doTastaturEreignis( TastaturEreignis &te )
+void EditorListe::doTastaturEreignis( TastaturEreignis & te )
 {
     koordF->doTastaturEreignis( te );
-    if( data && data->getSelectedPolygon() >= 0 )
+    if( data &&data->getSelectedPolygon() >= 0 )
         pName->doTastaturEreignis( te );
 }
 
 bool EditorListe::tick( double zeit )
 {
     rend |= koordF->tick( zeit );
-    if( data && data->getSelectedPolygon() >= 0 )
+    if( data &&data->getSelectedPolygon() >= 0 )
         rend |= pName->tick( zeit );
     bool ret = rend;
     rend = 0;
     return ret;
 }
 
-void EditorListe::render( Bild &zRObj )
+void EditorListe::render( Bild & zRObj )
 {
     ram->render( zRObj );
     if( !zRObj.setDrawOptions( ram->getPosition() + Punkt( 1, 1 ), ram->getSize() - Punkt( 2, 2 ) ) )
@@ -646,8 +648,7 @@ void EditorListe::render( Bild &zRObj )
     int pAnz = data->getPolygonAnzahl();
     int y = -scroll->getScroll();
     int maxH = 0;
-    schrift->lock();
-    schrift->setSchriftSize( 12 );
+    tr->setSchriftSize( 12 );
     Text name;
     for( int i = 0; i < pAnz; i++ )
     {
@@ -656,9 +657,10 @@ void EditorListe::render( Bild &zRObj )
             pName->setPosition( 20, y );
             pName->setText( data->zPolygon( data->getSelectedPolygon() )->getName() );
             Data *tmpData = data;
-            pName->setNTastaturEreignis( [ tmpData  ]( void *p, void *o, TastaturEreignis te ) -> bool {
+            pName->setNTastaturEreignis( [ tmpData ]( void *p, void *o, TastaturEreignis te ) -> bool
+            {
                 if( tmpData->getSelectedPolygon() >= 0 )
-                    tmpData->zPolygon( tmpData->getSelectedPolygon() )->setName( ( (TextFeld*)o )->zText()->getText() );
+                    tmpData->zPolygon( tmpData->getSelectedPolygon() )->setName( ( (TextFeld *)o )->zText()->getText() );
                 return 1;
             } );
             zRObj.fillRegion( 0, y, 133, 20, 0xFF002000 );
@@ -673,8 +675,7 @@ void EditorListe::render( Bild &zRObj )
                 name = "Polygon ";
                 name += i;
             }
-            schrift->setDrawPosition( 20, y + 4 );
-            schrift->renderText( &name, zRObj, 0xFFFFFFFF );
+            tr->renderText( 20, y + 4, name, zRObj, 0xFFFFFFFF );
         }
         zRObj.drawLinie( Punkt( 115, y + 1 ), Punkt( 132, y + 18 ), 0xFFFF0000 );
         zRObj.drawLinie( Punkt( 132, y + 1 ), Punkt( 115, y + 18 ), 0xFFFF0000 );
@@ -690,7 +691,7 @@ void EditorListe::render( Bild &zRObj )
         if( ausgeklappt.hat( i ) && ausgeklappt.get( i ) )
         {
             zRObj.drawDreieck( Punkt( 10, 4 + y ), Punkt( 4, 16 + y ), Punkt( 16, 16 + y ), 0xFFFFFFFF );
-            PolygonData *pd = data->zPolygon( i );
+            PolygonData * pd = data->zPolygon( i );
             if( pd )
             {
                 int vAnz = pd->getVertexAnzahl();
@@ -702,8 +703,7 @@ void EditorListe::render( Bild &zRObj )
                         zRObj.fillRegion( 0, y, 133, 20, 0xFF101010 );
                     name = "  Vertex ";
                     name += j;
-                    schrift->setDrawPosition( 20, y + 4 );
-                    schrift->renderText( &name, zRObj, 0xFFFFFFFF );
+                    tr->renderText( 20, y + 4, name, zRObj, 0xFFFFFFFF );
                     zRObj.drawLinieH( 5, y + 5, 10, 0xFFFFFFFF );
                     zRObj.drawLinieH( 5, y + 10, 10, 0xFFFFFFFF );
                     zRObj.drawLinieH( 5, y + 15, 10, 0xFFFFFFFF );
@@ -730,14 +730,13 @@ void EditorListe::render( Bild &zRObj )
         maxH += 20;
         y += 20;
     }
-    schrift->unlock();
     scroll->update( maxH, ram->getHeight() - 2 );
     zRObj.releaseDrawOptions();
     koordF->render( zRObj );
 }
 
 // Reference Counting
-EditorListe *EditorListe::getThis()
+EditorListe * EditorListe::getThis()
 {
     ref++;
     return this;
@@ -754,7 +753,7 @@ EditorListe *EditorListe::release()
 
 // Inhalt der Editor2D Klasse aus KEDModel2DEditor.h
 // Konstruktor
-Editor2D::Editor2D( Schrift *zSchrift )
+Editor2D::Editor2D( Schrift * zSchrift )
 {
     pos.x = 10;
     pos.y = 10;
@@ -771,6 +770,7 @@ Editor2D::Editor2D( Schrift *zSchrift )
     select->setFarbe( 0xFF5050FF );
     select->setRamenBreite( 1 );
     schrift = zSchrift->getThis();
+    tr = new TextRenderer( schrift->getThis() );
     addV = Vertex( 0, 0 );
     mausIn = 0;
     größe = 1;
@@ -783,19 +783,20 @@ Editor2D::~Editor2D()
     ram->release();
     select->release();
     schrift->release();
+    tr->release();
     if( data )
         data->release();
 }
 
 // nicht constant
-void Editor2D::setDataZ( Data *d )
+void Editor2D::setDataZ( Data * d )
 {
     if( data )
         data->release();
     data = d;
 }
 
-void Editor2D::doMausEreignis( MausEreignis &me )
+void Editor2D::doMausEreignis( MausEreignis & me )
 {
     me.mx -= pos.x;
     me.my -= pos.y;
@@ -862,7 +863,7 @@ void Editor2D::doMausEreignis( MausEreignis &me )
     me.my += pos.y;
 }
 
-void Editor2D::doTastaturEreignis( TastaturEreignis &te )
+void Editor2D::doTastaturEreignis( TastaturEreignis & te )
 {
     if( te.id == TE_Release && te.taste == T_Enter && mausIn )
     {
@@ -940,7 +941,7 @@ bool Editor2D::tick( double zeit )
     return ret;
 }
 
-void Editor2D::render( Bild &zRObj )
+void Editor2D::render( Bild & zRObj )
 {
     if( !zRObj.setDrawOptions( pos, ram->getSize() ) )
         return;
@@ -954,7 +955,7 @@ void Editor2D::render( Bild &zRObj )
     {
         Punkt tPos = data->getTPos();
         zRObj.alphaBildSkall( (int)( ( tPos.x - offs.x ) * größe ), (int)( ( tPos.y - offs.y ) * größe ),
-                              (int)( data->zTextur()->getBreite() * größe ), (int)( data->zTextur()->getHeight() * größe ), *data->zTextur() );
+            (int)( data->zTextur()->getBreite() * größe ), (int)( data->zTextur()->getHeight() * größe ), *data->zTextur() );
     }
     // Raster mahlen
     int xanz = (int)( ram->getBreite() / ( 50 * größe ) );
@@ -972,15 +973,13 @@ void Editor2D::render( Bild &zRObj )
     for( float x = xStart * größe, y = yStart * größe; !( x > ram->getBreite() && y > ram->getHeight() ); x += 50 * größe, y += 50 * größe )
     {
         zRObj.drawLinieH( 0, (int)y, ram->getBreite(), 0xFF505050 );
-        zRObj.drawLinieV( (int)x, 0, ram->getHeight() , 0xFF505050 );
+        zRObj.drawLinieV( (int)x, 0, ram->getHeight(), 0xFF505050 );
     }
     Text xPos = "";
     xPos = offs.x + (int)( xStart + 50 * ( xanz / 2 ) );
-    schrift->setDrawPosition( (int)( xStart * größe + 50 * größe * ( xanz / 2 ) ), 0 );
-    schrift->renderText( &xPos, zRObj, 0xFF505050 );
+    tr->renderText( (int)( xStart * größe + 50 * größe * ( xanz / 2 ) ), 0, xPos, zRObj, 0xFF505050 );
     xPos = offs.y + (int)( yStart + 50 * ( yanz / 2 ) );
-    schrift->setDrawPosition( 0, (int)( yStart * größe + 50 * größe * ( yanz / 2 ) ) );
-    schrift->renderText( &xPos, zRObj, 0xFF505050 );
+    tr->renderText( 0, (int)( yStart * größe + 50 * größe * ( yanz / 2 ) ), xPos, zRObj, 0xFF505050 );
     // Model mahlen
     int pAnz = data->getPolygonAnzahl();
     for( int i = 0; i < pAnz; i++ )
@@ -996,7 +995,7 @@ void Editor2D::render( Bild &zRObj )
             for( int j = -1; j < vAnz && vAnz > 0; j++ )
             {
                 VertexData *v = j < 0 ? &tmp : p->zVertex( j );
-                if( l && v )
+                if( l &&v )
                 {
                     if( l->istSichtbar() && v->istSichtbar() )
                         zRObj.drawLinie( ( ( l->getPos() - offs ) * größe ), ( ( v->getPos() - offs ) * größe ), 0xFFA0A0A0 );
@@ -1009,7 +1008,7 @@ void Editor2D::render( Bild &zRObj )
                     continue;
                 }
                 if( j == 0 )
-                    zRObj.fillRegion( (int)( ( l->getPos().x - offs.x ) * größe ) - 5, (int)( ( l->getPos().y - offs.y ) * größe ) - 5, 10, 10, 0xFF50FF50 );
+                    zRObj.fillRegion( (int)( ( l->getPos().x - offs.x ) *größe ) - 5, (int)( ( l->getPos().y - offs.y ) *größe ) - 5, 10, 10, 0xFF50FF50 );
                 else
                 {
                     if( !l->istAusgewählt() )
@@ -1073,7 +1072,7 @@ Editor2D *Editor2D::release()
 
 // Inhalt der GUI Klasse aus KEDModel2DEditor.h
 // Konstruktor
-GUI::GUI( Schrift *zSchrift )
+GUI::GUI( Schrift * zSchrift )
 {
     speichern = initKnopf( 660, 500, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Speichern" );
     abbrechen = initKnopf( 770, 500, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Abbrehen" );
@@ -1113,7 +1112,7 @@ void GUI::setSichtbar( bool s )
     sichtbar = s;
 }
 
-void GUI::setModel( Model2DData *data )
+void GUI::setModel( Model2DData * data )
 {
     if( this->data )
         this->data->release();
@@ -1122,7 +1121,7 @@ void GUI::setModel( Model2DData *data )
     liste->setDataZ( this->data->getThis() );
 }
 
-void GUI::doMausEreignis( MausEreignis &me )
+void GUI::doMausEreignis( MausEreignis & me )
 {
     if( !sichtbar )
         return;
@@ -1145,7 +1144,7 @@ void GUI::doMausEreignis( MausEreignis &me )
     data->setRTextur( textur->hatStyle( KontrollKnopf::Style::Selected ) );
     vera = me.verarbeitet;
     texturVerknüpfen->doMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    if( !vera && me.verarbeitet &&me.id == ME_RLinks )
         data->saveTextur();
     vera = me.verarbeitet;
     texturLaden->doMausEreignis( me );
@@ -1165,7 +1164,7 @@ void GUI::doMausEreignis( MausEreignis &me )
     }
 }
 
-void GUI::doTastaturEreignis( TastaturEreignis &te )
+void GUI::doTastaturEreignis( TastaturEreignis & te )
 {
     if( !sichtbar )
         return;
@@ -1203,7 +1202,7 @@ bool GUI::tick( double zeit )
         if( alpha + zeit * 200 > 255 )
             alpha = 255;
         else
-            alpha += (unsigned char)(zeit * 200);
+            alpha += (unsigned char)( zeit * 200 );
         rend = 1;
     }
     else if( !sichtbar && alpha )
@@ -1228,7 +1227,7 @@ bool GUI::tick( double zeit )
     return ret;
 }
 
-void GUI::render( Bild &zRObj )
+void GUI::render( Bild & zRObj )
 {
     zRObj.setAlpha( alpha );
     editor->render( zRObj );

+ 2 - 0
KSGClient/NachLogin/Editor/Karte/Dateien/KEDModel2DEditor.h

@@ -130,6 +130,7 @@ namespace Model2DEditor
         Data *data;
         Array< bool > ausgeklappt;
         Schrift *schrift;
+        TextRenderer *tr;
         TextFeld *pName;
         Fenster *koordF;
         TextFeld *kxT;
@@ -169,6 +170,7 @@ namespace Model2DEditor
         LRahmen *ram;
         LRahmen *select;
         Schrift *schrift;
+        TextRenderer *tr;
         Punkt mausPos;
         Vertex addV;
         bool mausIn;

+ 40 - 40
KSGClient/NachLogin/Editor/Karte/ShopSeite/KESSEditor.cpp

@@ -38,23 +38,23 @@ KESSTextSeite::KESSTextSeite( Schrift *zSchrift, Knopf *zNeueDatei, Knopf *zDate
         {
             text = 0;
             nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                new Text( "Der Einstiegspunkt '" KSGS_EDITOR_FUNKTION "' in der DLL-Datei "
-                    "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
-                new Text( "Ok" ), 0 );
+                                                          new Text( "Der Einstiegspunkt '" KSGS_EDITOR_FUNKTION "' in der DLL-Datei "
+                                                          "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
+                                                          new Text( "Ok" ), 0 );
         }
     }
     else
     {
         text = 0;
         nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-            new Text( "Die DLL-Datei 'data/bin/KSGScript.dll' konnte nicht geladen werden." ),
-            new Text( "Ok" ), 0 );
+                                                      new Text( "Die DLL-Datei 'data/bin/KSGScript.dll' konnte nicht geladen werden." ),
+                                                      new Text( "Ok" ), 0 );
     }
     if( ksgsS )
         ksgsS->release();
     speichern = initKnopf( 770, 10, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Speichern" );
-    dateiLöschen = zDateiRemove->getThis();
-    neueDatei = zNeueDatei->getThis();
+    dateiLöschen = (Knopf *)zDateiRemove->getThis();
+    neueDatei = (Knopf *)zNeueDatei->getThis();
     aktion = 0;
     sichtbar = 0;
     alpha = 0;
@@ -81,7 +81,7 @@ int KESSTextSeite::getAktion()
     return ret;
 }
 
-void KESSTextSeite::setDateiText( Text *txt )
+void KESSTextSeite::setDateiText( Text * txt )
 {
     text->setText( txt );
 }
@@ -122,33 +122,33 @@ bool KESSTextSeite::tick( double tv )
     return ret;
 }
 
-void KESSTextSeite::doMausEreignis( MausEreignis &me )
+void KESSTextSeite::doMausEreignis( MausEreignis & me )
 {
     if( !sichtbar )
         return;
     text->doMausEreignis( me );
     bool vera = me.verarbeitet;
     speichern->doMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    if( !vera && me.verarbeitet &&me.id == ME_RLinks )
         aktion = 1;
     vera = me.verarbeitet;
     dateiLöschen->doMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    if( !vera && me.verarbeitet &&me.id == ME_RLinks )
         aktion = 2;
     vera = me.verarbeitet;
     neueDatei->doMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    if( !vera && me.verarbeitet &&me.id == ME_RLinks )
         aktion = 3;
 }
 
-void KESSTextSeite::doTastaturEreignis( TastaturEreignis &te )
+void KESSTextSeite::doTastaturEreignis( TastaturEreignis & te )
 {
     if( !sichtbar )
         return;
     text->doTastaturEreignis( te );
 }
 
-void KESSTextSeite::render( Bild &zRObj )
+void KESSTextSeite::render( Bild & zRObj )
 {
     if( !alpha )
         return;
@@ -186,14 +186,14 @@ KESSTextSeite *KESSTextSeite::release()
 
 // Inhalt der KESSBildSeite Klasse aus KESSEditor.h
 // Konstruktor
-KESSBildSeite::KESSBildSeite( Schrift *zSchrift, Knopf *zNeueDatei, Knopf *zDateiRemove )
+KESSBildSeite::KESSBildSeite( Schrift * zSchrift, Knopf * zNeueDatei, Knopf * zDateiRemove )
 {
     bilder = initAuswahlListe( 220, 10, 200, 510, zSchrift, AuswahlListe::Style::Normal, {} );
     bildObj = initBildZ( 430, 10, 440, 440, BildZ::Style::normal | BildZ::Style::Alpha, 0 );
     bildLöschen = initKnopf( 430, 460, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Bild Löschen" );
     importieren = initKnopf( 430, 490, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Importieren" );
-    dateiLöschen = zDateiRemove->getThis();
-    neueDatei = zNeueDatei->getThis();
+    dateiLöschen = (Knopf *)zDateiRemove->getThis();
+    neueDatei = (Knopf *)zNeueDatei->getThis();
     importDialog = 0;
     importPfad = 0;
     aktion = 0;
@@ -227,7 +227,7 @@ int KESSBildSeite::getAktion()
     return ret;
 }
 
-void KESSBildSeite::setBildListe( RCArray< Text > *list )
+void KESSBildSeite::setBildListe( RCArray< Text > * list )
 {
     hauptScreen->lock();
     Text txt = bilder->zEintrag( bilder->getAuswahl() ) ? bilder->zEintrag( bilder->getAuswahl() )->zText()->getText() : "";
@@ -249,7 +249,7 @@ void KESSBildSeite::setBildListe( RCArray< Text > *list )
     hauptScreen->unlock();
 }
 
-void KESSBildSeite::setBild( Bild *b )
+void KESSBildSeite::setBild( Bild * b )
 {
     hauptScreen->lock();
     bildObj->setBild( b );
@@ -271,7 +271,7 @@ bool KESSBildSeite::tick( double tv )
                 importPfad->release();
             importPfad = importDialog->getPfad();
             importDialog = importDialog->release();
-            if( sichtbar && importPfad )
+            if( sichtbar &&importPfad )
                 aktion = 3;
         }
     }
@@ -322,7 +322,7 @@ bool KESSBildSeite::tick( double tv )
     return ret;
 }
 
-void KESSBildSeite::doMausEreignis( MausEreignis &me )
+void KESSBildSeite::doMausEreignis( MausEreignis & me )
 {
     if( !sichtbar )
         return;
@@ -337,11 +337,11 @@ void KESSBildSeite::doMausEreignis( MausEreignis &me )
     }
     bool vera = me.verarbeitet;
     dateiLöschen->doMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    if( !vera && me.verarbeitet &&me.id == ME_RLinks )
         aktion = 4;
     vera = me.verarbeitet;
     neueDatei->doMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    if( !vera && me.verarbeitet &&me.id == ME_RLinks )
         aktion = 5;
     vera = me.verarbeitet;
     importieren->doMausEreignis( me );
@@ -364,11 +364,11 @@ void KESSBildSeite::doMausEreignis( MausEreignis &me )
     bildObj->doMausEreignis( me );
     vera = me.verarbeitet;
     bildLöschen->doMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    if( !vera && me.verarbeitet &&me.id == ME_RLinks )
         aktion = 2;
 }
 
-void KESSBildSeite::render( Bild &zRObj )
+void KESSBildSeite::render( Bild & zRObj )
 {
     if( !alpha )
         return;
@@ -418,16 +418,16 @@ KESSBildSeite *KESSBildSeite::release()
 bool kESSEditorNeuDateiOkME( void *p, void *obj, MausEreignis me )
 {
     if( p )
-        return ( (KESSEditor*)p )->neuDateiOkME( me );
+        return ( (KESSEditor *)p )->neuDateiOkME( me );
     else if( me.id == ME_RLinks )
-        ( (Fenster*)obj )->removeStyle( Fenster::Style::Sichtbar );
+        ( (Fenster *)obj )->removeStyle( Fenster::Style::Sichtbar );
     return 1;
 }
 
 
 // Inhalt der KESSEditor Klasse aus KESSEditor.h
 // Konstruktor
-KESSEditor::KESSEditor( Schrift *zSchrift )
+KESSEditor::KESSEditor( Schrift * zSchrift )
     : Zeichnung()
 {
     neueDatei = initKnopf( 0, 0, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Neue Datei" );
@@ -485,7 +485,7 @@ int KESSEditor::getAktion()
     return ret;
 }
 
-bool KESSEditor::neuDateiOkME( MausEreignis &me )
+bool KESSEditor::neuDateiOkME( MausEreignis & me )
 {
     if( me.id == ME_RLinks )
     {
@@ -495,7 +495,7 @@ bool KESSEditor::neuDateiOkME( MausEreignis &me )
     return 1;
 }
 
-void KESSEditor::setDateiListe( RCArray< Text > *list )
+void KESSEditor::setDateiListe( RCArray< Text > * list )
 {
     hauptScreen->lock();
     dateien->deSelect();
@@ -511,21 +511,21 @@ void KESSEditor::setDateiListe( RCArray< Text > *list )
     hauptScreen->unlock();
 }
 
-void KESSEditor::setBildListe( RCArray< Text > *list )
+void KESSEditor::setBildListe( RCArray< Text > * list )
 {
     textSeite->setSichtbar( 0 );
     bildSeite->setBildListe( list );
     bildSeite->setSichtbar( 1 );
 }
 
-void KESSEditor::setDateiText( Text *txt )
+void KESSEditor::setDateiText( Text * txt )
 {
     bildSeite->setSichtbar( 0 );
     textSeite->setDateiText( txt );
     textSeite->setSichtbar( 1 );
 }
 
-void KESSEditor::setBild( Bild *b )
+void KESSEditor::setBild( Bild * b )
 {
     bildSeite->setBild( b );
 }
@@ -625,7 +625,7 @@ bool KESSEditor::tick( double tv )
     return ret;
 }
 
-void KESSEditor::doMausEreignis( MausEreignis &me )
+void KESSEditor::doMausEreignis( MausEreignis & me )
 {
     if( !sichtbar )
         return;
@@ -649,27 +649,27 @@ void KESSEditor::doMausEreignis( MausEreignis &me )
     {
         bool vera = me.verarbeitet;
         neueDatei->doMausEreignis( me );
-        if( !vera && me.verarbeitet && me.id == ME_RLinks )
+        if( !vera && me.verarbeitet &&me.id == ME_RLinks )
             neuDateiF->addStyle( Fenster::Style::Sichtbar );
         if( dateien->getEintragAnzahl() > 0 && dateien->zEintrag( 0 )->zText()->istGleich( ".." ) )
         {
             vera = me.verarbeitet;
             dateiLöschen->doMausEreignis( me );
-            if( !vera && me.verarbeitet && me.id == ME_RLinks )
+            if( !vera && me.verarbeitet &&me.id == ME_RLinks )
                 aktion = 4;
         }
     }
     bool vera = me.verarbeitet;
     vorschau->doMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    if( !vera && me.verarbeitet &&me.id == ME_RLinks )
         aktion = 8;
     vera = me.verarbeitet;
     veröffentlichen->doMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    if( !vera && me.verarbeitet &&me.id == ME_RLinks )
         aktion = 9;
 }
 
-void KESSEditor::doTastaturEreignis( TastaturEreignis &te )
+void KESSEditor::doTastaturEreignis( TastaturEreignis & te )
 {
     if( neuDateiF->hatStyle( Fenster::Style::Sichtbar ) )
     {
@@ -679,7 +679,7 @@ void KESSEditor::doTastaturEreignis( TastaturEreignis &te )
     textSeite->doTastaturEreignis( te );
 }
 
-void KESSEditor::render( Bild &zRObj )
+void KESSEditor::render( Bild & zRObj )
 {
     zRObj.setAlpha( alpha );
     zRObj.setAlpha( alpha2 );

+ 34 - 39
KSGClient/NachLogin/Editor/Karte/ShopSeite/KESSVorschau.cpp

@@ -7,12 +7,12 @@ void kESSVorschauKSGSAktion( void *p, RCArray< KSGSVariable > *parameter, KSGSVa
 {
     if( !p )
         return;
-    ( (KESSVorschauKarteScript*)p )->ksgsAktion( parameter, retVal );
+    ( (KESSVorschauKarteScript *)p )->ksgsAktion( parameter, retVal );
 }
 
 // Inhalt der KESSVorschauKarteScript Klasse aus KESSVorschau.h
 // Konstruktor
-KESSVorschauKarteScript::KESSVorschauKarteScript( Schrift *zSchrift, TextFeld *zLog )
+KESSVorschauKarteScript::KESSVorschauKarteScript( Schrift * zSchrift, TextFeld * zLog )
     : Thread()
 {
     ksgs = dllDateien->ladeDLL( "KSGScript.dll", "data/bin/KSGScript.dll" );
@@ -26,7 +26,7 @@ KESSVorschauKarteScript::KESSVorschauKarteScript( Schrift *zSchrift, TextFeld *z
             fenster->setSize( 555, 380 );
             fenster->setRückrufParam( this );
             fenster->setRückrufFunktion( kESSVorschauKSGSAktion );
-            fenster->setLog( zLog->getThis() );
+            fenster->setLog( (TextFeld *)zLog->getThis() );
         }
         else
         {
@@ -120,12 +120,12 @@ void KESSVorschauKarteScript::ladeKarteSeite( char *pfad )
     start();
 }
 
-void KESSVorschauKarteScript::ksgsAktion( RCArray< KSGSVariable > *parameter, KSGSVariable **retVal )
+void KESSVorschauKarteScript::ksgsAktion( RCArray< KSGSVariable > * parameter, KSGSVariable * *retVal )
 {
     KSGSVariable *befehl = parameter->z( 0 );
     if( !befehl )
         return;
-    Text *b = befehl->getText();
+    Text * b = befehl->getText();
     if( !b )
         return;
     if( b->istGleich( "GetBesitzStatus" ) )
@@ -278,7 +278,7 @@ void KESSVorschauKarteScript::ksgsAktion( RCArray< KSGSVariable > *parameter, KS
                         p = 0;
                     else
                         p += 6;
-                    Bild *b = bilder->get( *n );
+                    Bild * b = bilder->get( *n );
                     if( !b )
                     {
                         LTDBDatei *dat = new LTDBDatei();
@@ -325,7 +325,7 @@ void KESSVorschauKarteScript::ksgsAktion( RCArray< KSGSVariable > *parameter, KS
     }
 }
 
-void KESSVorschauKarteScript::doMausEreignis( MausEreignis &me )
+void KESSVorschauKarteScript::doMausEreignis( MausEreignis & me )
 {
     me.mx -= pos.x;
     me.my -= pos.y;
@@ -335,7 +335,7 @@ void KESSVorschauKarteScript::doMausEreignis( MausEreignis &me )
     me.my += pos.y;
 }
 
-void KESSVorschauKarteScript::doTastaturEreignis( TastaturEreignis &te )
+void KESSVorschauKarteScript::doTastaturEreignis( TastaturEreignis & te )
 {
     if( fenster )
         fenster->doTastaturEreignis( te );
@@ -352,7 +352,7 @@ bool KESSVorschauKarteScript::tick( double zeit )
             alpha -= (unsigned char)( zeit * 150 );
         rend = 1;
     }
-    if( sichtbar && alpha < 255 )
+    if( sichtbar &&alpha < 255 )
     {
         if( alpha + zeit * 150 > 255 )
             alpha = 255;
@@ -363,7 +363,7 @@ bool KESSVorschauKarteScript::tick( double zeit )
     return rend;
 }
 
-void KESSVorschauKarteScript::render( Bild &zRObj )
+void KESSVorschauKarteScript::render( Bild & zRObj )
 {
     if( !zRObj.setDrawOptions( pos.x, pos.y, ram->getBreite(), ram->getHeight() ) )
         return;
@@ -376,7 +376,7 @@ void KESSVorschauKarteScript::render( Bild &zRObj )
 }
 
 // Reference Counting
-KESSVorschauKarteScript *KESSVorschauKarteScript::getThis()
+KESSVorschauKarteScript * KESSVorschauKarteScript::getThis()
 {
     ref++;
     return this;
@@ -393,7 +393,7 @@ KESSVorschauKarteScript *KESSVorschauKarteScript::release()
 
 // Inhalt der KESSVorschauKarte Klasse aus KESSVorschau.h
 // Konstruktor
-KESSVorschauKarte::KESSVorschauKarte( Schrift *schrift )
+KESSVorschauKarte::KESSVorschauKarte( Schrift * schrift )
 {
     auswählen = initKnopf( 173, 73, 22, 22, 0, 0, "" );
     auswählen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Rahmen | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
@@ -436,11 +436,11 @@ void KESSVorschauKarte::ladeKarte( char *pfad )
     datei->release();
 }
 
-bool KESSVorschauKarte::doMausEreignis( MausEreignis &me )
+bool KESSVorschauKarte::doMausEreignis( MausEreignis & me )
 {
     bool vera = me.verarbeitet;
     auswählen->doMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    if( !vera && me.verarbeitet &&me.id == ME_RLinks )
     {
         ausw = 1;
         return 1;
@@ -476,7 +476,7 @@ bool KESSVorschauKarte::tick( double zeit )
     return ret;
 }
 
-void KESSVorschauKarte::render( Bild &zRObj )
+void KESSVorschauKarte::render( Bild & zRObj )
 {
     ram->render( zRObj );
     if( !zRObj.setDrawOptions( ram->getX(), ram->getY(), 200, 100 ) )
@@ -489,7 +489,7 @@ void KESSVorschauKarte::render( Bild &zRObj )
 }
 
 // Reference Counting
-KESSVorschauKarte *KESSVorschauKarte::getThis()
+KESSVorschauKarte * KESSVorschauKarte::getThis()
 {
     ref++;
     return this;
@@ -506,9 +506,10 @@ KESSVorschauKarte *KESSVorschauKarte::release()
 
 // Inhalt der KESSVorschau Klasse aus KESSVorschau.h
 // Konstruktor
-KESSVorschau::KESSVorschau( Schrift *zSchrift )
+KESSVorschau::KESSVorschau( Schrift * zSchrift )
 {
     schrift = zSchrift->getThis();
+    tr = new TextRenderer( schrift->getThis() );
     log = initTextFeld( 10, 400, 860, 90, zSchrift, TextFeld::Style::TextGebiet & ~TextFeld::Style::Erlaubt, "Log:\n" );
     script = new KESSVorschauKarteScript( zSchrift, log );
     karte = new KESSVorschauKarte( zSchrift->getThis() );
@@ -536,6 +537,7 @@ KESSVorschau::KESSVorschau( Schrift *zSchrift )
 KESSVorschau::~KESSVorschau()
 {
     schrift->release();
+    tr->release();
     script->release();
     karte->release();
     beenden->release();
@@ -568,7 +570,7 @@ void KESSVorschau::setSichtbar( bool sicht )
     sichtbar = sicht;
 }
 
-void KESSVorschau::doMausEreignis( MausEreignis &me )
+void KESSVorschau::doMausEreignis( MausEreignis & me )
 {
     if( !sichtbar )
         return;
@@ -599,7 +601,7 @@ void KESSVorschau::doMausEreignis( MausEreignis &me )
         script->ladeKarteSeite( pfad );
     bool vera = me.verarbeitet;
     beenden->doMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    if( !vera && me.verarbeitet &&me.id == ME_RLinks )
         aktion = 1;
     vvPreis->doMausEreignis( me );
     tvPreis->doMausEreignis( me );
@@ -608,21 +610,21 @@ void KESSVorschau::doMausEreignis( MausEreignis &me )
     log->doMausEreignis( me );
     if( paramUpdate )
     {
-        script->setScriptParams( besitztTestVersion->getAuswahl() == 1, (int)*spieleVerbleibend->zText(), vvErwerbbar->getAuswahl() == 0,
-                                 tvErwerbbar->getAuswahl() == 0, (int)*vvPreis->zText(), (int)*tvPreis->zText(), (int)*kupfer->zText() );
+        script->setScriptParams( besitztTestVersion->getAuswahl() == 1, (int)* spieleVerbleibend->zText(), vvErwerbbar->getAuswahl() == 0,
+                                 tvErwerbbar->getAuswahl() == 0, (int)* vvPreis->zText(), (int)* tvPreis->zText(), (int)* kupfer->zText() );
     }
 }
 
-void KESSVorschau::doTastaturEreignis( TastaturEreignis &te )
+void KESSVorschau::doTastaturEreignis( TastaturEreignis & te )
 {
     if( !sichtbar )
         return;
-    if( !te.verarbeitet && te.id == TE_Release && te.taste == T_Enter )
+    if( !te.verarbeitet &&te.id == TE_Release && te.taste == T_Enter )
     {
         if( spieleVerbleibend->hatStyle( TextFeld::Style::Fokus ) || vvPreis->hatStyle( TextFeld::Style::Fokus ) || tvPreis->hatStyle( TextFeld::Style::Fokus ) || kupfer->hatStyle( TextFeld::Style::Fokus ) )
         {
-            script->setScriptParams( besitztTestVersion->getAuswahl() == 1, (int)*spieleVerbleibend->zText(), vvErwerbbar->getAuswahl() == 0,
-                                     tvErwerbbar->getAuswahl() == 0, (int)*vvPreis->zText(), (int)*tvPreis->zText(), (int)*kupfer->zText() );
+            script->setScriptParams( besitztTestVersion->getAuswahl() == 1, (int)* spieleVerbleibend->zText(), vvErwerbbar->getAuswahl() == 0,
+                                     tvErwerbbar->getAuswahl() == 0, (int)* vvPreis->zText(), (int)* tvPreis->zText(), (int)* kupfer->zText() );
         }
     }
     script->doTastaturEreignis( te );
@@ -670,7 +672,7 @@ bool KESSVorschau::tick( double zeit )
     return ret;
 }
 
-void KESSVorschau::render( Bild &zRObj )
+void KESSVorschau::render( Bild & zRObj )
 {
     zRObj.setAlpha( alpha );
     script->render( zRObj );
@@ -681,24 +683,17 @@ void KESSVorschau::render( Bild &zRObj )
     vvPreis->render( zRObj );
     tvPreis->render( zRObj );
     kupfer->render( zRObj );
-    schrift->lock();
-    schrift->setSchriftSize( 12 );
+    tr->setSchriftSize( 12 );
     Text txt = "Test Spiele:";
-    schrift->setDrawPosition( 10, 154 );
-    schrift->renderText( &txt, zRObj, 0xFFFFFFFF );
+    tr->renderText( 10, 154, txt, zRObj, 0xFFFFFFFF );
     txt = "Voll Preis:";
-    schrift->setDrawPosition( 10, 244 );
-    schrift->renderText( &txt, zRObj, 0xFFFFFFFF );
+    tr->renderText( 10, 244, txt, zRObj, 0xFFFFFFFF );
     txt = "Test Preis:";
-    schrift->setDrawPosition( 10, 274 );
-    schrift->renderText( &txt, zRObj, 0xFFFFFFFF );
+    tr->renderText( 10, 274, txt, zRObj, 0xFFFFFFFF );
     txt = "Kupfer Besitz:";
-    schrift->setDrawPosition( 10, 304 );
-    schrift->renderText( &txt, zRObj, 0xFFFFFFFF );
+    tr->renderText( 10, 304, txt, zRObj, 0xFFFFFFFF );
     txt = "Diese Werte sind nur zum\nTesten und haben keinerlei\nEinfluss auf den Shop.";
-    schrift->setDrawPosition( 10, 334 );
-    schrift->renderText( &txt, zRObj, 0xFFFFFFFF );
-    schrift->unlock();
+    tr->renderText( 10, 334, txt, zRObj, 0xFFFFFFFF );
     tvErwerbbar->render( zRObj );
     vvErwerbbar->render( zRObj );
     besitztTestVersion->render( zRObj );

+ 1 - 0
KSGClient/NachLogin/Editor/Karte/ShopSeite/KESSVorschau.h

@@ -79,6 +79,7 @@ class KESSVorschau : public Zeichnung
 {
 private:
     Schrift *schrift;
+    TextRenderer *tr;
     KESSVorschauKarteScript *script;
     KESSVorschauKarte *karte;
     Knopf *beenden;

+ 3 - 2
KSGClient/NachLogin/MiniGames/Minigames.cpp

@@ -225,8 +225,9 @@ MiniGames::MiniGames( Schrift *zSchrift, Fenster *zNachLoginFenster, int x )
 	laden->setPosition( 375, 225 );
 	games = new RCArray< MiniGame >();
 	suchFilter = initTextFeld( 10, 10, 100, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, "Suchfilter:" );
-	zSchrift->setSchriftSize( 12 );
-	suchFilter->setSize( zSchrift->getTextBreite( suchFilter->zText() ), 20 );
+    TextRenderer tr( zSchrift->getThis() );
+    tr.setSchriftSize( 12 );
+	suchFilter->setSize( tr.getTextBreite( suchFilter->zText()->getText() ), 20 );
 	suchName = initTextFeld( 20 + suchFilter->getBreite(), 10, 200, 20, zSchrift, TextFeld::Style::TextFeld, "" );
 	suchen = initKnopf( 230 + suchFilter->getBreite(), 10, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Suchen" );
 	gefiltert = 0;

+ 292 - 292
KSGClient/NachLogin/NachLogin.cpp

@@ -8,39 +8,39 @@
 // Inhalt der NachLogin Klasse aus NachLogin.h
 // Konstruktor
 NachLogin::NachLogin( Schrift *zSchrift, Bildschirm *zBildschirm )
-	: Zeichnung()
+    : Zeichnung()
 {
-	if( zSchrift )
-		schrift = zSchrift->getThis();
-	if( zBildschirm )
-		bildschirm = zBildschirm->getThis();
-	fenster = 0;
-	titel = 0;
-	freunde = 0;
-	chatLeiste = 0;
-	nachrichtenListe = 0;
-	spielenFenster = 0;
-	shopFenster = 0;
-	accountAnsehenFenster = 0;
-	mgFenster = 0;
-	newsFenster = 0;
-	editorFenster = 0;
-	spielAufzeichnung = 0;
+    if( zSchrift )
+        schrift = zSchrift->getThis();
+    if( zBildschirm )
+        bildschirm = zBildschirm->getThis();
+    fenster = 0;
+    titel = 0;
+    freunde = 0;
+    chatLeiste = 0;
+    nachrichtenListe = 0;
+    spielenFenster = 0;
+    shopFenster = 0;
+    accountAnsehenFenster = 0;
+    mgFenster = 0;
+    newsFenster = 0;
+    editorFenster = 0;
+    spielAufzeichnung = 0;
     editor = 0;
-	op = 0;
-	status = NLALogin;
-	ref = 1;
+    op = 0;
+    status = NLALogin;
+    ref = 1;
 }
 
 // Destruktor
 NachLogin::~NachLogin()
 {
-	if( fenster )
-		setAnzeige( NLALogin );
-	if( schrift )
-		schrift = schrift->release();
-	if( bildschirm )
-		bildschirm = bildschirm->release();
+    if( fenster )
+        setAnzeige( NLALogin );
+    if( schrift )
+        schrift = schrift->release();
+    if( bildschirm )
+        bildschirm = bildschirm->release();
     if( editor )
         editor->release();
 }
@@ -48,81 +48,81 @@ NachLogin::~NachLogin()
 // nicht constant
 void NachLogin::login() // Initialisiert die Oberfläche
 {
-	lockZeichnung();
-	if( fenster )
-		logout();
-	fenster = new Fenster();
-	fenster->setStyle( Fenster::Style::Erlaubt | Fenster::Style::Sichtbar );
-	fenster->setSize( bildschirm->getBackBufferSize() );
-	leistenFenster = new Fenster();
-	leistenFenster->setStyle( Fenster::Style::Erlaubt | Fenster::Style::Sichtbar | Fenster::Style::METransparenz );
-	leistenFenster->setSize( bildschirm->getBackBufferSize() );
-	titel = new TitelLeiste( leistenFenster, schrift );
-	spielenFenster = new Spiele( schrift, fenster, titel->getSpielenX() );
-	shopFenster = new Shop( schrift, fenster, titel->getSpielenX() + 101 );
-	accountAnsehenFenster = new AccountAnsehen( schrift, fenster, titel->getSpielenX() + 202 );
-	mgFenster = new MiniGames( schrift, fenster, titel->getSpielenX() + 303 );
-	newsFenster = new Neuigkeiten( schrift, fenster, titel->getSpielenX() + 404 );
-	editorFenster = new Editor( schrift, fenster, titel->getSpielenX() );
-	nachrichtenListe = new NachrichtenListe( schrift, leistenFenster );
-	freunde = new FreundesListe( schrift, leistenFenster );
-	chatLeiste = new ChatLeiste( schrift, leistenFenster );
-	op = new Einstellungen( schrift, leistenFenster );
-	imSpiel = new ImSpiel( schrift );
-	fenster->addMember( leistenFenster );
-	bildschirm->addMember( this );
-	MausEreignis me;
-	me.id = ME_RLinks;
-	bildschirm->lock();
-	titel->druckSpielen( me );
-	bildschirm->unlock();
-	status = NLANormal;
-	unlockZeichnung();
+    lockZeichnung();
+    if( fenster )
+        logout();
+    fenster = new Fenster();
+    fenster->setStyle( Fenster::Style::Erlaubt | Fenster::Style::Sichtbar );
+    fenster->setSize( bildschirm->getBackBufferSize() );
+    leistenFenster = new Fenster();
+    leistenFenster->setStyle( Fenster::Style::Erlaubt | Fenster::Style::Sichtbar | Fenster::Style::METransparenz );
+    leistenFenster->setSize( bildschirm->getBackBufferSize() );
+    titel = new TitelLeiste( leistenFenster, schrift );
+    spielenFenster = new Spiele( schrift, fenster, titel->getSpielenX() );
+    shopFenster = new Shop( schrift, fenster, titel->getSpielenX() + 101 );
+    accountAnsehenFenster = new AccountAnsehen( schrift, fenster, titel->getSpielenX() + 202 );
+    mgFenster = new MiniGames( schrift, fenster, titel->getSpielenX() + 303 );
+    newsFenster = new Neuigkeiten( schrift, fenster, titel->getSpielenX() + 404 );
+    editorFenster = new Editor( schrift, fenster, titel->getSpielenX() );
+    nachrichtenListe = new NachrichtenListe( schrift, leistenFenster );
+    freunde = new FreundesListe( schrift, leistenFenster );
+    chatLeiste = new ChatLeiste( schrift, leistenFenster );
+    op = new Einstellungen( schrift, leistenFenster );
+    imSpiel = new ImSpiel( schrift );
+    fenster->addMember( leistenFenster );
+    bildschirm->addMember( this );
+    MausEreignis me;
+    me.id = ME_RLinks;
+    bildschirm->lock();
+    titel->druckSpielen( me );
+    bildschirm->unlock();
+    status = NLANormal;
+    unlockZeichnung();
 }
 
 void NachLogin::logout() // Setzt die Oberfläche zurück
 {
-	lockZeichnung();
-	status = NLALogin;
-	if( bildschirm )
-		bildschirm->removeMember( this );
-	if( spielenFenster )
-		spielenFenster = spielenFenster->release();
-	if( shopFenster )
-		shopFenster = shopFenster->release();
-	if( accountAnsehenFenster )
-		accountAnsehenFenster = accountAnsehenFenster->release();
-	if( mgFenster )
-		mgFenster = mgFenster->release();
-	if( newsFenster )
-		newsFenster = newsFenster->release();
-	if( editorFenster )
-		editorFenster = editorFenster->release();
-	if( titel )
-		titel = titel->release();
-	if( freunde )
-		freunde = freunde->release();
-	if( chatLeiste )
-		chatLeiste = chatLeiste->release();
-	if( nachrichtenListe )
-		nachrichtenListe = nachrichtenListe->release();
-	if( leistenFenster )
-		leistenFenster = leistenFenster->release();
-	if( fenster )
-		fenster = fenster->release();
-	if( imSpiel )
-		imSpiel = imSpiel->release();
-	if( op )
-		op->release();
-	unlockZeichnung();
+    lockZeichnung();
+    status = NLALogin;
+    if( bildschirm )
+        bildschirm->removeMember( this );
+    if( spielenFenster )
+        spielenFenster = spielenFenster->release();
+    if( shopFenster )
+        shopFenster = shopFenster->release();
+    if( accountAnsehenFenster )
+        accountAnsehenFenster = accountAnsehenFenster->release();
+    if( mgFenster )
+        mgFenster = mgFenster->release();
+    if( newsFenster )
+        newsFenster = newsFenster->release();
+    if( editorFenster )
+        editorFenster = editorFenster->release();
+    if( titel )
+        titel = titel->release();
+    if( freunde )
+        freunde = freunde->release();
+    if( chatLeiste )
+        chatLeiste = chatLeiste->release();
+    if( nachrichtenListe )
+        nachrichtenListe = nachrichtenListe->release();
+    if( leistenFenster )
+        leistenFenster = (Fenster *)leistenFenster->release();
+    if( fenster )
+        fenster = (Fenster *)fenster->release();
+    if( imSpiel )
+        imSpiel = imSpiel->release();
+    if( op )
+        op->release();
+    unlockZeichnung();
 }
 
-void NachLogin::setSpielAufzeichnung( AufzeichnungV *video ) // Setzt die Spiel Aufzeichnung
+void NachLogin::setSpielAufzeichnung( AufzeichnungV * video ) // Setzt die Spiel Aufzeichnung
 {
-	spielAufzeichnung = video;
+    spielAufzeichnung = video;
 }
 
-void NachLogin::setEditor( EditorV *editor ) // Setzt die Spiel Aufzeichnung
+void NachLogin::setEditor( EditorV * editor ) // Setzt die Spiel Aufzeichnung
 {
     if( this->editor )
         this->editor->release();
@@ -131,42 +131,42 @@ void NachLogin::setEditor( EditorV *editor ) // Setzt die Spiel Aufzeichnung
 
 void NachLogin::setAnzeige( NachLoginAnzeige s ) // Setzt den Status des Programms
 {
-	lockZeichnung();
-	if( s == NLAImSpiel )
-	{
-		imSpiel->setSichtbar( 1 );
-		MausEreignis me = { ME_Bewegung, -1, -1, -1, -1, 0 };
-		leistenFenster->doMausEreignis( me );
-		leistenFenster->removeStyle( Fenster::Style::Sichtbar );
-		fenster->removeMember( leistenFenster );
-		bildschirm->addMember( leistenFenster );
-		titel->setImSpiel( 1 );
-	}
-	else if( status == NLAImSpiel )
-	{
-		imSpiel->setSichtbar( 0 );
-		fenster->addMember( leistenFenster );
-		bildschirm->removeMember( leistenFenster );
-		leistenFenster->addStyle( Fenster::Style::Sichtbar );
-		titel->setImSpiel( 0 );
-	}
-	if( s == NLASpielVideo )
-	{
-		MausEreignis me = { ME_Bewegung, -1, -1, -1, -1, 0 };
-		leistenFenster->doMausEreignis( me );
-		leistenFenster->removeStyle( Fenster::Style::Sichtbar );
-		fenster->removeMember( leistenFenster );
-		bildschirm->addMember( leistenFenster );
-		titel->setImVideo( 1 );
-	}
-	else if( status == NLASpielVideo )
-	{
-		fenster->addMember( leistenFenster );
-		bildschirm->removeMember( leistenFenster );
-		leistenFenster->addStyle( Fenster::Style::Sichtbar );
-		spielAufzeichnung = spielAufzeichnung->release();
-		titel->setImVideo( 0 );
-	}
+    lockZeichnung();
+    if( s == NLAImSpiel )
+    {
+        imSpiel->setSichtbar( 1 );
+        MausEreignis me = { ME_Bewegung, -1, -1, -1, -1, 0 };
+        leistenFenster->doMausEreignis( me );
+        leistenFenster->removeStyle( Fenster::Style::Sichtbar );
+        fenster->removeMember( leistenFenster );
+        bildschirm->addMember( leistenFenster );
+        titel->setImSpiel( 1 );
+    }
+    else if( status == NLAImSpiel )
+    {
+        imSpiel->setSichtbar( 0 );
+        fenster->addMember( leistenFenster );
+        bildschirm->removeMember( leistenFenster );
+        leistenFenster->addStyle( Fenster::Style::Sichtbar );
+        titel->setImSpiel( 0 );
+    }
+    if( s == NLASpielVideo )
+    {
+        MausEreignis me = { ME_Bewegung, -1, -1, -1, -1, 0 };
+        leistenFenster->doMausEreignis( me );
+        leistenFenster->removeStyle( Fenster::Style::Sichtbar );
+        fenster->removeMember( leistenFenster );
+        bildschirm->addMember( leistenFenster );
+        titel->setImVideo( 1 );
+    }
+    else if( status == NLASpielVideo )
+    {
+        fenster->addMember( leistenFenster );
+        bildschirm->removeMember( leistenFenster );
+        leistenFenster->addStyle( Fenster::Style::Sichtbar );
+        spielAufzeichnung = spielAufzeichnung->release();
+        titel->setImVideo( 0 );
+    }
     if( s == NLAEditor )
     {
         MausEreignis me = { ME_Bewegung, -1, -1, -1, -1, 0 };
@@ -184,38 +184,38 @@ void NachLogin::setAnzeige( NachLoginAnzeige s ) // Setzt den Status des Program
         editor = editor->release();
         titel->setImSpiel( 0 );
     }
-	if( s == NLALogin )
-		logout();
-	else
-	{
-		if( !fenster )
-			login();
-		else
-			status = s;
-	}
-	unlockZeichnung();
+    if( s == NLALogin )
+        logout();
+    else
+    {
+        if( !fenster )
+            login();
+        else
+            status = s;
+    }
+    unlockZeichnung();
 }
 
-void NachLogin::doMausEreignis( MausEreignis &me )
+void NachLogin::doMausEreignis( MausEreignis & me )
 {
-	if( status == NLASpielVideo )
-	{
-		lockZeichnung();
-		if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
-			leistenFenster->doMausEreignis( me );
-		else
-		{
-			spielAufzeichnung->doMausEreignis( me );
-			if( spielAufzeichnung->hatVerlassen( 1 ) )
-			{
-				MausEreignis me = { ME_Bewegung, -1, -1, -1, -1, 0 };
-				spielAufzeichnung->doMausEreignis( me );
-				aktion = 8; // Aufzeichnung verlassen
-			}
-		}
-		unlockZeichnung();
-		return;
-	}
+    if( status == NLASpielVideo )
+    {
+        lockZeichnung();
+        if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
+            leistenFenster->doMausEreignis( me );
+        else
+        {
+            spielAufzeichnung->doMausEreignis( me );
+            if( spielAufzeichnung->hatVerlassen( 1 ) )
+            {
+                MausEreignis me = { ME_Bewegung, -1, -1, -1, -1, 0 };
+                spielAufzeichnung->doMausEreignis( me );
+                aktion = 8; // Aufzeichnung verlassen
+            }
+        }
+        unlockZeichnung();
+        return;
+    }
     if( status == NLAEditor )
     {
         lockZeichnung();
@@ -234,45 +234,45 @@ void NachLogin::doMausEreignis( MausEreignis &me )
         unlockZeichnung();
         return;
     }
-	if( status == NLAImSpiel )
-	{
-		lockZeichnung();
-		if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
-			leistenFenster->doMausEreignis( me );
-		else
-			imSpiel->doMausEreignis( me );
-		unlockZeichnung();
-		return;
-	}
-	if( status != NLANormal )
-		return;
-	lockZeichnung();
-	if( fenster )
-		fenster->doMausEreignis( me );
-	unlockZeichnung();
+    if( status == NLAImSpiel )
+    {
+        lockZeichnung();
+        if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
+            leistenFenster->doMausEreignis( me );
+        else
+            imSpiel->doMausEreignis( me );
+        unlockZeichnung();
+        return;
+    }
+    if( status != NLANormal )
+        return;
+    lockZeichnung();
+    if( fenster )
+        fenster->doMausEreignis( me );
+    unlockZeichnung();
 }
 
-void NachLogin::doTastaturEreignis( TastaturEreignis &te )
+void NachLogin::doTastaturEreignis( TastaturEreignis & te )
 {
-	if( status == NLASpielVideo )
-	{
-		lockZeichnung();
-		if( te.taste == T_F2 && te.id == TE_Release )
-		{
-			leistenFenster->setStyle( Fenster::Style::Sichtbar, !leistenFenster->hatStyle( Fenster::Style::Sichtbar ) );
-			MausEreignis me = { ME_Bewegung, -1, -1, -1, -1, 0 };
-			leistenFenster->doMausEreignis( me );
-		}
-		else
-		{
-			if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
-				leistenFenster->doTastaturEreignis( te );
-			else
-				spielAufzeichnung->doTastaturEreignis( te );
-		}
-		unlockZeichnung();
-		return;
-	}
+    if( status == NLASpielVideo )
+    {
+        lockZeichnung();
+        if( te.taste == T_F2 && te.id == TE_Release )
+        {
+            leistenFenster->setStyle( Fenster::Style::Sichtbar, !leistenFenster->hatStyle( Fenster::Style::Sichtbar ) );
+            MausEreignis me = { ME_Bewegung, -1, -1, -1, -1, 0 };
+            leistenFenster->doMausEreignis( me );
+        }
+        else
+        {
+            if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
+                leistenFenster->doTastaturEreignis( te );
+            else
+                spielAufzeichnung->doTastaturEreignis( te );
+        }
+        unlockZeichnung();
+        return;
+    }
     if( status == NLAEditor )
     {
         lockZeichnung();
@@ -292,45 +292,45 @@ void NachLogin::doTastaturEreignis( TastaturEreignis &te )
         unlockZeichnung();
         return;
     }
-	if( status == NLAImSpiel )
-	{
-		lockZeichnung();
-		if( te.taste == T_F2 && te.id == TE_Release )
-		{
-			leistenFenster->setStyle( Fenster::Style::Sichtbar, !leistenFenster->hatStyle( Fenster::Style::Sichtbar ) );
-			MausEreignis me = { ME_Bewegung, -1, -1, -1, -1, 0 };
-			leistenFenster->doMausEreignis( me );
-		}
-		else
-		{
-			if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
-				leistenFenster->doTastaturEreignis( te );
-			else
-				imSpiel->doTastaturEreignis( te );
-		}
-		unlockZeichnung();
-		return;
-	}
-	if( status != NLANormal )
-		return;
-	lockZeichnung();
-	if( fenster )
-		fenster->doTastaturEreignis( te );
-	unlockZeichnung();
+    if( status == NLAImSpiel )
+    {
+        lockZeichnung();
+        if( te.taste == T_F2 && te.id == TE_Release )
+        {
+            leistenFenster->setStyle( Fenster::Style::Sichtbar, !leistenFenster->hatStyle( Fenster::Style::Sichtbar ) );
+            MausEreignis me = { ME_Bewegung, -1, -1, -1, -1, 0 };
+            leistenFenster->doMausEreignis( me );
+        }
+        else
+        {
+            if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
+                leistenFenster->doTastaturEreignis( te );
+            else
+                imSpiel->doTastaturEreignis( te );
+        }
+        unlockZeichnung();
+        return;
+    }
+    if( status != NLANormal )
+        return;
+    lockZeichnung();
+    if( fenster )
+        fenster->doTastaturEreignis( te );
+    unlockZeichnung();
 }
 
 bool NachLogin::tick( double tickVal )
 {
-	if( status == NLASpielVideo )
-	{
-		lockZeichnung();
-		bool ret = 0;
-		if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
-			ret |= leistenFenster->tick( tickVal );
-		ret |= spielAufzeichnung->tick( tickVal );
-		unlockZeichnung();
-		return ret;
-	}
+    if( status == NLASpielVideo )
+    {
+        lockZeichnung();
+        bool ret = 0;
+        if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
+            ret |= leistenFenster->tick( tickVal );
+        ret |= spielAufzeichnung->tick( tickVal );
+        unlockZeichnung();
+        return ret;
+    }
     if( status == NLAEditor )
     {
         lockZeichnung();
@@ -341,39 +341,39 @@ bool NachLogin::tick( double tickVal )
         unlockZeichnung();
         return ret;
     }
-	if( status == NLAImSpiel )
-	{
-		lockZeichnung();
-		bool ret = 0;
-		if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
-			ret |= leistenFenster->tick( tickVal );
-		ret |= imSpiel->tick( tickVal );
-		unlockZeichnung();
-		return ret;
-	}
-	if( status != NLANormal )
-		return 0;
-	lockZeichnung();
-	bool ret = 0;
-	if( titel )
-		ret |= titel->tick();
-	if( fenster )
-		ret |= fenster->tick( tickVal );
-	unlockZeichnung();
-	return ret;
+    if( status == NLAImSpiel )
+    {
+        lockZeichnung();
+        bool ret = 0;
+        if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
+            ret |= leistenFenster->tick( tickVal );
+        ret |= imSpiel->tick( tickVal );
+        unlockZeichnung();
+        return ret;
+    }
+    if( status != NLANormal )
+        return 0;
+    lockZeichnung();
+    bool ret = 0;
+    if( titel )
+        ret |= titel->tick();
+    if( fenster )
+        ret |= fenster->tick( tickVal );
+    unlockZeichnung();
+    return ret;
 }
 
-void NachLogin::render( Bild &zRObj )
+void NachLogin::render( Bild & zRObj )
 {
-	if( status == NLASpielVideo )
-	{
-		lockZeichnung();
-		spielAufzeichnung->render( zRObj );
-		if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
-		    leistenFenster->render( zRObj );
-		unlockZeichnung();
-		return;
-	}
+    if( status == NLASpielVideo )
+    {
+        lockZeichnung();
+        spielAufzeichnung->render( zRObj );
+        if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
+            leistenFenster->render( zRObj );
+        unlockZeichnung();
+        return;
+    }
     if( status == NLAEditor )
     {
         lockZeichnung();
@@ -383,95 +383,95 @@ void NachLogin::render( Bild &zRObj )
         unlockZeichnung();
         return;
     }
-	if( status == NLAImSpiel )
-	{
-		lockZeichnung();
-		imSpiel->render( zRObj );
-		if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
-			leistenFenster->render( zRObj );
-		unlockZeichnung();
-		return;
-	}
-	if( status != NLANormal )
-		return;
-	lockZeichnung();
-	if( fenster )
-		fenster->render( zRObj );
-	unlockZeichnung();
+    if( status == NLAImSpiel )
+    {
+        lockZeichnung();
+        imSpiel->render( zRObj );
+        if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
+            leistenFenster->render( zRObj );
+        unlockZeichnung();
+        return;
+    }
+    if( status != NLANormal )
+        return;
+    lockZeichnung();
+    if( fenster )
+        fenster->render( zRObj );
+    unlockZeichnung();
 }
 
 // constant
-TitelLeiste *NachLogin::zTitelLeiste() const // gibt die Titelleiste zurück
+TitelLeiste * NachLogin::zTitelLeiste() const // gibt die Titelleiste zurück
 {
-	return titel;
+    return titel;
 }
 
 FreundesListe *NachLogin::zFreundesListe() const // gibt die FreundesListe zurück
 {
-	return freunde;
+    return freunde;
 }
 
 ChatLeiste *NachLogin::zChatLeiste() const // gibt die ChatLeiste zurück
 {
-	return chatLeiste;
+    return chatLeiste;
 }
 
 NachrichtenListe *NachLogin::zNachrichtenListe() const // gibt die NachrichtenListe zurück
 {
-	return nachrichtenListe;
+    return nachrichtenListe;
 }
 
 Spiele *NachLogin::zSpielenFenster() const // gibt das Spiele Fenster zurück
 {
-	return spielenFenster;
+    return spielenFenster;
 }
 
 Shop *NachLogin::zShopFenster() const // gibt das Shop Fenster zurück
 {
-	return shopFenster;
+    return shopFenster;
 }
 
 AccountAnsehen *NachLogin::zAccountAnsehenFenster() const // gibt das Account Ansehen Fenster zurück
 {
-	return accountAnsehenFenster;
+    return accountAnsehenFenster;
 }
 
 MiniGames *NachLogin::zMGFenster() const // gibt das MiniGames Fenster zurück
 {
-	return mgFenster;
+    return mgFenster;
 }
 
 Neuigkeiten *NachLogin::zNewsFenster() const // gibt das News Fenster zurück
 {
-	return newsFenster;
+    return newsFenster;
 }
 
 Editor *NachLogin::zEditorFenster() const // gibt das News Fenster zurück
 {
-	return editorFenster;
+    return editorFenster;
 }
 
 ImSpiel *NachLogin::zImSpiel() const // Gibt das Im Spiel Zeichnung zurück
 {
-	return imSpiel;
+    return imSpiel;
 }
 
 Einstellungen *NachLogin::zEinstellungen() const // Gibt das Einstellungen Zeichnung zurück
 {
-	return op;
+    return op;
 }
 
 // Reference Counting
 NachLogin *NachLogin::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 NachLogin *NachLogin::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }

+ 1817 - 1816
KSGClient/NachLogin/Spiele/Gruppe/Gruppe.cpp

@@ -12,299 +12,299 @@
 // Konstruktor
 GruppeEinladungAccount::GruppeEinladungAccount( Schrift *zSchrift )
 {
-	Bild *nachrichtBild = bilder->get( "chat.ltdb/nachricht.png" );
-	if( !nachrichtBild )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-		datei->leseDaten( 0 );
-		nachrichtBild = datei->laden( 0, new Text( "nachricht.png" ) );
-		datei->release();
-		bilder->add( "chat.ltdb/nachricht.png", nachrichtBild->getThis() );
-	}
-	Bild *neuSendenBild = bilder->get( "chat.ltdb/neusenden.png" );
-	if( !neuSendenBild )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-		datei->leseDaten( 0 );
-		neuSendenBild = datei->laden( 0, new Text( "neusenden.png" ) );
-		datei->release();
-		bilder->add( "chat.ltdb/neusenden.png", neuSendenBild->getThis() );
-	}
-	Bild *entfernenBild = bilder->get( "chat.ltdb/entfernen.png" );
-	if( !entfernenBild )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-		datei->leseDaten( 0 );
-		entfernenBild = datei->laden( 0, new Text( "entfernen.png" ) );
-		datei->release();
-		bilder->add( "chat.ltdb/entfernen.png", entfernenBild->getThis() );
-	}
-	rahmen = new LRahmen();
-	rahmen->setFarbe( 0xFFFFFFFF );
-	rahmen->setRamenBreite( 1 );
-	auswahl = new AlphaFeld();
-	auswahl->setFarbe( 0x0000FF00 );
-	auswahl->setStrength( -2 );
-	auswahl->setPosition( 1, 1 );
-	name = initTextFeld( 0, 5, 100, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::Center, "" );
-	nachrichtSenden = initKnopf( 0, 30, 20, 20, 0, 0, "" );
-	nachrichtSenden->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-	nachrichtSenden->setHintergrundBildZ( nachrichtBild );
-	initToolTip( nachrichtSenden, "Nachricht senden.", zSchrift->getThis(), hauptScreen );
-	erneutSenden = initKnopf( 0, 30, 20, 20, 0, 0, "" );
-	erneutSenden->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-	erneutSenden->setHintergrundBildZ( neuSendenBild );
-	initToolTip( erneutSenden, "Einladung erneut senden.", zSchrift->getThis(), hauptScreen );
-	einladungAbbrechen = initKnopf( 0, 30, 20, 20, 0, 0, "" );
-	einladungAbbrechen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-	einladungAbbrechen->setHintergrundBildZ( entfernenBild );
-	initToolTip( einladungAbbrechen, "Einladung abbrechen.", zSchrift->getThis(), hauptScreen );
-	status = 0;
-	knopfX = 500;
-	tickVal = 0;
-	mausIn = 0;
-	remove = 0;
-	gruppeId = 0;
-	accountId = 0;
-	admin = 0;
-	höhe = 0;
-	animation = 0x1;
-	rend = 0;
-	ref = 1;
+    Bild *nachrichtBild = bilder->get( "chat.ltdb/nachricht.png" );
+    if( !nachrichtBild )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+        datei->leseDaten( 0 );
+        nachrichtBild = datei->laden( 0, new Text( "nachricht.png" ) );
+        datei->release();
+        bilder->add( "chat.ltdb/nachricht.png", nachrichtBild->getThis() );
+    }
+    Bild *neuSendenBild = bilder->get( "chat.ltdb/neusenden.png" );
+    if( !neuSendenBild )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+        datei->leseDaten( 0 );
+        neuSendenBild = datei->laden( 0, new Text( "neusenden.png" ) );
+        datei->release();
+        bilder->add( "chat.ltdb/neusenden.png", neuSendenBild->getThis() );
+    }
+    Bild *entfernenBild = bilder->get( "chat.ltdb/entfernen.png" );
+    if( !entfernenBild )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+        datei->leseDaten( 0 );
+        entfernenBild = datei->laden( 0, new Text( "entfernen.png" ) );
+        datei->release();
+        bilder->add( "chat.ltdb/entfernen.png", entfernenBild->getThis() );
+    }
+    rahmen = new LRahmen();
+    rahmen->setFarbe( 0xFFFFFFFF );
+    rahmen->setRamenBreite( 1 );
+    auswahl = new AlphaFeld();
+    auswahl->setFarbe( 0x0000FF00 );
+    auswahl->setStrength( -2 );
+    auswahl->setPosition( 1, 1 );
+    name = initTextFeld( 0, 5, 100, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::Center, "" );
+    nachrichtSenden = initKnopf( 0, 30, 20, 20, 0, 0, "" );
+    nachrichtSenden->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
+    nachrichtSenden->setHintergrundBildZ( nachrichtBild );
+    initToolTip( nachrichtSenden, "Nachricht senden.", zSchrift->getThis(), hauptScreen );
+    erneutSenden = initKnopf( 0, 30, 20, 20, 0, 0, "" );
+    erneutSenden->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
+    erneutSenden->setHintergrundBildZ( neuSendenBild );
+    initToolTip( erneutSenden, "Einladung erneut senden.", zSchrift->getThis(), hauptScreen );
+    einladungAbbrechen = initKnopf( 0, 30, 20, 20, 0, 0, "" );
+    einladungAbbrechen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
+    einladungAbbrechen->setHintergrundBildZ( entfernenBild );
+    initToolTip( einladungAbbrechen, "Einladung abbrechen.", zSchrift->getThis(), hauptScreen );
+    status = 0;
+    knopfX = 500;
+    tickVal = 0;
+    mausIn = 0;
+    remove = 0;
+    gruppeId = 0;
+    accountId = 0;
+    admin = 0;
+    höhe = 0;
+    animation = 0x1;
+    rend = 0;
+    ref = 1;
 }
 
 // Destruktor
 GruppeEinladungAccount::~GruppeEinladungAccount()
 {
-	rahmen->release();
-	auswahl->release();
-	name->release();
-	nachrichtSenden->release();
-	erneutSenden->release();
-	einladungAbbrechen->release();
+    rahmen->release();
+    auswahl->release();
+    name->release();
+    nachrichtSenden->release();
+    erneutSenden->release();
+    einladungAbbrechen->release();
 }
 
 // nicht constant
 void GruppeEinladungAccount::setGruppeId( int gruppeId )
 {
-	this->gruppeId = gruppeId;
+    this->gruppeId = gruppeId;
 }
 
 void GruppeEinladungAccount::setAccountId( int id )
 {
-	this->accountId = id;
-	name->setText( infoClient->getSpielerName( id ) );
-	rend = 1;
+    this->accountId = id;
+    name->setText( infoClient->getSpielerName( id ) );
+    rend = 1;
 }
 
 void GruppeEinladungAccount::setSize( int br )
 {
-	if( this->br != br )
-		rend = 1;
-	this->br = br;
-	if( knopfX == 500 )
-	{
-		knopfX = br;
-		rend = 1;
-	}
+    if( this->br != br )
+        rend = 1;
+    this->br = br;
+    if( knopfX == 500 )
+    {
+        knopfX = br;
+        rend = 1;
+    }
 }
 
 void GruppeEinladungAccount::setAbgelehnt()
 {
-	status = 1;
+    status = 1;
 }
 
 void GruppeEinladungAccount::setAngenommen()
 {
-	status = 2;
+    status = 2;
 }
 
 void GruppeEinladungAccount::setRemove()
 {
-	animation &= ~0x1;
+    animation &= ~0x1;
 }
 
 void GruppeEinladungAccount::setAdmin( int admin )
 {
-	this->admin = admin;
+    this->admin = admin;
 }
 
 bool GruppeEinladungAccount::tick( double tickVal )
 {
-	rend |= name->tick( tickVal );
-	rend |= nachrichtSenden->tick( tickVal );
-	rend |= erneutSenden->tick( tickVal );
-	rend |= einladungAbbrechen->tick( tickVal );
-	this->tickVal += tickVal * 100;
-	int val = ( int )this->tickVal;
-	if( val < 1 )
-	{
-		bool ret = rend;
-		rend = 0;
-		return ret;
-	}
-	if( val > 4 )
-		val = 4;
-	this->tickVal -= val;
-	if( ( animation | 0x1 ) == animation )
-	{
-		if( höhe < 30 )
-		{
-			höhe += val;
-			if( höhe > 30 )
-				höhe = 30;
-			rend = 1;
-		}
-	}
-	else
-	{
-		if( höhe > 0 )
-		{
-			höhe -= val;
-			if( höhe < 0 )
-				höhe = 0;
-			rend = 1;
-		}
-	}
-	if( mausIn )
-	{
-		if( admin == loginClient->getAccountId() && !status )
-		{
-			if( knopfX > br - 60 )
-			{
-				knopfX -= val;
-				if( knopfX < br - 60 )
-					knopfX = br - 60;
-				rend = 1;
-			}
-		}
-		else if( admin == loginClient->getAccountId() && status != 2 )
-		{
-			if( knopfX > br - 40 )
-			{
-				knopfX -= val;
-				if( knopfX < br - 40 )
-					knopfX = br - 40;
-				rend = 1;
-			}
-		}
-		else
-		{
-			if( knopfX > br - 20 )
-			{
-				knopfX -= val;
-				if( knopfX < br - 20 )
-					knopfX = br - 20;
-				rend = 1;
-			}
-		}
-	}
-	else
-	{
-		if( knopfX < br )
-		{
-			knopfX += val;
-			if( knopfX > br )
-				knopfX = br;
-			rend = 1;
-		}
-	}
-	switch( status )
-	{
-	case 1:
-		if( 1 )
-		{
-			int r = ( rahmen->getFarbe() >> 16 ) & 0xFF;
-			int g = ( rahmen->getFarbe() >> 8 ) & 0xFF;
-			int b = rahmen->getFarbe() & 0xFF;
-			if( r < 255 )
-			{
-				r += val;
-				if( r > 255 )
-					r = 255;
-				rend = 1;
-			}
-			if( g > 0 )
-			{
-				g -= val;
-				if( g < 0 )
-					g = 0;
-				rend = 1;
-			}
-			if( b > 0 )
-			{
-				b -= val;
-				if( b < 0 )
-					b = 0;
-				rend = 1;
-			}
-			int f = ( ( r << 16 ) & 0xFF0000 ) | ( ( g << 8 ) & 0xFF00 ) | ( b & 0xFF );
-			rahmen->setFarbe( ( rahmen->getFarbe() & 0xFF000000 ) | f );
-			auswahl->setFarbe( ( auswahl->getFarbe() & 0xFF000000 ) | f );
-		}
-		break;
-	case 2:
-		if( 1 )
-		{
-			int r = ( rahmen->getFarbe() >> 16 ) & 0xFF;
-			int g = ( rahmen->getFarbe() >> 8 ) & 0xFF;
-			int b = rahmen->getFarbe() & 0xFF;
-			if( r > 0 )
-			{
-				r -= val;
-				if( r < 0 )
-					r = 0;
-				rend = 1;
-			}
-			if( g < 255 )
-			{
-				g += val;
-				if( g > 255 )
-					g = 255;
-				rend = 1;
-			}
-			if( b > 0 )
-			{
-				b -= val;
-				if( b < 0 )
-					b = 0;
-				rend = 1;
-			}
-			int f = ( ( r << 16 ) & 0xFF0000 ) | ( ( g << 8 ) & 0xFF00 ) | ( b & 0xFF );
-			rahmen->setFarbe( ( rahmen->getFarbe() & 0xFF000000 ) | f );
-			auswahl->setFarbe( ( auswahl->getFarbe() & 0xFF000000 ) | f );
-		}
-		break;
-	}
-	bool ret = rend;
-	rend = 0;
-	return ret;
-}
-
-void GruppeEinladungAccount::doMausEreignis( MausEreignis &me )
-{
-	if( me.mx < 0 || me.my < 0 || me.mx > br || me.my > höhe )
-		mausIn = 0;
-	else
-		mausIn = 1;
-	bool ak = !me.verarbeitet;
-	nachrichtSenden->doMausEreignis( me );
-	int aktion = ( me.verarbeitet && ak ) ? 1 : 0;
-	erneutSenden->doMausEreignis( me );
-	aktion = ( me.verarbeitet && ak && !aktion ) ? 2 : aktion;
-	einladungAbbrechen->doMausEreignis( me );
-	aktion = ( me.verarbeitet && ak && !status && !aktion ) ? 3 : aktion;
-	if( me.id != ME_RLinks || !mausIn )
-		return;
-	switch( aktion )
-	{
-	case 1:
-		nachLogin->zChatLeiste()->addChat( accountId, 0 );
-		break;
-	case 2:
+    rend |= name->tick( tickVal );
+    rend |= nachrichtSenden->tick( tickVal );
+    rend |= erneutSenden->tick( tickVal );
+    rend |= einladungAbbrechen->tick( tickVal );
+    this->tickVal += tickVal * 100;
+    int val = (int)this->tickVal;
+    if( val < 1 )
+    {
+        bool ret = rend;
+        rend = 0;
+        return ret;
+    }
+    if( val > 4 )
+        val = 4;
+    this->tickVal -= val;
+    if( ( animation | 0x1 ) == animation )
+    {
+        if( höhe < 30 )
+        {
+            höhe += val;
+            if( höhe > 30 )
+                höhe = 30;
+            rend = 1;
+        }
+    }
+    else
+    {
+        if( höhe > 0 )
+        {
+            höhe -= val;
+            if( höhe < 0 )
+                höhe = 0;
+            rend = 1;
+        }
+    }
+    if( mausIn )
+    {
+        if( admin == loginClient->getAccountId() && !status )
+        {
+            if( knopfX > br - 60 )
+            {
+                knopfX -= val;
+                if( knopfX < br - 60 )
+                    knopfX = br - 60;
+                rend = 1;
+            }
+        }
+        else if( admin == loginClient->getAccountId() && status != 2 )
+        {
+            if( knopfX > br - 40 )
+            {
+                knopfX -= val;
+                if( knopfX < br - 40 )
+                    knopfX = br - 40;
+                rend = 1;
+            }
+        }
+        else
+        {
+            if( knopfX > br - 20 )
+            {
+                knopfX -= val;
+                if( knopfX < br - 20 )
+                    knopfX = br - 20;
+                rend = 1;
+            }
+        }
+    }
+    else
+    {
+        if( knopfX < br )
+        {
+            knopfX += val;
+            if( knopfX > br )
+                knopfX = br;
+            rend = 1;
+        }
+    }
+    switch( status )
+    {
+    case 1:
+        if( 1 )
+        {
+            int r = ( rahmen->getFarbe() >> 16 ) & 0xFF;
+            int g = ( rahmen->getFarbe() >> 8 ) & 0xFF;
+            int b = rahmen->getFarbe() & 0xFF;
+            if( r < 255 )
+            {
+                r += val;
+                if( r > 255 )
+                    r = 255;
+                rend = 1;
+            }
+            if( g > 0 )
+            {
+                g -= val;
+                if( g < 0 )
+                    g = 0;
+                rend = 1;
+            }
+            if( b > 0 )
+            {
+                b -= val;
+                if( b < 0 )
+                    b = 0;
+                rend = 1;
+            }
+            int f = ( ( r << 16 ) & 0xFF0000 ) | ( ( g << 8 ) & 0xFF00 ) | ( b & 0xFF );
+            rahmen->setFarbe( ( rahmen->getFarbe() & 0xFF000000 ) | f );
+            auswahl->setFarbe( ( auswahl->getFarbe() & 0xFF000000 ) | f );
+        }
+        break;
+    case 2:
+        if( 1 )
+        {
+            int r = ( rahmen->getFarbe() >> 16 ) & 0xFF;
+            int g = ( rahmen->getFarbe() >> 8 ) & 0xFF;
+            int b = rahmen->getFarbe() & 0xFF;
+            if( r > 0 )
+            {
+                r -= val;
+                if( r < 0 )
+                    r = 0;
+                rend = 1;
+            }
+            if( g < 255 )
+            {
+                g += val;
+                if( g > 255 )
+                    g = 255;
+                rend = 1;
+            }
+            if( b > 0 )
+            {
+                b -= val;
+                if( b < 0 )
+                    b = 0;
+                rend = 1;
+            }
+            int f = ( ( r << 16 ) & 0xFF0000 ) | ( ( g << 8 ) & 0xFF00 ) | ( b & 0xFF );
+            rahmen->setFarbe( ( rahmen->getFarbe() & 0xFF000000 ) | f );
+            auswahl->setFarbe( ( auswahl->getFarbe() & 0xFF000000 ) | f );
+        }
+        break;
+    }
+    bool ret = rend;
+    rend = 0;
+    return ret;
+}
+
+void GruppeEinladungAccount::doMausEreignis( MausEreignis & me )
+{
+    if( me.mx < 0 || me.my < 0 || me.mx > br || me.my > höhe )
+        mausIn = 0;
+    else
+        mausIn = 1;
+    bool ak = !me.verarbeitet;
+    nachrichtSenden->doMausEreignis( me );
+    int aktion = ( me.verarbeitet && ak ) ? 1 : 0;
+    erneutSenden->doMausEreignis( me );
+    aktion = ( me.verarbeitet && ak && !aktion ) ? 2 : aktion;
+    einladungAbbrechen->doMausEreignis( me );
+    aktion = ( me.verarbeitet && ak && !status && !aktion ) ? 3 : aktion;
+    if( me.id != ME_RLinks || !mausIn )
+        return;
+    switch( aktion )
+    {
+    case 1:
+        nachLogin->zChatLeiste()->addChat( accountId, 0 );
+        break;
+    case 2:
         if( !anmeldungClient )
             anmeldungClient = mainClient->createAnmeldungServerClient();
         if( !anmeldungClient )
@@ -312,11 +312,11 @@ void GruppeEinladungAccount::doMausEreignis( MausEreignis &me )
             nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( mainClient->getLetzterFehler() ),
                                                           new Text( "Ok" ), 0 );
         }
-		if( !anmeldungClient->verbinde() )
-		{
-			nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
-														  new Text( "Ok" ), 0 );
-		}
+        if( !anmeldungClient->verbinde() )
+        {
+            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
+                                                          new Text( "Ok" ), 0 );
+        }
         else
         {
             if( !anmeldungClient->gruppeSpielerEinladen( accountId, gruppeId ) )
@@ -326,8 +326,8 @@ void GruppeEinladungAccount::doMausEreignis( MausEreignis &me )
             }
             anmeldungClient->trenne( 0 );
         }
-		break;
-	case 3:
+        break;
+    case 3:
         if( !anmeldungClient )
             anmeldungClient = mainClient->createAnmeldungServerClient();
         if( !anmeldungClient )
@@ -342,287 +342,287 @@ void GruppeEinladungAccount::doMausEreignis( MausEreignis &me )
         }
         else
         {
-		    if( !anmeldungClient->gruppeEinladungAbbrechen( accountId, gruppeId ) )
-		    {
-			    nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
-														      new Text( "Ok" ), 0 );
-		    }
+            if( !anmeldungClient->gruppeEinladungAbbrechen( accountId, gruppeId ) )
+            {
+                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
+                                                              new Text( "Ok" ), 0 );
+            }
             anmeldungClient->trenne( 0 );
         }
-		break;
-	}
-}
-
-void GruppeEinladungAccount::render( int y, Bild &zrObj )
-{
-	if( !zrObj.setDrawOptions( 0, y, br, höhe ) )
-		return;
-	rahmen->setSize( br, höhe );
-	rahmen->render( zrObj );
-	int rbr = rahmen->getRBreite();
-	if( !zrObj.setDrawOptions( rbr, rbr, br - rbr * 2, höhe - rbr * 2 ) )
-	{
-		zrObj.releaseDrawOptions();
-		return;
-	}
-	auswahl->setSize( br - rbr * 2, höhe - rbr * 2 );
-	auswahl->render( zrObj );
-	nachrichtSenden->setPosition( knopfX, 5 );
-	nachrichtSenden->render( zrObj );
-	erneutSenden->setPosition( knopfX + 20, 5 );
-	erneutSenden->render( zrObj );
-	einladungAbbrechen->setPosition( knopfX + 40, 5 );
-	einladungAbbrechen->render( zrObj );
-	name->render( zrObj );
-	zrObj.releaseDrawOptions();
-	zrObj.releaseDrawOptions();
+        break;
+    }
+}
+
+void GruppeEinladungAccount::render( int y, Bild & zrObj )
+{
+    if( !zrObj.setDrawOptions( 0, y, br, höhe ) )
+        return;
+    rahmen->setSize( br, höhe );
+    rahmen->render( zrObj );
+    int rbr = rahmen->getRBreite();
+    if( !zrObj.setDrawOptions( rbr, rbr, br - rbr * 2, höhe - rbr * 2 ) )
+    {
+        zrObj.releaseDrawOptions();
+        return;
+    }
+    auswahl->setSize( br - rbr * 2, höhe - rbr * 2 );
+    auswahl->render( zrObj );
+    nachrichtSenden->setPosition( knopfX, 5 );
+    nachrichtSenden->render( zrObj );
+    erneutSenden->setPosition( knopfX + 20, 5 );
+    erneutSenden->render( zrObj );
+    einladungAbbrechen->setPosition( knopfX + 40, 5 );
+    einladungAbbrechen->render( zrObj );
+    name->render( zrObj );
+    zrObj.releaseDrawOptions();
+    zrObj.releaseDrawOptions();
 }
 
 // constant
 bool GruppeEinladungAccount::getRemove() const
 {
-	return remove;
+    return remove;
 }
 
 int GruppeEinladungAccount::getAccountId() const
 {
-	return accountId;
+    return accountId;
 }
 
 int GruppeEinladungAccount::getHeight() const
 {
-	return höhe;
+    return höhe;
 }
 
 // Reference Counting
 GruppeEinladungAccount *GruppeEinladungAccount::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 GruppeEinladungAccount *GruppeEinladungAccount::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 // Inhalt der GruppeEinladungListe Klasse aus Gruppe.h
 // Konstruktor
-GruppeEinladungListe::GruppeEinladungListe( Schrift *zSchrift )
-{
-	schrift = zSchrift->getThis();
-	Bild *maximierenBild = bilder->get( "chat.ltdb/maximieren.png" );
-	if( !maximierenBild )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-		datei->leseDaten( 0 );
-		maximierenBild = datei->laden( 0, new Text( "maximieren.png" ) );
-		datei->release();
-		bilder->add( "chat.ltdb/maximieren.png", maximierenBild->getThis() );
-	}
-	pos = Punkt( 200, 0 );
-	gr = Punkt( 150, 350 );
-	rahmen = new LRahmen();
-	rahmen->setRamenBreite( 1 );
-	rahmen->setFarbe( 0xFFFFFFFF );
-	rahmen->setSize( 150, 350 );
-	einladenName = initTextFeld( 5, 5, 115, 20, zSchrift, TextFeld::Style::TextFeld, "" );
-	initToolTip( einladenName, "Name des Spielers den du einladen möchtest.", zSchrift->getThis(), hauptScreen );
-	einladen = initKnopf( 125, 5, 20, 20, 0, 0, "" );
-	einladen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-	einladen->setHintergrundBildZ( maximierenBild );
-	initToolTip( einladen, "Diesen Spieler einladen.", zSchrift->getThis(), hauptScreen );
-	scroll = new VScrollBar();
-	accounts = new RCArray< GruppeEinladungAccount >();
-	einladungHöhe = 0;
-	tickVal = 0;
-	anzahl = 0;
-	gruppeId = 0;
-	admin = 0;
-	rend = 0;
-	ref = 1;
+GruppeEinladungListe::GruppeEinladungListe( Schrift * zSchrift )
+{
+    schrift = zSchrift->getThis();
+    Bild *maximierenBild = bilder->get( "chat.ltdb/maximieren.png" );
+    if( !maximierenBild )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+        datei->leseDaten( 0 );
+        maximierenBild = datei->laden( 0, new Text( "maximieren.png" ) );
+        datei->release();
+        bilder->add( "chat.ltdb/maximieren.png", maximierenBild->getThis() );
+    }
+    pos = Punkt( 200, 0 );
+    gr = Punkt( 150, 350 );
+    rahmen = new LRahmen();
+    rahmen->setRamenBreite( 1 );
+    rahmen->setFarbe( 0xFFFFFFFF );
+    rahmen->setSize( 150, 350 );
+    einladenName = initTextFeld( 5, 5, 115, 20, zSchrift, TextFeld::Style::TextFeld, "" );
+    initToolTip( einladenName, "Name des Spielers den du einladen möchtest.", zSchrift->getThis(), hauptScreen );
+    einladen = initKnopf( 125, 5, 20, 20, 0, 0, "" );
+    einladen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
+    einladen->setHintergrundBildZ( maximierenBild );
+    initToolTip( einladen, "Diesen Spieler einladen.", zSchrift->getThis(), hauptScreen );
+    scroll = new VScrollBar();
+    accounts = new RCArray< GruppeEinladungAccount >();
+    einladungHöhe = 0;
+    tickVal = 0;
+    anzahl = 0;
+    gruppeId = 0;
+    admin = 0;
+    rend = 0;
+    ref = 1;
 }
 
 // Destruktor
 GruppeEinladungListe::~GruppeEinladungListe()
 {
-	rahmen->release();
-	einladenName->release();
-	einladen->release();
-	scroll->release();
-	accounts->release();
-	schrift->release();
+    rahmen->release();
+    einladenName->release();
+    einladen->release();
+    scroll->release();
+    accounts->release();
+    schrift->release();
 }
 
 // nicht constant
 void GruppeEinladungListe::reset()
 {
-	einladenName->setText( "" );
-	scroll->update( 0, 0 );
-	einladungHöhe = 0;
-	tickVal = 0;
-	accounts->leeren();
-	anzahl = 0;
-	gruppeId = 0;
-	admin = 0;
-	rend = 1;
+    einladenName->setText( "" );
+    scroll->update( 0, 0 );
+    einladungHöhe = 0;
+    tickVal = 0;
+    accounts->leeren();
+    anzahl = 0;
+    gruppeId = 0;
+    admin = 0;
+    rend = 1;
 }
 
 void GruppeEinladungListe::setGruppeId( int gruppeId )
 {
-	this->gruppeId = gruppeId;
-	for( int i = 0; i < anzahl; i++ )
-		accounts->z( i )->setGruppeId( gruppeId );
+    this->gruppeId = gruppeId;
+    for( int i = 0; i < anzahl; i++ )
+        accounts->z( i )->setGruppeId( gruppeId );
 }
 
 void GruppeEinladungListe::addAccount( int id )
 {
-	for( int i = 0; i < anzahl; i++ )
-	{
-		GruppeEinladungAccount *tmp = accounts->z( i );
-		if( tmp->getAccountId() == id )
-			tmp->setRemove();
-	}
-	GruppeEinladungAccount *tmp = new GruppeEinladungAccount( schrift );
-	tmp->setGruppeId( gruppeId );
-	tmp->setAccountId( id );
-	tmp->setAdmin( admin );
-	accounts->add( tmp, anzahl );
-	anzahl++;
-	rend = 1;
+    for( int i = 0; i < anzahl; i++ )
+    {
+        GruppeEinladungAccount *tmp = accounts->z( i );
+        if( tmp->getAccountId() == id )
+            tmp->setRemove();
+    }
+    GruppeEinladungAccount * tmp = new GruppeEinladungAccount( schrift );
+    tmp->setGruppeId( gruppeId );
+    tmp->setAccountId( id );
+    tmp->setAdmin( admin );
+    accounts->add( tmp, anzahl );
+    anzahl++;
+    rend = 1;
 }
 
 void GruppeEinladungListe::setAbgelehnt( int id )
 {
-	for( int i = 0; i < anzahl; i++ )
-	{
-		GruppeEinladungAccount *tmp = accounts->z( i );
-		if( tmp && tmp->getAccountId() == id )
-		{
-			tmp->setAbgelehnt();
-			break;
-		}
-	}
+    for( int i = 0; i < anzahl; i++ )
+    {
+        GruppeEinladungAccount *tmp = accounts->z( i );
+        if( tmp && tmp->getAccountId() == id )
+        {
+            tmp->setAbgelehnt();
+            break;
+        }
+    }
 }
 
 void GruppeEinladungListe::setAngenommen( int id )
 {
-	for( int i = 0; i < anzahl; i++ )
-	{
-		GruppeEinladungAccount *tmp = accounts->z( i );
-		if( tmp && tmp->getAccountId() == id )
-		{
-			tmp->setAngenommen();
-			break;
-		}
-	}
+    for( int i = 0; i < anzahl; i++ )
+    {
+        GruppeEinladungAccount *tmp = accounts->z( i );
+        if( tmp && tmp->getAccountId() == id )
+        {
+            tmp->setAngenommen();
+            break;
+        }
+    }
 }
 
 void GruppeEinladungListe::remove( int id )
 {
-	for( int i = 0; i < anzahl; i++ )
-	{
-		GruppeEinladungAccount *tmp = accounts->z( i );
-		if( tmp && tmp->getAccountId() == id )
-		{
-			tmp->setRemove();
-			break;
-		}
-	}
+    for( int i = 0; i < anzahl; i++ )
+    {
+        GruppeEinladungAccount *tmp = accounts->z( i );
+        if( tmp && tmp->getAccountId() == id )
+        {
+            tmp->setRemove();
+            break;
+        }
+    }
 }
 
 void GruppeEinladungListe::setAdmin( int admin )
 {
-	this->admin = admin;
-	for( int i = 0; i < anzahl; i++ )
-	{
-		GruppeEinladungAccount *tmp = accounts->z( i );
-		if( tmp )
-			tmp->setAdmin( admin );
-	}
+    this->admin = admin;
+    for( int i = 0; i < anzahl; i++ )
+    {
+        GruppeEinladungAccount *tmp = accounts->z( i );
+        if( tmp )
+            tmp->setAdmin( admin );
+    }
 }
 
 bool GruppeEinladungListe::tick( double tickVal )
 {
-	rend |= einladenName->tick( tickVal );
-	rend |= einladen->tick( tickVal );
-	rend |= scroll->getRend();
-	this->tickVal += tickVal * 100;
-	int val = ( int )this->tickVal;
-	if( val < 1 )
-	{
-		bool ret = rend;
-		rend = 0;
-		return ret;
-	}
-	if( val > 4 )
-		val = 4;
-	this->tickVal -= val;
-	if( admin == loginClient->getAccountId() )
-	{
-		if( einladungHöhe < 30 )
-		{
-			einladungHöhe += val;
-			if( einladungHöhe > 30 )
-				einladungHöhe = 30;
-			rend = 1;
-		}
-	}
-	else
-	{
-		if( einladungHöhe > 0 )
-		{
-			einladungHöhe -= val;
-			if( einladungHöhe < 0 )
-				einladungHöhe = 0;
-			rend = 1;
-		}
-	}
-	for( int i = 0; i < anzahl; i++ )
-	{
-		GruppeEinladungAccount *tmp = accounts->z( i );
-		if( tmp )
-			rend |= tmp->tick( tickVal );
-	}
-	for( int i = 0; i < anzahl; i++ )
-	{
-		GruppeEinladungAccount *tmp = accounts->z( i );
-		if( !tmp->getHeight() )
-		{
-			accounts->remove( i );
-			anzahl--;
-			rend = 1;
-		}
-	}
-	bool ret = rend;
-	rend = 0;
-	return ret;
-}
-
-void GruppeEinladungListe::doMausEreignis( MausEreignis &me )
-{
-	int tmpX = me.mx;
-	int tmpY = me.my;
-	me.mx -= pos.x;
-	me.my -= pos.y;
-	if( einladungHöhe == 30 )
-	{
-		einladenName->doMausEreignis( me );
-		bool ak = !me.verarbeitet;
-		einladen->doMausEreignis( me );
-		if( me.verarbeitet && ak )
-		{
-			if( me.id == ME_RLinks )
-			{
-				if( einladenName->zText()->getLength() )
-				{
-					int accountId = infoClient->getAccountId( einladenName->zText()->getText() );
-					if( accountId )
-					{
+    rend |= einladenName->tick( tickVal );
+    rend |= einladen->tick( tickVal );
+    rend |= scroll->getRend();
+    this->tickVal += tickVal * 100;
+    int val = (int)this->tickVal;
+    if( val < 1 )
+    {
+        bool ret = rend;
+        rend = 0;
+        return ret;
+    }
+    if( val > 4 )
+        val = 4;
+    this->tickVal -= val;
+    if( admin == loginClient->getAccountId() )
+    {
+        if( einladungHöhe < 30 )
+        {
+            einladungHöhe += val;
+            if( einladungHöhe > 30 )
+                einladungHöhe = 30;
+            rend = 1;
+        }
+    }
+    else
+    {
+        if( einladungHöhe > 0 )
+        {
+            einladungHöhe -= val;
+            if( einladungHöhe < 0 )
+                einladungHöhe = 0;
+            rend = 1;
+        }
+    }
+    for( int i = 0; i < anzahl; i++ )
+    {
+        GruppeEinladungAccount *tmp = accounts->z( i );
+        if( tmp )
+            rend |= tmp->tick( tickVal );
+    }
+    for( int i = 0; i < anzahl; i++ )
+    {
+        GruppeEinladungAccount *tmp = accounts->z( i );
+        if( !tmp->getHeight() )
+        {
+            accounts->remove( i );
+            anzahl--;
+            rend = 1;
+        }
+    }
+    bool ret = rend;
+    rend = 0;
+    return ret;
+}
+
+void GruppeEinladungListe::doMausEreignis( MausEreignis & me )
+{
+    int tmpX = me.mx;
+    int tmpY = me.my;
+    me.mx -= pos.x;
+    me.my -= pos.y;
+    if( einladungHöhe == 30 )
+    {
+        einladenName->doMausEreignis( me );
+        bool ak = !me.verarbeitet;
+        einladen->doMausEreignis( me );
+        if( me.verarbeitet && ak )
+        {
+            if( me.id == ME_RLinks )
+            {
+                if( einladenName->zText()->getLength() )
+                {
+                    int accountId = infoClient->getAccountId( einladenName->zText()->getText() );
+                    if( accountId )
+                    {
                         if( !anmeldungClient )
                             anmeldungClient = mainClient->createAnmeldungServerClient();
                         if( !anmeldungClient )
@@ -650,49 +650,49 @@ void GruppeEinladungListe::doMausEreignis( MausEreignis &me )
                             }
                             anmeldungClient->trenne( 0 );
                         }
-					}
-					else
-					{
-						nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( "Der Account wurde nicht gefunden." ),
-																	  new Text( "Ok" ), 0 );
-					}
-				}
-			}
-			return;
-		}
-	}
-	scroll->doMausMessage( 134, 1 + einladungHöhe, 15, 348 - einladungHöhe, me );
-	me.my -= einladungHöhe + 1;
-	for( int i = 0; i < anzahl; i++ )
-	{
-		GruppeEinladungAccount *tmp = accounts->z( i );
-		if( tmp )
-		{
-			tmp->doMausEreignis( me );
-			if( tmp->getRemove() )
-			{
-				accounts->remove( i );
-				anzahl--;
-				rend = 1;
-			}
-			me.my -= tmp->getHeight();
-		}
-	}
-	me.mx = tmpX;
-	me.my = tmpY;
-}
-
-void GruppeEinladungListe::doTastaturEreignis( TastaturEreignis &te )
-{
-	bool b = !te.verarbeitet;
-	einladenName->doTastaturEreignis( te );
-	if( te.verarbeitet && b && te.id == TE_Release && te.taste == T_Enter )
-	{
-		if( einladenName->zText()->getLength() )
-		{
-			int accountId = infoClient->getAccountId( einladenName->zText()->getText() );
-			if( accountId )
-			{
+                    }
+                    else
+                    {
+                        nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( "Der Account wurde nicht gefunden." ),
+                                                                      new Text( "Ok" ), 0 );
+                    }
+                }
+            }
+            return;
+        }
+    }
+    scroll->doMausMessage( 134, 1 + einladungHöhe, 15, 348 - einladungHöhe, me );
+    me.my -= einladungHöhe + 1;
+    for( int i = 0; i < anzahl; i++ )
+    {
+        GruppeEinladungAccount *tmp = accounts->z( i );
+        if( tmp )
+        {
+            tmp->doMausEreignis( me );
+            if( tmp->getRemove() )
+            {
+                accounts->remove( i );
+                anzahl--;
+                rend = 1;
+            }
+            me.my -= tmp->getHeight();
+        }
+    }
+    me.mx = tmpX;
+    me.my = tmpY;
+}
+
+void GruppeEinladungListe::doTastaturEreignis( TastaturEreignis & te )
+{
+    bool b = !te.verarbeitet;
+    einladenName->doTastaturEreignis( te );
+    if( te.verarbeitet && b && te.id == TE_Release && te.taste == T_Enter )
+    {
+        if( einladenName->zText()->getLength() )
+        {
+            int accountId = infoClient->getAccountId( einladenName->zText()->getText() );
+            if( accountId )
+            {
                 if( !anmeldungClient )
                     anmeldungClient = mainClient->createAnmeldungServerClient();
                 if( !anmeldungClient )
@@ -720,51 +720,51 @@ void GruppeEinladungListe::doTastaturEreignis( TastaturEreignis &te )
                     }
                     anmeldungClient->trenne( 0 );
                 }
-			}
-			else
-			{
-				nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( "Der Account wurde nicht gefunden." ),
-															  new Text( "Ok" ), 0 );
-			}
-		}
-	}
-}
-
-void GruppeEinladungListe::render( Bild &zRObj )
-{
-	if( !zRObj.setDrawOptions( pos, gr ) )
-		return;
-	rahmen->render( zRObj );
-	int rbr = rahmen->getRBreite();
-	if( einladungHöhe )
-	{
-		if( zRObj.setDrawOptions( rbr, rbr, gr.x - rbr * 2, einladungHöhe - rbr * 2 ) )
-		{
-			einladenName->render( zRObj );
-			einladen->render( zRObj );
-			zRObj.releaseDrawOptions();
-		}
-	}
-	if( !zRObj.setDrawOptions( rbr, einladungHöhe + rbr, gr.x - rbr * 2, gr.y - rbr * 2 ) )
-	{
-		zRObj.releaseDrawOptions();
-		return;
-	}
-	scroll->render( 134, 0, 15, 348 - einladungHöhe, zRObj );
-	int höhe = 0;
-	for( int i = 0; i < anzahl; i++ )
-	{
-		GruppeEinladungAccount *tmp = accounts->z( i );
-		if( tmp )
-		{
-			tmp->setSize( gr.x - 15 - rbr * 2 );
-			tmp->render( höhe - scroll->getScroll(), zRObj );
-			höhe += tmp->getHeight();
-		}
-	}
-	scroll->update( höhe, gr.y - rbr * 2 - einladungHöhe );
-	zRObj.releaseDrawOptions();
-	zRObj.releaseDrawOptions();
+            }
+            else
+            {
+                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( "Der Account wurde nicht gefunden." ),
+                                                              new Text( "Ok" ), 0 );
+            }
+        }
+    }
+}
+
+void GruppeEinladungListe::render( Bild & zRObj )
+{
+    if( !zRObj.setDrawOptions( pos, gr ) )
+        return;
+    rahmen->render( zRObj );
+    int rbr = rahmen->getRBreite();
+    if( einladungHöhe )
+    {
+        if( zRObj.setDrawOptions( rbr, rbr, gr.x - rbr * 2, einladungHöhe - rbr * 2 ) )
+        {
+            einladenName->render( zRObj );
+            einladen->render( zRObj );
+            zRObj.releaseDrawOptions();
+        }
+    }
+    if( !zRObj.setDrawOptions( rbr, einladungHöhe + rbr, gr.x - rbr * 2, gr.y - rbr * 2 ) )
+    {
+        zRObj.releaseDrawOptions();
+        return;
+    }
+    scroll->render( 134, 0, 15, 348 - einladungHöhe, zRObj );
+    int höhe = 0;
+    for( int i = 0; i < anzahl; i++ )
+    {
+        GruppeEinladungAccount *tmp = accounts->z( i );
+        if( tmp )
+        {
+            tmp->setSize( gr.x - 15 - rbr * 2 );
+            tmp->render( höhe - scroll->getScroll(), zRObj );
+            höhe += tmp->getHeight();
+        }
+    }
+    scroll->update( höhe, gr.y - rbr * 2 - einladungHöhe );
+    zRObj.releaseDrawOptions();
+    zRObj.releaseDrawOptions();
 }
 
 // constant
@@ -772,359 +772,359 @@ void GruppeEinladungListe::render( Bild &zRObj )
 // Reference Counting
 GruppeEinladungListe *GruppeEinladungListe::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 GruppeEinladungListe *GruppeEinladungListe::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 // Inhalt der GruppeAccountDaten Klasse aus Gruppe.h
 // Konstruktor
-GruppeAccountDaten::GruppeAccountDaten( Schrift *zSchrift )
-{
-	Bild *nachrichtBild = bilder->get( "chat.ltdb/nachricht.png" );
-	if( !nachrichtBild )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-		datei->leseDaten( 0 );
-		nachrichtBild = datei->laden( 0, new Text( "nachricht.png" ) );
-		datei->release();
-		bilder->add( "chat.ltdb/nachricht.png", nachrichtBild->getThis() );
-	}
-	Bild *einladungBild = bilder->get( "chat.ltdb/neuerfreund.png" );
-	if( !nachrichtBild )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-		datei->leseDaten( 0 );
-		einladungBild = datei->laden( 0, new Text( "neuerfreund.png" ) );
-		datei->release();
-		bilder->add( "chat.ltdb/neuerfreund.png", einladungBild->getThis() );
-	}
-	Bild *ansehenBild = bilder->get( "chat.ltdb/ansehen.png" );
-	if( !ansehenBild )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-		datei->leseDaten( 0 );
-		ansehenBild = datei->laden( 0, new Text( "ansehen.png" ) );
-		datei->release();
-		bilder->add( "chat.ltdb/ansehen.png", ansehenBild->getThis() );
-	}
-	Bild *entfernenBild = bilder->get( "chat.ltdb/entfernen.png" );
-	if( !entfernenBild )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-		datei->leseDaten( 0 );
-		entfernenBild = datei->laden( 0, new Text( "entfernen.png" ) );
-		datei->release();
-		bilder->add( "chat.ltdb/entfernen.png", entfernenBild->getThis() );
-	}
-	rahmen = new LRahmen();
-	rahmen->setFarbe( 0xFFFFFFFF );
-	rahmen->setRamenBreite( 1 );
-	auswahl = new AlphaFeld();
-	auswahl->setFarbe( 0x0000FF00 );
-	auswahl->setStrength( -2 );
-	auswahl->setPosition( 1, 1 );
-	name = initTextFeld( 1, 6, 100, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::Center, "" );
-	punkte = initTextFeld( 101, 6, 100, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::Center, "0p" );
-	nachrichtSenden = initKnopf( 0, 30, 20, 20, 0, 0, "" );
-	nachrichtSenden->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-	nachrichtSenden->setHintergrundBildZ( nachrichtBild );
-	initToolTip( nachrichtSenden, "Nachricht senden.", zSchrift->getThis(), hauptScreen );
-	freundEinladung = initKnopf( 0, 30, 20, 20, 0, 0, "" );
-	freundEinladung->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-	freundEinladung->setHintergrundBildZ( einladungBild );
-	initToolTip( freundEinladung, "Freundeseinladung senden.", zSchrift->getThis(), hauptScreen );
-	accountAnsehen = initKnopf( 0, 30, 20, 20, 0, 0, "" );
-	accountAnsehen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-	accountAnsehen->setHintergrundBildZ( ansehenBild );
-	initToolTip( accountAnsehen, "Account ansehen.", zSchrift->getThis(), hauptScreen );
-	kick = initKnopf( 0, 30, 20, 20, 0, 0, "" );
-	kick->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-	kick->setHintergrundBildZ( entfernenBild );
-	initToolTip( kick, "Diesen Spieler kicken.", zSchrift->getThis(), hauptScreen );
-	tickVal = 0;
-	mausIn = 0;
-	remove = 0;
-	gruppeId = 0;
-	accountId = 0;
-	admin = 0;
-	höhe = 0;
-	animation = 0x1;
-	rend = 0;
-	ref = 1;
+GruppeAccountDaten::GruppeAccountDaten( Schrift * zSchrift )
+{
+    Bild *nachrichtBild = bilder->get( "chat.ltdb/nachricht.png" );
+    if( !nachrichtBild )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+        datei->leseDaten( 0 );
+        nachrichtBild = datei->laden( 0, new Text( "nachricht.png" ) );
+        datei->release();
+        bilder->add( "chat.ltdb/nachricht.png", nachrichtBild->getThis() );
+    }
+    Bild *einladungBild = bilder->get( "chat.ltdb/neuerfreund.png" );
+    if( !nachrichtBild )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+        datei->leseDaten( 0 );
+        einladungBild = datei->laden( 0, new Text( "neuerfreund.png" ) );
+        datei->release();
+        bilder->add( "chat.ltdb/neuerfreund.png", einladungBild->getThis() );
+    }
+    Bild *ansehenBild = bilder->get( "chat.ltdb/ansehen.png" );
+    if( !ansehenBild )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+        datei->leseDaten( 0 );
+        ansehenBild = datei->laden( 0, new Text( "ansehen.png" ) );
+        datei->release();
+        bilder->add( "chat.ltdb/ansehen.png", ansehenBild->getThis() );
+    }
+    Bild *entfernenBild = bilder->get( "chat.ltdb/entfernen.png" );
+    if( !entfernenBild )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+        datei->leseDaten( 0 );
+        entfernenBild = datei->laden( 0, new Text( "entfernen.png" ) );
+        datei->release();
+        bilder->add( "chat.ltdb/entfernen.png", entfernenBild->getThis() );
+    }
+    rahmen = new LRahmen();
+    rahmen->setFarbe( 0xFFFFFFFF );
+    rahmen->setRamenBreite( 1 );
+    auswahl = new AlphaFeld();
+    auswahl->setFarbe( 0x0000FF00 );
+    auswahl->setStrength( -2 );
+    auswahl->setPosition( 1, 1 );
+    name = initTextFeld( 1, 6, 100, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::Center, "" );
+    punkte = initTextFeld( 101, 6, 100, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::Center, "0p" );
+    nachrichtSenden = initKnopf( 0, 30, 20, 20, 0, 0, "" );
+    nachrichtSenden->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
+    nachrichtSenden->setHintergrundBildZ( nachrichtBild );
+    initToolTip( nachrichtSenden, "Nachricht senden.", zSchrift->getThis(), hauptScreen );
+    freundEinladung = initKnopf( 0, 30, 20, 20, 0, 0, "" );
+    freundEinladung->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
+    freundEinladung->setHintergrundBildZ( einladungBild );
+    initToolTip( freundEinladung, "Freundeseinladung senden.", zSchrift->getThis(), hauptScreen );
+    accountAnsehen = initKnopf( 0, 30, 20, 20, 0, 0, "" );
+    accountAnsehen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
+    accountAnsehen->setHintergrundBildZ( ansehenBild );
+    initToolTip( accountAnsehen, "Account ansehen.", zSchrift->getThis(), hauptScreen );
+    kick = initKnopf( 0, 30, 20, 20, 0, 0, "" );
+    kick->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
+    kick->setHintergrundBildZ( entfernenBild );
+    initToolTip( kick, "Diesen Spieler kicken.", zSchrift->getThis(), hauptScreen );
+    tickVal = 0;
+    mausIn = 0;
+    remove = 0;
+    gruppeId = 0;
+    accountId = 0;
+    admin = 0;
+    höhe = 0;
+    animation = 0x1;
+    rend = 0;
+    ref = 1;
 }
 
 // Destruktor
 GruppeAccountDaten::~GruppeAccountDaten()
 {
-	rahmen->release();
-	auswahl->release();
-	name->release();
-	punkte->release();
-	nachrichtSenden->release();
-	freundEinladung->release();
-	accountAnsehen->release();
-	kick->release();
+    rahmen->release();
+    auswahl->release();
+    name->release();
+    punkte->release();
+    nachrichtSenden->release();
+    freundEinladung->release();
+    accountAnsehen->release();
+    kick->release();
 }
 
 // nicht constant
 void GruppeAccountDaten::setGruppeId( int gruppeId )
 {
-	this->gruppeId = gruppeId;
+    this->gruppeId = gruppeId;
 }
 
 void GruppeAccountDaten::setAccountId( int id )
 {
-	accountId = id;
-	name->setText( infoClient->getSpielerName( id ) );
-	punkte->setText( "" );
-	punkte->zText()->append( infoClient->getSpielerPunkte( id, infoClient->getSpielId( infoClient->getGruppenKarteId( gruppeId ) ) ) );
-	punkte->zText()->append( "p" );
-	rend = 1;
+    accountId = id;
+    name->setText( infoClient->getSpielerName( id ) );
+    punkte->setText( "" );
+    punkte->zText()->append( infoClient->getSpielerPunkte( id, infoClient->getSpielId( infoClient->getGruppenKarteId( gruppeId ) ) ) );
+    punkte->zText()->append( "p" );
+    rend = 1;
 }
 
 void GruppeAccountDaten::setSize( int x )
 {
-	if( br != x )
-	{
-		br = x;
-		rend = 1;
-	}
+    if( br != x )
+    {
+        br = x;
+        rend = 1;
+    }
 }
 
 void GruppeAccountDaten::entfernen()
 {
-	animation &= ~0x1;
+    animation &= ~0x1;
 }
 
 void GruppeAccountDaten::setAdmin( int admin )
 {
-	this->admin = admin;
-	rend = 1;
+    this->admin = admin;
+    rend = 1;
 }
 
 bool GruppeAccountDaten::tick( double tickVal )
 {
-	rend |= name->tick( tickVal );
-	rend |= punkte->tick( tickVal );
-	rend |= nachrichtSenden->tick( tickVal );
-	rend |= accountAnsehen->tick( tickVal );
-	rend |= freundEinladung->tick( tickVal );
-	rend |= kick->tick( tickVal );
-	this->tickVal += tickVal * 100;
-	int val = ( int )this->tickVal;
-	if( val < 1 )
-	{
-		bool ret = rend;
-		rend = 0;
-		return ret;
-	}
-	if( val > 4 )
-		val = 4;
-	this->tickVal -= val;
-	if( admin == accountId )
-	{
-		int r = ( auswahl->getFarbe() >> 16 ) & 0xFF;
-		if( r < 200 )
-		{
-			r += val;
-			if( r > 200 )
-				r = 200;
-			auswahl->setFarbe( ( auswahl->getFarbe() & 0xFF00FFFF ) | ( ( r << 16 ) & 0xFF0000 ) );
-			rend = 1;
-		}
-	}
-	else
-	{
-		int r = ( auswahl->getFarbe() >> 16 ) & 0xFF;
-		if( r > 0 )
-		{
-			if( r - val < 0 )
-				r = 0;
-			else
-				r -= val;
-			auswahl->setFarbe( ( auswahl->getFarbe() & 0xFF00FFFF ) | ( ( r << 16 ) & 0xFF0000 ) );
-			rend = 1;
-		}
-	}
-	if( ( animation | 0x1 ) == animation )
-	{
-		if( höhe < 30 )
-		{
-			höhe += val;
-			if( höhe > 30 )
-				höhe = 30;
-			rend = 1;
-		}
-		if( mausIn )
-		{
-			if( höhe < 50 )
-			{
-				höhe += val;
-				if( höhe > 50 )
-					höhe = 50;
-				rend = 1;
-			}
-			int a = ( auswahl->getFarbe() >> 24 ) & 0xFF;
-			if( a < 50 )
-			{
-				a += val;
-				if( a > 50 )
-					a = 50;
-				auswahl->setFarbe( ( ( a << 24 ) & 0xFF000000 ) | ( auswahl->getFarbe() & 0xFFFFFF ) );
-				rend = 1;
-			}
-		}
-		else
-		{
-			if( höhe > 30 )
-			{
-				höhe -= val;
-				if( höhe < 30 )
-					höhe = 30;
-				rend = 1;
-			}
-			int a = ( auswahl->getFarbe() >> 24 ) & 0xFF;
-			if( a > 0 )
-			{
-				if( a - val < 0 )
-					a = 0;
-				else
-					a -= val;
-				auswahl->setFarbe( ( ( a << 24 ) & 0xFF000000 ) | ( auswahl->getFarbe() & 0xFFFFFF ) );
-				rend = 1;
-			}
-		}
-		if( accountId != loginClient->getAccountId() )
-		{
-			if( nachrichtSenden->getBreite() < 20 )
-			{
-				nachrichtSenden->setSize( nachrichtSenden->getBreite() + val, nachrichtSenden->getHeight() );
-				if( nachrichtSenden->getBreite() > 20 )
-					nachrichtSenden->setSize( 20, nachrichtSenden->getHeight() );
-				rend = 1;
-			}
-		}
-		else
-		{
-			if( nachrichtSenden->getBreite() > 0 )
-			{
-				nachrichtSenden->setSize( nachrichtSenden->getBreite() - val, nachrichtSenden->getHeight() );
-				if( nachrichtSenden->getBreite() < 0 )
-					nachrichtSenden->setSize( 0, nachrichtSenden->getHeight() );
-				rend = 1;
-			}
-		}
-		if( accountAnsehen->getBreite() < 20 )
-		{
-			accountAnsehen->setSize( accountAnsehen->getBreite() + val, accountAnsehen->getHeight() );
-			if( accountAnsehen->getBreite() > 20 )
-				accountAnsehen->setSize( 20, accountAnsehen->getHeight() );
-			rend = 1;
-		}
-		if( accountId == loginClient->getAccountId() || nachLogin->zFreundesListe()->istFreund( accountId ) )
-		{
-			if( freundEinladung->getBreite() > 0 )
-			{
-				freundEinladung->setSize( freundEinladung->getBreite() - val, freundEinladung->getHeight() );
-				if( freundEinladung->getBreite() < 0 )
-					freundEinladung->setSize( 0, freundEinladung->getHeight() );
-				rend = 1;
-			}
-		}
-		else
-		{
-			if( freundEinladung->getBreite() < 20 )
-			{
-				freundEinladung->setSize( freundEinladung->getBreite() + val, freundEinladung->getHeight() );
-				if( freundEinladung->getBreite() > 20 )
-					freundEinladung->setSize( 20, freundEinladung->getHeight() );
-				rend = 1;
-			}
-		}
-		if( accountId == loginClient->getAccountId() || admin != loginClient->getAccountId() )
-		{
-			if( kick->getBreite() > 0 )
-			{
-				kick->setSize( kick->getBreite() - val, kick->getHeight() );
-				if( kick->getBreite() < 0 )
-					kick->setSize( 0, kick->getHeight() );
-				rend = 1;
-			}
-		}
-		else
-		{
-			if( kick->getBreite() < 20 )
-			{
-				kick->setSize( kick->getBreite() + val, kick->getHeight() );
-				if( kick->getBreite() > 20 )
-					kick->setSize( 20, kick->getHeight() );
-				rend = 1;
-			}
-		}
-	}
-	else
-	{
-		if( höhe > 0 )
-		{
-			höhe -= val;
-			if( höhe <= 0 )
-			{
-				höhe = 0;
-				remove = 1;
-			}
-			rend = 1;
-		}
-	}
-	bool ret = rend;
-	rend = 0;
-	return ret;
-}
-
-void GruppeAccountDaten::doMausEreignis( MausEreignis &me )
-{
-	if( me.mx < 0 || me.my < 0 || me.mx > br || me.my > höhe )
-		mausIn = 0;
-	else
-		mausIn = 1;
-	bool ak = !me.verarbeitet;
-	nachrichtSenden->doMausEreignis( me );
-	int aktion = ( me.verarbeitet && ak ) ? 1 : 0;
-	accountAnsehen->doMausEreignis( me );
-	aktion = ( me.verarbeitet && ak && !aktion ) ? 2 : aktion;
-	freundEinladung->doMausEreignis( me );
-	aktion = ( me.verarbeitet && ak && !aktion ) ? 3 : aktion;
-	kick->doMausEreignis( me );
-	aktion = ( me.verarbeitet && ak && !aktion ) ? 4 : aktion;
-	if( me.id != ME_RLinks )
-		return;
-	switch( aktion )
-	{
-	case 1:
-		nachLogin->zChatLeiste()->addChat( accountId, 0 );
-		break;
-	case 2:
-		if( nachLogin->zAccountAnsehenFenster()->setSpielerDetails( accountId, 2 ) )
-		{
-			MausEreignis me = { ME_RLinks, 0, 0, 0, 0, 0 };
-			nachLogin->zTitelLeiste()->druckAccountAnsehen( me );
-		}
-		break;
-	case 3:
-		chatClient->freundesAnfrage( accountId );
-		break;
-	case 4:
+    rend |= name->tick( tickVal );
+    rend |= punkte->tick( tickVal );
+    rend |= nachrichtSenden->tick( tickVal );
+    rend |= accountAnsehen->tick( tickVal );
+    rend |= freundEinladung->tick( tickVal );
+    rend |= kick->tick( tickVal );
+    this->tickVal += tickVal * 100;
+    int val = (int)this->tickVal;
+    if( val < 1 )
+    {
+        bool ret = rend;
+        rend = 0;
+        return ret;
+    }
+    if( val > 4 )
+        val = 4;
+    this->tickVal -= val;
+    if( admin == accountId )
+    {
+        int r = ( auswahl->getFarbe() >> 16 ) & 0xFF;
+        if( r < 200 )
+        {
+            r += val;
+            if( r > 200 )
+                r = 200;
+            auswahl->setFarbe( ( auswahl->getFarbe() & 0xFF00FFFF ) | ( ( r << 16 ) & 0xFF0000 ) );
+            rend = 1;
+        }
+    }
+    else
+    {
+        int r = ( auswahl->getFarbe() >> 16 ) & 0xFF;
+        if( r > 0 )
+        {
+            if( r - val < 0 )
+                r = 0;
+            else
+                r -= val;
+            auswahl->setFarbe( ( auswahl->getFarbe() & 0xFF00FFFF ) | ( ( r << 16 ) & 0xFF0000 ) );
+            rend = 1;
+        }
+    }
+    if( ( animation | 0x1 ) == animation )
+    {
+        if( höhe < 30 )
+        {
+            höhe += val;
+            if( höhe > 30 )
+                höhe = 30;
+            rend = 1;
+        }
+        if( mausIn )
+        {
+            if( höhe < 50 )
+            {
+                höhe += val;
+                if( höhe > 50 )
+                    höhe = 50;
+                rend = 1;
+            }
+            int a = ( auswahl->getFarbe() >> 24 ) & 0xFF;
+            if( a < 50 )
+            {
+                a += val;
+                if( a > 50 )
+                    a = 50;
+                auswahl->setFarbe( ( ( a << 24 ) & 0xFF000000 ) | ( auswahl->getFarbe() & 0xFFFFFF ) );
+                rend = 1;
+            }
+        }
+        else
+        {
+            if( höhe > 30 )
+            {
+                höhe -= val;
+                if( höhe < 30 )
+                    höhe = 30;
+                rend = 1;
+            }
+            int a = ( auswahl->getFarbe() >> 24 ) & 0xFF;
+            if( a > 0 )
+            {
+                if( a - val < 0 )
+                    a = 0;
+                else
+                    a -= val;
+                auswahl->setFarbe( ( ( a << 24 ) & 0xFF000000 ) | ( auswahl->getFarbe() & 0xFFFFFF ) );
+                rend = 1;
+            }
+        }
+        if( accountId != loginClient->getAccountId() )
+        {
+            if( nachrichtSenden->getBreite() < 20 )
+            {
+                nachrichtSenden->setSize( nachrichtSenden->getBreite() + val, nachrichtSenden->getHeight() );
+                if( nachrichtSenden->getBreite() > 20 )
+                    nachrichtSenden->setSize( 20, nachrichtSenden->getHeight() );
+                rend = 1;
+            }
+        }
+        else
+        {
+            if( nachrichtSenden->getBreite() > 0 )
+            {
+                nachrichtSenden->setSize( nachrichtSenden->getBreite() - val, nachrichtSenden->getHeight() );
+                if( nachrichtSenden->getBreite() < 0 )
+                    nachrichtSenden->setSize( 0, nachrichtSenden->getHeight() );
+                rend = 1;
+            }
+        }
+        if( accountAnsehen->getBreite() < 20 )
+        {
+            accountAnsehen->setSize( accountAnsehen->getBreite() + val, accountAnsehen->getHeight() );
+            if( accountAnsehen->getBreite() > 20 )
+                accountAnsehen->setSize( 20, accountAnsehen->getHeight() );
+            rend = 1;
+        }
+        if( accountId == loginClient->getAccountId() || nachLogin->zFreundesListe()->istFreund( accountId ) )
+        {
+            if( freundEinladung->getBreite() > 0 )
+            {
+                freundEinladung->setSize( freundEinladung->getBreite() - val, freundEinladung->getHeight() );
+                if( freundEinladung->getBreite() < 0 )
+                    freundEinladung->setSize( 0, freundEinladung->getHeight() );
+                rend = 1;
+            }
+        }
+        else
+        {
+            if( freundEinladung->getBreite() < 20 )
+            {
+                freundEinladung->setSize( freundEinladung->getBreite() + val, freundEinladung->getHeight() );
+                if( freundEinladung->getBreite() > 20 )
+                    freundEinladung->setSize( 20, freundEinladung->getHeight() );
+                rend = 1;
+            }
+        }
+        if( accountId == loginClient->getAccountId() || admin != loginClient->getAccountId() )
+        {
+            if( kick->getBreite() > 0 )
+            {
+                kick->setSize( kick->getBreite() - val, kick->getHeight() );
+                if( kick->getBreite() < 0 )
+                    kick->setSize( 0, kick->getHeight() );
+                rend = 1;
+            }
+        }
+        else
+        {
+            if( kick->getBreite() < 20 )
+            {
+                kick->setSize( kick->getBreite() + val, kick->getHeight() );
+                if( kick->getBreite() > 20 )
+                    kick->setSize( 20, kick->getHeight() );
+                rend = 1;
+            }
+        }
+    }
+    else
+    {
+        if( höhe > 0 )
+        {
+            höhe -= val;
+            if( höhe <= 0 )
+            {
+                höhe = 0;
+                remove = 1;
+            }
+            rend = 1;
+        }
+    }
+    bool ret = rend;
+    rend = 0;
+    return ret;
+}
+
+void GruppeAccountDaten::doMausEreignis( MausEreignis & me )
+{
+    if( me.mx < 0 || me.my < 0 || me.mx > br || me.my > höhe )
+        mausIn = 0;
+    else
+        mausIn = 1;
+    bool ak = !me.verarbeitet;
+    nachrichtSenden->doMausEreignis( me );
+    int aktion = ( me.verarbeitet && ak ) ? 1 : 0;
+    accountAnsehen->doMausEreignis( me );
+    aktion = ( me.verarbeitet && ak && !aktion ) ? 2 : aktion;
+    freundEinladung->doMausEreignis( me );
+    aktion = ( me.verarbeitet && ak && !aktion ) ? 3 : aktion;
+    kick->doMausEreignis( me );
+    aktion = ( me.verarbeitet && ak && !aktion ) ? 4 : aktion;
+    if( me.id != ME_RLinks )
+        return;
+    switch( aktion )
+    {
+    case 1:
+        nachLogin->zChatLeiste()->addChat( accountId, 0 );
+        break;
+    case 2:
+        if( nachLogin->zAccountAnsehenFenster()->setSpielerDetails( accountId, 2 ) )
+        {
+            MausEreignis me = { ME_RLinks, 0, 0, 0, 0, 0 };
+            nachLogin->zTitelLeiste()->druckAccountAnsehen( me );
+        }
+        break;
+    case 3:
+        chatClient->freundesAnfrage( accountId );
+        break;
+    case 4:
         if( !anmeldungClient )
             anmeldungClient = mainClient->createAnmeldungServerClient();
         if( !anmeldungClient )
@@ -1146,222 +1146,222 @@ void GruppeAccountDaten::doMausEreignis( MausEreignis &me )
             }
             anmeldungClient->trenne( 0 );
         }
-		break;
-	}
-}
-
-void GruppeAccountDaten::render( int y, Bild &zrObj )
-{
-	if( !zrObj.setDrawOptions( 0, y, br, höhe ) )
-		return;
-	rahmen->setSize( br, höhe );
-	rahmen->render( zrObj );
-	int rbr = rahmen->getRBreite();
-	auswahl->setPosition( rbr, rbr );
-	auswahl->setSize( br - rbr * 2, höhe - rbr * 2 );
-	auswahl->render( zrObj );
-	name->render( zrObj );
-	punkte->render( zrObj );
-	if( !zrObj.setDrawOptions( rbr, rbr, br - rbr * 2, höhe - rbr * 2 ) )
-	{
-		zrObj.releaseDrawOptions();
-		return;
-	}
-	int b = kick->getBreite();
-	kick->setPosition( br - rbr - b, 30 );
-	kick->render( zrObj );
-	b += freundEinladung->getBreite();
-	freundEinladung->setPosition( br - rbr - b, 30 );
-	freundEinladung->render( zrObj );
-	b += accountAnsehen->getBreite();
-	accountAnsehen->setPosition( br - rbr - b, 30 );
-	accountAnsehen->render( zrObj );
-	b += nachrichtSenden->getBreite();
-	nachrichtSenden->setPosition( br - rbr - b, 30 );
-	nachrichtSenden->render( zrObj );
-	zrObj.releaseDrawOptions();
-	zrObj.releaseDrawOptions();
+        break;
+    }
+}
+
+void GruppeAccountDaten::render( int y, Bild & zrObj )
+{
+    if( !zrObj.setDrawOptions( 0, y, br, höhe ) )
+        return;
+    rahmen->setSize( br, höhe );
+    rahmen->render( zrObj );
+    int rbr = rahmen->getRBreite();
+    auswahl->setPosition( rbr, rbr );
+    auswahl->setSize( br - rbr * 2, höhe - rbr * 2 );
+    auswahl->render( zrObj );
+    name->render( zrObj );
+    punkte->render( zrObj );
+    if( !zrObj.setDrawOptions( rbr, rbr, br - rbr * 2, höhe - rbr * 2 ) )
+    {
+        zrObj.releaseDrawOptions();
+        return;
+    }
+    int b = kick->getBreite();
+    kick->setPosition( br - rbr - b, 30 );
+    kick->render( zrObj );
+    b += freundEinladung->getBreite();
+    freundEinladung->setPosition( br - rbr - b, 30 );
+    freundEinladung->render( zrObj );
+    b += accountAnsehen->getBreite();
+    accountAnsehen->setPosition( br - rbr - b, 30 );
+    accountAnsehen->render( zrObj );
+    b += nachrichtSenden->getBreite();
+    nachrichtSenden->setPosition( br - rbr - b, 30 );
+    nachrichtSenden->render( zrObj );
+    zrObj.releaseDrawOptions();
+    zrObj.releaseDrawOptions();
 }
 
 // constant
 bool GruppeAccountDaten::getRemove() const
 {
-	return remove;
+    return remove;
 }
 
 int GruppeAccountDaten::getAccountId() const
 {
-	return accountId;
+    return accountId;
 }
 
 int GruppeAccountDaten::getHeight() const
 {
-	return höhe;
+    return höhe;
 }
 
 // Reference Counting
 GruppeAccountDaten *GruppeAccountDaten::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 GruppeAccountDaten *GruppeAccountDaten::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 // Inhalt der GruppeAccountListe Klasse aus Gruppe.h
 // Konstruktor
-GruppeAccountListe::GruppeAccountListe( Schrift *zSchrift )
-{
-	schrift = zSchrift->getThis();
-	pos = Punkt( 0, 0 );
-	gr = Punkt( 200, 350 );
-	rahmen = new LRahmen();
-	rahmen->setFarbe( 0xFFFFFFFF );
-	rahmen->setRamenBreite( 1 );
-	rahmen->setSize( 200, 350 );
-	scroll = new VScrollBar();
-	accounts = new RCArray< GruppeAccountDaten >();
-	anzahl = 0;
-	gruppeId = 0;
-	admin = 0;
-	rend = 0;
-	ref = 1;
+GruppeAccountListe::GruppeAccountListe( Schrift * zSchrift )
+{
+    schrift = zSchrift->getThis();
+    pos = Punkt( 0, 0 );
+    gr = Punkt( 200, 350 );
+    rahmen = new LRahmen();
+    rahmen->setFarbe( 0xFFFFFFFF );
+    rahmen->setRamenBreite( 1 );
+    rahmen->setSize( 200, 350 );
+    scroll = new VScrollBar();
+    accounts = new RCArray< GruppeAccountDaten >();
+    anzahl = 0;
+    gruppeId = 0;
+    admin = 0;
+    rend = 0;
+    ref = 1;
 }
 
 // Destruktor
 GruppeAccountListe::~GruppeAccountListe()
 {
-	schrift->release();
-	rahmen->release();
-	scroll->release();
-	accounts->release();
+    schrift->release();
+    rahmen->release();
+    scroll->release();
+    accounts->release();
 }
 
 // nicht constant
 void GruppeAccountListe::reset()
 {
-	accounts->leeren();
-	anzahl = 0;
-	gruppeId = 0;
-	admin = 0;
-	rend = 1;
+    accounts->leeren();
+    anzahl = 0;
+    gruppeId = 0;
+    admin = 0;
+    rend = 1;
 }
 
 void GruppeAccountListe::setGruppeId( int gruppeId )
 {
-	this->gruppeId = gruppeId;
-	for( int i = 0; i < anzahl; i++ )
-		accounts->z( i )->setGruppeId( gruppeId );
+    this->gruppeId = gruppeId;
+    for( int i = 0; i < anzahl; i++ )
+        accounts->z( i )->setGruppeId( gruppeId );
 }
 
 void GruppeAccountListe::addAccount( int id )
 {
-	GruppeAccountDaten *tmp = new GruppeAccountDaten( schrift );
-	tmp->setGruppeId( gruppeId );
-	tmp->setAccountId( id );
-	tmp->setAdmin( admin );
-	accounts->add( tmp, anzahl );
-	anzahl++;
-	rend = 1;
+    GruppeAccountDaten *tmp = new GruppeAccountDaten( schrift );
+    tmp->setGruppeId( gruppeId );
+    tmp->setAccountId( id );
+    tmp->setAdmin( admin );
+    accounts->add( tmp, anzahl );
+    anzahl++;
+    rend = 1;
 }
 
 void GruppeAccountListe::removeAccount( int id )
 {
-	for( int i = 0; i < anzahl; i++ )
-	{
-		GruppeAccountDaten *tmp = accounts->z( i );
-		if( tmp && tmp->getAccountId() == id )
-		{
-			tmp->entfernen();
-			break;
-		}
-	}
+    for( int i = 0; i < anzahl; i++ )
+    {
+        GruppeAccountDaten *tmp = accounts->z( i );
+        if( tmp && tmp->getAccountId() == id )
+        {
+            tmp->entfernen();
+            break;
+        }
+    }
 }
 
 void GruppeAccountListe::setAdmin( int admin )
 {
-	this->admin = admin;
-	for( int i = 0; i < anzahl; i++ )
-	{
-		GruppeAccountDaten *tmp = accounts->z( i );
-		if( tmp )
-			tmp->setAdmin( admin );
-	}
+    this->admin = admin;
+    for( int i = 0; i < anzahl; i++ )
+    {
+        GruppeAccountDaten *tmp = accounts->z( i );
+        if( tmp )
+            tmp->setAdmin( admin );
+    }
 }
 
 bool GruppeAccountListe::tick( double tickVal )
 {
-	rend |= scroll->getRend();
-	for( int i = 0; i < anzahl; i++ )
-	{
-		GruppeAccountDaten *tmp = accounts->z( i );
-		if( tmp )
-			rend |= tmp->tick( tickVal );
-	}
-	bool ret = rend;
-	rend = 0;
-	return ret;
-}
-
-void GruppeAccountListe::doMausEreignis( MausEreignis &me )
-{
-	int tmpX = me.mx;
-	int tmpY = me.my;
-	me.mx -= pos.x;
-	me.my -= pos.y;
-	scroll->doMausMessage( 184, 1, 15, 248, me );
-	for( int i = 0; i < anzahl; i++ )
-	{
-		GruppeAccountDaten *tmp = accounts->z( i );
-		if( tmp )
-		{
-			tmp->doMausEreignis( me );
+    rend |= scroll->getRend();
+    for( int i = 0; i < anzahl; i++ )
+    {
+        GruppeAccountDaten *tmp = accounts->z( i );
+        if( tmp )
+            rend |= tmp->tick( tickVal );
+    }
+    bool ret = rend;
+    rend = 0;
+    return ret;
+}
+
+void GruppeAccountListe::doMausEreignis( MausEreignis & me )
+{
+    int tmpX = me.mx;
+    int tmpY = me.my;
+    me.mx -= pos.x;
+    me.my -= pos.y;
+    scroll->doMausMessage( 184, 1, 15, 248, me );
+    for( int i = 0; i < anzahl; i++ )
+    {
+        GruppeAccountDaten *tmp = accounts->z( i );
+        if( tmp )
+        {
+            tmp->doMausEreignis( me );
             me.my -= tmp->getHeight();
-			if( tmp->getRemove() )
-			{
-				accounts->remove( i );
-				anzahl--;
+            if( tmp->getRemove() )
+            {
+                accounts->remove( i );
+                anzahl--;
                 i--;
-				rend = 1;
-			}
-		}
-	}
-	me.mx = tmpX;
-	me.my = tmpY;
-}
-
-void GruppeAccountListe::render( Bild &zRObj )
-{
-	if( !zRObj.setDrawOptions( pos, gr ) )
-		return;
-	rahmen->render( zRObj );
-	int rbr = rahmen->getRBreite();
-	scroll->render( gr.x - 15 - rbr, 1, 15, gr.y - rbr * 2, zRObj );
-	if( !zRObj.setDrawOptions( rbr, rbr, gr.x - rbr * 2, gr.y - rbr * 2 ) )
-	{
-		zRObj.releaseDrawOptions();
-		return;
-	}
-	int höhe = 0;
-	for( int i = 0; i < anzahl; i++ )
-	{
-		GruppeAccountDaten *tmp = accounts->z( i );
-		if( tmp )
-		{
-			tmp->setSize( gr.x - 15 - rbr * 2 );
-			tmp->render( höhe - scroll->getScroll(), zRObj );
-			höhe += tmp->getHeight();
-		}
-	}
-	zRObj.releaseDrawOptions();
-	zRObj.releaseDrawOptions();
-	scroll->update( höhe, gr.y - rbr * 2 );
+                rend = 1;
+            }
+        }
+    }
+    me.mx = tmpX;
+    me.my = tmpY;
+}
+
+void GruppeAccountListe::render( Bild & zRObj )
+{
+    if( !zRObj.setDrawOptions( pos, gr ) )
+        return;
+    rahmen->render( zRObj );
+    int rbr = rahmen->getRBreite();
+    scroll->render( gr.x - 15 - rbr, 1, 15, gr.y - rbr * 2, zRObj );
+    if( !zRObj.setDrawOptions( rbr, rbr, gr.x - rbr * 2, gr.y - rbr * 2 ) )
+    {
+        zRObj.releaseDrawOptions();
+        return;
+    }
+    int höhe = 0;
+    for( int i = 0; i < anzahl; i++ )
+    {
+        GruppeAccountDaten *tmp = accounts->z( i );
+        if( tmp )
+        {
+            tmp->setSize( gr.x - 15 - rbr * 2 );
+            tmp->render( höhe - scroll->getScroll(), zRObj );
+            höhe += tmp->getHeight();
+        }
+    }
+    zRObj.releaseDrawOptions();
+    zRObj.releaseDrawOptions();
+    scroll->update( höhe, gr.y - rbr * 2 );
 }
 
 // constant
@@ -1369,111 +1369,111 @@ void GruppeAccountListe::render( Bild &zRObj )
 // Reference Counting
 GruppeAccountListe *GruppeAccountListe::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 GruppeAccountListe *GruppeAccountListe::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 // Inhalt der GruppeChat Klasse aus Gruppe.h
 // Konstruktor
-GruppeChat::GruppeChat( Schrift *zSchrift )
-{
-	Bild *sendenBild = bilder->get( "chat.ltdb/senden.png" );
-	if( !sendenBild )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
-		datei->leseDaten( 0 );
-		sendenBild = datei->laden( 0, new Text( "senden.png" ) );
-		datei->release();
-		bilder->add( "chat.ltdb/senden.png", sendenBild->getThis() );
-	}
-	pos = Punkt( 0, 350 );
-	gr = Punkt( 750, 200 );
-	rahmen = new LRahmen();
-	rahmen->setFarbe( 0xFFFFFFFF );
-	rahmen->setRamenBreite( 1 );
-	rahmen->setSize( 750, 200 );
-	nachricht = initTextFeld( 2, 176, 724, 20, zSchrift, TextFeld::Style::TextFeld, "" );
-	initToolTip( nachricht, "Nachricht an die Gruppe senden.", zSchrift->getThis(), hauptScreen );
-	senden = initKnopf( 726, 176, 20, 20, 0, 0, "" );
-	senden->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-	senden->setHintergrundBildZ( sendenBild );
-	initToolTip( senden, "Diese Nachricht an die Gruppe senden.", zSchrift->getThis(), hauptScreen );
-	verlauf = initTextFeld( 2, 2, 746, 174, zSchrift, TextFeld::Style::TextGebiet, "" );
-	verlauf->removeStyle( TextFeld::Style::Erlaubt );
-	verlauf->updateVScroll();
-	verlauf->setVertikalKlickScroll( 5 );
-	gruppeId = 0;
-	rend = 0;
-	ref = 1;
+GruppeChat::GruppeChat( Schrift * zSchrift )
+{
+    Bild *sendenBild = bilder->get( "chat.ltdb/senden.png" );
+    if( !sendenBild )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/client/bilder/chat.ltdb" ) );
+        datei->leseDaten( 0 );
+        sendenBild = datei->laden( 0, new Text( "senden.png" ) );
+        datei->release();
+        bilder->add( "chat.ltdb/senden.png", sendenBild->getThis() );
+    }
+    pos = Punkt( 0, 350 );
+    gr = Punkt( 750, 200 );
+    rahmen = new LRahmen();
+    rahmen->setFarbe( 0xFFFFFFFF );
+    rahmen->setRamenBreite( 1 );
+    rahmen->setSize( 750, 200 );
+    nachricht = initTextFeld( 2, 176, 724, 20, zSchrift, TextFeld::Style::TextFeld, "" );
+    initToolTip( nachricht, "Nachricht an die Gruppe senden.", zSchrift->getThis(), hauptScreen );
+    senden = initKnopf( 726, 176, 20, 20, 0, 0, "" );
+    senden->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
+    senden->setHintergrundBildZ( sendenBild );
+    initToolTip( senden, "Diese Nachricht an die Gruppe senden.", zSchrift->getThis(), hauptScreen );
+    verlauf = initTextFeld( 2, 2, 746, 174, zSchrift, TextFeld::Style::TextGebiet, "" );
+    verlauf->removeStyle( TextFeld::Style::Erlaubt );
+    verlauf->updateVScroll();
+    verlauf->setVertikalKlickScroll( 5 );
+    gruppeId = 0;
+    rend = 0;
+    ref = 1;
 }
 
 // Destruktor
 GruppeChat::~GruppeChat()
 {
-	rahmen->release();
-	nachricht->release();
-	senden->release();
-	verlauf->release();
+    rahmen->release();
+    nachricht->release();
+    senden->release();
+    verlauf->release();
 }
 
 // nicht constant
 void GruppeChat::reset()
 {
-	gruppeId = 0;
-	verlauf->setText( "" );
-	verlauf->updateVScroll();
-	nachricht->setText( "" );
-	rend = 1;
+    gruppeId = 0;
+    verlauf->setText( "" );
+    verlauf->updateVScroll();
+    nachricht->setText( "" );
+    rend = 1;
 }
 
 void GruppeChat::setGruppeId( int gruppeId )
 {
-	this->gruppeId = gruppeId;
+    this->gruppeId = gruppeId;
 }
 
 void GruppeChat::gruppeNachricht( const char *nachricht )
 {
-	verlauf->addZeile( nachricht );
-	verlauf->updateVScroll();
-	rend = 1;
+    verlauf->addZeile( nachricht );
+    verlauf->updateVScroll();
+    rend = 1;
 }
 
 bool GruppeChat::tick( double tickVal )
 {
-	rend |= verlauf->tick( tickVal );
-	rend |= nachricht->tick( tickVal );
-	rend |= senden->tick( tickVal );
-	bool ret = rend;
-	rend = 0;
-	return ret;
-}
-
-void GruppeChat::doMausEreignis( MausEreignis &me )
-{
-	me.mx -= pos.x;
-	me.my -= pos.y;
-	verlauf->doMausEreignis( me );
-	nachricht->doMausEreignis( me );
-	bool ak = !me.verarbeitet;
-	senden->doMausEreignis( me );
-	int aktion = ( me.verarbeitet && ak ) ? 1 : 0;
-	if( me.id != ME_RLinks )
-	{
-		me.mx += pos.x;
-		me.my += pos.y;
-		return;
-	}
-	if( aktion )
-	{
+    rend |= verlauf->tick( tickVal );
+    rend |= nachricht->tick( tickVal );
+    rend |= senden->tick( tickVal );
+    bool ret = rend;
+    rend = 0;
+    return ret;
+}
+
+void GruppeChat::doMausEreignis( MausEreignis & me )
+{
+    me.mx -= pos.x;
+    me.my -= pos.y;
+    verlauf->doMausEreignis( me );
+    nachricht->doMausEreignis( me );
+    bool ak = !me.verarbeitet;
+    senden->doMausEreignis( me );
+    int aktion = ( me.verarbeitet && ak ) ? 1 : 0;
+    if( me.id != ME_RLinks )
+    {
+        me.mx += pos.x;
+        me.my += pos.y;
+        return;
+    }
+    if( aktion )
+    {
         if( !anmeldungClient )
             anmeldungClient = mainClient->createAnmeldungServerClient();
         if( !anmeldungClient )
@@ -1501,17 +1501,17 @@ void GruppeChat::doMausEreignis( MausEreignis &me )
             }
             anmeldungClient->trenne( 0 );
         }
-	}
-	me.mx += pos.x;
-	me.my += pos.y;
+    }
+    me.mx += pos.x;
+    me.my += pos.y;
 }
 
-void GruppeChat::doTastaturEreignis( TastaturEreignis &te )
+void GruppeChat::doTastaturEreignis( TastaturEreignis & te )
 {
-	bool b = te.verarbeitet;
-	nachricht->doTastaturEreignis( te );
-	if( te.verarbeitet && !b && te.id == TE_Release && te.taste == T_Enter )
-	{
+    bool b = te.verarbeitet;
+    nachricht->doTastaturEreignis( te );
+    if( te.verarbeitet && !b && te.id == TE_Release && te.taste == T_Enter )
+    {
         if( !anmeldungClient )
             anmeldungClient = mainClient->createAnmeldungServerClient();
         if( !anmeldungClient )
@@ -1539,17 +1539,17 @@ void GruppeChat::doTastaturEreignis( TastaturEreignis &te )
             }
             anmeldungClient->trenne( 0 );
         }
-	}
+    }
 }
 
-void GruppeChat::render( Bild &zRObj )
+void GruppeChat::render( Bild & zRObj )
 {
-	if( !zRObj.setDrawOptions( pos.x, pos.y, gr.x, gr.y ) )
-		return;
-	verlauf->render( zRObj );
-	nachricht->render( zRObj );
-	senden->render( zRObj );
-	zRObj.releaseDrawOptions();
+    if( !zRObj.setDrawOptions( pos.x, pos.y, gr.x, gr.y ) )
+        return;
+    verlauf->render( zRObj );
+    nachricht->render( zRObj );
+    senden->render( zRObj );
+    zRObj.releaseDrawOptions();
 }
 
 // constant
@@ -1557,173 +1557,176 @@ void GruppeChat::render( Bild &zRObj )
 // Reference Counting
 GruppeChat *GruppeChat::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 GruppeChat *GruppeChat::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 // Inhalt der GruppeAnmeldung Klasse aus Gruppe.h
 // Konstruktor
-GruppeAnmeldung::GruppeAnmeldung( Schrift *zSchrift )
-{
-	pos = Punkt( 750, 350 );
-	gr = Punkt( 200, 200 );
-	rahmen = new LRahmen();
-	rahmen->setFarbe( 0xFFFFFFFF );
-	rahmen->setRamenBreite( 1 );
-	rahmen->setSize( 200, 200 );
-	spielerHinzufügen = initKontrollKnopf( 25, 45, 150, 20, zSchrift, KontrollKnopf::Style::Normal, "Spieler hinzufügen" );
-	spielerHinzufügen->removeStyle( KontrollKnopf::Style::Erlaubt );
-	spielerHinzufügen->setMausEreignis( _ret1ME );
-	initToolTip( spielerHinzufügen, "Es werden nur Spieler aus dieser Gruppe mit ins Spiel kommen.", zSchrift->getThis(), hauptScreen );
-	angemeldet = initKontrollKnopf( 25, 75, 150, 20, zSchrift, KontrollKnopf::Style::Normal, "in Warteschlange" );
-	angemeldet->removeStyle( KontrollKnopf::Style::Erlaubt );
-	angemeldet->setMausEreignis( _ret1ME );
-	initToolTip( angemeldet, "Die Gruppe befindet sich momentan nicht in der Warteschlange.", zSchrift->getThis(), hauptScreen );
-	zeit = initTextFeld( 0, 105, 200, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::Center, "Zeit in Warteschlange: " );
-	gruppeVerlassen = initKnopf( 40, 135, 120, 20, zSchrift, Knopf::Style::Normal, "Gruppe verlassen" );
-	admin = 0;
-	time = 0;
-	gruppeId = 0;
-	rend = 0;
-	ref = 1;
+GruppeAnmeldung::GruppeAnmeldung( Schrift * zSchrift )
+{
+    pos = Punkt( 750, 350 );
+    gr = Punkt( 200, 200 );
+    rahmen = new LRahmen();
+    rahmen->setFarbe( 0xFFFFFFFF );
+    rahmen->setRamenBreite( 1 );
+    rahmen->setSize( 200, 200 );
+    spielerHinzufügen = initKontrollKnopf( 25, 45, 150, 20, zSchrift, KontrollKnopf::Style::Normal, "Spieler hinzufügen" );
+    spielerHinzufügen->removeStyle( KontrollKnopf::Style::Erlaubt );
+    spielerHinzufügen->setMausEreignis( _ret1ME );
+    initToolTip( spielerHinzufügen, "Es werden nur Spieler aus dieser Gruppe mit ins Spiel kommen.", zSchrift->getThis(), hauptScreen );
+    angemeldet = initKontrollKnopf( 25, 75, 150, 20, zSchrift, KontrollKnopf::Style::Normal, "in Warteschlange" );
+    angemeldet->removeStyle( KontrollKnopf::Style::Erlaubt );
+    angemeldet->setMausEreignis( _ret1ME );
+    initToolTip( angemeldet, "Die Gruppe befindet sich momentan nicht in der Warteschlange.", zSchrift->getThis(), hauptScreen );
+    zeit = initTextFeld( 0, 105, 200, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::Center, "Zeit in Warteschlange: " );
+    gruppeVerlassen = initKnopf( 40, 135, 120, 20, zSchrift, Knopf::Style::Normal, "Gruppe verlassen" );
+    admin = 0;
+    time = 0;
+    gruppeId = 0;
+    rend = 0;
+    ref = 1;
 }
 
 // Destruktor
 GruppeAnmeldung::~GruppeAnmeldung()
 {
-	rahmen->release();
-	spielerHinzufügen->release();
-	angemeldet->release();
-	zeit->release();
-	gruppeVerlassen->release();
+    rahmen->release();
+    spielerHinzufügen->release();
+    angemeldet->release();
+    zeit->release();
+    gruppeVerlassen->release();
 }
 
 // nicht constant
 void GruppeAnmeldung::reset()
 {
-	spielerHinzufügen->removeStyle( KontrollKnopf::Style::Selected );
-	angemeldet->removeStyle( KontrollKnopf::Style::Selected );
-	admin = 0;
-	time = 0;
-	gruppeId = 0;
-	rend = 1;
+    spielerHinzufügen->removeStyle( KontrollKnopf::Style::Selected );
+    angemeldet->removeStyle( KontrollKnopf::Style::Selected );
+    admin = 0;
+    time = 0;
+    gruppeId = 0;
+    rend = 1;
 }
 
 void GruppeAnmeldung::setGruppeId( int gruppeId )
 {
-	this->gruppeId = gruppeId;
-	spielerHinzufügen->setStyle( KontrollKnopf::Style::Selected, infoClient->getGruppeSpielerHinzufügen( gruppeId ) );
-	rend = 1;
+    this->gruppeId = gruppeId;
+    spielerHinzufügen->setStyle( KontrollKnopf::Style::Selected, infoClient->getGruppeSpielerHinzufügen( gruppeId ) );
+    rend = 1;
 }
 
 void GruppeAnmeldung::setAdmin( int admin )
 {
-	this->admin = admin;
-	if( admin == loginClient->getAccountId() )
-	{
-		spielerHinzufügen->addStyle( KontrollKnopf::Style::Erlaubt );
-		angemeldet->addStyle( KontrollKnopf::Style::Erlaubt );
-	}
-	else
-	{
-		spielerHinzufügen->removeStyle( KontrollKnopf::Style::Erlaubt );
-		angemeldet->removeStyle( KontrollKnopf::Style::Erlaubt );
-	}
-	rend = 1;
+    this->admin = admin;
+    if( admin == loginClient->getAccountId() )
+    {
+        spielerHinzufügen->addStyle( KontrollKnopf::Style::Erlaubt );
+        angemeldet->addStyle( KontrollKnopf::Style::Erlaubt );
+    }
+    else
+    {
+        spielerHinzufügen->removeStyle( KontrollKnopf::Style::Erlaubt );
+        angemeldet->removeStyle( KontrollKnopf::Style::Erlaubt );
+    }
+    rend = 1;
 }
 
 void GruppeAnmeldung::setSpielerHinzufügen( bool spielerHinzufügen )
 {
-	this->spielerHinzufügen->setStyle( KontrollKnopf::Style::Selected, spielerHinzufügen );
-	if( spielerHinzufügen )
-		this->spielerHinzufügen->zToolTip()->setText( "Es kommen auch andere Spieler mit ins Spiel,\ndie nicht in dieser Gruppe sind." );
-	else
-		this->spielerHinzufügen->zToolTip()->setText( "Es werden nur Spieler aus dieser Gruppe mit ins Spiel kommen." );
-	rend = 1;
+    this->spielerHinzufügen->setStyle( KontrollKnopf::Style::Selected, spielerHinzufügen );
+    // TODO
+    /*if( spielerHinzufügen )
+        this->spielerHinzufügen->zToolTip()->setText( "Es kommen auch andere Spieler mit ins Spiel,\ndie nicht in dieser Gruppe sind." );
+    else
+        this->spielerHinzufügen->zToolTip()->setText( "Es werden nur Spieler aus dieser Gruppe mit ins Spiel kommen." );*/
+    rend = 1;
 }
 
 void GruppeAnmeldung::setAngemeldet( bool angemeldet )
 {
-	this->angemeldet->setStyle( KontrollKnopf::Style::Selected, angemeldet );
-	if( angemeldet )
-		this->angemeldet->zToolTip()->setText( "Die Gruppe befindet sich in der Warteschlange." );
-	else
-		this->angemeldet->zToolTip()->setText( "Die Gruppe befindet sich momentan nicht in der Warteschlange." );
-	time = 0;
-	rend = 1;
+    this->angemeldet->setStyle( KontrollKnopf::Style::Selected, angemeldet );
+    // TODO
+    /*
+    if( angemeldet )
+        this->angemeldet->zToolTip()->setText( "Die Gruppe befindet sich in der Warteschlange." );
+    else
+        this->angemeldet->zToolTip()->setText( "Die Gruppe befindet sich momentan nicht in der Warteschlange." );*/
+    time = 0;
+    rend = 1;
 }
 
 void GruppeAnmeldung::zurückInWarteschlange( int stunden, int minuten, int sekunden )
 {
-	this->angemeldet->setStyle( KontrollKnopf::Style::Selected, 1 );
-	time = sekunden + minuten * 60 + stunden * 60 * 60;
-	rend = 1;
+    this->angemeldet->setStyle( KontrollKnopf::Style::Selected, 1 );
+    time = sekunden + minuten * 60 + stunden * 60 * 60;
+    rend = 1;
 }
 
 void GruppeAnmeldung::spielGefunden()
 {
-	this->angemeldet->setStyle( KontrollKnopf::Style::Selected, 0 );
-	time = 0;
-	rend = 1;
+    this->angemeldet->setStyle( KontrollKnopf::Style::Selected, 0 );
+    time = 0;
+    rend = 1;
 }
 
 bool GruppeAnmeldung::tick( double tickVal )
 {
-	if( angemeldet->hatStyle( KontrollKnopf::Style::Selected ) )
-	{
-		if( (int)( time / 1 ) != (int)( ( time + tickVal ) / 1 ) )
-			rend = 1;
-		time += tickVal;
-	}
-	if( rend )
-	{
-		zeit->setText( "Zeit in Warteschlange: " );
-		zeit->zText()->append( (int)( time / 60 / 60 ) );
-		zeit->zText()->append( ":" );
-		zeit->zText()->append( (int)( time / 60 ) % 60 );
-		zeit->zText()->append( ":" );
-		zeit->zText()->append( (int)( time ) % 60 );
-	}
-	rend |= spielerHinzufügen->tick( tickVal );
-	rend |= angemeldet->tick( tickVal );
-	rend |= gruppeVerlassen->tick( tickVal );
-	bool ret = rend;
-	rend = 0;
-	return ret;
-}
-
-void GruppeAnmeldung::doMausEreignis( MausEreignis &me )
-{
-	me.mx -= pos.x;
-	me.my -= pos.y;
-	bool ak = !me.verarbeitet;
-	int aktion = 0;
-	if( admin == loginClient->getAccountId() )
-	{
-		spielerHinzufügen->doMausEreignis( me );
-		aktion = ( me.verarbeitet && admin == loginClient->getAccountId() && ak ) ? 1 : aktion;
-		angemeldet->doMausEreignis( me );
-		aktion = ( me.verarbeitet && admin == loginClient->getAccountId() && ak && !aktion ) ? 2 : aktion;
-	}
-	gruppeVerlassen->doMausEreignis( me );
-	aktion = ( me.verarbeitet && ak && !aktion ) ? 3 : aktion;
-	if( me.id != ME_RLinks )
-	{
-		me.mx += pos.x;
-		me.my += pos.y;
-		return;
-	}
-	switch( aktion )
-	{
-	case 1:
+    if( angemeldet->hatStyle( KontrollKnopf::Style::Selected ) )
+    {
+        if( (int)( time / 1 ) != (int)( ( time + tickVal ) / 1 ) )
+            rend = 1;
+        time += tickVal;
+    }
+    if( rend )
+    {
+        zeit->setText( "Zeit in Warteschlange: " );
+        zeit->zText()->append( (int)( time / 60 / 60 ) );
+        zeit->zText()->append( ":" );
+        zeit->zText()->append( (int)( time / 60 ) % 60 );
+        zeit->zText()->append( ":" );
+        zeit->zText()->append( (int)( time ) % 60 );
+    }
+    rend |= spielerHinzufügen->tick( tickVal );
+    rend |= angemeldet->tick( tickVal );
+    rend |= gruppeVerlassen->tick( tickVal );
+    bool ret = rend;
+    rend = 0;
+    return ret;
+}
+
+void GruppeAnmeldung::doMausEreignis( MausEreignis & me )
+{
+    me.mx -= pos.x;
+    me.my -= pos.y;
+    bool ak = !me.verarbeitet;
+    int aktion = 0;
+    if( admin == loginClient->getAccountId() )
+    {
+        spielerHinzufügen->doMausEreignis( me );
+        aktion = ( me.verarbeitet && admin == loginClient->getAccountId() && ak ) ? 1 : aktion;
+        angemeldet->doMausEreignis( me );
+        aktion = ( me.verarbeitet && admin == loginClient->getAccountId() && ak && !aktion ) ? 2 : aktion;
+    }
+    gruppeVerlassen->doMausEreignis( me );
+    aktion = ( me.verarbeitet && ak && !aktion ) ? 3 : aktion;
+    if( me.id != ME_RLinks )
+    {
+        me.mx += pos.x;
+        me.my += pos.y;
+        return;
+    }
+    switch( aktion )
+    {
+    case 1:
         if( !anmeldungClient )
             anmeldungClient = mainClient->createAnmeldungServerClient();
         if( !anmeldungClient )
@@ -1751,8 +1754,8 @@ void GruppeAnmeldung::doMausEreignis( MausEreignis &me )
             }
             anmeldungClient->trenne( 0 );
         }
-		break;
-	case 2:
+        break;
+    case 2:
         if( !anmeldungClient )
             anmeldungClient = mainClient->createAnmeldungServerClient();
         if( !anmeldungClient )
@@ -1771,30 +1774,30 @@ void GruppeAnmeldung::doMausEreignis( MausEreignis &me )
         }
         else
         {
-		    if( angemeldet->hatStyle( KontrollKnopf::Style::Selected ) )
-		    {
-			    if( !anmeldungClient->gruppeAnmelden( gruppeId ) )
-			    {
-				    angemeldet->setStyle( KontrollKnopf::Style::Selected, angemeldet->hatStyleNicht( KontrollKnopf::Style::Selected ) );
-				    rend = 1;
-				    nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
-															      new Text( "Ok" ), 0 );
-			    }
-		    }
-		    else
-		    {
-			    if( !anmeldungClient->gruppeAbmelden( gruppeId ) )
-			    {
-				    angemeldet->setStyle( KontrollKnopf::Style::Selected, angemeldet->hatStyleNicht( KontrollKnopf::Style::Selected ) );
-				    rend = 1;
-				    nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
-															      new Text( "Ok" ), 0 );
-			    }
-		    }
+            if( angemeldet->hatStyle( KontrollKnopf::Style::Selected ) )
+            {
+                if( !anmeldungClient->gruppeAnmelden( gruppeId ) )
+                {
+                    angemeldet->setStyle( KontrollKnopf::Style::Selected, angemeldet->hatStyleNicht( KontrollKnopf::Style::Selected ) );
+                    rend = 1;
+                    nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
+                                                                  new Text( "Ok" ), 0 );
+                }
+            }
+            else
+            {
+                if( !anmeldungClient->gruppeAbmelden( gruppeId ) )
+                {
+                    angemeldet->setStyle( KontrollKnopf::Style::Selected, angemeldet->hatStyleNicht( KontrollKnopf::Style::Selected ) );
+                    rend = 1;
+                    nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
+                                                                  new Text( "Ok" ), 0 );
+                }
+            }
             anmeldungClient->trenne( 0 );
         }
-		break;
-	case 3:
+        break;
+    case 3:
         if( !anmeldungClient )
             anmeldungClient = mainClient->createAnmeldungServerClient();
         if( !anmeldungClient )
@@ -1820,22 +1823,22 @@ void GruppeAnmeldung::doMausEreignis( MausEreignis &me )
             }
             anmeldungClient->trenne( 0 );
         }
-		break;
-	}
-	me.mx += pos.x;
-	me.my += pos.y;
+        break;
+    }
+    me.mx += pos.x;
+    me.my += pos.y;
 }
 
-void GruppeAnmeldung::render( Bild &zRObj )
+void GruppeAnmeldung::render( Bild & zRObj )
 {
-	if( !zRObj.setDrawOptions( pos.x, pos.y, gr.x, gr.y ) )
-		return;
-	rahmen->render( zRObj );
-	spielerHinzufügen->render( zRObj );
-	angemeldet->render( zRObj );
-	zeit->render( zRObj );
-	gruppeVerlassen->render( zRObj );
-	zRObj.releaseDrawOptions();
+    if( !zRObj.setDrawOptions( pos.x, pos.y, gr.x, gr.y ) )
+        return;
+    rahmen->render( zRObj );
+    spielerHinzufügen->render( zRObj );
+    angemeldet->render( zRObj );
+    zeit->render( zRObj );
+    gruppeVerlassen->render( zRObj );
+    zRObj.releaseDrawOptions();
 }
 
 // constant
@@ -1843,37 +1846,38 @@ void GruppeAnmeldung::render( Bild &zRObj )
 // Reference Counting
 GruppeAnmeldung *GruppeAnmeldung::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 GruppeAnmeldung *GruppeAnmeldung::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
-void GruppeKarteKSGSAktion( void *p, RCArray< KSGSVariable > *parameter, KSGSVariable **retVal )
+void GruppeKarteKSGSAktion( void *p, RCArray< KSGSVariable > * parameter, KSGSVariable * *retVal )
 {
     if( !p )
         return;
-    ( (GruppeKarte*)p )->ksgsAktion( parameter, retVal );
+    ( (GruppeKarte *)p )->ksgsAktion( parameter, retVal );
 }
 
 // Inhalt der GruppeKarte Klasse aus Gruppe.h
 // Konstruktor
-GruppeKarte::GruppeKarte( Schrift *zSchrift )
-{
-	schrift = zSchrift;
-	pos = Punkt( 350, 0 );
-	gr = Punkt( 600, 350 );
-	rahmen = new LRahmen();
-	rahmen->setFarbe( 0xFFFFFFFF );
-	rahmen->setRamenBreite( 1 );
-	rahmen->setSize( 350, 350 );
-	rahmen->setPosition( 248, 0 );
+GruppeKarte::GruppeKarte( Schrift * zSchrift )
+{
+    schrift = zSchrift;
+    tr = new TextRenderer( schrift->getThis() );
+    pos = Punkt( 350, 0 );
+    gr = Punkt( 600, 350 );
+    rahmen = new LRahmen();
+    rahmen->setFarbe( 0xFFFFFFFF );
+    rahmen->setRamenBreite( 1 );
+    rahmen->setSize( 350, 350 );
+    rahmen->setPosition( 248, 0 );
     info = 0;
     ksgs = dllDateien->ladeDLL( "KSGScript.dll", "data/bin/KSGScript.dll" );
     if( ksgs )
@@ -1902,40 +1906,41 @@ GruppeKarte::GruppeKarte( Schrift *zSchrift )
                                                       new Text( "Die DLL-Datei 'data/bin/KSGScript.dll' konnte nicht geladen werden." ),
                                                       new Text( "Ok" ), 0 );
     }
-	hintergrund = 0;
-	fehler = 0;
-	alpha1 = 0;
-	alpha2 = 0;
-	ladenZeit = 0;
-	tickVal = 0;
-	ladeBild = 0;
-	karteId = 0;
-	gruppeId = 0;
-	exit = 0;
-	geladen = 0;
-	rend = 0;
-	ref = 1;
+    hintergrund = 0;
+    fehler = 0;
+    alpha1 = 0;
+    alpha2 = 0;
+    ladenZeit = 0;
+    tickVal = 0;
+    ladeBild = 0;
+    karteId = 0;
+    gruppeId = 0;
+    exit = 0;
+    geladen = 0;
+    rend = 0;
+    ref = 1;
 }
 
 // Destruktor
 GruppeKarte::~GruppeKarte()
 {
-	exit = 1;
-	warteAufThread( 5000 );
-	if( run )
-		ende();
-	rahmen->release();
+    exit = 1;
+    warteAufThread( 5000 );
+    if( run )
+        ende();
+    rahmen->release();
     if( info )
     {
         info->zurücksetzen();
         info->release();
     }
-	if( hintergrund )
-		hintergrund->release();
-	if( fehler )
-		fehler->release();
-	if( schrift )
-		schrift->release();
+    if( hintergrund )
+        hintergrund->release();
+    if( fehler )
+        fehler->release();
+    if( schrift )
+        schrift->release();
+    tr->release();
     if( ksgs )
         dllDateien->releaseDLL( "KSGScript.dll" );
 }
@@ -1945,48 +1950,48 @@ void GruppeKarte::reset()
 {
     if( info )
         info->zurücksetzen();
-	if( hintergrund )
-		hintergrund = hintergrund->release();
-	if( fehler )
-		fehler = fehler->release();
-	if( run )
-	{
-		exit = 1;
-		warteAufThread( 5000 );
-		if( run )
-			ende();
-	}
-	geladen = 0;
-	alpha1 = 0;
-	alpha2 = 0;
-	ladenZeit = 0;
-	tickVal = 0;
-	ladeBild = 0;
-	karteId = 0;
-	gruppeId = 0;
-	exit = 0;
-	rend = 1;
-}
-
-void GruppeKarte::ksgsAktion( RCArray< KSGSVariable > *parameter, KSGSVariable **retVal )
+    if( hintergrund )
+        hintergrund = hintergrund->release();
+    if( fehler )
+        fehler = (TextFeld *)fehler->release();
+    if( run )
+    {
+        exit = 1;
+        warteAufThread( 5000 );
+        if( run )
+            ende();
+    }
+    geladen = 0;
+    alpha1 = 0;
+    alpha2 = 0;
+    ladenZeit = 0;
+    tickVal = 0;
+    ladeBild = 0;
+    karteId = 0;
+    gruppeId = 0;
+    exit = 0;
+    rend = 1;
+}
+
+void GruppeKarte::ksgsAktion( RCArray< KSGSVariable > * parameter, KSGSVariable * *retVal )
 {
 
 }
 
 void GruppeKarte::setGruppeId( int gruppeId )
 {
-	this->gruppeId = gruppeId;
-	if( run )
-	{
-		exit = 1;
-		warteAufThread( 5000 );
-		if( run )
-			ende();
-		exit = 0;
-	}
-	geladen = 0;
-	rend = 1;
-	start();
+    this->gruppeId = gruppeId;
+    if( run )
+    {
+        exit = 1;
+        warteAufThread( 5000 );
+        if( run )
+            ende();
+        exit = 0;
+    }
+    geladen = 0;
+    rend = 1;
+    start();
 }
 
 bool GruppeKarte::tick( double tickVal )
@@ -1995,148 +2000,146 @@ bool GruppeKarte::tick( double tickVal )
         return 0;
     if( info )
         rend |= info->tick( tickVal );
-	ladenZeit += tickVal;
-	if( ladenZeit >= 1 / 30.0 )
-	{
-		ladenZeit -= 1 / 30.0;
-		if( ladeAnimation && ladeAnimation->zAnimationData() )
-		{
-			if( alpha1 )
-				rend = 1;
-			ladeBild++;
-			if( ladeBild >= ladeAnimation->zAnimationData()->getBildAnzahl() )
-				ladeBild = 0;
-		}
-	}
-	this->tickVal += tickVal * 300;
-	int val = ( int )this->tickVal;
-	if( val < 1 )
-	{
-		bool ret = rend;
-		rend = 0;
-		return ret;
-	}
-	if( val > 10 )
-		val = 10;
-	this->tickVal -= val;
-	if( !geladen && !fehler )
-	{
-		if( alpha1 != 255 || alpha2 != 0 )
-			rend = 1;
-		if( alpha1 + val > 255 )
-			alpha1 = 255;
-		else
-			alpha1 += val;
-		if( alpha2 - val < 0 )
-			alpha2 = 0;
-		else
-			alpha2 -= val;
-	}
-	else
-	{
-		if( alpha1 != 0 || alpha2 != 255 )
-			rend = 1;
-		if( alpha1 - val < 0 )
-			alpha1 = 0;
-		else
-			alpha1 -= val;
-		if( alpha2 + val > 255 )
-			alpha2 = 255;
-		else
-			alpha2 += val;
-	}
-	bool ret = rend;
-	rend = 0;
-	return ret;
-}
-
-void GruppeKarte::doMausEreignis( MausEreignis &me )
-{
-	me.mx -= pos.x;
-	me.my -= pos.y;
+    ladenZeit += tickVal;
+    if( ladenZeit >= 1 / 30.0 )
+    {
+        ladenZeit -= 1 / 30.0;
+        if( ladeAnimation &&ladeAnimation->zAnimationData() )
+        {
+            if( alpha1 )
+                rend = 1;
+            ladeBild++;
+            if( ladeBild >= ladeAnimation->zAnimationData()->getBildAnzahl() )
+                ladeBild = 0;
+        }
+    }
+    this->tickVal += tickVal * 300;
+    int val = (int)this->tickVal;
+    if( val < 1 )
+    {
+        bool ret = rend;
+        rend = 0;
+        return ret;
+    }
+    if( val > 10 )
+        val = 10;
+    this->tickVal -= val;
+    if( !geladen && !fehler )
+    {
+        if( alpha1 != 255 || alpha2 != 0 )
+            rend = 1;
+        if( alpha1 + val > 255 )
+            alpha1 = 255;
+        else
+            alpha1 += val;
+        if( alpha2 - val < 0 )
+            alpha2 = 0;
+        else
+            alpha2 -= val;
+    }
+    else
+    {
+        if( alpha1 != 0 || alpha2 != 255 )
+            rend = 1;
+        if( alpha1 - val < 0 )
+            alpha1 = 0;
+        else
+            alpha1 -= val;
+        if( alpha2 + val > 255 )
+            alpha2 = 255;
+        else
+            alpha2 += val;
+    }
+    bool ret = rend;
+    rend = 0;
+    return ret;
+}
+
+void GruppeKarte::doMausEreignis( MausEreignis & me )
+{
+    me.mx -= pos.x;
+    me.my -= pos.y;
     if( info )
         info->doMausEreignis( me );
-	me.mx += pos.x;
-	me.my += pos.y;
-}
-
-void GruppeKarte::render( Bild &zrObj )
-{
-	int x = pos.x;
-	int y = pos.y;
-	if( !zrObj.setDrawOptions( x, y, gr.x, gr.y ) )
-		return;
-	if( alpha1 != 0 && ladeAnimation && ladeAnimation->zAnimationData() )
-	{
-		Bild *tmp = ladeAnimation->zAnimationData()->zBild( ladeBild );
-		if( tmp )
-		{
-			zrObj.setAlpha( alpha1 );
-			zrObj.drawBild( gr.x / 2 - tmp->getBreite() / 2, gr.y / 2 - tmp->getHeight() / 2, tmp->getBreite(), tmp->getHeight(), *tmp );
-			zrObj.releaseAlpha();
-		}
-	}
-	if( alpha2 != 0 )
-	{
-		zrObj.setAlpha( alpha2 );
-		if( geladen )
+    me.mx += pos.x;
+    me.my += pos.y;
+}
+
+void GruppeKarte::render( Bild & zrObj )
+{
+    int x = pos.x;
+    int y = pos.y;
+    if( !zrObj.setDrawOptions( x, y, gr.x, gr.y ) )
+        return;
+    if( alpha1 != 0 && ladeAnimation && ladeAnimation->zAnimationData() )
+    {
+        Bild *tmp = ladeAnimation->zAnimationData()->zBild( ladeBild );
+        if( tmp )
+        {
+            zrObj.setAlpha( alpha1 );
+            zrObj.drawBild( gr.x / 2 - tmp->getBreite() / 2, gr.y / 2 - tmp->getHeight() / 2, tmp->getBreite(), tmp->getHeight(), *tmp );
+            zrObj.releaseAlpha();
+        }
+    }
+    if( alpha2 != 0 )
+    {
+        zrObj.setAlpha( alpha2 );
+        if( geladen )
         {
             if( info )
                 info->render( zrObj );
-			rahmen->render( zrObj );
-			zrObj.drawBild( 248 + rahmen->getRBreite(), rahmen->getRBreite(),
-							 rahmen->getBreite() - rahmen->getRBreite() * 2, rahmen->getHeight() - rahmen->getRBreite() * 2, *hintergrund );
-		}
-		else if( fehler )
-			fehler->render( zrObj );
-		zrObj.releaseAlpha();
-	}
-	zrObj.releaseDrawOptions();
+            rahmen->render( zrObj );
+            zrObj.drawBild( 248 + rahmen->getRBreite(), rahmen->getRBreite(),
+                            rahmen->getBreite() - rahmen->getRBreite() * 2, rahmen->getHeight() - rahmen->getRBreite() * 2, *hintergrund );
+        }
+        else if( fehler )
+            fehler->render( zrObj );
+        zrObj.releaseAlpha();
+    }
+    zrObj.releaseDrawOptions();
 }
 
 void GruppeKarte::thread()
 {
     if( info )
         info->zurücksetzen();
-	if( hintergrund )
-		hintergrund = hintergrund->release();
-	if( fehler )
-		fehler = fehler->release();
-	karteId = infoClient->getGruppenKarteId( gruppeId );
-	if( !karteId )
-	{
-		run = 0;
-		return;
-	}
-	KartenLeser *karte = KartenLeser::getInstance();
+    if( hintergrund )
+        hintergrund = hintergrund->release();
+    if( fehler )
+        fehler = (TextFeld *)fehler->release();
+    karteId = infoClient->getGruppenKarteId( gruppeId );
+    if( !karteId )
+    {
+        run = 0;
+        return;
+    }
+    KartenLeser *karte = KartenLeser::getInstance();
     karte->lock();
-	karte->setKarteId( karteId );
-	hintergrund = karte->getKartenVorschauBild();
-	if( exit )
-	{
-		if( hintergrund )
-			hintergrund = hintergrund->release();
+    karte->setKarteId( karteId );
+    hintergrund = karte->getKartenVorschauBild();
+    if( exit )
+    {
+        if( hintergrund )
+            hintergrund = hintergrund->release();
         karte->unlock();
-		karte->release();
-		run = 0;
-		return;
-	}
-	if( !hintergrund )
-	{
-		Text *f = new Text( karte->getLetzterFehler() );
-		schrift->lock();
-		schrift->setSchriftSize( 12 );
-		int br = schrift->getTextBreite( f );
-		int hö = schrift->getTextHeight( f );
-		schrift->unlock();
-		fehler = initTextFeld( gr.x / 2 - ( br + 10 ) / 2, gr.y / 2 - ( hö + 4 ) / 2, br + 10, hö + 4,
-							   schrift, TextFeld::Style::Text | TextFeld::Style::Center, f->getText() );
-		f->release();
+        karte->release();
+        run = 0;
+        return;
+    }
+    if( !hintergrund )
+    {
+        Text *f = new Text( karte->getLetzterFehler() );
+        tr->setSchriftSize( 12 );
+        int br = tr->getTextBreite( f->getText() );
+        int hö = tr->getTextHeight( f->getText() );
+        fehler = initTextFeld( gr.x / 2 - ( br + 10 ) / 2, gr.y / 2 - ( hö + 4 ) / 2, br + 10, hö + 4,
+                               schrift, TextFeld::Style::Text | TextFeld::Style::Center, f->getText() );
+        f->release();
         karte->unlock();
-		karte->release();
-		run = 0;
-		return;
-	}
+        karte->release();
+        run = 0;
+        return;
+    }
     bool ok = 0;
     if( info )
     {
@@ -2153,329 +2156,327 @@ void GruppeKarte::thread()
                 var->release();
         }
     }
-	if( !ok )
-	{
-		Text *f = new Text( karte->getLetzterFehler() );
-		schrift->lock();
-		schrift->setSchriftSize( 12 );
-		int br = schrift->getTextBreite( f );
-		int hö = schrift->getTextHeight( f );
-		schrift->unlock();
-		fehler = initTextFeld( gr.x / 2 - ( br + 10 ) / 2, gr.y / 2 - ( hö + 4 ) / 2, br + 10, hö + 4,
-							   schrift, TextFeld::Style::Text | TextFeld::Style::Center, f->getText() );
-		f->release();
+    if( !ok )
+    {
+        Text *f = new Text( karte->getLetzterFehler() );
+        tr->setSchriftSize( 12 );
+        int br = tr->getTextBreite( f->getText() );
+        int hö = tr->getTextHeight( f->getText() );
+        fehler = initTextFeld( gr.x / 2 - ( br + 10 ) / 2, gr.y / 2 - ( hö + 4 ) / 2, br + 10, hö + 4,
+                               schrift, TextFeld::Style::Text | TextFeld::Style::Center, f->getText() );
+        f->release();
         karte->unlock();
-		karte->release();
-		run = 0;
-		return;
-	}
+        karte->release();
+        run = 0;
+        return;
+    }
     karte->unlock();
-	karte->release();
-	geladen = 1;
-	run = 0;
-	rend = 1;
+    karte->release();
+    geladen = 1;
+    run = 0;
+    rend = 1;
 }
 
 // constant
 int GruppeKarte::getKarteId() const
 {
-	return karteId;
+    return karteId;
 }
 
 // Reference Counting
 GruppeKarte *GruppeKarte::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 GruppeKarte *GruppeKarte::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 // Inhalt der GruppeSpielGefunden Klasse aus Gruppe.h
 // Konstruktor
-GruppeSpielGefunden::GruppeSpielGefunden( Schrift *zSchrift )
-{
-	pos = Punkt( 375, 235 );
-	gr = Punkt( 200, 90 );
-	spielGefunden = initFenster( 0, 0, 200, 90, zSchrift, Fenster::Style::Sichtbar | Fenster::Style::Rahmen | Fenster::Style::Titel, "Spiel gefunden" );
-	zeit = initTextFeld( 0, 30, 200, 20, zSchrift, TextFeld::Style::Text, "Verbleibende Zeit: 10" );
-	warte = initTextFeld( 0, 60, 200, 20, zSchrift, TextFeld::Style::Text & ~TextFeld::Style::Sichtbar, "Warte auf andere Spieler. . ." );
-	annehmen = initKnopf( 50, 60, 100, 20, zSchrift, Knopf::Style::Normal, "beitreten" );
-	alpha = 0;
-	time = 0;
-	sichtbar = 0;
-	tickVal = 0;
-	rend = 0;
-	ref = 1;
+GruppeSpielGefunden::GruppeSpielGefunden( Schrift * zSchrift )
+{
+    pos = Punkt( 375, 235 );
+    gr = Punkt( 200, 90 );
+    spielGefunden = initFenster( 0, 0, 200, 90, zSchrift, Fenster::Style::Sichtbar | Fenster::Style::Rahmen | Fenster::Style::Titel, "Spiel gefunden" );
+    zeit = initTextFeld( 0, 30, 200, 20, zSchrift, TextFeld::Style::Text, "Verbleibende Zeit: 10" );
+    warte = initTextFeld( 0, 60, 200, 20, zSchrift, TextFeld::Style::Text & ~TextFeld::Style::Sichtbar, "Warte auf andere Spieler. . ." );
+    annehmen = initKnopf( 50, 60, 100, 20, zSchrift, Knopf::Style::Normal, "beitreten" );
+    alpha = 0;
+    time = 0;
+    sichtbar = 0;
+    tickVal = 0;
+    rend = 0;
+    ref = 1;
 }
 
 // Destruktor
 GruppeSpielGefunden::~GruppeSpielGefunden()
 {
-	spielGefunden->release();
-	zeit->release();
-	warte->release();
-	annehmen->release();
+    spielGefunden->release();
+    zeit->release();
+    warte->release();
+    annehmen->release();
 }
 
 // nicht constant
 void GruppeSpielGefunden::reset()
 {
-	zeit->setText( "Verbleibende Zeit: 10" );
-	alpha = 0;
-	time = 0;
-	sichtbar = 0;
-	warte->removeStyle( TextFeld::Style::Sichtbar );
-	annehmen->addStyle( Knopf::Style::Sichtbar );
-	rend = 1;
+    zeit->setText( "Verbleibende Zeit: 10" );
+    alpha = 0;
+    time = 0;
+    sichtbar = 0;
+    warte->removeStyle( TextFeld::Style::Sichtbar );
+    annehmen->addStyle( Knopf::Style::Sichtbar );
+    rend = 1;
 }
 
 void GruppeSpielGefunden::setSichtbar( bool sichtbar )
 {
-	warte->removeStyle( TextFeld::Style::Sichtbar );
-	annehmen->addStyle( Knopf::Style::Sichtbar );
-	this->sichtbar = sichtbar;
-	rend = 1;
+    warte->removeStyle( TextFeld::Style::Sichtbar );
+    annehmen->addStyle( Knopf::Style::Sichtbar );
+    this->sichtbar = sichtbar;
+    rend = 1;
 }
 
 void GruppeSpielGefunden::setVerbleibendeZeit( int sekunden )
 {
-	if( time != sekunden )
-		rend = 1;
-	time = sekunden;
+    if( time != sekunden )
+        rend = 1;
+    time = sekunden;
 }
 
 bool GruppeSpielGefunden::tick( double tickVal )
 {
-	if( rend )
-	{
-		zeit->setText( "Verbleibende Zeit: " );
-		zeit->zText()->append( (int)time );
-	}
-	rend |= annehmen->tick( tickVal );
-	this->tickVal += tickVal * 300;
-	int val = ( int )this->tickVal;
-	if( val < 1 )
-	{
-		bool ret = rend;
-		rend = 0;
-		return ret;
-	}
-	if( val > 10 )
-		val = 10;
-	this->tickVal -= val;
-	if( sichtbar )
-	{
-		if( alpha < 255 )
-		{
-			if( alpha + val > 255 )
-				alpha = 255;
-			else
-				alpha += val;
-			rend = 1;
-		}
-	}
-	else
-	{
-		if( alpha )
-		{
-			if( alpha - val < 0 )
-				alpha = 0;
-			else
-				alpha -= val;
-			rend = 1;
-		}
-	}
-	bool ret = rend;
-	rend = 0;
-	return ret;
-}
-
-void GruppeSpielGefunden::doMausEreignis( MausEreignis &me )
-{
-	me.mx -= pos.x;
-	me.my -= pos.y;
-	bool ver = me.verarbeitet;
-	annehmen->doMausEreignis( me );
-	if( me.verarbeitet && !ver && me.id == ME_RLinks )
-	{
-		if( spielClient->spielErstelltAnnehmen() )
-		{
-			annehmen->removeStyle( Knopf::Style::Sichtbar );
-			warte->addStyle( TextFeld::Style::Sichtbar );
-			rend = 1;
-		}
-		else if( nachLogin && nachLogin->zSpielenFenster() )
-			nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( spielClient->getLetzterFehler() ), new Text( "Ok" ), 0 );
-	}
-	me.mx += pos.x;
-	me.my += pos.y;
-}
-
-void GruppeSpielGefunden::render( Bild &zRObj )
-{
-	if( !zRObj.setDrawOptions( pos.x, pos.y, gr.x, gr.y ) )
-		return;
-	zRObj.setAlpha( alpha );
-	spielGefunden->render( zRObj );
-	zeit->render( zRObj );
-	warte->render( zRObj );
-	annehmen->render( zRObj );
-	zRObj.releaseAlpha();
-	zRObj.releaseDrawOptions();
+    if( rend )
+    {
+        zeit->setText( "Verbleibende Zeit: " );
+        zeit->zText()->append( (int)time );
+    }
+    rend |= annehmen->tick( tickVal );
+    this->tickVal += tickVal * 300;
+    int val = (int)this->tickVal;
+    if( val < 1 )
+    {
+        bool ret = rend;
+        rend = 0;
+        return ret;
+    }
+    if( val > 10 )
+        val = 10;
+    this->tickVal -= val;
+    if( sichtbar )
+    {
+        if( alpha < 255 )
+        {
+            if( alpha + val > 255 )
+                alpha = 255;
+            else
+                alpha += val;
+            rend = 1;
+        }
+    }
+    else
+    {
+        if( alpha )
+        {
+            if( alpha - val < 0 )
+                alpha = 0;
+            else
+                alpha -= val;
+            rend = 1;
+        }
+    }
+    bool ret = rend;
+    rend = 0;
+    return ret;
+}
+
+void GruppeSpielGefunden::doMausEreignis( MausEreignis & me )
+{
+    me.mx -= pos.x;
+    me.my -= pos.y;
+    bool ver = me.verarbeitet;
+    annehmen->doMausEreignis( me );
+    if( me.verarbeitet && !ver && me.id == ME_RLinks )
+    {
+        if( spielClient->spielErstelltAnnehmen() )
+        {
+            annehmen->removeStyle( Knopf::Style::Sichtbar );
+            warte->addStyle( TextFeld::Style::Sichtbar );
+            rend = 1;
+        }
+        else if( nachLogin &&nachLogin->zSpielenFenster() )
+            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( spielClient->getLetzterFehler() ), new Text( "Ok" ), 0 );
+    }
+    me.mx += pos.x;
+    me.my += pos.y;
+}
+
+void GruppeSpielGefunden::render( Bild & zRObj )
+{
+    if( !zRObj.setDrawOptions( pos.x, pos.y, gr.x, gr.y ) )
+        return;
+    zRObj.setAlpha( alpha );
+    spielGefunden->render( zRObj );
+    zeit->render( zRObj );
+    warte->render( zRObj );
+    annehmen->render( zRObj );
+    zRObj.releaseAlpha();
+    zRObj.releaseDrawOptions();
 }
 
 // constant
 bool GruppeSpielGefunden::istSichtbar() const
 {
-	return sichtbar;
+    return sichtbar;
 }
 
 // Reference Counting
 GruppeSpielGefunden *GruppeSpielGefunden::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 GruppeSpielGefunden *GruppeSpielGefunden::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 // Inhalt der GruppeFenster Klasse aus Gruppe.h
 // Konstruktor
-GruppeFenster::GruppeFenster( Schrift *zSchrift )
-{
-	pos = Punkt( 0, 0 );
-	gr = Punkt( 950, 550 );
-	anmeldung = new GruppeAnmeldung( zSchrift );
-	chat = new GruppeChat( zSchrift );
-	accounts = new GruppeAccountListe( zSchrift );
-	einladungen = new GruppeEinladungListe( zSchrift );
-	karte = new GruppeKarte( zSchrift );
-	spiel = new GruppeSpielGefunden( zSchrift );
-	alpha = 0;
-	sichtbar = 0;
-	tickVal = 0;
-	rend = 0;
-	ref = 1;
+GruppeFenster::GruppeFenster( Schrift * zSchrift )
+{
+    pos = Punkt( 0, 0 );
+    gr = Punkt( 950, 550 );
+    anmeldung = new GruppeAnmeldung( zSchrift );
+    chat = new GruppeChat( zSchrift );
+    accounts = new GruppeAccountListe( zSchrift );
+    einladungen = new GruppeEinladungListe( zSchrift );
+    karte = new GruppeKarte( zSchrift );
+    spiel = new GruppeSpielGefunden( zSchrift );
+    alpha = 0;
+    sichtbar = 0;
+    tickVal = 0;
+    rend = 0;
+    ref = 1;
 }
 
 // Destruktor
 GruppeFenster::~GruppeFenster()
 {
-	anmeldung->release();
-	chat->release();
-	accounts->release();
-	einladungen->release();
-	karte->release();
-	spiel->release();
+    anmeldung->release();
+    chat->release();
+    accounts->release();
+    einladungen->release();
+    karte->release();
+    spiel->release();
 }
 
 // nicht constant
 void GruppeFenster::setGruppeId( int id )
 {
-	gruppeId = id;
-	anmeldung->setGruppeId( id );
-	chat->setGruppeId( id );
-	accounts->setGruppeId( id );
-	einladungen->setGruppeId( id );
-	karte->setGruppeId( id );
-	spiel->setSichtbar( 0 );
-	if( id )
-	{
-		int adminId = infoClient->getGruppeAdminId( id );
-		nachLogin->zFreundesListe()->zeigeEinladeKnopf( adminId == loginClient->getAccountId() );
-		setAdmin( adminId );
-	}
-	rend = 1;
+    gruppeId = id;
+    anmeldung->setGruppeId( id );
+    chat->setGruppeId( id );
+    accounts->setGruppeId( id );
+    einladungen->setGruppeId( id );
+    karte->setGruppeId( id );
+    spiel->setSichtbar( 0 );
+    if( id )
+    {
+        int adminId = infoClient->getGruppeAdminId( id );
+        nachLogin->zFreundesListe()->zeigeEinladeKnopf( adminId == loginClient->getAccountId() );
+        setAdmin( adminId );
+    }
+    rend = 1;
 }
 
 void GruppeFenster::setSichtbar( bool sichtbar )
 {
-	this->sichtbar = sichtbar;
-	rend = 1;
+    this->sichtbar = sichtbar;
+    rend = 1;
 }
 
 void GruppeFenster::chatNachricht( const char *nachricht )
 {
-	chat->gruppeNachricht( nachricht );
+    chat->gruppeNachricht( nachricht );
 }
 
 void GruppeFenster::neuerSpieler( int accountId )
 {
-	einladungen->setAngenommen( accountId );
-	accounts->addAccount( accountId );
+    einladungen->setAngenommen( accountId );
+    accounts->addAccount( accountId );
 }
 
 void GruppeFenster::spielerVerlässt( int accountId )
 {
-	accounts->removeAccount( accountId );
-	anmeldung->setAngemeldet( 0 );
+    accounts->removeAccount( accountId );
+    anmeldung->setAngemeldet( 0 );
 }
 
 void GruppeFenster::neueEinladung( int accountId )
 {
-	einladungen->addAccount( accountId );
+    einladungen->addAccount( accountId );
 }
 
 void GruppeFenster::einladungEntfernt( int accountId )
 {
-	einladungen->remove( accountId );
+    einladungen->remove( accountId );
 }
 
 void GruppeFenster::einladungAbgelehnt( int accountId )
 {
-	einladungen->setAbgelehnt( accountId );
+    einladungen->setAbgelehnt( accountId );
 }
 
 void GruppeFenster::setSpielerHinzufügen( bool sh )
 {
-	anmeldung->setSpielerHinzufügen( sh );
+    anmeldung->setSpielerHinzufügen( sh );
 }
 
 void GruppeFenster::setAngemeldet( bool angemeldet )
 {
-	anmeldung->setAngemeldet( angemeldet );
+    anmeldung->setAngemeldet( angemeldet );
 }
 
 void GruppeFenster::spielGefunden()
 {
-	anmeldung->spielGefunden();
-	spiel->setSichtbar( 1 );
-	rend = 1;
+    anmeldung->spielGefunden();
+    spiel->setSichtbar( 1 );
+    rend = 1;
 }
 
 void GruppeFenster::verbleibendeZeit( int sekunden )
 {
-	spiel->setVerbleibendeZeit( sekunden );
+    spiel->setVerbleibendeZeit( sekunden );
 }
 
 void GruppeFenster::spielGefundenAbbruch()
 {
-	spiel->setSichtbar( 0 );
+    spiel->setSichtbar( 0 );
 }
 
 void GruppeFenster::zurückInWarteschlange( int stunden, int minuten, int sekunden )
 {
-	anmeldung->zurückInWarteschlange( stunden, minuten, sekunden );
+    anmeldung->zurückInWarteschlange( stunden, minuten, sekunden );
 }
 
 void GruppeFenster::setAdmin( int accountId )
 {
-	anmeldung->setAdmin( accountId );
-	accounts->setAdmin( accountId );
-	einladungen->setAdmin( accountId );
+    anmeldung->setAdmin( accountId );
+    accounts->setAdmin( accountId );
+    einladungen->setAdmin( accountId );
 }
 
 void GruppeFenster::kick()
@@ -2485,152 +2486,152 @@ void GruppeFenster::kick()
 
 void GruppeFenster::reset()
 {
-	accounts->reset();
-	einladungen->reset();
-	karte->reset();
-	chat->reset();
-	anmeldung->reset();
-	spiel->reset();
+    accounts->reset();
+    einladungen->reset();
+    karte->reset();
+    chat->reset();
+    anmeldung->reset();
+    spiel->reset();
 }
 
 bool GruppeFenster::tick( double tickVal )
 {
-	if( !spiel->istSichtbar() )
-	{
-		rend |= anmeldung->tick( tickVal );
-		rend |= chat->tick( tickVal );
-		rend |= accounts->tick( tickVal );
-		rend |= einladungen->tick( tickVal );
-		rend |= karte->tick( tickVal );
-	}
-	rend |= spiel->tick( tickVal );
-	this->tickVal += tickVal * 300;
-	int val = ( int )this->tickVal;
-	if( val < 1 )
-	{
-		bool ret = rend;
-		rend = 0;
-		return ret;
-	}
-	if( val > 10 )
-		val = 10;
-	this->tickVal -= val;
-	if( sichtbar )
-	{
-		if( spiel->istSichtbar() )
-		{
-			if( alpha > 0x70 )
-			{
-				if( alpha - val < 0x70 )
-					alpha = 0x70;
-				else
-					alpha -= val;
-				rend = 1;
-			}
-			else if( alpha < 0x70 )
-			{
-				if( alpha + val > 0x70 )
-					alpha = 0x70;
-				else
-					alpha += val;
-				rend = 1;
-			}
-		}
-		else
-		{
-			if( alpha < 255 )
-			{
-				if( alpha + val > 255 )
-					alpha = 255;
-				else
-					alpha += val;
-				rend = 1;
-			}
-		}
-	}
-	else
-	{
-		if( alpha > 0 )
-		{
-			if( alpha - val < 0 )
-				alpha = 0;
-			else
-				alpha -= val;
-			rend = 1;
-			if( !alpha )
-				reset();
-		}
-	}
-	bool ret = rend;
-	rend = 0;
-	return ret;
-}
-
-void GruppeFenster::doMausEreignis( MausEreignis &me )
-{
-	if( !spiel->istSichtbar() )
-	{
-		anmeldung->doMausEreignis( me );
-		chat->doMausEreignis( me );
-		accounts->doMausEreignis( me );
-		einladungen->doMausEreignis( me );
-		karte->doMausEreignis( me );
-	}
-	spiel->doMausEreignis( me );
-}
-
-void GruppeFenster::doTastaturEreignis( TastaturEreignis &te )
-{
-	if( !spiel->istSichtbar() )
-	{
-		chat->doTastaturEreignis( te );
-		einladungen->doTastaturEreignis( te );
-	}
-}
-
-void GruppeFenster::render( Bild &zRObj )
-{
-	if( alpha )
-	{
-		int x = pos.x;
-		int y = pos.y;
-		if( !zRObj.setDrawOptions( x, y, gr.x, gr.y ) )
-			return;
-		unsigned char tmpAlpha = zRObj.getAlpha();
-		zRObj.setAlpha( alpha );
-		anmeldung->render( zRObj );
-		chat->render( zRObj );
-		accounts->render( zRObj );
-		einladungen->render( zRObj );
-		karte->render( zRObj );
-		zRObj.releaseAlpha();
-		spiel->render( zRObj );
-		zRObj.releaseDrawOptions();
-	}
+    if( !spiel->istSichtbar() )
+    {
+        rend |= anmeldung->tick( tickVal );
+        rend |= chat->tick( tickVal );
+        rend |= accounts->tick( tickVal );
+        rend |= einladungen->tick( tickVal );
+        rend |= karte->tick( tickVal );
+    }
+    rend |= spiel->tick( tickVal );
+    this->tickVal += tickVal * 300;
+    int val = (int)this->tickVal;
+    if( val < 1 )
+    {
+        bool ret = rend;
+        rend = 0;
+        return ret;
+    }
+    if( val > 10 )
+        val = 10;
+    this->tickVal -= val;
+    if( sichtbar )
+    {
+        if( spiel->istSichtbar() )
+        {
+            if( alpha > 0x70 )
+            {
+                if( alpha - val < 0x70 )
+                    alpha = 0x70;
+                else
+                    alpha -= val;
+                rend = 1;
+            }
+            else if( alpha < 0x70 )
+            {
+                if( alpha + val > 0x70 )
+                    alpha = 0x70;
+                else
+                    alpha += val;
+                rend = 1;
+            }
+        }
+        else
+        {
+            if( alpha < 255 )
+            {
+                if( alpha + val > 255 )
+                    alpha = 255;
+                else
+                    alpha += val;
+                rend = 1;
+            }
+        }
+    }
+    else
+    {
+        if( alpha > 0 )
+        {
+            if( alpha - val < 0 )
+                alpha = 0;
+            else
+                alpha -= val;
+            rend = 1;
+            if( !alpha )
+                reset();
+        }
+    }
+    bool ret = rend;
+    rend = 0;
+    return ret;
+}
+
+void GruppeFenster::doMausEreignis( MausEreignis & me )
+{
+    if( !spiel->istSichtbar() )
+    {
+        anmeldung->doMausEreignis( me );
+        chat->doMausEreignis( me );
+        accounts->doMausEreignis( me );
+        einladungen->doMausEreignis( me );
+        karte->doMausEreignis( me );
+    }
+    spiel->doMausEreignis( me );
+}
+
+void GruppeFenster::doTastaturEreignis( TastaturEreignis & te )
+{
+    if( !spiel->istSichtbar() )
+    {
+        chat->doTastaturEreignis( te );
+        einladungen->doTastaturEreignis( te );
+    }
+}
+
+void GruppeFenster::render( Bild & zRObj )
+{
+    if( alpha )
+    {
+        int x = pos.x;
+        int y = pos.y;
+        if( !zRObj.setDrawOptions( x, y, gr.x, gr.y ) )
+            return;
+        unsigned char tmpAlpha = zRObj.getAlpha();
+        zRObj.setAlpha( alpha );
+        anmeldung->render( zRObj );
+        chat->render( zRObj );
+        accounts->render( zRObj );
+        einladungen->render( zRObj );
+        karte->render( zRObj );
+        zRObj.releaseAlpha();
+        spiel->render( zRObj );
+        zRObj.releaseDrawOptions();
+    }
 }
 
 // constant
 int GruppeFenster::getGruppeId() const
 {
-	return gruppeId;
+    return gruppeId;
 }
 
 int GruppeFenster::getKarteId() const
 {
-	return karte ? karte->getKarteId() : 0;
+    return karte ? karte->getKarteId() : 0;
 }
 
 // Reference Counting
 GruppeFenster *GruppeFenster::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 GruppeFenster *GruppeFenster::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }

+ 1 - 0
KSGClient/NachLogin/Spiele/Gruppe/Gruppe.h

@@ -269,6 +269,7 @@ private:
     HINSTANCE ksgs;
 	TextFeld *fehler;
 	Schrift *schrift;
+    TextRenderer *tr;
 	unsigned char alpha1;
 	unsigned char alpha2;
 	double tickVal;

+ 4 - 5
KSGClient/NachLogin/Spiele/Karte Auswahl/KarteAuswahl.cpp

@@ -508,6 +508,7 @@ KarteDaten *KarteDaten::release()
 KarteAuswahlFenster::KarteAuswahlFenster( Schrift *zSchrift )
 {
     schrift = zSchrift->getThis();
+    tr = new TextRenderer( schrift->getThis() );
     rahmen = new LRahmen();
     rahmen->setFarbe( 0xFFFFFFFF );
     rahmen->setRamenBreite( 1 );
@@ -535,6 +536,7 @@ KarteAuswahlFenster::~KarteAuswahlFenster()
         rahmen->release();
     if( members )
         members->release();
+    tr->release();
 }
 
 // nicht constant
@@ -747,11 +749,8 @@ void KarteAuswahlFenster::render( Bild &zrObj )
     if( !anzahl )
     {
         Text t = "Dieser Account besitzt momentan noch keine Karten für dieses Spiel.\nBesuche den Shop um neue Karten zu erwerben!";
-        schrift->lock();
-        schrift->setDrawPosition( 10, 10 );
-        schrift->setSchriftSize( 12 );
-        schrift->renderText( &t, zrObj, 0xFFFFFFFF );
-        schrift->unlock();
+        tr->setSchriftSize( 12 );
+        tr->renderText( 10, 10, t, zrObj, 0xFFFFFFFF );
     }
     zrObj.releaseDrawOptions();
     zrObj.releaseAlpha();

+ 1 - 0
KSGClient/NachLogin/Spiele/Karte Auswahl/KarteAuswahl.h

@@ -79,6 +79,7 @@ private:
     RCArray< KarteDaten > *members;
     LRahmen *rahmen;
     Schrift *schrift;
+    TextRenderer *tr;
     double tickVal;
     int animation;
     Punkt pos;

+ 36 - 38
KSGClient/NachLogin/Spiele/Spiel Auswahl/SpielAuswahl.cpp

@@ -15,10 +15,10 @@ void SpielAuswahlKSGSAktion( void *p, RCArray< KSGSVariable > *parameter, KSGSVa
 {
     if( !p )
         return;
-    ( (SpielDaten*)p )->ksgsAktion( parameter, retVal );
+    ( (SpielDaten *)p )->ksgsAktion( parameter, retVal );
 }
 
-SpielDaten::Loader::Loader( SpielDaten *sd, int aktion )
+SpielDaten::Loader::Loader( SpielDaten * sd, int aktion )
 {
     this->sd = sd;
     this->aktion = aktion;
@@ -47,7 +47,7 @@ void SpielDaten::Loader::thread()
             sd->ausgewählt = 0;
             hauptScreen->lock();
             if( sd->aAnimation )
-                sd->aAnimation = sd->aAnimation->release();
+                sd->aAnimation = (Animation2D *)sd->aAnimation->release();
             hauptScreen->unlock();
             if( sd->hintergrund )
                 sd->hintergrund = sd->hintergrund->release();
@@ -67,11 +67,8 @@ void SpielDaten::Loader::thread()
             if( !sd->hintergrund )
                 sd->hintergrund = new Bild();
             sd->hintergrund->neuBild( 200, 100, 0xFF000000 );
-            sd->schrift->lock();
-            sd->schrift->setSchriftSize( 12 );
-            sd->schrift->setDrawPosition( 10, 10 );
-            sd->schrift->renderText( sd->name, *sd->hintergrund, 0xFFFFFFFF );
-            sd->schrift->unlock();
+            sd->tr->setSchriftSize( 12 );
+            sd->tr->renderText( 10, 10, sd->name->getText(), *sd->hintergrund, 0xFFFFFFFF );
             if( !sd->geladen )
                 sd->geladen = 1;
             sd->rend = 1;
@@ -146,7 +143,7 @@ void SpielDaten::Loader::thread()
                     {
                         nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
                                                                       new Text( "Der Einstiegspunkt '" KSGS_START_FUNKTION "' in der DLL-Datei "
-                                                                                "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
+                                                                      "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
                                                                       new Text( "Ok" ), 0 );
                     }
                 }
@@ -158,7 +155,7 @@ void SpielDaten::Loader::thread()
                 }
                 if( sd->beschreibung )
                     sd->geladen = 2;
-                if( sd->beschreibung && sd->ksgs && sd->ausgewählt )
+                if( sd->beschreibung &&sd->ksgs &&sd->ausgewählt )
                     sd->beschreibung->neuLaden();
             }
         }
@@ -177,7 +174,7 @@ void SpielDaten::Loader::thread()
         sd->ausgewählt = 0;
         hauptScreen->lock();
         if( sd->aAnimation )
-            sd->aAnimation = sd->aAnimation->release();
+            sd->aAnimation = (Animation2D *)sd->aAnimation->release();
         hauptScreen->unlock();
         if( sd->hintergrund )
             sd->hintergrund = sd->hintergrund->release();
@@ -230,10 +227,10 @@ void SpielDaten::Loader::thread()
         pf->insert( 0, "/data/" );
         pf->insert( 0, sd->name->getText() );
         pf->insert( 0, "data/spiele/" );
-        Datei *idDatei = new Datei();
+        Datei * idDatei = new Datei();
         idDatei->setDatei( pf->getText() );
         idDatei->open( Datei::Style::lesen );
-        idDatei->lese( (char*)&sd->spielId, 4 );
+        idDatei->lese( (char *)& sd->spielId, 4 );
         idDatei->close();
         idDatei->release();
         pf->release();
@@ -259,7 +256,7 @@ void SpielDaten::Loader::thread()
                 ad->setFPS( 30 );
                 hauptScreen->lock();
                 if( sd->aAnimation )
-                    sd->aAnimation = sd->aAnimation->release();
+                    sd->aAnimation = (Animation2D *)sd->aAnimation->release();
                 sd->aAnimation = new Animation2D();
                 hauptScreen->unlock();
                 sd->aAnimation->setSize( 200, 100 );
@@ -296,7 +293,7 @@ void SpielDaten::Loader::thread()
                 {
                     nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
                                                                   new Text( "Der Einstiegspunkt '" KSGS_START_FUNKTION "' in der DLL-Datei "
-                                                                            "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
+                                                                  "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
                                                                   new Text( "Ok" ), 0 );
                 }
             }
@@ -309,7 +306,7 @@ void SpielDaten::Loader::thread()
             pf->release();
             if( sd->beschreibung )
                 sd->geladen = 2;
-            if( sd->beschreibung && sd->ksgs && sd->ausgewählt )
+            if( sd->beschreibung &&sd->ksgs &&sd->ausgewählt )
                 sd->beschreibung->neuLaden();
             sd->rend = 1;
         }
@@ -337,7 +334,7 @@ int SpielDaten::Loader::getAktion() const
 
 // Inhalt der SpielDaten Klasse aus SpielAuswahl.h
 // Konstruktor
-SpielDaten::SpielDaten( Schrift *zSchrift, const char *name, int id )
+SpielDaten::SpielDaten( Schrift * zSchrift, const char *name, int id )
 {
     this->name = new Text( name );
     hintergrund = 0;
@@ -353,6 +350,7 @@ SpielDaten::SpielDaten( Schrift *zSchrift, const char *name, int id )
     pos = Punkt( 0, 500 );
     gr = Punkt( 200, 100 );
     schrift = zSchrift->getThis();
+    tr = new TextRenderer( schrift->getThis() );
     spielId = id;
     geladen = 0;
     erlaubt = 0;
@@ -371,7 +369,7 @@ SpielDaten::SpielDaten( Schrift *zSchrift, const char *name, int id )
 // Destruktor
 SpielDaten::~SpielDaten()
 {
-    if( loader && loader->isRunning() )
+    if( loader &&loader->isRunning() )
         loader->warteAufThread( INT_MAX );
     loader->release();
     if( schrift )
@@ -393,10 +391,11 @@ SpielDaten::~SpielDaten()
     }
     rahmen->release();
     auswahl->release();
+    tr->release();
 }
 
 // nicht constant
-void SpielDaten::ksgsAktion( RCArray< KSGSVariable > *parameter, KSGSVariable **retVal )
+void SpielDaten::ksgsAktion( RCArray< KSGSVariable > * parameter, KSGSVariable * *retVal )
 {}
 
 void SpielDaten::setSichtbar( bool sichtbar )
@@ -410,7 +409,7 @@ void SpielDaten::setSichtbar( bool sichtbar )
         auswahl->setFarbe( auswahl->getFarbe() & 0xFFFFFF );
     }
     hauptScreen->lock();
-    if( loader->getAktion() == (sichtbar ? 2 : 0) )
+    if( loader->getAktion() == ( sichtbar ? 2 : 0 ) )
     {
         hauptScreen->unlock();
         rend = 1;
@@ -427,7 +426,7 @@ void SpielDaten::setSichtbar( bool sichtbar )
 void SpielDaten::setSichtbar()
 {
     animation |= 1;
-    if( ausgewählt && geladen == 2 )
+    if( ausgewählt &&geladen == 2 )
     {
         animation |= 0x4;
         beschreibung->setPosition( beschreibung->getX(), 0 );
@@ -452,7 +451,7 @@ void SpielDaten::setAuswahl( bool auswahl )
     {
         if( aAnimation )
             aAnimation->setSichtbar( 1 );
-        if( beschreibung && ksgs )
+        if( beschreibung &&ksgs )
             beschreibung->neuLaden();
         animation |= 0x4;
     }
@@ -489,7 +488,7 @@ void SpielDaten::updateErlaubt()
         msg += "' muss aktualisiert werden.";
         nachLogin->zNachrichtenListe()->addNachricht( new SpielUpdateNachricht( schrift, new Text( "Update" ), msg.getThis(), dgId, []()
         {
-            if( nachLogin && nachLogin->zSpielenFenster() )
+            if( nachLogin &&nachLogin->zSpielenFenster() )
                 nachLogin->zSpielenFenster()->updateErlaubt();
         } ) );
     }
@@ -506,7 +505,7 @@ bool SpielDaten::tick( double tickVal )
     if( beschreibung )
         rend |= beschreibung->tick( tickVal );
     this->tickVal += tickVal * 500;
-    int val = ( int ) this->tickVal;
+    int val = (int)this->tickVal;
     if( val < 1 )
     {
         bool ret = rend;
@@ -620,7 +619,7 @@ bool SpielDaten::tick( double tickVal )
     return ret;
 }
 
-void SpielDaten::doMausEreignis( MausEreignis &me )
+void SpielDaten::doMausEreignis( MausEreignis & me )
 {
     if( !erlaubt && ausgewählt )
     {
@@ -632,7 +631,7 @@ void SpielDaten::doMausEreignis( MausEreignis &me )
     }
 }
 
-void SpielDaten::render( Bild &zRObj )
+void SpielDaten::render( Bild & zRObj )
 {
     int x = pos.x;
     int y = pos.y;
@@ -643,12 +642,12 @@ void SpielDaten::render( Bild &zRObj )
     zRObj.setAlpha( tAlpha );
     rahmen->setSize( br, hö );
     int rbr = rahmen->getRBreite();
-    if( geladen && hintergrund && ( !( ausgewählt && geladen == 2 && aAnimation ) || !aAnimation->istSichtbar() ) )
+    if( geladen &&hintergrund && ( !( ausgewählt &&geladen == 2 && aAnimation ) || !aAnimation->istSichtbar() ) )
         zRObj.drawBild( rbr, rbr, br - rbr * 2, hö - rbr * 2, *hintergrund );
     if( aAnimation )
         aAnimation->render( zRObj );
     rahmen->render( zRObj );
-    if( auswahl && ( ( auswahl->getFarbe() >> 24 ) & 0xFF ) && ( !( ausgewählt && geladen == 2 && aAnimation ) || !aAnimation->istSichtbar() ) )
+    if( auswahl && ( ( auswahl->getFarbe() >> 24 ) & 0xFF ) && ( !( ausgewählt &&geladen == 2 && aAnimation ) || !aAnimation->istSichtbar() ) )
     {
         auswahl->setPosition( rbr, rbr );
         auswahl->setSize( br - rbr * 2, hö - rbr * 2 );
@@ -670,7 +669,7 @@ void SpielDaten::render( Bild &zRObj )
         beschreibung->render( zRObj );
         zRObj.releaseAlpha();
     }
-    if( ausgewählt && geladen != 2 && ladeAnimation->zAnimationData() )
+    if( ausgewählt &&geladen != 2 && ladeAnimation->zAnimationData() )
     {
         ladenBild++;
         if( ladenBild >= ladeAnimation->zAnimationData()->getBildAnzahl() )
@@ -720,10 +719,11 @@ SpielDaten *SpielDaten::release()
 
 // Inhalt der SpielAuswahl Klasse aus SpielAuswahl.h
 // Konstruktor
-SpielAuswahlFenster::SpielAuswahlFenster( Schrift *zSchrift )
+SpielAuswahlFenster::SpielAuswahlFenster( Schrift * zSchrift )
     : Thread()
 {
     schrift = zSchrift->getThis();
+    tr = new TextRenderer( schrift->getThis() );
     rahmen = new LRahmen();
     rahmen->setFarbe( 0xFFFFFFFF );
     rahmen->setRamenBreite( 1 );
@@ -756,6 +756,7 @@ SpielAuswahlFenster::~SpielAuswahlFenster()
         rahmen->release();
     if( members )
         members->release();
+    tr->release();
 }
 
 // nicht constant
@@ -850,7 +851,7 @@ bool SpielAuswahlFenster::tick( double tickVal )
     for( int i = 0; i < anzahl; i++ )
         rend |= members->z( i )->tick( tickVal );
     this->tickVal += tickVal * 750;
-    int val = ( int )this->tickVal;
+    int val = (int)this->tickVal;
     if( val < 1 )
     {
         bool ret = rend;
@@ -894,7 +895,7 @@ bool SpielAuswahlFenster::tick( double tickVal )
     return ret;
 }
 
-void SpielAuswahlFenster::doMausEreignis( MausEreignis &me )
+void SpielAuswahlFenster::doMausEreignis( MausEreignis & me )
 {
     if( pos.x != 10 )
         return;
@@ -939,7 +940,7 @@ void SpielAuswahlFenster::doMausEreignis( MausEreignis &me )
     me.my += pos.y;
 }
 
-void SpielAuswahlFenster::render( Bild &zrObj )
+void SpielAuswahlFenster::render( Bild & zrObj )
 {
     int x = pos.x;
     int y = pos.y;
@@ -963,11 +964,8 @@ void SpielAuswahlFenster::render( Bild &zrObj )
     if( !anzahl )
     {
         Text t = "Dieser Account besitzt momentan noch keine Spiele.\nBesuche den Shop um neue Spiele zu erwerben!";
-        schrift->lock();
-        schrift->setDrawPosition( 10, 10 );
-        schrift->setSchriftSize( 12 );
-        schrift->renderText( &t, zrObj, 0xFFFFFFFF );
-        schrift->unlock();
+        tr->setSchriftSize( 12 );
+        tr->renderText( 10, 10, t, zrObj, 0xFFFFFFFF );
     }
     zrObj.releaseDrawOptions();
     zrObj.releaseAlpha();

+ 2 - 0
KSGClient/NachLogin/Spiele/Spiel Auswahl/SpielAuswahl.h

@@ -37,6 +37,7 @@ private:
     Bild *hintergrund;
     Animation2D *aAnimation;
     Schrift *schrift;
+    TextRenderer *tr;
     KSGScriptObj *beschreibung;
     HINSTANCE ksgs;
     LRahmen *rahmen;
@@ -87,6 +88,7 @@ private:
     RCArray< SpielDaten > *members;
     LRahmen *rahmen;
     Schrift *schrift;
+    TextRenderer *tr;
     double tickVal;
     int animation;
     Punkt pos;

+ 622 - 622
KSGClient/NachLogin/Titel/TitelLeiste.cpp

@@ -8,746 +8,746 @@
 // Inhalt der TitelLeisten Klasse aus Titelleiste.h
 // Konstruktor
 TitelLeiste::TitelLeiste( Fenster *zNachLogin, Schrift *zSchrift )
-	: Thread()
+    : Thread()
 {
-	Bild *goldB = bilder->get( "system.ltdb/gold.jpg" );
-	if( !goldB )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/bilder/system.ltdb" ) );
-		datei->leseDaten( 0 );
-		goldB = datei->laden( 0, new Text( "gold.jpg" ) );
-		datei->release();
-		bilder->add( "system.ltdb/gold.jpg", goldB->getThis() );
-	}
-	Bild *silberB = bilder->get( "system.ltdb/silber.jpg" );
-	if( !silberB )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/bilder/system.ltdb" ) );
-		datei->leseDaten( 0 );
-		silberB = datei->laden( 0, new Text( "silber.jpg" ) );
-		datei->release();
-		bilder->add( "system.ltdb/silber.jpg", silberB->getThis() );
-	}
-	Bild *kupferB = bilder->get( "system.ltdb/kupfer.jpg" );
-	if( !kupferB )
-	{
-		LTDBDatei *datei = new LTDBDatei();
-		datei->setDatei( new Text( "data/bilder/system.ltdb" ) );
-		datei->leseDaten( 0 );
-		kupferB = datei->laden( 0, new Text( "kupfer.jpg" ) );
-		datei->release();
-		bilder->add( "system.ltdb/kupfer.jpg", kupferB->getThis() );
-	}
-	LTDBDatei *bilder = new LTDBDatei();
-	bilder->setDatei( new Text( "data/bilder/system.ltdb" ) );
-	bilder->leseDaten( 0 );
-	closeBild = bilder->laden( 0, new Text( "schließen.png" ) );
-	einstellungenBild = bilder->laden( 0, new Text( "optionen.png" ) );
-	bilder->setDatei( new Text( "data/client/bilder/titel.ltdb" ) );
-	bilder->leseDaten( 0 );
-	logoutBild = bilder->laden( 0, new Text( "logout.png" ) );
-	Bild *hintergrund = bilder->laden( 0, new Text( "titelleiste.jpg" ) );
-	bilder = bilder->release();
-	Punkt bgr = BildschirmGröße();
-	version = initTextFeld( 1, 1, 200, 12, zSchrift, TextFeld::Style::Text | TextFeld::Style::Sichtbar, "client version: " );
-	Datei *vDat = new Datei();
-	vDat->setDatei( new Text( "data/version" ) );
-	vDat->open( Datei::Style::lesen );
-	char clientVersion[ 4 ] = { 0, 0, 0, 0 };
-	vDat->lese( clientVersion, 4 );
-	vDat->close();
-	vDat = vDat->release();
-	version->zText()->append( (int)clientVersion[ 3 ] );
-	version->zText()->append( "." );
-	version->zText()->append( (int)clientVersion[ 2 ] );
-	version->zText()->append( "." );
-	version->zText()->append( (int)clientVersion[ 1 ] );
-	version->zText()->append( "." );
-	version->zText()->append( (int)clientVersion[ 0 ] );
-	close = initKnopf( bgr.x - 23, -1, 22, 22, 0, 0, "" );
-	close->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer | Knopf::Style::HAlpha | Knopf::Style::Rahmen );
-	close->setRahmenFarbe( 0xFFFFFFFF );
-	close->setRahmenBreite( 1 );
-	close->setHintergrundBildZ( closeBild->getThis() );
-	initToolTip( close, "Kolja-Strohm Games Client beenden.", zSchrift->getThis(), hauptScreen );
-	close->setMausEreignisParameter( this );
-	close->setMausEreignis( titelLeisteSchließenME );
-	einstellungen = initKnopf( bgr.x - 44, -1, 22, 22, 0, 0, "" );
-	einstellungen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer | Knopf::Style::HAlpha | Knopf::Style::Rahmen );
-	einstellungen->setRahmenFarbe( 0xFFFFFFFF );
-	einstellungen->setRahmenBreite( 1 );
-	einstellungen->setHintergrundBildZ( einstellungenBild->getThis() );
-	einstellungen->setMausEreignisParameter( this );
-	einstellungen->setMausEreignis( titelLeisteEinstellungenME );
-	initToolTip( einstellungen, "Einstellungen ändern.", zSchrift->getThis(), hauptScreen );
-	logout = initKnopf( bgr.x - 65, -1, 22, 22, 0, 0, "" );
-	logout->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer | Knopf::Style::HAlpha | Knopf::Style::Rahmen );
-	logout->setRahmenFarbe( 0xFFFFFFFF );
-	logout->setRahmenBreite( 1 );
-	logout->setHintergrundBildZ( logoutBild->getThis() );
-	logout->setMausEreignisParameter( this );
-	logout->setMausEreignis( titelLeisteLogoutME );
-	initToolTip( logout, "Ausloggen.", zSchrift->getThis(), hauptScreen );
-	news = initKnopf( bgr.x - 103, 67, 102, 32, zSchrift, Knopf::Style::Sichtbar, "Information" );
-	news->setRahmenFarbe( 0xFFFFFFFF );
-	news->setRahmenBreite( 1 );
-	news->setMausEreignisParameter( this );
-	news->setMausEreignis( titelLeisteNewsME );
-	miniGames = initKnopf( bgr.x - 204, 67, 102, 32, zSchrift, Knopf::Style::Sichtbar, "Mini Games" );
-	miniGames->setRahmenFarbe( 0xFFFFFFFF );
-	miniGames->setRahmenBreite( 1 );
-	miniGames->setMausEreignisParameter( this );
-	miniGames->setMausEreignis( titelLeisteMiniGamesME );
-	accountAnsehen = initKnopf( bgr.x - 305, 67, 102, 32, zSchrift, Knopf::Style::Sichtbar, "Account" );
-	accountAnsehen->setRahmenFarbe( 0xFFFFFFFF );
-	accountAnsehen->setRahmenBreite( 1 );
-	accountAnsehen->setMausEreignisParameter( this );
-	accountAnsehen->setMausEreignis( titelLeisteAccountAnsehenME );
-	shop = initKnopf( bgr.x - 406, 67, 102, 32, zSchrift, Knopf::Style::Sichtbar, "Shop" );
-	shop->setRahmenFarbe( 0xFFFFFFFF );
-	shop->setRahmenBreite( 1 );
-	shop->setMausEreignisParameter( this );
-	shop->setMausEreignis( titelLeisteShopME );
-	spielen = initKnopf( bgr.x - 507, 67, 102, 32, zSchrift, Knopf::Style::Sichtbar, "Spielen" );
-	spielen->setRahmenFarbe( 0xFFFFFFFF );
-	spielen->setRahmenBreite( 1 );
-	spielen->setMausEreignisParameter( this );
-	spielen->setMausEreignis( titelLeisteSpielenME );
-	editor = initKnopf( bgr.x - 507, 35, 102, 32, zSchrift, 0, "Editor" );
-	editor->setRahmenFarbe( 0xFFFFFFFF );
-	editor->setRahmenBreite( 1 );
-	editor->setMausEreignisParameter( this );
-	editor->setMausEreignis( titelLeisteEditorME );
-	info = initTextFeld( 200, 11, 300, 76, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::Mehrzeilig | TextFeld::Style::Mehrfarbig | TextFeld::Style::Rahmen, "Wilkommen bei Kolja-Strohm Games!\nViel Spaß beim spielen." );
-	info->setRahmenFarbe( 0xFFFFFFFF );
-	int minus = bgr.x / 2 - 254;
-	if( minus < 511 )
-		minus = 511;
-	minus = bgr.x - 508 - minus;
-	news->setPosition( news->getX() - minus, news->getY() );
-	miniGames->setPosition( miniGames->getX() - minus, miniGames->getY() );
-	accountAnsehen->setPosition( accountAnsehen->getX() - minus, accountAnsehen->getY() );
-	shop->setPosition( shop->getX() - minus, shop->getY() );
-	spielen->setPosition( spielen->getX() - minus, spielen->getY() );
-	editor->setPosition( editor->getX() - minus, editor->getY() );
-	fenster = new Fenster();
-	fenster->setStyle( Fenster::Style::Sichtbar | Fenster::Style::BodyHintergrund | Fenster::Style::BodyHBild | Fenster::Style::Erlaubt | Fenster::Style::Rahmen );
-	fenster->setRFarbe( 0xFFFFFFFF );
-	fenster->setSize( bgr.x, 100 );
-	fenster->setKBgBildZ( hintergrund );
-	fenster->addMember( close );
-	fenster->addMember( einstellungen );
-	fenster->addMember( logout );
-	fenster->addMember( accountAnsehen );
-	fenster->addMember( spielen );
-	fenster->addMember( editor );
-	fenster->addMember( miniGames );
-	fenster->addMember( news );
-	fenster->addMember( shop );
-	fenster->addMember( info );
-	fenster->addMember( version );
+    Bild *goldB = bilder->get( "system.ltdb/gold.jpg" );
+    if( !goldB )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/bilder/system.ltdb" ) );
+        datei->leseDaten( 0 );
+        goldB = datei->laden( 0, new Text( "gold.jpg" ) );
+        datei->release();
+        bilder->add( "system.ltdb/gold.jpg", goldB->getThis() );
+    }
+    Bild *silberB = bilder->get( "system.ltdb/silber.jpg" );
+    if( !silberB )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/bilder/system.ltdb" ) );
+        datei->leseDaten( 0 );
+        silberB = datei->laden( 0, new Text( "silber.jpg" ) );
+        datei->release();
+        bilder->add( "system.ltdb/silber.jpg", silberB->getThis() );
+    }
+    Bild *kupferB = bilder->get( "system.ltdb/kupfer.jpg" );
+    if( !kupferB )
+    {
+        LTDBDatei *datei = new LTDBDatei();
+        datei->setDatei( new Text( "data/bilder/system.ltdb" ) );
+        datei->leseDaten( 0 );
+        kupferB = datei->laden( 0, new Text( "kupfer.jpg" ) );
+        datei->release();
+        bilder->add( "system.ltdb/kupfer.jpg", kupferB->getThis() );
+    }
+    LTDBDatei *bilder = new LTDBDatei();
+    bilder->setDatei( new Text( "data/bilder/system.ltdb" ) );
+    bilder->leseDaten( 0 );
+    closeBild = bilder->laden( 0, new Text( "schließen.png" ) );
+    einstellungenBild = bilder->laden( 0, new Text( "optionen.png" ) );
+    bilder->setDatei( new Text( "data/client/bilder/titel.ltdb" ) );
+    bilder->leseDaten( 0 );
+    logoutBild = bilder->laden( 0, new Text( "logout.png" ) );
+    Bild *hintergrund = bilder->laden( 0, new Text( "titelleiste.jpg" ) );
+    bilder = bilder->release();
+    Punkt bgr = BildschirmGröße();
+    version = initTextFeld( 1, 1, 200, 12, zSchrift, TextFeld::Style::Text | TextFeld::Style::Sichtbar, "client version: " );
+    Datei *vDat = new Datei();
+    vDat->setDatei( new Text( "data/version" ) );
+    vDat->open( Datei::Style::lesen );
+    char clientVersion[ 4 ] = { 0, 0, 0, 0 };
+    vDat->lese( clientVersion, 4 );
+    vDat->close();
+    vDat = vDat->release();
+    version->zText()->append( (int)clientVersion[ 3 ] );
+    version->zText()->append( "." );
+    version->zText()->append( (int)clientVersion[ 2 ] );
+    version->zText()->append( "." );
+    version->zText()->append( (int)clientVersion[ 1 ] );
+    version->zText()->append( "." );
+    version->zText()->append( (int)clientVersion[ 0 ] );
+    close = initKnopf( bgr.x - 23, -1, 22, 22, 0, 0, "" );
+    close->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer | Knopf::Style::HAlpha | Knopf::Style::Rahmen );
+    close->setRahmenFarbe( 0xFFFFFFFF );
+    close->setRahmenBreite( 1 );
+    close->setHintergrundBildZ( closeBild->getThis() );
+    initToolTip( close, "Kolja-Strohm Games Client beenden.", zSchrift->getThis(), hauptScreen );
+    close->setMausEreignisParameter( this );
+    close->setMausEreignis( titelLeisteSchließenME );
+    einstellungen = initKnopf( bgr.x - 44, -1, 22, 22, 0, 0, "" );
+    einstellungen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer | Knopf::Style::HAlpha | Knopf::Style::Rahmen );
+    einstellungen->setRahmenFarbe( 0xFFFFFFFF );
+    einstellungen->setRahmenBreite( 1 );
+    einstellungen->setHintergrundBildZ( einstellungenBild->getThis() );
+    einstellungen->setMausEreignisParameter( this );
+    einstellungen->setMausEreignis( titelLeisteEinstellungenME );
+    initToolTip( einstellungen, "Einstellungen ändern.", zSchrift->getThis(), hauptScreen );
+    logout = initKnopf( bgr.x - 65, -1, 22, 22, 0, 0, "" );
+    logout->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer | Knopf::Style::HAlpha | Knopf::Style::Rahmen );
+    logout->setRahmenFarbe( 0xFFFFFFFF );
+    logout->setRahmenBreite( 1 );
+    logout->setHintergrundBildZ( logoutBild->getThis() );
+    logout->setMausEreignisParameter( this );
+    logout->setMausEreignis( titelLeisteLogoutME );
+    initToolTip( logout, "Ausloggen.", zSchrift->getThis(), hauptScreen );
+    news = initKnopf( bgr.x - 103, 67, 102, 32, zSchrift, Knopf::Style::Sichtbar, "Information" );
+    news->setRahmenFarbe( 0xFFFFFFFF );
+    news->setRahmenBreite( 1 );
+    news->setMausEreignisParameter( this );
+    news->setMausEreignis( titelLeisteNewsME );
+    miniGames = initKnopf( bgr.x - 204, 67, 102, 32, zSchrift, Knopf::Style::Sichtbar, "Mini Games" );
+    miniGames->setRahmenFarbe( 0xFFFFFFFF );
+    miniGames->setRahmenBreite( 1 );
+    miniGames->setMausEreignisParameter( this );
+    miniGames->setMausEreignis( titelLeisteMiniGamesME );
+    accountAnsehen = initKnopf( bgr.x - 305, 67, 102, 32, zSchrift, Knopf::Style::Sichtbar, "Account" );
+    accountAnsehen->setRahmenFarbe( 0xFFFFFFFF );
+    accountAnsehen->setRahmenBreite( 1 );
+    accountAnsehen->setMausEreignisParameter( this );
+    accountAnsehen->setMausEreignis( titelLeisteAccountAnsehenME );
+    shop = initKnopf( bgr.x - 406, 67, 102, 32, zSchrift, Knopf::Style::Sichtbar, "Shop" );
+    shop->setRahmenFarbe( 0xFFFFFFFF );
+    shop->setRahmenBreite( 1 );
+    shop->setMausEreignisParameter( this );
+    shop->setMausEreignis( titelLeisteShopME );
+    spielen = initKnopf( bgr.x - 507, 67, 102, 32, zSchrift, Knopf::Style::Sichtbar, "Spielen" );
+    spielen->setRahmenFarbe( 0xFFFFFFFF );
+    spielen->setRahmenBreite( 1 );
+    spielen->setMausEreignisParameter( this );
+    spielen->setMausEreignis( titelLeisteSpielenME );
+    editor = initKnopf( bgr.x - 507, 35, 102, 32, zSchrift, 0, "Editor" );
+    editor->setRahmenFarbe( 0xFFFFFFFF );
+    editor->setRahmenBreite( 1 );
+    editor->setMausEreignisParameter( this );
+    editor->setMausEreignis( titelLeisteEditorME );
+    info = initTextFeld( 200, 11, 300, 76, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::Mehrzeilig | TextFeld::Style::Rahmen, "Wilkommen bei Kolja-Strohm Games!\nViel Spaß beim spielen." );
+    info->setRahmenFarbe( 0xFFFFFFFF );
+    int minus = bgr.x / 2 - 254;
+    if( minus < 511 )
+        minus = 511;
+    minus = bgr.x - 508 - minus;
+    news->setPosition( news->getX() - minus, news->getY() );
+    miniGames->setPosition( miniGames->getX() - minus, miniGames->getY() );
+    accountAnsehen->setPosition( accountAnsehen->getX() - minus, accountAnsehen->getY() );
+    shop->setPosition( shop->getX() - minus, shop->getY() );
+    spielen->setPosition( spielen->getX() - minus, spielen->getY() );
+    editor->setPosition( editor->getX() - minus, editor->getY() );
+    fenster = new Fenster();
+    fenster->setStyle( Fenster::Style::Sichtbar | Fenster::Style::BodyHintergrund | Fenster::Style::BodyHBild | Fenster::Style::Erlaubt | Fenster::Style::Rahmen );
+    fenster->setRFarbe( 0xFFFFFFFF );
+    fenster->setSize( bgr.x, 100 );
+    fenster->setKBgBildZ( hintergrund );
+    fenster->addMember( close );
+    fenster->addMember( einstellungen );
+    fenster->addMember( logout );
+    fenster->addMember( accountAnsehen );
+    fenster->addMember( spielen );
+    fenster->addMember( editor );
+    fenster->addMember( miniGames );
+    fenster->addMember( news );
+    fenster->addMember( shop );
+    fenster->addMember( info );
+    fenster->addMember( version );
 
-	kupfer = initTextFeld( fenster->getBreite() - 40, 70, 10, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::Center, "0" );
-	silber = initTextFeld( kupfer->getX() - 40, 70, 10, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::Center, "0" );
-	gold = initTextFeld( silber->getX() - 40, 70, 10, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::Center, "0" );
-	goldBild = new BildZ();
-	goldBild->setStyle( BildZ::Style::Sichtbar );
-	goldBild->setBildZ( goldB );
-	goldBild->setSize( 20, 20 );
-	goldBild->setPosition( gold->getX() + gold->getBreite(), 70 );
-	silberBild = new BildZ();
-	silberBild->setStyle( BildZ::Style::Sichtbar );
-	silberBild->setBildZ( silberB );
-	silberBild->setSize( 20, 20 );
-	silberBild->setPosition( silber->getX() + silber->getBreite(), 70 );
-	kupferBild = new BildZ();
-	kupferBild->setStyle( BildZ::Style::Sichtbar );
-	kupferBild->setBildZ( kupferB );
-	kupferBild->setSize( 20, 20 );
-	kupferBild->setPosition( kupfer->getX() + kupfer->getBreite(), 70 );
+    kupfer = initTextFeld( fenster->getBreite() - 40, 70, 10, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::Center, "0" );
+    silber = initTextFeld( kupfer->getX() - 40, 70, 10, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::Center, "0" );
+    gold = initTextFeld( silber->getX() - 40, 70, 10, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::Center, "0" );
+    goldBild = new BildZ();
+    goldBild->setStyle( BildZ::Style::Sichtbar );
+    goldBild->setBildZ( goldB );
+    goldBild->setSize( 20, 20 );
+    goldBild->setPosition( gold->getX() + gold->getBreite(), 70 );
+    silberBild = new BildZ();
+    silberBild->setStyle( BildZ::Style::Sichtbar );
+    silberBild->setBildZ( silberB );
+    silberBild->setSize( 20, 20 );
+    silberBild->setPosition( silber->getX() + silber->getBreite(), 70 );
+    kupferBild = new BildZ();
+    kupferBild->setStyle( BildZ::Style::Sichtbar );
+    kupferBild->setBildZ( kupferB );
+    kupferBild->setSize( 20, 20 );
+    kupferBild->setPosition( kupfer->getX() + kupfer->getBreite(), 70 );
 
-	fenster->addMember( gold );
-	fenster->addMember( silber );
-	fenster->addMember( kupfer );
-	fenster->addMember( goldBild );
-	fenster->addMember( silberBild );
-	fenster->addMember( kupferBild );
-	zNachLogin->addMember( fenster );
-	next = new Array< int >();
-	nextAnzahl = 0;
-	rend = 0;
-	ref = 1;
-	start();
+    fenster->addMember( gold );
+    fenster->addMember( silber );
+    fenster->addMember( kupfer );
+    fenster->addMember( goldBild );
+    fenster->addMember( silberBild );
+    fenster->addMember( kupferBild );
+    zNachLogin->addMember( fenster );
+    next = new Array< int >();
+    nextAnzahl = 0;
+    rend = 0;
+    ref = 1;
+    start();
 }
 
 // Destruktor
 TitelLeiste::~TitelLeiste()
 {
-	ende();
-	if( closeBild )
-		closeBild = closeBild->release();
-	if( einstellungenBild )
-		einstellungenBild = einstellungenBild->release();
-	if( logoutBild )
-		logoutBild = logoutBild->release();
-	if( close )
-		close = close->release();
-	if( einstellungen )
-		einstellungen = einstellungen->release();
-	if( logout )
-		logout = logout->release();
-	if( accountAnsehen )
-		accountAnsehen = accountAnsehen->release();
-	if( spielen )
-		spielen = spielen->release();
-	if( editor )
-		editor = editor->release();
-	if( miniGames )
-		miniGames = miniGames->release();
-	if( news )
-		news = news->release();
-	if( shop )
-		shop = shop->release();
-	if( info )
-		info = info->release();
-	if( version )
-		version = version->release();
-	if( fenster )
-		fenster = fenster->release();
-	if( next )
-		next = next->release();
-	goldBild->release();
-	silberBild->release();
-	kupferBild->release();
-	gold->release();
-	silber->release();
-	kupfer->release();
+    ende();
+    if( closeBild )
+        closeBild = closeBild->release();
+    if( einstellungenBild )
+        einstellungenBild = einstellungenBild->release();
+    if( logoutBild )
+        logoutBild = logoutBild->release();
+    if( close )
+        close = (Knopf *)close->release();
+    if( einstellungen )
+        einstellungen = (Knopf *)einstellungen->release();
+    if( logout )
+        logout = (Knopf *)logout->release();
+    if( accountAnsehen )
+        accountAnsehen = (Knopf *)accountAnsehen->release();
+    if( spielen )
+        spielen = (Knopf *)spielen->release();
+    if( editor )
+        editor = (Knopf *)editor->release();
+    if( miniGames )
+        miniGames = (Knopf *)miniGames->release();
+    if( news )
+        news = (Knopf *)news->release();
+    if( shop )
+        shop = (Knopf *)shop->release();
+    if( info )
+        info = (Knopf *)info->release();
+    if( version )
+        version = (Knopf *)version->release();
+    if( fenster )
+        fenster = (Fenster *)fenster->release();
+    if( next )
+        next = next->release();
+    goldBild->release();
+    silberBild->release();
+    kupferBild->release();
+    gold->release();
+    silber->release();
+    kupfer->release();
 }
 
 // nicht constant
 void TitelLeiste::setImSpiel( bool imSpiel ) // aktiviert oder deaktiviert Knöpfe
 {
-	close->setStyle( Knopf::Style::Erlaubt, !imSpiel );
-	einstellungen->setStyle( Knopf::Style::Erlaubt, !imSpiel );
-	logout->setStyle( Knopf::Style::Erlaubt, !imSpiel );
-	accountAnsehen->setStyle( Knopf::Style::Erlaubt, !imSpiel );
-	spielen->setStyle( Knopf::Style::Erlaubt, !imSpiel );
-	editor->setStyle( Knopf::Style::Erlaubt, !imSpiel );
-	miniGames->setStyle( Knopf::Style::Erlaubt, !imSpiel );
-	news->setStyle( Knopf::Style::Erlaubt, !imSpiel );
-	shop->setStyle( Knopf::Style::Erlaubt, !imSpiel );
+    close->setStyle( Knopf::Style::Erlaubt, !imSpiel );
+    einstellungen->setStyle( Knopf::Style::Erlaubt, !imSpiel );
+    logout->setStyle( Knopf::Style::Erlaubt, !imSpiel );
+    accountAnsehen->setStyle( Knopf::Style::Erlaubt, !imSpiel );
+    spielen->setStyle( Knopf::Style::Erlaubt, !imSpiel );
+    editor->setStyle( Knopf::Style::Erlaubt, !imSpiel );
+    miniGames->setStyle( Knopf::Style::Erlaubt, !imSpiel );
+    news->setStyle( Knopf::Style::Erlaubt, !imSpiel );
+    shop->setStyle( Knopf::Style::Erlaubt, !imSpiel );
 }
 
 void TitelLeiste::setImVideo( bool imVideo ) // aktiviert oder deaktiviert Knöpfe
 {
-	einstellungen->setStyle( Knopf::Style::Erlaubt, !imVideo );
-	accountAnsehen->setStyle( Knopf::Style::Erlaubt, !imVideo );
-	spielen->setStyle( Knopf::Style::Erlaubt, !imVideo );
-	editor->setStyle( Knopf::Style::Erlaubt, !imVideo );
-	miniGames->setStyle( Knopf::Style::Erlaubt, !imVideo );
-	news->setStyle( Knopf::Style::Erlaubt, !imVideo );
-	shop->setStyle( Knopf::Style::Erlaubt, !imVideo );
+    einstellungen->setStyle( Knopf::Style::Erlaubt, !imVideo );
+    accountAnsehen->setStyle( Knopf::Style::Erlaubt, !imVideo );
+    spielen->setStyle( Knopf::Style::Erlaubt, !imVideo );
+    editor->setStyle( Knopf::Style::Erlaubt, !imVideo );
+    miniGames->setStyle( Knopf::Style::Erlaubt, !imVideo );
+    news->setStyle( Knopf::Style::Erlaubt, !imVideo );
+    shop->setStyle( Knopf::Style::Erlaubt, !imVideo );
 }
 
-bool TitelLeiste::druckSchließen( MausEreignis &me ) // Schließen wurde gedrückt
+bool TitelLeiste::druckSchließen( MausEreignis & me ) // Schließen wurde gedrückt
 {
-	if( me.id == ME_RLinks )
-	{
-		nachLogin->zNachrichtenListe()->addNachricht( new Text( "Schließen" ), new Text( "Möchtest du den Client wirklich beenden?" ),
+    if( me.id == ME_RLinks )
+    {
+        nachLogin->zNachrichtenListe()->addNachricht( new Text( "Schließen" ), new Text( "Möchtest du den Client wirklich beenden?" ),
                                                       new Text( "Ja" ), new Text( "Nein" ), []()
         {
             nachLogin->zChatLeiste()->removeAll();
-            if( loginClient && loginClient->verbinde() )
+            if( loginClient &&loginClient->verbinde() )
             {
                 loginClient->logout();
                 loginClient->trenne( 1 );
             }
             PostQuitMessage( 0 );
         } );
-	}
-	return 1;
+    }
+    return 1;
 }
 
-bool TitelLeiste::druckEinstellungen( MausEreignis &me ) // Einstellungen wurde gedrückt
+bool TitelLeiste::druckEinstellungen( MausEreignis & me ) // Einstellungen wurde gedrückt
 {
-	if( me.id == ME_RLinks )
-		nachLogin->zEinstellungen()->setSichtbar();
-	return 1;
+    if( me.id == ME_RLinks )
+        nachLogin->zEinstellungen()->setSichtbar();
+    return 1;
 }
 
-bool TitelLeiste::druckLogout( MausEreignis &me ) // Logout wurde gedrückt
+bool TitelLeiste::druckLogout( MausEreignis & me ) // Logout wurde gedrückt
 {
-	if( me.id == ME_RLinks )
-	{
-		nachLogin->zNachrichtenListe()->addNachricht( new Text( "Logout" ), new Text( "Möchtest du dich wirklich ausloggen?" ),
+    if( me.id == ME_RLinks )
+    {
+        nachLogin->zNachrichtenListe()->addNachricht( new Text( "Logout" ), new Text( "Möchtest du dich wirklich ausloggen?" ),
                                                       new Text( "Ja" ), new Text( "Nein" ), []()
         {
             ::aktion = 3;
         } );
-	}
-	return 1;
+    }
+    return 1;
 }
 
-bool TitelLeiste::druckSpielen( MausEreignis &me ) // Spielen wurde gedrückt
+bool TitelLeiste::druckSpielen( MausEreignis & me ) // Spielen wurde gedrückt
 {
-	if( me.id == ME_RLinks )
-	{
-		if( nachLogin->zSpielenFenster()->istSichtbar() && !nextAnzahl )
-			return 1;
-		next->add( 1, nextAnzahl );
-		nextAnzahl++;
-	}
-	return 1;
+    if( me.id == ME_RLinks )
+    {
+        if( nachLogin->zSpielenFenster()->istSichtbar() && !nextAnzahl )
+            return 1;
+        next->add( 1, nextAnzahl );
+        nextAnzahl++;
+    }
+    return 1;
 }
 
-bool TitelLeiste::druckAccountAnsehen( MausEreignis &me ) // AccountAnsehen wurde gedrückt
+bool TitelLeiste::druckAccountAnsehen( MausEreignis & me ) // AccountAnsehen wurde gedrückt
 {
-	if( me.id == ME_RLinks )
-	{
-		if( nachLogin->zAccountAnsehenFenster()->istSichtbar() && !nextAnzahl )
-			return 1;
-		next->add( 2, nextAnzahl );
-		nextAnzahl++;
-	}
-	return 1;
+    if( me.id == ME_RLinks )
+    {
+        if( nachLogin->zAccountAnsehenFenster()->istSichtbar() && !nextAnzahl )
+            return 1;
+        next->add( 2, nextAnzahl );
+        nextAnzahl++;
+    }
+    return 1;
 }
 
-bool TitelLeiste::druckMiniGames( MausEreignis &me ) // MiniGames wurde gedrückt
+bool TitelLeiste::druckMiniGames( MausEreignis & me ) // MiniGames wurde gedrückt
 {
-	if( me.id == ME_RLinks )
-	{
-		if( nachLogin->zMGFenster()->istSichtbar() && !nextAnzahl )
-			return 1;
-		next->add( 3, nextAnzahl );
-		nextAnzahl++;
-	}
-	return 1;
+    if( me.id == ME_RLinks )
+    {
+        if( nachLogin->zMGFenster()->istSichtbar() && !nextAnzahl )
+            return 1;
+        next->add( 3, nextAnzahl );
+        nextAnzahl++;
+    }
+    return 1;
 }
 
-bool TitelLeiste::druckNews( MausEreignis &me ) // News wurde gedrückt
+bool TitelLeiste::druckNews( MausEreignis & me ) // News wurde gedrückt
 {
-	if( me.id == ME_RLinks )
-	{
-		if( nachLogin->zNewsFenster()->istSichtbar() && !nextAnzahl )
-			return 1;
-		next->add( 4, nextAnzahl );
-		nextAnzahl++;
-	}
-	return 1;
+    if( me.id == ME_RLinks )
+    {
+        if( nachLogin->zNewsFenster()->istSichtbar() && !nextAnzahl )
+            return 1;
+        next->add( 4, nextAnzahl );
+        nextAnzahl++;
+    }
+    return 1;
 }
 
-bool TitelLeiste::druckShop( MausEreignis &me ) // Spielen wurde gedrückt
+bool TitelLeiste::druckShop( MausEreignis & me ) // Spielen wurde gedrückt
 {
-	if( me.id == ME_RLinks )
-	{
-		if( nachLogin->zShopFenster()->istSichtbar() && !nextAnzahl )
-			return 1;
-		next->add( 5, nextAnzahl );
-		nextAnzahl++;
-	}
-	return 1;
+    if( me.id == ME_RLinks )
+    {
+        if( nachLogin->zShopFenster()->istSichtbar() && !nextAnzahl )
+            return 1;
+        next->add( 5, nextAnzahl );
+        nextAnzahl++;
+    }
+    return 1;
 }
 
-bool TitelLeiste::druckEditor( MausEreignis &me ) // Spielen wurde gedrückt
+bool TitelLeiste::druckEditor( MausEreignis & me ) // Spielen wurde gedrückt
 {
-	if( me.id == ME_RLinks )
-	{
-		if( nachLogin->zEditorFenster()->istSichtbar() && !nextAnzahl )
-			return 1;
-		next->add( 6, nextAnzahl );
-		nextAnzahl++;
-	}
-	return 1;
+    if( me.id == ME_RLinks )
+    {
+        if( nachLogin->zEditorFenster()->istSichtbar() && !nextAnzahl )
+            return 1;
+        next->add( 6, nextAnzahl );
+        nextAnzahl++;
+    }
+    return 1;
 }
 
 void TitelLeiste::thread()
 {
-	while( 1 )
-	{
-		if( infoClient )
-		{
+    while( 1 )
+    {
+        if( infoClient )
+        {
             cs.lock();
-			Text *infoTxt = new Text( "" );
-			int typ = 0;
-			bool b = infoClient->getInformationText( infoTxt, &typ );
-			if( b && infoTxt->getLength() )
-				info->setText( infoTxt->getThis() );
-			infoTxt = infoTxt->release();
-			int k = infoClient->getKupfer();
-			int s = k / 100;
-			int g = s / 100;
-			s = s % 100;
-			k = k % 100;
-			Text *gt = new Text();
-			gt->append( g );
-			Text *st = new Text();
-			st->append( s );
-			Text *kt = new Text();
-			kt->append( k );
-			Schrift *schrift = gold->zSchrift();
+            Text *infoTxt = new Text( "" );
+            int typ = 0;
+            bool b = infoClient->getInformationText( infoTxt, &typ );
+            if( b &&infoTxt->getLength() )
+                info->setText( infoTxt->getThis() );
+            infoTxt = infoTxt->release();
+            int k = infoClient->getKupfer();
+            int s = k / 100;
+            int g = s / 100;
+            s = s % 100;
+            k = k % 100;
+            Text * gt = new Text();
+            gt->append( g );
+            Text * st = new Text();
+            st->append( s );
+            Text * kt = new Text();
+            kt->append( k );
+            Schrift * schrift = gold->zSchrift();
             TextRenderer rd( schrift->getThis() );
             rd.setSchriftSize( 12 );
-			int gtbr = rd.getTextBreite( gt->getText() );
-			int stbr = rd.getTextBreite( st->getText() );
-			int ktbr = rd.getTextBreite( kt->getText() );
-			kupfer->setPosition( fenster->getBreite() - 30 - ktbr, kupfer->getY() );
-			kupfer->setSize( ktbr, 20 );
-			silber->setPosition( kupfer->getX() - 30 - stbr, silber->getY() );
-			silber->setSize( stbr, 20 );
-			gold->setPosition( silber->getX() - 30 - gtbr, gold->getY() );
-			gold->setSize( gtbr, 20 );
-			goldBild->setPosition( gold->getX() + gold->getBreite(), goldBild->getY() );
-			silberBild->setPosition( silber->getX() + silber->getBreite(), silberBild->getY() );
-			kupferBild->setPosition( kupfer->getX() + kupfer->getBreite(), kupferBild->getY() );
-			gold->setText( gt );
-			silber->setText( st );
-			kupfer->setText( kt );
-			editor->setStyle( Knopf::Style::Sichtbar, infoClient->hatRecht( 1 ) );
+            int gtbr = rd.getTextBreite( gt->getText() );
+            int stbr = rd.getTextBreite( st->getText() );
+            int ktbr = rd.getTextBreite( kt->getText() );
+            kupfer->setPosition( fenster->getBreite() - 30 - ktbr, kupfer->getY() );
+            kupfer->setSize( ktbr, 20 );
+            silber->setPosition( kupfer->getX() - 30 - stbr, silber->getY() );
+            silber->setSize( stbr, 20 );
+            gold->setPosition( silber->getX() - 30 - gtbr, gold->getY() );
+            gold->setSize( gtbr, 20 );
+            goldBild->setPosition( gold->getX() + gold->getBreite(), goldBild->getY() );
+            silberBild->setPosition( silber->getX() + silber->getBreite(), silberBild->getY() );
+            kupferBild->setPosition( kupfer->getX() + kupfer->getBreite(), kupferBild->getY() );
+            gold->setText( gt );
+            silber->setText( st );
+            kupfer->setText( kt );
+            editor->setStyle( Knopf::Style::Sichtbar, infoClient->hatRecht( 1 ) );
             cs.unlock();
-		}
-		Sleep( 60 * 1000 );
-	}
-	run = 0;
+        }
+        Sleep( 60 * 1000 );
+    }
+    run = 0;
 }
 
 bool TitelLeiste::tick() // tick
 {
-	if( nextAnzahl )
-	{
-		rend = 1;
-		int n = next->hat( 0 ) ? next->get( 0 ) : 0;
-		switch( n )
-		{
-		case 1: // Spielen
-			// Andere Fenster Unsichtbar machen
-			if( nachLogin->zShopFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zShopFenster()->istAnimiert() )
-					nachLogin->zShopFenster()->setSichtbar( 0 );
-				break;
-			}
-			if( nachLogin->zAccountAnsehenFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zAccountAnsehenFenster()->istAnimiert() )
-					nachLogin->zAccountAnsehenFenster()->setSichtbar( 0 );
-				break;
-			}
-			if( nachLogin->zMGFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zMGFenster()->istAnimiert() )
-					nachLogin->zMGFenster()->setSichtbar( 0 );
-				break;
-			}
-			if( nachLogin->zNewsFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zNewsFenster()->istAnimiert() )
-					nachLogin->zNewsFenster()->setSichtbar( 0 );
-				break;
-			}
-			if( nachLogin->zEditorFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zEditorFenster()->istAnimiert() )
-					nachLogin->zEditorFenster()->setSichtbar( 0 );
-				break;
-			}
-			// Fenster Sichtbar machen
-			spielen->setAlphaFeldFarbe( 0x0000FF00 );
-			accountAnsehen->setAlphaFeldFarbe( 0x5500FF00 );
-			miniGames->setAlphaFeldFarbe( 0x5500FF00 );
-			news->setAlphaFeldFarbe( 0x5500FF00 );
-			shop->setAlphaFeldFarbe( 0x5500FF00 );
-			editor->setAlphaFeldFarbe( 0x5500FF00 );
-			nachLogin->zSpielenFenster()->setSichtbar( 1 );
-			next->remove( 0 );
-			nextAnzahl--;
-			break;
-		case 2: // Account ansehen
-			// Andere Fenster Unsichtbar machen
-			if( nachLogin->zSpielenFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zSpielenFenster()->istAnimiert() )
-					nachLogin->zSpielenFenster()->setSichtbar( 0 );
-				break;
-			}
-			if( nachLogin->zShopFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zShopFenster()->istAnimiert() )
-					nachLogin->zShopFenster()->setSichtbar( 0 );
-				break;
-			}
-			if( nachLogin->zMGFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zMGFenster()->istAnimiert() )
-					nachLogin->zMGFenster()->setSichtbar( 0 );
-				break;
-			}
-			if( nachLogin->zNewsFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zNewsFenster()->istAnimiert() )
-					nachLogin->zNewsFenster()->setSichtbar( 0 );
-				break;
-			}
-			if( nachLogin->zEditorFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zEditorFenster()->istAnimiert() )
-					nachLogin->zEditorFenster()->setSichtbar( 0 );
-				break;
-			}
-			// Fenster Sichtbar machen
-			spielen->setAlphaFeldFarbe( 0x5500FF00 );
-			accountAnsehen->setAlphaFeldFarbe( 0x0000FF00 );
-			miniGames->setAlphaFeldFarbe( 0x5500FF00 );
-			news->setAlphaFeldFarbe( 0x5500FF00 );
-			shop->setAlphaFeldFarbe( 0x5500FF00 );
-			editor->setAlphaFeldFarbe( 0x5500FF00 );
-			nachLogin->zAccountAnsehenFenster()->setSichtbar( 1 );
-			next->remove( 0 );
-			nextAnzahl--;
-			break;
-		case 3: // MiniGames
-			// Andere Fenster Unsichtbar machen
-			if( nachLogin->zSpielenFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zSpielenFenster()->istAnimiert() )
-					nachLogin->zSpielenFenster()->setSichtbar( 0 );
-				break;
-			}
-			if( nachLogin->zShopFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zShopFenster()->istAnimiert() )
-					nachLogin->zShopFenster()->setSichtbar( 0 );
-				break;
-			}
-			if( nachLogin->zAccountAnsehenFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zAccountAnsehenFenster()->istAnimiert() )
-					nachLogin->zAccountAnsehenFenster()->setSichtbar( 0 );
-				break;
-			}
-			if( nachLogin->zNewsFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zNewsFenster()->istAnimiert() )
-					nachLogin->zNewsFenster()->setSichtbar( 0 );
-				break;
-			}
-			if( nachLogin->zEditorFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zEditorFenster()->istAnimiert() )
-					nachLogin->zEditorFenster()->setSichtbar( 0 );
-				break;
-			}
-			// Fenster Sichtbar machen
-			spielen->setAlphaFeldFarbe( 0x5500FF00 );
-			accountAnsehen->setAlphaFeldFarbe( 0x5500FF00 );
-			miniGames->setAlphaFeldFarbe( 0x0000FF00 );
-			news->setAlphaFeldFarbe( 0x5500FF00 );
-			shop->setAlphaFeldFarbe( 0x5500FF00 );
-			editor->setAlphaFeldFarbe( 0x5500FF00 );
-			nachLogin->zMGFenster()->setSichtbar( 1 );
-			next->remove( 0 );
-			nextAnzahl--;
-			break;
-		case 4: // News
-			// Andere Fenster Unsichtbar machen
-			if( nachLogin->zSpielenFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zSpielenFenster()->istAnimiert() )
-					nachLogin->zSpielenFenster()->setSichtbar( 0 );
-				break;
-			}
-			if( nachLogin->zShopFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zShopFenster()->istAnimiert() )
-					nachLogin->zShopFenster()->setSichtbar( 0 );
-				break;
-			}
-			if( nachLogin->zAccountAnsehenFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zAccountAnsehenFenster()->istAnimiert() )
-					nachLogin->zAccountAnsehenFenster()->setSichtbar( 0 );
-				break;
-			}
-			if( nachLogin->zMGFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zMGFenster()->istAnimiert() )
-					nachLogin->zMGFenster()->setSichtbar( 0 );
-				break;
-			}
-			if( nachLogin->zEditorFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zEditorFenster()->istAnimiert() )
-					nachLogin->zEditorFenster()->setSichtbar( 0 );
-				break;
-			}
-			// Fenster Sichtbar machen
-			spielen->setAlphaFeldFarbe( 0x5500FF00 );
-			accountAnsehen->setAlphaFeldFarbe( 0x5500FF00 );
-			miniGames->setAlphaFeldFarbe( 0x5500FF00 );
-			news->setAlphaFeldFarbe( 0x0000FF00 );
-			shop->setAlphaFeldFarbe( 0x5500FF00 );
-			editor->setAlphaFeldFarbe( 0x5500FF00 );
-			nachLogin->zNewsFenster()->setSichtbar( 1 );
-			next->remove( 0 );
-			nextAnzahl--;
-			break;
-		case 5: // Shop
-			// Andere Fenster Unsichtbar machen
-			if( nachLogin->zSpielenFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zSpielenFenster()->istAnimiert() )
-					nachLogin->zSpielenFenster()->setSichtbar( 0 );
-				break;
-			}
-			if( nachLogin->zAccountAnsehenFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zAccountAnsehenFenster()->istAnimiert() )
-					nachLogin->zAccountAnsehenFenster()->setSichtbar( 0 );
-				break;
-			}
-			if( nachLogin->zMGFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zMGFenster()->istAnimiert() )
-					nachLogin->zMGFenster()->setSichtbar( 0 );
-				break;
-			}
-			if( nachLogin->zNewsFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zNewsFenster()->istAnimiert() )
-					nachLogin->zNewsFenster()->setSichtbar( 0 );
-				break;
-			}
-			if( nachLogin->zEditorFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zEditorFenster()->istAnimiert() )
-					nachLogin->zEditorFenster()->setSichtbar( 0 );
-				break;
-			}
-			// Fenster Sichtbar machen
-			spielen->setAlphaFeldFarbe( 0x5500FF00 );
-			accountAnsehen->setAlphaFeldFarbe( 0x5500FF00 );
-			miniGames->setAlphaFeldFarbe( 0x5500FF00 );
-			news->setAlphaFeldFarbe( 0x5500FF00 );
-			shop->setAlphaFeldFarbe( 0x0000FF00 );
-			editor->setAlphaFeldFarbe( 0x5500FF00 );
-			nachLogin->zShopFenster()->setSichtbar( 1 );
-			next->remove( 0 );
-			nextAnzahl--;
-			break;
-		case 6: // Editor
-			// Andere Fenster Unsichtbar machen
-			if( nachLogin->zSpielenFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zSpielenFenster()->istAnimiert() )
-					nachLogin->zSpielenFenster()->setSichtbar( 0 );
-				break;
-			}
-			if( nachLogin->zAccountAnsehenFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zAccountAnsehenFenster()->istAnimiert() )
-					nachLogin->zAccountAnsehenFenster()->setSichtbar( 0 );
-				break;
-			}
-			if( nachLogin->zMGFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zMGFenster()->istAnimiert() )
-					nachLogin->zMGFenster()->setSichtbar( 0 );
-				break;
-			}
-			if( nachLogin->zNewsFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zNewsFenster()->istAnimiert() )
-					nachLogin->zNewsFenster()->setSichtbar( 0 );
-				break;
-			}
-			if( nachLogin->zShopFenster()->istSichtbar() )
-			{
-				if( !nachLogin->zShopFenster()->istAnimiert() )
-					nachLogin->zShopFenster()->setSichtbar( 0 );
-				break;
-			}
-			// Fenster Sichtbar machen
-			spielen->setAlphaFeldFarbe( 0x5500FF00 );
-			accountAnsehen->setAlphaFeldFarbe( 0x5500FF00 );
-			miniGames->setAlphaFeldFarbe( 0x5500FF00 );
-			news->setAlphaFeldFarbe( 0x5500FF00 );
-			shop->setAlphaFeldFarbe( 0x5500FF00 );
-			editor->setAlphaFeldFarbe( 0x0000FF00 );
-			nachLogin->zEditorFenster()->setSichtbar( 1 );
-			next->remove( 0 );
-			nextAnzahl--;
-			break;
-		}
-	}
-	bool ret = rend;
-	rend = 0;
-	return ret;
+    if( nextAnzahl )
+    {
+        rend = 1;
+        int n = next->hat( 0 ) ? next->get( 0 ) : 0;
+        switch( n )
+        {
+        case 1: // Spielen
+            // Andere Fenster Unsichtbar machen
+            if( nachLogin->zShopFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zShopFenster()->istAnimiert() )
+                    nachLogin->zShopFenster()->setSichtbar( 0 );
+                break;
+            }
+            if( nachLogin->zAccountAnsehenFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zAccountAnsehenFenster()->istAnimiert() )
+                    nachLogin->zAccountAnsehenFenster()->setSichtbar( 0 );
+                break;
+            }
+            if( nachLogin->zMGFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zMGFenster()->istAnimiert() )
+                    nachLogin->zMGFenster()->setSichtbar( 0 );
+                break;
+            }
+            if( nachLogin->zNewsFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zNewsFenster()->istAnimiert() )
+                    nachLogin->zNewsFenster()->setSichtbar( 0 );
+                break;
+            }
+            if( nachLogin->zEditorFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zEditorFenster()->istAnimiert() )
+                    nachLogin->zEditorFenster()->setSichtbar( 0 );
+                break;
+            }
+            // Fenster Sichtbar machen
+            spielen->setAlphaFeldFarbe( 0x0000FF00 );
+            accountAnsehen->setAlphaFeldFarbe( 0x5500FF00 );
+            miniGames->setAlphaFeldFarbe( 0x5500FF00 );
+            news->setAlphaFeldFarbe( 0x5500FF00 );
+            shop->setAlphaFeldFarbe( 0x5500FF00 );
+            editor->setAlphaFeldFarbe( 0x5500FF00 );
+            nachLogin->zSpielenFenster()->setSichtbar( 1 );
+            next->remove( 0 );
+            nextAnzahl--;
+            break;
+        case 2: // Account ansehen
+            // Andere Fenster Unsichtbar machen
+            if( nachLogin->zSpielenFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zSpielenFenster()->istAnimiert() )
+                    nachLogin->zSpielenFenster()->setSichtbar( 0 );
+                break;
+            }
+            if( nachLogin->zShopFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zShopFenster()->istAnimiert() )
+                    nachLogin->zShopFenster()->setSichtbar( 0 );
+                break;
+            }
+            if( nachLogin->zMGFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zMGFenster()->istAnimiert() )
+                    nachLogin->zMGFenster()->setSichtbar( 0 );
+                break;
+            }
+            if( nachLogin->zNewsFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zNewsFenster()->istAnimiert() )
+                    nachLogin->zNewsFenster()->setSichtbar( 0 );
+                break;
+            }
+            if( nachLogin->zEditorFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zEditorFenster()->istAnimiert() )
+                    nachLogin->zEditorFenster()->setSichtbar( 0 );
+                break;
+            }
+            // Fenster Sichtbar machen
+            spielen->setAlphaFeldFarbe( 0x5500FF00 );
+            accountAnsehen->setAlphaFeldFarbe( 0x0000FF00 );
+            miniGames->setAlphaFeldFarbe( 0x5500FF00 );
+            news->setAlphaFeldFarbe( 0x5500FF00 );
+            shop->setAlphaFeldFarbe( 0x5500FF00 );
+            editor->setAlphaFeldFarbe( 0x5500FF00 );
+            nachLogin->zAccountAnsehenFenster()->setSichtbar( 1 );
+            next->remove( 0 );
+            nextAnzahl--;
+            break;
+        case 3: // MiniGames
+            // Andere Fenster Unsichtbar machen
+            if( nachLogin->zSpielenFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zSpielenFenster()->istAnimiert() )
+                    nachLogin->zSpielenFenster()->setSichtbar( 0 );
+                break;
+            }
+            if( nachLogin->zShopFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zShopFenster()->istAnimiert() )
+                    nachLogin->zShopFenster()->setSichtbar( 0 );
+                break;
+            }
+            if( nachLogin->zAccountAnsehenFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zAccountAnsehenFenster()->istAnimiert() )
+                    nachLogin->zAccountAnsehenFenster()->setSichtbar( 0 );
+                break;
+            }
+            if( nachLogin->zNewsFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zNewsFenster()->istAnimiert() )
+                    nachLogin->zNewsFenster()->setSichtbar( 0 );
+                break;
+            }
+            if( nachLogin->zEditorFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zEditorFenster()->istAnimiert() )
+                    nachLogin->zEditorFenster()->setSichtbar( 0 );
+                break;
+            }
+            // Fenster Sichtbar machen
+            spielen->setAlphaFeldFarbe( 0x5500FF00 );
+            accountAnsehen->setAlphaFeldFarbe( 0x5500FF00 );
+            miniGames->setAlphaFeldFarbe( 0x0000FF00 );
+            news->setAlphaFeldFarbe( 0x5500FF00 );
+            shop->setAlphaFeldFarbe( 0x5500FF00 );
+            editor->setAlphaFeldFarbe( 0x5500FF00 );
+            nachLogin->zMGFenster()->setSichtbar( 1 );
+            next->remove( 0 );
+            nextAnzahl--;
+            break;
+        case 4: // News
+            // Andere Fenster Unsichtbar machen
+            if( nachLogin->zSpielenFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zSpielenFenster()->istAnimiert() )
+                    nachLogin->zSpielenFenster()->setSichtbar( 0 );
+                break;
+            }
+            if( nachLogin->zShopFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zShopFenster()->istAnimiert() )
+                    nachLogin->zShopFenster()->setSichtbar( 0 );
+                break;
+            }
+            if( nachLogin->zAccountAnsehenFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zAccountAnsehenFenster()->istAnimiert() )
+                    nachLogin->zAccountAnsehenFenster()->setSichtbar( 0 );
+                break;
+            }
+            if( nachLogin->zMGFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zMGFenster()->istAnimiert() )
+                    nachLogin->zMGFenster()->setSichtbar( 0 );
+                break;
+            }
+            if( nachLogin->zEditorFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zEditorFenster()->istAnimiert() )
+                    nachLogin->zEditorFenster()->setSichtbar( 0 );
+                break;
+            }
+            // Fenster Sichtbar machen
+            spielen->setAlphaFeldFarbe( 0x5500FF00 );
+            accountAnsehen->setAlphaFeldFarbe( 0x5500FF00 );
+            miniGames->setAlphaFeldFarbe( 0x5500FF00 );
+            news->setAlphaFeldFarbe( 0x0000FF00 );
+            shop->setAlphaFeldFarbe( 0x5500FF00 );
+            editor->setAlphaFeldFarbe( 0x5500FF00 );
+            nachLogin->zNewsFenster()->setSichtbar( 1 );
+            next->remove( 0 );
+            nextAnzahl--;
+            break;
+        case 5: // Shop
+            // Andere Fenster Unsichtbar machen
+            if( nachLogin->zSpielenFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zSpielenFenster()->istAnimiert() )
+                    nachLogin->zSpielenFenster()->setSichtbar( 0 );
+                break;
+            }
+            if( nachLogin->zAccountAnsehenFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zAccountAnsehenFenster()->istAnimiert() )
+                    nachLogin->zAccountAnsehenFenster()->setSichtbar( 0 );
+                break;
+            }
+            if( nachLogin->zMGFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zMGFenster()->istAnimiert() )
+                    nachLogin->zMGFenster()->setSichtbar( 0 );
+                break;
+            }
+            if( nachLogin->zNewsFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zNewsFenster()->istAnimiert() )
+                    nachLogin->zNewsFenster()->setSichtbar( 0 );
+                break;
+            }
+            if( nachLogin->zEditorFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zEditorFenster()->istAnimiert() )
+                    nachLogin->zEditorFenster()->setSichtbar( 0 );
+                break;
+            }
+            // Fenster Sichtbar machen
+            spielen->setAlphaFeldFarbe( 0x5500FF00 );
+            accountAnsehen->setAlphaFeldFarbe( 0x5500FF00 );
+            miniGames->setAlphaFeldFarbe( 0x5500FF00 );
+            news->setAlphaFeldFarbe( 0x5500FF00 );
+            shop->setAlphaFeldFarbe( 0x0000FF00 );
+            editor->setAlphaFeldFarbe( 0x5500FF00 );
+            nachLogin->zShopFenster()->setSichtbar( 1 );
+            next->remove( 0 );
+            nextAnzahl--;
+            break;
+        case 6: // Editor
+            // Andere Fenster Unsichtbar machen
+            if( nachLogin->zSpielenFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zSpielenFenster()->istAnimiert() )
+                    nachLogin->zSpielenFenster()->setSichtbar( 0 );
+                break;
+            }
+            if( nachLogin->zAccountAnsehenFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zAccountAnsehenFenster()->istAnimiert() )
+                    nachLogin->zAccountAnsehenFenster()->setSichtbar( 0 );
+                break;
+            }
+            if( nachLogin->zMGFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zMGFenster()->istAnimiert() )
+                    nachLogin->zMGFenster()->setSichtbar( 0 );
+                break;
+            }
+            if( nachLogin->zNewsFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zNewsFenster()->istAnimiert() )
+                    nachLogin->zNewsFenster()->setSichtbar( 0 );
+                break;
+            }
+            if( nachLogin->zShopFenster()->istSichtbar() )
+            {
+                if( !nachLogin->zShopFenster()->istAnimiert() )
+                    nachLogin->zShopFenster()->setSichtbar( 0 );
+                break;
+            }
+            // Fenster Sichtbar machen
+            spielen->setAlphaFeldFarbe( 0x5500FF00 );
+            accountAnsehen->setAlphaFeldFarbe( 0x5500FF00 );
+            miniGames->setAlphaFeldFarbe( 0x5500FF00 );
+            news->setAlphaFeldFarbe( 0x5500FF00 );
+            shop->setAlphaFeldFarbe( 0x5500FF00 );
+            editor->setAlphaFeldFarbe( 0x0000FF00 );
+            nachLogin->zEditorFenster()->setSichtbar( 1 );
+            next->remove( 0 );
+            nextAnzahl--;
+            break;
+        }
+    }
+    bool ret = rend;
+    rend = 0;
+    return ret;
 }
 
 // constant
 int TitelLeiste::getSpielenX() const
 {
-	return spielen->getX();
+    return spielen->getX();
 }
 
 // Reference Counting
 TitelLeiste *TitelLeiste::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 TitelLeiste *TitelLeiste::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 // Ereignisse
 bool titelLeisteSchließenME( void *p, void *obj, MausEreignis me )
 {
-	return ( (TitelLeiste*)p )->druckSchließen( me );
+    return ( (TitelLeiste *)p )->druckSchließen( me );
 }
 
 bool titelLeisteEinstellungenME( void *p, void *obj, MausEreignis me )
 {
-	return ( (TitelLeiste*)p )->druckEinstellungen( me );
+    return ( (TitelLeiste *)p )->druckEinstellungen( me );
 }
 
 bool titelLeisteLogoutME( void *p, void *obj, MausEreignis me )
 {
-	return ( (TitelLeiste*)p )->druckLogout( me );
+    return ( (TitelLeiste *)p )->druckLogout( me );
 }
 
 bool titelLeisteAccountAnsehenME( void *p, void *obj, MausEreignis me )
 {
-	return ( (TitelLeiste*)p )->druckAccountAnsehen( me );
+    return ( (TitelLeiste *)p )->druckAccountAnsehen( me );
 }
 
 bool titelLeisteSpielenME( void *p, void *obj, MausEreignis me )
 {
-	return ( (TitelLeiste*)p )->druckSpielen( me );
+    return ( (TitelLeiste *)p )->druckSpielen( me );
 }
 
 bool titelLeisteMiniGamesME( void *p, void *obj, MausEreignis me )
 {
-	return ( (TitelLeiste*)p )->druckMiniGames( me );
+    return ( (TitelLeiste *)p )->druckMiniGames( me );
 }
 
 bool titelLeisteNewsME( void *p, void *obj, MausEreignis me )
 {
-	return ( (TitelLeiste*)p )->druckNews( me );
+    return ( (TitelLeiste *)p )->druckNews( me );
 }
 
 bool titelLeisteShopME( void *p, void *obj, MausEreignis me )
 {
-	return ( (TitelLeiste*)p )->druckShop( me );
+    return ( (TitelLeiste *)p )->druckShop( me );
 }
 
 bool titelLeisteEditorME( void *p, void *obj, MausEreignis me )
 {
-	return ( (TitelLeiste*)p )->druckEditor( me );
+    return ( (TitelLeiste *)p )->druckEditor( me );
 }

+ 1 - 1
KSGClient/NachLogin/Update/Update.cpp

@@ -57,7 +57,7 @@ void Update::thread()
 {
 	int dgId = dg;
 	Text err;
-	if( !p->update( dgId, &updateAbbrechen, fb->getThis(), 0, &err ) )
+	if( !p->update( dgId, &updateAbbrechen, (FBalken*)fb->getThis(), 0, &err ) )
 	{
         updateAbbrechen = 1;
 		if( nachLogin && nachLogin->zNachrichtenListe() )

+ 0 - 78
KSGClient/Start/Start.cpp

@@ -29,88 +29,11 @@ bool fensterME( void *p, void *f, MausEreignis me )
 
 bool fensterTE( void *p, void *f, TastaturEreignis te )
 {
-#ifdef _DEBUG
-    std::cout.flush();
-#endif
     return 1;
 }
 
-#ifdef _DEBUG
-template<typename TChar, typename TTraits>
-class OutputDebugStringBuf : public std::basic_stringbuf<TChar, TTraits>
-{
-public:
-    explicit OutputDebugStringBuf() : _buffer( 256 )
-    {
-        setg( nullptr, nullptr, nullptr );
-        setp( _buffer.data(), _buffer.data(), _buffer.data() + _buffer.size() );
-    }
-
-    ~OutputDebugStringBuf()
-    {}
-
-    static_assert( std::is_same<TChar, char>::value || std::is_same<TChar, wchar_t>::value, "OutputDebugStringBuf only supports char and wchar_t types" );
-
-    int sync() try
-    {
-        MessageOutputer<TChar, TTraits>()( pbase(), pptr() );
-        setp( _buffer.data(), _buffer.data(), _buffer.data() + _buffer.size() );
-        return 0;
-    }
-    catch( ... )
-    {
-        return -1;
-    }
-
-    int overflow( int c = TTraits::eof() )
-    {
-        auto syncRet = sync();
-        if( c != TTraits::eof() )
-        {
-            _buffer[ 0 ] = c;
-            setp( _buffer.data(), _buffer.data() + 1, _buffer.data() + _buffer.size() );
-        }
-        return syncRet == -1 ? TTraits::eof() : 0;
-    }
-
-
-private:
-    std::vector<TChar>		_buffer;
-
-    template<typename TChar, typename TTraits>
-    struct MessageOutputer;
-
-    template<>
-    struct MessageOutputer<char, std::char_traits<char>>
-    {
-        template<typename TIterator>
-        void operator()( TIterator begin, TIterator end ) const
-        {
-            std::string s( begin, end );
-            OutputDebugStringA( s.c_str() );
-        }
-    };
-
-    template<>
-    struct MessageOutputer<wchar_t, std::char_traits<wchar_t>>
-    {
-        template<typename TIterator>
-        void operator()( TIterator begin, TIterator end ) const
-        {
-            std::wstring s( begin, end );
-            OutputDebugStringW( s.c_str() );
-        }
-    };
-
-};
-#endif
-
 int KSGStart Framework::Start( Startparam p )
 {
-#ifdef _DEBUG
-    OutputDebugStringBuf<char, std::char_traits<char>> charDebugOutput;
-    std::cout.rdbuf( &charDebugOutput );
-#endif
     Network::Start( 50 );
 
     InitDatei init( "data/optionen.ini" );
@@ -173,7 +96,6 @@ int KSGStart Framework::Start( Startparam p )
     releaseVariables();
     schrift = schrift->release();
 
-    Framework::zTexturRegister()->leeren();
     bildschirm = bildschirm->release();
     fenster->setBildschirm( 0 );
     fenster->zerstören();

+ 454 - 454
KSGClient/VorLogin/Account verwalten/EMail.cpp

@@ -8,609 +8,609 @@
 // Konstruktor
 EMailÄndern::EMailÄndern( Schrift *zSchrift, Fenster *zVorLoginFenster )
 {
-	Punkt bildschirmmitte = Bildschirmmitte();
-	eMailÄndern = initKnopf( 10, 210, 130, 30, zSchrift, Knopf::Style::Sichtbar, "E-Mail ändern" );
-	eMailÄndern->setMausEreignisParameter( this );
-	eMailÄndern->setMausEreignis( eMailÄndernEMailÄndernME );
-	initToolTip( eMailÄndern, "Account E-Mail Adresse ändern.", zSchrift->getThis(), hauptScreen );
-	zVorLoginFenster->addMember( eMailÄndern );
-	fenster = initFenster( bildschirmmitte.x - 125, bildschirmmitte.y - 100, 250, 200, zSchrift, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "E-Mail ändern" );
-	name = initTextFeld( 20, 20, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Name" );
-	name->setTastaturEreignisParameter( this );
-	name->setTastaturEreignis( eMailÄndernNameTE );
-	initToolTip( name, "Account Name.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( name );
-	passwort = initTextFeld( 20, 50, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Passwort" );
-	passwort->setTastaturEreignisParameter( this );
-	passwort->setTastaturEreignis( eMailÄndernPasswortTE );
-	initToolTip( passwort, "Account Passwort.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( passwort );
-	geheimnis = initTextFeld( 20, 80, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Geheimis" );
-	geheimnis->setTastaturEreignisParameter( this );
-	geheimnis->setTastaturEreignis( eMailÄndernGeheimnisTE );
-	initToolTip( geheimnis, "Account Geheimnis.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( geheimnis );
-	nEMail = initTextFeld( 20, 110, 208, 20, zSchrift, TextFeld::Style::TextFeld, "neue E-Mail Adresse" );
-	nEMail->setTastaturEreignisParameter( this );
-	nEMail->setTastaturEreignis( eMailÄndernNEMailTE );
-	initToolTip( nEMail, "Neue E-Mail Adresse.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( nEMail );
-	weiter = initKnopf( 74, 140, 100, 20, zSchrift, Knopf::Style::Sichtbar, "weiter" );
-	weiter->setMausEreignisParameter( this );
-	weiter->setMausEreignis( eMailÄndernWeiterME );
-	nachricht = initTextFeld( 0, 5, 255, 150, zSchrift, TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig, "" );
-	fenster->addMember( nachricht );
-	fenster->addMember( weiter );
-	zVorLoginFenster->addMember( fenster );
-	ref = 1;
+    Punkt bildschirmmitte = Bildschirmmitte();
+    eMailÄndern = initKnopf( 10, 210, 130, 30, zSchrift, Knopf::Style::Sichtbar, "E-Mail ändern" );
+    eMailÄndern->setMausEreignisParameter( this );
+    eMailÄndern->setMausEreignis( eMailÄndernEMailÄndernME );
+    initToolTip( eMailÄndern, "Account E-Mail Adresse ändern.", zSchrift->getThis(), hauptScreen );
+    zVorLoginFenster->addMember( eMailÄndern );
+    fenster = initFenster( bildschirmmitte.x - 125, bildschirmmitte.y - 100, 250, 200, zSchrift, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "E-Mail ändern" );
+    name = initTextFeld( 20, 20, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Name" );
+    name->setTastaturEreignisParameter( this );
+    name->setTastaturEreignis( eMailÄndernNameTE );
+    initToolTip( name, "Account Name.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( name );
+    passwort = initTextFeld( 20, 50, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Passwort" );
+    passwort->setTastaturEreignisParameter( this );
+    passwort->setTastaturEreignis( eMailÄndernPasswortTE );
+    initToolTip( passwort, "Account Passwort.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( passwort );
+    geheimnis = initTextFeld( 20, 80, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Geheimis" );
+    geheimnis->setTastaturEreignisParameter( this );
+    geheimnis->setTastaturEreignis( eMailÄndernGeheimnisTE );
+    initToolTip( geheimnis, "Account Geheimnis.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( geheimnis );
+    nEMail = initTextFeld( 20, 110, 208, 20, zSchrift, TextFeld::Style::TextFeld, "neue E-Mail Adresse" );
+    nEMail->setTastaturEreignisParameter( this );
+    nEMail->setTastaturEreignis( eMailÄndernNEMailTE );
+    initToolTip( nEMail, "Neue E-Mail Adresse.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( nEMail );
+    weiter = initKnopf( 74, 140, 100, 20, zSchrift, Knopf::Style::Sichtbar, "weiter" );
+    weiter->setMausEreignisParameter( this );
+    weiter->setMausEreignis( eMailÄndernWeiterME );
+    nachricht = initTextFeld( 0, 5, 255, 150, zSchrift, TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig, "" );
+    fenster->addMember( nachricht );
+    fenster->addMember( weiter );
+    zVorLoginFenster->addMember( fenster );
+    ref = 1;
 }
 
 // Destruktor
 EMailÄndern::~EMailÄndern()
 {
-	if( eMailÄndern )
-		eMailÄndern = eMailÄndern->release();
-	if( fenster )
-		fenster = fenster->release();
-	if( name )
-		name = name->release();
-	if( passwort )
-		passwort = passwort->release();
-	if( geheimnis )
-		geheimnis = geheimnis->release();
-	if( nEMail )
-		nEMail = nEMail->release();
-	if( weiter )
-		weiter = weiter->release();
-	if( nachricht )
-		nachricht = nachricht->release();
+    if( eMailÄndern )
+        eMailÄndern = (Knopf *)eMailÄndern->release();
+    if( fenster )
+        fenster = (Fenster *)fenster->release();
+    if( name )
+        name = (TextFeld *)name->release();
+    if( passwort )
+        passwort = (TextFeld *)passwort->release();
+    if( geheimnis )
+        geheimnis = (TextFeld *)geheimnis->release();
+    if( nEMail )
+        nEMail = (TextFeld *)nEMail->release();
+    if( weiter )
+        weiter = (Knopf *)weiter->release();
+    if( nachricht )
+        nachricht = (TextFeld *)nachricht->release();
 }
 
 // Privat
 void EMailÄndern::zeigeNachricht( const char *txt )
 {
-	Punkt bildschirmmitte = Bildschirmmitte();
-	name->removeStyle( TextFeld::Style::Sichtbar );
-	passwort->removeStyle( TextFeld::Style::Sichtbar );
-	geheimnis->removeStyle( TextFeld::Style::Sichtbar );
-	nEMail->removeStyle( TextFeld::Style::Sichtbar );
-	fenster->setSize( 250, 150 );
-	fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 75 );
-	weiter->setPosition( 139, 100 );
-	weiter->setText( "Ok" );
-	nachricht->setText( txt );
-	if( nachricht->zText()->getLength() > 30 )
-	{
-		int pos = -1;
-		bool set = 0;
-		int lastp = 0;
-		for( int i = 20; i < nachricht->zText()->getLength(); )
-		{
-			char *tmp = &nachricht->zText()->getText()[ i ];
-			while( *tmp != ' ' && i < nachricht->zText()->getLength() )
-			{
-				tmp++;
-				i++;
-				if( i - 30 >= lastp )
-				{
-					if( set )
-					{
-						lastp = pos;
-						set = 0;
-						nachricht->zText()->getText()[ pos ] = '\n';
-					}
-					else
-						lastp += 5;
-				}
-			}
-			if( i < nachricht->zText()->getLength() )
-			{
-				pos = i;
-				set = 1;
-				tmp++;
-				i++;
-			}
-		}
-	}
-	nachricht->addStyle( TextFeld::Style::Sichtbar );
+    Punkt bildschirmmitte = Bildschirmmitte();
+    name->removeStyle( TextFeld::Style::Sichtbar );
+    passwort->removeStyle( TextFeld::Style::Sichtbar );
+    geheimnis->removeStyle( TextFeld::Style::Sichtbar );
+    nEMail->removeStyle( TextFeld::Style::Sichtbar );
+    fenster->setSize( 250, 150 );
+    fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 75 );
+    weiter->setPosition( 139, 100 );
+    weiter->setText( "Ok" );
+    nachricht->setText( txt );
+    if( nachricht->zText()->getLength() > 30 )
+    {
+        int pos = -1;
+        bool set = 0;
+        int lastp = 0;
+        for( int i = 20; i < nachricht->zText()->getLength(); )
+        {
+            char *tmp = &nachricht->zText()->getText()[ i ];
+            while( *tmp != ' ' && i < nachricht->zText()->getLength() )
+            {
+                tmp++;
+                i++;
+                if( i - 30 >= lastp )
+                {
+                    if( set )
+                    {
+                        lastp = pos;
+                        set = 0;
+                        nachricht->zText()->getText()[ pos ] = '\n';
+                    }
+                    else
+                        lastp += 5;
+                }
+            }
+            if( i < nachricht->zText()->getLength() )
+            {
+                pos = i;
+                set = 1;
+                tmp++;
+                i++;
+            }
+        }
+    }
+    nachricht->addStyle( TextFeld::Style::Sichtbar );
 }
 
 // Knopfdruck
 void EMailÄndern::druckFremdKnopf() // Ein anderer Knopf wurde gedrückt
 {
-	fenster->removeStyle( Fenster::Style::Sichtbar );
-	eMailÄndern->setRahmenBreite( 2 );
-	eMailÄndern->setAlphaFeldFarbe( 0x5500FF00 );
-	eMailÄndern->setAlphaFeldStrength( -5 );
+    fenster->removeStyle( Fenster::Style::Sichtbar );
+    eMailÄndern->setRahmenBreite( 2 );
+    eMailÄndern->setAlphaFeldFarbe( 0x5500FF00 );
+    eMailÄndern->setAlphaFeldStrength( -5 );
 }
 
 bool EMailÄndern::eMailÄndernME( void *obj, MausEreignis me ) // MausEreignis im Knopf eMailÄndern
 {
-	if( me.id == ME_RLinks )
-	{
-		vorLogin->setEMailÄndern();
-
-		eMailÄndern->setRahmenBreite( 3 );
-		eMailÄndern->setAlphaFeldFarbe( 0xFF000000 );
-		eMailÄndern->setAlphaFeldStrength( 20 );
-		Punkt bildschirmmitte = Bildschirmmitte();
-		fenster->setSize( 255, 200 );
-		fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 100 );
-		fenster->addStyle( Fenster::Style::Sichtbar );
-		nachricht->removeStyle( TextFeld::Style::Sichtbar );
-		weiter->setText( "weiter" );
-		weiter->setPosition( 75, 140 );
-		name->addStyle( TextFeld::Style::Sichtbar );
-		passwort->addStyle( TextFeld::Style::Sichtbar );
-		geheimnis->addStyle( TextFeld::Style::Sichtbar );
-		nEMail->addStyle( TextFeld::Style::Sichtbar );
-		name->addStyle( TextFeld::Style::Fokus );
-		name->setAuswahl( name->zText()->getLength(), 0 );
-	}
-	return 1;
+    if( me.id == ME_RLinks )
+    {
+        vorLogin->setEMailÄndern();
+
+        eMailÄndern->setRahmenBreite( 3 );
+        eMailÄndern->setAlphaFeldFarbe( 0xFF000000 );
+        eMailÄndern->setAlphaFeldStrength( 20 );
+        Punkt bildschirmmitte = Bildschirmmitte();
+        fenster->setSize( 255, 200 );
+        fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 100 );
+        fenster->addStyle( Fenster::Style::Sichtbar );
+        nachricht->removeStyle( TextFeld::Style::Sichtbar );
+        weiter->setText( "weiter" );
+        weiter->setPosition( 75, 140 );
+        name->addStyle( TextFeld::Style::Sichtbar );
+        passwort->addStyle( TextFeld::Style::Sichtbar );
+        geheimnis->addStyle( TextFeld::Style::Sichtbar );
+        nEMail->addStyle( TextFeld::Style::Sichtbar );
+        name->addStyle( TextFeld::Style::Fokus );
+        name->setAuswahl( name->zText()->getLength(), 0 );
+    }
+    return 1;
 }
 
 bool EMailÄndern::nameTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld name
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
-	{
-		name->removeStyle( TextFeld::Style::Fokus );
-		passwort->addStyle( TextFeld::Style::Fokus );
-		passwort->setAuswahl( passwort->zText()->getLength(), 0 );
-	}
-	if( name->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
+    {
+        name->removeStyle( TextFeld::Style::Fokus );
+        passwort->addStyle( TextFeld::Style::Fokus );
+        passwort->setAuswahl( passwort->zText()->getLength(), 0 );
+    }
+    if( name->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool EMailÄndern::passwortTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld passwort
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Press )
-		passwort->setSchowChar( '*' );
-	if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
-	{
-		passwort->removeStyle( TextFeld::Style::Fokus );
-		geheimnis->addStyle( TextFeld::Style::Fokus );
-		geheimnis->setAuswahl( geheimnis->zText()->getLength(), 0 );
-	}
-	if( passwort->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Press )
+        passwort->setSchowChar( '*' );
+    if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
+    {
+        passwort->removeStyle( TextFeld::Style::Fokus );
+        geheimnis->addStyle( TextFeld::Style::Fokus );
+        geheimnis->setAuswahl( geheimnis->zText()->getLength(), 0 );
+    }
+    if( passwort->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool EMailÄndern::geheimnisTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld geheimnis
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Press )
-		geheimnis->setSchowChar( '*' );
-	if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
-	{
-		geheimnis->removeStyle( TextFeld::Style::Fokus );
-		nEMail->addStyle( TextFeld::Style::Fokus );
-		nEMail->setAuswahl( nEMail->zText()->getLength(), 0 );
-	}
-	if( geheimnis->zText()->getLength() >= 50 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Press )
+        geheimnis->setSchowChar( '*' );
+    if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
+    {
+        geheimnis->removeStyle( TextFeld::Style::Fokus );
+        nEMail->addStyle( TextFeld::Style::Fokus );
+        nEMail->setAuswahl( nEMail->zText()->getLength(), 0 );
+    }
+    if( geheimnis->zText()->getLength() >= 50 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool EMailÄndern::nEMailTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld nEMail
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Press )
-		nEMail->setSchowChar( '*' );
-	if( te.id == TE_Release && te.taste == T_Enter )
-	{
-		nEMail->removeStyle( TextFeld::Style::Fokus );
-		MausEreignis me;
-		me.id = ME_RLinks;
-		weiterME( 0, me );
-	}
-	if( nEMail->zText()->getLength() >= 50 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Press )
+        nEMail->setSchowChar( '*' );
+    if( te.id == TE_Release && te.taste == T_Enter )
+    {
+        nEMail->removeStyle( TextFeld::Style::Fokus );
+        MausEreignis me;
+        me.id = ME_RLinks;
+        weiterME( 0, me );
+    }
+    if( nEMail->zText()->getLength() >= 50 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool EMailÄndern::weiterME( void *obj, MausEreignis me ) // MausEreignis im Knopf weiter
 {
-	if( me.id == ME_RLinks )
-	{
-		if( weiter->zText()->istGleich( "weiter" ) )
-		{
-			if( name->zText()->getLength() == 0 )
-				zeigeNachricht( "Bitte gebe deinen Accountnamen ein." );
-			if( passwort->zText()->getLength() == 0 )
-				zeigeNachricht( "Bitte gebe dein Accountpasswort ein." );
-			if( geheimnis->zText()->getLength() == 0 )
-				zeigeNachricht( "Bitte gebe dein Accountgeheimnis ein." );
-			if( nEMail->zText()->getLength() == 0 )
-				zeigeNachricht( "Bitte gebe eine neue E-Mail Addresse ein." );
-			if( weiter->zText()->istGleich( "Ok" ) )
-				return 1;
-			new AktionsThread( 8, name->zText()->getText(), passwort->zText()->getText(), geheimnis->zText()->getText(), nEMail->zText()->getText(), 0 );
-		}
-		else
-		{
-			Punkt bildschirmmitte = Bildschirmmitte();
-			fenster->setSize( 255, 200 );
-			fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 100 );
-			fenster->addStyle( Fenster::Style::Sichtbar );
-			nachricht->removeStyle( TextFeld::Style::Sichtbar );
-			weiter->setText( "weiter" );
-			weiter->setPosition( 75, 140 );
-			name->addStyle( TextFeld::Style::Sichtbar );
-			passwort->addStyle( TextFeld::Style::Sichtbar );
-			geheimnis->addStyle( TextFeld::Style::Sichtbar );
-			nEMail->addStyle( TextFeld::Style::Sichtbar );
-			name->addStyle( TextFeld::Style::Fokus );
-			name->setAuswahl( name->zText()->getLength(), 0 );
-		}
-	}
-	return 1;
+    if( me.id == ME_RLinks )
+    {
+        if( weiter->zText()->istGleich( "weiter" ) )
+        {
+            if( name->zText()->getLength() == 0 )
+                zeigeNachricht( "Bitte gebe deinen Accountnamen ein." );
+            if( passwort->zText()->getLength() == 0 )
+                zeigeNachricht( "Bitte gebe dein Accountpasswort ein." );
+            if( geheimnis->zText()->getLength() == 0 )
+                zeigeNachricht( "Bitte gebe dein Accountgeheimnis ein." );
+            if( nEMail->zText()->getLength() == 0 )
+                zeigeNachricht( "Bitte gebe eine neue E-Mail Addresse ein." );
+            if( weiter->zText()->istGleich( "Ok" ) )
+                return 1;
+            new AktionsThread( 8, name->zText()->getText(), passwort->zText()->getText(), geheimnis->zText()->getText(), nEMail->zText()->getText(), 0 );
+        }
+        else
+        {
+            Punkt bildschirmmitte = Bildschirmmitte();
+            fenster->setSize( 255, 200 );
+            fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 100 );
+            fenster->addStyle( Fenster::Style::Sichtbar );
+            nachricht->removeStyle( TextFeld::Style::Sichtbar );
+            weiter->setText( "weiter" );
+            weiter->setPosition( 75, 140 );
+            name->addStyle( TextFeld::Style::Sichtbar );
+            passwort->addStyle( TextFeld::Style::Sichtbar );
+            geheimnis->addStyle( TextFeld::Style::Sichtbar );
+            nEMail->addStyle( TextFeld::Style::Sichtbar );
+            name->addStyle( TextFeld::Style::Fokus );
+            name->setAuswahl( name->zText()->getLength(), 0 );
+        }
+    }
+    return 1;
 }
 
 void EMailÄndern::setReturn( bool ret ) // Setzt den Returnwert
 {
-	if( ret )
-		zeigeNachricht( "E-Mail erfolgreich geändert." );
-	else if( lastError.getLength() )
-		zeigeNachricht( lastError );
-	else
-		zeigeNachricht( "Es ist ein Unbekannter Fehler aufgetreten." );
+    if( ret )
+        zeigeNachricht( "E-Mail erfolgreich geändert." );
+    else if( lastError.getLength() )
+        zeigeNachricht( lastError );
+    else
+        zeigeNachricht( "Es ist ein Unbekannter Fehler aufgetreten." );
 }
 
 // Reference Counting
-EMailÄndern *EMailÄndern::getThis()
+EMailÄndern * EMailÄndern::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 EMailÄndern *EMailÄndern::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 
 // Inhalt der EMailVergessen Klasse aus EMail.h
 // Konstruktor
-EMailVergessen::EMailVergessen( Schrift *zSchrift, Fenster *zVorLoginFenster )
-{
-	Punkt bildschirmmitte = Bildschirmmitte();
-	eMailVergessen = initKnopf( 10, 410, 130, 30, zSchrift, Knopf::Style::Sichtbar, "E-Mail vergessen" );
-	eMailVergessen->setMausEreignisParameter( this );
-	eMailVergessen->setMausEreignis( eMailVergessenEMailVergessenME );
-	initToolTip( eMailVergessen, "Account E-Mail Adresse anzeigen.", zSchrift->getThis(), hauptScreen );
-	zVorLoginFenster->addMember( eMailVergessen );
-	fenster = initFenster( bildschirmmitte.x - 125, bildschirmmitte.y - 85, 250, 170, zSchrift, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "E-Mail vergessen" );
-	name = initTextFeld( 20, 20, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Name" );
-	name->setTastaturEreignisParameter( this );
-	name->setTastaturEreignis( eMailVergessenNameTE );
-	initToolTip( name, "Account Name.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( name );
-	passwort = initTextFeld( 20, 50, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Passwort" );
-	passwort->setTastaturEreignisParameter( this );
-	passwort->setTastaturEreignis( eMailVergessenPasswortTE );
-	initToolTip( passwort, "Account Passwort.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( passwort );
-	geheimnis = initTextFeld( 20, 80, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Geheimis" );
-	geheimnis->setTastaturEreignisParameter( this );
-	geheimnis->setTastaturEreignis( eMailVergessenGeheimnisTE );
-	initToolTip( geheimnis, "Account Geheimnis.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( geheimnis );
-	weiter = initKnopf( 74, 110, 100, 20, zSchrift, Knopf::Style::Sichtbar, "weiter" );
-	weiter->setMausEreignisParameter( this );
-	weiter->setMausEreignis( eMailVergessenWeiterME );
-	nachricht = initTextFeld( 0, 5, 255, 150, zSchrift, TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig, "" );
-	fenster->addMember( nachricht );
-	fenster->addMember( weiter );
-	zVorLoginFenster->addMember( fenster );
-	ref = 1;
+EMailVergessen::EMailVergessen( Schrift * zSchrift, Fenster * zVorLoginFenster )
+{
+    Punkt bildschirmmitte = Bildschirmmitte();
+    eMailVergessen = initKnopf( 10, 410, 130, 30, zSchrift, Knopf::Style::Sichtbar, "E-Mail vergessen" );
+    eMailVergessen->setMausEreignisParameter( this );
+    eMailVergessen->setMausEreignis( eMailVergessenEMailVergessenME );
+    initToolTip( eMailVergessen, "Account E-Mail Adresse anzeigen.", zSchrift->getThis(), hauptScreen );
+    zVorLoginFenster->addMember( eMailVergessen );
+    fenster = initFenster( bildschirmmitte.x - 125, bildschirmmitte.y - 85, 250, 170, zSchrift, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "E-Mail vergessen" );
+    name = initTextFeld( 20, 20, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Name" );
+    name->setTastaturEreignisParameter( this );
+    name->setTastaturEreignis( eMailVergessenNameTE );
+    initToolTip( name, "Account Name.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( name );
+    passwort = initTextFeld( 20, 50, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Passwort" );
+    passwort->setTastaturEreignisParameter( this );
+    passwort->setTastaturEreignis( eMailVergessenPasswortTE );
+    initToolTip( passwort, "Account Passwort.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( passwort );
+    geheimnis = initTextFeld( 20, 80, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Geheimis" );
+    geheimnis->setTastaturEreignisParameter( this );
+    geheimnis->setTastaturEreignis( eMailVergessenGeheimnisTE );
+    initToolTip( geheimnis, "Account Geheimnis.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( geheimnis );
+    weiter = initKnopf( 74, 110, 100, 20, zSchrift, Knopf::Style::Sichtbar, "weiter" );
+    weiter->setMausEreignisParameter( this );
+    weiter->setMausEreignis( eMailVergessenWeiterME );
+    nachricht = initTextFeld( 0, 5, 255, 150, zSchrift, TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig, "" );
+    fenster->addMember( nachricht );
+    fenster->addMember( weiter );
+    zVorLoginFenster->addMember( fenster );
+    ref = 1;
 }
 
 // Destruktor
 EMailVergessen::~EMailVergessen()
 {
-	if( eMailVergessen )
-		eMailVergessen = eMailVergessen->release();
-	if( fenster )
-		fenster = fenster->release();
-	if( name )
-		name = name->release();
-	if( passwort )
-		passwort = passwort->release();
-	if( geheimnis )
-		geheimnis = geheimnis->release();
-	if( weiter )
-		weiter = weiter->release();
-	if( nachricht )
-		nachricht = nachricht->release();
+    if( eMailVergessen )
+        eMailVergessen = (Knopf *)eMailVergessen->release();
+    if( fenster )
+        fenster = (Fenster *)fenster->release();
+    if( name )
+        name = (TextFeld *)name->release();
+    if( passwort )
+        passwort = (TextFeld *)passwort->release();
+    if( geheimnis )
+        geheimnis = (TextFeld *)geheimnis->release();
+    if( weiter )
+        weiter = (Knopf *)weiter->release();
+    if( nachricht )
+        nachricht = (TextFeld *)nachricht->release();
 }
 
 // Privat
 void EMailVergessen::zeigeNachricht( const char *txt )
 {
-	Punkt bildschirmmitte = Bildschirmmitte();
-	name->removeStyle( TextFeld::Style::Sichtbar );
-	passwort->removeStyle( TextFeld::Style::Sichtbar );
-	geheimnis->removeStyle( TextFeld::Style::Sichtbar );
-	fenster->setSize( 250, 150 );
-	fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 75 );
-	weiter->setPosition( 139, 100 );
-	weiter->setText( "Ok" );
-	nachricht->setText( txt );
-	if( nachricht->zText()->getLength() > 30 )
-	{
-		int pos = -1;
-		bool set = 0;
-		int lastp = 0;
-		for( int i = 20; i < nachricht->zText()->getLength(); )
-		{
-			char *tmp = &nachricht->zText()->getText()[ i ];
-			while( *tmp != ' ' && i < nachricht->zText()->getLength() )
-			{
-				tmp++;
-				i++;
-				if( i - 30 >= lastp )
-				{
-					if( set )
-					{
-						lastp = pos;
-						set = 0;
-						nachricht->zText()->getText()[ pos ] = '\n';
-					}
-					else
-						lastp += 5;
-				}
-			}
-			if( i < nachricht->zText()->getLength() )
-			{
-				pos = i;
-				set = 1;
-				tmp++;
-				i++;
-			}
-		}
-	}
-	nachricht->addStyle( TextFeld::Style::Sichtbar );
+    Punkt bildschirmmitte = Bildschirmmitte();
+    name->removeStyle( TextFeld::Style::Sichtbar );
+    passwort->removeStyle( TextFeld::Style::Sichtbar );
+    geheimnis->removeStyle( TextFeld::Style::Sichtbar );
+    fenster->setSize( 250, 150 );
+    fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 75 );
+    weiter->setPosition( 139, 100 );
+    weiter->setText( "Ok" );
+    nachricht->setText( txt );
+    if( nachricht->zText()->getLength() > 30 )
+    {
+        int pos = -1;
+        bool set = 0;
+        int lastp = 0;
+        for( int i = 20; i < nachricht->zText()->getLength(); )
+        {
+            char *tmp = &nachricht->zText()->getText()[ i ];
+            while( *tmp != ' ' && i < nachricht->zText()->getLength() )
+            {
+                tmp++;
+                i++;
+                if( i - 30 >= lastp )
+                {
+                    if( set )
+                    {
+                        lastp = pos;
+                        set = 0;
+                        nachricht->zText()->getText()[ pos ] = '\n';
+                    }
+                    else
+                        lastp += 5;
+                }
+            }
+            if( i < nachricht->zText()->getLength() )
+            {
+                pos = i;
+                set = 1;
+                tmp++;
+                i++;
+            }
+        }
+    }
+    nachricht->addStyle( TextFeld::Style::Sichtbar );
 }
 
 // Knopfdruck
 void EMailVergessen::druckFremdKnopf() // Ein anderer Knopf wurde gedrückt
 {
-	fenster->removeStyle( Fenster::Style::Sichtbar );
-	eMailVergessen->setRahmenBreite( 2 );
-	eMailVergessen->setAlphaFeldFarbe( 0x5500FF00 );
-	eMailVergessen->setAlphaFeldStrength( -5 );
+    fenster->removeStyle( Fenster::Style::Sichtbar );
+    eMailVergessen->setRahmenBreite( 2 );
+    eMailVergessen->setAlphaFeldFarbe( 0x5500FF00 );
+    eMailVergessen->setAlphaFeldStrength( -5 );
 }
 
 bool EMailVergessen::eMailVergessenME( void *obj, MausEreignis me ) // MausEreignis im Knopf eMailVergessen
 {
-	if( me.id == ME_RLinks )
-	{
-		vorLogin->setEMailVergessen();
-
-		eMailVergessen->setRahmenBreite( 3 );
-		eMailVergessen->setAlphaFeldFarbe( 0xFF000000 );
-		eMailVergessen->setAlphaFeldStrength( 20 );
-		Punkt bildschirmmitte = Bildschirmmitte();
-		fenster->setSize( 255, 170 );
-		fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 85 );
-		fenster->addStyle( Fenster::Style::Sichtbar );
-		nachricht->removeStyle( TextFeld::Style::Sichtbar );
-		weiter->setText( "weiter" );
-		weiter->setPosition( 75, 110 );
-		name->addStyle( TextFeld::Style::Sichtbar );
-		passwort->addStyle( TextFeld::Style::Sichtbar );
-		geheimnis->addStyle( TextFeld::Style::Sichtbar );
-		name->addStyle( TextFeld::Style::Fokus );
-		name->setAuswahl( name->zText()->getLength(), 0 );
-	}
-	return 1;
+    if( me.id == ME_RLinks )
+    {
+        vorLogin->setEMailVergessen();
+
+        eMailVergessen->setRahmenBreite( 3 );
+        eMailVergessen->setAlphaFeldFarbe( 0xFF000000 );
+        eMailVergessen->setAlphaFeldStrength( 20 );
+        Punkt bildschirmmitte = Bildschirmmitte();
+        fenster->setSize( 255, 170 );
+        fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 85 );
+        fenster->addStyle( Fenster::Style::Sichtbar );
+        nachricht->removeStyle( TextFeld::Style::Sichtbar );
+        weiter->setText( "weiter" );
+        weiter->setPosition( 75, 110 );
+        name->addStyle( TextFeld::Style::Sichtbar );
+        passwort->addStyle( TextFeld::Style::Sichtbar );
+        geheimnis->addStyle( TextFeld::Style::Sichtbar );
+        name->addStyle( TextFeld::Style::Fokus );
+        name->setAuswahl( name->zText()->getLength(), 0 );
+    }
+    return 1;
 }
 
 bool EMailVergessen::nameTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld name
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
-	{
-		name->removeStyle( TextFeld::Style::Fokus );
-		passwort->addStyle( TextFeld::Style::Fokus );
-		passwort->setAuswahl( passwort->zText()->getLength(), 0 );
-	}
-	if( name->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
+    {
+        name->removeStyle( TextFeld::Style::Fokus );
+        passwort->addStyle( TextFeld::Style::Fokus );
+        passwort->setAuswahl( passwort->zText()->getLength(), 0 );
+    }
+    if( name->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool EMailVergessen::passwortTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld passwort
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Press )
-		passwort->setSchowChar( '*' );
-	if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
-	{
-		passwort->removeStyle( TextFeld::Style::Fokus );
-		geheimnis->addStyle( TextFeld::Style::Fokus );
-		geheimnis->setAuswahl( geheimnis->zText()->getLength(), 0 );
-	}
-	if( passwort->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Press )
+        passwort->setSchowChar( '*' );
+    if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
+    {
+        passwort->removeStyle( TextFeld::Style::Fokus );
+        geheimnis->addStyle( TextFeld::Style::Fokus );
+        geheimnis->setAuswahl( geheimnis->zText()->getLength(), 0 );
+    }
+    if( passwort->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool EMailVergessen::geheimnisTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld geheimnis
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Press )
-		geheimnis->setSchowChar( '*' );
-	if( te.id == TE_Release && te.taste == T_Enter )
-	{
-		geheimnis->removeStyle( TextFeld::Style::Fokus );
-		MausEreignis me;
-		me.id = ME_RLinks;
-		weiterME( 0, me );
-	}
-	if( geheimnis->zText()->getLength() >= 50 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Press )
+        geheimnis->setSchowChar( '*' );
+    if( te.id == TE_Release && te.taste == T_Enter )
+    {
+        geheimnis->removeStyle( TextFeld::Style::Fokus );
+        MausEreignis me;
+        me.id = ME_RLinks;
+        weiterME( 0, me );
+    }
+    if( geheimnis->zText()->getLength() >= 50 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool EMailVergessen::weiterME( void *obj, MausEreignis me ) // MausEreignis im Knopf weiter
 {
-	if( me.id == ME_RLinks )
-	{
-		if( weiter->zText()->istGleich( "weiter" ) )
-		{
-			if( name->zText()->getLength() == 0 )
-				zeigeNachricht( "Bitte gebe deinen Accountnamen ein." );
-			if( passwort->zText()->getLength() == 0 )
-				zeigeNachricht( "Bitte gebe dein Accountpasswort ein." );
-			if( geheimnis->zText()->getLength() == 0 )
-				zeigeNachricht( "Bitte gebe dein Accountgeheimnis ein." );
-			if( weiter->zText()->istGleich( "Ok" ) )
-				return 1;
-			new AktionsThread( 9, name->zText()->getText(), passwort->zText()->getText(), geheimnis->zText()->getText(), 0, 0 );
-		}
-		else
-		{
-			Punkt bildschirmmitte = Bildschirmmitte();
-			fenster->setSize( 255, 170 );
-			fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 85 );
-			fenster->addStyle( Fenster::Style::Sichtbar );
-			nachricht->removeStyle( TextFeld::Style::Sichtbar );
-			weiter->setText( "weiter" );
-			weiter->setPosition( 75, 110 );
-			name->addStyle( TextFeld::Style::Sichtbar );
-			passwort->addStyle( TextFeld::Style::Sichtbar );
-			geheimnis->addStyle( TextFeld::Style::Sichtbar );
-			name->addStyle( TextFeld::Style::Fokus );
-			name->setAuswahl( name->zText()->getLength(), 0 );
-		}
-	}
-	return 1;
+    if( me.id == ME_RLinks )
+    {
+        if( weiter->zText()->istGleich( "weiter" ) )
+        {
+            if( name->zText()->getLength() == 0 )
+                zeigeNachricht( "Bitte gebe deinen Accountnamen ein." );
+            if( passwort->zText()->getLength() == 0 )
+                zeigeNachricht( "Bitte gebe dein Accountpasswort ein." );
+            if( geheimnis->zText()->getLength() == 0 )
+                zeigeNachricht( "Bitte gebe dein Accountgeheimnis ein." );
+            if( weiter->zText()->istGleich( "Ok" ) )
+                return 1;
+            new AktionsThread( 9, name->zText()->getText(), passwort->zText()->getText(), geheimnis->zText()->getText(), 0, 0 );
+        }
+        else
+        {
+            Punkt bildschirmmitte = Bildschirmmitte();
+            fenster->setSize( 255, 170 );
+            fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 85 );
+            fenster->addStyle( Fenster::Style::Sichtbar );
+            nachricht->removeStyle( TextFeld::Style::Sichtbar );
+            weiter->setText( "weiter" );
+            weiter->setPosition( 75, 110 );
+            name->addStyle( TextFeld::Style::Sichtbar );
+            passwort->addStyle( TextFeld::Style::Sichtbar );
+            geheimnis->addStyle( TextFeld::Style::Sichtbar );
+            name->addStyle( TextFeld::Style::Fokus );
+            name->setAuswahl( name->zText()->getLength(), 0 );
+        }
+    }
+    return 1;
 }
 
 void EMailVergessen::setReturn( bool ret, char *eMail ) // Setzt den Returnwert
 {
-	if( ret )
-	{
-		Text *nachricht = new Text( "Deine E-Mail Addresse lautet:'" );
-		nachricht->append( eMail );
-		nachricht->append( "'." );
-		zeigeNachricht( nachricht->getText() );
-		nachricht = nachricht->release();
-	}
-	else if( lastError.getLength() )
-		zeigeNachricht( lastError );
-	else
-		zeigeNachricht( "Es ist ein Unbekannter Fehler aufgetreten." );
-	delete eMail;
+    if( ret )
+    {
+        Text *nachricht = new Text( "Deine E-Mail Addresse lautet:'" );
+        nachricht->append( eMail );
+        nachricht->append( "'." );
+        zeigeNachricht( nachricht->getText() );
+        nachricht = nachricht->release();
+    }
+    else if( lastError.getLength() )
+        zeigeNachricht( lastError );
+    else
+        zeigeNachricht( "Es ist ein Unbekannter Fehler aufgetreten." );
+    delete eMail;
 }
 
 // Reference Counting
 EMailVergessen *EMailVergessen::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 EMailVergessen *EMailVergessen::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 
 // messages
 bool eMailÄndernEMailÄndernME( void *p, void *obj, MausEreignis me )
 {
-	if( !p )
-		return 0;
-	return ( (EMailÄndern*)p )->eMailÄndernME( obj, me );
+    if( !p )
+        return 0;
+    return ( (EMailÄndern *)p )->eMailÄndernME( obj, me );
 }
 
 bool eMailÄndernNameTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (EMailÄndern*)p )->nameTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (EMailÄndern *)p )->nameTE( obj, te );
 }
 
 bool eMailÄndernPasswortTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (EMailÄndern*)p )->passwortTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (EMailÄndern *)p )->passwortTE( obj, te );
 }
 
 bool eMailÄndernGeheimnisTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (EMailÄndern*)p )->geheimnisTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (EMailÄndern *)p )->geheimnisTE( obj, te );
 }
 
 bool eMailÄndernNEMailTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (EMailÄndern*)p )->nEMailTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (EMailÄndern *)p )->nEMailTE( obj, te );
 }
 
 bool eMailÄndernWeiterME( void *p, void *obj, MausEreignis me )
 {
-	if( !p )
-		return 0;
-	return ( (EMailÄndern*)p )->weiterME( obj, me );
+    if( !p )
+        return 0;
+    return ( (EMailÄndern *)p )->weiterME( obj, me );
 }
 
 
 bool eMailVergessenEMailVergessenME( void *p, void *obj, MausEreignis me )
 {
-	if( !p )
-		return 0;
-	return ( (EMailVergessen*)p )->eMailVergessenME( obj, me );
+    if( !p )
+        return 0;
+    return ( (EMailVergessen *)p )->eMailVergessenME( obj, me );
 }
 
 bool eMailVergessenNameTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (EMailVergessen*)p )->nameTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (EMailVergessen *)p )->nameTE( obj, te );
 }
 
 bool eMailVergessenPasswortTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (EMailVergessen*)p )->passwortTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (EMailVergessen *)p )->passwortTE( obj, te );
 }
 
 bool eMailVergessenGeheimnisTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (EMailVergessen*)p )->geheimnisTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (EMailVergessen *)p )->geheimnisTE( obj, te );
 }
 
 bool eMailVergessenWeiterME( void *p, void *obj, MausEreignis me )
 {
-	if( !p )
-		return 0;
-	return ( (EMailVergessen*)p )->weiterME( obj, me );
+    if( !p )
+        return 0;
+    return ( (EMailVergessen *)p )->weiterME( obj, me );
 }

+ 418 - 418
KSGClient/VorLogin/Account verwalten/Geheimnis.cpp

@@ -8,564 +8,564 @@
 // Konstruktor
 GeheimnisÄndern::GeheimnisÄndern( Schrift *zSchrift, Fenster *zVorLoginFenster )
 {
-	Punkt bildschirmmitte = Bildschirmmitte();
-	geheimnisÄndern = initKnopf( 10, 250, 130, 30, zSchrift, Knopf::Style::Sichtbar, "Geheimnis ändern" );
-	geheimnisÄndern->setMausEreignisParameter( this );
-	geheimnisÄndern->setMausEreignis( geheimnisÄndernGeheimnisÄndernME );
-	initToolTip( geheimnisÄndern, "Account Geheimnis ändern.", zSchrift->getThis(), hauptScreen );
-	zVorLoginFenster->addMember( geheimnisÄndern );
-	fenster = initFenster( bildschirmmitte.x - 125, bildschirmmitte.y - 100, 250, 200, zSchrift, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "Geheimnis ändern" );
-	name = initTextFeld( 20, 20, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Name" );
-	name->setTastaturEreignisParameter( this );
-	name->setTastaturEreignis( geheimnisÄndernNameTE );
-	initToolTip( name, "Account Name.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( name );
-	passwort = initTextFeld( 20, 50, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Passwort" );
-	passwort->setTastaturEreignisParameter( this );
-	passwort->setTastaturEreignis( geheimnisÄndernPasswortTE );
-	initToolTip( passwort, "Account Passwort.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( passwort );
-	geheimnis = initTextFeld( 20, 80, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Geheimis" );
-	geheimnis->setTastaturEreignisParameter( this );
-	geheimnis->setTastaturEreignis( geheimnisÄndernGeheimnisTE );
-	initToolTip( geheimnis, "Account Geheimni.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( geheimnis );
-	nGeheimnis = initTextFeld( 20, 110, 208, 20, zSchrift, TextFeld::Style::TextFeld, "neues Geheimnis" );
-	nGeheimnis->setTastaturEreignisParameter( this );
-	nGeheimnis->setTastaturEreignis( geheimnisÄndernNGeheimnisTE );
-	initToolTip( nGeheimnis, "Neues Account Geheimnis.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( nGeheimnis );
-	weiter = initKnopf( 74, 140, 100, 20, zSchrift, Knopf::Style::Sichtbar, "weiter" );
-	weiter->setMausEreignisParameter( this );
-	weiter->setMausEreignis( geheimnisÄndernWeiterME );
-	nachricht = initTextFeld( 0, 5, 255, 150, zSchrift, TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig, "" );
-	fenster->addMember( nachricht );
-	fenster->addMember( weiter );
-	zVorLoginFenster->addMember( fenster );
-	ref = 1;
+    Punkt bildschirmmitte = Bildschirmmitte();
+    geheimnisÄndern = initKnopf( 10, 250, 130, 30, zSchrift, Knopf::Style::Sichtbar, "Geheimnis ändern" );
+    geheimnisÄndern->setMausEreignisParameter( this );
+    geheimnisÄndern->setMausEreignis( geheimnisÄndernGeheimnisÄndernME );
+    initToolTip( geheimnisÄndern, "Account Geheimnis ändern.", zSchrift->getThis(), hauptScreen );
+    zVorLoginFenster->addMember( geheimnisÄndern );
+    fenster = initFenster( bildschirmmitte.x - 125, bildschirmmitte.y - 100, 250, 200, zSchrift, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "Geheimnis ändern" );
+    name = initTextFeld( 20, 20, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Name" );
+    name->setTastaturEreignisParameter( this );
+    name->setTastaturEreignis( geheimnisÄndernNameTE );
+    initToolTip( name, "Account Name.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( name );
+    passwort = initTextFeld( 20, 50, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Passwort" );
+    passwort->setTastaturEreignisParameter( this );
+    passwort->setTastaturEreignis( geheimnisÄndernPasswortTE );
+    initToolTip( passwort, "Account Passwort.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( passwort );
+    geheimnis = initTextFeld( 20, 80, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Geheimis" );
+    geheimnis->setTastaturEreignisParameter( this );
+    geheimnis->setTastaturEreignis( geheimnisÄndernGeheimnisTE );
+    initToolTip( geheimnis, "Account Geheimni.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( geheimnis );
+    nGeheimnis = initTextFeld( 20, 110, 208, 20, zSchrift, TextFeld::Style::TextFeld, "neues Geheimnis" );
+    nGeheimnis->setTastaturEreignisParameter( this );
+    nGeheimnis->setTastaturEreignis( geheimnisÄndernNGeheimnisTE );
+    initToolTip( nGeheimnis, "Neues Account Geheimnis.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( nGeheimnis );
+    weiter = initKnopf( 74, 140, 100, 20, zSchrift, Knopf::Style::Sichtbar, "weiter" );
+    weiter->setMausEreignisParameter( this );
+    weiter->setMausEreignis( geheimnisÄndernWeiterME );
+    nachricht = initTextFeld( 0, 5, 255, 150, zSchrift, TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig, "" );
+    fenster->addMember( nachricht );
+    fenster->addMember( weiter );
+    zVorLoginFenster->addMember( fenster );
+    ref = 1;
 }
 
 // Destruktor
 GeheimnisÄndern::~GeheimnisÄndern()
 {
-	if( geheimnisÄndern )
-		geheimnisÄndern = geheimnisÄndern->release();
-	if( fenster )
-		fenster = fenster->release();
-	if( name )
-		name = name->release();
-	if( passwort )
-		passwort = passwort->release();
-	if( geheimnis )
-		geheimnis = geheimnis->release();
-	if( nGeheimnis )
-		nGeheimnis = nGeheimnis->release();
-	if( weiter )
-		weiter = weiter->release();
-	if( nachricht )
-		nachricht = nachricht->release();
+    if( geheimnisÄndern )
+        geheimnisÄndern = (Knopf *)geheimnisÄndern->release();
+    if( fenster )
+        fenster = (Fenster *)fenster->release();
+    if( name )
+        name = (TextFeld *)name->release();
+    if( passwort )
+        passwort = (TextFeld *)passwort->release();
+    if( geheimnis )
+        geheimnis = (TextFeld *)geheimnis->release();
+    if( nGeheimnis )
+        nGeheimnis = (TextFeld *)nGeheimnis->release();
+    if( weiter )
+        weiter = (Knopf *)weiter->release();
+    if( nachricht )
+        nachricht = (TextFeld *)nachricht->release();
 }
 
 // Privat
 void GeheimnisÄndern::zeigeNachricht( const char *txt )
 {
-	Punkt bildschirmmitte = Bildschirmmitte();
-	name->removeStyle( TextFeld::Style::Sichtbar );
-	passwort->removeStyle( TextFeld::Style::Sichtbar );
-	geheimnis->removeStyle( TextFeld::Style::Sichtbar );
-	nGeheimnis->removeStyle( TextFeld::Style::Sichtbar );
-	fenster->setSize( 250, 150 );
-	fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 75 );
-	weiter->setPosition( 139, 100 );
-	weiter->setText( "Ok" );
-	nachricht->setText( txt );
-	if( nachricht->zText()->getLength() > 30 )
-	{
-		int pos = -1;
-		bool set = 0;
-		int lastp = 0;
-		for( int i = 20; i < nachricht->zText()->getLength(); )
-		{
-			char *tmp = &nachricht->zText()->getText()[ i ];
-			while( *tmp != ' ' && i < nachricht->zText()->getLength() )
-			{
-				tmp++;
-				i++;
-				if( i - 30 >= lastp )
-				{
-					if( set )
-					{
-						lastp = pos;
-						set = 0;
-						nachricht->zText()->getText()[ pos ] = '\n';
-					}
-					else
-						lastp += 5;
-				}
-			}
-			if( i < nachricht->zText()->getLength() )
-			{
-				pos = i;
-				set = 1;
-				tmp++;
-				i++;
-			}
-		}
-	}
-	nachricht->addStyle( TextFeld::Style::Sichtbar );
+    Punkt bildschirmmitte = Bildschirmmitte();
+    name->removeStyle( TextFeld::Style::Sichtbar );
+    passwort->removeStyle( TextFeld::Style::Sichtbar );
+    geheimnis->removeStyle( TextFeld::Style::Sichtbar );
+    nGeheimnis->removeStyle( TextFeld::Style::Sichtbar );
+    fenster->setSize( 250, 150 );
+    fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 75 );
+    weiter->setPosition( 139, 100 );
+    weiter->setText( "Ok" );
+    nachricht->setText( txt );
+    if( nachricht->zText()->getLength() > 30 )
+    {
+        int pos = -1;
+        bool set = 0;
+        int lastp = 0;
+        for( int i = 20; i < nachricht->zText()->getLength(); )
+        {
+            char *tmp = &nachricht->zText()->getText()[ i ];
+            while( *tmp != ' ' && i < nachricht->zText()->getLength() )
+            {
+                tmp++;
+                i++;
+                if( i - 30 >= lastp )
+                {
+                    if( set )
+                    {
+                        lastp = pos;
+                        set = 0;
+                        nachricht->zText()->getText()[ pos ] = '\n';
+                    }
+                    else
+                        lastp += 5;
+                }
+            }
+            if( i < nachricht->zText()->getLength() )
+            {
+                pos = i;
+                set = 1;
+                tmp++;
+                i++;
+            }
+        }
+    }
+    nachricht->addStyle( TextFeld::Style::Sichtbar );
 }
 
 // Knopfdruck
 void GeheimnisÄndern::druckFremdKnopf() // Ein anderer Knopf wurde gedrückt
 {
-	fenster->removeStyle( Fenster::Style::Sichtbar );
-	geheimnisÄndern->setRahmenBreite( 2 );
-	geheimnisÄndern->setAlphaFeldFarbe( 0x5500FF00 );
-	geheimnisÄndern->setAlphaFeldStrength( -5 );
+    fenster->removeStyle( Fenster::Style::Sichtbar );
+    geheimnisÄndern->setRahmenBreite( 2 );
+    geheimnisÄndern->setAlphaFeldFarbe( 0x5500FF00 );
+    geheimnisÄndern->setAlphaFeldStrength( -5 );
 }
 
 bool GeheimnisÄndern::geheimnisÄndernME( void *obj, MausEreignis me ) // MausEreignis im Knopf geheimnisÄndern
 {
-	if( me.id == ME_RLinks )
-	{
-		vorLogin->setGeheimnisÄndern();
-
-		geheimnisÄndern->setRahmenBreite( 3 );
-		geheimnisÄndern->setAlphaFeldFarbe( 0xFF000000 );
-		geheimnisÄndern->setAlphaFeldStrength( 20 );
-		Punkt bildschirmmitte = Bildschirmmitte();
-		fenster->setSize( 255, 200 );
-		fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 100 );
-		fenster->addStyle( Fenster::Style::Sichtbar );
-		nachricht->removeStyle( TextFeld::Style::Sichtbar );
-		weiter->setText( "weiter" );
-		weiter->setPosition( 75, 140 );
-		name->addStyle( TextFeld::Style::Sichtbar );
-		passwort->addStyle( TextFeld::Style::Sichtbar );
-		geheimnis->addStyle( TextFeld::Style::Sichtbar );
-		nGeheimnis->addStyle( TextFeld::Style::Sichtbar );
-		name->addStyle( TextFeld::Style::Fokus );
-		name->setAuswahl( name->zText()->getLength(), 0 );
-	}
-	return 1;
+    if( me.id == ME_RLinks )
+    {
+        vorLogin->setGeheimnisÄndern();
+
+        geheimnisÄndern->setRahmenBreite( 3 );
+        geheimnisÄndern->setAlphaFeldFarbe( 0xFF000000 );
+        geheimnisÄndern->setAlphaFeldStrength( 20 );
+        Punkt bildschirmmitte = Bildschirmmitte();
+        fenster->setSize( 255, 200 );
+        fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 100 );
+        fenster->addStyle( Fenster::Style::Sichtbar );
+        nachricht->removeStyle( TextFeld::Style::Sichtbar );
+        weiter->setText( "weiter" );
+        weiter->setPosition( 75, 140 );
+        name->addStyle( TextFeld::Style::Sichtbar );
+        passwort->addStyle( TextFeld::Style::Sichtbar );
+        geheimnis->addStyle( TextFeld::Style::Sichtbar );
+        nGeheimnis->addStyle( TextFeld::Style::Sichtbar );
+        name->addStyle( TextFeld::Style::Fokus );
+        name->setAuswahl( name->zText()->getLength(), 0 );
+    }
+    return 1;
 }
 
 bool GeheimnisÄndern::nameTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld name
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
-	{
-		name->removeStyle( TextFeld::Style::Fokus );
-		passwort->addStyle( TextFeld::Style::Fokus );
-		passwort->setAuswahl( passwort->zText()->getLength(), 0 );
-	}
-	if( name->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
+    {
+        name->removeStyle( TextFeld::Style::Fokus );
+        passwort->addStyle( TextFeld::Style::Fokus );
+        passwort->setAuswahl( passwort->zText()->getLength(), 0 );
+    }
+    if( name->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool GeheimnisÄndern::passwortTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld passwort
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Press )
-		passwort->setSchowChar( '*' );
-	if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
-	{
-		passwort->removeStyle( TextFeld::Style::Fokus );
-		geheimnis->addStyle( TextFeld::Style::Fokus );
-		geheimnis->setAuswahl( geheimnis->zText()->getLength(), 0 );
-	}
-	if( passwort->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Press )
+        passwort->setSchowChar( '*' );
+    if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
+    {
+        passwort->removeStyle( TextFeld::Style::Fokus );
+        geheimnis->addStyle( TextFeld::Style::Fokus );
+        geheimnis->setAuswahl( geheimnis->zText()->getLength(), 0 );
+    }
+    if( passwort->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool GeheimnisÄndern::geheimnisTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld geheimnis
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Press )
-		geheimnis->setSchowChar( '*' );
-	if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
-	{
-		geheimnis->removeStyle( TextFeld::Style::Fokus );
-		nGeheimnis->addStyle( TextFeld::Style::Fokus );
-		nGeheimnis->setAuswahl( nGeheimnis->zText()->getLength(), 0 );
-	}
-	if( geheimnis->zText()->getLength() >= 50 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Press )
+        geheimnis->setSchowChar( '*' );
+    if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
+    {
+        geheimnis->removeStyle( TextFeld::Style::Fokus );
+        nGeheimnis->addStyle( TextFeld::Style::Fokus );
+        nGeheimnis->setAuswahl( nGeheimnis->zText()->getLength(), 0 );
+    }
+    if( geheimnis->zText()->getLength() >= 50 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool GeheimnisÄndern::nGeheimnisTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld nGeheimnis
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Release && te.taste == T_Enter )
-	{
-		nGeheimnis->removeStyle( TextFeld::Style::Fokus );
-		MausEreignis me;
-		me.id = ME_RLinks;
-		weiterME( 0, me );
-	}
-	if( nGeheimnis->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Release && te.taste == T_Enter )
+    {
+        nGeheimnis->removeStyle( TextFeld::Style::Fokus );
+        MausEreignis me;
+        me.id = ME_RLinks;
+        weiterME( 0, me );
+    }
+    if( nGeheimnis->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool GeheimnisÄndern::weiterME( void *obj, MausEreignis me ) // MausEreignis im Knopf weiter
 {
-	if( me.id == ME_RLinks )
-	{
-		if( weiter->zText()->istGleich( "weiter" ) )
-		{
-			if( name->zText()->getLength() == 0 )
-				zeigeNachricht( "Bitte gebe deinen Accountnamen ein." );
-			if( passwort->zText()->getLength() == 0 )
-				zeigeNachricht( "Bitte gebe dein Accountpasswort ein." );
-			if( geheimnis->zText()->getLength() == 0 )
-				zeigeNachricht( "Bitte gebe dein Accountgeheimnis ein." );
-			if( nGeheimnis->zText()->getLength() == 0 )
-				zeigeNachricht( "Bitte gebe ein neues Accountgeheimnis ein." );
-			if( weiter->zText()->istGleich( "Ok" ) )
-				return 1;
-			new AktionsThread( 10, name->zText()->getText(), passwort->zText()->getText(), geheimnis->zText()->getText(), nGeheimnis->zText()->getText(), 0 );
-		}
-		else
-		{
-			Punkt bildschirmmitte = Bildschirmmitte();
-			fenster->setSize( 255, 200 );
-			fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 100 );
-			fenster->addStyle( Fenster::Style::Sichtbar );
-			nachricht->removeStyle( TextFeld::Style::Sichtbar );
-			weiter->setText( "weiter" );
-			weiter->setPosition( 75, 140 );
-			name->addStyle( TextFeld::Style::Sichtbar );
-			passwort->addStyle( TextFeld::Style::Sichtbar );
-			geheimnis->addStyle( TextFeld::Style::Sichtbar );
-			nGeheimnis->addStyle( TextFeld::Style::Sichtbar );
-			name->addStyle( TextFeld::Style::Fokus );
-			name->setAuswahl( name->zText()->getLength(), 0 );
-		}
-	}
-	return 1;
+    if( me.id == ME_RLinks )
+    {
+        if( weiter->zText()->istGleich( "weiter" ) )
+        {
+            if( name->zText()->getLength() == 0 )
+                zeigeNachricht( "Bitte gebe deinen Accountnamen ein." );
+            if( passwort->zText()->getLength() == 0 )
+                zeigeNachricht( "Bitte gebe dein Accountpasswort ein." );
+            if( geheimnis->zText()->getLength() == 0 )
+                zeigeNachricht( "Bitte gebe dein Accountgeheimnis ein." );
+            if( nGeheimnis->zText()->getLength() == 0 )
+                zeigeNachricht( "Bitte gebe ein neues Accountgeheimnis ein." );
+            if( weiter->zText()->istGleich( "Ok" ) )
+                return 1;
+            new AktionsThread( 10, name->zText()->getText(), passwort->zText()->getText(), geheimnis->zText()->getText(), nGeheimnis->zText()->getText(), 0 );
+        }
+        else
+        {
+            Punkt bildschirmmitte = Bildschirmmitte();
+            fenster->setSize( 255, 200 );
+            fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 100 );
+            fenster->addStyle( Fenster::Style::Sichtbar );
+            nachricht->removeStyle( TextFeld::Style::Sichtbar );
+            weiter->setText( "weiter" );
+            weiter->setPosition( 75, 140 );
+            name->addStyle( TextFeld::Style::Sichtbar );
+            passwort->addStyle( TextFeld::Style::Sichtbar );
+            geheimnis->addStyle( TextFeld::Style::Sichtbar );
+            nGeheimnis->addStyle( TextFeld::Style::Sichtbar );
+            name->addStyle( TextFeld::Style::Fokus );
+            name->setAuswahl( name->zText()->getLength(), 0 );
+        }
+    }
+    return 1;
 }
 
 void GeheimnisÄndern::setResult( bool ret ) // Setzt den Returnwert
 {
-	if( ret )
-		zeigeNachricht( "Geheimnis erfolgreich geändert." );
-	else if( lastError.getLength() )
-		zeigeNachricht( lastError );
-	else
-		zeigeNachricht( "Es ist ein Unbekannter Fehler aufgetreten." );
+    if( ret )
+        zeigeNachricht( "Geheimnis erfolgreich geändert." );
+    else if( lastError.getLength() )
+        zeigeNachricht( lastError );
+    else
+        zeigeNachricht( "Es ist ein Unbekannter Fehler aufgetreten." );
 }
 
 // Reference Counting
-GeheimnisÄndern *GeheimnisÄndern::getThis()
+GeheimnisÄndern * GeheimnisÄndern::getThis()
 {
-	ref++;
-	return 0;
+    ref++;
+    return 0;
 }
 
 GeheimnisÄndern *GeheimnisÄndern::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 
 // Inhalt der GeheimnisVergessen Klasse aus Geheimnis.h
 // Konstruktor
-GeheimnisVergessen::GeheimnisVergessen( Schrift *zSchrift, Fenster *zVorLoginFenster )
-{
-	Punkt bildschirmmitte = Bildschirmmitte();
-	geheimnisVergessen = initKnopf( 10, 370, 130, 30, zSchrift, Knopf::Style::Sichtbar, "Geheimnis vergessen" );
-	geheimnisVergessen->setMausEreignisParameter( this );
-	geheimnisVergessen->setMausEreignis( geheimnisVergessenGeheimnisVergessenME );
-	initToolTip( geheimnisVergessen, "Account Geheimnis per E-Mail senden.", zSchrift->getThis(), hauptScreen );
-	zVorLoginFenster->addMember( geheimnisVergessen );
-	fenster = initFenster( bildschirmmitte.x - 125, bildschirmmitte.y - 70, 250, 140, zSchrift, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "Geheimnis vergessen" );
-	name = initTextFeld( 20, 20, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Name" );
-	name->setTastaturEreignisParameter( this );
-	name->setTastaturEreignis( geheimnisVergessenNameTE );
-	initToolTip( name, "Account Name.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( name );
-	passwort = initTextFeld( 20, 50, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Passwort" );
-	passwort->setTastaturEreignisParameter( this );
-	passwort->setTastaturEreignis( geheimnisVergessenPasswortTE );
-	initToolTip( passwort, "Account Passwort.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( passwort );
-	weiter = initKnopf( 74, 80, 100, 20, zSchrift, Knopf::Style::Sichtbar, "weiter" );
-	weiter->setMausEreignisParameter( this );
-	weiter->setMausEreignis( geheimnisVergessenWeiterME );
-	nachricht = initTextFeld( 0, 5, 255, 150, zSchrift, TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig, "" );
-	fenster->addMember( nachricht );
-	fenster->addMember( weiter );
-	zVorLoginFenster->addMember( fenster );
-	ref = 1;
+GeheimnisVergessen::GeheimnisVergessen( Schrift * zSchrift, Fenster * zVorLoginFenster )
+{
+    Punkt bildschirmmitte = Bildschirmmitte();
+    geheimnisVergessen = initKnopf( 10, 370, 130, 30, zSchrift, Knopf::Style::Sichtbar, "Geheimnis vergessen" );
+    geheimnisVergessen->setMausEreignisParameter( this );
+    geheimnisVergessen->setMausEreignis( geheimnisVergessenGeheimnisVergessenME );
+    initToolTip( geheimnisVergessen, "Account Geheimnis per E-Mail senden.", zSchrift->getThis(), hauptScreen );
+    zVorLoginFenster->addMember( geheimnisVergessen );
+    fenster = initFenster( bildschirmmitte.x - 125, bildschirmmitte.y - 70, 250, 140, zSchrift, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "Geheimnis vergessen" );
+    name = initTextFeld( 20, 20, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Name" );
+    name->setTastaturEreignisParameter( this );
+    name->setTastaturEreignis( geheimnisVergessenNameTE );
+    initToolTip( name, "Account Name.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( name );
+    passwort = initTextFeld( 20, 50, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Passwort" );
+    passwort->setTastaturEreignisParameter( this );
+    passwort->setTastaturEreignis( geheimnisVergessenPasswortTE );
+    initToolTip( passwort, "Account Passwort.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( passwort );
+    weiter = initKnopf( 74, 80, 100, 20, zSchrift, Knopf::Style::Sichtbar, "weiter" );
+    weiter->setMausEreignisParameter( this );
+    weiter->setMausEreignis( geheimnisVergessenWeiterME );
+    nachricht = initTextFeld( 0, 5, 255, 150, zSchrift, TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig, "" );
+    fenster->addMember( nachricht );
+    fenster->addMember( weiter );
+    zVorLoginFenster->addMember( fenster );
+    ref = 1;
 }
 
 // Destruktor
 GeheimnisVergessen::~GeheimnisVergessen()
 {
-	if( geheimnisVergessen )
-		geheimnisVergessen = geheimnisVergessen->release();
-	if( fenster )
-		fenster = fenster->release();
-	if( name )
-		name = name->release();
-	if( passwort )
-		passwort = passwort->release();
-	if( weiter )
-		weiter = weiter->release();
-	if( nachricht )
-		nachricht = nachricht->release();
+    if( geheimnisVergessen )
+        geheimnisVergessen = (Knopf *)geheimnisVergessen->release();
+    if( fenster )
+        fenster = (Fenster *)fenster->release();
+    if( name )
+        name = (TextFeld *)name->release();
+    if( passwort )
+        passwort = (TextFeld *)passwort->release();
+    if( weiter )
+        weiter = (Knopf *)weiter->release();
+    if( nachricht )
+        nachricht = (TextFeld *)nachricht->release();
 }
 
 // Privat
 void GeheimnisVergessen::zeigeNachricht( const char *txt )
 {
-	Punkt bildschirmmitte = Bildschirmmitte();
-	name->removeStyle( TextFeld::Style::Sichtbar );
-	passwort->removeStyle( TextFeld::Style::Sichtbar );
-	fenster->setSize( 250, 150 );
-	fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 75 );
-	weiter->setPosition( 139, 100 );
-	weiter->setText( "Ok" );
-	nachricht->setText( txt );
-	if( nachricht->zText()->getLength() > 30 )
-	{
-		int pos = -1;
-		bool set = 0;
-		int lastp = 0;
-		for( int i = 20; i < nachricht->zText()->getLength(); )
-		{
-			char *tmp = &nachricht->zText()->getText()[ i ];
-			while( *tmp != ' ' && i < nachricht->zText()->getLength() )
-			{
-				tmp++;
-				i++;
-				if( i - 30 >= lastp )
-				{
-					if( set )
-					{
-						lastp = pos;
-						set = 0;
-						nachricht->zText()->getText()[ pos ] = '\n';
-					}
-					else
-						lastp += 5;
-				}
-			}
-			if( i < nachricht->zText()->getLength() )
-			{
-				pos = i;
-				set = 1;
-				tmp++;
-				i++;
-			}
-		}
-	}
-	nachricht->addStyle( TextFeld::Style::Sichtbar );
+    Punkt bildschirmmitte = Bildschirmmitte();
+    name->removeStyle( TextFeld::Style::Sichtbar );
+    passwort->removeStyle( TextFeld::Style::Sichtbar );
+    fenster->setSize( 250, 150 );
+    fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 75 );
+    weiter->setPosition( 139, 100 );
+    weiter->setText( "Ok" );
+    nachricht->setText( txt );
+    if( nachricht->zText()->getLength() > 30 )
+    {
+        int pos = -1;
+        bool set = 0;
+        int lastp = 0;
+        for( int i = 20; i < nachricht->zText()->getLength(); )
+        {
+            char *tmp = &nachricht->zText()->getText()[ i ];
+            while( *tmp != ' ' && i < nachricht->zText()->getLength() )
+            {
+                tmp++;
+                i++;
+                if( i - 30 >= lastp )
+                {
+                    if( set )
+                    {
+                        lastp = pos;
+                        set = 0;
+                        nachricht->zText()->getText()[ pos ] = '\n';
+                    }
+                    else
+                        lastp += 5;
+                }
+            }
+            if( i < nachricht->zText()->getLength() )
+            {
+                pos = i;
+                set = 1;
+                tmp++;
+                i++;
+            }
+        }
+    }
+    nachricht->addStyle( TextFeld::Style::Sichtbar );
 }
 
 // Knopfdruck
 void GeheimnisVergessen::druckFremdKnopf() // Ein anderer Knopf wurde gedrückt
 {
-	fenster->removeStyle( Fenster::Style::Sichtbar );
-	geheimnisVergessen->setRahmenBreite( 2 );
-	geheimnisVergessen->setAlphaFeldFarbe( 0x5500FF00 );
-	geheimnisVergessen->setAlphaFeldStrength( -5 );
+    fenster->removeStyle( Fenster::Style::Sichtbar );
+    geheimnisVergessen->setRahmenBreite( 2 );
+    geheimnisVergessen->setAlphaFeldFarbe( 0x5500FF00 );
+    geheimnisVergessen->setAlphaFeldStrength( -5 );
 }
 
 bool GeheimnisVergessen::geheimnisVergessenME( void *obj, MausEreignis me ) // MausEreignis im Knopf geheimnisVergessen
 {
-	if( me.id == ME_RLinks )
-	{
-		vorLogin->setGeheilnisVergessen();
-
-		geheimnisVergessen->setRahmenBreite( 3 );
-		geheimnisVergessen->setAlphaFeldFarbe( 0xFF000000 );
-		geheimnisVergessen->setAlphaFeldStrength( 20 );
-		Punkt bildschirmmitte = Bildschirmmitte();
-		fenster->setSize( 255, 140 );
-		fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 70 );
-		fenster->addStyle( Fenster::Style::Sichtbar );
-		nachricht->removeStyle( TextFeld::Style::Sichtbar );
-		weiter->setText( "weiter" );
-		weiter->setPosition( 75, 80 );
-		name->addStyle( TextFeld::Style::Sichtbar );
-		passwort->addStyle( TextFeld::Style::Sichtbar );
-		name->addStyle( TextFeld::Style::Fokus );
-		name->setAuswahl( name->zText()->getLength(), 0 );
-	}
-	return 1;
+    if( me.id == ME_RLinks )
+    {
+        vorLogin->setGeheilnisVergessen();
+
+        geheimnisVergessen->setRahmenBreite( 3 );
+        geheimnisVergessen->setAlphaFeldFarbe( 0xFF000000 );
+        geheimnisVergessen->setAlphaFeldStrength( 20 );
+        Punkt bildschirmmitte = Bildschirmmitte();
+        fenster->setSize( 255, 140 );
+        fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 70 );
+        fenster->addStyle( Fenster::Style::Sichtbar );
+        nachricht->removeStyle( TextFeld::Style::Sichtbar );
+        weiter->setText( "weiter" );
+        weiter->setPosition( 75, 80 );
+        name->addStyle( TextFeld::Style::Sichtbar );
+        passwort->addStyle( TextFeld::Style::Sichtbar );
+        name->addStyle( TextFeld::Style::Fokus );
+        name->setAuswahl( name->zText()->getLength(), 0 );
+    }
+    return 1;
 }
 
 bool GeheimnisVergessen::nameTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld name
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
-	{
-		name->removeStyle( TextFeld::Style::Fokus );
-		passwort->addStyle( TextFeld::Style::Fokus );
-		passwort->setAuswahl( passwort->zText( )->getLength( ), 0 );
-	}
-	if( name->zText( )->getLength( ) >= 25 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
+    {
+        name->removeStyle( TextFeld::Style::Fokus );
+        passwort->addStyle( TextFeld::Style::Fokus );
+        passwort->setAuswahl( passwort->zText()->getLength(), 0 );
+    }
+    if( name->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool GeheimnisVergessen::passwortTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld passwort
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Press )
-		passwort->setSchowChar( '*' );
-	if( te.id == TE_Release && te.taste == T_Enter )
-	{
-		passwort->removeStyle( TextFeld::Style::Fokus );
-		MausEreignis me;
-		me.id = ME_RLinks;
-		weiterME( 0, me );
-	}
-	if( passwort->zText( )->getLength( ) >= 25 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Press )
+        passwort->setSchowChar( '*' );
+    if( te.id == TE_Release && te.taste == T_Enter )
+    {
+        passwort->removeStyle( TextFeld::Style::Fokus );
+        MausEreignis me;
+        me.id = ME_RLinks;
+        weiterME( 0, me );
+    }
+    if( passwort->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool GeheimnisVergessen::weiterME( void *obj, MausEreignis me ) // MausEreignis im Knopf weiter
 {
-	if( me.id == ME_RLinks )
-	{
-		if( weiter->zText()->istGleich( "weiter" ) )
-		{
-			if( name->zText()->getLength() == 0 )
-				zeigeNachricht( "Bitte gebe deinen Accountnamen ein." );
-			if( passwort->zText()->getLength() == 0 )
-				zeigeNachricht( "Bitte gebe dein Accountpasswort ein." );
-			if( weiter->zText()->istGleich( "Ok" ) )
-				return 1;
-			new AktionsThread( 11, name->zText()->getText(), passwort->zText()->getText(), 0, 0, 0 );
-		}
-		else
-		{
-			Punkt bildschirmmitte = Bildschirmmitte();
-			fenster->setSize( 255, 140 );
-			fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 70 );
-			fenster->addStyle( Fenster::Style::Sichtbar );
-			nachricht->removeStyle( TextFeld::Style::Sichtbar );
-			weiter->setText( "weiter" );
-			weiter->setPosition( 75, 80 );
-			name->addStyle( TextFeld::Style::Sichtbar );
-			passwort->addStyle( TextFeld::Style::Sichtbar );
-			name->addStyle( TextFeld::Style::Fokus );
-			name->setAuswahl( name->zText()->getLength(), 0 );
-		}
-	}
-	return 1;
+    if( me.id == ME_RLinks )
+    {
+        if( weiter->zText()->istGleich( "weiter" ) )
+        {
+            if( name->zText()->getLength() == 0 )
+                zeigeNachricht( "Bitte gebe deinen Accountnamen ein." );
+            if( passwort->zText()->getLength() == 0 )
+                zeigeNachricht( "Bitte gebe dein Accountpasswort ein." );
+            if( weiter->zText()->istGleich( "Ok" ) )
+                return 1;
+            new AktionsThread( 11, name->zText()->getText(), passwort->zText()->getText(), 0, 0, 0 );
+        }
+        else
+        {
+            Punkt bildschirmmitte = Bildschirmmitte();
+            fenster->setSize( 255, 140 );
+            fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 70 );
+            fenster->addStyle( Fenster::Style::Sichtbar );
+            nachricht->removeStyle( TextFeld::Style::Sichtbar );
+            weiter->setText( "weiter" );
+            weiter->setPosition( 75, 80 );
+            name->addStyle( TextFeld::Style::Sichtbar );
+            passwort->addStyle( TextFeld::Style::Sichtbar );
+            name->addStyle( TextFeld::Style::Fokus );
+            name->setAuswahl( name->zText()->getLength(), 0 );
+        }
+    }
+    return 1;
 }
 
 void GeheimnisVergessen::setResult( bool ret ) // Setzt den Returnwert
 {
-	if( ret )
-		zeigeNachricht( "Dir wurde eine E-Mail mit deinem Accountgeheimnis gesendet." );
-	else if( lastError.getLength() )
-		zeigeNachricht( lastError );
-	else
-		zeigeNachricht( "Es ist ein Unbekannter Fehler aufgetreten." );
+    if( ret )
+        zeigeNachricht( "Dir wurde eine E-Mail mit deinem Accountgeheimnis gesendet." );
+    else if( lastError.getLength() )
+        zeigeNachricht( lastError );
+    else
+        zeigeNachricht( "Es ist ein Unbekannter Fehler aufgetreten." );
 }
 
 // Reference Counting
-GeheimnisVergessen *GeheimnisVergessen::getThis()
+GeheimnisVergessen * GeheimnisVergessen::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 GeheimnisVergessen *GeheimnisVergessen::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 
 // messages
 bool geheimnisÄndernGeheimnisÄndernME( void *p, void *obj, MausEreignis me )
 {
-	if( !p )
-		return 0;
-	return ( (GeheimnisÄndern*)p )->geheimnisÄndernME( obj, me );
+    if( !p )
+        return 0;
+    return ( (GeheimnisÄndern *)p )->geheimnisÄndernME( obj, me );
 }
 
 bool geheimnisÄndernNameTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (GeheimnisÄndern*)p )->nameTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (GeheimnisÄndern *)p )->nameTE( obj, te );
 }
 
 bool geheimnisÄndernPasswortTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (GeheimnisÄndern*)p )->passwortTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (GeheimnisÄndern *)p )->passwortTE( obj, te );
 }
 
 bool geheimnisÄndernGeheimnisTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (GeheimnisÄndern*)p )->geheimnisTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (GeheimnisÄndern *)p )->geheimnisTE( obj, te );
 }
 
 bool geheimnisÄndernNGeheimnisTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (GeheimnisÄndern*)p )->nGeheimnisTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (GeheimnisÄndern *)p )->nGeheimnisTE( obj, te );
 }
 
 bool geheimnisÄndernWeiterME( void *p, void *obj, MausEreignis me )
 {
-	if( !p )
-		return 0;
-	return ( (GeheimnisÄndern*)p )->weiterME( obj, me );
+    if( !p )
+        return 0;
+    return ( (GeheimnisÄndern *)p )->weiterME( obj, me );
 }
 
 
 bool geheimnisVergessenGeheimnisVergessenME( void *p, void *obj, MausEreignis me )
 {
-	if( !p )
-		return 0;
-	return ( (GeheimnisVergessen*)p )->geheimnisVergessenME( obj, me );
+    if( !p )
+        return 0;
+    return ( (GeheimnisVergessen *)p )->geheimnisVergessenME( obj, me );
 }
 
 bool geheimnisVergessenNameTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (GeheimnisVergessen*)p )->nameTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (GeheimnisVergessen *)p )->nameTE( obj, te );
 }
 
 bool geheimnisVergessenPasswortTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (GeheimnisVergessen*)p )->passwortTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (GeheimnisVergessen *)p )->passwortTE( obj, te );
 }
 
 bool geheimnisVergessenWeiterME( void *p, void *obj, MausEreignis me )
 {
-	if( !p )
-		return 0;
-	return ( (GeheimnisVergessen*)p )->weiterME( obj, me );
+    if( !p )
+        return 0;
+    return ( (GeheimnisVergessen *)p )->weiterME( obj, me );
 }

+ 181 - 181
KSGClient/VorLogin/Account verwalten/Name.cpp

@@ -8,246 +8,246 @@
 // Konstruktor
 NameVergessen::NameVergessen( Schrift *zSchrift, Fenster *zVorLoginFenster )
 {
-	Punkt bildschirmmitte = Bildschirmmitte();
-	nameVergessen = initKnopf( 10, 290, 130, 30, zSchrift, Knopf::Style::Sichtbar, "Name vergessen" );
-	nameVergessen->setMausEreignisParameter( this );
-	nameVergessen->setMausEreignis( nameVergessenNameVergessenME );
-	initToolTip( nameVergessen, "Accoutnt Name per E-MAil senden.", zSchrift->getThis(), hauptScreen );
-	zVorLoginFenster->addMember( nameVergessen );
-	fenster = initFenster( bildschirmmitte.x - 125, bildschirmmitte.y - 70, 250, 140, zSchrift, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "Name vergessen" );
-	passwort = initTextFeld( 20, 20, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Passwort" );
-	passwort->setTastaturEreignisParameter( this );
-	passwort->setTastaturEreignis( nameVergessenPasswortTE );
-	initToolTip( passwort, "Accoutnt Passwort.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( passwort );
-	geheimnis = initTextFeld( 20, 50, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Geheimis" );
-	geheimnis->setTastaturEreignisParameter( this );
-	geheimnis->setTastaturEreignis( nameVergessenGeheimnisTE );
-	initToolTip( geheimnis, "Account Geheimnis.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( geheimnis );
-	weiter = initKnopf( 74, 80, 100, 20, zSchrift, Knopf::Style::Sichtbar, "weiter" );
-	weiter->setMausEreignisParameter( this );
-	weiter->setMausEreignis( nameVergessenWeiterME );
-	nachricht = initTextFeld( 0, 5, 255, 150, zSchrift, TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig, "" );
-	fenster->addMember( nachricht );
-	fenster->addMember( weiter );
-	zVorLoginFenster->addMember( fenster );
-	ref = 1;
+    Punkt bildschirmmitte = Bildschirmmitte();
+    nameVergessen = initKnopf( 10, 290, 130, 30, zSchrift, Knopf::Style::Sichtbar, "Name vergessen" );
+    nameVergessen->setMausEreignisParameter( this );
+    nameVergessen->setMausEreignis( nameVergessenNameVergessenME );
+    initToolTip( nameVergessen, "Accoutnt Name per E-MAil senden.", zSchrift->getThis(), hauptScreen );
+    zVorLoginFenster->addMember( nameVergessen );
+    fenster = initFenster( bildschirmmitte.x - 125, bildschirmmitte.y - 70, 250, 140, zSchrift, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "Name vergessen" );
+    passwort = initTextFeld( 20, 20, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Passwort" );
+    passwort->setTastaturEreignisParameter( this );
+    passwort->setTastaturEreignis( nameVergessenPasswortTE );
+    initToolTip( passwort, "Accoutnt Passwort.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( passwort );
+    geheimnis = initTextFeld( 20, 50, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Geheimis" );
+    geheimnis->setTastaturEreignisParameter( this );
+    geheimnis->setTastaturEreignis( nameVergessenGeheimnisTE );
+    initToolTip( geheimnis, "Account Geheimnis.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( geheimnis );
+    weiter = initKnopf( 74, 80, 100, 20, zSchrift, Knopf::Style::Sichtbar, "weiter" );
+    weiter->setMausEreignisParameter( this );
+    weiter->setMausEreignis( nameVergessenWeiterME );
+    nachricht = initTextFeld( 0, 5, 255, 150, zSchrift, TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig, "" );
+    fenster->addMember( nachricht );
+    fenster->addMember( weiter );
+    zVorLoginFenster->addMember( fenster );
+    ref = 1;
 }
 
 // Destruktor
 NameVergessen::~NameVergessen()
 {
-	if( nameVergessen )
-		nameVergessen = nameVergessen->release();
-	if( fenster )
-		fenster = fenster->release();
-	if( passwort )
-		passwort = passwort->release();
-	if( geheimnis )
-		geheimnis = geheimnis->release();
-	if( weiter )
-		weiter = weiter->release();
-	if( nachricht )
-		nachricht = nachricht->release();
+    if( nameVergessen )
+        nameVergessen = (Knopf *)nameVergessen->release();
+    if( fenster )
+        fenster = (Fenster *)fenster->release();
+    if( passwort )
+        passwort = (TextFeld *)passwort->release();
+    if( geheimnis )
+        geheimnis = (TextFeld *)geheimnis->release();
+    if( weiter )
+        weiter = (Knopf *)weiter->release();
+    if( nachricht )
+        nachricht = (TextFeld *)nachricht->release();
 }
 
 // Privat
 void NameVergessen::zeigeNachricht( const char *txt )
 {
-	Punkt bildschirmmitte = Bildschirmmitte();
-	passwort->removeStyle( TextFeld::Style::Sichtbar );
-	geheimnis->removeStyle( TextFeld::Style::Sichtbar );
-	fenster->setSize( 250, 150 );
-	fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 75 );
-	weiter->setPosition( 139, 100 );
-	weiter->setText( "Ok" );
-	nachricht->setText( txt );
-	if( nachricht->zText()->getLength() > 30 )
-	{
-		int pos = -1;
-		bool set = 0;
-		int lastp = 0;
-		for( int i = 20; i < nachricht->zText()->getLength(); )
-		{
-			char *tmp = &nachricht->zText()->getText()[ i ];
-			while( *tmp != ' ' && i < nachricht->zText()->getLength() )
-			{
-				tmp++;
-				i++;
-				if( i - 30 >= lastp )
-				{
-					if( set )
-					{
-						lastp = pos;
-						set = 0;
-						nachricht->zText()->getText()[ pos ] = '\n';
-					}
-					else
-						lastp += 5;
-				}
-			}
-			if( i < nachricht->zText()->getLength() )
-			{
-				pos = i;
-				set = 1;
-				tmp++;
-				i++;
-			}
-		}
-	}
-	nachricht->addStyle( TextFeld::Style::Sichtbar );
+    Punkt bildschirmmitte = Bildschirmmitte();
+    passwort->removeStyle( TextFeld::Style::Sichtbar );
+    geheimnis->removeStyle( TextFeld::Style::Sichtbar );
+    fenster->setSize( 250, 150 );
+    fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 75 );
+    weiter->setPosition( 139, 100 );
+    weiter->setText( "Ok" );
+    nachricht->setText( txt );
+    if( nachricht->zText()->getLength() > 30 )
+    {
+        int pos = -1;
+        bool set = 0;
+        int lastp = 0;
+        for( int i = 20; i < nachricht->zText()->getLength(); )
+        {
+            char *tmp = &nachricht->zText()->getText()[ i ];
+            while( *tmp != ' ' && i < nachricht->zText()->getLength() )
+            {
+                tmp++;
+                i++;
+                if( i - 30 >= lastp )
+                {
+                    if( set )
+                    {
+                        lastp = pos;
+                        set = 0;
+                        nachricht->zText()->getText()[ pos ] = '\n';
+                    }
+                    else
+                        lastp += 5;
+                }
+            }
+            if( i < nachricht->zText()->getLength() )
+            {
+                pos = i;
+                set = 1;
+                tmp++;
+                i++;
+            }
+        }
+    }
+    nachricht->addStyle( TextFeld::Style::Sichtbar );
 }
 
 // Knopfdruck
 void NameVergessen::druckFremdKnopf() // Ein anderer Knopf wurde gedrückt
 {
-	fenster->removeStyle( Fenster::Style::Sichtbar );
-	nameVergessen->setRahmenBreite( 2 );
-	nameVergessen->setAlphaFeldFarbe( 0x5500FF00 );
-	nameVergessen->setAlphaFeldStrength( -5 );
+    fenster->removeStyle( Fenster::Style::Sichtbar );
+    nameVergessen->setRahmenBreite( 2 );
+    nameVergessen->setAlphaFeldFarbe( 0x5500FF00 );
+    nameVergessen->setAlphaFeldStrength( -5 );
 }
 
 bool NameVergessen::nameVergessenME( void *obj, MausEreignis me ) // MausEreignis im Knopf nameVergessen
 {
-	if( me.id == ME_RLinks )
-	{
-		vorLogin->setNameVergessen();
-
-		nameVergessen->setRahmenBreite( 3 );
-		nameVergessen->setAlphaFeldFarbe( 0xFF000000 );
-		nameVergessen->setAlphaFeldStrength( 20 );
-		Punkt bildschirmmitte = Bildschirmmitte();
-		fenster->setSize( 255, 140 );
-		fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 70 );
-		fenster->addStyle( Fenster::Style::Sichtbar );
-		nachricht->removeStyle( TextFeld::Style::Sichtbar );
-		weiter->setText( "weiter" );
-		weiter->setPosition( 75, 80 );
-		passwort->addStyle( TextFeld::Style::Sichtbar );
-		geheimnis->addStyle( TextFeld::Style::Sichtbar );
-		passwort->addStyle( TextFeld::Style::Fokus );
-		passwort->setAuswahl( passwort->zText()->getLength(), 0 );
-	}
-	return 1;
+    if( me.id == ME_RLinks )
+    {
+        vorLogin->setNameVergessen();
+
+        nameVergessen->setRahmenBreite( 3 );
+        nameVergessen->setAlphaFeldFarbe( 0xFF000000 );
+        nameVergessen->setAlphaFeldStrength( 20 );
+        Punkt bildschirmmitte = Bildschirmmitte();
+        fenster->setSize( 255, 140 );
+        fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 70 );
+        fenster->addStyle( Fenster::Style::Sichtbar );
+        nachricht->removeStyle( TextFeld::Style::Sichtbar );
+        weiter->setText( "weiter" );
+        weiter->setPosition( 75, 80 );
+        passwort->addStyle( TextFeld::Style::Sichtbar );
+        geheimnis->addStyle( TextFeld::Style::Sichtbar );
+        passwort->addStyle( TextFeld::Style::Fokus );
+        passwort->setAuswahl( passwort->zText()->getLength(), 0 );
+    }
+    return 1;
 }
 
 bool NameVergessen::passwortTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld passwort
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Press )
-		passwort->setSchowChar( '*' );
-	if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
-	{
-		passwort->removeStyle( TextFeld::Style::Fokus );
-		geheimnis->addStyle( TextFeld::Style::Fokus );
-		geheimnis->setAuswahl( geheimnis->zText()->getLength(), 0 );
-	}
-	if( passwort->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Press )
+        passwort->setSchowChar( '*' );
+    if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
+    {
+        passwort->removeStyle( TextFeld::Style::Fokus );
+        geheimnis->addStyle( TextFeld::Style::Fokus );
+        geheimnis->setAuswahl( geheimnis->zText()->getLength(), 0 );
+    }
+    if( passwort->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool NameVergessen::geheimnisTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld geheimnis
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Release && te.taste == T_Enter )
-	{
-		passwort->removeStyle( TextFeld::Style::Fokus );
-		MausEreignis me;
-		me.id = ME_RLinks;
-		weiterME( 0, me );
-	}
-	if( passwort->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Release && te.taste == T_Enter )
+    {
+        passwort->removeStyle( TextFeld::Style::Fokus );
+        MausEreignis me;
+        me.id = ME_RLinks;
+        weiterME( 0, me );
+    }
+    if( passwort->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool NameVergessen::weiterME( void *obj, MausEreignis me ) // MausEreignis im Knopf weiter
 {
-	if( me.id == ME_RLinks )
-	{
-		if( weiter->zText( )->istGleich( "weiter" ) )
-		{
-			if( passwort->zText( )->getLength( ) == 0 )
-				zeigeNachricht( "Bitte gebe dein Accountpasswort ein." );
-			if( geheimnis->zText( )->getLength( ) == 0 )
-				zeigeNachricht( "Bitte gebe dein Accountgeheimnis ein." );
-			if( weiter->zText( )->istGleich( "Ok" ) )
-				return 1;
-			new AktionsThread( 12, passwort->zText( )->getText( ), geheimnis->zText( )->getText( ), 0, 0, 0 );
-		}
-		else
-		{
-			Punkt bildschirmmitte = Bildschirmmitte( );
-			fenster->setSize( 255, 140 );
-			fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 70 );
-			fenster->addStyle( Fenster::Style::Sichtbar );
-			nachricht->removeStyle( TextFeld::Style::Sichtbar );
-			weiter->setText( "weiter" );
-			weiter->setPosition( 75, 80 );
-			passwort->addStyle( TextFeld::Style::Sichtbar );
-			geheimnis->addStyle( TextFeld::Style::Sichtbar );
-			passwort->addStyle( TextFeld::Style::Fokus );
-			passwort->setAuswahl( passwort->zText( )->getLength( ), 0 );
-		}
-	}
-	return 1;
+    if( me.id == ME_RLinks )
+    {
+        if( weiter->zText()->istGleich( "weiter" ) )
+        {
+            if( passwort->zText()->getLength() == 0 )
+                zeigeNachricht( "Bitte gebe dein Accountpasswort ein." );
+            if( geheimnis->zText()->getLength() == 0 )
+                zeigeNachricht( "Bitte gebe dein Accountgeheimnis ein." );
+            if( weiter->zText()->istGleich( "Ok" ) )
+                return 1;
+            new AktionsThread( 12, passwort->zText()->getText(), geheimnis->zText()->getText(), 0, 0, 0 );
+        }
+        else
+        {
+            Punkt bildschirmmitte = Bildschirmmitte();
+            fenster->setSize( 255, 140 );
+            fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 70 );
+            fenster->addStyle( Fenster::Style::Sichtbar );
+            nachricht->removeStyle( TextFeld::Style::Sichtbar );
+            weiter->setText( "weiter" );
+            weiter->setPosition( 75, 80 );
+            passwort->addStyle( TextFeld::Style::Sichtbar );
+            geheimnis->addStyle( TextFeld::Style::Sichtbar );
+            passwort->addStyle( TextFeld::Style::Fokus );
+            passwort->setAuswahl( passwort->zText()->getLength(), 0 );
+        }
+    }
+    return 1;
 }
 
 void NameVergessen::setResult( bool ret ) // Setzt den Returnwert
 {
-	if( ret )
-		zeigeNachricht( "Dir wurde eine E-Mail mit deinem Accountnamen geschickt." );
-	else if( lastError.getLength() )
-		zeigeNachricht( lastError );
-	else
-		zeigeNachricht( "Es ist ein Unbekannter Fehler aufgetreten." );
+    if( ret )
+        zeigeNachricht( "Dir wurde eine E-Mail mit deinem Accountnamen geschickt." );
+    else if( lastError.getLength() )
+        zeigeNachricht( lastError );
+    else
+        zeigeNachricht( "Es ist ein Unbekannter Fehler aufgetreten." );
 }
 
 // Reference Counting
-NameVergessen *NameVergessen::getThis()
+NameVergessen * NameVergessen::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 NameVergessen *NameVergessen::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 
 // messages
 bool nameVergessenNameVergessenME( void *p, void *obj, MausEreignis me )
 {
-	if( !p )
-		return 0;
-	return ( (NameVergessen*)p )->nameVergessenME( obj, me );
+    if( !p )
+        return 0;
+    return ( (NameVergessen *)p )->nameVergessenME( obj, me );
 }
 
 bool nameVergessenPasswortTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (NameVergessen*)p )->passwortTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (NameVergessen *)p )->passwortTE( obj, te );
 }
 
 bool nameVergessenGeheimnisTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (NameVergessen*)p )->geheimnisTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (NameVergessen *)p )->geheimnisTE( obj, te );
 }
 
 bool nameVergessenWeiterME( void *p, void *obj, MausEreignis me )
 {
-	if( !p )
-		return 0;
-	return ( (NameVergessen*)p )->weiterME( obj, me );
+    if( !p )
+        return 0;
+    return ( (NameVergessen *)p )->weiterME( obj, me );
 }

+ 448 - 448
KSGClient/VorLogin/Account verwalten/Passwort.cpp

@@ -8,601 +8,601 @@
 // Konstruktor
 PasswortÄndern::PasswortÄndern( Schrift *zSchrift, Fenster *zVorLoginFenster )
 {
-	Punkt bildschirmmitte = Bildschirmmitte();
-	passwortÄndern = initKnopf( 10, 170, 130, 30, zSchrift, Knopf::Style::Sichtbar, "Passwort ändern" );
-	passwortÄndern->setMausEreignisParameter( this );
-	passwortÄndern->setMausEreignis( passwortÄndernPasswortÄndernME );
-	initToolTip( passwortÄndern, "Account Passwort ändern.", zSchrift->getThis(), hauptScreen );
-	zVorLoginFenster->addMember( passwortÄndern );
-	fenster = initFenster( bildschirmmitte.x - 125, bildschirmmitte.y - 115, 250, 230, zSchrift, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "Passwort ändern" );
-	name = initTextFeld( 20, 20, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Name" );
-	name->setTastaturEreignisParameter( this );
-	name->setTastaturEreignis( passwortÄndernNameTE );
-	initToolTip( name, "Account Name.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( name );
-	passwort = initTextFeld( 20, 50, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Passwort" );
-	passwort->setTastaturEreignisParameter( this );
-	passwort->setTastaturEreignis( passwortÄndernPasswortTE );
-	initToolTip( passwort, "Account Passwort.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( passwort );
-	neuPasswort = initTextFeld( 20, 80, 208, 20, zSchrift, TextFeld::Style::TextFeld, "neues Passwort" );
-	neuPasswort->setTastaturEreignisParameter( this );
-	neuPasswort->setTastaturEreignis( passwortÄndernNeuPasswortTE );
-	initToolTip( neuPasswort, "Neues Account Passwort.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( neuPasswort );
-	neuPasswort2 = initTextFeld( 20, 110, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Passwort wiederholen" );
-	neuPasswort2->setTastaturEreignisParameter( this );
-	neuPasswort2->setTastaturEreignis( passwortÄndernNeuPasswort2TE );
-	initToolTip( neuPasswort2, "Neues Passwort Wiederhohlen.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( neuPasswort2 );
-	geheimnis = initTextFeld( 20, 140, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Geheimis" );
-	geheimnis->setTastaturEreignisParameter( this );
-	geheimnis->setTastaturEreignis( passwortÄndernGeheimnisTE );
-	initToolTip( geheimnis, "Account Geheimnis.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( geheimnis );
-	weiter = initKnopf( 74, 170, 100, 20, zSchrift, Knopf::Style::Sichtbar, "weiter" );
-	weiter->setMausEreignisParameter( this );
-	weiter->setMausEreignis( passwortÄndernWeiterME );
-	nachricht = initTextFeld( 0, 5, 255, 150, zSchrift, TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig, "" );
-	fenster->addMember( nachricht );
-	fenster->addMember( weiter );
-	zVorLoginFenster->addMember( fenster );
-	ref = 1;
+    Punkt bildschirmmitte = Bildschirmmitte();
+    passwortÄndern = initKnopf( 10, 170, 130, 30, zSchrift, Knopf::Style::Sichtbar, "Passwort ändern" );
+    passwortÄndern->setMausEreignisParameter( this );
+    passwortÄndern->setMausEreignis( passwortÄndernPasswortÄndernME );
+    initToolTip( passwortÄndern, "Account Passwort ändern.", zSchrift->getThis(), hauptScreen );
+    zVorLoginFenster->addMember( passwortÄndern );
+    fenster = initFenster( bildschirmmitte.x - 125, bildschirmmitte.y - 115, 250, 230, zSchrift, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "Passwort ändern" );
+    name = initTextFeld( 20, 20, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Name" );
+    name->setTastaturEreignisParameter( this );
+    name->setTastaturEreignis( passwortÄndernNameTE );
+    initToolTip( name, "Account Name.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( name );
+    passwort = initTextFeld( 20, 50, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Passwort" );
+    passwort->setTastaturEreignisParameter( this );
+    passwort->setTastaturEreignis( passwortÄndernPasswortTE );
+    initToolTip( passwort, "Account Passwort.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( passwort );
+    neuPasswort = initTextFeld( 20, 80, 208, 20, zSchrift, TextFeld::Style::TextFeld, "neues Passwort" );
+    neuPasswort->setTastaturEreignisParameter( this );
+    neuPasswort->setTastaturEreignis( passwortÄndernNeuPasswortTE );
+    initToolTip( neuPasswort, "Neues Account Passwort.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( neuPasswort );
+    neuPasswort2 = initTextFeld( 20, 110, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Passwort wiederholen" );
+    neuPasswort2->setTastaturEreignisParameter( this );
+    neuPasswort2->setTastaturEreignis( passwortÄndernNeuPasswort2TE );
+    initToolTip( neuPasswort2, "Neues Passwort Wiederhohlen.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( neuPasswort2 );
+    geheimnis = initTextFeld( 20, 140, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Geheimis" );
+    geheimnis->setTastaturEreignisParameter( this );
+    geheimnis->setTastaturEreignis( passwortÄndernGeheimnisTE );
+    initToolTip( geheimnis, "Account Geheimnis.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( geheimnis );
+    weiter = initKnopf( 74, 170, 100, 20, zSchrift, Knopf::Style::Sichtbar, "weiter" );
+    weiter->setMausEreignisParameter( this );
+    weiter->setMausEreignis( passwortÄndernWeiterME );
+    nachricht = initTextFeld( 0, 5, 255, 150, zSchrift, TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig, "" );
+    fenster->addMember( nachricht );
+    fenster->addMember( weiter );
+    zVorLoginFenster->addMember( fenster );
+    ref = 1;
 }
 
 // Destruktor
 PasswortÄndern::~PasswortÄndern()
 {
-	if( passwortÄndern )
-		passwortÄndern = passwortÄndern->release();
-	if( fenster )
-		fenster = fenster->release();
-	if( name )
-		name = name->release();
-	if( passwort )
-		passwort = passwort->release();
-	if( neuPasswort )
-		neuPasswort = neuPasswort->release();
-	if( neuPasswort2 )
-		neuPasswort2 = neuPasswort2->release();
-	if( geheimnis )
-		geheimnis = geheimnis->release();
-	if( weiter )
-		weiter = weiter->release();
-	if( nachricht )
-		nachricht = nachricht->release();
+    if( passwortÄndern )
+        passwortÄndern = (Knopf *)passwortÄndern->release();
+    if( fenster )
+        fenster = (Fenster *)fenster->release();
+    if( name )
+        name = (TextFeld *)name->release();
+    if( passwort )
+        passwort = (TextFeld *)passwort->release();
+    if( neuPasswort )
+        neuPasswort = (TextFeld *)neuPasswort->release();
+    if( neuPasswort2 )
+        neuPasswort2 = (TextFeld *)neuPasswort2->release();
+    if( geheimnis )
+        geheimnis = (TextFeld *)geheimnis->release();
+    if( weiter )
+        weiter = (Knopf *)weiter->release();
+    if( nachricht )
+        nachricht = (TextFeld *)nachricht->release();
 }
 
 // Privat
 void PasswortÄndern::zeigeNachricht( const char *txt )
 {
-	Punkt bildschirmmitte = Bildschirmmitte();
-	name->removeStyle( TextFeld::Style::Sichtbar );
-	passwort->removeStyle( TextFeld::Style::Sichtbar );
-	neuPasswort->removeStyle( TextFeld::Style::Sichtbar );
-	neuPasswort2->removeStyle( TextFeld::Style::Sichtbar );
-	geheimnis->removeStyle( TextFeld::Style::Sichtbar );
-	fenster->setSize( 250, 150 );
-	fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 75 );
-	weiter->setPosition( 139, 100 );
-	weiter->setText( "Ok" );
-	nachricht->setText( txt );
-	if( nachricht->zText()->getLength() > 30 )
-	{
-		int pos = -1;
-		bool set = 0;
-		int lastp = 0;
-		for( int i = 20; i < nachricht->zText()->getLength(); )
-		{
-			char *tmp = &nachricht->zText()->getText()[ i ];
-			while( *tmp != ' ' && i < nachricht->zText()->getLength() )
-			{
-				tmp++;
-				i++;
-				if( i - 30 >= lastp )
-				{
-					if( set )
-					{
-						lastp = pos;
-						set = 0;
-						nachricht->zText()->getText()[ pos ] = '\n';
-					}
-					else
-						lastp += 5;
-				}
-			}
-			if( i < nachricht->zText()->getLength() )
-			{
-				pos = i;
-				set = 1;
-				tmp++;
-				i++;
-			}
-		}
-	}
-	nachricht->addStyle( TextFeld::Style::Sichtbar );
+    Punkt bildschirmmitte = Bildschirmmitte();
+    name->removeStyle( TextFeld::Style::Sichtbar );
+    passwort->removeStyle( TextFeld::Style::Sichtbar );
+    neuPasswort->removeStyle( TextFeld::Style::Sichtbar );
+    neuPasswort2->removeStyle( TextFeld::Style::Sichtbar );
+    geheimnis->removeStyle( TextFeld::Style::Sichtbar );
+    fenster->setSize( 250, 150 );
+    fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 75 );
+    weiter->setPosition( 139, 100 );
+    weiter->setText( "Ok" );
+    nachricht->setText( txt );
+    if( nachricht->zText()->getLength() > 30 )
+    {
+        int pos = -1;
+        bool set = 0;
+        int lastp = 0;
+        for( int i = 20; i < nachricht->zText()->getLength(); )
+        {
+            char *tmp = &nachricht->zText()->getText()[ i ];
+            while( *tmp != ' ' && i < nachricht->zText()->getLength() )
+            {
+                tmp++;
+                i++;
+                if( i - 30 >= lastp )
+                {
+                    if( set )
+                    {
+                        lastp = pos;
+                        set = 0;
+                        nachricht->zText()->getText()[ pos ] = '\n';
+                    }
+                    else
+                        lastp += 5;
+                }
+            }
+            if( i < nachricht->zText()->getLength() )
+            {
+                pos = i;
+                set = 1;
+                tmp++;
+                i++;
+            }
+        }
+    }
+    nachricht->addStyle( TextFeld::Style::Sichtbar );
 }
 
 // Knopfdruck
 void PasswortÄndern::druckFremdKnopf() // Ein anderer Knopf wurde gedrückt
 {
-	fenster->removeStyle( Fenster::Style::Sichtbar );
-	passwortÄndern->setRahmenBreite( 2 );
-	passwortÄndern->setAlphaFeldFarbe( 0x5500FF00 );
-	passwortÄndern->setAlphaFeldStrength( -5 );
+    fenster->removeStyle( Fenster::Style::Sichtbar );
+    passwortÄndern->setRahmenBreite( 2 );
+    passwortÄndern->setAlphaFeldFarbe( 0x5500FF00 );
+    passwortÄndern->setAlphaFeldStrength( -5 );
 }
 
 bool PasswortÄndern::passwortÄndernME( void *obj, MausEreignis me ) // MausEreignis im Knopf passwortVergessen
 {
-	if( me.id == ME_RLinks )
-	{
-		vorLogin->setPasswortÄndern();
-
-		passwortÄndern->setRahmenBreite( 3 );
-		passwortÄndern->setAlphaFeldFarbe( 0xFF000000 );
-		passwortÄndern->setAlphaFeldStrength( 20 );
-		Punkt bildschirmmitte = Bildschirmmitte();
-		fenster->setSize( 255, 230 );
-		fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 115 );
-		fenster->addStyle( Fenster::Style::Sichtbar );
-		nachricht->removeStyle( TextFeld::Style::Sichtbar );
-		weiter->setText( "weiter" );
-		weiter->setPosition( 75, 170 );
-		name->addStyle( TextFeld::Style::Sichtbar );
-		passwort->addStyle( TextFeld::Style::Sichtbar );
-		neuPasswort->addStyle( TextFeld::Style::Sichtbar );
-		neuPasswort2->addStyle( TextFeld::Style::Sichtbar );
-		geheimnis->addStyle( TextFeld::Style::Sichtbar );
-		name->addStyle( TextFeld::Style::Fokus );
-		name->setAuswahl( name->zText()->getLength(), 0 );
-	}
-	return 1;
+    if( me.id == ME_RLinks )
+    {
+        vorLogin->setPasswortÄndern();
+
+        passwortÄndern->setRahmenBreite( 3 );
+        passwortÄndern->setAlphaFeldFarbe( 0xFF000000 );
+        passwortÄndern->setAlphaFeldStrength( 20 );
+        Punkt bildschirmmitte = Bildschirmmitte();
+        fenster->setSize( 255, 230 );
+        fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 115 );
+        fenster->addStyle( Fenster::Style::Sichtbar );
+        nachricht->removeStyle( TextFeld::Style::Sichtbar );
+        weiter->setText( "weiter" );
+        weiter->setPosition( 75, 170 );
+        name->addStyle( TextFeld::Style::Sichtbar );
+        passwort->addStyle( TextFeld::Style::Sichtbar );
+        neuPasswort->addStyle( TextFeld::Style::Sichtbar );
+        neuPasswort2->addStyle( TextFeld::Style::Sichtbar );
+        geheimnis->addStyle( TextFeld::Style::Sichtbar );
+        name->addStyle( TextFeld::Style::Fokus );
+        name->setAuswahl( name->zText()->getLength(), 0 );
+    }
+    return 1;
 }
 
 bool PasswortÄndern::nameTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld name
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
-	{
-		name->removeStyle( TextFeld::Style::Fokus );
-		passwort->addStyle( TextFeld::Style::Fokus );
-		passwort->setAuswahl( passwort->zText()->getLength(), 0 );
-	}
-	if( name->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
+    {
+        name->removeStyle( TextFeld::Style::Fokus );
+        passwort->addStyle( TextFeld::Style::Fokus );
+        passwort->setAuswahl( passwort->zText()->getLength(), 0 );
+    }
+    if( name->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool PasswortÄndern::passwortTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld passwort
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Press )
-		passwort->setSchowChar( '*' );
-	if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
-	{
-		passwort->removeStyle( TextFeld::Style::Fokus );
-		neuPasswort->addStyle( TextFeld::Style::Fokus );
-		neuPasswort->setAuswahl( neuPasswort->zText()->getLength(), 0 );
-	}
-	if( passwort->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Press )
+        passwort->setSchowChar( '*' );
+    if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
+    {
+        passwort->removeStyle( TextFeld::Style::Fokus );
+        neuPasswort->addStyle( TextFeld::Style::Fokus );
+        neuPasswort->setAuswahl( neuPasswort->zText()->getLength(), 0 );
+    }
+    if( passwort->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool PasswortÄndern::neuPasswortTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld neuPasswort
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Press )
-		neuPasswort->setSchowChar( '*' );
-	if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
-	{
-		neuPasswort->removeStyle( TextFeld::Style::Fokus );
-		neuPasswort2->addStyle( TextFeld::Style::Fokus );
-		neuPasswort2->setAuswahl( neuPasswort2->zText()->getLength(), 0 );
-	}
-	if( neuPasswort->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Press )
+        neuPasswort->setSchowChar( '*' );
+    if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
+    {
+        neuPasswort->removeStyle( TextFeld::Style::Fokus );
+        neuPasswort2->addStyle( TextFeld::Style::Fokus );
+        neuPasswort2->setAuswahl( neuPasswort2->zText()->getLength(), 0 );
+    }
+    if( neuPasswort->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool PasswortÄndern::neuPasswort2TE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld neuPasswort2
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Press )
-		neuPasswort2->setSchowChar( '*' );
-	if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
-	{
-		neuPasswort2->removeStyle( TextFeld::Style::Fokus );
-		geheimnis->addStyle( TextFeld::Style::Fokus );
-		geheimnis->setAuswahl( geheimnis->zText()->getLength(), 0 );
-	}
-	if( neuPasswort2->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Press )
+        neuPasswort2->setSchowChar( '*' );
+    if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
+    {
+        neuPasswort2->removeStyle( TextFeld::Style::Fokus );
+        geheimnis->addStyle( TextFeld::Style::Fokus );
+        geheimnis->setAuswahl( geheimnis->zText()->getLength(), 0 );
+    }
+    if( neuPasswort2->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool PasswortÄndern::geheimnisTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld geheimnis
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Press )
-		geheimnis->setSchowChar( '*' );
-	if( te.id == TE_Release && te.taste == T_Enter )
-	{
-		geheimnis->removeStyle( TextFeld::Style::Fokus );
-		MausEreignis me;
-		me.id = ME_RLinks;
-		weiterME( 0, me );
-	}
-	if( geheimnis->zText()->getLength() >= 50 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Press )
+        geheimnis->setSchowChar( '*' );
+    if( te.id == TE_Release && te.taste == T_Enter )
+    {
+        geheimnis->removeStyle( TextFeld::Style::Fokus );
+        MausEreignis me;
+        me.id = ME_RLinks;
+        weiterME( 0, me );
+    }
+    if( geheimnis->zText()->getLength() >= 50 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool PasswortÄndern::weiterME( void *obj, MausEreignis me ) // MausEreignis im Knopf weiter
 {
-	if( me.id == ME_RLinks )
-	{
-		if( weiter->zText()->istGleich( "weiter" ) )
-		{
-			if( name->zText()->getLength() == 0 )
-				zeigeNachricht( "Bitte gebe deinen Accountnamen ein." );
-			if( passwort->zText()->getLength() == 0 )
-				zeigeNachricht( "Bitte gebe dein Accountpasswort ein." );
-			if( neuPasswort->zText()->getLength() == 0 )
-				zeigeNachricht( "Bitte gebe ein neues Passwort ein." );
-			if( geheimnis->zText()->getLength() == 0 )
-				zeigeNachricht( "Bitte gebe dein Accountgeheimnis ein." );
-			if( !neuPasswort2->zText()->istGleich( neuPasswort->zText()->getText() ) )
-				zeigeNachricht( "Das wiederhohlte Passwort stimmt nicht mit dem neuen Passwort überein." );
-			if( weiter->zText()->istGleich( "Ok" ) )
-				return 1;
-			new AktionsThread( 13, name->zText()->getText(), passwort->zText()->getText(), geheimnis->zText()->getText(), neuPasswort->zText()->getText(), 0 );
-		}
-		else
-		{
-			Punkt bildschirmmitte = Bildschirmmitte();
-			fenster->setSize( 255, 230 );
-			fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 115 );
-			fenster->addStyle( Fenster::Style::Sichtbar );
-			nachricht->removeStyle( TextFeld::Style::Sichtbar );
-			weiter->setText( "weiter" );
-			weiter->setPosition( 75, 170 );
-			name->addStyle( TextFeld::Style::Sichtbar );
-			passwort->addStyle( TextFeld::Style::Sichtbar );
-			neuPasswort->addStyle( TextFeld::Style::Sichtbar );
-			neuPasswort2->addStyle( TextFeld::Style::Sichtbar );
-			geheimnis->addStyle( TextFeld::Style::Sichtbar );
-			name->addStyle( TextFeld::Style::Fokus );
-			name->setAuswahl( name->zText()->getLength(), 0 );
-		}
-	}
-	return 1;
+    if( me.id == ME_RLinks )
+    {
+        if( weiter->zText()->istGleich( "weiter" ) )
+        {
+            if( name->zText()->getLength() == 0 )
+                zeigeNachricht( "Bitte gebe deinen Accountnamen ein." );
+            if( passwort->zText()->getLength() == 0 )
+                zeigeNachricht( "Bitte gebe dein Accountpasswort ein." );
+            if( neuPasswort->zText()->getLength() == 0 )
+                zeigeNachricht( "Bitte gebe ein neues Passwort ein." );
+            if( geheimnis->zText()->getLength() == 0 )
+                zeigeNachricht( "Bitte gebe dein Accountgeheimnis ein." );
+            if( !neuPasswort2->zText()->istGleich( neuPasswort->zText()->getText() ) )
+                zeigeNachricht( "Das wiederhohlte Passwort stimmt nicht mit dem neuen Passwort überein." );
+            if( weiter->zText()->istGleich( "Ok" ) )
+                return 1;
+            new AktionsThread( 13, name->zText()->getText(), passwort->zText()->getText(), geheimnis->zText()->getText(), neuPasswort->zText()->getText(), 0 );
+        }
+        else
+        {
+            Punkt bildschirmmitte = Bildschirmmitte();
+            fenster->setSize( 255, 230 );
+            fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 115 );
+            fenster->addStyle( Fenster::Style::Sichtbar );
+            nachricht->removeStyle( TextFeld::Style::Sichtbar );
+            weiter->setText( "weiter" );
+            weiter->setPosition( 75, 170 );
+            name->addStyle( TextFeld::Style::Sichtbar );
+            passwort->addStyle( TextFeld::Style::Sichtbar );
+            neuPasswort->addStyle( TextFeld::Style::Sichtbar );
+            neuPasswort2->addStyle( TextFeld::Style::Sichtbar );
+            geheimnis->addStyle( TextFeld::Style::Sichtbar );
+            name->addStyle( TextFeld::Style::Fokus );
+            name->setAuswahl( name->zText()->getLength(), 0 );
+        }
+    }
+    return 1;
 }
 
 void PasswortÄndern::setResult( bool ret ) // Setzt den Returnwert
 {
-	if( ret )
-		zeigeNachricht( "Passwort erfolgreich geändert." );
-	else if( lastError.getLength() )
-		zeigeNachricht( lastError );
-	else
-		zeigeNachricht( "Es ist ein Unbekannter Fehler aufgetreten." );
+    if( ret )
+        zeigeNachricht( "Passwort erfolgreich geändert." );
+    else if( lastError.getLength() )
+        zeigeNachricht( lastError );
+    else
+        zeigeNachricht( "Es ist ein Unbekannter Fehler aufgetreten." );
 }
 
 // Reference Counting
-PasswortÄndern *PasswortÄndern::getThis()
+PasswortÄndern * PasswortÄndern::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 PasswortÄndern *PasswortÄndern::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 
 // Inhalt der PasswortVergessen Klasse aus Passwort.h
 // Konstruktor
-PasswortVergessen::PasswortVergessen( Schrift *zSchrift, Fenster *zVorLoginFenster )
-{
-	Punkt bildschirmmitte = Bildschirmmitte();
-	passwortVergessen = initKnopf( 10, 330, 130, 30, zSchrift, Knopf::Style::Sichtbar, "Passwort vergessen" );
-	passwortVergessen->setMausEreignisParameter( this );
-	passwortVergessen->setMausEreignis( passwortVergessenPasswortVergessenME );
-	initToolTip( passwortVergessen, "Account Passwort per E-Mail senden.", zSchrift->getThis(), hauptScreen );
-	zVorLoginFenster->addMember( passwortVergessen );
-	fenster = initFenster( bildschirmmitte.x - 125, bildschirmmitte.y - 70, 250, 140, zSchrift, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "Passwort vergessen" );
-	name = initTextFeld( 20, 20, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Name" );
-	name->setTastaturEreignisParameter( this );
-	name->setTastaturEreignis( passwortVergessenNameTE );
-	initToolTip( name, "Account Name.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( name );
-	geheimnis = initTextFeld( 20, 50, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Geheimis" );
-	geheimnis->setTastaturEreignisParameter( this );
-	geheimnis->setTastaturEreignis( passwortVergessenGeheimnisTE );
-	initToolTip( geheimnis, "Account geheimnis.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( geheimnis );
-	weiter = initKnopf( 74, 80, 100, 20, zSchrift, Knopf::Style::Sichtbar, "weiter" );
-	weiter->setMausEreignisParameter( this );
-	weiter->setMausEreignis( passwortVergessenWeiterME );
-	nachricht = initTextFeld( 0, 5, 255, 150, zSchrift, TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig, "" );
-	fenster->addMember( nachricht );
-	fenster->addMember( weiter );
-	zVorLoginFenster->addMember( fenster );
-	ref = 1;
+PasswortVergessen::PasswortVergessen( Schrift * zSchrift, Fenster * zVorLoginFenster )
+{
+    Punkt bildschirmmitte = Bildschirmmitte();
+    passwortVergessen = initKnopf( 10, 330, 130, 30, zSchrift, Knopf::Style::Sichtbar, "Passwort vergessen" );
+    passwortVergessen->setMausEreignisParameter( this );
+    passwortVergessen->setMausEreignis( passwortVergessenPasswortVergessenME );
+    initToolTip( passwortVergessen, "Account Passwort per E-Mail senden.", zSchrift->getThis(), hauptScreen );
+    zVorLoginFenster->addMember( passwortVergessen );
+    fenster = initFenster( bildschirmmitte.x - 125, bildschirmmitte.y - 70, 250, 140, zSchrift, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "Passwort vergessen" );
+    name = initTextFeld( 20, 20, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Name" );
+    name->setTastaturEreignisParameter( this );
+    name->setTastaturEreignis( passwortVergessenNameTE );
+    initToolTip( name, "Account Name.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( name );
+    geheimnis = initTextFeld( 20, 50, 208, 20, zSchrift, TextFeld::Style::TextFeld, "Geheimis" );
+    geheimnis->setTastaturEreignisParameter( this );
+    geheimnis->setTastaturEreignis( passwortVergessenGeheimnisTE );
+    initToolTip( geheimnis, "Account geheimnis.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( geheimnis );
+    weiter = initKnopf( 74, 80, 100, 20, zSchrift, Knopf::Style::Sichtbar, "weiter" );
+    weiter->setMausEreignisParameter( this );
+    weiter->setMausEreignis( passwortVergessenWeiterME );
+    nachricht = initTextFeld( 0, 5, 255, 150, zSchrift, TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig, "" );
+    fenster->addMember( nachricht );
+    fenster->addMember( weiter );
+    zVorLoginFenster->addMember( fenster );
+    ref = 1;
 }
 
 // Destruktor
 PasswortVergessen::~PasswortVergessen()
 {
-	if( passwortVergessen )
-		passwortVergessen = passwortVergessen->release();
-	if( fenster )
-		fenster = fenster->release();
-	if( name )
-		name = name->release();
-	if( geheimnis )
-		geheimnis = geheimnis->release();
-	if( weiter )
-		weiter = weiter->release();
-	if( nachricht )
-		nachricht = nachricht->release();
+    if( passwortVergessen )
+        passwortVergessen = (Knopf *)passwortVergessen->release();
+    if( fenster )
+        fenster = (Fenster *)fenster->release();
+    if( name )
+        name = (TextFeld *)name->release();
+    if( geheimnis )
+        geheimnis = (TextFeld *)geheimnis->release();
+    if( weiter )
+        weiter = (Knopf *)weiter->release();
+    if( nachricht )
+        nachricht = (TextFeld *)nachricht->release();
 }
 
 // Privat
 void PasswortVergessen::zeigeNachricht( const char *txt )
 {
-	Punkt bildschirmmitte = Bildschirmmitte();
-	name->removeStyle( TextFeld::Style::Sichtbar );
-	geheimnis->removeStyle( TextFeld::Style::Sichtbar );
-	fenster->setSize( 250, 150 );
-	fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 75 );
-	weiter->setPosition( 139, 100 );
-	weiter->setText( "Ok" );
-	nachricht->setText( txt );
-	if( nachricht->zText()->getLength() > 30 )
-	{
-		int pos = -1;
-		bool set = 0;
-		int lastp = 0;
-		for( int i = 20; i < nachricht->zText()->getLength(); )
-		{
-			char *tmp = &nachricht->zText()->getText()[ i ];
-			while( *tmp != ' ' && i < nachricht->zText()->getLength() )
-			{
-				tmp++;
-				i++;
-				if( i - 30 >= lastp )
-				{
-					if( set )
-					{
-						lastp = pos;
-						set = 0;
-						nachricht->zText()->getText()[ pos ] = '\n';
-					}
-					else
-						lastp += 5;
-				}
-			}
-			if( i < nachricht->zText()->getLength() )
-			{
-				pos = i;
-				set = 1;
-				tmp++;
-				i++;
-			}
-		}
-	}
-	nachricht->addStyle( TextFeld::Style::Sichtbar );
+    Punkt bildschirmmitte = Bildschirmmitte();
+    name->removeStyle( TextFeld::Style::Sichtbar );
+    geheimnis->removeStyle( TextFeld::Style::Sichtbar );
+    fenster->setSize( 250, 150 );
+    fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 75 );
+    weiter->setPosition( 139, 100 );
+    weiter->setText( "Ok" );
+    nachricht->setText( txt );
+    if( nachricht->zText()->getLength() > 30 )
+    {
+        int pos = -1;
+        bool set = 0;
+        int lastp = 0;
+        for( int i = 20; i < nachricht->zText()->getLength(); )
+        {
+            char *tmp = &nachricht->zText()->getText()[ i ];
+            while( *tmp != ' ' && i < nachricht->zText()->getLength() )
+            {
+                tmp++;
+                i++;
+                if( i - 30 >= lastp )
+                {
+                    if( set )
+                    {
+                        lastp = pos;
+                        set = 0;
+                        nachricht->zText()->getText()[ pos ] = '\n';
+                    }
+                    else
+                        lastp += 5;
+                }
+            }
+            if( i < nachricht->zText()->getLength() )
+            {
+                pos = i;
+                set = 1;
+                tmp++;
+                i++;
+            }
+        }
+    }
+    nachricht->addStyle( TextFeld::Style::Sichtbar );
 }
 
 // Knopfdruck
 void PasswortVergessen::druckFremdKnopf() // Ein anderer Knopf wurde gedrückt
 {
-	fenster->removeStyle( Fenster::Style::Sichtbar );
-	passwortVergessen->setRahmenBreite( 2 );
-	passwortVergessen->setAlphaFeldFarbe( 0x5500FF00 );
-	passwortVergessen->setAlphaFeldStrength( -5 );
+    fenster->removeStyle( Fenster::Style::Sichtbar );
+    passwortVergessen->setRahmenBreite( 2 );
+    passwortVergessen->setAlphaFeldFarbe( 0x5500FF00 );
+    passwortVergessen->setAlphaFeldStrength( -5 );
 }
 
 bool PasswortVergessen::passwortVergessenME( void *obj, MausEreignis me ) // MausEreignis im Knopf passwortVergessen
 {
-	if( me.id == ME_RLinks )
-	{
-		vorLogin->setPasswortVergessen();
-
-		passwortVergessen->setRahmenBreite( 3 );
-		passwortVergessen->setAlphaFeldFarbe( 0xFF000000 );
-		passwortVergessen->setAlphaFeldStrength( 20 );
-		Punkt bildschirmmitte = Bildschirmmitte();
-		fenster->setSize( 255, 140 );
-		fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 70 );
-		fenster->addStyle( Fenster::Style::Sichtbar );
-		nachricht->removeStyle( TextFeld::Style::Sichtbar );
-		weiter->setText( "weiter" );
-		weiter->setPosition( 75, 80 );
-		name->addStyle( TextFeld::Style::Sichtbar );
-		geheimnis->addStyle( TextFeld::Style::Sichtbar );
-		name->addStyle( TextFeld::Style::Fokus );
-		name->setAuswahl( name->zText()->getLength(), 0 );
-	}
-	return 1;
+    if( me.id == ME_RLinks )
+    {
+        vorLogin->setPasswortVergessen();
+
+        passwortVergessen->setRahmenBreite( 3 );
+        passwortVergessen->setAlphaFeldFarbe( 0xFF000000 );
+        passwortVergessen->setAlphaFeldStrength( 20 );
+        Punkt bildschirmmitte = Bildschirmmitte();
+        fenster->setSize( 255, 140 );
+        fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 70 );
+        fenster->addStyle( Fenster::Style::Sichtbar );
+        nachricht->removeStyle( TextFeld::Style::Sichtbar );
+        weiter->setText( "weiter" );
+        weiter->setPosition( 75, 80 );
+        name->addStyle( TextFeld::Style::Sichtbar );
+        geheimnis->addStyle( TextFeld::Style::Sichtbar );
+        name->addStyle( TextFeld::Style::Fokus );
+        name->setAuswahl( name->zText()->getLength(), 0 );
+    }
+    return 1;
 }
 
 bool PasswortVergessen::nameTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld name
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
-	{
-		name->removeStyle( TextFeld::Style::Fokus );
-		geheimnis->addStyle( TextFeld::Style::Fokus );
-		geheimnis->setAuswahl( geheimnis->zText()->getLength(), 0 );
-	}
-	if( name->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
+    {
+        name->removeStyle( TextFeld::Style::Fokus );
+        geheimnis->addStyle( TextFeld::Style::Fokus );
+        geheimnis->setAuswahl( geheimnis->zText()->getLength(), 0 );
+    }
+    if( name->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool PasswortVergessen::geheimnisTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld geheimnis
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Press )
-		geheimnis->setSchowChar( '*' );
-	if( te.id == TE_Release && te.taste == T_Enter )
-	{
-		geheimnis->removeStyle( TextFeld::Style::Fokus );
-		MausEreignis me;
-		me.id = ME_RLinks;
-		weiterME( 0, me );
-	}
-	if( geheimnis->zText()->getLength() >= 50 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Press )
+        geheimnis->setSchowChar( '*' );
+    if( te.id == TE_Release && te.taste == T_Enter )
+    {
+        geheimnis->removeStyle( TextFeld::Style::Fokus );
+        MausEreignis me;
+        me.id = ME_RLinks;
+        weiterME( 0, me );
+    }
+    if( geheimnis->zText()->getLength() >= 50 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool PasswortVergessen::weiterME( void *obj, MausEreignis me ) // MausEreignis im Knopf weiter
 {
-	if( me.id == ME_RLinks )
-	{
-		if( weiter->zText()->istGleich( "weiter" ) )
-		{
-			if( name->zText()->getLength() == 0 )
-				zeigeNachricht( "Bitte gebe deinen Accountnamen ein." );
-			if( geheimnis->zText()->getLength() == 0 )
-				zeigeNachricht( "Bitte gebe dein Accountgeheimnis ein." );
-			if( weiter->zText()->istGleich( "Ok" ) )
-				return 1;
-			new AktionsThread( 14, name->zText()->getText(), geheimnis->zText()->getText(), 0, 0, 0 );
-		}
-		else
-		{
-			Punkt bildschirmmitte = Bildschirmmitte();
-			fenster->setSize( 255, 140 );
-			fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 70 );
-			fenster->addStyle( Fenster::Style::Sichtbar );
-			nachricht->removeStyle( TextFeld::Style::Sichtbar );
-			weiter->setText( "weiter" );
-			weiter->setPosition( 75, 80 );
-			name->addStyle( TextFeld::Style::Sichtbar );
-			geheimnis->addStyle( TextFeld::Style::Sichtbar );
-			name->addStyle( TextFeld::Style::Fokus );
-			name->setAuswahl( name->zText()->getLength(), 0 );
-		}
-	}
-	return 1;
+    if( me.id == ME_RLinks )
+    {
+        if( weiter->zText()->istGleich( "weiter" ) )
+        {
+            if( name->zText()->getLength() == 0 )
+                zeigeNachricht( "Bitte gebe deinen Accountnamen ein." );
+            if( geheimnis->zText()->getLength() == 0 )
+                zeigeNachricht( "Bitte gebe dein Accountgeheimnis ein." );
+            if( weiter->zText()->istGleich( "Ok" ) )
+                return 1;
+            new AktionsThread( 14, name->zText()->getText(), geheimnis->zText()->getText(), 0, 0, 0 );
+        }
+        else
+        {
+            Punkt bildschirmmitte = Bildschirmmitte();
+            fenster->setSize( 255, 140 );
+            fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 70 );
+            fenster->addStyle( Fenster::Style::Sichtbar );
+            nachricht->removeStyle( TextFeld::Style::Sichtbar );
+            weiter->setText( "weiter" );
+            weiter->setPosition( 75, 80 );
+            name->addStyle( TextFeld::Style::Sichtbar );
+            geheimnis->addStyle( TextFeld::Style::Sichtbar );
+            name->addStyle( TextFeld::Style::Fokus );
+            name->setAuswahl( name->zText()->getLength(), 0 );
+        }
+    }
+    return 1;
 }
 
 void PasswortVergessen::setResult( bool ret ) // Setzt den Returnwert
 {
-	if( ret )
-		zeigeNachricht( "Dir wurde eine E-Mail mit deinem Accountpasswort gesendet." );
-	else if( lastError.getLength() )
-		zeigeNachricht( lastError );
-	else
-		zeigeNachricht( "Es ist ein Unbekannter Fehler aufgetreten." );
+    if( ret )
+        zeigeNachricht( "Dir wurde eine E-Mail mit deinem Accountpasswort gesendet." );
+    else if( lastError.getLength() )
+        zeigeNachricht( lastError );
+    else
+        zeigeNachricht( "Es ist ein Unbekannter Fehler aufgetreten." );
 }
 
 // Reference Counting
-PasswortVergessen *PasswortVergessen::getThis()
+PasswortVergessen * PasswortVergessen::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 PasswortVergessen *PasswortVergessen::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 // messages
 bool passwortÄndernPasswortÄndernME( void *p, void *obj, MausEreignis me )
 {
-	if( !p )
-		return 0;
-	return ( (PasswortÄndern*)p )->passwortÄndernME( obj, me );
+    if( !p )
+        return 0;
+    return ( (PasswortÄndern *)p )->passwortÄndernME( obj, me );
 }
 
 bool passwortÄndernNameTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (PasswortÄndern*)p )->nameTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (PasswortÄndern *)p )->nameTE( obj, te );
 }
 
 bool passwortÄndernPasswortTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (PasswortÄndern*)p )->passwortTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (PasswortÄndern *)p )->passwortTE( obj, te );
 }
 
 bool passwortÄndernNeuPasswortTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (PasswortÄndern*)p )->neuPasswortTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (PasswortÄndern *)p )->neuPasswortTE( obj, te );
 }
 
 bool passwortÄndernNeuPasswort2TE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (PasswortÄndern*)p )->neuPasswort2TE( obj, te );
+    if( !p )
+        return 0;
+    return ( (PasswortÄndern *)p )->neuPasswort2TE( obj, te );
 }
 
 bool passwortÄndernGeheimnisTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (PasswortÄndern*)p )->geheimnisTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (PasswortÄndern *)p )->geheimnisTE( obj, te );
 }
 
 bool passwortÄndernWeiterME( void *p, void *obj, MausEreignis me )
 {
-	if( !p )
-		return 0;
-	return ( (PasswortÄndern*)p )->weiterME( obj, me );
+    if( !p )
+        return 0;
+    return ( (PasswortÄndern *)p )->weiterME( obj, me );
 }
 
 
 bool passwortVergessenPasswortVergessenME( void *p, void *obj, MausEreignis me )
 {
-	if( !p )
-		return 0;
-	return ( (PasswortVergessen*)p )->passwortVergessenME( obj, me );
+    if( !p )
+        return 0;
+    return ( (PasswortVergessen *)p )->passwortVergessenME( obj, me );
 }
 
 bool passwortVergessenNameTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (PasswortVergessen*)p )->nameTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (PasswortVergessen *)p )->nameTE( obj, te );
 }
 
 bool passwortVergessenGeheimnisTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (PasswortVergessen*)p )->geheimnisTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (PasswortVergessen *)p )->geheimnisTE( obj, te );
 }
 
 bool passwortVergessenWeiterME( void *p, void *obj, MausEreignis me )
 {
-	if( !p )
-		return 0;
-	return ( (PasswortVergessen*)p )->weiterME( obj, me );
+    if( !p )
+        return 0;
+    return ( (PasswortVergessen *)p )->weiterME( obj, me );
 }

+ 399 - 397
KSGClient/VorLogin/Account verwalten/Registrierung.cpp

@@ -9,489 +9,491 @@
 // Konstruktor 
 Registrierung::Registrierung( Schrift *zSchrift, Fenster *zVorLoginFenster )
 {
-	Punkt bildschirmGröße = BildschirmGröße();
-	registrierung = initKnopf( 10, 90, 130, 30, zSchrift, Knopf::Style::Sichtbar, "Registrieren" );
-	registrierung->setMausEreignisParameter( this );
-	registrierung->setMausEreignis( registrierungRegistrierungME );
-	initToolTip( registrierung, "Account erstellen.", zSchrift->getThis(), hauptScreen );
-	zVorLoginFenster->addMember( registrierung );
-	fenster = initFenster( bildschirmGröße.x / 2 - 175, bildschirmGröße.y / 2 - 131, 350, 262, zSchrift, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "Account erstellen" );
-	name = initTextFeld( 74, 20, 200, 20, zSchrift, TextFeld::Style::TextFeld, "Account Name" );
-	name->setTastaturEreignisParameter( this );
-	name->setTastaturEreignis( registrierungNameTE );
-	initToolTip( name, "Account Name.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( name );
-	passwort = initTextFeld( 74, 50, 200, 20, zSchrift, TextFeld::Style::TextFeld, "Account Passwort" );
-	passwort->setTastaturEreignisParameter( this );
-	passwort->setTastaturEreignis( registrierungPasswortTE );
-	initToolTip( passwort, "Account Passwort.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( passwort );
-	passwort2 = initTextFeld( 74, 80, 200, 20, zSchrift, TextFeld::Style::TextFeld, "Passwort wiederholen" );
-	passwort2->setTastaturEreignisParameter( this );
-	passwort2->setTastaturEreignis( registrierungPasswort2TE );
-	initToolTip( passwort2, "Account Passwort wiederhohlen.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( passwort2 );
-	geheimnis = initTextFeld( 10, 110, 328, 20, zSchrift, TextFeld::Style::TextFeld, "Account Geheimnis" );
-	geheimnis->setTastaturEreignisParameter( this );
-	geheimnis->setTastaturEreignis( registrierungGeheimnisTE );
-	initToolTip( geheimnis, "Gib etwas ein, was nur du jederzeit weißt.\n(zweites sicherheitspasswort Passwort)", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( geheimnis );
-	eMail = initTextFeld( 74, 140, 200, 20, zSchrift, TextFeld::Style::TextFeld, "E-Mail Addresse" );
-	eMail->setTastaturEreignisParameter( this );
-	eMail->setTastaturEreignis( registrierungEMailTE );
-	initToolTip( eMail, "E-Mail Addresse.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( eMail );
-	geburtsdatum = initTextFeld( 40, 170, 85, 20, zSchrift, TextFeld::Style::Text, "Geburtsdatum:" );
-	fenster->addMember( geburtsdatum );
+    Punkt bildschirmGröße = BildschirmGröße();
+    registrierung = initKnopf( 10, 90, 130, 30, zSchrift, Knopf::Style::Sichtbar, "Registrieren" );
+    registrierung->setMausEreignisParameter( this );
+    registrierung->setMausEreignis( registrierungRegistrierungME );
+    initToolTip( registrierung, "Account erstellen.", zSchrift->getThis(), hauptScreen );
+    zVorLoginFenster->addMember( registrierung );
+    fenster = initFenster( bildschirmGröße.x / 2 - 175, bildschirmGröße.y / 2 - 131, 350, 262, zSchrift, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "Account erstellen" );
+    name = initTextFeld( 74, 20, 200, 20, zSchrift, TextFeld::Style::TextFeld, "Account Name" );
+    name->setTastaturEreignisParameter( this );
+    name->setTastaturEreignis( registrierungNameTE );
+    initToolTip( name, "Account Name.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( name );
+    passwort = initTextFeld( 74, 50, 200, 20, zSchrift, TextFeld::Style::TextFeld, "Account Passwort" );
+    passwort->setTastaturEreignisParameter( this );
+    passwort->setTastaturEreignis( registrierungPasswortTE );
+    initToolTip( passwort, "Account Passwort.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( passwort );
+    passwort2 = initTextFeld( 74, 80, 200, 20, zSchrift, TextFeld::Style::TextFeld, "Passwort wiederholen" );
+    passwort2->setTastaturEreignisParameter( this );
+    passwort2->setTastaturEreignis( registrierungPasswort2TE );
+    initToolTip( passwort2, "Account Passwort wiederhohlen.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( passwort2 );
+    geheimnis = initTextFeld( 10, 110, 328, 20, zSchrift, TextFeld::Style::TextFeld, "Account Geheimnis" );
+    geheimnis->setTastaturEreignisParameter( this );
+    geheimnis->setTastaturEreignis( registrierungGeheimnisTE );
+    initToolTip( geheimnis, "Gib etwas ein, was nur du jederzeit weißt.\n(zweites sicherheitspasswort Passwort)", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( geheimnis );
+    eMail = initTextFeld( 74, 140, 200, 20, zSchrift, TextFeld::Style::TextFeld, "E-Mail Addresse" );
+    eMail->setTastaturEreignisParameter( this );
+    eMail->setTastaturEreignis( registrierungEMailTE );
+    initToolTip( eMail, "E-Mail Addresse.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( eMail );
+    geburtsdatum = initTextFeld( 40, 170, 85, 20, zSchrift, TextFeld::Style::Text, "Geburtsdatum:" );
+    fenster->addMember( geburtsdatum );
     text = initTextFeld( 0, 5, 250, 150, zSchrift, TextFeld::Style::Mehrzeilig | TextFeld::Style::HCenter, "" );
     fenster->addMember( text );
-	gbdTag = new AuswahlBox();
-	gbdTag->setStyle( AuswahlBox::Style::Sichtbar | AuswahlBox::Style::Erlaubt | AuswahlBox::Style::Rahmen | AuswahlBox::Style::MausBuffer | AuswahlBox::Style::AuswahlBuffer | AuswahlBox::Style::MaxHeight | AuswahlBox::Style::VScroll | AuswahlBox::Style::Hintergrund );
-	gbdTag->setPosition( 130, 167 );
-	gbdTag->setSize( 50, 20 );
-	gbdTag->setMaxAuskappHeight( 100 );
-	gbdTag->setSchriftZ( zSchrift->getThis() );
-	gbdTag->setRahmenFarbe( 0xFFFFFFFF );
-	gbdTag->setHintergrundFarbe( 0xFF000000 );
-	gbdTag->setMausEreignis( _ret1ME );
-	gbdTag->addEintrag( "Tag" );
-	for( int i = 0; i < 31; i++ )
-	{
-		Text *txt = new Text( "" );
-		txt->append( i + 1 );
-		gbdTag->addEintrag( txt );
-	}
-	gbdMonat = new AuswahlBox();
-	gbdMonat->setStyle( AuswahlBox::Style::Sichtbar | AuswahlBox::Style::Erlaubt | AuswahlBox::Style::Rahmen | AuswahlBox::Style::MausBuffer | AuswahlBox::Style::AuswahlBuffer | AuswahlBox::Style::MaxHeight | AuswahlBox::Style::VScroll | AuswahlBox::Style::Hintergrund );
-	gbdMonat->setPosition( 185, 167 );
-	gbdMonat->setSize( 65, 20 );
-	gbdMonat->setMaxAuskappHeight( 100 );
-	gbdMonat->setSchriftZ( zSchrift->getThis() );
-	gbdMonat->setRahmenFarbe( 0xFFFFFFFF );
-	gbdMonat->setHintergrundFarbe( 0xFF000000 );
-	gbdMonat->setMausEreignis( _ret1ME );
-	gbdMonat->addEintrag( "Monat" );
-	for( int i = 0; i < 12; i++ )
-	{
-		Text *txt = new Text( "" );
-		txt->append( i + 1 );
-		gbdMonat->addEintrag( txt );
-	}
-	gbdJahr = new AuswahlBox();
-	gbdJahr->setStyle( AuswahlBox::Style::Sichtbar | AuswahlBox::Style::Erlaubt | AuswahlBox::Style::Rahmen | AuswahlBox::Style::MausBuffer | AuswahlBox::Style::AuswahlBuffer | AuswahlBox::Style::MaxHeight | AuswahlBox::Style::VScroll | AuswahlBox::Style::Hintergrund );
-	gbdJahr->setPosition( 255, 167 );
-	gbdJahr->setSize( 55, 20 );
-	gbdJahr->setMaxAuskappHeight( 100 );
-	gbdJahr->setSchriftZ( zSchrift->getThis() );
-	gbdJahr->setRahmenFarbe( 0xFFFFFFFF );
-	gbdJahr->setHintergrundFarbe( 0xFF000000 );
-	gbdJahr->setMausEreignis( _ret1ME );
-	gbdJahr->addEintrag( "Jahr" );
-	for( int i = 2013; i > 1913; i-- )
-	{
-		Text *txt = new Text( "" );
-		txt->append( i + 1 );
-		gbdJahr->addEintrag( txt );
-	}
-	weiter = initKnopf( 124, 200, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Weiter" );
-	weiter->setMausEreignisParameter( this );
-	weiter->setMausEreignis( registrierungWeiterME );
-	fenster->addMember( weiter );
-	zVorLoginFenster->addMember( fenster );
-	fenster->addMember( gbdTag );
-	fenster->addMember( gbdMonat );
-	fenster->addMember( gbdJahr );
-	ref = 1;
+    gbdTag = new AuswahlBox();
+    gbdTag->setStyle( AuswahlBox::Style::Sichtbar | AuswahlBox::Style::Erlaubt | AuswahlBox::Style::Rahmen | AuswahlBox::Style::MausBuffer | AuswahlBox::Style::AuswahlBuffer | AuswahlBox::Style::MaxHeight | AuswahlBox::Style::VScroll | AuswahlBox::Style::Hintergrund );
+    gbdTag->setPosition( 130, 167 );
+    gbdTag->setSize( 50, 20 );
+    gbdTag->setMaxAuskappHeight( 100 );
+    gbdTag->setSchriftZ( zSchrift->getThis() );
+    gbdTag->setRahmenFarbe( 0xFFFFFFFF );
+    gbdTag->setHintergrundFarbe( 0xFF000000 );
+    gbdTag->setMausEreignis( _ret1ME );
+    gbdTag->addEintrag( "Tag" );
+    for( int i = 0; i < 31; i++ )
+    {
+        Text *txt = new Text( "" );
+        txt->append( i + 1 );
+        gbdTag->addEintrag( txt );
+    }
+    gbdMonat = new AuswahlBox();
+    gbdMonat->setStyle( AuswahlBox::Style::Sichtbar | AuswahlBox::Style::Erlaubt | AuswahlBox::Style::Rahmen | AuswahlBox::Style::MausBuffer | AuswahlBox::Style::AuswahlBuffer | AuswahlBox::Style::MaxHeight | AuswahlBox::Style::VScroll | AuswahlBox::Style::Hintergrund );
+    gbdMonat->setPosition( 185, 167 );
+    gbdMonat->setSize( 65, 20 );
+    gbdMonat->setMaxAuskappHeight( 100 );
+    gbdMonat->setSchriftZ( zSchrift->getThis() );
+    gbdMonat->setRahmenFarbe( 0xFFFFFFFF );
+    gbdMonat->setHintergrundFarbe( 0xFF000000 );
+    gbdMonat->setMausEreignis( _ret1ME );
+    gbdMonat->addEintrag( "Monat" );
+    for( int i = 0; i < 12; i++ )
+    {
+        Text *txt = new Text( "" );
+        txt->append( i + 1 );
+        gbdMonat->addEintrag( txt );
+    }
+    gbdJahr = new AuswahlBox();
+    gbdJahr->setStyle( AuswahlBox::Style::Sichtbar | AuswahlBox::Style::Erlaubt | AuswahlBox::Style::Rahmen | AuswahlBox::Style::MausBuffer | AuswahlBox::Style::AuswahlBuffer | AuswahlBox::Style::MaxHeight | AuswahlBox::Style::VScroll | AuswahlBox::Style::Hintergrund );
+    gbdJahr->setPosition( 255, 167 );
+    gbdJahr->setSize( 55, 20 );
+    gbdJahr->setMaxAuskappHeight( 100 );
+    gbdJahr->setSchriftZ( zSchrift->getThis() );
+    gbdJahr->setRahmenFarbe( 0xFFFFFFFF );
+    gbdJahr->setHintergrundFarbe( 0xFF000000 );
+    gbdJahr->setMausEreignis( _ret1ME );
+    gbdJahr->addEintrag( "Jahr" );
+    for( int i = 2013; i > 1913; i-- )
+    {
+        Text *txt = new Text( "" );
+        txt->append( i + 1 );
+        gbdJahr->addEintrag( txt );
+    }
+    weiter = initKnopf( 124, 200, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Weiter" );
+    weiter->setMausEreignisParameter( this );
+    weiter->setMausEreignis( registrierungWeiterME );
+    fenster->addMember( weiter );
+    zVorLoginFenster->addMember( fenster );
+    fenster->addMember( gbdTag );
+    fenster->addMember( gbdMonat );
+    fenster->addMember( gbdJahr );
+    ref = 1;
 }
 
 // Destruktor 
 Registrierung::~Registrierung()
 {
-	if( fenster )
-		fenster = fenster->release();
-	if( name )
-		name = name->release();
-	if( passwort )
-		passwort = passwort->release();
-	if( passwort2 )
-		passwort2 = passwort2->release();
-	if( geheimnis )
-		geheimnis = geheimnis->release();
-	if( eMail )
-		eMail = eMail->release();
-	if( geburtsdatum )
-		geburtsdatum = geburtsdatum->release();
-	if( gbdTag )
-		gbdTag = gbdTag->release();
-	if( gbdMonat )
-		gbdMonat = gbdMonat->release();
-	if( gbdJahr )
-		gbdJahr = gbdJahr->release();
-	if( weiter )
-		weiter = weiter->release();
-	if( text )
-		text = text->release();
-	if( registrierung )
-		registrierung = registrierung->release();
+    if( fenster )
+        fenster = (Fenster *)fenster->release();
+    if( name )
+        name = (TextFeld *)name->release();
+    if( passwort )
+        passwort = (TextFeld *)passwort->release();
+    if( passwort2 )
+        passwort2 = (TextFeld *)passwort2->release();
+    if( geheimnis )
+        geheimnis = (TextFeld *)geheimnis->release();
+    if( eMail )
+        eMail = (TextFeld *)eMail->release();
+    if( geburtsdatum )
+        geburtsdatum = (TextFeld *)geburtsdatum->release();
+    if( gbdTag )
+        gbdTag = (AuswahlBox *)gbdTag->release();
+    if( gbdMonat )
+        gbdMonat = (AuswahlBox *)gbdMonat->release();
+    if( gbdJahr )
+        gbdJahr = (AuswahlBox *)gbdJahr->release();
+    if( weiter )
+        weiter = (Knopf *)weiter->release();
+    if( text )
+        text = (TextFeld *)text->release();
+    if( registrierung )
+        registrierung = (Knopf *)registrierung->release();
 }
 
 // Privat
 void Registrierung::zeigeNachricht( const char *txt )
 {
-	Punkt bildschirmmitte = Bildschirmmitte();
-	name->removeStyle( TextFeld::Style::Sichtbar );
-	passwort->removeStyle( TextFeld::Style::Sichtbar );
-	passwort2->removeStyle( TextFeld::Style::Sichtbar );
-	geheimnis->removeStyle( TextFeld::Style::Sichtbar );
-	eMail->removeStyle( TextFeld::Style::Sichtbar );
-	geburtsdatum->removeStyle( TextFeld::Style::Sichtbar );
-	gbdTag->removeStyle( TextFeld::Style::Sichtbar );
-	gbdMonat->removeStyle( TextFeld::Style::Sichtbar );
-	gbdJahr->removeStyle( TextFeld::Style::Sichtbar );
-	fenster->setSize( 250, 150 );
-	fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 75 );
-	weiter->setPosition( 139, 100 );
-	weiter->setText( "Ok" );
-	text->setText( txt );
-	if( text->zText()->getLength() > 30 )
-	{
-		int pos = -1;
-		bool set = 0;
-		int lastp = 0;
-		for( int i = 20; i < text->zText()->getLength(); )
-		{
-			char *tmp = &text->zText()->getText()[ i ];
-			while( *tmp != ' ' && i < text->zText()->getLength() )
-			{
-				tmp++;
-				i++;
-				if( i - 30 >= lastp )
-				{
-					if( set )
-					{
-						lastp = pos;
-						set = 0;
-						text->zText()->getText()[ pos ] = '\n';
-					}
-					else
-						lastp += 5;
-				}
-			}
-			if( i < text->zText()->getLength() )
-			{
-				pos = i;
-				set = 1;
-				tmp++;
-				i++;
-			}
-		}
-	}
-	text->addStyle( TextFeld::Style::Sichtbar );
+    Punkt bildschirmmitte = Bildschirmmitte();
+    name->removeStyle( TextFeld::Style::Sichtbar );
+    passwort->removeStyle( TextFeld::Style::Sichtbar );
+    passwort2->removeStyle( TextFeld::Style::Sichtbar );
+    geheimnis->removeStyle( TextFeld::Style::Sichtbar );
+    eMail->removeStyle( TextFeld::Style::Sichtbar );
+    geburtsdatum->removeStyle( TextFeld::Style::Sichtbar );
+    gbdTag->removeStyle( TextFeld::Style::Sichtbar );
+    gbdMonat->removeStyle( TextFeld::Style::Sichtbar );
+    gbdJahr->removeStyle( TextFeld::Style::Sichtbar );
+    fenster->setSize( 250, 150 );
+    fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 75 );
+    weiter->setPosition( 139, 100 );
+    weiter->setText( "Ok" );
+    text->setText( txt );
+    if( text->zText()->getLength() > 30 )
+    {
+        int pos = -1;
+        bool set = 0;
+        int lastp = 0;
+        for( int i = 20; i < text->zText()->getLength(); )
+        {
+            char *tmp = &text->zText()->getText()[ i ];
+            while( *tmp != ' ' && i < text->zText()->getLength() )
+            {
+                tmp++;
+                i++;
+                if( i - 30 >= lastp )
+                {
+                    if( set )
+                    {
+                        lastp = pos;
+                        set = 0;
+                        text->zText()->getText()[ pos ] = '\n';
+                    }
+                    else
+                        lastp += 5;
+                }
+            }
+            if( i < text->zText()->getLength() )
+            {
+                pos = i;
+                set = 1;
+                tmp++;
+                i++;
+            }
+        }
+    }
+    text->addStyle( TextFeld::Style::Sichtbar );
 }
 
 // Knopfdruck
 void Registrierung::druckFremdKnopf() // Ein anderer Knopfwurde gedrückt
 {
-	fenster->removeStyle( Fenster::Style::Sichtbar );
-	registrierung->setRahmenBreite( 2 );
-	registrierung->setAlphaFeldFarbe( 0x5500FF00 );
-	registrierung->setAlphaFeldStrength( -5 );
+    fenster->removeStyle( Fenster::Style::Sichtbar );
+    registrierung->setRahmenBreite( 2 );
+    registrierung->setAlphaFeldFarbe( 0x5500FF00 );
+    registrierung->setAlphaFeldStrength( -5 );
 }
 
 bool Registrierung::nameTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld name
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
-	{
-		name->removeStyle( TextFeld::Style::Fokus );
-		passwort->addStyle( TextFeld::Style::Fokus );
-		passwort->setAuswahl( passwort->zText()->getLength(), 0 );
-	}
-	if( name->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
+    {
+        name->removeStyle( TextFeld::Style::Fokus );
+        passwort->addStyle( TextFeld::Style::Fokus );
+        passwort->setAuswahl( passwort->zText()->getLength(), 0 );
+    }
+    if( name->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool Registrierung::passwortTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld passwort
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Press )
-		passwort->setSchowChar( '*' );
-	if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
-	{
-		passwort->removeStyle( TextFeld::Style::Fokus );
-		passwort2->addStyle( TextFeld::Style::Fokus );
-		passwort2->setAuswahl( passwort2->zText()->getLength(), 0 );
-	}
-	if( passwort->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Press )
+        passwort->setSchowChar( '*' );
+    if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
+    {
+        passwort->removeStyle( TextFeld::Style::Fokus );
+        passwort2->addStyle( TextFeld::Style::Fokus );
+        passwort2->setAuswahl( passwort2->zText()->getLength(), 0 );
+    }
+    if( passwort->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool Registrierung::passwort2TE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld passwort2
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Press )
-		passwort2->setSchowChar( '*' );
-	if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
-	{
-		passwort2->removeStyle( TextFeld::Style::Fokus );
-		geheimnis->addStyle( TextFeld::Style::Fokus );
-		geheimnis->setAuswahl( geheimnis->zText()->getLength(), 0 );
-	}
-	if( passwort2->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Press )
+        passwort2->setSchowChar( '*' );
+    if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
+    {
+        passwort2->removeStyle( TextFeld::Style::Fokus );
+        geheimnis->addStyle( TextFeld::Style::Fokus );
+        geheimnis->setAuswahl( geheimnis->zText()->getLength(), 0 );
+    }
+    if( passwort2->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool Registrierung::geheimnisTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld geheimnis
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
-	{
-		geheimnis->removeStyle( TextFeld::Style::Fokus );
-		eMail->addStyle( TextFeld::Style::Fokus );
-		eMail->setAuswahl( eMail->zText()->getLength(), 0 );
-	}
-	if( geheimnis->zText()->getLength() - abs( geheimnis->getCursorPos() - geheimnis->getSelectionPos() ) >= 50 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
+    {
+        geheimnis->removeStyle( TextFeld::Style::Fokus );
+        eMail->addStyle( TextFeld::Style::Fokus );
+        eMail->setAuswahl( eMail->zText()->getLength(), 0 );
+    }
+    int selCount = 0;
+    for( int i = 0; i < geheimnis->zText()->getLength(); i++ )
+        selCount += (int)geheimnis->isCharSelected( i );
+    if( geheimnis->zText()->getLength() - selCount >= 50 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool Registrierung::eMailTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld eMail
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
-	{
-		eMail->removeStyle( TextFeld::Style::Fokus );
-		gbdTag->addStyle( AuswahlBox::Style::Fokus );
-	}
-	if( eMail->zText()->getLength() >= 50 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
+    {
+        eMail->removeStyle( TextFeld::Style::Fokus );
+        gbdTag->addStyle( AuswahlBox::Style::Fokus );
+    }
+    if( eMail->zText()->getLength() >= 50 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool Registrierung::weiterME( void *obj, MausEreignis me ) // MausEreignis im Knopf weiter
 {
-	if( me.id == ME_RLinks )
-	{
-		Punkt bildchirmGröße = BildschirmGröße();
-		if( fenster->zTitel()->istGleich( "Erfolg" ) )
-		{
-			text->removeStyle( TextFeld::Style::Sichtbar );
-			weiter->setPosition( 124, 200 );
-			weiter->setText( "Weiter" );
-			fenster->setSize( 350, 262 );
-			fenster->setPosition( bildchirmGröße.x / 2 - 175, bildchirmGröße.y / 2 - 131 );
-			fenster->setTitel( "Account erstellen" );
-			name->addStyle( TextFeld::Style::Sichtbar );
-			passwort->addStyle( TextFeld::Style::Sichtbar );
-			passwort2->addStyle( TextFeld::Style::Sichtbar );
-			geheimnis->addStyle( TextFeld::Style::Sichtbar );
-			eMail->addStyle( TextFeld::Style::Sichtbar );
-			geburtsdatum->addStyle( TextFeld::Style::Sichtbar );
-			gbdTag->addStyle( TextFeld::Style::Sichtbar );
-			gbdMonat->addStyle( TextFeld::Style::Sichtbar );
-			gbdJahr->addStyle( TextFeld::Style::Sichtbar );
-			name->addStyle( TextFeld::Style::Fokus );
-			name->setAuswahl( name->zText()->getLength(), 0 );
-		}
-		else
-		{
-			if( weiter->zText()->istGleich( "Ok" ) )
-			{
-				text->removeStyle( TextFeld::Style::Sichtbar );
-				weiter->setPosition( 124, 200 );
-				weiter->setText( "Weiter" );
-				fenster->setSize( 350, 262 );
-				fenster->setPosition( bildchirmGröße.x / 2 - 175, bildchirmGröße.y / 2 - 131 );
-				name->addStyle( TextFeld::Style::Sichtbar );
-				passwort->addStyle( TextFeld::Style::Sichtbar );
-				passwort2->addStyle( TextFeld::Style::Sichtbar );
-				geheimnis->addStyle( TextFeld::Style::Sichtbar );
-				eMail->addStyle( TextFeld::Style::Sichtbar );
-				geburtsdatum->addStyle( TextFeld::Style::Sichtbar );
-				gbdTag->addStyle( TextFeld::Style::Sichtbar );
-				gbdMonat->addStyle( TextFeld::Style::Sichtbar );
-				gbdJahr->addStyle( TextFeld::Style::Sichtbar );
-				name->addStyle( TextFeld::Style::Fokus );
-				name->setAuswahl( name->zText()->getLength(), 0 );
-			}
-			else if( passwort2->zText()->istGleich( passwort->zText()->getText() ) )
-			{
-				if( name->zText()->getLength() == 0 ||
-					passwort->zText()->getLength() == 0 ||
-					geheimnis->zText()->getLength() == 0 ||
-					eMail->zText()->getLength() == 0 )
-				{
-					if( name->zText()->getLength() == 0 )
-						zeigeNachricht( "Bitte gebe einen Accountnamen ein." );
-					else if( passwort->zText()->getLength() == 0 )
-						zeigeNachricht( "Bitte gebe ein Accountpasswort ein." );
-					else if( geheimnis->zText()->getLength() == 0 )
-						zeigeNachricht( "Bitte gebe ein Accountgeheimnis ein. Dieß wird benötig, wenn du deinen Accountnamen oder dein Accountpasswort vergisst." );
-					else if( eMail->zText()->getLength() == 0 )
-						zeigeNachricht( "Bitte gebe deine E-Mail Addresse ein. Diese benötigen wir, um dir den Bestätigungscode für deinen Account zu senden." );
-					return 1;
-				}
-				Datum *gebDat = new Datum();
-				gebDat->setDatum( 1, 1, 1 );
-				bool ok = 1;
-				do
-				{
-					if( !gbdTag->getAuswahl() || !gbdMonat->getAuswahl() || !gbdJahr->getAuswahl() )
-					{
-						ok = 0;
-						break;
-					}
-					int jahr = TextZuInt( gbdJahr->zEintrag( gbdJahr->getAuswahl() )->zText()->getText(), 10 );
-					gebDat->setJahr( jahr );
-					gebDat->setMonat( gbdMonat->getAuswahl() );
-					gebDat->setTag( gbdTag->getAuswahl() );
-					if( jahr != gebDat->getJahr() || gbdMonat->getAuswahl() != gebDat->getMonat() || gbdTag->getAuswahl() != gebDat->getTag() )
-					{
-						ok = 0;
-						break;
-					}
-				}
-				while( 0 );
-				if( ok )
-					new AktionsThread( 15, name->zText()->getText(), passwort->zText()->getText(), geheimnis->zText()->getText(), eMail->zText()->getText(), gebDat->getThis() );
-				else
-					zeigeNachricht( "Bitte gebe ein gültiges Geburtsdatum an." );
-				gebDat = gebDat->release();
-			}
-			else
-				zeigeNachricht( "Das wiederhohlte Passwort stimmt nicht mit dem Passwort überein." );
-		}
-	}
-	return 1;
+    if( me.id == ME_RLinks )
+    {
+        Punkt bildchirmGröße = BildschirmGröße();
+        if( fenster->zTitel()->istGleich( "Erfolg" ) )
+        {
+            text->removeStyle( TextFeld::Style::Sichtbar );
+            weiter->setPosition( 124, 200 );
+            weiter->setText( "Weiter" );
+            fenster->setSize( 350, 262 );
+            fenster->setPosition( bildchirmGröße.x / 2 - 175, bildchirmGröße.y / 2 - 131 );
+            fenster->setTitel( "Account erstellen" );
+            name->addStyle( TextFeld::Style::Sichtbar );
+            passwort->addStyle( TextFeld::Style::Sichtbar );
+            passwort2->addStyle( TextFeld::Style::Sichtbar );
+            geheimnis->addStyle( TextFeld::Style::Sichtbar );
+            eMail->addStyle( TextFeld::Style::Sichtbar );
+            geburtsdatum->addStyle( TextFeld::Style::Sichtbar );
+            gbdTag->addStyle( TextFeld::Style::Sichtbar );
+            gbdMonat->addStyle( TextFeld::Style::Sichtbar );
+            gbdJahr->addStyle( TextFeld::Style::Sichtbar );
+            name->addStyle( TextFeld::Style::Fokus );
+            name->setAuswahl( name->zText()->getLength(), 0 );
+        }
+        else
+        {
+            if( weiter->zText()->istGleich( "Ok" ) )
+            {
+                text->removeStyle( TextFeld::Style::Sichtbar );
+                weiter->setPosition( 124, 200 );
+                weiter->setText( "Weiter" );
+                fenster->setSize( 350, 262 );
+                fenster->setPosition( bildchirmGröße.x / 2 - 175, bildchirmGröße.y / 2 - 131 );
+                name->addStyle( TextFeld::Style::Sichtbar );
+                passwort->addStyle( TextFeld::Style::Sichtbar );
+                passwort2->addStyle( TextFeld::Style::Sichtbar );
+                geheimnis->addStyle( TextFeld::Style::Sichtbar );
+                eMail->addStyle( TextFeld::Style::Sichtbar );
+                geburtsdatum->addStyle( TextFeld::Style::Sichtbar );
+                gbdTag->addStyle( TextFeld::Style::Sichtbar );
+                gbdMonat->addStyle( TextFeld::Style::Sichtbar );
+                gbdJahr->addStyle( TextFeld::Style::Sichtbar );
+                name->addStyle( TextFeld::Style::Fokus );
+                name->setAuswahl( name->zText()->getLength(), 0 );
+            }
+            else if( passwort2->zText()->istGleich( passwort->zText()->getText() ) )
+            {
+                if( name->zText()->getLength() == 0 ||
+                    passwort->zText()->getLength() == 0 ||
+                    geheimnis->zText()->getLength() == 0 ||
+                    eMail->zText()->getLength() == 0 )
+                {
+                    if( name->zText()->getLength() == 0 )
+                        zeigeNachricht( "Bitte gebe einen Accountnamen ein." );
+                    else if( passwort->zText()->getLength() == 0 )
+                        zeigeNachricht( "Bitte gebe ein Accountpasswort ein." );
+                    else if( geheimnis->zText()->getLength() == 0 )
+                        zeigeNachricht( "Bitte gebe ein Accountgeheimnis ein. Dieß wird benötig, wenn du deinen Accountnamen oder dein Accountpasswort vergisst." );
+                    else if( eMail->zText()->getLength() == 0 )
+                        zeigeNachricht( "Bitte gebe deine E-Mail Addresse ein. Diese benötigen wir, um dir den Bestätigungscode für deinen Account zu senden." );
+                    return 1;
+                }
+                Datum * gebDat = new Datum();
+                gebDat->setDatum( 1, 1, 1 );
+                bool ok = 1;
+                do
+                {
+                    if( !gbdTag->getAuswahl() || !gbdMonat->getAuswahl() || !gbdJahr->getAuswahl() )
+                    {
+                        ok = 0;
+                        break;
+                    }
+                    int jahr = TextZuInt( gbdJahr->zEintrag( gbdJahr->getAuswahl() )->zText()->getText(), 10 );
+                    gebDat->setJahr( jahr );
+                    gebDat->setMonat( gbdMonat->getAuswahl() );
+                    gebDat->setTag( gbdTag->getAuswahl() );
+                    if( jahr != gebDat->getJahr() || gbdMonat->getAuswahl() != gebDat->getMonat() || gbdTag->getAuswahl() != gebDat->getTag() )
+                    {
+                        ok = 0;
+                        break;
+                    }
+                } while( 0 );
+                if( ok )
+                    new AktionsThread( 15, name->zText()->getText(), passwort->zText()->getText(), geheimnis->zText()->getText(), eMail->zText()->getText(), gebDat->getThis() );
+                else
+                    zeigeNachricht( "Bitte gebe ein gültiges Geburtsdatum an." );
+                gebDat = gebDat->release();
+            }
+            else
+                zeigeNachricht( "Das wiederhohlte Passwort stimmt nicht mit dem Passwort überein." );
+        }
+    }
+    return 1;
 }
 
 bool Registrierung::registrierungME( void *obj, MausEreignis me ) // MausEreignis im Knopf registrierung
 {
-	if( me.id == ME_RLinks )
-	{
-		vorLogin->setRegistrierung();
-		fenster->addStyle( Fenster::Style::Sichtbar );
-		registrierung->setRahmenBreite( 3 );
-		registrierung->setAlphaFeldFarbe( 0xFF000000 );
-		registrierung->setAlphaFeldStrength( 20 );
+    if( me.id == ME_RLinks )
+    {
+        vorLogin->setRegistrierung();
+        fenster->addStyle( Fenster::Style::Sichtbar );
+        registrierung->setRahmenBreite( 3 );
+        registrierung->setAlphaFeldFarbe( 0xFF000000 );
+        registrierung->setAlphaFeldStrength( 20 );
 
-		Punkt bildchirmGröße = BildschirmGröße();
-		text->removeStyle( TextFeld::Style::Sichtbar );
-		weiter->setPosition( 124, 200 );
-		weiter->setText( "Weiter" );
-		fenster->setSize( 350, 262 );
-		fenster->setPosition( bildchirmGröße.x / 2 - 175, bildchirmGröße.y / 2 - 131 );
-		fenster->setTitel( "Account erstellen" );
-		name->addStyle( TextFeld::Style::Sichtbar );
-		passwort->addStyle( TextFeld::Style::Sichtbar );
-		passwort2->addStyle( TextFeld::Style::Sichtbar );
-		geheimnis->addStyle( TextFeld::Style::Sichtbar );
-		eMail->addStyle( TextFeld::Style::Sichtbar );
-		geburtsdatum->addStyle( TextFeld::Style::Sichtbar );
-		gbdTag->addStyle( TextFeld::Style::Sichtbar );
-		gbdMonat->addStyle( TextFeld::Style::Sichtbar );
-		gbdJahr->addStyle( TextFeld::Style::Sichtbar );
-		name->addStyle( TextFeld::Style::Fokus );
-		name->setAuswahl( name->zText()->getLength(), 0 );
-	}
-	return 1;
+        Punkt bildchirmGröße = BildschirmGröße();
+        text->removeStyle( TextFeld::Style::Sichtbar );
+        weiter->setPosition( 124, 200 );
+        weiter->setText( "Weiter" );
+        fenster->setSize( 350, 262 );
+        fenster->setPosition( bildchirmGröße.x / 2 - 175, bildchirmGröße.y / 2 - 131 );
+        fenster->setTitel( "Account erstellen" );
+        name->addStyle( TextFeld::Style::Sichtbar );
+        passwort->addStyle( TextFeld::Style::Sichtbar );
+        passwort2->addStyle( TextFeld::Style::Sichtbar );
+        geheimnis->addStyle( TextFeld::Style::Sichtbar );
+        eMail->addStyle( TextFeld::Style::Sichtbar );
+        geburtsdatum->addStyle( TextFeld::Style::Sichtbar );
+        gbdTag->addStyle( TextFeld::Style::Sichtbar );
+        gbdMonat->addStyle( TextFeld::Style::Sichtbar );
+        gbdJahr->addStyle( TextFeld::Style::Sichtbar );
+        name->addStyle( TextFeld::Style::Fokus );
+        name->setAuswahl( name->zText()->getLength(), 0 );
+    }
+    return 1;
 }
 
 void Registrierung::setWeiterReturn( bool ret ) // setzt den Weiter Returnwert
 {
-	Punkt bildchirmGröße = BildschirmGröße();
-	if( ret )
-	{
-		name->removeStyle( TextFeld::Style::Sichtbar );
-		passwort->removeStyle( TextFeld::Style::Sichtbar );
-		passwort2->removeStyle( TextFeld::Style::Sichtbar );
-		geheimnis->removeStyle( TextFeld::Style::Sichtbar );
-		eMail->removeStyle( TextFeld::Style::Sichtbar );
-		geburtsdatum->removeStyle( TextFeld::Style::Sichtbar );
-		gbdTag->removeStyle( TextFeld::Style::Sichtbar );
-		gbdMonat->removeStyle( TextFeld::Style::Sichtbar );
-		gbdJahr->removeStyle( TextFeld::Style::Sichtbar );
-		fenster->setSize( 250, 200 );
-		fenster->setPosition( bildchirmGröße.x / 2 - 125, bildchirmGröße.y / 2 - 100 );
-		fenster->setTitel( "Erfolg" );
-		weiter->setPosition( 20, 145 );
-		weiter->setText( "Ok" );
-		text->setText( "Dir wurde eine E-Mail mit einem\naktivierungslink zugeschickt,\nden du in den nächsten 12 Stunden\nbenutzen musst." );
-		text->addStyle( TextFeld::Style::Sichtbar );
-	}
-	else if( lastError.getLength() )
-		zeigeNachricht( lastError );
+    Punkt bildchirmGröße = BildschirmGröße();
+    if( ret )
+    {
+        name->removeStyle( TextFeld::Style::Sichtbar );
+        passwort->removeStyle( TextFeld::Style::Sichtbar );
+        passwort2->removeStyle( TextFeld::Style::Sichtbar );
+        geheimnis->removeStyle( TextFeld::Style::Sichtbar );
+        eMail->removeStyle( TextFeld::Style::Sichtbar );
+        geburtsdatum->removeStyle( TextFeld::Style::Sichtbar );
+        gbdTag->removeStyle( TextFeld::Style::Sichtbar );
+        gbdMonat->removeStyle( TextFeld::Style::Sichtbar );
+        gbdJahr->removeStyle( TextFeld::Style::Sichtbar );
+        fenster->setSize( 250, 200 );
+        fenster->setPosition( bildchirmGröße.x / 2 - 125, bildchirmGröße.y / 2 - 100 );
+        fenster->setTitel( "Erfolg" );
+        weiter->setPosition( 20, 145 );
+        weiter->setText( "Ok" );
+        text->setText( "Dir wurde eine E-Mail mit einem\naktivierungslink zugeschickt,\nden du in den nächsten 12 Stunden\nbenutzen musst." );
+        text->addStyle( TextFeld::Style::Sichtbar );
+    }
+    else if( lastError.getLength() )
+        zeigeNachricht( lastError );
 }
 
 // Reference Counting
 Registrierung *Registrierung::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 Registrierung *Registrierung::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 // Ereignisse
 bool registrierungNameTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (Registrierung*)p )->nameTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (Registrierung *)p )->nameTE( obj, te );
 }
 
 bool registrierungPasswortTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (Registrierung*)p )->passwortTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (Registrierung *)p )->passwortTE( obj, te );
 }
 
 bool registrierungPasswort2TE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (Registrierung*)p )->passwort2TE( obj, te );
+    if( !p )
+        return 0;
+    return ( (Registrierung *)p )->passwort2TE( obj, te );
 }
 
 bool registrierungGeheimnisTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (Registrierung*)p )->geheimnisTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (Registrierung *)p )->geheimnisTE( obj, te );
 }
 
 bool registrierungEMailTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (Registrierung*)p )->eMailTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (Registrierung *)p )->eMailTE( obj, te );
 }
 
 bool registrierungWeiterME( void *p, void *obj, MausEreignis me )
 {
-	if( !p )
-		return 0;
-	return ( (Registrierung*)p )->weiterME( obj, me );
+    if( !p )
+        return 0;
+    return ( (Registrierung *)p )->weiterME( obj, me );
 }
 
 bool registrierungRegistrierungME( void *p, void *obj, MausEreignis me )
 {
-	if( !p )
-		return 0;
-	return ( (Registrierung*)p )->registrierungME( obj, me );
+    if( !p )
+        return 0;
+    return ( (Registrierung *)p )->registrierungME( obj, me );
 }

+ 248 - 245
KSGClient/VorLogin/Account verwalten/Unregistrierung.cpp

@@ -8,331 +8,334 @@
 // Konstruktor 
 Unregistrierung::Unregistrierung( Schrift *zSchrift, Fenster *zVorLoginFenster )
 {
-	Punkt bildschirmGröße = BildschirmGröße();
-	unregistrierung = initKnopf( 10, 130, 130, 30, zSchrift, Knopf::Style::Sichtbar, "Account remove" );
-	unregistrierung->setMausEreignisParameter( this );
-	unregistrierung->setMausEreignis( unregistrierungUnregistrierungME );
-	initToolTip( unregistrierung, "Account für alle Zeiten entfernen.", zSchrift->getThis(), hauptScreen );
-	zVorLoginFenster->addMember( unregistrierung );
-	fenster = initFenster( bildschirmGröße.x / 2 - 125, bildschirmGröße.y / 2 - 85, 250, 170, zSchrift, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "Account remove" );
-	name = initTextFeld( 24, 20, 200, 20, zSchrift, TextFeld::Style::TextFeld, "Account Name" );
-	name->setTastaturEreignisParameter( this );
-	name->setTastaturEreignis( unregistrierungNameTE );
-	initToolTip( name, "Account Name eingeben.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( name );
-	passwort = initTextFeld( 24, 50, 200, 20, zSchrift, TextFeld::Style::TextFeld, "Account Passwort" );
-	passwort->setTastaturEreignisParameter( this );
-	passwort->setTastaturEreignis( unregistrierungPasswortTE );
-	initToolTip( passwort, "Account Passwort eingeben.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( passwort );
-	geheimnis = initTextFeld( 24, 80, 200, 20, zSchrift, TextFeld::Style::TextFeld, "Account Geheimnis" );
-	geheimnis->setTastaturEreignisParameter( this );
-	geheimnis->setTastaturEreignis( unregistrierungGeheimnisTE );
-	initToolTip( geheimnis, "Account Geheimnis eingeben.", zSchrift->getThis(), hauptScreen );
-	fenster->addMember( geheimnis );
-	weiter = initKnopf( 74, 110, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Weiter" );
-	weiter->setMausEreignisParameter( this );
-	weiter->setMausEreignis( unregistrierungWeiterME );
-	fenster->addMember( weiter );
-	text = initTextFeld( 0, 5, 250, 170, zSchrift, TextFeld::Style::Mehrzeilig | TextFeld::Style::HCenter, "" );
-	fenster->addMember( text );
-	zVorLoginFenster->addMember( fenster );
-	ref = 1;
+    Punkt bildschirmGröße = BildschirmGröße();
+    unregistrierung = initKnopf( 10, 130, 130, 30, zSchrift, Knopf::Style::Sichtbar, "Account remove" );
+    unregistrierung->setMausEreignisParameter( this );
+    unregistrierung->setMausEreignis( unregistrierungUnregistrierungME );
+    initToolTip( unregistrierung, "Account für alle Zeiten entfernen.", zSchrift->getThis(), hauptScreen );
+    zVorLoginFenster->addMember( unregistrierung );
+    fenster = initFenster( bildschirmGröße.x / 2 - 125, bildschirmGröße.y / 2 - 85, 250, 170, zSchrift, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "Account remove" );
+    name = initTextFeld( 24, 20, 200, 20, zSchrift, TextFeld::Style::TextFeld, "Account Name" );
+    name->setTastaturEreignisParameter( this );
+    name->setTastaturEreignis( unregistrierungNameTE );
+    initToolTip( name, "Account Name eingeben.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( name );
+    passwort = initTextFeld( 24, 50, 200, 20, zSchrift, TextFeld::Style::TextFeld, "Account Passwort" );
+    passwort->setTastaturEreignisParameter( this );
+    passwort->setTastaturEreignis( unregistrierungPasswortTE );
+    initToolTip( passwort, "Account Passwort eingeben.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( passwort );
+    geheimnis = initTextFeld( 24, 80, 200, 20, zSchrift, TextFeld::Style::TextFeld, "Account Geheimnis" );
+    geheimnis->setTastaturEreignisParameter( this );
+    geheimnis->setTastaturEreignis( unregistrierungGeheimnisTE );
+    initToolTip( geheimnis, "Account Geheimnis eingeben.", zSchrift->getThis(), hauptScreen );
+    fenster->addMember( geheimnis );
+    weiter = initKnopf( 74, 110, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Weiter" );
+    weiter->setMausEreignisParameter( this );
+    weiter->setMausEreignis( unregistrierungWeiterME );
+    fenster->addMember( weiter );
+    text = initTextFeld( 0, 5, 250, 170, zSchrift, TextFeld::Style::Mehrzeilig | TextFeld::Style::HCenter, "" );
+    fenster->addMember( text );
+    zVorLoginFenster->addMember( fenster );
+    ref = 1;
 }
 
 // Destruktor 
 Unregistrierung::~Unregistrierung()
 {
-	if( fenster )
-		fenster = fenster->release();
-	if( name )
-		name = name->release();
-	if( passwort )
-		passwort = passwort->release();
-	if( geheimnis )
-		geheimnis = geheimnis->release();
-	if( weiter )
-		weiter = weiter->release();
-	if( text )
-		text = text->release();
-	if( unregistrierung )
-		unregistrierung = unregistrierung->release();
+    if( fenster )
+        fenster = (Fenster *)fenster->release();
+    if( name )
+        name = (TextFeld *)name->release();
+    if( passwort )
+        passwort = (TextFeld *)passwort->release();
+    if( geheimnis )
+        geheimnis = (TextFeld *)geheimnis->release();
+    if( weiter )
+        weiter = (Knopf *)weiter->release();
+    if( text )
+        text = (TextFeld *)text->release();
+    if( unregistrierung )
+        unregistrierung = (Knopf *)unregistrierung->release();
 }
 
 // Privat
 void Unregistrierung::zeigeNachricht( const char *txt )
 {
-	Punkt bildschirmmitte = Bildschirmmitte();
-	name->removeStyle( TextFeld::Style::Sichtbar );
-	passwort->removeStyle( TextFeld::Style::Sichtbar );
-	geheimnis->removeStyle( TextFeld::Style::Sichtbar );
-	fenster->setSize( 250, 150 );
-	fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 75 );
-	weiter->setPosition( 139, 100 );
-	weiter->setText( "Ok" );
-	text->setText( txt );
-	if( text->zText()->getLength() > 30 )
-	{
-		int pos = -1;
-		bool set = 0;
-		int lastp = 0;
-		for( int i = 20; i < text->zText()->getLength(); )
-		{
-			char *tmp = &text->zText()->getText()[ i ];
-			while( *tmp != ' ' && i < text->zText()->getLength() )
-			{
-				tmp++;
-				i++;
-				if( i - 30 >= lastp )
-				{
-					if( set )
-					{
-						lastp = pos;
-						set = 0;
-						text->zText()->getText()[ pos ] = '\n';
-					}
-					else
-						lastp += 5;
-				}
-			}
-			if( i < text->zText()->getLength() )
-			{
-				pos = i;
-				set = 1;
-				tmp++;
-				i++;
-			}
-		}
-	}
-	text->addStyle( TextFeld::Style::Sichtbar );
+    Punkt bildschirmmitte = Bildschirmmitte();
+    name->removeStyle( TextFeld::Style::Sichtbar );
+    passwort->removeStyle( TextFeld::Style::Sichtbar );
+    geheimnis->removeStyle( TextFeld::Style::Sichtbar );
+    fenster->setSize( 250, 150 );
+    fenster->setPosition( bildschirmmitte.x - 125, bildschirmmitte.y - 75 );
+    weiter->setPosition( 139, 100 );
+    weiter->setText( "Ok" );
+    text->setText( txt );
+    if( text->zText()->getLength() > 30 )
+    {
+        int pos = -1;
+        bool set = 0;
+        int lastp = 0;
+        for( int i = 20; i < text->zText()->getLength(); )
+        {
+            char *tmp = &text->zText()->getText()[ i ];
+            while( *tmp != ' ' && i < text->zText()->getLength() )
+            {
+                tmp++;
+                i++;
+                if( i - 30 >= lastp )
+                {
+                    if( set )
+                    {
+                        lastp = pos;
+                        set = 0;
+                        text->zText()->getText()[ pos ] = '\n';
+                    }
+                    else
+                        lastp += 5;
+                }
+            }
+            if( i < text->zText()->getLength() )
+            {
+                pos = i;
+                set = 1;
+                tmp++;
+                i++;
+            }
+        }
+    }
+    text->addStyle( TextFeld::Style::Sichtbar );
 }
 
 // Knopfdruck
 void Unregistrierung::druckFremdKnopf() // Ein anderer Knopfwurde gedrückt
 {
-	fenster->removeStyle( Fenster::Style::Sichtbar );
-	unregistrierung->setRahmenBreite( 2 );
-	unregistrierung->setAlphaFeldFarbe( 0x5500FF00 );
-	unregistrierung->setAlphaFeldStrength( -5 );
+    fenster->removeStyle( Fenster::Style::Sichtbar );
+    unregistrierung->setRahmenBreite( 2 );
+    unregistrierung->setAlphaFeldFarbe( 0x5500FF00 );
+    unregistrierung->setAlphaFeldStrength( -5 );
 }
 
 bool Unregistrierung::nameTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld name
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
-	{
-		name->removeStyle( TextFeld::Style::Fokus );
-		passwort->addStyle( TextFeld::Style::Fokus );
-		passwort->setAuswahl( passwort->zText()->getLength(), 0 );
-	}
-	if( name->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
+    {
+        name->removeStyle( TextFeld::Style::Fokus );
+        passwort->addStyle( TextFeld::Style::Fokus );
+        passwort->setAuswahl( passwort->zText()->getLength(), 0 );
+    }
+    if( name->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool Unregistrierung::passwortTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld passwort
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Press )
-		passwort->setSchowChar( '*' );
-	if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
-	{
-		passwort->removeStyle( TextFeld::Style::Fokus );
-		geheimnis->addStyle( TextFeld::Style::Fokus );
-		geheimnis->setAuswahl( geheimnis->zText()->getLength(), 0 );
-	}
-	if( passwort->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Press )
+        passwort->setSchowChar( '*' );
+    if( te.id == TE_Release && ( te.taste == T_Enter || te.taste == T_Tab ) )
+    {
+        passwort->removeStyle( TextFeld::Style::Fokus );
+        geheimnis->addStyle( TextFeld::Style::Fokus );
+        geheimnis->setAuswahl( geheimnis->zText()->getLength(), 0 );
+    }
+    if( passwort->zText()->getLength() >= 25 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool Unregistrierung::geheimnisTE( void *obj, TastaturEreignis te ) // Tastaturereignis im Textfeld geheimnis
 {
-	if( te.id == TE_Press && te.taste == T_Enter )
-		return 0;
-	if( te.id == TE_Release && te.taste == T_Enter )
-	{
-		geheimnis->removeStyle( TextFeld::Style::Fokus );
-		MausEreignis me;
-		me.id = ME_RLinks;
-		weiterME( 0, me );
-	}
-	if( geheimnis->zText()->getLength() - abs( geheimnis->getCursorPos() - geheimnis->getSelectionPos() ) >= 50 && istSchreibbar( te.taste ) )
-		return 0;
-	return 1;
+    if( te.id == TE_Press && te.taste == T_Enter )
+        return 0;
+    if( te.id == TE_Release && te.taste == T_Enter )
+    {
+        geheimnis->removeStyle( TextFeld::Style::Fokus );
+        MausEreignis me;
+        me.id = ME_RLinks;
+        weiterME( 0, me );
+    }
+    int selCount = 0;
+    for( int i = 0; i < geheimnis->zText()->getLength(); i++ )
+        selCount += (int)geheimnis->isCharSelected( i );
+    if( geheimnis->zText()->getLength() - selCount >= 50 && istSchreibbar( te.taste ) )
+        return 0;
+    return 1;
 }
 
 bool Unregistrierung::weiterME( void *obj, MausEreignis me ) // MausEreignis im Knopf weiter
 {
-	if( me.id == ME_RLinks )
-	{
-		Punkt bildchirmGröße = BildschirmGröße();
-		if( weiter->zText()->istGleich( "Ok" ) )
-		{
-			text->removeStyle( TextFeld::Style::Sichtbar );
-			weiter->setPosition( 74, 110 );
-			weiter->setText( "Weiter" );
-			fenster->setSize( 250, 170 );
-			fenster->setPosition( bildchirmGröße.x / 2 - 125, bildchirmGröße.y / 2 - 85 );
-			fenster->setTitel( "Account remove" );
-			name->addStyle( TextFeld::Style::Sichtbar );
-			passwort->addStyle( TextFeld::Style::Sichtbar );
-			geheimnis->addStyle( TextFeld::Style::Sichtbar );
-			name->addStyle( TextFeld::Style::Fokus );
-			name->setAuswahl( name->zText()->getLength(), 0 );
-		}
-		else
-		{
-			if( weiter->zText()->istGleich( "Ok" ) )
-			{
-				if( fenster->zTitel()->istGleich( "Account remove" ) )
-				{
-					text->removeStyle( TextFeld::Style::Sichtbar );
-					fenster->setSize( 250, 170 );
-					fenster->setPosition( bildchirmGröße.x / 2 - 125, bildchirmGröße.y / 2 - 85 );
-					weiter->setPosition( 74, 110 );
-					weiter->setText( "Weiter" );
-					name->addStyle( TextFeld::Style::Sichtbar );
-					passwort->addStyle( TextFeld::Style::Sichtbar );
-					geheimnis->addStyle( TextFeld::Style::Sichtbar );
-					name->addStyle( TextFeld::Style::Fokus );
-					name->setAuswahl( name->zText()->getLength(), 0 );
-				}
-				else
-				{
+    if( me.id == ME_RLinks )
+    {
+        Punkt bildchirmGröße = BildschirmGröße();
+        if( weiter->zText()->istGleich( "Ok" ) )
+        {
+            text->removeStyle( TextFeld::Style::Sichtbar );
+            weiter->setPosition( 74, 110 );
+            weiter->setText( "Weiter" );
+            fenster->setSize( 250, 170 );
+            fenster->setPosition( bildchirmGröße.x / 2 - 125, bildchirmGröße.y / 2 - 85 );
+            fenster->setTitel( "Account remove" );
+            name->addStyle( TextFeld::Style::Sichtbar );
+            passwort->addStyle( TextFeld::Style::Sichtbar );
+            geheimnis->addStyle( TextFeld::Style::Sichtbar );
+            name->addStyle( TextFeld::Style::Fokus );
+            name->setAuswahl( name->zText()->getLength(), 0 );
+        }
+        else
+        {
+            if( weiter->zText()->istGleich( "Ok" ) )
+            {
+                if( fenster->zTitel()->istGleich( "Account remove" ) )
+                {
+                    text->removeStyle( TextFeld::Style::Sichtbar );
+                    fenster->setSize( 250, 170 );
+                    fenster->setPosition( bildchirmGröße.x / 2 - 125, bildchirmGröße.y / 2 - 85 );
+                    weiter->setPosition( 74, 110 );
+                    weiter->setText( "Weiter" );
+                    name->addStyle( TextFeld::Style::Sichtbar );
+                    passwort->addStyle( TextFeld::Style::Sichtbar );
+                    geheimnis->addStyle( TextFeld::Style::Sichtbar );
+                    name->addStyle( TextFeld::Style::Fokus );
+                    name->setAuswahl( name->zText()->getLength(), 0 );
+                }
+                else
+                {
                     fenster->setSize( 250, 200 );
                     fenster->setPosition( bildchirmGröße.x / 2 - 125, bildchirmGröße.y / 2 - 100 );
                     weiter->setPosition( 20, 115 );
                     weiter->setText( "Ok" );
                     text->setText( "Dir wurde eine E-Mail mit einem\nLink zur Bestätigung zugeschickt,\nden du in den nächsten 12 Stunden\nbenutzen musst." );
-				}
-			}
-			else
-			{
-				if( name->zText()->getLength() == 0 ||
-					passwort->zText()->getLength() == 0 ||
-					geheimnis->zText()->getLength() == 0 )
-				{
-					if( name->zText()->getLength() == 0 )
-						zeigeNachricht( "Bitte gebe deinen Accountnamen\nein." );
-					else if( passwort->zText()->getLength() == 0 )
-						zeigeNachricht( "Bitte gebe dein Accountpasswort\nein." );
-					else if( geheimnis->zText()->getLength() == 0 )
-						zeigeNachricht( "Bitte gebe dein Accountgeheimnis\nein." );
-					return 1;
-				}
-				new AktionsThread( 17, name->zText()->getText(), passwort->zText()->getText(), geheimnis->zText()->getText(), 0, 0 );
-			}
-		}
-	}
-	return 1;
+                }
+            }
+            else
+            {
+                if( name->zText()->getLength() == 0 ||
+                    passwort->zText()->getLength() == 0 ||
+                    geheimnis->zText()->getLength() == 0 )
+                {
+                    if( name->zText()->getLength() == 0 )
+                        zeigeNachricht( "Bitte gebe deinen Accountnamen\nein." );
+                    else if( passwort->zText()->getLength() == 0 )
+                        zeigeNachricht( "Bitte gebe dein Accountpasswort\nein." );
+                    else if( geheimnis->zText()->getLength() == 0 )
+                        zeigeNachricht( "Bitte gebe dein Accountgeheimnis\nein." );
+                    return 1;
+                }
+                new AktionsThread( 17, name->zText()->getText(), passwort->zText()->getText(), geheimnis->zText()->getText(), 0, 0 );
+            }
+        }
+    }
+    return 1;
 }
 
 bool Unregistrierung::unregistrierungME( void *obj, MausEreignis me ) // MausEreignis im Knopf unregistrierung
 {
-	if( me.id == ME_RLinks )
-	{
-		vorLogin->setUnregistrierung();
+    if( me.id == ME_RLinks )
+    {
+        vorLogin->setUnregistrierung();
 
-		fenster->addStyle( Fenster::Style::Sichtbar );
-		unregistrierung->setRahmenBreite( 3 );
-		unregistrierung->setAlphaFeldFarbe( 0xFF000000 );
-		unregistrierung->setAlphaFeldStrength( 20 );
+        fenster->addStyle( Fenster::Style::Sichtbar );
+        unregistrierung->setRahmenBreite( 3 );
+        unregistrierung->setAlphaFeldFarbe( 0xFF000000 );
+        unregistrierung->setAlphaFeldStrength( 20 );
 
-		text->removeStyle( TextFeld::Style::Sichtbar );
-		weiter->setPosition( 74, 110 );
-		weiter->setText( "Weiter" );
-		fenster->setTitel( "Account remove" );
-		fenster->setSize( 250, 170 );
-		Punkt bildchirmGröße = BildschirmGröße();
-		fenster->setPosition( bildchirmGröße.x / 2 - 125, bildchirmGröße.y / 2 - 85 );
-		name->addStyle( TextFeld::Style::Sichtbar );
-		passwort->addStyle( TextFeld::Style::Sichtbar );
-		geheimnis->addStyle( TextFeld::Style::Sichtbar );
-		name->addStyle( TextFeld::Style::Fokus );
-		name->setAuswahl( name->zText()->getLength(), 0 );
-	}
-	return 1;
+        text->removeStyle( TextFeld::Style::Sichtbar );
+        weiter->setPosition( 74, 110 );
+        weiter->setText( "Weiter" );
+        fenster->setTitel( "Account remove" );
+        fenster->setSize( 250, 170 );
+        Punkt bildchirmGröße = BildschirmGröße();
+        fenster->setPosition( bildchirmGröße.x / 2 - 125, bildchirmGröße.y / 2 - 85 );
+        name->addStyle( TextFeld::Style::Sichtbar );
+        passwort->addStyle( TextFeld::Style::Sichtbar );
+        geheimnis->addStyle( TextFeld::Style::Sichtbar );
+        name->addStyle( TextFeld::Style::Fokus );
+        name->setAuswahl( name->zText()->getLength(), 0 );
+    }
+    return 1;
 }
 
 void Unregistrierung::setWeiterReturn( bool ret ) // setzt den Weiter Returnwert
 {
-	Punkt bildchirmGröße = BildschirmGröße();
-	if( ret )
-	{
-		name->removeStyle( TextFeld::Style::Sichtbar );
-		passwort->removeStyle( TextFeld::Style::Sichtbar );
-		geheimnis->removeStyle( TextFeld::Style::Sichtbar );
-		fenster->setTitel( "Account deaktiveren" );
-		fenster->setSize( 250, 200 );
-		fenster->setPosition( bildchirmGröße.x / 2 - 125, bildchirmGröße.y / 2 - 100 );
-		weiter->setPosition( 20, 115 );
-		weiter->setText( "Ok" );
+    Punkt bildchirmGröße = BildschirmGröße();
+    if( ret )
+    {
+        name->removeStyle( TextFeld::Style::Sichtbar );
+        passwort->removeStyle( TextFeld::Style::Sichtbar );
+        geheimnis->removeStyle( TextFeld::Style::Sichtbar );
+        fenster->setTitel( "Account deaktiveren" );
+        fenster->setSize( 250, 200 );
+        fenster->setPosition( bildchirmGröße.x / 2 - 125, bildchirmGröße.y / 2 - 100 );
+        weiter->setPosition( 20, 115 );
+        weiter->setText( "Ok" );
         text->setText( "Dir wurde eine E-Mail mit einem\nLink zur Bestätigung zugeschickt,\nden du in den nächsten 12 Stunden\nbenutzen musst." );
-		text->addStyle( TextFeld::Style::Sichtbar );
-	}
-	else if( lastError.getLength() )
-		zeigeNachricht( lastError );
+        text->addStyle( TextFeld::Style::Sichtbar );
+    }
+    else if( lastError.getLength() )
+        zeigeNachricht( lastError );
 }
 
 void Unregistrierung::setFertigReturn( bool ret ) // setzt den Fertig Returnwert
 {
-	if( ret )
-		vorLogin->setLogin( 0 );
-	else
-		zeigeNachricht( lastError );
+    if( ret )
+        vorLogin->setLogin( 0 );
+    else
+        zeigeNachricht( lastError );
 }
 
 // Reference Counting
 Unregistrierung *Unregistrierung::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 Unregistrierung *Unregistrierung::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 
 // Ereignisse
 bool unregistrierungNameTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (Unregistrierung*)p )->nameTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (Unregistrierung *)p )->nameTE( obj, te );
 }
 
 bool unregistrierungPasswortTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (Unregistrierung*)p )->passwortTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (Unregistrierung *)p )->passwortTE( obj, te );
 }
 
 bool unregistrierungGeheimnisTE( void *p, void *obj, TastaturEreignis te )
 {
-	if( !p )
-		return 0;
-	return ( (Unregistrierung*)p )->geheimnisTE( obj, te );
+    if( !p )
+        return 0;
+    return ( (Unregistrierung *)p )->geheimnisTE( obj, te );
 }
 
 bool unregistrierungWeiterME( void *p, void *obj, MausEreignis me )
 {
-	if( !p )
-		return 0;
-	return ( (Unregistrierung*)p )->weiterME( obj, me );
+    if( !p )
+        return 0;
+    return ( (Unregistrierung *)p )->weiterME( obj, me );
 }
 
 bool unregistrierungUnregistrierungME( void *p, void *obj, MausEreignis me )
 {
-	if( !p )
-		return 0;
-	return ( (Unregistrierung*)p )->unregistrierungME( obj, me );
+    if( !p )
+        return 0;
+    return ( (Unregistrierung *)p )->unregistrierungME( obj, me );
 }

+ 9 - 9
KSGClient/VorLogin/Login/Login.cpp

@@ -56,23 +56,23 @@ Login::Login( Schrift *zSchrift, Fenster *vorLoginFenster )
 Login::~Login()
 {
 	if( fenster )
-		fenster = fenster->release();
+		fenster = (Fenster *)fenster->release();
 	if( name )
-		name = name->release();
+		name = (TextFeld *)name->release();
 	if( passwort )
-		passwort = passwort->release();
+		passwort = (TextFeld *)passwort->release();
 	if( nachricht )
-		nachricht = nachricht->release();
+		nachricht = (TextFeld *)nachricht->release();
 	if( geheimnis )
-		geheimnis = geheimnis->release();
+		geheimnis = (TextFeld *)geheimnis->release();
 	if( weiter )
-		weiter = weiter->release();
+		weiter = (Knopf *)weiter->release();
 	if( abbrechen )
-		abbrechen = abbrechen->release();
+		abbrechen = (Knopf *)abbrechen->release();
 	if( ok )
-		ok = ok->release();
+		ok = (Knopf *)ok->release();
 	if( login )
-		login = login->release();
+		login = (Knopf *)login->release();
 }
 
 // Knopfdruck

+ 295 - 295
KSGClient/VorLogin/VorLogin.cpp

@@ -5,447 +5,447 @@
 // Konstruktor 
 VorLogin::VorLogin( Schrift *zSchrift, Bildschirm *zBildschirm )
 {
-	if( zSchrift )
-		schrift = zSchrift->getThis();
-	if( zBildschirm )
-		bildschirm = zBildschirm->getThis();
-	fenster = 0;
-	beenden = 0;
-	login = 0;
-	eMailÄndern = 0;
-	eMailVergessen = 0;
-	geheimnisÄndern = 0;
-	geheimnisVergessen = 0;
-	nameVergessen = 0;
-	passwortÄndern = 0;
-	passwortVergessen = 0;
-	registrierung = 0;
-	unregistrierung = 0;
-	ref = 1;
+    if( zSchrift )
+        schrift = zSchrift->getThis();
+    if( zBildschirm )
+        bildschirm = zBildschirm->getThis();
+    fenster = 0;
+    beenden = 0;
+    login = 0;
+    eMailÄndern = 0;
+    eMailVergessen = 0;
+    geheimnisÄndern = 0;
+    geheimnisVergessen = 0;
+    nameVergessen = 0;
+    passwortÄndern = 0;
+    passwortVergessen = 0;
+    registrierung = 0;
+    unregistrierung = 0;
+    ref = 1;
 }
 
 // Destruktor 
 VorLogin::~VorLogin()
 {
-	if( fenster )
-		setSichtbar( 0 );
-	if( schrift )
-		schrift = schrift->release();
-	if( bildschirm )
-		bildschirm = bildschirm->release();
+    if( fenster )
+        setSichtbar( 0 );
+    if( schrift )
+        schrift = schrift->release();
+    if( bildschirm )
+        bildschirm = bildschirm->release();
 }
 
 // nicht constant
 void VorLogin::setSichtbar( bool s ) // Setzt die Sichtbarkeit der VorLogin Oberfräche
 {
-	if( s )
-	{
-		if( fenster )
-			setSichtbar( 0 );
-		fenster = new Fenster();
-		fenster->setStyle( Fenster::Style::Erlaubt | Fenster::Style::Sichtbar );
-		fenster->setSize( bildschirm->getBackBufferSize() );
-		fenster->setPosition( 0, 0 );
-		beenden = initKnopf( 10, 10, 130, 30, schrift, Knopf::Style::Sichtbar, "Beenden" );
-		beenden->setMausEreignis( VorLoginBeendenME );
-		initToolTip( beenden, "Beendet den Kolja-Strohm Games Client.", schrift->getThis(), bildschirm );
-		fenster->addMember( beenden );
-		login = new Login( schrift, fenster );
-		eMailÄndern = new EMailÄndern( schrift, fenster );
-		eMailVergessen = new EMailVergessen( schrift, fenster );
-		geheimnisÄndern = new GeheimnisÄndern( schrift, fenster );
-		geheimnisVergessen = new GeheimnisVergessen( schrift, fenster );
-		nameVergessen = new NameVergessen( schrift, fenster );
-		passwortÄndern = new PasswortÄndern( schrift, fenster );
-		passwortVergessen = new PasswortVergessen( schrift, fenster );
-		registrierung = new Registrierung( schrift, fenster );
-		unregistrierung = new Unregistrierung( schrift, fenster );
-		bildschirm->addMember( fenster );
-	}
-	else
-	{
-		if( bildschirm )
-			bildschirm->removeMember( fenster );
-		if( beenden )
-			beenden = beenden->release();
-		if( login )
-			login = login->release();
-		if( eMailÄndern )
-			eMailÄndern = eMailÄndern->release();
-		if( eMailVergessen )
-			eMailVergessen = eMailVergessen->release();
-		if( geheimnisÄndern )
-			geheimnisÄndern = geheimnisÄndern->release();
-		if( geheimnisVergessen )
-			geheimnisVergessen = geheimnisVergessen->release();
-		if( nameVergessen )
-			nameVergessen = nameVergessen->release();
-		if( passwortÄndern )
-			passwortÄndern = passwortÄndern->release();
-		if( passwortVergessen )
-			passwortVergessen = passwortVergessen->release();
-		if( registrierung )
-			registrierung = registrierung->release();
-		if( unregistrierung )
-			unregistrierung = unregistrierung->release();
-		if( fenster )
-			fenster = fenster->release();
-	}
+    if( s )
+    {
+        if( fenster )
+            setSichtbar( 0 );
+        fenster = new Fenster();
+        fenster->setStyle( Fenster::Style::Erlaubt | Fenster::Style::Sichtbar );
+        fenster->setSize( bildschirm->getBackBufferSize() );
+        fenster->setPosition( 0, 0 );
+        beenden = initKnopf( 10, 10, 130, 30, schrift, Knopf::Style::Sichtbar, "Beenden" );
+        beenden->setMausEreignis( VorLoginBeendenME );
+        initToolTip( beenden, "Beendet den Kolja-Strohm Games Client.", schrift->getThis(), bildschirm );
+        fenster->addMember( beenden );
+        login = new Login( schrift, fenster );
+        eMailÄndern = new EMailÄndern( schrift, fenster );
+        eMailVergessen = new EMailVergessen( schrift, fenster );
+        geheimnisÄndern = new GeheimnisÄndern( schrift, fenster );
+        geheimnisVergessen = new GeheimnisVergessen( schrift, fenster );
+        nameVergessen = new NameVergessen( schrift, fenster );
+        passwortÄndern = new PasswortÄndern( schrift, fenster );
+        passwortVergessen = new PasswortVergessen( schrift, fenster );
+        registrierung = new Registrierung( schrift, fenster );
+        unregistrierung = new Unregistrierung( schrift, fenster );
+        bildschirm->addMember( fenster );
+    }
+    else
+    {
+        if( bildschirm )
+            bildschirm->removeMember( fenster );
+        if( beenden )
+            beenden = (Knopf *)beenden->release();
+        if( login )
+            login = login->release();
+        if( eMailÄndern )
+            eMailÄndern = eMailÄndern->release();
+        if( eMailVergessen )
+            eMailVergessen = eMailVergessen->release();
+        if( geheimnisÄndern )
+            geheimnisÄndern = geheimnisÄndern->release();
+        if( geheimnisVergessen )
+            geheimnisVergessen = geheimnisVergessen->release();
+        if( nameVergessen )
+            nameVergessen = nameVergessen->release();
+        if( passwortÄndern )
+            passwortÄndern = passwortÄndern->release();
+        if( passwortVergessen )
+            passwortVergessen = passwortVergessen->release();
+        if( registrierung )
+            registrierung = registrierung->release();
+        if( unregistrierung )
+            unregistrierung = unregistrierung->release();
+        if( fenster )
+            fenster = (Fenster *)fenster->release();
+    }
 }
 
 void VorLogin::setLogin( bool knopfPress ) // macht Login Oberfläche sichtbar
 {
-	if( !knopfPress )
-	{
-		MausEreignis me;
-		me.id = ME_RLinks;
-		if( login )
-			login->loginME( 0, me );
-		return;
-	}
-	if( registrierung )
-		registrierung->druckFremdKnopf();
-	if( unregistrierung )
-		unregistrierung->druckFremdKnopf();
-	if( passwortÄndern )
-		passwortÄndern->druckFremdKnopf();
-	if( passwortVergessen )
-		passwortVergessen->druckFremdKnopf();
-	if( eMailÄndern )
-		eMailÄndern->druckFremdKnopf();
-	if( eMailVergessen )
-		eMailVergessen->druckFremdKnopf();
-	if( geheimnisÄndern )
-		geheimnisÄndern->druckFremdKnopf();
-	if( geheimnisVergessen )
-		geheimnisVergessen->druckFremdKnopf();
-	if( nameVergessen )
-		nameVergessen->druckFremdKnopf();
+    if( !knopfPress )
+    {
+        MausEreignis me;
+        me.id = ME_RLinks;
+        if( login )
+            login->loginME( 0, me );
+        return;
+    }
+    if( registrierung )
+        registrierung->druckFremdKnopf();
+    if( unregistrierung )
+        unregistrierung->druckFremdKnopf();
+    if( passwortÄndern )
+        passwortÄndern->druckFremdKnopf();
+    if( passwortVergessen )
+        passwortVergessen->druckFremdKnopf();
+    if( eMailÄndern )
+        eMailÄndern->druckFremdKnopf();
+    if( eMailVergessen )
+        eMailVergessen->druckFremdKnopf();
+    if( geheimnisÄndern )
+        geheimnisÄndern->druckFremdKnopf();
+    if( geheimnisVergessen )
+        geheimnisVergessen->druckFremdKnopf();
+    if( nameVergessen )
+        nameVergessen->druckFremdKnopf();
 }
 
 void VorLogin::setEMailÄndern() // macht EMailÄndern Oberfläche sichtbar
 {
-	if( registrierung )
-		registrierung->druckFremdKnopf();
-	if( unregistrierung )
-		unregistrierung->druckFremdKnopf();
-	if( passwortÄndern )
-		passwortÄndern->druckFremdKnopf();
-	if( passwortVergessen )
-		passwortVergessen->druckFremdKnopf();
-	if( eMailVergessen )
-		eMailVergessen->druckFremdKnopf();
-	if( geheimnisÄndern )
-		geheimnisÄndern->druckFremdKnopf();
-	if( geheimnisVergessen )
-		geheimnisVergessen->druckFremdKnopf();
-	if( nameVergessen )
-		nameVergessen->druckFremdKnopf();
-	if( login )
-		login->druckFremdKnopf();
+    if( registrierung )
+        registrierung->druckFremdKnopf();
+    if( unregistrierung )
+        unregistrierung->druckFremdKnopf();
+    if( passwortÄndern )
+        passwortÄndern->druckFremdKnopf();
+    if( passwortVergessen )
+        passwortVergessen->druckFremdKnopf();
+    if( eMailVergessen )
+        eMailVergessen->druckFremdKnopf();
+    if( geheimnisÄndern )
+        geheimnisÄndern->druckFremdKnopf();
+    if( geheimnisVergessen )
+        geheimnisVergessen->druckFremdKnopf();
+    if( nameVergessen )
+        nameVergessen->druckFremdKnopf();
+    if( login )
+        login->druckFremdKnopf();
 }
 
 void VorLogin::setEMailVergessen() // macht EMailVergessen Oberfläche sichtbar
 {
-	if( registrierung )
-		registrierung->druckFremdKnopf();
-	if( unregistrierung )
-		unregistrierung->druckFremdKnopf();
-	if( passwortÄndern )
-		passwortÄndern->druckFremdKnopf();
-	if( passwortVergessen )
-		passwortVergessen->druckFremdKnopf();
-	if( eMailÄndern )
-		eMailÄndern->druckFremdKnopf();
-	if( geheimnisÄndern )
-		geheimnisÄndern->druckFremdKnopf();
-	if( geheimnisVergessen )
-		geheimnisVergessen->druckFremdKnopf();
-	if( nameVergessen )
-		nameVergessen->druckFremdKnopf();
-	if( login )
-		login->druckFremdKnopf();
+    if( registrierung )
+        registrierung->druckFremdKnopf();
+    if( unregistrierung )
+        unregistrierung->druckFremdKnopf();
+    if( passwortÄndern )
+        passwortÄndern->druckFremdKnopf();
+    if( passwortVergessen )
+        passwortVergessen->druckFremdKnopf();
+    if( eMailÄndern )
+        eMailÄndern->druckFremdKnopf();
+    if( geheimnisÄndern )
+        geheimnisÄndern->druckFremdKnopf();
+    if( geheimnisVergessen )
+        geheimnisVergessen->druckFremdKnopf();
+    if( nameVergessen )
+        nameVergessen->druckFremdKnopf();
+    if( login )
+        login->druckFremdKnopf();
 }
 
 void VorLogin::setGeheimnisÄndern() // macht GeheimnisÄndern Oberfläche sichtbar
 {
-	if( registrierung )
-		registrierung->druckFremdKnopf();
-	if( unregistrierung )
-		unregistrierung->druckFremdKnopf();
-	if( passwortÄndern )
-		passwortÄndern->druckFremdKnopf();
-	if( passwortVergessen )
-		passwortVergessen->druckFremdKnopf();
-	if( eMailÄndern )
-		eMailÄndern->druckFremdKnopf();
-	if( eMailVergessen )
-		eMailVergessen->druckFremdKnopf();
-	if( geheimnisVergessen )
-		geheimnisVergessen->druckFremdKnopf();
-	if( nameVergessen )
-		nameVergessen->druckFremdKnopf();
-	if( login )
-		login->druckFremdKnopf();
+    if( registrierung )
+        registrierung->druckFremdKnopf();
+    if( unregistrierung )
+        unregistrierung->druckFremdKnopf();
+    if( passwortÄndern )
+        passwortÄndern->druckFremdKnopf();
+    if( passwortVergessen )
+        passwortVergessen->druckFremdKnopf();
+    if( eMailÄndern )
+        eMailÄndern->druckFremdKnopf();
+    if( eMailVergessen )
+        eMailVergessen->druckFremdKnopf();
+    if( geheimnisVergessen )
+        geheimnisVergessen->druckFremdKnopf();
+    if( nameVergessen )
+        nameVergessen->druckFremdKnopf();
+    if( login )
+        login->druckFremdKnopf();
 }
 
 void VorLogin::setGeheilnisVergessen() // macht GeheimnisVergessen Oberfläche sichtbar
 {
-	if( registrierung )
-		registrierung->druckFremdKnopf();
-	if( unregistrierung )
-		unregistrierung->druckFremdKnopf();
-	if( passwortÄndern )
-		passwortÄndern->druckFremdKnopf();
-	if( passwortVergessen )
-		passwortVergessen->druckFremdKnopf();
-	if( eMailÄndern )
-		eMailÄndern->druckFremdKnopf();
-	if( eMailVergessen )
-		eMailVergessen->druckFremdKnopf();
-	if( geheimnisÄndern )
-		geheimnisÄndern->druckFremdKnopf();
-	if( nameVergessen )
-		nameVergessen->druckFremdKnopf();
-	if( login )
-		login->druckFremdKnopf();
+    if( registrierung )
+        registrierung->druckFremdKnopf();
+    if( unregistrierung )
+        unregistrierung->druckFremdKnopf();
+    if( passwortÄndern )
+        passwortÄndern->druckFremdKnopf();
+    if( passwortVergessen )
+        passwortVergessen->druckFremdKnopf();
+    if( eMailÄndern )
+        eMailÄndern->druckFremdKnopf();
+    if( eMailVergessen )
+        eMailVergessen->druckFremdKnopf();
+    if( geheimnisÄndern )
+        geheimnisÄndern->druckFremdKnopf();
+    if( nameVergessen )
+        nameVergessen->druckFremdKnopf();
+    if( login )
+        login->druckFremdKnopf();
 }
 
 void VorLogin::setNameVergessen() // macht NameVergessen Oberfläche sichtbar
 {
-	if( registrierung )
-		registrierung->druckFremdKnopf();
-	if( unregistrierung )
-		unregistrierung->druckFremdKnopf();
-	if( passwortÄndern )
-		passwortÄndern->druckFremdKnopf();
-	if( passwortVergessen )
-		passwortVergessen->druckFremdKnopf();
-	if( eMailÄndern )
-		eMailÄndern->druckFremdKnopf();
-	if( eMailVergessen )
-		eMailVergessen->druckFremdKnopf();
-	if( geheimnisÄndern )
-		geheimnisÄndern->druckFremdKnopf();
-	if( geheimnisVergessen )
-		geheimnisVergessen->druckFremdKnopf();
-	if( login )
-		login->druckFremdKnopf();
+    if( registrierung )
+        registrierung->druckFremdKnopf();
+    if( unregistrierung )
+        unregistrierung->druckFremdKnopf();
+    if( passwortÄndern )
+        passwortÄndern->druckFremdKnopf();
+    if( passwortVergessen )
+        passwortVergessen->druckFremdKnopf();
+    if( eMailÄndern )
+        eMailÄndern->druckFremdKnopf();
+    if( eMailVergessen )
+        eMailVergessen->druckFremdKnopf();
+    if( geheimnisÄndern )
+        geheimnisÄndern->druckFremdKnopf();
+    if( geheimnisVergessen )
+        geheimnisVergessen->druckFremdKnopf();
+    if( login )
+        login->druckFremdKnopf();
 }
 
 void VorLogin::setPasswortÄndern() // macht PasswortÄndern Oberfläche sichtbar
 {
-	if( registrierung )
-		registrierung->druckFremdKnopf();
-	if( unregistrierung )
-		unregistrierung->druckFremdKnopf();
-	if( nameVergessen )
-		nameVergessen->druckFremdKnopf();
-	if( passwortVergessen )
-		passwortVergessen->druckFremdKnopf();
-	if( eMailÄndern )
-		eMailÄndern->druckFremdKnopf();
-	if( eMailVergessen )
-		eMailVergessen->druckFremdKnopf();
-	if( geheimnisÄndern )
-		geheimnisÄndern->druckFremdKnopf();
-	if( geheimnisVergessen )
-		geheimnisVergessen->druckFremdKnopf();
-	if( login )
-		login->druckFremdKnopf();
+    if( registrierung )
+        registrierung->druckFremdKnopf();
+    if( unregistrierung )
+        unregistrierung->druckFremdKnopf();
+    if( nameVergessen )
+        nameVergessen->druckFremdKnopf();
+    if( passwortVergessen )
+        passwortVergessen->druckFremdKnopf();
+    if( eMailÄndern )
+        eMailÄndern->druckFremdKnopf();
+    if( eMailVergessen )
+        eMailVergessen->druckFremdKnopf();
+    if( geheimnisÄndern )
+        geheimnisÄndern->druckFremdKnopf();
+    if( geheimnisVergessen )
+        geheimnisVergessen->druckFremdKnopf();
+    if( login )
+        login->druckFremdKnopf();
 }
 
 void VorLogin::setPasswortVergessen() // macht passwortVergessen Oberfläche sichtbar
 {
-	if( registrierung )
-		registrierung->druckFremdKnopf();
-	if( unregistrierung )
-		unregistrierung->druckFremdKnopf();
-	if( nameVergessen )
-		nameVergessen->druckFremdKnopf();
-	if( passwortÄndern )
-		passwortÄndern->druckFremdKnopf();
-	if( eMailÄndern )
-		eMailÄndern->druckFremdKnopf();
-	if( eMailVergessen )
-		eMailVergessen->druckFremdKnopf();
-	if( geheimnisÄndern )
-		geheimnisÄndern->druckFremdKnopf();
-	if( geheimnisVergessen )
-		geheimnisVergessen->druckFremdKnopf();
-	if( login )
-		login->druckFremdKnopf();
+    if( registrierung )
+        registrierung->druckFremdKnopf();
+    if( unregistrierung )
+        unregistrierung->druckFremdKnopf();
+    if( nameVergessen )
+        nameVergessen->druckFremdKnopf();
+    if( passwortÄndern )
+        passwortÄndern->druckFremdKnopf();
+    if( eMailÄndern )
+        eMailÄndern->druckFremdKnopf();
+    if( eMailVergessen )
+        eMailVergessen->druckFremdKnopf();
+    if( geheimnisÄndern )
+        geheimnisÄndern->druckFremdKnopf();
+    if( geheimnisVergessen )
+        geheimnisVergessen->druckFremdKnopf();
+    if( login )
+        login->druckFremdKnopf();
 }
 
 void VorLogin::setRegistrierung() // macht Registrierung Oberfläche sichtbar
 {
-	if( passwortVergessen )
-		passwortVergessen->druckFremdKnopf();
-	if( unregistrierung )
-		unregistrierung->druckFremdKnopf();
-	if( nameVergessen )
-		nameVergessen->druckFremdKnopf();
-	if( passwortÄndern )
-		passwortÄndern->druckFremdKnopf();
-	if( eMailÄndern )
-		eMailÄndern->druckFremdKnopf();
-	if( eMailVergessen )
-		eMailVergessen->druckFremdKnopf();
-	if( geheimnisÄndern )
-		geheimnisÄndern->druckFremdKnopf();
-	if( geheimnisVergessen )
-		geheimnisVergessen->druckFremdKnopf();
-	if( login )
-		login->druckFremdKnopf();
+    if( passwortVergessen )
+        passwortVergessen->druckFremdKnopf();
+    if( unregistrierung )
+        unregistrierung->druckFremdKnopf();
+    if( nameVergessen )
+        nameVergessen->druckFremdKnopf();
+    if( passwortÄndern )
+        passwortÄndern->druckFremdKnopf();
+    if( eMailÄndern )
+        eMailÄndern->druckFremdKnopf();
+    if( eMailVergessen )
+        eMailVergessen->druckFremdKnopf();
+    if( geheimnisÄndern )
+        geheimnisÄndern->druckFremdKnopf();
+    if( geheimnisVergessen )
+        geheimnisVergessen->druckFremdKnopf();
+    if( login )
+        login->druckFremdKnopf();
 }
 
 void VorLogin::setUnregistrierung() // macht Unregistrierung Oberfläche sichtbar
 {
-	if( passwortVergessen )
-		passwortVergessen->druckFremdKnopf();
-	if( registrierung )
-		registrierung->druckFremdKnopf();
-	if( nameVergessen )
-		nameVergessen->druckFremdKnopf();
-	if( passwortÄndern )
-		passwortÄndern->druckFremdKnopf();
-	if( eMailÄndern )
-		eMailÄndern->druckFremdKnopf();
-	if( eMailVergessen )
-		eMailVergessen->druckFremdKnopf();
-	if( geheimnisÄndern )
-		geheimnisÄndern->druckFremdKnopf();
-	if( geheimnisVergessen )
-		geheimnisVergessen->druckFremdKnopf();
-	if( login )
-		login->druckFremdKnopf();
+    if( passwortVergessen )
+        passwortVergessen->druckFremdKnopf();
+    if( registrierung )
+        registrierung->druckFremdKnopf();
+    if( nameVergessen )
+        nameVergessen->druckFremdKnopf();
+    if( passwortÄndern )
+        passwortÄndern->druckFremdKnopf();
+    if( eMailÄndern )
+        eMailÄndern->druckFremdKnopf();
+    if( eMailVergessen )
+        eMailVergessen->druckFremdKnopf();
+    if( geheimnisÄndern )
+        geheimnisÄndern->druckFremdKnopf();
+    if( geheimnisVergessen )
+        geheimnisVergessen->druckFremdKnopf();
+    if( login )
+        login->druckFremdKnopf();
 }
 
 // constant
-Login *VorLogin::getLogin() const // gibt die Login Oberfläche zurück
+Login * VorLogin::getLogin() const // gibt die Login Oberfläche zurück
 {
-	return login ? login->getThis() : 0;
+    return login ? login->getThis() : 0;
 }
 
 Login *VorLogin::zLogin() const
 {
-	return login;
+    return login;
 }
 
 EMailÄndern *VorLogin::getEMailÄndern() const // gibt die EMailÄndern Oberfläche zurück
 {
-	return eMailÄndern ? eMailÄndern->getThis() : 0;
+    return eMailÄndern ? eMailÄndern->getThis() : 0;
 }
 
 EMailÄndern *VorLogin::zEMailÄndern() const
 {
-	return eMailÄndern;
+    return eMailÄndern;
 }
 
 EMailVergessen *VorLogin::getEMailVergessen() const // gibt die EMailVergessen Oberfläche zurück
 {
-	return eMailVergessen ? eMailVergessen->getThis() : 0;
+    return eMailVergessen ? eMailVergessen->getThis() : 0;
 }
 
 EMailVergessen *VorLogin::zEMailVergessen() const
 {
-	return eMailVergessen;
+    return eMailVergessen;
 }
 
 GeheimnisÄndern *VorLogin::getGeheimnisÄndern() const // gibt die GeheimnisÄndern Oberfläche zurück
 {
-	return geheimnisÄndern ? geheimnisÄndern->getThis() : 0;
+    return geheimnisÄndern ? geheimnisÄndern->getThis() : 0;
 }
 
 GeheimnisÄndern *VorLogin::zGeheimnisÄndern() const
 {
-	return geheimnisÄndern;
+    return geheimnisÄndern;
 }
 
 GeheimnisVergessen *VorLogin::getGeheimnisVergessen() const // gibt die GeheimnisVergessen Oberfläche zurück
 {
-	return geheimnisVergessen ? geheimnisVergessen->getThis() : 0;
+    return geheimnisVergessen ? geheimnisVergessen->getThis() : 0;
 }
 
 GeheimnisVergessen *VorLogin::zGeheimnisVergessen() const
 {
-	return geheimnisVergessen;
+    return geheimnisVergessen;
 }
 
 NameVergessen *VorLogin::getNameVergessen() const // gibt die NameVergessen Oberfläche zurück
 {
-	return nameVergessen ? nameVergessen->getThis() : 0;
+    return nameVergessen ? nameVergessen->getThis() : 0;
 }
 
 NameVergessen *VorLogin::zNameVergessen() const
 {
-	return nameVergessen;
+    return nameVergessen;
 }
 
 PasswortÄndern *VorLogin::getPasswortÄndern() const // gibt die PasswortÄndern Oberfläche zurück
 {
-	return passwortÄndern ? passwortÄndern->getThis() : 0;
+    return passwortÄndern ? passwortÄndern->getThis() : 0;
 }
 
 PasswortÄndern *VorLogin::zPasswortÄndern() const
 {
-	return passwortÄndern;
+    return passwortÄndern;
 }
 
 PasswortVergessen *VorLogin::getPasswortVergessen() const // gibt die PasswortVergessen Oberfläche zurück
 {
-	return passwortVergessen ? passwortVergessen->getThis() : 0;
+    return passwortVergessen ? passwortVergessen->getThis() : 0;
 }
 
 PasswortVergessen *VorLogin::zPasswortVergessen() const
 {
-	return passwortVergessen;
+    return passwortVergessen;
 }
 
 Registrierung *VorLogin::getRegistrierung() const // gibt die Registrierung Oberfläche zurück
 {
-	return registrierung ? registrierung->getThis() : 0;
+    return registrierung ? registrierung->getThis() : 0;
 }
 
 Registrierung *VorLogin::zRegistrierung() const
 {
-	return registrierung;
+    return registrierung;
 }
 
 Unregistrierung *VorLogin::getUnregistrierung() const // gibt die Unregistrierung Oberfläche zurück
 {
-	return unregistrierung ? unregistrierung->getThis() : 0;
+    return unregistrierung ? unregistrierung->getThis() : 0;
 }
 
 Unregistrierung *VorLogin::zUnregistrierung() const
 {
-	return unregistrierung;
+    return unregistrierung;
 }
 
 Fenster *VorLogin::zFenster() const
 {
-	return fenster;
+    return fenster;
 }
 
 // Reference Counting
 VorLogin *VorLogin::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 VorLogin *VorLogin::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 // Ereignisse
 bool VorLoginBeendenME( void *p, void *obj, MausEreignis me )
 {
-	if( me.id == ME_RLinks )
-		PostQuitMessage( 0 );
-	return 1;
+    if( me.id == ME_RLinks )
+        PostQuitMessage( 0 );
+    return 1;
 }