Jelajahi Sumber

adjust to framework changes

Kolja Strohm 2 minggu lalu
induk
melakukan
433d2dc066
28 mengubah file dengan 10824 tambahan dan 9826 penghapusan
  1. 2 1
      KSGClient/KSGClient.vcxproj
  2. 301 235
      KSGClient/NachLogin/Account/Suchen/AccountSuchen.cpp
  3. 1005 974
      KSGClient/NachLogin/Chat/ChatLeiste.cpp
  4. 971 862
      KSGClient/NachLogin/Chat/FreundesListe.cpp
  5. 407 330
      KSGClient/NachLogin/Editor/Auswahl/Auswahl.cpp
  6. 144 126
      KSGClient/NachLogin/Editor/Karte/Beschreibung/KEBVorschau.cpp
  7. 22 22
      KSGClient/NachLogin/Editor/Karte/Beschreibung/KEBVorschau.h
  8. 510 463
      KSGClient/NachLogin/Editor/Karte/Dateien/KEDModel2DEditor.cpp
  9. 89 89
      KSGClient/NachLogin/Editor/Karte/Dateien/KEDModel2DEditor.h
  10. 40 48
      KSGClient/NachLogin/Editor/Karte/Dateien/WAVDatei.cpp
  11. 627 547
      KSGClient/NachLogin/Editor/Karte/ShopSeite/KESSVorschau.cpp
  12. 79 78
      KSGClient/NachLogin/Editor/Karte/ShopSeite/KESSVorschau.h
  13. 217 152
      KSGClient/NachLogin/Einstellungen/Einstellungen.cpp
  14. 488 480
      KSGClient/NachLogin/MiniGames/Minigames.cpp
  15. 204 209
      KSGClient/NachLogin/NachLogin.cpp
  16. 500 461
      KSGClient/NachLogin/Shop/Karten/KartenKaufen.cpp
  17. 498 454
      KSGClient/NachLogin/Shop/Spiele/SpieleKaufen.cpp
  18. 1084 946
      KSGClient/NachLogin/Spiele/Gruppe/Gruppe.cpp
  19. 774 718
      KSGClient/NachLogin/Spiele/Team Auswahl/TeamAuswahl.cpp
  20. 133 113
      KSGClient/Start/Start.cpp
  21. 496 470
      KSGClient/VorLogin/Account verwalten/EMail.cpp
  22. 448 418
      KSGClient/VorLogin/Account verwalten/Geheimnis.cpp
  23. 200 182
      KSGClient/VorLogin/Account verwalten/Name.cpp
  24. 492 461
      KSGClient/VorLogin/Account verwalten/Passwort.cpp
  25. 445 383
      KSGClient/VorLogin/Account verwalten/Registrierung.cpp
  26. 287 260
      KSGClient/VorLogin/Account verwalten/Unregistrierung.cpp
  27. 323 312
      KSGClient/VorLogin/Login/Login.cpp
  28. 38 32
      KSGClient/VorLogin/Login/Login.h

+ 2 - 1
KSGClient/KSGClient.vcxproj

@@ -23,7 +23,7 @@
     <Keyword>Win32Proj</Keyword>
     <RootNamespace>MyKSGClient</RootNamespace>
     <ProjectName>KSGClient</ProjectName>
-    <WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
+    <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
@@ -106,6 +106,7 @@
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <LanguageStandard>stdcpp20</LanguageStandard>
     </ClCompile>
     <Link>
       <SubSystem>Windows</SubSystem>

+ 301 - 235
KSGClient/NachLogin/Account/Suchen/AccountSuchen.cpp

@@ -1,300 +1,366 @@
 #include "AccountSuchen.h"
+
+#include <DateiSystem.h>
 #include <Punkt.h>
-#include "../../../Global/Variablen.h"
+
 #include "../../../Global/Initialisierung.h"
-#include <DateiSystem.h>
+#include "../../../Global/Variablen.h"
 
 // Inhalt der AccountSuchen Klasse aud AccountSuchen.h
 // Konstruktor
 AccountSuchen::AccountSuchen()
-	: Thread(),
-	pos(810, 0),
-	gr(800, 500),
-	laden((Animation2D*)ladeAnimation->dublizieren()),
-	accountName(initTextFeld(10, 10, 200, 20, TextFeld::Style::TextFeld, "Spieler Suchen")),
-	suchen(initKnopf(220, 10, 100, 20, Knopf::Style::Sichtbar, "Suchen")),
-	sortSpalte(initAuswahlBox(330, 10, 150, 20, ABSTYLE, { "Name", "Zuletzt Online", "Letztes Spiel", "Letzte Karte", "Spielart Punkte" })),
-	sortRichtung(initAuswahlBox(490, 10, 120, 20, ABSTYLE, { "Aufwärts", "Abwärts" })),
-	zurück(initKnopf(620, 10, 20, 20, 0, "")),
-	seite(initTextFeld(645, 10, 120, 20, TextFeld::Style::Text | TextFeld::Style::Center, "Seite 0 von 0")),
-	vor(initKnopf(770, 10, 20, 20, 0, "")),
-	liste(initObjTabelle(10, 40, 780, 450, OTSTYLE, { { "Name", 158, 0, 0 }, { "Zuletzt Online", 150, 0, 0 }, { "Letztes Spiel", 145, 0, 0 }, { "Letzte Karte", 150, 0, 0 }, { "Spielart Punkte", 150, 0, 0 } }, 30)),
-	auswahl(0),
-	tickVal(0),
-	sichtbar(0),
-	jetztSeite(0),
-	maxSeite(0),
-	alpha(255),
-	rend(0)
+    : Thread(),
+      pos(810, 0),
+      gr(800, 500),
+      laden((Animation2D*)ladeAnimation->dublizieren()),
+      accountName(initTextFeld(
+          10, 10, 200, 20, TextFeld::Style::TextFeld, "Spieler Suchen")),
+      suchen(initKnopf(220, 10, 100, 20, Knopf::Style::Sichtbar, "Suchen")),
+      sortSpalte(initAuswahlBox(330,
+          10,
+          150,
+          20,
+          ABSTYLE,
+          {
+              "Name",
+              "Zuletzt Online",
+              "Letztes Spiel",
+              "Letzte Karte",
+              "Spielart Punkte"
+})),
+      sortRichtung(
+          initAuswahlBox(490, 10, 120, 20, ABSTYLE, {"Aufwärts", "Abwärts"})),
+      zurück(initKnopf(620, 10, 20, 20, 0, "")),
+      seite(initTextFeld(645,
+          10,
+          120,
+          20,
+          TextFeld::Style::Text | TextFeld::Style::Center,
+          "Seite 0 von 0")),
+      vor(initKnopf(770, 10, 20, 20, 0, "")),
+      liste(initObjTabelle(10,
+          40,
+          780,
+          450,
+          OTSTYLE,
+          {{"Name", 158, 0, 0},
+              {"Zuletzt Online", 150, 0, 0},
+              {"Letztes Spiel", 145, 0, 0},
+              {"Letzte Karte", 150, 0, 0},
+              {"Spielart Punkte", 150, 0, 0}},
+          30)),
+      auswahl(0), tickVal(0), sichtbar(0), jetztSeite(0), maxSeite(0),
+      alpha(255), rend(0)
 {
-	initToolTip(accountName, "Gebe den Namen eines Spielers ein.");
-	initToolTip(sortSpalte, "Wähle aus, nach welcher Spalte die\nTabelle sortiert werden soll.");
-	initToolTip(sortRichtung, "Wähle aus, ob Aufwärts oder Abwärts\nsortiert werden soll.");
-	Bild* zurückB = bilder->get("data/client/bilder/shop.ltdb/zurück.png");
-	Bild* weiterB = bilder->get("data/client/bilder/shop.ltdb/weiter.png");
-	laden->setSichtbar(0);
-	laden->setPosition(375, 225);
-	zurück->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
-	zurück->setHintergrundBildZ(zurückB);
-	initToolTip(zurück, "Eine Seite zurück blättern.");
-	vor->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
-	vor->setHintergrundBildZ(weiterB);
-	initToolTip(vor, "Eine Seite weiter blättern.");
-	liste->addSpalte("Weiter");
-	liste->setSpaltenBreite("Weiter", 20);
+    initToolTip(accountName, "Gebe den Namen eines Spielers ein.");
+    initToolTip(sortSpalte,
+        "Wähle aus, nach welcher Spalte die\nTabelle sortiert werden soll.");
+    initToolTip(sortRichtung,
+        "Wähle aus, ob Aufwärts oder Abwärts\nsortiert werden soll.");
+    Bild* zurückB = bilder->get("data/client/bilder/shop.ltdb/zurück.png");
+    Bild* weiterB = bilder->get("data/client/bilder/shop.ltdb/weiter.png");
+    laden->setSichtbar(0);
+    laden->setPosition(375, 225);
+    zurück->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Hintergrund
+                     | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
+    zurück->setHintergrundBildZ(zurückB);
+    initToolTip(zurück, "Eine Seite zurück blättern.");
+    vor->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Hintergrund
+                  | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
+    vor->setHintergrundBildZ(weiterB);
+    initToolTip(vor, "Eine Seite weiter blättern.");
+    liste->addSpalte("Weiter");
+    liste->setSpaltenBreite("Weiter", 20);
 }
 
 // Destruktor
 AccountSuchen::~AccountSuchen()
 {
-	laden->release();
-	accountName->release();
-	suchen->release();
-	sortSpalte->release();
-	sortRichtung->release();
-	zurück->release();
-	seite->release();
-	vor->release();
-	tabelleLehren(1);
-	liste->release();
+    laden->release();
+    accountName->release();
+    suchen->release();
+    sortSpalte->release();
+    sortRichtung->release();
+    zurück->release();
+    seite->release();
+    vor->release();
+    tabelleLehren(1);
+    liste->release();
 }
 
 // privat
 void AccountSuchen::lock()
 {
-	cs.lock();
+    cs.lock();
 }
 
 void AccountSuchen::unlock()
 {
-	cs.unlock();
+    cs.unlock();
 }
 
 void AccountSuchen::tabelleLehren(bool überschrift)
 {
-	lock();
-	int zAnz = liste->getZeilenAnzahl();
-	for (int i = !überschrift; i < zAnz; i++)
-		liste->removeZeile(!überschrift);
-	unlock();
+    lock();
+    int zAnz = liste->getZeilenAnzahl();
+    for (int i = !überschrift; i < zAnz; i++)
+        liste->removeZeile(!überschrift);
+    unlock();
 }
 
 // nicht constant
 void AccountSuchen::setSichtbar(bool sichtbar)
 {
-	this->sichtbar = sichtbar;
+    this->sichtbar = sichtbar;
 }
 
 void AccountSuchen::thread()
 {
-	laden->setSichtbar(1);
-	tabelleLehren(0);
-	Array< KSGClient::AccountInfo > info;
-	int anz = infoClient->getSpielerListe(accountName->zText()->getText(), &jetztSeite, &maxSeite, sortSpalte->getAuswahl(),
-		sortRichtung->getAuswahl(), &info);
-	zurück->setStyle(Knopf::Style::Erlaubt, jetztSeite > 1);
-	vor->setStyle(Knopf::Style::Erlaubt, jetztSeite < maxSeite);
-	lock();
-	seite->setText("Seite ");
-	seite->zText()->append(jetztSeite);
-	seite->zText()->append(" von ");
-	seite->zText()->append(maxSeite);
-	unlock();
-	for (int i = 0; i < anz; i++)
-	{
-		KSGClient::AccountInfo inf = info.get(i);
-		liste->addZeile(i + 1, Text() += inf.id);
-		liste->setZeilenHeight(i + 1, 20);
-		liste->setZeichnungZ(liste->getSpaltenNummer("Name"), i + 1, initTextFeld(0, 0, 0, 0, TextFeld::Style::Text | TextFeld::Style::VCenter, inf.name));
-		if (inf.zuletztOnline.hat('.'))
-			inf.zuletztOnline.setText(inf.zuletztOnline.getTeilText(0, inf.zuletztOnline.positionVon('.')));
-		liste->setZeichnungZ(liste->getSpaltenNummer("Zuletzt Online"), i + 1, initTextFeld(0, 0, 0, 0, TextFeld::Style::Text | TextFeld::Style::VCenter, inf.zuletztOnline));
-		liste->setZeichnungZ(liste->getSpaltenNummer("Letztes Spiel"), i + 1, initTextFeld(0, 0, 0, 0, TextFeld::Style::Text | TextFeld::Style::VCenter, inf.letztesSpiel));
-		liste->setZeichnungZ(liste->getSpaltenNummer("Letzte Karte"), i + 1, initTextFeld(0, 0, 0, 0, TextFeld::Style::Text | TextFeld::Style::VCenter, inf.letzteKarte));
-		liste->setZeichnungZ(liste->getSpaltenNummer("Spielart Punkte"), i + 1, initTextFeld(0, 0, 0, 0, TextFeld::Style::Text | TextFeld::Style::VCenter, inf.punkte));
-		Knopf* details = initKnopf(0, 0, 20, 20, 0, "");
-		details->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer | Knopf::Style::Erlaubt);
-		details->setMausEreignisParameter(this);
-		details->setMausEreignis(accountSuchenDetailsKlick);
-		details->setHintergrundBildZ(vor->getHintergrundBild());
-		liste->setZeichnungZ(liste->getSpaltenNummer("Weiter"), i + 1, details);
-	}
-	laden->setSichtbar(0);
-	run = 0;
+    laden->setSichtbar(1);
+    tabelleLehren(0);
+    Array<KSGClient::AccountInfo> info;
+    int anz = infoClient->getSpielerListe(accountName->zText()->getText(),
+        &jetztSeite,
+        &maxSeite,
+        sortSpalte->getAuswahl(),
+        sortRichtung->getAuswahl(),
+        &info);
+    zurück->setStyle(Knopf::Style::Erlaubt, jetztSeite > 1);
+    vor->setStyle(Knopf::Style::Erlaubt, jetztSeite < maxSeite);
+    lock();
+    seite->setText("Seite ");
+    seite->zText()->append(jetztSeite);
+    seite->zText()->append(" von ");
+    seite->zText()->append(maxSeite);
+    unlock();
+    for (int i = 0; i < anz; i++)
+    {
+        KSGClient::AccountInfo inf = info.get(i);
+        liste->addZeile(i + 1, Text() += inf.id);
+        liste->setZeilenHeight(i + 1, 20);
+        liste->setZeichnungZ(liste->getSpaltenNummer("Name"),
+            i + 1,
+            initTextFeld(0,
+                0,
+                0,
+                0,
+                TextFeld::Style::Text | TextFeld::Style::VCenter,
+                inf.name));
+        if (inf.zuletztOnline.hat('.'))
+            inf.zuletztOnline.setText(inf.zuletztOnline.getTeilText(
+                0, inf.zuletztOnline.positionVon('.')));
+        liste->setZeichnungZ(liste->getSpaltenNummer("Zuletzt Online"),
+            i + 1,
+            initTextFeld(0,
+                0,
+                0,
+                0,
+                TextFeld::Style::Text | TextFeld::Style::VCenter,
+                inf.zuletztOnline));
+        liste->setZeichnungZ(liste->getSpaltenNummer("Letztes Spiel"),
+            i + 1,
+            initTextFeld(0,
+                0,
+                0,
+                0,
+                TextFeld::Style::Text | TextFeld::Style::VCenter,
+                inf.letztesSpiel));
+        liste->setZeichnungZ(liste->getSpaltenNummer("Letzte Karte"),
+            i + 1,
+            initTextFeld(0,
+                0,
+                0,
+                0,
+                TextFeld::Style::Text | TextFeld::Style::VCenter,
+                inf.letzteKarte));
+        liste->setZeichnungZ(liste->getSpaltenNummer("Spielart Punkte"),
+            i + 1,
+            initTextFeld(0,
+                0,
+                0,
+                0,
+                TextFeld::Style::Text | TextFeld::Style::VCenter,
+                inf.punkte));
+        Knopf* details = initKnopf(0, 0, 20, 20, 0, "");
+        details->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Hintergrund
+                          | Knopf::Style::HBild | Knopf::Style::KlickBuffer
+                          | Knopf::Style::Erlaubt);
+        details->setMausEreignisParameter(this);
+        details->setMausEreignis(accountSuchenDetailsKlick);
+        details->setHintergrundBildZ(vor->getHintergrundBild());
+        liste->setZeichnungZ(liste->getSpaltenNummer("Weiter"), i + 1, details);
+    }
+    laden->setSichtbar(0);
+    run = 0;
 }
 
 bool AccountSuchen::detailsKlick(Knopf* zKnopf, MausEreignis& me)
 {
-	if (me.id != ME_RLinks)
-		return 1;
-	int zAnz = liste->getZeilenAnzahl();
-	for (int i = 1; i < zAnz; i++)
-	{
-		if (liste->zZeichnung(liste->getSpaltenNummer("Weiter"), i) == zKnopf)
-		{
-			auswahl = (int)*liste->zZeilenName(i);
-			break;
-		}
-	}
-	return 1;
+    if (me.id != ME_RLinks) return 1;
+    int zAnz = liste->getZeilenAnzahl();
+    for (int i = 1; i < zAnz; i++)
+    {
+        if (liste->zZeichnung(liste->getSpaltenNummer("Weiter"), i) == zKnopf)
+        {
+            auswahl = (int)*liste->zZeilenName(i);
+            break;
+        }
+    }
+    return 1;
 }
 
 void AccountSuchen::doPublicMausEreignis(MausEreignis& me)
 {
-	if (run)
-		return;
-	bool starten = 0;
-	lock();
-	me.mx -= pos.x;
-	me.my -= pos.y;
-	int ausw = sortSpalte->getAuswahl();
-	sortSpalte->doPublicMausEreignis(me);
-	if (ausw != sortSpalte->getAuswahl())
-	{
-		sortSpalte->einklappen();
-		starten = 1;
-	}
-	ausw = sortRichtung->getAuswahl();
-	sortRichtung->doPublicMausEreignis(me);
-	if (ausw != sortRichtung->getAuswahl())
-	{
-		sortRichtung->einklappen();
-		starten = 1;
-	}
-	accountName->doPublicMausEreignis(me);
-	bool vera = me.verarbeitet;
-	suchen->doPublicMausEreignis(me);
-	if (!vera && me.verarbeitet && me.id == ME_RLinks)
-	{
-		jetztSeite = 1;
-		starten = 1;
-	}
-	vera = me.verarbeitet;
-	zurück->doPublicMausEreignis(me);
-	if (!vera && me.verarbeitet)
-	{
-		seite--;
-		starten = 1;
-	}
-	vera = me.verarbeitet;
-	vor->doPublicMausEreignis(me);
-	if (!vera && me.verarbeitet)
-	{
-		seite++;
-		starten = 1;
-	}
-	liste->doPublicMausEreignis(me);
-	me.mx += pos.x;
-	me.my += pos.y;
-	unlock();
-	if (starten)
-		start();
+    if (run) return;
+    bool starten = 0;
+    lock();
+    me.mx -= pos.x;
+    me.my -= pos.y;
+    int ausw = sortSpalte->getAuswahl();
+    sortSpalte->doPublicMausEreignis(me);
+    if (ausw != sortSpalte->getAuswahl())
+    {
+        sortSpalte->einklappen();
+        starten = 1;
+    }
+    ausw = sortRichtung->getAuswahl();
+    sortRichtung->doPublicMausEreignis(me);
+    if (ausw != sortRichtung->getAuswahl())
+    {
+        sortRichtung->einklappen();
+        starten = 1;
+    }
+    accountName->doPublicMausEreignis(me);
+    bool vera = me.verarbeitet;
+    suchen->doPublicMausEreignis(me);
+    if (!vera && me.verarbeitet && me.id == ME_RLinks)
+    {
+        jetztSeite = 1;
+        starten = 1;
+    }
+    vera = me.verarbeitet;
+    zurück->doPublicMausEreignis(me);
+    if (!vera && me.verarbeitet)
+    {
+        seite--;
+        starten = 1;
+    }
+    vera = me.verarbeitet;
+    vor->doPublicMausEreignis(me);
+    if (!vera && me.verarbeitet)
+    {
+        seite++;
+        starten = 1;
+    }
+    liste->doPublicMausEreignis(me);
+    me.mx += pos.x;
+    me.my += pos.y;
+    unlock();
+    if (starten) start();
 }
 
 void AccountSuchen::doTastaturEreignis(TastaturEreignis& te)
 {
-	if (run)
-		return;
-	lock();
-	bool vera = te.verarbeitet;
-	accountName->doTastaturEreignis(te);
-	if (!vera && te.verarbeitet && te.taste == T_Enter && te.id == TE_Release)
-	{
-		jetztSeite = 1;
-		start();
-	}
-	unlock();
+    if (run) return;
+    lock();
+    bool vera = te.verarbeitet;
+    accountName->doTastaturEreignis(te);
+    if (!vera && te.verarbeitet && te.virtualKey == T_Enter
+        && te.id == TE_Release)
+    {
+        jetztSeite = 1;
+        start();
+    }
+    unlock();
 }
 
 bool AccountSuchen::tick(double tickVal)
 {
-	lock();
-	rend |= laden->tick(tickVal);
-	rend |= accountName->tick(tickVal);
-	rend |= suchen->tick(tickVal);
-	rend |= sortSpalte->tick(tickVal);
-	rend |= sortRichtung->tick(tickVal);
-	rend |= zurück->tick(tickVal);
-	rend |= seite->tick(tickVal);
-	rend |= vor->tick(tickVal);
-	rend |= liste->tick(tickVal);
-	this->tickVal += tickVal;
-	int valA = (int)(this->tickVal * 150);
-	int valB = (int)(this->tickVal * 500);
-	this->tickVal -= valA / 150.0;
-	if (valA)
-	{
-		if (laden->istSichtbar() && alpha != 100)
-		{
-			if (alpha - valA < 100)
-				alpha = 100;
-			else
-				alpha -= valA;
-			rend = 1;
-		}
-		if (!laden->istSichtbar() && alpha != 255)
-		{
-			if (alpha + valA > 255)
-				alpha = 255;
-			else
-				alpha += valA;
-			rend = 1;
-		}
-	}
-	if (valB)
-	{
-		if (sichtbar && pos.x != 0)
-		{
-			if (pos.x + valB > 0)
-				pos.x = 0;
-			else
-				pos.x += valB;
-			rend = 1;
-		}
-		else if (!sichtbar && pos.x != -810)
-		{
-			if (pos.x - valB < -810)
-				pos.x = -810;
-			else
-				pos.x -= valB;
-			rend = 1;
-		}
-	}
-	unlock();
-	bool ret = rend;
-	rend = 0;
-	return ret;
+    lock();
+    rend |= laden->tick(tickVal);
+    rend |= accountName->tick(tickVal);
+    rend |= suchen->tick(tickVal);
+    rend |= sortSpalte->tick(tickVal);
+    rend |= sortRichtung->tick(tickVal);
+    rend |= zurück->tick(tickVal);
+    rend |= seite->tick(tickVal);
+    rend |= vor->tick(tickVal);
+    rend |= liste->tick(tickVal);
+    this->tickVal += tickVal;
+    int valA = (int)(this->tickVal * 150);
+    int valB = (int)(this->tickVal * 500);
+    this->tickVal -= valA / 150.0;
+    if (valA)
+    {
+        if (laden->istSichtbar() && alpha != 100)
+        {
+            if (alpha - valA < 100)
+                alpha = 100;
+            else
+                alpha -= valA;
+            rend = 1;
+        }
+        if (!laden->istSichtbar() && alpha != 255)
+        {
+            if (alpha + valA > 255)
+                alpha = 255;
+            else
+                alpha += valA;
+            rend = 1;
+        }
+    }
+    if (valB)
+    {
+        if (sichtbar && pos.x != 0)
+        {
+            if (pos.x + valB > 0)
+                pos.x = 0;
+            else
+                pos.x += valB;
+            rend = 1;
+        }
+        else if (!sichtbar && pos.x != -810)
+        {
+            if (pos.x - valB < -810)
+                pos.x = -810;
+            else
+                pos.x -= valB;
+            rend = 1;
+        }
+    }
+    unlock();
+    bool ret = rend;
+    rend = 0;
+    return ret;
 }
 
 void AccountSuchen::render(Bild& zRObj)
 {
-	if (!zRObj.setDrawOptions(pos, gr))
-		return;
-	lock();
-	laden->render(zRObj);
-	accountName->render(zRObj);
-	suchen->render(zRObj);
-	zurück->render(zRObj);
-	seite->render(zRObj);
-	vor->render(zRObj);
-	liste->render(zRObj);
-	sortSpalte->render(zRObj);
-	sortRichtung->render(zRObj);
-	unlock();
-	zRObj.releaseDrawOptions();
+    if (!zRObj.setDrawOptions(pos, gr)) return;
+    lock();
+    laden->render(zRObj);
+    accountName->render(zRObj);
+    suchen->render(zRObj);
+    zurück->render(zRObj);
+    seite->render(zRObj);
+    vor->render(zRObj);
+    liste->render(zRObj);
+    sortSpalte->render(zRObj);
+    sortRichtung->render(zRObj);
+    unlock();
+    zRObj.releaseDrawOptions();
 }
 
 int AccountSuchen::getAuswahlAccountId()
 {
-	int ret = auswahl;
-	auswahl = 0;
-	return ret;
+    int ret = auswahl;
+    auswahl = 0;
+    return ret;
 }
 
 // Nachrichten
 bool accountSuchenDetailsKlick(void* p, void* obj, MausEreignis me)
 {
-	if (p)
-		return ((AccountSuchen*)p)->detailsKlick((Knopf*)obj, me);
-	return 1;
+    if (p) return ((AccountSuchen*)p)->detailsKlick((Knopf*)obj, me);
+    return 1;
 }

+ 1005 - 974
KSGClient/NachLogin/Chat/ChatLeiste.cpp

@@ -1,1266 +1,1297 @@
 #include "ChatLeiste.h"
-#include "..\..\Global\Initialisierung.h"
+
 #include <Bild.h>
-#include <Rahmen.h>
-#include <Punkt.h>
-#include "..\..\Global\Variablen.h"
 #include <DateiSystem.h>
-#include <ToolTip.h>
-#include <GSLDateiV.h>
 #include <Globals.h>
+#include <GSLDateiV.h>
 #include <InitDatei.h>
+#include <Punkt.h>
+#include <Rahmen.h>
+#include <ToolTip.h>
+
+#include "..\..\Global\Initialisierung.h"
+#include "..\..\Global\Variablen.h"
 
 typedef GSL::GSLDateiV* (*GetGSLDatei)();
 
 // Inhalt der Chat Klasse aus ChatLeiste.h
 // Konstruktor
 Chat::Chat()
-	: ReferenceCounter()
-{
-	Bild* minimierenBild = bilder->get("data/client/bilder/chat.ltdb/minimieren.png");
-	Bild* closeBild = bilder->get("data/client/bilder/chat.ltdb/entfernen.png");
-	rahmen = new LRahmen();
-	rahmen->setAlpha(1);
-	rahmen->setFarbe(0xFFFFFFFF);
-	rahmen->setRamenBreite(1);
-	verlauf = initTextFeld(7, 7, 184, 210, TextFeld::Style::TextGebiet, "");
-	verlauf->removeStyle(TextFeld::Style::Erlaubt);
-	verlauf->updateVScroll();
-	nachricht = initTextFeld(1, 220, 198, 20, TextFeld::Style::TextFeld, "");
-	initToolTip(nachricht, "Nachricht senden.");
-	name = initTextFeld(1, 250, 198, 29, TextFeld::Style::Text | TextFeld::Style::VCenter, "");
-	minimieren = initKnopf(159, 255, 20, 20, 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.");
-	close = initKnopf(179, 255, 20, 20, 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.");
-	bildschirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
-	admin = 0;
-	tickVal = 0;
-	sichtbar = 1;
-	breite = 0;
-	höhe = 30;
-	animation = 1;
-	rend = 0;
-	msgSound = 0;
-	HMODULE dll = Framework::getDLLRegister()->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)
-			Framework::getDLLRegister()->releaseDLL("GSL.dll");
-	}
+    : ReferenceCounter()
+{
+    Bild* minimierenBild
+        = bilder->get("data/client/bilder/chat.ltdb/minimieren.png");
+    Bild* closeBild = bilder->get("data/client/bilder/chat.ltdb/entfernen.png");
+    rahmen = new LRahmen();
+    rahmen->setAlpha(1);
+    rahmen->setFarbe(0xFFFFFFFF);
+    rahmen->setRamenBreite(1);
+    verlauf = initTextFeld(7, 7, 184, 210, TextFeld::Style::TextGebiet, "");
+    verlauf->removeStyle(TextFeld::Style::Erlaubt);
+    verlauf->updateVScroll();
+    nachricht = initTextFeld(1, 220, 198, 20, TextFeld::Style::TextFeld, "");
+    initToolTip(nachricht, "Nachricht senden.");
+    name = initTextFeld(
+        1, 250, 198, 29, TextFeld::Style::Text | TextFeld::Style::VCenter, "");
+    minimieren = initKnopf(159, 255, 20, 20, 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.");
+    close = initKnopf(179, 255, 20, 20, 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.");
+    bildschirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
+    admin = 0;
+    tickVal = 0;
+    sichtbar = 1;
+    breite = 0;
+    höhe = 30;
+    animation = 1;
+    rend = 0;
+    msgSound = 0;
+    HMODULE dll
+        = Framework::getDLLRegister()->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) Framework::getDLLRegister()->releaseDLL("GSL.dll");
+    }
 }
 
 // Destruktor
 Chat::~Chat()
 {
-	if (msgSound)
-	{
-		msgSound->release();
-		Framework::getDLLRegister()->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();
+    if (msgSound)
+    {
+        msgSound->release();
+        Framework::getDLLRegister()->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(const char* txt)
 {
-	int sound = userOptions->wertExistiert("GUISound") ? (int)*userOptions->zWert("GUISound") : 100;
-	if (msgSound)
-	{
-		msgSound->setVolume((int)((sound / 100.0) * 0xFFFF), (int)((sound / 100.0) * 0xFFFF));
-		msgSound->playSound();
-	}
-	Text* n = new Text(txt);
-	verlauf->zTextRenderer()->textFormatieren(n, verlauf->getBreite() - 20);
-	if (n->getText()[n->getLength() - 1] != '\n')
-		n->append("\n");
-	verlauf->zText()->append(dynamic_cast<Text*>(n->getThis()));
-	verlauf->setSchriftFarbe(verlauf->zText()->getLength() - n->getLength(), verlauf->zText()->getLength(), 0xFFFFFFFF);
-	n->release();
-	if (animation != 4)
-		animation = 2;
-	verlauf->updateVScroll();
-	rend = 1;
+    int sound = userOptions->wertExistiert("GUISound")
+                  ? (int)*userOptions->zWert("GUISound")
+                  : 100;
+    if (msgSound)
+    {
+        msgSound->setVolume(
+            (int)((sound / 100.0) * 0xFFFF), (int)((sound / 100.0) * 0xFFFF));
+        msgSound->playSound();
+    }
+    Text* n = new Text(txt);
+    verlauf->zTextRenderer()->textFormatieren(n, verlauf->getBreite() - 20);
+    if (n->getText()[n->getLength() - 1] != '\n') n->append("\n");
+    verlauf->zText()->append(dynamic_cast<Text*>(n->getThis()));
+    verlauf->setSchriftFarbe(verlauf->zText()->getLength() - n->getLength(),
+        verlauf->zText()->getLength(),
+        0xFFFFFFFF);
+    n->release();
+    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::doPublicMausEreignis(MausEreignis& me)
 {
-	// virtual
+    // virtual
 }
 
 void Chat::doTastaturEreignis(TastaturEreignis& te)
 {
-	// virtual
+    // virtual
 }
 
 void Chat::render(int x, Bild& zRObj)
 {
-	// virtual
+    // virtual
 }
 
 // constant
 TextFeld* Chat::getName() const
 {
-	return dynamic_cast<TextFeld*>(name->getThis());
+    return dynamic_cast<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;
 }
 
 // Inhalt der ChatFenster Klasse aus ChatLeiste.h
 // Konstruktor
 ChatFenster::ChatFenster(int accountId)
-	: Chat()
+    : Chat()
 {
-	this->accountId = accountId;
-	name->setTextZ(infoClient->getSpielerName(accountId));
+    this->accountId = accountId;
+    name->setTextZ(infoClient->getSpielerName(accountId));
 }
 
 // Destruktor
-ChatFenster::~ChatFenster()
-{
-
-}
+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;
+    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::doPublicMausEreignis(MausEreignis& me)
 {
-	bool tmp = me.verarbeitet;
-	if (me.mx < 0 || me.mx > breite || me.my < 280 - höhe || animation)
-		me.verarbeitet = 1;
-	verlauf->doPublicMausEreignis(me);
-	bool vera = me.verarbeitet;
-	minimieren->doPublicMausEreignis(me);
-	int aktion = me.verarbeitet && !vera ? 1 : 0;
-	close->doPublicMausEreignis(me);
-	if (!aktion)
-		aktion = me.verarbeitet && !vera ? 2 : 0;
-	nachricht->doPublicMausEreignis(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;
-	}
+    bool tmp = me.verarbeitet;
+    if (me.mx < 0 || me.mx > breite || me.my < 280 - höhe || animation)
+        me.verarbeitet = 1;
+    verlauf->doPublicMausEreignis(me);
+    bool vera = me.verarbeitet;
+    minimieren->doPublicMausEreignis(me);
+    int aktion = me.verarbeitet && !vera ? 1 : 0;
+    close->doPublicMausEreignis(me);
+    if (!aktion) aktion = me.verarbeitet && !vera ? 2 : 0;
+    nachricht->doPublicMausEreignis(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());
-				verlauf->zTextRenderer()->textFormatieren(n, verlauf->getBreite() - 15);
-				if (n->getText()[n->getLength() - 1] != '\n')
-					n->append("\n");
-				verlauf->zText()->append(n->getText());
-				verlauf->setSchriftFarbe(verlauf->zText()->getLength() - n->getLength(), verlauf->zText()->getLength(), 0xFF00FF00);
-				n->release();
-				verlauf->updateVScroll();
-				nachricht->setText("");
-				nachricht->setAuswahl(0, 0);
-				rend = 1;
-			}
-		}
-		break;
-	}
+    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.virtualKey == 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());
+                verlauf->zTextRenderer()->textFormatieren(
+                    n, verlauf->getBreite() - 15);
+                if (n->getText()[n->getLength() - 1] != '\n') n->append("\n");
+                verlauf->zText()->append(n->getText());
+                verlauf->setSchriftFarbe(
+                    verlauf->zText()->getLength() - n->getLength(),
+                    verlauf->zText()->getLength(),
+                    0xFF00FF00);
+                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();
+    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;
 }
 
 // Inhalt der ChatroomFenster Klasse aus ChatLeiste.h
 // Konstruktor
 ChatroomFenster::ChatroomFenster(int chatroomId)
-	: Chat()
-{
-	Bild* maximierenBild = bilder->get("data/client/bilder/chat.ltdb/maximieren.png");
-	this->chatroomId = chatroomId;
-	spielerName = initTextFeld(200, 5, 120, 0, TextFeld::Style::TextFeld, "");
-	initToolTip(spielerName, "Name des Spielers der eingeladen werden soll.");
-	einladen = initKnopf(325, 5, 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, "Spieler ins Chatroom einladen.");
-	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);
-	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;
+    : Chat()
+{
+    Bild* maximierenBild
+        = bilder->get("data/client/bilder/chat.ltdb/maximieren.png");
+    this->chatroomId = chatroomId;
+    spielerName = initTextFeld(200, 5, 120, 0, TextFeld::Style::TextFeld, "");
+    initToolTip(spielerName, "Name des Spielers der eingeladen werden soll.");
+    einladen = initKnopf(325, 5, 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, "Spieler ins Chatroom einladen.");
+    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);
+    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);
-	neueSpieler->release();
-	alteSpieler->release();
-	spieler = (ObjTabelle*)spieler->release();
-	spielerName = (TextFeld*)spielerName->release();
-	einladen = (Knopf*)einladen->release();
+    chatClient->chatroomVerlassen(chatroomId);
+    neueSpieler->release();
+    alteSpieler->release();
+    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("data/client/bilder/chat.ltdb/maximieren.png");
-	Bild* closeBild = bilder->get("data/client/bilder/chat.ltdb/entfernen.png");
-	spieler->addZeile(zeile->getText());
-	spieler->setZeilenHeight(zeile->getText(), 0);
-	Text* name = infoClient->getSpielerName(accountId);
-	TextFeld* sName = initTextFeld(0, 0, 110, 20, TextFeld::Style::Sichtbar | TextFeld::Style::Text | TextFeld::Style::Center, name->getText());
-	name->release();
-	spieler->setZeichnungZ("Name", zeile->getText(), sName);
-	Knopf* freund = initKnopf(0, 0, 20, 20, 0, "");
-	freund->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
-	freund->setHintergrundBildZ(einladenBild);
-	freund->setMausEreignisParameter(this);
-	freund->setMausEreignis(chatroomFensterFreundME);
-	initToolTip(freund, "Freundeseinladung an den Spieler schicken.");
-	spieler->setZeichnungZ("Freund", zeile->getText(), freund);
-	Knopf* entfernen = initKnopf(0, 0, 0, 20, 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.");
-	spieler->setZeichnungZ("Kick", zeile->getText(), entfernen);
-	neueSpieler->add(accountId, neueSpielerAnzahl);
-	neueSpielerAnzahl++;
-	zeile->release();
-	rend = 1;
+    Text* zeile = new Text();
+    zeile->append(accountId);
+    if (spieler->getZeilenNummer(zeile->getText()) >= 0) return;
+    Bild* einladenBild
+        = bilder->get("data/client/bilder/chat.ltdb/maximieren.png");
+    Bild* closeBild = bilder->get("data/client/bilder/chat.ltdb/entfernen.png");
+    spieler->addZeile(zeile->getText());
+    spieler->setZeilenHeight(zeile->getText(), 0);
+    Text* name = infoClient->getSpielerName(accountId);
+    TextFeld* sName = initTextFeld(0,
+        0,
+        110,
+        20,
+        TextFeld::Style::Sichtbar | TextFeld::Style::Text
+            | TextFeld::Style::Center,
+        name->getText());
+    name->release();
+    spieler->setZeichnungZ("Name", zeile->getText(), sName);
+    Knopf* freund = initKnopf(0, 0, 20, 20, 0, "");
+    freund->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Erlaubt
+                     | Knopf::Style::Hintergrund | Knopf::Style::HAlpha
+                     | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
+    freund->setHintergrundBildZ(einladenBild);
+    freund->setMausEreignisParameter(this);
+    freund->setMausEreignis(chatroomFensterFreundME);
+    initToolTip(freund, "Freundeseinladung an den Spieler schicken.");
+    spieler->setZeichnungZ("Freund", zeile->getText(), freund);
+    Knopf* entfernen = initKnopf(0, 0, 0, 20, 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.");
+    spieler->setZeichnungZ("Kick", zeile->getText(), entfernen);
+    neueSpieler->add(accountId, neueSpielerAnzahl);
+    neueSpielerAnzahl++;
+    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)
-		{
-			spieler->removeZeile(z);
-			alteSpieler->remove(i);
-			alteSpielerAnzahl--;
-			i--;
-		}
-		zeile->setText("");
-		rend = 1;
-	}
-	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;
+    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)
+        {
+            spieler->removeZeile(z);
+            alteSpieler->remove(i);
+            alteSpielerAnzahl--;
+            i--;
+        }
+        zeile->setText("");
+        rend = 1;
+    }
+    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::doPublicMausEreignis(MausEreignis& me)
 {
-	bool tmp = me.verarbeitet;
-	if (me.mx < 0 || me.mx > breite || me.my < 280 - höhe || animation)
-		me.verarbeitet = 1;
-	verlauf->doPublicMausEreignis(me);
-	bool vera = me.verarbeitet;
-	minimieren->doPublicMausEreignis(me);
-	int aktion = me.verarbeitet && !vera ? 1 : 0;
-	close->doPublicMausEreignis(me);
-	if (!aktion)
-		aktion = me.verarbeitet && !vera ? 2 : 0;
-	einladen->doPublicMausEreignis(me);
-	if (!aktion)
-		aktion = me.verarbeitet && !vera ? 4 : 0;
-	nachricht->doPublicMausEreignis(me);
-	spielerName->doPublicMausEreignis(me);
-	spieler->doPublicMausEreignis(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;
-	}
+    bool tmp = me.verarbeitet;
+    if (me.mx < 0 || me.mx > breite || me.my < 280 - höhe || animation)
+        me.verarbeitet = 1;
+    verlauf->doPublicMausEreignis(me);
+    bool vera = me.verarbeitet;
+    minimieren->doPublicMausEreignis(me);
+    int aktion = me.verarbeitet && !vera ? 1 : 0;
+    close->doPublicMausEreignis(me);
+    if (!aktion) aktion = me.verarbeitet && !vera ? 2 : 0;
+    einladen->doPublicMausEreignis(me);
+    if (!aktion) aktion = me.verarbeitet && !vera ? 4 : 0;
+    nachricht->doPublicMausEreignis(me);
+    spielerName->doPublicMausEreignis(me);
+    spieler->doPublicMausEreignis(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;
-	}
+    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.virtualKey == 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.virtualKey == 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();
+    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;
+    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;
+    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;
 }
 
 // Inhalt der ChatLeisteObj Klasse aus ChatLeiste.h
 // Konstruktor
 ChatLeisteObj::ChatLeisteObj()
-	: Zeichnung()
+    : Zeichnung()
 {
-	chats = new RCArray< Chat >();
-	hsb = new HScrollBar();
-	bildschirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
-	anzahl = 0;
-	nowME = -1;
+    chats = new RCArray<Chat>();
+    hsb = new HScrollBar();
+    bildschirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
+    anzahl = 0;
+    nowME = -1;
 }
 
 // Destruktor
 ChatLeisteObj::~ChatLeisteObj()
 {
-	chats->release();
-	hsb = (HScrollBar*)hsb->release();
+    chats->release();
+    hsb = (HScrollBar*)hsb->release();
 }
 
 // nicht constant
 void ChatLeisteObj::chatNachricht(int vonAccount, const 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, const 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(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(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(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(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();
+    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();
+    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;
+    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);
+    for (int i = 0; i < anzahl; i++)
+        chats->z(i)->doTastaturEreignis(te);
 }
 
 void ChatLeisteObj::doPublicMausEreignis(MausEreignis& me)
 {
-	int mx = me.mx;
-	int my = me.my;
-	me.my += 250;
-	me.mx += hsb->getScroll();
-	bool insideParent = me.insideParent;
-	me.insideParent = 1;
-	for (int i = 0; i < anzahl; i++)
-	{
-		Chat* tmp = chats->z(i);
-		nowME = i;
-		tmp->doPublicMausEreignis(me);
-		nowME = -1;
-		me.mx -= tmp->getBreite();
-	}
-	me.mx = mx;
-	me.my = my;
-	hsb->doMausMessage(1, 30, bildschirmGröße.x - 20, 20, me);
-	me.insideParent = insideParent;
+    int mx = me.mx;
+    int my = me.my;
+    me.my += 250;
+    me.mx += hsb->getScroll();
+    bool insideParent = me.insideParent;
+    me.insideParent = 1;
+    for (int i = 0; i < anzahl; i++)
+    {
+        Chat* tmp = chats->z(i);
+        nowME = i;
+        tmp->doPublicMausEreignis(me);
+        nowME = -1;
+        me.mx -= tmp->getBreite();
+    }
+    me.mx = mx;
+    me.my = my;
+    hsb->doMausMessage(1, 30, bildschirmGröße.x - 20, 20, me);
+    me.insideParent = insideParent;
 }
 
 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();
+    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();
 }
 
 // Inhalt der ChatLeiste Klasse aus ChatLeiste.h
 // Konstruktor
 ChatLeiste::ChatLeiste(Fenster* zNachLoginFenster)
-	: ReferenceCounter()
-{
-	minimierenBild = bilder->get("data/client/bilder/chat.ltdb/minimieren.png");
-	maximierenBild = bilder->get("data/client/bilder/chat.ltdb/maximieren.png");
-	bildschirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
-	fenster = initFenster(20 - bildschirmGröße.x, bildschirmGröße.y - 50, bildschirmGröße.x, 50, 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, "");
-	minMax->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
-	minMax->setHintergrundBildZ(dynamic_cast<Bild*>(minimierenBild->getThis()));
-	minMax->setMausEreignisParameter(this);
-	minMax->setMausEreignis(chatLeisteMinMaxME);
-	initToolTip(minMax, "Chat Leiste minimieren.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(minMax->getThis()));
-	chatLeiste = new ChatLeisteObj();
-	fenster->addMember(dynamic_cast<Zeichnung*>(chatLeiste->getThis()));
-	zNachLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
-	tickVal = 0;
-	animation = 1;
-	rend = 0;
-	chatClient->chatNachrichtAnfrage();
+    : ReferenceCounter()
+{
+    minimierenBild = bilder->get("data/client/bilder/chat.ltdb/minimieren.png");
+    maximierenBild = bilder->get("data/client/bilder/chat.ltdb/maximieren.png");
+    bildschirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
+    fenster = initFenster(20 - bildschirmGröße.x,
+        bildschirmGröße.y - 50,
+        bildschirmGröße.x,
+        50,
+        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, "");
+    minMax->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Erlaubt
+                     | Knopf::Style::Hintergrund | Knopf::Style::HAlpha
+                     | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
+    minMax->setHintergrundBildZ(dynamic_cast<Bild*>(minimierenBild->getThis()));
+    minMax->setMausEreignisParameter(this);
+    minMax->setMausEreignis(chatLeisteMinMaxME);
+    initToolTip(minMax, "Chat Leiste minimieren.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(minMax->getThis()));
+    chatLeiste = new ChatLeisteObj();
+    fenster->addMember(dynamic_cast<Zeichnung*>(chatLeiste->getThis()));
+    zNachLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
+    tickVal = 0;
+    animation = 1;
+    rend = 0;
+    chatClient->chatNachrichtAnfrage();
 }
 
 // Destruktor
 ChatLeiste::~ChatLeiste()
 {
-	minimierenBild->release();
-	maximierenBild->release();
-	fenster = (Fenster*)fenster->release();
-	minMax = (Knopf*)minMax->release();
-	chatLeiste = (ChatLeisteObj*)chatLeiste->release();
+    minimierenBild->release();
+    maximierenBild->release();
+    fenster = (Fenster*)fenster->release();
+    minMax = (Knopf*)minMax->release();
+    chatLeiste = (ChatLeisteObj*)chatLeiste->release();
 }
 
 // nicht constant
 void ChatLeiste::chatNachricht(int vonAccount, const char* txt)
 {
-	chatLeiste->chatNachricht(vonAccount, txt);
+    chatLeiste->chatNachricht(vonAccount, txt);
 }
 
-void ChatLeiste::chatroomNachricht(int chatroomId, int vonAccount, const char* txt)
+void ChatLeiste::chatroomNachricht(
+    int chatroomId, int vonAccount, const 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)
 {
-	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;
+    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(dynamic_cast<Bild*>(maximierenBild->getThis()));
-			// TODO minMax->zToolTip()->setText( "Chat Leiste maximieren." );
-		}
-		else
-		{
-			animation = 1;
-			minMax->setHintergrundBildZ(dynamic_cast<Bild*>(minimierenBild->getThis()));
-			// TODO minMax->zToolTip()->setText( "Chat Leiste minimieren." );
-		}
-	}
-	return 1;
+    if (animation) return 1;
+    if (me.id == ME_RLinks)
+    {
+        if (minMax->zHintergrundBild() == minimierenBild)
+        {
+            animation = 2;
+            minMax->setHintergrundBildZ(
+                dynamic_cast<Bild*>(maximierenBild->getThis()));
+            // TODO minMax->zToolTip()->setText( "Chat Leiste maximieren." );
+        }
+        else
+        {
+            animation = 1;
+            minMax->setHintergrundBildZ(
+                dynamic_cast<Bild*>(minimierenBild->getThis()));
+            // TODO minMax->zToolTip()->setText( "Chat Leiste minimieren." );
+        }
+    }
+    return 1;
 }
 
 // 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);
 }

+ 971 - 862
KSGClient/NachLogin/Chat/FreundesListe.cpp

@@ -1,1151 +1,1260 @@
 #include "FreundesListe.h"
-#include "..\..\Global\Variablen.h"
-#include "..\..\Global\Initialisierung.h"
-#include <Rahmen.h>
+
 #include <AlphaFeld.h>
+#include <DateiSystem.h>
+#include <InitDatei.h>
 #include <MausEreignis.h>
-#include <Scroll.h>
 #include <Punkt.h>
-#include <DateiSystem.h>
+#include <Rahmen.h>
+#include <Scroll.h>
 #include <Tooltip.h>
-#include <InitDatei.h>
+
+#include "..\..\Global\Initialisierung.h"
+#include "..\..\Global\Variablen.h"
 
 // Inhalt der FreundData Klasse aus FreundesListe.h
 // Konstruktor
 FreundData::FreundData(int accountId, LRahmen* rahmen, AlphaFeld* auswahlBuffer)
-	: Thread()
-{
-	Bild* entfernenBild = bilder->get("data/client/bilder/chat.ltdb/entfernen.png");
-	Bild* ansehenBild = bilder->get("data/client/bilder/chat.ltdb/ansehen.png");
-	Bild* nachrichtBild = bilder->get("data/client/bilder/chat.ltdb/nachricht.png");
-	Bild* einladenBild = bilder->get("data/client/bilder/chat.ltdb/neuerfreund.png");
-	this->accountId = accountId;
-	this->rahmen = rahmen;
-	this->auswahlBuffer = auswahlBuffer;
-	name = uiFactory.createTextFeld(uiFactory.initParam);
-	name->setStyle(TextFeld::Style::Sichtbar | TextFeld::Style::Center);
-	name->setText("");
-	name->setSize(200, 20);
-	name->setPosition(25, 1);
-	status = uiFactory.createTextFeld(uiFactory.initParam);
-	status->setStyle(TextFeld::Style::Sichtbar | TextFeld::Style::Center);
-	status->setSchriftFarbe(0xFFFF0000);
-	status->setText("offline");
-	status->setSize(200, 20);
-	status->setPosition(25, 24);
-	entfernen = initKnopf(228, 49, 20, 20, 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.");
-	ansehen = initKnopf(208, 49, 20, 20, 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.");
-	nachricht = initKnopf(188, 49, 20, 20, 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.");
-	einladen = initKnopf(168, 49, 20, 20, 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.");
-	online = 0;
-	einladenSichtbar = 0;
-	ausgewählt = 0;
-	höhe = 0;
-	animation = 1;
-	auswahlAlpha = 0;
-	tickVal = 0;
-	rend = 0;
-	start();
+    : Thread()
+{
+    Bild* entfernenBild
+        = bilder->get("data/client/bilder/chat.ltdb/entfernen.png");
+    Bild* ansehenBild = bilder->get("data/client/bilder/chat.ltdb/ansehen.png");
+    Bild* nachrichtBild
+        = bilder->get("data/client/bilder/chat.ltdb/nachricht.png");
+    Bild* einladenBild
+        = bilder->get("data/client/bilder/chat.ltdb/neuerfreund.png");
+    this->accountId = accountId;
+    this->rahmen = rahmen;
+    this->auswahlBuffer = auswahlBuffer;
+    name = uiFactory.createTextFeld(uiFactory.initParam);
+    name->setStyle(TextFeld::Style::Sichtbar | TextFeld::Style::Center);
+    name->setText("");
+    name->setSize(200, 20);
+    name->setPosition(25, 1);
+    status = uiFactory.createTextFeld(uiFactory.initParam);
+    status->setStyle(TextFeld::Style::Sichtbar | TextFeld::Style::Center);
+    status->setSchriftFarbe(0xFFFF0000);
+    status->setText("offline");
+    status->setSize(200, 20);
+    status->setPosition(25, 24);
+    entfernen = initKnopf(228, 49, 20, 20, 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.");
+    ansehen = initKnopf(208, 49, 20, 20, 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.");
+    nachricht = initKnopf(188, 49, 20, 20, 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.");
+    einladen = initKnopf(168, 49, 20, 20, 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.");
+    online = 0;
+    einladenSichtbar = 0;
+    ausgewählt = 0;
+    höhe = 0;
+    animation = 1;
+    auswahlAlpha = 0;
+    tickVal = 0;
+    rend = 0;
+    start();
 }
 
 // Destruktor
 FreundData::~FreundData()
 {
-	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();
+    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(const char* txt)
 {
-	name->setText(txt);
-	rend = 1;
+    name->setText(txt);
+    rend = 1;
 }
 
 void FreundData::setStatus(const 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;
+    einladenSichtbar = zeigen;
+    einladen->setStyle(Knopf::Style::Erlaubt, einladenSichtbar && online);
+    rend = 1;
 }
 
 void FreundData::doPublicMausEreignis(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->doPublicMausEreignis(me);
-		aktion = me.verarbeitet && !vera ? 1 : 0;
-		ansehen->doPublicMausEreignis(me);
-		if (!aktion)
-			aktion = me.verarbeitet && !vera ? 2 : 0;
-		entfernen->doPublicMausEreignis(me);
-		if (!aktion)
-			aktion = me.verarbeitet && !vera ? 3 : 0;
-		einladen->doPublicMausEreignis(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, 1 };
-					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)
-			{
-				if (!anmeldungClient)
-					anmeldungClient = mainClient->createAnmeldungServerClient();
-				if (!anmeldungClient)
-				{
-					nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"), new Text(mainClient->getLetzterFehler()),
-						new Text("Ok"), 0);
-				}
-				if (anmeldungClient && anmeldungClient->verbinde())
-				{
-					if (!anmeldungClient->gruppeSpielerEinladen(accountId, nachLogin->zSpielenFenster()->getGruppeId()))
-					{
-						nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"), new Text(anmeldungClient->getLetzterFehler()),
-							new Text("Ok"), 0);
-					}
-					anmeldungClient->trenne(0);
-				}
-				else
-				{
-					nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"), new Text(anmeldungClient->getLetzterFehler()),
-						new Text("Ok"), 0);
-				}
-			}
-		default:
-			// nichts
-			break;
-		}
-	}
+    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->doPublicMausEreignis(me);
+        aktion = me.verarbeitet && !vera ? 1 : 0;
+        ansehen->doPublicMausEreignis(me);
+        if (!aktion) aktion = me.verarbeitet && !vera ? 2 : 0;
+        entfernen->doPublicMausEreignis(me);
+        if (!aktion) aktion = me.verarbeitet && !vera ? 3 : 0;
+        einladen->doPublicMausEreignis(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, 1};
+                    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)
+            {
+                if (!anmeldungClient)
+                    anmeldungClient = mainClient->createAnmeldungServerClient();
+                if (!anmeldungClient)
+                {
+                    nachLogin->zNachrichtenListe()->addNachricht(
+                        new Text("Fehler"),
+                        new Text(mainClient->getLetzterFehler()),
+                        new Text("Ok"),
+                        0);
+                }
+                if (anmeldungClient && anmeldungClient->verbinde())
+                {
+                    if (!anmeldungClient->gruppeSpielerEinladen(accountId,
+                            nachLogin->zSpielenFenster()->getGruppeId()))
+                    {
+                        nachLogin->zNachrichtenListe()->addNachricht(
+                            new Text("Fehler"),
+                            new Text(anmeldungClient->getLetzterFehler()),
+                            new Text("Ok"),
+                            0);
+                    }
+                    anmeldungClient->trenne(0);
+                }
+                else
+                {
+                    nachLogin->zNachrichtenListe()->addNachricht(
+                        new Text("Fehler"),
+                        new Text(anmeldungClient->getLetzterFehler()),
+                        new Text("Ok"),
+                        0);
+                }
+            }
+        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;
+    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();
+    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;
 }
 
 const char* FreundData::zName() const
 {
-	return name->zText()->getText();
+    return name->zText()->getText();
 }
 
 Text* FreundData::getName() const
 {
-	return name->getText();
+    return name->getText();
 }
 
 const 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;
 }
 
 // Inhalt der FreundesListeObj Klasse aus FreundesListe.h
 // Konstruktor
 FreundesListeObj::FreundesListeObj()
-	: Zeichnung()
-{
-	members = new RCArray< FreundData >();
-	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 = uiFactory.initParam.bildschirm->getBackBufferSize();
-	vsb->update(0, bildschirmGröße.y - 200);
-	memberNummer = 0;
-	einladenSichtbar = 0;
+    : Zeichnung()
+{
+    members = new RCArray<FreundData>();
+    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 = uiFactory.initParam.bildschirm->getBackBufferSize();
+    vsb->update(0, bildschirmGröße.y - 200);
+    memberNummer = 0;
+    einladenSichtbar = 0;
 }
 
 // Destruktor
 FreundesListeObj::~FreundesListeObj()
 {
-	members->release();
-	memberRahmen->release();
-	auswahlBuffer = (AlphaFeld*)auswahlBuffer->release();
-	vsb = (VScrollBar*)vsb->release();
+    members->release();
+    memberRahmen->release();
+    auswahlBuffer = (AlphaFeld*)auswahlBuffer->release();
+    vsb = (VScrollBar*)vsb->release();
 }
 
 // nicht constant
 void FreundesListeObj::addMember(int accountId)
 {
-	FreundData* tmp = new FreundData(accountId, dynamic_cast<LRahmen*>(memberRahmen->getThis()), dynamic_cast<AlphaFeld*>(auswahlBuffer->getThis()));
-	members->add(tmp, memberNummer);
-	memberNummer++;
-	if (einladenSichtbar)
-		tmp->zeigeEinladeKnopf(1);
-	rend = 1;
+    FreundData* tmp = new FreundData(accountId,
+        dynamic_cast<LRahmen*>(memberRahmen->getThis()),
+        dynamic_cast<AlphaFeld*>(auswahlBuffer->getThis()));
+    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)
 {
-	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, const 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, const 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;
+    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::doPublicMausEreignis(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->doPublicMausEreignis(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->doPublicMausEreignis(me);
-				me.my -= tmp->getHeight();
-			}
-		}
-		me.my -= vsb->getScroll();
-	}
-	me.my = my;
-	vsb->doMausMessage(250, pos.y, 20, gr.y, 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->doPublicMausEreignis(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->doPublicMausEreignis(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();
+    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;
 }
 
 // Inhalt der FreundesListe Klasse aus FreundesListe.h
 // Konstruktor
 FreundesListe::FreundesListe(Fenster* zNachLoginFenster)
-	: Thread()
-{
-	minimierenBild = bilder->get("data/client/bilder/chat.ltdb/minimieren.png");
-	maximierenBild = bilder->get("data/client/bilder/chat.ltdb/maximieren.png");
-	Bild* neuerFreundBild = bilder->get("data/client/bilder/chat.ltdb/neuerfreund.png");
-
-	bildschirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
-
-	fenster = new Fenster();
-	fenster->addStyle(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, "");
-	minMax->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
-	minMax->setHintergrundBildZ(dynamic_cast<Bild*>(minimierenBild->getThis()));
-	minMax->setMausEreignisParameter(this);
-	minMax->setMausEreignis(freundesListeMinMaxME);
-	initToolTip(minMax, "Freundes Leiste minimieren.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(minMax->getThis()));
-
-	überschrift = initTextFeld(0, 5, 250, 25, TextFeld::Style::Text | TextFeld::Style::Center | TextFeld::Style::Sichtbar, "Freunde");
-	überschrift->setSchriftSize(15);
-	fenster->addMember(dynamic_cast<Zeichnung*>(überschrift->getThis()));
-
-	accountName = initTextFeld(25, 40, 200, 20, TextFeld::Style::TextFeld | TextFeld::Style::Sichtbar, "");
-	accountName->setTastaturEreignisParameter(this);
-	accountName->setTastaturEreignis(freundesListeNameTE);
-	initToolTip(accountName, "Mit diesem Namen bist du bei anderen Spielern sichtbar.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(accountName->getThis()));
-
-	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->release();
-
-	neuerFreund = initKnopf(5, 75, 20, 20, 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.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(neuerFreund->getThis()));
-
-	neuerChat = initKnopf(30, 75, 20, 20, 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.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(neuerChat->getThis()));
-
-	neuerFreundFenster = initFenster(0, 100, 270, 0, Fenster::Style::Erlaubt | Fenster::Style::Rahmen, 0);
-	neuerFreundSpielerName = initTextFeld(5, 5, 235, 20, 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.");
-	neuerFreundFenster->addMember(dynamic_cast<Zeichnung*>(neuerFreundSpielerName->getThis()));
-	neuerFreundFertig = initKnopf(245, 5, 20, 20, 0, "");
-	neuerFreundFertig->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::HAlpha | Knopf::Style::KlickBuffer);
-	neuerFreundFertig->setHintergrundBildZ(dynamic_cast<Bild*>(maximierenBild->getThis()));
-	neuerFreundFertig->setMausEreignisParameter(this);
-	neuerFreundFertig->setMausEreignis(freundesListeNeuerFreundFertigME);
-	initToolTip(neuerFreundFertig, "Diesem Spieler eine Freundesanfrage senden.");
-	neuerFreundFenster->addMember(dynamic_cast<Zeichnung*>(neuerFreundFertig->getThis()));
-	fenster->addMember(dynamic_cast<Zeichnung*>(neuerFreundFenster->getThis()));
-
-	neuerChatFenster = initFenster(0, 100, 270, 0, Fenster::Style::Erlaubt | Fenster::Style::Rahmen, 0);
-	neuerChatName = initTextFeld(5, 5, 235, 20, 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.");
-	neuerChatFenster->addMember(dynamic_cast<Zeichnung*>(neuerChatName->getThis()));
-	neuerChatFertig = initKnopf(245, 5, 20, 20, 0, "");
-	neuerChatFertig->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::HAlpha | Knopf::Style::KlickBuffer);
-	neuerChatFertig->setHintergrundBildZ(dynamic_cast<Bild*>(maximierenBild->getThis()));
-	neuerChatFertig->setMausEreignisParameter(this);
-	neuerChatFertig->setMausEreignis(freundesListeNeuerChatFertigME);
-	initToolTip(neuerChatFertig, "Diesem Spieler eine Nachricht senden.");
-	neuerChatFenster->addMember(dynamic_cast<Zeichnung*>(neuerChatFertig->getThis()));
-	neuesChatroomName = initTextFeld(5, 30, 235, 20, TextFeld::Style::Sichtbar | TextFeld::Style::TextFeld, "Chatroom Name");
-	neuesChatroomName->setTastaturEreignisParameter(this);
-	neuesChatroomName->setTastaturEreignis(freundesListeNeuesChatroomNameTE);
-	initToolTip(neuesChatroomName, "Name des Chatroom dem du beitreten möchtest.");
-	neuerChatFenster->addMember(dynamic_cast<Zeichnung*>(neuesChatroomName->getThis()));
-	neuesChatroomFertig = initKnopf(245, 30, 20, 20, 0, "");
-	neuesChatroomFertig->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::HAlpha | Knopf::Style::KlickBuffer);
-	neuesChatroomFertig->setHintergrundBildZ(dynamic_cast<Bild*>(maximierenBild->getThis()));
-	neuesChatroomFertig->setMausEreignisParameter(this);
-	neuesChatroomFertig->setMausEreignis(freundesListeNeuesChatroomFertigME);
-	initToolTip(neuesChatroomFertig, "Chatroom erstellen oder beitreten.");
-	neuerChatFenster->addMember(dynamic_cast<Zeichnung*>(neuesChatroomFertig->getThis()));
-	fenster->addMember(dynamic_cast<Zeichnung*>(neuerChatFenster->getThis()));
-
-	freundesListe = new FreundesListeObj();
-	freundesListe->setPosition(0, 100);
-	freundesListe->setSize(270, bildschirmGröße.y - 200);
-	fenster->addMember(dynamic_cast<Zeichnung*>(freundesListe->getThis()));
-
-	zNachLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
-	animation = 1;
-	tickVal = 0;
-	neuerFreundSichtbar = 0;
-	neuerChatSichtbar = 0;
-	rend = 0;
-
-	start();
+    : Thread()
+{
+    minimierenBild = bilder->get("data/client/bilder/chat.ltdb/minimieren.png");
+    maximierenBild = bilder->get("data/client/bilder/chat.ltdb/maximieren.png");
+    Bild* neuerFreundBild
+        = bilder->get("data/client/bilder/chat.ltdb/neuerfreund.png");
+
+    bildschirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
+
+    fenster = new Fenster();
+    fenster->addStyle(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, "");
+    minMax->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Erlaubt
+                     | Knopf::Style::Hintergrund | Knopf::Style::HAlpha
+                     | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
+    minMax->setHintergrundBildZ(dynamic_cast<Bild*>(minimierenBild->getThis()));
+    minMax->setMausEreignisParameter(this);
+    minMax->setMausEreignis(freundesListeMinMaxME);
+    initToolTip(minMax, "Freundes Leiste minimieren.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(minMax->getThis()));
+
+    überschrift = initTextFeld(0,
+        5,
+        250,
+        25,
+        TextFeld::Style::Text | TextFeld::Style::Center
+            | TextFeld::Style::Sichtbar,
+        "Freunde");
+    überschrift->setSchriftSize(15);
+    fenster->addMember(dynamic_cast<Zeichnung*>(überschrift->getThis()));
+
+    accountName = initTextFeld(25,
+        40,
+        200,
+        20,
+        TextFeld::Style::TextFeld | TextFeld::Style::Sichtbar,
+        "");
+    accountName->setTastaturEreignisParameter(this);
+    accountName->setTastaturEreignis(freundesListeNameTE);
+    initToolTip(
+        accountName, "Mit diesem Namen bist du bei anderen Spielern sichtbar.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(accountName->getThis()));
+
+    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->release();
+
+    neuerFreund = initKnopf(5, 75, 20, 20, 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.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(neuerFreund->getThis()));
+
+    neuerChat = initKnopf(30, 75, 20, 20, 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.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(neuerChat->getThis()));
+
+    neuerFreundFenster = initFenster(
+        0, 100, 270, 0, Fenster::Style::Erlaubt | Fenster::Style::Rahmen, 0);
+    neuerFreundSpielerName = initTextFeld(5,
+        5,
+        235,
+        20,
+        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.");
+    neuerFreundFenster->addMember(
+        dynamic_cast<Zeichnung*>(neuerFreundSpielerName->getThis()));
+    neuerFreundFertig = initKnopf(245, 5, 20, 20, 0, "");
+    neuerFreundFertig->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Erlaubt
+                                | Knopf::Style::Hintergrund
+                                | Knopf::Style::HBild | Knopf::Style::HAlpha
+                                | Knopf::Style::KlickBuffer);
+    neuerFreundFertig->setHintergrundBildZ(
+        dynamic_cast<Bild*>(maximierenBild->getThis()));
+    neuerFreundFertig->setMausEreignisParameter(this);
+    neuerFreundFertig->setMausEreignis(freundesListeNeuerFreundFertigME);
+    initToolTip(
+        neuerFreundFertig, "Diesem Spieler eine Freundesanfrage senden.");
+    neuerFreundFenster->addMember(
+        dynamic_cast<Zeichnung*>(neuerFreundFertig->getThis()));
+    fenster->addMember(dynamic_cast<Zeichnung*>(neuerFreundFenster->getThis()));
+
+    neuerChatFenster = initFenster(
+        0, 100, 270, 0, Fenster::Style::Erlaubt | Fenster::Style::Rahmen, 0);
+    neuerChatName = initTextFeld(5,
+        5,
+        235,
+        20,
+        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.");
+    neuerChatFenster->addMember(
+        dynamic_cast<Zeichnung*>(neuerChatName->getThis()));
+    neuerChatFertig = initKnopf(245, 5, 20, 20, 0, "");
+    neuerChatFertig->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Erlaubt
+                              | Knopf::Style::Hintergrund | Knopf::Style::HBild
+                              | Knopf::Style::HAlpha
+                              | Knopf::Style::KlickBuffer);
+    neuerChatFertig->setHintergrundBildZ(
+        dynamic_cast<Bild*>(maximierenBild->getThis()));
+    neuerChatFertig->setMausEreignisParameter(this);
+    neuerChatFertig->setMausEreignis(freundesListeNeuerChatFertigME);
+    initToolTip(neuerChatFertig, "Diesem Spieler eine Nachricht senden.");
+    neuerChatFenster->addMember(
+        dynamic_cast<Zeichnung*>(neuerChatFertig->getThis()));
+    neuesChatroomName = initTextFeld(5,
+        30,
+        235,
+        20,
+        TextFeld::Style::Sichtbar | TextFeld::Style::TextFeld,
+        "Chatroom Name");
+    neuesChatroomName->setTastaturEreignisParameter(this);
+    neuesChatroomName->setTastaturEreignis(freundesListeNeuesChatroomNameTE);
+    initToolTip(
+        neuesChatroomName, "Name des Chatroom dem du beitreten möchtest.");
+    neuerChatFenster->addMember(
+        dynamic_cast<Zeichnung*>(neuesChatroomName->getThis()));
+    neuesChatroomFertig = initKnopf(245, 30, 20, 20, 0, "");
+    neuesChatroomFertig->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Erlaubt
+                                  | Knopf::Style::Hintergrund
+                                  | Knopf::Style::HBild | Knopf::Style::HAlpha
+                                  | Knopf::Style::KlickBuffer);
+    neuesChatroomFertig->setHintergrundBildZ(
+        dynamic_cast<Bild*>(maximierenBild->getThis()));
+    neuesChatroomFertig->setMausEreignisParameter(this);
+    neuesChatroomFertig->setMausEreignis(freundesListeNeuesChatroomFertigME);
+    initToolTip(neuesChatroomFertig, "Chatroom erstellen oder beitreten.");
+    neuerChatFenster->addMember(
+        dynamic_cast<Zeichnung*>(neuesChatroomFertig->getThis()));
+    fenster->addMember(dynamic_cast<Zeichnung*>(neuerChatFenster->getThis()));
+
+    freundesListe = new FreundesListeObj();
+    freundesListe->setPosition(0, 100);
+    freundesListe->setSize(270, bildschirmGröße.y - 200);
+    fenster->addMember(dynamic_cast<Zeichnung*>(freundesListe->getThis()));
+
+    zNachLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
+    animation = 1;
+    tickVal = 0;
+    neuerFreundSichtbar = 0;
+    neuerChatSichtbar = 0;
+    rend = 0;
+
+    start();
 }
 
 // Destruktor
 FreundesListe::~FreundesListe()
 {
-	fenster = (Fenster*)fenster->release();
-	minimierenBild->release();
-	maximierenBild->release();
-	minMax = (Knopf*)minMax->release();
-	überschrift = (TextFeld*)überschrift->release();
-	accountName = (TextFeld*)accountName->release();
-	freundesListe = (FreundesListeObj*)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();
+    fenster = (Fenster*)fenster->release();
+    minimierenBild->release();
+    maximierenBild->release();
+    minMax = (Knopf*)minMax->release();
+    überschrift = (TextFeld*)überschrift->release();
+    accountName = (TextFeld*)accountName->release();
+    freundesListe = (FreundesListeObj*)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)
 {
-	freundesListe->removeMember(member);
+    freundesListe->removeMember(member);
 }
 
 void FreundesListe::removeAll()
 {
-	freundesListe->removeAll();
+    freundesListe->removeAll();
 }
 
 void FreundesListe::setName(int accountId, const char* txt)
 {
-	freundesListe->setName(accountId, txt);
+    freundesListe->setName(accountId, txt);
 }
 
 void FreundesListe::setStatus(int accountId, const 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;
+    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(dynamic_cast<Bild*>(maximierenBild->getThis()));
-			// TODO minMax->zToolTip()->setText( "Freundes Leiste maximieren." );
-		}
-		else
-		{
-			animation = 1;
-			minMax->setHintergrundBildZ(dynamic_cast<Bild*>(minimierenBild->getThis()));
-			// TODO minMax->zToolTip()->setText( "Freundes Leiste minimieren." );
-		}
-	}
-	return 1;
+    if (me.id == ME_RLinks)
+    {
+        if (minMax->zHintergrundBild() == minimierenBild)
+        {
+            animation = 2;
+            minMax->setHintergrundBildZ(
+                dynamic_cast<Bild*>(maximierenBild->getThis()));
+            // TODO minMax->zToolTip()->setText( "Freundes Leiste maximieren."
+            // );
+        }
+        else
+        {
+            animation = 1;
+            minMax->setHintergrundBildZ(
+                dynamic_cast<Bild*>(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;
+    if (te.id == TE_Release && te.virtualKey == 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;
+    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;
+    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;
+    if (!neuerFreundSichtbar) return 0;
+    if (te.id == TE_Release && te.virtualKey == 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;
+    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;
+    if (!neuerChatSichtbar) return 0;
+    if (te.id == TE_Release && te.virtualKey == 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;
+    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;
+    if (!neuerChatSichtbar) return 0;
+    if (te.id == TE_Release && te.virtualKey == 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;
+    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);
 }
 
 // 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)
+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);
 }

+ 407 - 330
KSGClient/NachLogin/Editor/Auswahl/Auswahl.cpp

@@ -1,383 +1,460 @@
 #include "Auswahl.h"
-#include "../../../Global/Initialisierung.h"
-#include "../../../Global/Variablen.h"
+
 #include <DateiSystem.h>
 #include <KSGTDatei.h>
 
+#include "../../../Global/Initialisierung.h"
+#include "../../../Global/Variablen.h"
+
 // Inhalt der Auswahl Klasse aus Auswahl.h
 // Konstruktor
 Auswahl::Auswahl(KartenEditor* kEditor)
-	: Thread()
+    : Thread()
 {
-	this->kEditor = kEditor;
-	alpha = 255;
-	sichtbar = 0;
-	suchFilterT = initTextFeld(10, 10, 70, 20, TextFeld::Style::Text | TextFeld::Style::VCenter, "Suchfilter:");
-	suchFilter = initTextFeld(90, 10, 210, 20, TextFeld::Style::TextFeld, "");
-	initToolTip(suchFilter, "Gebe etwas vom Namen der Karte ein, nach der du suchst.");
-	suchen = initKnopf(310, 10, 100, 20, Knopf::Style::Sichtbar, "suchen");
-	sortSpalte = initAuswahlBox(640, 10, 120, 20, ABSTYLE,
-		{ "Name", "Spielart", "Preis (Kupfer)", "Verkauft", "Spieleranzahl" });
-	sortRichtung = initAuswahlBox(770, 10, 120, 20, ABSTYLE, { "Aufsteigend", "Absteigend" });
-	karten = initObjTabelle(10, 40, 880, 520, OTSTYLE, { { "Name", 220, 220, 220 }, { "Spielart", 220, 220, 220 },
-	{ "Kupfer", 130, 130, 130 }, { "Verkauft", 125, 125, 125 }, { "Spieleranzahl", 140, 140, 140 },
-	{ "", 20, 20, 20 } }, 20);
-	neuKarteName = initTextFeld(10, 570, 195, 20, TextFeld::Style::TextFeld, "");
-	initToolTip(neuKarteName, "Name einer neuen Karte");
-	neuKarteSpielArt = initAuswahlBox(215, 570, 195, 20, ABSTYLE, {});
-	neuKarte = initKnopf(420, 570, 120, 20, Knopf::Style::Sichtbar, "Karte Erstellen");
-	laden = (Framework::Animation2D*)ladeAnimation->dublizieren();
-	laden->setPosition(425, 275);
-	laden->setSichtbar(0);
-	aktion = 0;
-	tickVal = 0;
-	rend = 0;
+    this->kEditor = kEditor;
+    alpha = 255;
+    sichtbar = 0;
+    suchFilterT = initTextFeld(10,
+        10,
+        70,
+        20,
+        TextFeld::Style::Text | TextFeld::Style::VCenter,
+        "Suchfilter:");
+    suchFilter = initTextFeld(90, 10, 210, 20, TextFeld::Style::TextFeld, "");
+    initToolTip(
+        suchFilter, "Gebe etwas vom Namen der Karte ein, nach der du suchst.");
+    suchen = initKnopf(310, 10, 100, 20, Knopf::Style::Sichtbar, "suchen");
+    sortSpalte = initAuswahlBox(640,
+        10,
+        120,
+        20,
+        ABSTYLE,
+        {"Name", "Spielart", "Preis (Kupfer)", "Verkauft", "Spieleranzahl"});
+    sortRichtung = initAuswahlBox(
+        770, 10, 120, 20, ABSTYLE, {"Aufsteigend", "Absteigend"});
+    karten = initObjTabelle(10,
+        40,
+        880,
+        520,
+        OTSTYLE,
+        {
+            {"Name",          220, 220, 220},
+            {"Spielart",      220, 220, 220},
+            {"Kupfer",        130, 130, 130},
+            {"Verkauft",      125, 125, 125},
+            {"Spieleranzahl", 140, 140, 140},
+            {"",              20,  20,  20 }
+    },
+        20);
+    neuKarteName
+        = initTextFeld(10, 570, 195, 20, TextFeld::Style::TextFeld, "");
+    initToolTip(neuKarteName, "Name einer neuen Karte");
+    neuKarteSpielArt = initAuswahlBox(215, 570, 195, 20, ABSTYLE, {});
+    neuKarte = initKnopf(
+        420, 570, 120, 20, Knopf::Style::Sichtbar, "Karte Erstellen");
+    laden = (Framework::Animation2D*)ladeAnimation->dublizieren();
+    laden->setPosition(425, 275);
+    laden->setSichtbar(0);
+    aktion = 0;
+    tickVal = 0;
+    rend = 0;
 }
 
 // Destruktor
 Auswahl::~Auswahl()
 {
-	laden->release();
-	suchFilterT->release();
-	suchFilter->release();
-	suchen->release();
-	sortSpalte->release();
-	sortRichtung->release();
-	karten->release();
-	neuKarteName->release();
-	neuKarteSpielArt->release();
-	neuKarte->release();
-	kEditor->release();
+    laden->release();
+    suchFilterT->release();
+    suchFilter->release();
+    suchen->release();
+    sortSpalte->release();
+    sortRichtung->release();
+    karten->release();
+    neuKarteName->release();
+    neuKarteSpielArt->release();
+    neuKarte->release();
+    kEditor->release();
 }
 
 // nicht constant
 void Auswahl::setSichtbar(bool sicht)
 {
-	sichtbar = sicht;
-	if (sichtbar)
-	{
-		MausEreignis me;
-		me.id = ME_RLinks;
-		me.verarbeitet = 0;
-		me.mx = suchen->getX() + 1;
-		me.my = suchen->getY() + 1;
-		doPublicMausEreignis(me);
-	}
+    sichtbar = sicht;
+    if (sichtbar)
+    {
+        MausEreignis me;
+        me.id = ME_RLinks;
+        me.verarbeitet = 0;
+        me.mx = suchen->getX() + 1;
+        me.my = suchen->getY() + 1;
+        doPublicMausEreignis(me);
+    }
 }
 
 void Auswahl::thread()
 {
-	laden->setSichtbar(1);
-	if (aktion < 0)
-	{
-		int port = 0;
-		Text ip = "";
-		KSGClient::EditorServerClient* editorClient = infoClient->createEditorServerClient(0);
-		if (!editorClient)
-		{
-			nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"), new Text(infoClient->getLetzterFehler()), new Text("Ok"));
-			aktion = 0;
-			laden->setSichtbar(0);
-			run = 0;
-			return;
-		}
-		bool ok = 0;
-		if (editorClient->verbinde())
-		{
-			if (editorClient->karteErstellen(neuKarteName->zText()->getText(), infoClient->getSpielId(neuKarteSpielArt->zEintrag(neuKarteSpielArt->getAuswahl())->zText()->getText())))
-				ok = 1;
-			editorClient->trenne(1);
-		}
-		if (!ok)
-		{
-			nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"), new Text(editorClient->getLetzterFehler()), new Text("Ok"));
-			aktion = 0;
-			laden->setSichtbar(0);
-			run = 0;
-			editorClient->release();
-			return;
-		}
-		aktion = 0;
-		laden->setSichtbar(0);
-		run = 0;
-		editorClient->release();
-		return;
-	}
-	if (aktion)
-	{
-		int port = 0;
-		Text ip = "";
-		if (editorClient)
-			editorClient = (KSGClient::EditorServerClient*)editorClient->release();
-		editorClient = infoClient->createEditorServerClient(aktion);
-		if (!editorClient)
-		{
-			nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"), new Text(infoClient->getLetzterFehler()), new Text("Ok"));
-			aktion = 0;
-			laden->setSichtbar(0);
-			run = 0;
-			return;
-		}
-		bool ok = 0;
-		if (editorClient->verbinde())
-		{
-			if (editorClient->ladeKarte(aktion))
-				ok = 1;
-		}
-		if (!ok)
-		{
-			nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"), new Text(editorClient->getLetzterFehler()), new Text("Ok"));
-			aktion = 0;
-			laden->setSichtbar(0);
-			run = 0;
-			return;
-		}
-		kEditor->setKarte(aktion);
-		aktion = 0;
-		setSichtbar(0);
-		while (alpha != 0)
-			Sleep(100);
-		laden->setSichtbar(0);
-		run = 0;
-		return;
-	}
-	Array< int >* saList = infoClient->getAccountSpielArtListe();
-	if (saList)
-	{
-		RCArray< Text >* saNamen = new RCArray< Text >();
-		int anz = saList->getEintragAnzahl();
-		for (int i = 0; i < anz; i++)
-		{
-			if (!saList->hat(i))
-				continue;
-			Text* name = infoClient->getSpielName(saList->hat(i) ? saList->get(i) : 0);
-			if (name)
-				saNamen->add(name);
-		}
-		neuKarteSpielArt->lockZeichnung();
-		neuKarteSpielArt->setAuswahl(0);
-		anz = neuKarteSpielArt->getEintragAnzahl();
-		for (int i = 0; i < anz; i++)
-			neuKarteSpielArt->removeEintrag(0);
-		anz = saNamen->getEintragAnzahl();
-		for (int i = 0; i < anz; i++)
-		{
-			if (saNamen->z(i))
-				neuKarteSpielArt->addEintrag(saNamen->z(i)->getText());
-		}
-		neuKarteSpielArt->unlockZeichnung();
-		saNamen->release();
-		saList->release();
-	}
-	karten->lockZeichnung();
-	int anz = karten->getZeilenAnzahl();
-	for (int i = 1; i < anz; i++)
-		karten->removeZeile(1);
-	karten->unlockZeichnung();
-	Bild* shopWeiter = bilder->get("data/client/bilder/shop.ltdb/weiter.png");
-	Array< int >* kId = new Array< int >();
-	RCArray< Text >* kName = new RCArray< Text >();
-	RCArray< Text >* saName = new RCArray< Text >();
-	Array< int >* kupfer = new Array< int >();
-	Array< int >* verkauft = new Array< int >();
-	Array< int >* maxSpieler = new Array< int >();
-	int kAnz = infoClient->getKartenListe(suchFilter->zText()->getText(), (char)sortSpalte->getAuswahl(), (char)sortRichtung->getAuswahl(),
-		kId, kName, saName, kupfer, verkauft, maxSpieler);
-	for (int i = 0; i < kAnz; i++)
-	{
-		Text zeile;
-		zeile = kId->get(i);
-		karten->addZeile(zeile);
-		karten->setZeichnungZ(0, i + 1, initTextFeld(0, 0, 0, 0, TextFeld::Style::Text | TextFeld::Style::VCenter, kName->z(i)->getText()));
-		karten->setZeichnungZ(1, i + 1, initTextFeld(0, 0, 0, 0, TextFeld::Style::Text | TextFeld::Style::VCenter, saName->z(i)->getText()));
-		karten->setZeichnungZ(2, i + 1, initTextFeld(0, 0, 0, 0, TextFeld::Style::Text | TextFeld::Style::VCenter, Text() += kupfer->get(i)));
-		karten->setZeichnungZ(3, i + 1, initTextFeld(0, 0, 0, 0, TextFeld::Style::Text | TextFeld::Style::VCenter, Text() += verkauft->get(i)));
-		karten->setZeichnungZ(4, i + 1, initTextFeld(0, 0, 0, 0, TextFeld::Style::Text | TextFeld::Style::VCenter, Text() += maxSpieler->get(i)));
-		Knopf* weiter = initKnopf(0, 0, 0, 0, 0, "");
-		weiter->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
-		weiter->setHintergrundBildZ(dynamic_cast<Bild*>(shopWeiter->getThis()));
-		weiter->setMausEreignisParameter(this);
-		weiter->setMausEreignis(auswahlWeiterME);
-		karten->setZeichnungZ(5, i + 1, weiter);
-	}
-	kId->release();
-	kName->release();
-	saName->release();
-	kupfer->release();
-	verkauft->release();
-	maxSpieler->release();
-	shopWeiter->release();
-	laden->setSichtbar(0);
-	run = 0;
+    laden->setSichtbar(1);
+    if (aktion < 0)
+    {
+        int port = 0;
+        Text ip = "";
+        KSGClient::EditorServerClient* editorClient
+            = infoClient->createEditorServerClient(0);
+        if (!editorClient)
+        {
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(infoClient->getLetzterFehler()),
+                new Text("Ok"));
+            aktion = 0;
+            laden->setSichtbar(0);
+            run = 0;
+            return;
+        }
+        bool ok = 0;
+        if (editorClient->verbinde())
+        {
+            if (editorClient->karteErstellen(neuKarteName->zText()->getText(),
+                    infoClient->getSpielId(
+                        neuKarteSpielArt
+                            ->zEintrag(neuKarteSpielArt->getAuswahl())
+                            ->zText()
+                            ->getText())))
+                ok = 1;
+            editorClient->trenne(1);
+        }
+        if (!ok)
+        {
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(editorClient->getLetzterFehler()),
+                new Text("Ok"));
+            aktion = 0;
+            laden->setSichtbar(0);
+            run = 0;
+            editorClient->release();
+            return;
+        }
+        aktion = 0;
+        laden->setSichtbar(0);
+        run = 0;
+        editorClient->release();
+        return;
+    }
+    if (aktion)
+    {
+        int port = 0;
+        Text ip = "";
+        if (editorClient)
+            editorClient
+                = (KSGClient::EditorServerClient*)editorClient->release();
+        editorClient = infoClient->createEditorServerClient(aktion);
+        if (!editorClient)
+        {
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(infoClient->getLetzterFehler()),
+                new Text("Ok"));
+            aktion = 0;
+            laden->setSichtbar(0);
+            run = 0;
+            return;
+        }
+        bool ok = 0;
+        if (editorClient->verbinde())
+        {
+            if (editorClient->ladeKarte(aktion)) ok = 1;
+        }
+        if (!ok)
+        {
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(editorClient->getLetzterFehler()),
+                new Text("Ok"));
+            aktion = 0;
+            laden->setSichtbar(0);
+            run = 0;
+            return;
+        }
+        kEditor->setKarte(aktion);
+        aktion = 0;
+        setSichtbar(0);
+        while (alpha != 0)
+            Sleep(100);
+        laden->setSichtbar(0);
+        run = 0;
+        return;
+    }
+    Array<int>* saList = infoClient->getAccountSpielArtListe();
+    if (saList)
+    {
+        RCArray<Text>* saNamen = new RCArray<Text>();
+        int anz = saList->getEintragAnzahl();
+        for (int i = 0; i < anz; i++)
+        {
+            if (!saList->hat(i)) continue;
+            Text* name
+                = infoClient->getSpielName(saList->hat(i) ? saList->get(i) : 0);
+            if (name) saNamen->add(name);
+        }
+        neuKarteSpielArt->lockZeichnung();
+        neuKarteSpielArt->setAuswahl(0);
+        anz = neuKarteSpielArt->getEintragAnzahl();
+        for (int i = 0; i < anz; i++)
+            neuKarteSpielArt->removeEintrag(0);
+        anz = saNamen->getEintragAnzahl();
+        for (int i = 0; i < anz; i++)
+        {
+            if (saNamen->z(i))
+                neuKarteSpielArt->addEintrag(saNamen->z(i)->getText());
+        }
+        neuKarteSpielArt->unlockZeichnung();
+        saNamen->release();
+        saList->release();
+    }
+    karten->lockZeichnung();
+    int anz = karten->getZeilenAnzahl();
+    for (int i = 1; i < anz; i++)
+        karten->removeZeile(1);
+    karten->unlockZeichnung();
+    Bild* shopWeiter = bilder->get("data/client/bilder/shop.ltdb/weiter.png");
+    Array<int>* kId = new Array<int>();
+    RCArray<Text>* kName = new RCArray<Text>();
+    RCArray<Text>* saName = new RCArray<Text>();
+    Array<int>* kupfer = new Array<int>();
+    Array<int>* verkauft = new Array<int>();
+    Array<int>* maxSpieler = new Array<int>();
+    int kAnz = infoClient->getKartenListe(suchFilter->zText()->getText(),
+        (char)sortSpalte->getAuswahl(),
+        (char)sortRichtung->getAuswahl(),
+        kId,
+        kName,
+        saName,
+        kupfer,
+        verkauft,
+        maxSpieler);
+    for (int i = 0; i < kAnz; i++)
+    {
+        Text zeile;
+        zeile = kId->get(i);
+        karten->addZeile(zeile);
+        karten->setZeichnungZ(0,
+            i + 1,
+            initTextFeld(0,
+                0,
+                0,
+                0,
+                TextFeld::Style::Text | TextFeld::Style::VCenter,
+                kName->z(i)->getText()));
+        karten->setZeichnungZ(1,
+            i + 1,
+            initTextFeld(0,
+                0,
+                0,
+                0,
+                TextFeld::Style::Text | TextFeld::Style::VCenter,
+                saName->z(i)->getText()));
+        karten->setZeichnungZ(2,
+            i + 1,
+            initTextFeld(0,
+                0,
+                0,
+                0,
+                TextFeld::Style::Text | TextFeld::Style::VCenter,
+                Text() += kupfer->get(i)));
+        karten->setZeichnungZ(3,
+            i + 1,
+            initTextFeld(0,
+                0,
+                0,
+                0,
+                TextFeld::Style::Text | TextFeld::Style::VCenter,
+                Text() += verkauft->get(i)));
+        karten->setZeichnungZ(4,
+            i + 1,
+            initTextFeld(0,
+                0,
+                0,
+                0,
+                TextFeld::Style::Text | TextFeld::Style::VCenter,
+                Text() += maxSpieler->get(i)));
+        Knopf* weiter = initKnopf(0, 0, 0, 0, 0, "");
+        weiter->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Erlaubt
+                         | Knopf::Style::Hintergrund | Knopf::Style::HBild
+                         | Knopf::Style::KlickBuffer);
+        weiter->setHintergrundBildZ(dynamic_cast<Bild*>(shopWeiter->getThis()));
+        weiter->setMausEreignisParameter(this);
+        weiter->setMausEreignis(auswahlWeiterME);
+        karten->setZeichnungZ(5, i + 1, weiter);
+    }
+    kId->release();
+    kName->release();
+    saName->release();
+    kupfer->release();
+    verkauft->release();
+    maxSpieler->release();
+    shopWeiter->release();
+    laden->setSichtbar(0);
+    run = 0;
 }
 
 bool Auswahl::weiterME(Zeichnung* obj, MausEreignis& me)
 {
-	if (me.id != ME_RLinks)
-		return 1;
-	karten->lockZeichnung();
-	int anz = karten->getZeilenAnzahl();
-	for (int i = 1; i < anz; i++)
-	{
-		if (karten->zZeichnung(5, i) == obj)
-		{
-			aktion = (int)*karten->zZeilenName(i);
-			start();
-		}
-	}
-	karten->unlockZeichnung();
-	return 1;
+    if (me.id != ME_RLinks) return 1;
+    karten->lockZeichnung();
+    int anz = karten->getZeilenAnzahl();
+    for (int i = 1; i < anz; i++)
+    {
+        if (karten->zZeichnung(5, i) == obj)
+        {
+            aktion = (int)*karten->zZeilenName(i);
+            start();
+        }
+    }
+    karten->unlockZeichnung();
+    return 1;
 }
 
 void Auswahl::doPublicMausEreignis(MausEreignis& me)
 {
-	if (!sichtbar || run)
-		return;
-	suchFilter->doPublicMausEreignis(me);
-	bool vera = me.verarbeitet;
-	suchen->doPublicMausEreignis(me);
-	if (!vera && me.verarbeitet && me.id == ME_RLinks)
-	{
-		aktion = 0;
-		start();
-	}
-	int ausw = sortSpalte->getAuswahl();
-	sortSpalte->doPublicMausEreignis(me);
-	if (ausw != sortSpalte->getAuswahl())
-	{
-		aktion = 0;
-		start();
-		sortSpalte->einklappen();
-	}
-	ausw = sortRichtung->getAuswahl();
-	sortRichtung->doPublicMausEreignis(me);
-	if (ausw != sortRichtung->getAuswahl())
-	{
-		aktion = 0;
-		start();
-		sortRichtung->einklappen();
-	}
-	karten->doPublicMausEreignis(me);
-	neuKarteName->doPublicMausEreignis(me);
-	neuKarteSpielArt->doPublicMausEreignis(me);
-	vera = me.verarbeitet;
-	neuKarte->doPublicMausEreignis(me);
-	if (!vera && me.verarbeitet && me.id == ME_RLinks)
-	{
-		aktion = -1;
-		start();
-	}
+    if (!sichtbar || run) return;
+    suchFilter->doPublicMausEreignis(me);
+    bool vera = me.verarbeitet;
+    suchen->doPublicMausEreignis(me);
+    if (!vera && me.verarbeitet && me.id == ME_RLinks)
+    {
+        aktion = 0;
+        start();
+    }
+    int ausw = sortSpalte->getAuswahl();
+    sortSpalte->doPublicMausEreignis(me);
+    if (ausw != sortSpalte->getAuswahl())
+    {
+        aktion = 0;
+        start();
+        sortSpalte->einklappen();
+    }
+    ausw = sortRichtung->getAuswahl();
+    sortRichtung->doPublicMausEreignis(me);
+    if (ausw != sortRichtung->getAuswahl())
+    {
+        aktion = 0;
+        start();
+        sortRichtung->einklappen();
+    }
+    karten->doPublicMausEreignis(me);
+    neuKarteName->doPublicMausEreignis(me);
+    neuKarteSpielArt->doPublicMausEreignis(me);
+    vera = me.verarbeitet;
+    neuKarte->doPublicMausEreignis(me);
+    if (!vera && me.verarbeitet && me.id == ME_RLinks)
+    {
+        aktion = -1;
+        start();
+    }
 }
 
 void Auswahl::doTastaturEreignis(TastaturEreignis& te)
 {
-	if (!sichtbar || run)
-		return;
-	bool vera = te.verarbeitet;
-	suchFilter->doTastaturEreignis(te);
-	if (!vera && te.verarbeitet && te.taste == T_Enter && te.id == TE_Release)
-	{
-		MausEreignis me;
-		me.id = ME_RLinks;
-		me.verarbeitet = 0;
-		me.mx = suchen->getX() + 1;
-		me.my = suchen->getY() + 1;
-		doPublicMausEreignis(me);
-	}
-	neuKarteName->doTastaturEreignis(te);
+    if (!sichtbar || run) return;
+    bool vera = te.verarbeitet;
+    suchFilter->doTastaturEreignis(te);
+    if (!vera && te.verarbeitet && te.virtualKey == T_Enter
+        && te.id == TE_Release)
+    {
+        MausEreignis me;
+        me.id = ME_RLinks;
+        me.verarbeitet = 0;
+        me.mx = suchen->getX() + 1;
+        me.my = suchen->getY() + 1;
+        doPublicMausEreignis(me);
+    }
+    neuKarteName->doTastaturEreignis(te);
 }
 
 bool Auswahl::tick(double zeit)
 {
-	tickVal += zeit * 250;
-	int val = (int)tickVal;
-	if (val < 1)
-	{
-		bool ret = rend;
-		rend = 0;
-		return ret;
-	}
-	if (val > 10)
-		val = 10;
-	rend |= sortSpalte->tick(zeit);
-	rend |= sortRichtung->tick(zeit);
-	rend |= neuKarteSpielArt->tick(zeit);
-	rend |= laden->tick(zeit);
-	rend |= suchFilterT->tick(zeit);
-	rend |= suchFilter->tick(zeit);
-	rend |= suchen->tick(zeit);
-	rend |= karten->tick(zeit);
-	rend |= neuKarteName->tick(zeit);
-	rend |= neuKarte->tick(zeit);
-	if (sichtbar && alpha != 255 && !run)
-	{
-		if (alpha + val > 255)
-			alpha = 255;
-		else
-			alpha += val;
-		rend = 1;
-	}
-	if (sichtbar && alpha != 125 && run)
-	{
-		if (alpha > 125)
-		{
-			if (alpha - val < 125)
-				alpha = 125;
-			else
-				alpha -= val;
-			rend = 1;
-		}
-		else
-		{
-			if (alpha + val > 125)
-				alpha = 125;
-			else
-				alpha += 125;
-			rend = 1;
-		}
-	}
-	if (!sichtbar && alpha != 0)
-	{
-		if (alpha - val < 0)
-			alpha = 0;
-		else
-			alpha -= val;
-		rend = 1;
-	}
-	bool ret = rend;
-	rend = 0;
-	return ret;
+    tickVal += zeit * 250;
+    int val = (int)tickVal;
+    if (val < 1)
+    {
+        bool ret = rend;
+        rend = 0;
+        return ret;
+    }
+    if (val > 10) val = 10;
+    rend |= sortSpalte->tick(zeit);
+    rend |= sortRichtung->tick(zeit);
+    rend |= neuKarteSpielArt->tick(zeit);
+    rend |= laden->tick(zeit);
+    rend |= suchFilterT->tick(zeit);
+    rend |= suchFilter->tick(zeit);
+    rend |= suchen->tick(zeit);
+    rend |= karten->tick(zeit);
+    rend |= neuKarteName->tick(zeit);
+    rend |= neuKarte->tick(zeit);
+    if (sichtbar && alpha != 255 && !run)
+    {
+        if (alpha + val > 255)
+            alpha = 255;
+        else
+            alpha += val;
+        rend = 1;
+    }
+    if (sichtbar && alpha != 125 && run)
+    {
+        if (alpha > 125)
+        {
+            if (alpha - val < 125)
+                alpha = 125;
+            else
+                alpha -= val;
+            rend = 1;
+        }
+        else
+        {
+            if (alpha + val > 125)
+                alpha = 125;
+            else
+                alpha += 125;
+            rend = 1;
+        }
+    }
+    if (!sichtbar && alpha != 0)
+    {
+        if (alpha - val < 0)
+            alpha = 0;
+        else
+            alpha -= val;
+        rend = 1;
+    }
+    bool ret = rend;
+    rend = 0;
+    return ret;
 }
 
 void Auswahl::render(Bild& zRObj)
 {
-	if (!alpha)
-		return;
-	zRObj.setAlpha(alpha);
-	suchFilterT->render(zRObj);
-	suchFilter->render(zRObj);
-	suchen->render(zRObj);
-	karten->render(zRObj);
-	neuKarteName->render(zRObj);
-	neuKarte->render(zRObj);
-	neuKarteSpielArt->render(zRObj);
-	sortSpalte->render(zRObj);
-	sortRichtung->render(zRObj);
-	zRObj.releaseAlpha();
-	laden->render(zRObj);
+    if (!alpha) return;
+    zRObj.setAlpha(alpha);
+    suchFilterT->render(zRObj);
+    suchFilter->render(zRObj);
+    suchen->render(zRObj);
+    karten->render(zRObj);
+    neuKarteName->render(zRObj);
+    neuKarte->render(zRObj);
+    neuKarteSpielArt->render(zRObj);
+    sortSpalte->render(zRObj);
+    sortRichtung->render(zRObj);
+    zRObj.releaseAlpha();
+    laden->render(zRObj);
 }
 
 // constant
 bool Auswahl::istSichtbar() const
 {
-	return sichtbar;
+    return sichtbar;
 }
 
-
 // Ereignisse
 bool auswahlWeiterME(void* p, void* obj, MausEreignis me)
 {
-	if (p)
-		return ((Auswahl*)p)->weiterME((Zeichnung*)obj, me);
-	return 1;
+    if (p) return ((Auswahl*)p)->weiterME((Zeichnung*)obj, me);
+    return 1;
 }

+ 144 - 126
KSGClient/NachLogin/Editor/Karte/Beschreibung/KEBVorschau.cpp

@@ -1,54 +1,64 @@
 #include "KEBVorschau.h"
-#include "../../../../Global/Variablen.h"
-#include "../../../../Global/Initialisierung.h"
+
 #include <Datei.h>
 #include <Globals.h>
 
-void kEBVorschauKSGSAktion( void *p, RCArray< KSGSVariable > *parameter, KSGSVariable **retVal )
+#include "../../../../Global/Initialisierung.h"
+#include "../../../../Global/Variablen.h"
+
+void kEBVorschauKSGSAktion(
+    void* p, RCArray<KSGSVariable>* parameter, KSGSVariable** retVal)
 {
-    if( !p )
-        return;
-    ( (KEBVorschauKarteScript *)p )->ksgsAktion( parameter, retVal );
+    if (!p) return;
+    ((KEBVorschauKarteScript*)p)->ksgsAktion(parameter, retVal);
 }
 
 // Inhalt der KEBVorschauKarteScript Klasse aus KEBVorschau.h
 // Konstruktor
-KEBVorschauKarteScript::KEBVorschauKarteScript( TextFeld *zLog )
+KEBVorschauKarteScript::KEBVorschauKarteScript(TextFeld* zLog)
     : Thread()
 {
-    ksgs = Framework::getDLLRegister()->ladeDLL( "KSGScript.dll", "data/bin/KSGScript.dll" );
-    if( ksgs )
+    ksgs = Framework::getDLLRegister()->ladeDLL(
+        "KSGScript.dll", "data/bin/KSGScript.dll");
+    if (ksgs)
     {
-        KSGSGetZeichnung getKSGScript = (KSGSGetZeichnung)GetProcAddress( ksgs, KSGS_START_FUNKTION );
-        if( getKSGScript )
+        KSGSGetZeichnung getKSGScript
+            = (KSGSGetZeichnung)GetProcAddress(ksgs, KSGS_START_FUNKTION);
+        if (getKSGScript)
         {
             fenster = getKSGScript();
-            fenster->setSchriftZ( dynamic_cast<Schrift *>( uiFactory.initParam.schrift->getThis() ) );
-            fenster->setSize( 578, 428 );
-            fenster->setCallbackParam( this );
-            fenster->setCallbackFunktion( kEBVorschauKSGSAktion );
-            fenster->setLog( dynamic_cast<TextFeld *>( zLog->getThis() ) );
+            fenster->setSchriftZ(
+                dynamic_cast<Schrift*>(uiFactory.initParam.schrift->getThis()));
+            fenster->setSize(578, 428);
+            fenster->setCallbackParam(this);
+            fenster->setCallbackFunktion(kEBVorschauKSGSAktion);
+            fenster->setLog(dynamic_cast<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." ),
-                                                          new Text( "Ok" ), 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."),
+                new Text("Ok"),
+                0);
         }
     }
     else
     {
         fenster = 0;
-        nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                      new Text( "Die DLL-Datei 'data/bin/KSGScript.dll' konnte nicht geladen werden." ),
-                                                      new Text( "Ok" ), 0 );
+        nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+            new Text("Die DLL-Datei 'data/bin/KSGScript.dll' konnte nicht "
+                     "geladen werden."),
+            new Text("Ok"),
+            0);
     }
     ram = new LRahmen();
-    ram->setSize( 578, 428 );
-    ram->setFarbe( 0xFFFFFFFF );
-    pos = Punkt( 120, 10 );
+    ram->setSize(578, 428);
+    ram->setFarbe(0xFFFFFFFF);
+    pos = Punkt(120, 10);
     erlaubt = 1;
     sichtbar = 0;
     alpha = 0;
@@ -59,135 +69,141 @@ KEBVorschauKarteScript::KEBVorschauKarteScript( TextFeld *zLog )
 // Destruktor
 KEBVorschauKarteScript::~KEBVorschauKarteScript()
 {
-    if( fenster )
+    if (fenster)
     {
         fenster->reset();
         fenster->release();
     }
     ram->release();
-    if( ksgs )
-        Framework::getDLLRegister()->releaseDLL( "KSGScript.dll" );
+    if (ksgs) Framework::getDLLRegister()->releaseDLL("KSGScript.dll");
 }
 
 // nicht constant
 void KEBVorschauKarteScript::thread()
 {
     sichtbar = 0;
-    while( alpha )
-        Sleep( 100 );
-    if( ak == 1 )
+    while (alpha)
+        Sleep(100);
+    if (ak == 1)
     {
         pfad += "/seite.ksgs";
-        if( fenster )
-            fenster->setScriptDatei( pfad );
+        if (fenster) fenster->setScriptDatei(pfad);
     }
     fenster->neuLaden();
-    KSGSGetVariable getKSGSVar = (KSGSGetVariable)GetProcAddress( ksgs, KSGS_VARIABLE_FUNKTION );
-    RCArray< KSGSVariable > *params = new RCArray< KSGSVariable >();
+    KSGSGetVariable getKSGSVar
+        = (KSGSGetVariable)GetProcAddress(ksgs, KSGS_VARIABLE_FUNKTION);
+    RCArray<KSGSVariable>* params = new RCArray<KSGSVariable>();
     KSGSVariableDef p1;
     p1.typId = KSGS_BOOL;
     p1.wert = erlaubt;
-    params->add( getKSGSVar( fenster, &p1 ) );
-    if( fenster )
+    params->add(getKSGSVar(fenster, &p1));
+    if (fenster)
     {
-        KSGSVariable *var = fenster->startFunktion( fenster->getFunktionId( "_set_Erlaubt" ), params );
-        if( var )
-            var->release();
+        KSGSVariable* var = fenster->startFunktion(
+            fenster->getFunktionId("_set_Erlaubt"), params);
+        if (var) var->release();
     }
     sichtbar = 1;
     ak = 0;
     run = 0;
 }
 
-void KEBVorschauKarteScript::setErlaubt( bool e )
+void KEBVorschauKarteScript::setErlaubt(bool e)
 {
     erlaubt = e;
-    KSGSGetVariable getKSGSVar = (KSGSGetVariable)GetProcAddress( ksgs, KSGS_VARIABLE_FUNKTION );
-    RCArray< KSGSVariable > *params = new RCArray< KSGSVariable >();
+    KSGSGetVariable getKSGSVar
+        = (KSGSGetVariable)GetProcAddress(ksgs, KSGS_VARIABLE_FUNKTION);
+    RCArray<KSGSVariable>* params = new RCArray<KSGSVariable>();
     KSGSVariableDef p1;
     p1.typId = KSGS_BOOL;
     p1.wert = erlaubt;
-    params->add( getKSGSVar( fenster, &p1 ) );
-    KSGSVariable *var = fenster->startFunktion( fenster->getFunktionId( "_set_Erlaubt" ), params );
-    if( var )
-        var->release();
+    params->add(getKSGSVar(fenster, &p1));
+    KSGSVariable* var = fenster->startFunktion(
+        fenster->getFunktionId("_set_Erlaubt"), params);
+    if (var) var->release();
 }
 
-void KEBVorschauKarteScript::ladeKarteSeite( char *pfad )
+void KEBVorschauKarteScript::ladeKarteSeite(const char* pfad)
 {
-    if( run )
-        warteAufThread( 5000 );
-    if( run )
-        ende();
+    if (run) warteAufThread(5000);
+    if (run) ende();
     this->pfad = pfad;
     ak = 1;
     start();
 }
 
-void KEBVorschauKarteScript::ksgsAktion( RCArray< KSGSVariable > *parameter, KSGSVariable **retVal )
+void KEBVorschauKarteScript::ksgsAktion(
+    RCArray<KSGSVariable>* parameter, KSGSVariable** retVal)
 {}
 
-void KEBVorschauKarteScript::doPublicMausEreignis( MausEreignis &me )
+void KEBVorschauKarteScript::doPublicMausEreignis(MausEreignis& me)
 {
     me.mx -= pos.x;
     me.my -= pos.y;
-    if( fenster )
-        fenster->doPublicMausEreignis( me );
+    if (fenster) fenster->doPublicMausEreignis(me);
     me.mx += pos.x;
     me.my += pos.y;
 }
 
-void KEBVorschauKarteScript::doTastaturEreignis( TastaturEreignis &te )
+void KEBVorschauKarteScript::doTastaturEreignis(TastaturEreignis& te)
 {
-    if( fenster )
-        fenster->doTastaturEreignis( te );
+    if (fenster) fenster->doTastaturEreignis(te);
 }
 
-bool KEBVorschauKarteScript::tick( double zeit )
+bool KEBVorschauKarteScript::tick(double zeit)
 {
-    bool rend = fenster ? fenster->tick( zeit ) : 0;
-    if( !sichtbar && alpha > 0 )
+    bool rend = fenster ? fenster->tick(zeit) : 0;
+    if (!sichtbar && alpha > 0)
     {
-        if( alpha - zeit * 150 < 0 )
+        if (alpha - zeit * 150 < 0)
             alpha = 0;
         else
-            alpha -= (unsigned char)( zeit * 150 );
+            alpha -= (unsigned char)(zeit * 150);
         rend = 1;
     }
-    if( sichtbar && alpha < 255 )
+    if (sichtbar && alpha < 255)
     {
-        if( alpha + zeit * 150 > 255 )
+        if (alpha + zeit * 150 > 255)
             alpha = 255;
         else
-            alpha += (unsigned char)( zeit * 150 );
+            alpha += (unsigned char)(zeit * 150);
         rend = 1;
     }
     return rend;
 }
 
-void KEBVorschauKarteScript::render( Bild &zRObj )
+void KEBVorschauKarteScript::render(Bild& zRObj)
 {
-    if( !zRObj.setDrawOptions( pos.x, pos.y, ram->getBreite(), ram->getHeight() ) )
+    if (!zRObj.setDrawOptions(pos.x, pos.y, ram->getBreite(), ram->getHeight()))
         return;
-    zRObj.setAlpha( alpha );
-    ram->render( zRObj );
-    if( fenster )
-        fenster->render( zRObj );
+    zRObj.setAlpha(alpha);
+    ram->render(zRObj);
+    if (fenster) fenster->render(zRObj);
     zRObj.releaseAlpha();
     zRObj.releaseDrawOptions();
 }
 
-
 // Inhalt der KEBVorschau Klasse aus KEBVorschau.h
 // Konstruktor
 KEBVorschau::KEBVorschau()
     : Zeichnung()
 {
-    neu = initKnopf( 10, 10, 100, 20, Knopf::Style::Sichtbar, "Neu starten" );
-    beenden = initKnopf( 10, 40, 100, 20, Knopf::Style::Sichtbar, "Beenden" );
-    log = initTextFeld( 10, 445, 860, 75, ( TextFeld::Style::TextGebiet | TextFeld::Style::HScroll ) & ~TextFeld::Style::Erlaubt, "Log:\n" );
-    script = new KEBVorschauKarteScript( log );
-    erlaubt = initKontrollKnopf( 10, 70, 100, 20, KontrollKnopf::Style::Normal | KontrollKnopf::Style::Selected, "Erlaubt" );
+    neu = initKnopf(10, 10, 100, 20, Knopf::Style::Sichtbar, "Neu starten");
+    beenden = initKnopf(10, 40, 100, 20, Knopf::Style::Sichtbar, "Beenden");
+    log = initTextFeld(10,
+        445,
+        860,
+        75,
+        (TextFeld::Style::TextGebiet | TextFeld::Style::HScroll)
+            & ~TextFeld::Style::Erlaubt,
+        "Log:\n");
+    script = new KEBVorschauKarteScript(log);
+    erlaubt = initKontrollKnopf(10,
+        70,
+        100,
+        20,
+        KontrollKnopf::Style::Normal | KontrollKnopf::Style::Selected,
+        "Erlaubt");
     alpha = 0;
     sichtbar = 0;
     tickVal = 0;
@@ -215,87 +231,89 @@ int KEBVorschau::getAktion()
 
 bool KEBVorschau::ladeKarte()
 {
-    Text *scr = editorClient->beschreibungLaden();
-    if( !scr )
+    Text* scr = editorClient->beschreibungLaden();
+    if (!scr)
     {
-        nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( editorClient->getLetzterFehler() ), new Text( "Ok" ) );
+        nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+            new Text(editorClient->getLetzterFehler()),
+            new Text("Ok"));
         return 0;
     }
     else
     {
         Datei d;
-        d.setDatei( "data/tmp/ke/kbv/seite.ksgs" );
+        d.setDatei("data/tmp/ke/kbv/seite.ksgs");
         d.erstellen();
-        if( !d.open( Datei::Style::schreiben ) )
+        if (!d.open(Datei::Style::schreiben))
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( "Fehler beim open der Datei 'data/tmp/ke/kbv/seite.ksgs'" ), new Text( "Ok" ) );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(
+                    "Fehler beim open der Datei 'data/tmp/ke/kbv/seite.ksgs'"),
+                new Text("Ok"));
             return 0;
         }
-        d.schreibe( scr->getText(), scr->getLength() );
+        d.schreibe(scr->getText(), scr->getLength());
         d.close();
         scr->release();
-        script->ladeKarteSeite( "data/tmp/ke/kbv" );
+        script->ladeKarteSeite("data/tmp/ke/kbv");
     }
     return 1;
 }
 
-void KEBVorschau::setSichtbar( bool sicht )
+void KEBVorschau::setSichtbar(bool sicht)
 {
     sichtbar = sicht;
 }
 
-void KEBVorschau::doPublicMausEreignis( MausEreignis &me )
+void KEBVorschau::doPublicMausEreignis(MausEreignis& me)
 {
-    if( !sichtbar )
-        return;
-    script->doPublicMausEreignis( me );
+    if (!sichtbar) return;
+    script->doPublicMausEreignis(me);
     bool mev = me.verarbeitet;
-    neu->doPublicMausEreignis( me );
-    if( !mev && me.verarbeitet && me.id == ME_RLinks )
-        script->ladeKarteSeite( "data/tmp/ke/kbv" );
+    neu->doPublicMausEreignis(me);
+    if (!mev && me.verarbeitet && me.id == ME_RLinks)
+        script->ladeKarteSeite("data/tmp/ke/kbv");
     mev = me.verarbeitet;
-    beenden->doPublicMausEreignis( me );
-    if( !mev && me.verarbeitet && me.id == ME_RLinks )
-        aktion = 1;
-    log->doPublicMausEreignis( me );
+    beenden->doPublicMausEreignis(me);
+    if (!mev && me.verarbeitet && me.id == ME_RLinks) aktion = 1;
+    log->doPublicMausEreignis(me);
     bool eu = 0;
-    bool sel = erlaubt->hatStyle( KontrollKnopf::Style::Selected );
-    erlaubt->doPublicMausEreignis( me );
-    if( sel != erlaubt->hatStyle( KontrollKnopf::Style::Selected ) )
-        script->setErlaubt( erlaubt->hatStyle( KontrollKnopf::Style::Selected ) );
+    bool sel = erlaubt->hatStyle(KontrollKnopf::Style::Selected);
+    erlaubt->doPublicMausEreignis(me);
+    if (sel != erlaubt->hatStyle(KontrollKnopf::Style::Selected))
+        script->setErlaubt(erlaubt->hatStyle(KontrollKnopf::Style::Selected));
 }
 
-void KEBVorschau::doTastaturEreignis( TastaturEreignis &te )
+void KEBVorschau::doTastaturEreignis(TastaturEreignis& te)
 {
-    if( !sichtbar )
-        return;
-    script->doTastaturEreignis( te );
+    if (!sichtbar) return;
+    script->doTastaturEreignis(te);
 }
 
-bool KEBVorschau::tick( double zeit )
+bool KEBVorschau::tick(double zeit)
 {
-    bool ret = script->tick( zeit );
-    ret |= neu->tick( zeit );
-    ret |= beenden->tick( zeit );
-    ret |= log->tick( zeit );
-    ret |= erlaubt->tick( zeit );
+    bool ret = script->tick(zeit);
+    ret |= neu->tick(zeit);
+    ret |= beenden->tick(zeit);
+    ret |= log->tick(zeit);
+    ret |= erlaubt->tick(zeit);
     tickVal += zeit * 150;
     int val = 0;
-    if( tickVal > 1 )
+    if (tickVal > 1)
         val = (int)tickVal;
     else
         return ret;
-    if( sichtbar && alpha != 255 )
+    if (sichtbar && alpha != 255)
     {
-        if( alpha + val > 255 )
+        if (alpha + val > 255)
             alpha = 255;
         else
             alpha += val;
         ret = 1;
     }
-    if( !sichtbar && alpha != 0 )
+    if (!sichtbar && alpha != 0)
     {
-        if( alpha - val < 0 )
+        if (alpha - val < 0)
             alpha = 0;
         else
             alpha -= val;
@@ -304,14 +322,14 @@ bool KEBVorschau::tick( double zeit )
     return ret;
 }
 
-void KEBVorschau::render( Bild &zRObj )
+void KEBVorschau::render(Bild& zRObj)
 {
-    zRObj.setAlpha( alpha );
-    script->render( zRObj );
-    neu->render( zRObj );
-    beenden->render( zRObj );
-    log->render( zRObj );
-    erlaubt->render( zRObj );
+    zRObj.setAlpha(alpha);
+    script->render(zRObj);
+    neu->render(zRObj);
+    beenden->render(zRObj);
+    log->render(zRObj);
+    erlaubt->render(zRObj);
     zRObj.releaseAlpha();
 }
 

+ 22 - 22
KSGClient/NachLogin/Editor/Karte/Beschreibung/KEBVorschau.h

@@ -1,9 +1,9 @@
 #pragma once
-#include <KSGScript.h>
 #include <AuswahlBox.h>
-#include <Thread.h>
 #include <Knopf.h>
+#include <KSGScript.h>
 #include <Rahmen.h>
+#include <Thread.h>
 
 using namespace Framework;
 using namespace KSGScript;
@@ -11,9 +11,9 @@ using namespace KSGScript;
 class KEBVorschauKarteScript : public Thread
 {
 private:
-    KSGScriptObj *fenster;
+    KSGScriptObj* fenster;
     Punkt pos;
-    LRahmen *ram;
+    LRahmen* ram;
     HINSTANCE ksgs;
     Text pfad;
     bool erlaubt;
@@ -24,28 +24,28 @@ private:
 
 public:
     // Konstruktor
-    KEBVorschauKarteScript( TextFeld *zLog );
+    KEBVorschauKarteScript(TextFeld* zLog);
     // Destruktor
     ~KEBVorschauKarteScript();
     // nicht constant
     void thread() override;
-    void setErlaubt( bool e );
-    void ladeKarteSeite( char *pfad );
-    void ksgsAktion( RCArray< KSGSVariable > *parameter, KSGSVariable **retVal );
-    void doPublicMausEreignis( MausEreignis &me );
-    void doTastaturEreignis( TastaturEreignis &te );
-    bool tick( double zeit );
-    void render( Bild &zRObj );
+    void setErlaubt(bool e);
+    void ladeKarteSeite(const char* pfad);
+    void ksgsAktion(RCArray<KSGSVariable>* parameter, KSGSVariable** retVal);
+    void doPublicMausEreignis(MausEreignis& me);
+    void doTastaturEreignis(TastaturEreignis& te);
+    bool tick(double zeit);
+    void render(Bild& zRObj);
 };
 
 class KEBVorschau : public Zeichnung
 {
 private:
-    KEBVorschauKarteScript *script;
-    Knopf *neu;
-    Knopf *beenden;
-    TextFeld *log;
-    KontrollKnopf *erlaubt;
+    KEBVorschauKarteScript* script;
+    Knopf* neu;
+    Knopf* beenden;
+    TextFeld* log;
+    KontrollKnopf* erlaubt;
     unsigned char alpha;
     bool sichtbar;
     double tickVal;
@@ -60,11 +60,11 @@ public:
     // nicht constant
     int getAktion();
     bool ladeKarte();
-    void setSichtbar( bool sicht );
-    void doPublicMausEreignis( MausEreignis &me );
-    void doTastaturEreignis( TastaturEreignis &te );
-    bool tick( double zeit );
-    void render( Bild &zRObj );
+    void setSichtbar(bool sicht);
+    void doPublicMausEreignis(MausEreignis& me);
+    void doTastaturEreignis(TastaturEreignis& te);
+    bool tick(double zeit);
+    void render(Bild& zRObj);
     // constant
     bool istSichtbar() const;
 };

+ 510 - 463
KSGClient/NachLogin/Editor/Karte/Dateien/KEDModel2DEditor.cpp

@@ -1,11 +1,13 @@
 #include "KEDModel2DEditor.h"
-#include <Rahmen.h>
+
+#include <Globals.h>
 #include <MausEreignis.h>
-#include <Text.h>
+#include <Rahmen.h>
 #include <Schrift.h>
 #include <Scroll.h>
-#include <Globals.h>
 #include <TastaturEreignis.h>
+#include <Text.h>
+
 #include "../../../../Global/Initialisierung.h"
 #include "../../../../Global/Variablen.h"
 
@@ -13,7 +15,7 @@ using namespace Model2DEditor;
 
 // Inhalt der VertexData Klasse aus KEDModel2DEditor.h
 // Konstruktor
-VertexData::VertexData( Vec2< float > v, Vertex t )
+VertexData::VertexData(Vec2<float> v, Vertex t)
     : ReferenceCounter()
 {
     vertex = v;
@@ -23,38 +25,36 @@ VertexData::VertexData( Vec2< float > v, Vertex t )
 }
 
 // nicht constant
-void VertexData::nachLinks( float num )
+void VertexData::nachLinks(float num)
 {
-    if( selected )
-        vertex.x -= num;
+    if (selected) vertex.x -= num;
 }
 
-void VertexData::nachOben( float num )
+void VertexData::nachOben(float num)
 {
-    if( selected )
-        vertex.y -= num;
+    if (selected) vertex.y -= num;
 }
 
-void VertexData::setTextur( Vertex tp )
+void VertexData::setTextur(Vertex tp)
 {
     textur = tp;
 }
 
-void VertexData::setPosition( Vertex p )
+void VertexData::setPosition(Vertex p)
 {
     vertex = p;
 }
 
-void VertexData::saveTextur( Punkt tPos, Punkt tGr )
+void VertexData::saveTextur(Punkt tPos, Punkt tGr)
 {
     textur = vertex - tPos;
     textur.x /= tGr.x;
     textur.y /= tGr.y;
 }
 
-void VertexData::select( Punkt p1, Punkt p2 )
+void VertexData::select(Punkt p1, Punkt p2)
 {
-    selected |= vertex.istInRegion( p1, p2 ) && sichtbar;
+    selected |= vertex.istInRegion(p1, p2) && sichtbar;
 }
 
 void VertexData::deSelect()
@@ -62,12 +62,12 @@ void VertexData::deSelect()
     selected = 0;
 }
 
-void VertexData::setAuswahl( bool ausw )
+void VertexData::setAuswahl(bool ausw)
 {
     selected = ausw;
 }
 
-void VertexData::setSichtbar( bool s )
+void VertexData::setSichtbar(bool s)
 {
     sichtbar = s;
     selected &= sichtbar;
@@ -84,7 +84,7 @@ bool VertexData::istAusgew
     return selected;
 }
 
-Vec2< float > VertexData::getPos() const
+Vec2<float> VertexData::getPos() const
 {
     return vertex;
 }
@@ -94,26 +94,24 @@ Vertex VertexData::getTPos() const
     return textur;
 }
 
-
 // Inhalt der PolygonData Klasse aus KEDModel2DEditor.h
 // Konstruktor
-PolygonData::PolygonData( Polygon2D& pg )
+PolygonData::PolygonData(const Polygon2D& pg)
     : ReferenceCounter()
 {
     name = pg.name->getText();
-    vd = new RCArray< VertexData >();
+    vd = new RCArray<VertexData>();
     transparent = pg.transparent;
     sichtbar = 1;
     int anz = pg.vertex->getEintragAnzahl();
-    for( int i = 0; i < anz; i++ )
+    for (int i = 0; i < anz; i++)
     {
-        Vec2< float > v( 0, 0 );
-        Vertex t( 0, 0 );
-        if( pg.vertex->hat( i ) )
-            v = pg.vertex->get( i );
-        if( pg.tKordinaten && pg.tKordinaten->hat( i ) )
-            t = pg.tKordinaten->get( i );
-        vd->add( new VertexData( v, t ) );
+        Vec2<float> v(0, 0);
+        Vertex t(0, 0);
+        if (pg.vertex->hat(i)) v = pg.vertex->get(i);
+        if (pg.tKordinaten && pg.tKordinaten->hat(i))
+            t = pg.tKordinaten->get(i);
+        vd->add(new VertexData(v, t));
     }
 }
 
@@ -124,57 +122,57 @@ PolygonData::~PolygonData()
 }
 
 // nicht constant
-void PolygonData::addVertex( Vec2< float >v, Vertex t )
+void PolygonData::addVertex(Vec2<float> v, Vertex t)
 {
-    vd->add( new VertexData( v, t ) );
+    vd->add(new VertexData(v, t));
 }
 
-void PolygonData::removeVertex( int num )
+void PolygonData::removeVertex(int num)
 {
-    vd->remove( num );
+    vd->remove(num);
 }
 
-void PolygonData::nachLinks( float num )
+void PolygonData::nachLinks(float num)
 {
-    for( auto i : *vd )
-        i->nachLinks( num );
+    for (auto i : *vd)
+        i->nachLinks(num);
 }
 
-void PolygonData::nachOben( float num )
+void PolygonData::nachOben(float num)
 {
-    for( auto i : *vd )
-        i->nachOben( num );
+    for (auto i : *vd)
+        i->nachOben(num);
 }
 
-void PolygonData::saveTextur( Punkt tPos, Punkt tGr )
+void PolygonData::saveTextur(Punkt tPos, Punkt tGr)
 {
-    for( auto i : *vd )
-        i->saveTextur( tPos, tGr );
+    for (auto i : *vd)
+        i->saveTextur(tPos, tGr);
 }
 
-void PolygonData::select( Punkt p1, Punkt p2 )
+void PolygonData::select(Punkt p1, Punkt p2)
 {
-    for( auto i : *vd )
-        i->select( p1, p2 );
+    for (auto i : *vd)
+        i->select(p1, p2);
 }
 
 void PolygonData::deSelect()
 {
-    for( auto i : *vd )
+    for (auto i : *vd)
         i->deSelect();
 }
 
-void PolygonData::setSichtbar( bool s )
+void PolygonData::setSichtbar(bool s)
 {
     sichtbar = s;
 }
 
-void PolygonData::setTransparent( bool t )
+void PolygonData::setTransparent(bool t)
 {
     transparent = t;
 }
 
-void PolygonData::setName( const char* name )
+void PolygonData::setName(const char* name)
 {
     this->name = name;
 }
@@ -190,9 +188,9 @@ bool PolygonData::istSichtbar() const
     return sichtbar;
 }
 
-VertexData* PolygonData::zVertex( int num ) const
+VertexData* PolygonData::zVertex(int num) const
 {
-    return vd->z( num );
+    return vd->z(num);
 }
 
 int PolygonData::getVertexAnzahl() const
@@ -200,20 +198,16 @@ 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 )
-        pd.name = new Text( name );
-    if( !pd.vertex )
-        pd.vertex = new Array< Vertex >();
-    if( !pd.tKordinaten )
-        pd.tKordinaten = new Array< Vertex >();
-    for( int i = 0; i < anz; i++ )
+    if (!pd.name) pd.name = new Text(name);
+    if (!pd.vertex) pd.vertex = new Array<Vertex>();
+    if (!pd.tKordinaten) pd.tKordinaten = new Array<Vertex>();
+    for (int i = 0; i < anz; i++)
     {
-        pd.vertex->add( this->vd->z( i )->getPos() );
-        if( textur )
-            pd.tKordinaten->add( this->vd->z( i )->getTPos() );
+        pd.vertex->add(this->vd->z(i)->getPos());
+        if (textur) pd.tKordinaten->add(this->vd->z(i)->getTPos());
     }
 }
 
@@ -222,36 +216,33 @@ bool PolygonData::istTransparent() const
     return transparent;
 }
 
-
 // Inhalt der Data Klasse aus KEDModel2DEditor.h
 // Konstruktor
-Data::Data( Model2DData* mdl )
+Data::Data(Model2DData* mdl)
     : ReferenceCounter()
 {
-    pd = new RCArray< PolygonData >();
+    pd = new RCArray<PolygonData>();
     tPos.x = 0;
     tPos.y = 0;
     textur = 0;
     rTextur = 0;
     sp = -1;
     int anz = (mdl && mdl->polygons) ? mdl->polygons->getEintragAnzahl() : 0;
-    for( int i = 0; i < anz; i++ )
+    for (int i = 0; i < anz; i++)
     {
-        if( mdl->polygons->hat( i ) )
+        if (mdl->polygons->hat(i))
         {
-            pd->add( new PolygonData( mdl->polygons->get( i ) ) );
+            pd->add(new PolygonData(mdl->polygons->get(i)));
         }
     }
-    if( mdl )
-        mdl->release();
+    if (mdl) mdl->release();
 }
 
 // Destruktor
 Data::~Data()
 {
     pd->release();
-    if( textur )
-        textur->release();
+    if (textur) textur->release();
 }
 
 // nicht constant
@@ -259,99 +250,94 @@ void Data::addPolygon()
 {
     Polygon2D p;
     p.name = new Text();
-    p.vertex = new Array< Vertex >();
-    pd->add( new PolygonData( p ) );
+    p.vertex = new Array<Vertex>();
+    pd->add(new PolygonData(p));
     p.vertex->release();
     p.name->release();
 }
 
-void Data::removePolygon( int num )
+void Data::removePolygon(int num)
 {
-    pd->remove( num );
-    if( sp == num )
-        sp = -1;
+    pd->remove(num);
+    if (sp == num) sp = -1;
 }
 
-void Data::selectPolygon( int num )
+void Data::selectPolygon(int num)
 {
     sp = num;
 }
 
-void Data::nachLinks( float num )
+void Data::nachLinks(float num)
 {
-    for( auto i : *pd )
-        i->nachLinks( num );
+    for (auto i : *pd)
+        i->nachLinks(num);
 }
 
-void Data::nachOben( float num )
+void Data::nachOben(float num)
 {
-    for( auto i : *pd )
-        i->nachOben( num );
+    for (auto i : *pd)
+        i->nachOben(num);
 }
 
-void Data::tNachLinks( int num )
+void Data::tNachLinks(int num)
 {
-    if( !rTextur )
-        return;
+    if (!rTextur) return;
     tPos.x -= num;
 }
 
-void Data::tNachOben( int num )
+void Data::tNachOben(int num)
 {
-    if( !rTextur )
-        return;
+    if (!rTextur) return;
     tPos.y -= num;
 }
 
-void Data::setRTextur( bool rt )
+void Data::setRTextur(bool rt)
 {
     rTextur = rt;
-    if( rt && !textur )
+    if (rt && !textur)
     {
         textur = new Bild();
-        textur->neuBild( 500, 500, 0xFF505000 );
+        textur->neuBild(500, 500, 0xFF505000);
     }
 }
 
 void Data::saveTextur()
 {
-    if( !rTextur )
-        return;
-    for( auto i : *pd )
-        i->saveTextur( tPos, textur->getSize() );
+    if (!rTextur) return;
+    for (auto i : *pd)
+        i->saveTextur(tPos, textur->getSize());
 }
 
-void Data::setTextur( Bild* t )
+void Data::setTextur(Bild* t)
 {
-    if( textur )
-        textur->release();
+    if (textur) textur->release();
     textur = t;
-    if( pd->getEintragAnzahl() > 0 && pd->z( 0 )->zVertex( 0 ) )
+    if (pd->getEintragAnzahl() > 0 && pd->z(0)->zVertex(0))
     {
-        Vertex p = pd->z( 0 )->zVertex( 0 )->getPos();
-        Vertex tp = pd->z( 0 )->zVertex( 0 )->getTPos();
+        Vertex p = pd->z(0)->zVertex(0)->getPos();
+        Vertex tp = pd->z(0)->zVertex(0)->getTPos();
         tp.x *= t->getBreite();
         tp.y *= t->getHeight();
         tPos = p - tp;
     }
 }
 
-void Data::select( Punkt p1, Punkt p2 )
+void Data::select(Punkt p1, Punkt p2)
 {
-    for( auto i : *pd )
-        i->select( p1, p2 );
+    for (auto i : *pd)
+        i->select(p1, p2);
 }
 
 void Data::deSelect()
 {
-    for( auto i : *pd )
+    for (auto i : *pd)
         i->deSelect();
 }
 
 // constant
-PolygonData* Data::zPolygon( int num ) const
+PolygonData* Data::zPolygon(int num) const
 {
-    return pd->z( num );
+    return pd->z(num);
 }
 
 int Data::getPolygonAnzahl() const
@@ -367,16 +353,16 @@ int Data::getSelectedPolygon() const
 Model2DData* Data::getM2() const
 {
     int anz = pd->getEintragAnzahl();
-    Array< Polygon2D >* polygons = new Array< Polygon2D >();
-    for( int i = 0; i < anz; i++ )
+    Array<Polygon2D>* polygons = new Array<Polygon2D>();
+    for (int i = 0; i < anz; i++)
     {
-        Polygon2D pd = { 0, 0, 0, 0, 0 };
-        this->pd->z( i )->getM2( pd, 1 );
-        pd.transparent = this->pd->z( i )->istTransparent();
-        polygons->add( pd );
+        Polygon2D pd = {0, 0, 0, 0, 0};
+        this->pd->z(i)->getM2(pd, 1);
+        pd.transparent = this->pd->z(i)->istTransparent();
+        polygons->add(pd);
     }
     Model2DData* ret = new Model2DData();
-    ret->erstelleModell( polygons );
+    ret->erstelleModell(polygons);
     return ret;
 }
 
@@ -390,61 +376,72 @@ Punkt Data::getTPos() const
     return tPos;
 }
 
-
 // Inhalt der EditorListe Klasse aus KEDModel2DEditor.h
 // Konstruktor
 EditorListe::EditorListe()
     : Zeichnung()
 {
     ram = new LRahmen();
-    ram->setRamenBreite( 1 );
-    ram->setFarbe( 0xFFFFFFFF );
-    ram->setSize( 150, 480 );
-    ram->setPosition( 720, 10 );
+    ram->setRamenBreite(1);
+    ram->setFarbe(0xFFFFFFFF);
+    ram->setSize(150, 480);
+    ram->setPosition(720, 10);
     scroll = new VScrollBar();
-    tr = new TextRenderer( dynamic_cast<Schrift*>(uiFactory.initParam.schrift->getThis()) );
-    pName = initTextFeld( 0, 0, 70, 20, TextFeld::Style::TextFeld, "" );
-    koordF = initFenster( 10, 10, 150, 140, (Fenster::Style::normal | Fenster::Style::TitelHintergrund | Fenster::Style::BodyHintergrund) & ~Fenster::Style::Sichtbar, "Koordinaten" );
-    koordF->setKBgFarbe( 0xFF000000 );
-    koordF->setTBgFarbe( 0xFF000000 );
-    koordF->setClosingMe( _closeFensterME );
-    kxT = initTextFeld( 10, 10, 30, 20, TextFeld::Style::Text, "x:" );
-    kyT = initTextFeld( 10, 40, 30, 20, TextFeld::Style::Text, "y:" );
-    kx = initTextFeld( 40, 10, 90, 20, TextFeld::Style::TextFeld, "" );
-    ky = initTextFeld( 40, 40, 90, 20, TextFeld::Style::TextFeld, "" );
-    tkxT = initTextFeld( 10, 70, 30, 20, TextFeld::Style::Text, "tx:" );
-    tkyT = initTextFeld( 10, 100, 30, 20, TextFeld::Style::Text, "ty:" );
-    tkx = initTextFeld( 40, 70, 90, 20, TextFeld::Style::TextFeld, "" );
-    tky = initTextFeld( 40, 100, 90, 20, TextFeld::Style::TextFeld, "" );
-    int* polIP = &polI, * verIP = &verI;
+    tr = new TextRenderer(
+        dynamic_cast<Schrift*>(uiFactory.initParam.schrift->getThis()));
+    pName = initTextFeld(0, 0, 70, 20, TextFeld::Style::TextFeld, "");
+    koordF = initFenster(10,
+        10,
+        150,
+        140,
+        (Fenster::Style::normal | Fenster::Style::TitelHintergrund
+            | Fenster::Style::BodyHintergrund)
+            & ~Fenster::Style::Sichtbar,
+        "Koordinaten");
+    koordF->setKBgFarbe(0xFF000000);
+    koordF->setTBgFarbe(0xFF000000);
+    koordF->setClosingMe(_closeFensterME);
+    kxT = initTextFeld(10, 10, 30, 20, TextFeld::Style::Text, "x:");
+    kyT = initTextFeld(10, 40, 30, 20, TextFeld::Style::Text, "y:");
+    kx = initTextFeld(40, 10, 90, 20, TextFeld::Style::TextFeld, "");
+    ky = initTextFeld(40, 40, 90, 20, TextFeld::Style::TextFeld, "");
+    tkxT = initTextFeld(10, 70, 30, 20, TextFeld::Style::Text, "tx:");
+    tkyT = initTextFeld(10, 100, 30, 20, TextFeld::Style::Text, "ty:");
+    tkx = initTextFeld(40, 70, 90, 20, TextFeld::Style::TextFeld, "");
+    tky = initTextFeld(40, 100, 90, 20, TextFeld::Style::TextFeld, "");
+    int *polIP = &polI, *verIP = &verI;
     TextFeld* kxTmp = kx;
     TextFeld* kyTmp = ky;
-    auto saveK = [polIP, verIP, kxTmp, kyTmp]( void* p, void* o, TastaturEreignis te ) {
+    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->zPolygon(*polIP)->zVertex(*verIP)->setPosition(Vertex(
+            (float)(double)*kxTmp->zText(), (float)(double)*kyTmp->zText()));
         return 1;
     };
-    kx->setNTastaturEreignis( saveK );
-    ky->setNTastaturEreignis( saveK );
+    kx->setNTastaturEreignis(saveK);
+    ky->setNTastaturEreignis(saveK);
     TextFeld* tkxTmp = tkx;
     TextFeld* tkyTmp = tky;
-    auto saveTK = [polIP, verIP, tkxTmp, tkyTmp]( void* p, void* o, TastaturEreignis te ) {
+    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->zPolygon(*polIP)->zVertex(*verIP)->setTextur(Vertex(
+            (float)(double)*tkxTmp->zText(), (float)(double)*tkyTmp->zText()));
         return 1;
     };
-    tkx->setNTastaturEreignis( saveTK );
-    tky->setNTastaturEreignis( saveTK );
+    tkx->setNTastaturEreignis(saveTK);
+    tky->setNTastaturEreignis(saveTK);
 #pragma warning(push)
 #pragma warning(disable : 4436)
-    koordF->addMember( dynamic_cast<Zeichnung*>(kxT->getThis()) );
-    koordF->addMember( dynamic_cast<Zeichnung*>(kyT->getThis()) );
-    koordF->addMember( dynamic_cast<Zeichnung*>(kx->getThis()) );
-    koordF->addMember( dynamic_cast<Zeichnung*>(ky->getThis()) );
-    koordF->addMember( dynamic_cast<Zeichnung*>(tkxT->getThis()) );
-    koordF->addMember( dynamic_cast<Zeichnung*>(tkyT->getThis()) );
-    koordF->addMember( dynamic_cast<Zeichnung*>(tkx->getThis()) );
-    koordF->addMember( dynamic_cast<Zeichnung*>(tky->getThis()) );
+    koordF->addMember(dynamic_cast<Zeichnung*>(kxT->getThis()));
+    koordF->addMember(dynamic_cast<Zeichnung*>(kyT->getThis()));
+    koordF->addMember(dynamic_cast<Zeichnung*>(kx->getThis()));
+    koordF->addMember(dynamic_cast<Zeichnung*>(ky->getThis()));
+    koordF->addMember(dynamic_cast<Zeichnung*>(tkxT->getThis()));
+    koordF->addMember(dynamic_cast<Zeichnung*>(tkyT->getThis()));
+    koordF->addMember(dynamic_cast<Zeichnung*>(tkx->getThis()));
+    koordF->addMember(dynamic_cast<Zeichnung*>(tky->getThis()));
 #pragma warning(pop)
     polI = 0;
     verI = 0;
@@ -457,8 +454,7 @@ EditorListe::~EditorListe()
     pName->release();
     ram->release();
     scroll->release();
-    if( data )
-        data->release();
+    if (data) data->release();
     koordF->release();
     kxT->release();
     kyT->release();
@@ -472,98 +468,105 @@ EditorListe::~EditorListe()
 }
 
 // nicht constant
-void EditorListe::setDataZ( Data* d )
+void EditorListe::setDataZ(Data* d)
 {
-    if( data )
-        data->release();
+    if (data) data->release();
     data = d;
 }
 
-void EditorListe::doPublicMausEreignis( MausEreignis& me )
+void EditorListe::doPublicMausEreignis(MausEreignis& me)
 {
-    koordF->doPublicMausEreignis( me );
+    koordF->doPublicMausEreignis(me);
     me.mx -= ram->getX();
     me.my -= ram->getY();
-    if( me.mx < 0 || me.my < 0 || me.mx > ram->getBreite() || me.my > ram->getHeight() )
+    if (me.mx < 0 || me.my < 0 || me.mx > ram->getBreite()
+        || me.my > ram->getHeight())
     {
         me.mx += ram->getX();
         me.my += ram->getY();
         return;
     }
-    scroll->doMausMessage( ram->getBreite() - 17, 1, 15, ram->getHeight() - 2, me );
-    if( data->getSelectedPolygon() >= 0 )
-        pName->doPublicMausEreignis( me );
+    scroll->doMausMessage(
+        ram->getBreite() - 17, 1, 15, ram->getHeight() - 2, me);
+    if (data->getSelectedPolygon() >= 0) pName->doPublicMausEreignis(me);
     rend |= scroll->getRend();
-    if( me.id == ME_RLinks && !me.verarbeitet )
+    if (me.id == ME_RLinks && !me.verarbeitet)
     {
         int pAnz = data->getPolygonAnzahl();
         int y = -scroll->getScroll();
-        for( int i = 0; i < pAnz; i++ )
+        for (int i = 0; i < pAnz; i++)
         {
-            if( me.mx > 0 && me.my > y && me.mx < 20 && me.my < y + 20 )
+            if (me.mx > 0 && me.my > y && me.mx < 20 && me.my < y + 20)
             { // Ein und Ausklappen
-                if( !ausgeklappt.hat( i ) )
-                    ausgeklappt.set( 0, i );
-                ausgeklappt.set( !ausgeklappt.get( i ), i );
+                if (!ausgeklappt.hat(i)) ausgeklappt.set(0, i);
+                ausgeklappt.set(!ausgeklappt.get(i), i);
                 rend = 1;
             }
-            else if( me.mx > 115 && me.my > y + 1 && me.mx < 132 && me.my < y + 19 )
+            else if (me.mx > 115 && me.my > y + 1 && me.mx < 132
+                     && me.my < y + 19)
             { // Löschen
-                if( polI == i )
-                    koordF->removeStyle( Fenster::Style::Sichtbar );
-                data->removePolygon( i );
+                if (polI == i) koordF->removeStyle(Fenster::Style::Sichtbar);
+                data->removePolygon(i);
                 rend = 1;
                 break;
             }
-            else if( me.mx > 95 && me.my > y + 5 && me.mx < 105 && me.my < y + 15 )
+            else if (me.mx > 95 && me.my > y + 5 && me.mx < 105
+                     && me.my < y + 15)
             {
-                data->zPolygon( i )->setTransparent( !data->zPolygon( i )->istTransparent() );
+                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 );
+                if (data->getSelectedPolygon() != i)
+                    data->selectPolygon(i);
                 else
-                    data->selectPolygon( -1 );
+                    data->selectPolygon(-1);
                 rend = 1;
             }
-            PolygonData* pd = data->zPolygon( i );
-            if( pd && ausgeklappt.hat( i ) && ausgeklappt.get( i ) )
+            PolygonData* pd = data->zPolygon(i);
+            if (pd && ausgeklappt.hat(i) && ausgeklappt.get(i))
             {
                 int vAnz = pd->getVertexAnzahl();
-                for( int j = 0; j < vAnz; j++ )
+                for (int j = 0; j < vAnz; j++)
                 {
                     y += 20;
-                    if( me.mx > 115 && me.my > y + 1 && me.mx < 132 && me.my < y + 19 )
+                    if (me.mx > 115 && me.my > y + 1 && me.mx < 132
+                        && me.my < y + 19)
                     { // Löschen
-                        if( polI == i && verI == j )
-                            koordF->removeStyle( Fenster::Style::Sichtbar );
-                        pd->removeVertex( j );
+                        if (polI == i && verI == j)
+                            koordF->removeStyle(Fenster::Style::Sichtbar);
+                        pd->removeVertex(j);
                         rend = 1;
                     }
-                    else if( me.mx > 95 && me.my > y + 5 && me.mx < 105 && me.my < y + 15 )
+                    else if (me.mx > 95 && me.my > y + 5 && me.mx < 105
+                             && me.my < y + 15)
                     { // Sichtbar und Unsichtbar
-                        pd->zVertex( j )->setSichtbar( !pd->zVertex( j )->istSichtbar() );
+                        pd->zVertex(j)->setSichtbar(
+                            !pd->zVertex(j)->istSichtbar());
                         rend = 1;
                     }
-                    else if( me.mx > 5 && me.my > y + 5 && me.mx < 15 && me.my < y + 15 )
+                    else if (me.mx > 5 && me.my > y + 5 && me.mx < 15
+                             && me.my < y + 15)
                     { // Koordinaten fenster sichtbar machen
                         polI = i;
                         verI = j;
-                        tkx->setNTastaturEreignisParameter( data );
-                        tky->setNTastaturEreignisParameter( data );
-                        kx->setNTastaturEreignisParameter( data );
-                        ky->setNTastaturEreignisParameter( data );
-                        tkx->setText( Text() += pd->zVertex( j )->getTPos().x );
-                        tky->setText( Text() += pd->zVertex( j )->getTPos().y );
-                        kx->setText( Text() += pd->zVertex( j )->getPos().x );
-                        ky->setText( Text() += pd->zVertex( j )->getPos().y );
-                        koordF->addStyle( Fenster::Style::Sichtbar );
+                        tkx->setNTastaturEreignisParameter(data);
+                        tky->setNTastaturEreignisParameter(data);
+                        kx->setNTastaturEreignisParameter(data);
+                        ky->setNTastaturEreignisParameter(data);
+                        tkx->setText(Text() += pd->zVertex(j)->getTPos().x);
+                        tky->setText(Text() += pd->zVertex(j)->getTPos().y);
+                        kx->setText(Text() += pd->zVertex(j)->getPos().x);
+                        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() );
+                        pd->zVertex(j)->setAuswahl(
+                            !pd->zVertex(j)->istAusgewählt());
                         rend = 1;
                     }
                 }
@@ -576,119 +579,128 @@ void EditorListe::doPublicMausEreignis( MausEreignis& me )
     me.my += ram->getY();
 }
 
-void EditorListe::doTastaturEreignis( TastaturEreignis& te )
+void EditorListe::doTastaturEreignis(TastaturEreignis& te)
 {
-    koordF->doTastaturEreignis( te );
-    if( data && data->getSelectedPolygon() >= 0 )
-        pName->doTastaturEreignis( te );
+    koordF->doTastaturEreignis(te);
+    if (data && data->getSelectedPolygon() >= 0) pName->doTastaturEreignis(te);
 }
 
-bool EditorListe::tick( double zeit )
+bool EditorListe::tick(double zeit)
 {
-    rend |= koordF->tick( zeit );
-    if( data && data->getSelectedPolygon() >= 0 )
-        rend |= pName->tick( zeit );
+    rend |= koordF->tick(zeit);
+    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 ) ) )
+    ram->render(zRObj);
+    if (!zRObj.setDrawOptions(
+            ram->getPosition() + Punkt(1, 1), ram->getSize() - Punkt(2, 2)))
         return;
-    scroll->render( ram->getBreite() - 17, 1, 15, ram->getHeight() - 2, zRObj );
+    scroll->render(ram->getBreite() - 17, 1, 15, ram->getHeight() - 2, zRObj);
     int pAnz = data->getPolygonAnzahl();
     int y = -scroll->getScroll();
     int maxH = 0;
-    tr->setSchriftSize( 12 );
+    tr->setSchriftSize(12);
     Text name;
-    for( int i = 0; i < pAnz; i++ )
+    for (int i = 0; i < pAnz; i++)
     {
-        if( data->getSelectedPolygon() == i )
+        if (data->getSelectedPolygon() == i)
         {
-            pName->setPosition( 20, y );
-            pName->setText( data->zPolygon( data->getSelectedPolygon() )->getName() );
+            pName->setPosition(20, y);
+            pName->setText(
+                data->zPolygon(data->getSelectedPolygon())->getName());
             Data* tmpData = data;
-            pName->setNTastaturEreignis( [tmpData]( void* p, void* o, TastaturEreignis te ) -> bool {
-                if( tmpData->getSelectedPolygon() >= 0 )
-                    tmpData->zPolygon( tmpData->getSelectedPolygon() )->setName( ((TextFeld*)o)->zText()->getText() );
-                return 1;
-            } );
-            zRObj.fillRegion( 0, y, 133, 20, 0xFF002000 );
-            pName->render( zRObj );
+            pName->setNTastaturEreignis(
+                [tmpData](void* p, void* o, TastaturEreignis te) -> bool {
+                    if (tmpData->getSelectedPolygon() >= 0)
+                        tmpData->zPolygon(tmpData->getSelectedPolygon())
+                            ->setName(((TextFeld*)o)->zText()->getText());
+                    return 1;
+                });
+            zRObj.fillRegion(0, y, 133, 20, 0xFF002000);
+            pName->render(zRObj);
         }
         else
         {
-            if( textLength( data->zPolygon( i )->getName() ) > 0 )
-                name = data->zPolygon( i )->getName();
+            if (textLength(data->zPolygon(i)->getName()) > 0)
+                name = data->zPolygon(i)->getName();
             else
             {
                 name = "Polygon ";
                 name += i;
             }
-            tr->renderText( 20, y + 4, 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 );
-        if( data->zPolygon( i )->istTransparent() )
+        zRObj.drawLinie(Punkt(115, y + 1), Punkt(132, y + 18), 0xFFFF0000);
+        zRObj.drawLinie(Punkt(132, y + 1), Punkt(115, y + 18), 0xFFFF0000);
+        if (data->zPolygon(i)->istTransparent())
         {
-            zRObj.drawLinieH( 95, y + 5, 10, 0xFFFFFFFF );
-            zRObj.drawLinieH( 95, y + 15, 10, 0xFFFFFFFF );
-            zRObj.drawLinieV( 95, y + 5, 10, 0xFFFFFFFF );
-            zRObj.drawLinieV( 105, y + 5, 10, 0xFFFFFFFF );
+            zRObj.drawLinieH(95, y + 5, 10, 0xFFFFFFFF);
+            zRObj.drawLinieH(95, y + 15, 10, 0xFFFFFFFF);
+            zRObj.drawLinieV(95, y + 5, 10, 0xFFFFFFFF);
+            zRObj.drawLinieV(105, y + 5, 10, 0xFFFFFFFF);
         }
         else
-            zRObj.fillRegion( 95, y + 5, 10, 10, 0xFFFFFFFF );
-        if( ausgeklappt.hat( i ) && ausgeklappt.get( i ) )
+            zRObj.fillRegion(95, y + 5, 10, 10, 0xFFFFFFFF);
+        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 );
-            if( pd )
+            zRObj.drawDreieck(Punkt(10, 4 + y),
+                Punkt(4, 16 + y),
+                Punkt(16, 16 + y),
+                0xFFFFFFFF);
+            PolygonData* pd = data->zPolygon(i);
+            if (pd)
             {
                 int vAnz = pd->getVertexAnzahl();
-                for( int j = 0; j < vAnz; j++ )
+                for (int j = 0; j < vAnz; j++)
                 {
                     maxH += 20;
                     y += 20;
-                    if( pd->zVertex( j )->istAusgewählt() )
-                        zRObj.fillRegion( 0, y, 133, 20, 0xFF101010 );
+                    if (pd->zVertex(j)->istAusgewählt())
+                        zRObj.fillRegion(0, y, 133, 20, 0xFF101010);
                     name = "  Vertex ";
                     name += j;
-                    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 );
-                    zRObj.drawLinieV( 5, y + 5, 10, 0xFFFFFFFF );
-                    zRObj.drawLinieV( 10, y + 5, 10, 0xFFFFFFFF );
-                    zRObj.drawLinieV( 15, y + 5, 10, 0xFFFFFFFF );
-                    zRObj.drawLinie( Punkt( 115, y + 1 ), Punkt( 132, y + 18 ), 0xFFFF0000 );
-                    zRObj.drawLinie( Punkt( 132, y + 1 ), Punkt( 115, y + 18 ), 0xFFFF0000 );
-                    if( pd->zVertex( j )->istSichtbar() )
+                    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);
+                    zRObj.drawLinieV(5, y + 5, 10, 0xFFFFFFFF);
+                    zRObj.drawLinieV(10, y + 5, 10, 0xFFFFFFFF);
+                    zRObj.drawLinieV(15, y + 5, 10, 0xFFFFFFFF);
+                    zRObj.drawLinie(
+                        Punkt(115, y + 1), Punkt(132, y + 18), 0xFFFF0000);
+                    zRObj.drawLinie(
+                        Punkt(132, y + 1), Punkt(115, y + 18), 0xFFFF0000);
+                    if (pd->zVertex(j)->istSichtbar())
                     {
-                        zRObj.drawKreis( 100, y + 10, 5, 0xFFFFFFFF );
-                        zRObj.drawKreis( 100, y + 10, 1, 0xFFFFFFFF );
+                        zRObj.drawKreis(100, y + 10, 5, 0xFFFFFFFF);
+                        zRObj.drawKreis(100, y + 10, 1, 0xFFFFFFFF);
                     }
                     else
                     {
-                        zRObj.drawKreis( 100, y + 10, 5, 0xFF505050 );
-                        zRObj.drawKreis( 100, y + 10, 1, 0xFF505050 );
+                        zRObj.drawKreis(100, y + 10, 5, 0xFF505050);
+                        zRObj.drawKreis(100, y + 10, 1, 0xFF505050);
                     }
                 }
             }
         }
         else
-            zRObj.drawDreieck( Punkt( 10, 16 + y ), Punkt( 4, 4 + y ), Punkt( 16, 4 + y ), 0xFFFFFFFF );
+            zRObj.drawDreieck(Punkt(10, 16 + y),
+                Punkt(4, 4 + y),
+                Punkt(16, 4 + y),
+                0xFFFFFFFF);
         maxH += 20;
         y += 20;
     }
-    scroll->update( maxH, ram->getHeight() - 2 );
+    scroll->update(maxH, ram->getHeight() - 2);
     zRObj.releaseDrawOptions();
-    koordF->render( zRObj );
+    koordF->render(zRObj);
 }
 
-
 // Inhalt der Editor2D Klasse aus KEDModel2DEditor.h
 // Konstruktor
 Editor2D::Editor2D()
@@ -702,14 +714,15 @@ Editor2D::Editor2D()
     mausPos.y = 0;
     data = 0;
     ram = new LRahmen();
-    ram->setFarbe( 0xFFFFFFFF );
-    ram->setRamenBreite( 1 );
-    ram->setSize( 700, 480 );
+    ram->setFarbe(0xFFFFFFFF);
+    ram->setRamenBreite(1);
+    ram->setSize(700, 480);
     select = new LRahmen();
-    select->setFarbe( 0xFF5050FF );
-    select->setRamenBreite( 1 );
-    tr = new TextRenderer( dynamic_cast<Schrift*>(uiFactory.initParam.schrift->getThis()) );
-    addV = Vertex( 0, 0 );
+    select->setFarbe(0xFF5050FF);
+    select->setRamenBreite(1);
+    tr = new TextRenderer(
+        dynamic_cast<Schrift*>(uiFactory.initParam.schrift->getThis()));
+    addV = Vertex(0, 0);
     mausIn = 0;
     größe = 1;
 }
@@ -720,23 +733,22 @@ Editor2D::~Editor2D()
     ram->release();
     select->release();
     tr->release();
-    if( data )
-        data->release();
+    if (data) data->release();
 }
 
 // nicht constant
-void Editor2D::setDataZ( Data* d )
+void Editor2D::setDataZ(Data* d)
 {
-    if( data )
-        data->release();
+    if (data) data->release();
     data = d;
 }
 
-void Editor2D::doPublicMausEreignis( MausEreignis& me )
+void Editor2D::doPublicMausEreignis(MausEreignis& me)
 {
     me.mx -= pos.x;
     me.my -= pos.y;
-    if( me.mx < 0 || me.my < 0 || me.mx > ram->getBreite() || me.my > ram->getHeight() )
+    if (me.mx < 0 || me.my < 0 || me.mx > ram->getBreite()
+        || me.my > ram->getHeight())
     {
         me.mx += pos.x;
         me.my += pos.y;
@@ -745,51 +757,50 @@ void Editor2D::doPublicMausEreignis( MausEreignis& me )
     }
     mausIn = 1;
     rend = 1;
-    addV = Vertex( (float)me.mx, (float)me.my ) / größe + offs;
-    if( me.id == ME_UScroll )
-        größe += 0.01f;
-    if( me.id == ME_DScroll )
-        größe -= 0.01f;
-    if( me.id == ME_PLinks )
+    addV = Vertex((float)me.mx, (float)me.my) / größe + offs;
+    if (me.id == ME_UScroll) größe += 0.01f;
+    if (me.id == ME_DScroll) größe -= 0.01f;
+    if (me.id == ME_PLinks)
     {
-        select->setPosition( me.mx, me.my );
-        select->setSize( 0, 0 );
+        select->setPosition(me.mx, me.my);
+        select->setSize(0, 0);
     }
-    if( me.id == ME_PRechts || me.id == ME_PMitte )
+    if (me.id == ME_PRechts || me.id == ME_PMitte)
     {
         mausPos.x = me.mx;
         mausPos.y = me.my;
     }
-    if( me.id == ME_Bewegung )
+    if (me.id == ME_Bewegung)
     {
-        if( getMausStand( M_Links ) )
+        if (getMausStand(M_Links))
         {
-            select->setSize( me.mx - select->getX(), me.my - select->getY() );
+            select->setSize(me.mx - select->getX(), me.my - select->getY());
         }
-        if( getMausStand( M_Rechts ) )
+        if (getMausStand(M_Rechts))
         {
-            data->nachLinks( (mausPos.x - me.mx) / größe );
-            data->nachOben( (mausPos.y - me.my) / größe );
+            data->nachLinks((mausPos.x - me.mx) / größe);
+            data->nachOben((mausPos.y - me.my) / größe);
             mausPos.x = me.mx;
             mausPos.y = me.my;
         }
-        if( getMausStand( M_Mitte ) )
+        if (getMausStand(M_Mitte))
         {
-            data->tNachLinks( (int)((mausPos.x - me.mx) / größe) );
-            data->tNachOben( (int)((mausPos.y - me.my) / größe) );
+            data->tNachLinks((int)((mausPos.x - me.mx) / größe));
+            data->tNachOben((int)((mausPos.y - me.my) / größe));
             mausPos.x = me.mx;
             mausPos.y = me.my;
         }
     }
-    if( me.id == ME_RLinks )
+    if (me.id == ME_RLinks)
     {
-        if( !getTastenStand( T_Shift ) )
-            data->deSelect();
-        data->select( (Vec2<float>)select->getPosition() / größe + offs, (Vec2<float>)(select->getPosition() + select->getSize()) / größe + offs );
-        select->setSize( 0, 0 );
-        select->setPosition( 0, 0 );
+        if (!getTastenStand(T_Shift)) data->deSelect();
+        data->select((Vec2<float>)select->getPosition() / größe + offs,
+            (Vec2<float>)(select->getPosition() + select->getSize()) / größe
+                + offs);
+        select->setSize(0, 0);
+        select->setPosition(0, 0);
     }
-    if( me.id == ME_RRechts )
+    if (me.id == ME_RRechts)
     {
         mausPos.x = 0;
         mausPos.y = 0;
@@ -799,76 +810,73 @@ void Editor2D::doPublicMausEreignis( 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 )
+    if (te.id == TE_Release && te.virtualKey == T_Enter && mausIn)
     {
-        PolygonData* pd = data->zPolygon( data->getSelectedPolygon() );
-        if( pd )
+        PolygonData* pd = data->zPolygon(data->getSelectedPolygon());
+        if (pd)
         {
-            pd->addVertex( addV, Punkt( 0, 0 ) );
+            pd->addVertex(addV, Punkt(0, 0));
             rend = 1;
         }
     }
-    if( te.id == TE_Release && te.taste == T_Einfg )
+    if (te.id == TE_Release && te.virtualKey == T_Einfg)
     {
         data->addPolygon();
         rend = 1;
     }
-    if( te.id == T_Oben )
-        offs.y -= 2;
-    if( te.id == T_Links )
-        offs.x -= 2;
-    if( te.id == T_Unten )
-        offs.y += 2;
-    if( te.id == T_Rechts )
-        offs.x += 2;
-    if( te.id == T_Oben || te.id == T_Links || te.id == T_Unten || te.id == T_Rechts )
+    if (te.id == T_Oben) offs.y -= 2;
+    if (te.id == T_Links) offs.x -= 2;
+    if (te.id == T_Unten) offs.y += 2;
+    if (te.id == T_Rechts) offs.x += 2;
+    if (te.id == T_Oben || te.id == T_Links || te.id == T_Unten
+        || te.id == T_Rechts)
         rend = 1;
 }
 
-bool Editor2D::tick( double zeit )
+bool Editor2D::tick(double zeit)
 {
-    if( mausIn )
+    if (mausIn)
     {
-        if( getTastenStand( T_Links ) )
+        if (getTastenStand(T_Links))
         {
             offs.x--;
             rend = 1;
         }
-        if( getTastenStand( T_Rechts ) )
+        if (getTastenStand(T_Rechts))
         {
             offs.x++;
             rend = 1;
         }
-        if( getTastenStand( T_Oben ) )
+        if (getTastenStand(T_Oben))
         {
             offs.y--;
             rend = 1;
         }
-        if( getTastenStand( T_Unten ) )
+        if (getTastenStand(T_Unten))
         {
             offs.y++;
             rend = 1;
         }
-        if( getTastenStand( 'w' ) )
+        if (getTastenStand('w'))
         {
-            data->tNachOben( 1 );
+            data->tNachOben(1);
             rend = 1;
         }
-        if( getTastenStand( 'a' ) )
+        if (getTastenStand('a'))
         {
-            data->tNachLinks( 1 );
+            data->tNachLinks(1);
             rend = 1;
         }
-        if( getTastenStand( 's' ) )
+        if (getTastenStand('s'))
         {
-            data->tNachOben( -1 );
+            data->tNachOben(-1);
             rend = 1;
         }
-        if( getTastenStand( 'd' ) )
+        if (getTastenStand('d'))
         {
-            data->tNachLinks( -1 );
+            data->tNachLinks(-1);
             rend = 1;
         }
     }
@@ -877,80 +885,106 @@ bool Editor2D::tick( double zeit )
     return ret;
 }
 
-void Editor2D::render( Bild& zRObj )
+void Editor2D::render(Bild& zRObj)
 {
-    if( !zRObj.setDrawOptions( pos, ram->getSize() ) )
-        return;
-    ram->render( zRObj );
-    if( !zRObj.setDrawOptions( 1, 1, ram->getBreite() - 2, ram->getHeight() - 2 ) )
+    if (!zRObj.setDrawOptions(pos, ram->getSize())) return;
+    ram->render(zRObj);
+    if (!zRObj.setDrawOptions(1, 1, ram->getBreite() - 2, ram->getHeight() - 2))
     {
         zRObj.releaseDrawOptions();
         return;
     }
-    if( data->zTextur() )
+    if (data->zTextur())
     {
         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() );
+        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());
     }
     // Raster mahlen
     int xanz = (int)(ram->getBreite() / (50 * größe));
     int yanz = (int)(ram->getHeight() / (50 * größe));
-    int xStart = (50 - abs( offs.x ) % 50);
-    if( offs.x < 0 )
-        xStart = -offs.x % 50;
-    if( offs.x == 0 )
-        xStart = 0;
-    int yStart = (50 - abs( offs.y ) % 50);
-    if( offs.y < 0 )
-        yStart = -offs.y % 50;
-    if( offs.y == 0 )
-        yStart = 0;
-    for( float x = xStart * größe, y = yStart * größe; !(x > ram->getBreite() && y > ram->getHeight()); x += 50 * größe, y += 50 * größe )
+    int xStart = (50 - abs(offs.x) % 50);
+    if (offs.x < 0) xStart = -offs.x % 50;
+    if (offs.x == 0) xStart = 0;
+    int yStart = (50 - abs(offs.y) % 50);
+    if (offs.y < 0) yStart = -offs.y % 50;
+    if (offs.y == 0) yStart = 0;
+    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.drawLinieH(0, (int)y, ram->getBreite(), 0xFF505050);
+        zRObj.drawLinieV((int)x, 0, ram->getHeight(), 0xFF505050);
     }
     Text xPos = "";
     xPos = offs.x + (int)(xStart + 50 * (xanz / 2));
-    tr->renderText( (int)(xStart * größe + 50 * größe * (xanz / 2)), 0, 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));
-    tr->renderText( 0, (int)(yStart * größe + 50 * größe * (yanz / 2)), 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++ )
+    for (int i = 0; i < pAnz; i++)
     {
-        PolygonData* p = data->zPolygon( i );
-        if( !p->istSichtbar() )
-            continue;
-        if( data->getSelectedPolygon() == i && mausIn )
+        PolygonData* p = data->zPolygon(i);
+        if (!p->istSichtbar()) continue;
+        if (data->getSelectedPolygon() == i && mausIn)
         {
             int vAnz = p->getVertexAnzahl();
-            VertexData tmp = VertexData( addV, Punkt() );
-            VertexData* l = p->zVertex( vAnz - 1 );
-            for( int j = -1; j < vAnz && vAnz > 0; j++ )
+            VertexData tmp = VertexData(addV, Punkt());
+            VertexData* l = p->zVertex(vAnz - 1);
+            for (int j = -1; j < vAnz && vAnz > 0; j++)
             {
-                VertexData* v = j < 0 ? &tmp : p->zVertex( j );
-                if( l && v )
+                VertexData* v = j < 0 ? &tmp : p->zVertex(j);
+                if (l && v)
                 {
-                    if( l->istSichtbar() && v->istSichtbar() )
-                        zRObj.drawLinie( ((l->getPos() - offs) * größe), ((v->getPos() - offs) * größe), 0xFFA0A0A0 );
+                    if (l->istSichtbar() && v->istSichtbar())
+                        zRObj.drawLinie(((l->getPos() - offs) * größe),
+                            ((v->getPos() - offs) * größe),
+                            0xFFA0A0A0);
                     else
-                        zRObj.drawLinie( ((l->getPos() - offs) * größe), ((v->getPos() - offs) * größe), 0xFF606060 );
+                        zRObj.drawLinie(((l->getPos() - offs) * größe),
+                            ((v->getPos() - offs) * größe),
+                            0xFF606060);
                 }
-                if( !l->istSichtbar() )
+                if (!l->istSichtbar())
                 {
                     l = v;
                     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 );
+                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);
                 else
                 {
-                    if( !l->istAusgewählt() )
-                        zRObj.fillRegion( (int)((l->getPos().x - offs.x) * größe) - 5, (int)((l->getPos().y - offs.y) * größe) - 5, 10, 10, 0xFF5050FF );
+                    if (!l->istAusgewählt())
+                        zRObj.fillRegion(
+                            (int)((l->getPos().x - offs.x) * größe) - 5,
+                            (int)((l->getPos().y - offs.y) * größe) - 5,
+                            10,
+                            10,
+                            0xFF5050FF);
                     else
-                        zRObj.fillRegion( (int)((l->getPos().x - offs.x) * größe) - 5, (int)((l->getPos().y - offs.y) * größe) - 5, 10, 10, 0xFFFF5050 );
+                        zRObj.fillRegion(
+                            (int)((l->getPos().x - offs.x) * größe) - 5,
+                            (int)((l->getPos().y - offs.y) * größe) - 5,
+                            10,
+                            10,
+                            0xFFFF5050);
                 }
                 l = v;
             }
@@ -958,54 +992,72 @@ void Editor2D::render( Bild& zRObj )
         else
         {
             int vAnz = p->getVertexAnzahl();
-            VertexData* l = p->zVertex( vAnz - 1 );
-            for( int j = 0; j < vAnz; j++ )
+            VertexData* l = p->zVertex(vAnz - 1);
+            for (int j = 0; j < vAnz; j++)
             {
-                VertexData* v = p->zVertex( j );
-                if( l && v )
+                VertexData* v = p->zVertex(j);
+                if (l && v)
                 {
-                    if( l->istSichtbar() && v->istSichtbar() )
-                        zRObj.drawLinie( ((l->getPos() - offs) * größe), ((v->getPos() - offs) * größe), 0xFFA0A0A0 );
+                    if (l->istSichtbar() && v->istSichtbar())
+                        zRObj.drawLinie(((l->getPos() - offs) * größe),
+                            ((v->getPos() - offs) * größe),
+                            0xFFA0A0A0);
                     else
-                        zRObj.drawLinie( ((l->getPos() - offs) * größe), ((v->getPos() - offs) * größe), 0xFF606060 );
+                        zRObj.drawLinie(((l->getPos() - offs) * größe),
+                            ((v->getPos() - offs) * größe),
+                            0xFF606060);
                 }
-                if( l )
+                if (l)
                 {
-                    if( !l->istSichtbar() )
+                    if (!l->istSichtbar())
                     {
                         l = v;
                         continue;
                     }
-                    if( !l->istAusgewählt() )
-                        zRObj.fillRegion( (int)((l->getPos().x - offs.x) * größe) - 5, (int)((l->getPos().y - offs.y) * größe) - 5, 10, 10, 0xFF5050FF );
+                    if (!l->istAusgewählt())
+                        zRObj.fillRegion(
+                            (int)((l->getPos().x - offs.x) * größe) - 5,
+                            (int)((l->getPos().y - offs.y) * größe) - 5,
+                            10,
+                            10,
+                            0xFF5050FF);
                     else
-                        zRObj.fillRegion( (int)((l->getPos().x - offs.x) * größe) - 5, (int)((l->getPos().y - offs.y) * größe) - 5, 10, 10, 0xFFFF5050 );
+                        zRObj.fillRegion(
+                            (int)((l->getPos().x - offs.x) * größe) - 5,
+                            (int)((l->getPos().y - offs.y) * größe) - 5,
+                            10,
+                            10,
+                            0xFFFF5050);
                 }
                 l = v;
             }
         }
     }
-    select->render( zRObj );
+    select->render(zRObj);
     zRObj.releaseDrawOptions();
     zRObj.releaseDrawOptions();
 }
 
-
 // Inhalt der GUI Klasse aus KEDModel2DEditor.h
 // Konstruktor
 GUI::GUI()
     : Zeichnung()
 {
-    speichern = initKnopf( 660, 500, 100, 20, Knopf::Style::Sichtbar, "Speichern" );
-    abbrechen = initKnopf( 770, 500, 100, 20, Knopf::Style::Sichtbar, "Abbrehen" );
-    textur = initKontrollKnopf( 10, 500, 100, 20, KontrollKnopf::Style::Normal, "Textur" );
-    texturVerknüpfen = initKnopf( 120, 500, 100, 20, Knopf::Style::Sichtbar, "Textur Speichern" );
-    texturLaden = initKnopf( 230, 500, 100, 20, Knopf::Style::Sichtbar, "Textur Laden" );
-    data = new Data( 0 );
+    speichern
+        = initKnopf(660, 500, 100, 20, Knopf::Style::Sichtbar, "Speichern");
+    abbrechen
+        = initKnopf(770, 500, 100, 20, Knopf::Style::Sichtbar, "Abbrehen");
+    textur = initKontrollKnopf(
+        10, 500, 100, 20, KontrollKnopf::Style::Normal, "Textur");
+    texturVerknüpfen = initKnopf(
+        120, 500, 100, 20, Knopf::Style::Sichtbar, "Textur Speichern");
+    texturLaden
+        = initKnopf(230, 500, 100, 20, Knopf::Style::Sichtbar, "Textur Laden");
+    data = new Data(0);
     editor = new Editor2D();
-    editor->setDataZ( dynamic_cast<Data*>(data->getThis()) );
+    editor->setDataZ(dynamic_cast<Data*>(data->getThis()));
     liste = new EditorListe();
-    liste->setDataZ( dynamic_cast<Data*>(data->getThis()) );
+    liste->setDataZ(dynamic_cast<Data*>(data->getThis()));
     importDialog = 0;
     aktion = 0;
     alpha = 0;
@@ -1023,141 +1075,136 @@ GUI::~GUI()
     textur->release();
     texturVerknüpfen->release();
     texturLaden->release();
-    if( importDialog )
-        importDialog->release();
+    if (importDialog) importDialog->release();
 }
 
 // nicht constant
-void GUI::setSichtbar( bool s )
+void GUI::setSichtbar(bool s)
 {
     sichtbar = s;
 }
 
-void GUI::setModel( Model2DData* data )
+void GUI::setModel(Model2DData* data)
 {
-    if( this->data )
-        this->data->release();
-    this->data = new Data( data );
-    editor->setDataZ( dynamic_cast<Data*>(this->data->getThis()) );
-    liste->setDataZ( dynamic_cast<Data*>(this->data->getThis()) );
+    if (this->data) this->data->release();
+    this->data = new Data(data);
+    editor->setDataZ(dynamic_cast<Data*>(this->data->getThis()));
+    liste->setDataZ(dynamic_cast<Data*>(this->data->getThis()));
 }
 
-void GUI::doPublicMausEreignis( MausEreignis& me )
+void GUI::doPublicMausEreignis(MausEreignis& me)
 {
-    if( !sichtbar )
-        return;
-    liste->doPublicMausEreignis( me );
-    editor->doPublicMausEreignis( me );
+    if (!sichtbar) return;
+    liste->doPublicMausEreignis(me);
+    editor->doPublicMausEreignis(me);
     bool vera = me.verarbeitet;
-    speichern->doPublicMausEreignis( me );
-    if( me.id == ME_RLinks && me.verarbeitet && !vera )
+    speichern->doPublicMausEreignis(me);
+    if (me.id == ME_RLinks && me.verarbeitet && !vera)
     {
         aktion = 1;
     }
     vera = me.verarbeitet;
-    abbrechen->doPublicMausEreignis( me );
-    if( me.id == ME_RLinks && me.verarbeitet && !vera )
+    abbrechen->doPublicMausEreignis(me);
+    if (me.id == ME_RLinks && me.verarbeitet && !vera)
     {
         aktion = 2;
     }
     vera = me.verarbeitet;
-    textur->doPublicMausEreignis( me );
-    data->setRTextur( textur->hatStyle( KontrollKnopf::Style::Selected ) );
+    textur->doPublicMausEreignis(me);
+    data->setRTextur(textur->hatStyle(KontrollKnopf::Style::Selected));
     vera = me.verarbeitet;
-    texturVerknüpfen->doPublicMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
-        data->saveTextur();
+    texturVerknüpfen->doPublicMausEreignis(me);
+    if (!vera && me.verarbeitet && me.id == ME_RLinks) data->saveTextur();
     vera = me.verarbeitet;
-    texturLaden->doPublicMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    texturLaden->doPublicMausEreignis(me);
+    if (!vera && me.verarbeitet && me.id == ME_RLinks)
     {
-        if( !importDialog )
+        if (!importDialog)
         {
             importDialog = new DateiDialogTh();
-            importDialog->setOpen( 1 );
-            importDialog->setDateiTypAuswahl( 4 );
-            importDialog->addDateiTyp( "JPEG-Bild", "*.jpg;*.jpeg;*.jpe" );
-            importDialog->addDateiTyp( "GIF-Bild", "*.gif" );
-            importDialog->addDateiTyp( "PNG-Bild", "*.png" );
-            importDialog->addDateiTyp( "Alle Dateien", "*.*" );
+            importDialog->setOpen(1);
+            importDialog->setDateiTypAuswahl(4);
+            importDialog->addDateiTyp("JPEG-Bild", "*.jpg;*.jpeg;*.jpe");
+            importDialog->addDateiTyp("GIF-Bild", "*.gif");
+            importDialog->addDateiTyp("PNG-Bild", "*.png");
+            importDialog->addDateiTyp("Alle Dateien", "*.*");
             importDialog->start();
         }
     }
 }
 
-void GUI::doTastaturEreignis( TastaturEreignis& te )
+void GUI::doTastaturEreignis(TastaturEreignis& te)
 {
-    if( !sichtbar )
-        return;
-    liste->doTastaturEreignis( te );
-    editor->doTastaturEreignis( te );
+    if (!sichtbar) return;
+    liste->doTastaturEreignis(te);
+    editor->doTastaturEreignis(te);
 }
 
-bool GUI::tick( double zeit )
+bool GUI::tick(double zeit)
 {
-    if( importDialog )
+    if (importDialog)
     {
-        if( !importDialog->isRunning() )
+        if (!importDialog->isRunning())
         {
             Text* importPfad = importDialog->getPfad();
             importDialog = (DateiDialogTh*)importDialog->release();
-            if( sichtbar && importPfad )
+            if (sichtbar && importPfad)
             {
-                importPfad->ersetzen( "\\", "/" );
+                importPfad->ersetzen("\\", "/");
                 Text* err = new Text();
-                Bild* b = ladeBild( importPfad->getText(), err );
-                if( !b )
-                    nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), err, new Text( "Ok" ) );
+                Bild* b = ladeBild(importPfad->getText(), err);
+                if (!b)
+                    nachLogin->zNachrichtenListe()->addNachricht(
+                        new Text("Fehler"), err, new Text("Ok"));
                 else
-                    data->setTextur( b );
+                    data->setTextur(b);
                 err->release();
             }
-            if( importPfad )
-                importPfad->release();
+            if (importPfad) importPfad->release();
         }
     }
-    rend |= speichern->tick( zeit );
-    rend |= abbrechen->tick( zeit );
-    if( sichtbar && alpha != 255 )
+    rend |= speichern->tick(zeit);
+    rend |= abbrechen->tick(zeit);
+    if (sichtbar && alpha != 255)
     {
-        if( alpha + zeit * 200 > 255 )
+        if (alpha + zeit * 200 > 255)
             alpha = 255;
         else
             alpha += (unsigned char)(zeit * 200);
         rend = 1;
     }
-    else if( !sichtbar && alpha )
+    else if (!sichtbar && alpha)
     {
-        if( alpha - zeit * 200 < 0 )
+        if (alpha - zeit * 200 < 0)
             alpha = 0;
         else
             alpha -= (unsigned char)(zeit * 200);
         rend = 1;
     }
-    if( sichtbar )
+    if (sichtbar)
     {
-        rend |= editor->tick( zeit );
-        rend |= liste->tick( zeit );
-        rend |= speichern->tick( zeit );
-        rend |= textur->tick( zeit );
-        rend |= texturVerknüpfen->tick( zeit );
-        rend |= texturLaden->tick( zeit );
+        rend |= editor->tick(zeit);
+        rend |= liste->tick(zeit);
+        rend |= speichern->tick(zeit);
+        rend |= textur->tick(zeit);
+        rend |= texturVerknüpfen->tick(zeit);
+        rend |= texturLaden->tick(zeit);
     }
     bool ret = rend;
     rend = 0;
     return ret;
 }
 
-void GUI::render( Bild& zRObj )
+void GUI::render(Bild& zRObj)
 {
-    zRObj.setAlpha( alpha );
-    editor->render( zRObj );
-    liste->render( zRObj );
-    speichern->render( zRObj );
-    abbrechen->render( zRObj );
-    textur->render( zRObj );
-    texturVerknüpfen->render( zRObj );
-    texturLaden->render( zRObj );
+    zRObj.setAlpha(alpha);
+    editor->render(zRObj);
+    liste->render(zRObj);
+    speichern->render(zRObj);
+    abbrechen->render(zRObj);
+    textur->render(zRObj);
+    texturVerknüpfen->render(zRObj);
+    texturLaden->render(zRObj);
     zRObj.releaseAlpha();
 }
 

+ 89 - 89
KSGClient/NachLogin/Editor/Karte/Dateien/KEDModel2DEditor.h

@@ -1,12 +1,12 @@
 #pragma once
 
-#include <Knopf.h>
 #include <Array.h>
-#include <Punkt.h>
 #include <Bild.h>
-#include <Model2D.h>
 #include <DateiDialog.h>
 #include <Fenster.h>
+#include <Knopf.h>
+#include <Model2D.h>
+#include <Punkt.h>
 #include <Rahmen.h>
 
 using namespace Framework;
@@ -16,118 +16,118 @@ namespace Model2DEditor
     class VertexData : public virtual ReferenceCounter
     {
     private:
-        Vec2< float > vertex;
+        Vec2<float> vertex;
         Vertex textur;
         bool selected;
         bool sichtbar;
 
     public:
         // Konstruktor
-        VertexData( Vec2< float > v, Vertex t );
+        VertexData(Vec2<float> v, Vertex t);
         // nicht constant
-        void nachLinks( float num );
-        void nachOben( float num );
-        void setPosition( Vertex p );
-        void setTextur( Vertex tp );
-        void saveTextur( Punkt tPos, Punkt tGr );
-        void select( Punkt p1, Punkt p2 );
+        void nachLinks(float num);
+        void nachOben(float num);
+        void setPosition(Vertex p);
+        void setTextur(Vertex tp);
+        void saveTextur(Punkt tPos, Punkt tGr);
+        void select(Punkt p1, Punkt p2);
         void deSelect();
-        void setAuswahl( bool ausw );
-        void setSichtbar( bool s );
+        void setAuswahl(bool ausw);
+        void setSichtbar(bool s);
         // constant
         bool istSichtbar() const;
         bool istAusgewählt() const;
-        Vec2< float > getPos() const;
+        Vec2<float> getPos() const;
         Vertex getTPos() const;
     };
 
     class PolygonData : public virtual ReferenceCounter
     {
     private:
-        RCArray< VertexData > *vd;
+        RCArray<VertexData>* vd;
         Text name;
         bool transparent;
         bool sichtbar;
 
     public:
         // Konstruktor
-        PolygonData( Polygon2D &pg );
+        PolygonData(const Polygon2D& pg);
         // Destruktor
         ~PolygonData();
         // nicht constant
-        void addVertex( Vec2< float >v, Vertex t );
-        void removeVertex( int num );
-        void nachLinks( float num );
-        void nachOben( float num );
-        void saveTextur( Punkt tPos, Punkt tGr );
-        void select( Punkt p1, Punkt p2 );
+        void addVertex(Vec2<float> v, Vertex t);
+        void removeVertex(int num);
+        void nachLinks(float num);
+        void nachOben(float num);
+        void saveTextur(Punkt tPos, Punkt tGr);
+        void select(Punkt p1, Punkt p2);
         void deSelect();
-        void setSichtbar( bool s );
-        void setTransparent( bool t );
-        void setName( const char *name );
+        void setSichtbar(bool s);
+        void setTransparent(bool t);
+        void setName(const char* name);
         // constant
-        const char *getName() const;
+        const char* getName() const;
         bool istSichtbar() const;
-        VertexData *zVertex( int num ) const;
+        VertexData* zVertex(int num) const;
         int getVertexAnzahl() const;
-        void getM2( Polygon2D &pd, bool textur ) const;
+        void getM2(Polygon2D& pd, bool textur) const;
         bool istTransparent() const;
     };
 
     class Data : public virtual ReferenceCounter
     {
     private:
-        RCArray< PolygonData > *pd;
-        Bild *textur;
+        RCArray<PolygonData>* pd;
+        Bild* textur;
         Punkt tPos;
         bool rTextur;
         int sp;
 
     public:
         // Konstruktor
-        Data( Model2DData *mdl );
+        Data(Model2DData* mdl);
         // Destruktor
         ~Data();
         // nicht constant
         void addPolygon();
-        void removePolygon( int num );
-        void selectPolygon( int num );
-        void nachLinks( float num );
-        void nachOben( float num );
-        void tNachLinks( int num );
-        void tNachOben( int num );
-        void setRTextur( bool rt );
+        void removePolygon(int num);
+        void selectPolygon(int num);
+        void nachLinks(float num);
+        void nachOben(float num);
+        void tNachLinks(int num);
+        void tNachOben(int num);
+        void setRTextur(bool rt);
         void saveTextur();
-        void setTextur( Bild *t );
-        void select( Punkt p1, Punkt p2 );
+        void setTextur(Bild* t);
+        void select(Punkt p1, Punkt p2);
         void deSelect();
         // constant
-        PolygonData *zPolygon( int num ) const;
+        PolygonData* zPolygon(int num) const;
         int getPolygonAnzahl() const;
         int getSelectedPolygon() const;
-        Model2DData *getM2() const;
-        Bild *zTextur() const;
+        Model2DData* getM2() const;
+        Bild* zTextur() const;
         Punkt getTPos() const;
     };
 
     class EditorListe : public Zeichnung
     {
     private:
-        LRahmen *ram;
-        VScrollBar *scroll;
-        Data *data;
-        Array< bool > ausgeklappt;
-        TextRenderer *tr;
-        TextFeld *pName;
-        Fenster *koordF;
-        TextFeld *kxT;
-        TextFeld *kyT;
-        TextFeld *kx;
-        TextFeld *ky;
-        TextFeld *tkxT;
-        TextFeld *tkyT;
-        TextFeld *tkx;
-        TextFeld *tky;
+        LRahmen* ram;
+        VScrollBar* scroll;
+        Data* data;
+        Array<bool> ausgeklappt;
+        TextRenderer* tr;
+        TextFeld* pName;
+        Fenster* koordF;
+        TextFeld* kxT;
+        TextFeld* kyT;
+        TextFeld* kx;
+        TextFeld* ky;
+        TextFeld* tkxT;
+        TextFeld* tkyT;
+        TextFeld* tkx;
+        TextFeld* tky;
         int polI;
         int verI;
 
@@ -137,11 +137,11 @@ namespace Model2DEditor
         // Destruktor
         ~EditorListe();
         // nicht constant
-        void setDataZ( Data *d );
-        void doPublicMausEreignis( MausEreignis &me ) override;
-        void doTastaturEreignis( TastaturEreignis &te ) override;
-        bool tick( double zeit ) override;
-        void render( Bild &zRObj ) override;
+        void setDataZ(Data* d);
+        void doPublicMausEreignis(MausEreignis& me) override;
+        void doTastaturEreignis(TastaturEreignis& te) override;
+        bool tick(double zeit) override;
+        void render(Bild& zRObj) override;
     };
 
     class Editor2D : public Zeichnung
@@ -149,10 +149,10 @@ namespace Model2DEditor
     private:
         Punkt pos;
         Punkt offs;
-        Data *data;
-        LRahmen *ram;
-        LRahmen *select;
-        TextRenderer *tr;
+        Data* data;
+        LRahmen* ram;
+        LRahmen* select;
+        TextRenderer* tr;
         Punkt mausPos;
         Vertex addV;
         bool mausIn;
@@ -164,25 +164,25 @@ namespace Model2DEditor
         // Destruktor
         ~Editor2D();
         // nicht constant
-        void setDataZ( Data *d );
-        void doPublicMausEreignis( MausEreignis &me ) override;
-        void doTastaturEreignis( TastaturEreignis &te ) override;
-        bool tick( double zeit ) override;
-        void render( Bild &zRObj ) override;
+        void setDataZ(Data* d);
+        void doPublicMausEreignis(MausEreignis& me) override;
+        void doTastaturEreignis(TastaturEreignis& te) override;
+        bool tick(double zeit) override;
+        void render(Bild& zRObj) override;
     };
 
     class GUI : public Zeichnung
     {
     private:
-        Knopf *speichern;
-        Knopf *abbrechen;
-        Editor2D *editor;
-        EditorListe *liste;
-        KontrollKnopf *textur;
-        Knopf *texturLaden;
-        Knopf *texturVerknüpfen;
-        DateiDialogTh *importDialog;
-        Data *data;
+        Knopf* speichern;
+        Knopf* abbrechen;
+        Editor2D* editor;
+        EditorListe* liste;
+        KontrollKnopf* textur;
+        Knopf* texturLaden;
+        Knopf* texturVerknüpfen;
+        DateiDialogTh* importDialog;
+        Data* data;
         bool sichtbar;
         unsigned char alpha;
         int aktion;
@@ -193,14 +193,14 @@ namespace Model2DEditor
         // Destruktor
         ~GUI();
         // nicht constant
-        void setSichtbar( bool s );
-        void setModel( Model2DData *data );
-        void doPublicMausEreignis( MausEreignis &me ) override;
-        void doTastaturEreignis( TastaturEreignis &te ) override;
-        bool tick( double zeit ) override;
-        void render( Bild &zRObj ) override;
+        void setSichtbar(bool s);
+        void setModel(Model2DData* data);
+        void doPublicMausEreignis(MausEreignis& me) override;
+        void doTastaturEreignis(TastaturEreignis& te) override;
+        bool tick(double zeit) override;
+        void render(Bild& zRObj) override;
         int getAktion();
         // const
-        Model2DData *getM2Data() const;
+        Model2DData* getM2Data() const;
     };
-}
+} // namespace Model2DEditor

+ 40 - 48
KSGClient/NachLogin/Editor/Karte/Dateien/WAVDatei.cpp

@@ -1,89 +1,81 @@
 #include "WAVDatei.h"
-#include <Text.h>
-#include <mmsystem.h>
+
 #include <Bild.h>
 #include <DateiSystem.h>
+#include <mmsystem.h>
+#include <Text.h>
 
-bool istGleich(char* a, char* b, int l)
+bool istGleich(const char* a, const char* b, int l)
 {
-	bool ret = 1;
-	for (; l > 0; --l, ++a, ++b)
-		ret &= *a == *b;
-	return ret;
+    bool ret = 1;
+    for (; l > 0; --l, ++a, ++b)
+        ret &= *a == *b;
+    return ret;
 }
 
 // Inhalt der WAVDatei Klasse aus WAVDatei.h
 // Konstruktor
 WAVDatei::WAVDatei()
-	: ReferenceCounter()
+    : ReferenceCounter()
 {}
 
 // nicht constant
 bool WAVDatei::lade(const char* pfad)
 {
-	d.setDatei(pfad);
-	if (!d.open(Datei::Style::lesen))
-		return 0;
-	d.lese((char*)&kpf, sizeof(kpf));
-	if (!istGleich(kpf.riff, "RIFF", 4))
-		return 0;
-	if (!istGleich(kpf.wav, "WAVE", 4))
-		return 0;
-	d.lese((char*)&fmt, sizeof(fmt));
-	if (!istGleich(fmt.fmt, "fmt ", 4))
-		return 0;
-	if (fmt.channels > 2 || fmt.channels < 1)
-		return 0;
-	if (fmt.tag != 1)
-		return 0;
-	if (fmt.bitsPerSample != 16)
-		return 0;
-	if (fmt.blockAlign * fmt.sampleRate != fmt.bytesPerSec)
-		return 0;
-	d.lese((char*)&dBeg, sizeof(dBeg));
-	while (!istGleich(dBeg.data, "data", 4))
-	{
-		d.setLPosition(1 + d.getLPosition() - sizeof(dBeg), 0);
-		d.lese((char*)&dBeg, sizeof(dBeg));
-	}
-	pos = (int)d.getLPosition();
-	d.close();
-	return 1;
+    d.setDatei(pfad);
+    if (!d.open(Datei::Style::lesen)) return 0;
+    d.lese((char*)&kpf, sizeof(kpf));
+    if (!istGleich(kpf.riff, "RIFF", 4)) return 0;
+    if (!istGleich(kpf.wav, "WAVE", 4)) return 0;
+    d.lese((char*)&fmt, sizeof(fmt));
+    if (!istGleich(fmt.fmt, "fmt ", 4)) return 0;
+    if (fmt.channels > 2 || fmt.channels < 1) return 0;
+    if (fmt.tag != 1) return 0;
+    if (fmt.bitsPerSample != 16) return 0;
+    if (fmt.blockAlign * fmt.sampleRate != fmt.bytesPerSec) return 0;
+    d.lese((char*)&dBeg, sizeof(dBeg));
+    while (!istGleich(dBeg.data, "data", 4))
+    {
+        d.setLPosition(1 + d.getLPosition() - sizeof(dBeg), 0);
+        d.lese((char*)&dBeg, sizeof(dBeg));
+    }
+    pos = (int)d.getLPosition();
+    d.close();
+    return 1;
 }
 
 // zum Speichern
 void WAVDatei::open()
 {
-	d.open(Datei::Style::lesen);
-	d.setLPosition(pos, 0);
+    d.open(Datei::Style::lesen);
+    d.setLPosition(pos, 0);
 }
 
 int WAVDatei::getDaten(char* buffer, int län)
 {
-	if (d.getLPosition() + län > d.getSize())
-		län = (int)(d.getSize() - d.getLPosition());
-	if (!län)
-		return -1;
-	d.lese(buffer, län);
-	return län;
+    if (d.getLPosition() + län > d.getSize())
+        län = (int)(d.getSize() - d.getLPosition());
+    if (!län) return -1;
+    d.lese(buffer, län);
+    return län;
 }
 
 void WAVDatei::close()
 {
-	d.close();
+    d.close();
 }
 
 bool WAVDatei::istMono() const
 {
-	return fmt.channels == 1;
+    return fmt.channels == 1;
 }
 
 int WAVDatei::getSampleRate() const
 {
-	return fmt.sampleRate;
+    return fmt.sampleRate;
 }
 
 __int64 WAVDatei::getDatLength() const
 {
-	return d.getSize() - pos;
+    return d.getSize() - pos;
 }

+ 627 - 547
KSGClient/NachLogin/Editor/Karte/ShopSeite/KESSVorschau.cpp

@@ -1,666 +1,746 @@
 #include "KESSVorschau.h"
-#include "../../../../Global/Variablen.h"
-#include "../../../../Global/Initialisierung.h"
+
 #include <DateiSystem.h>
 #include <Globals.h>
 
-void kESSVorschauKSGSAktion(void* p, RCArray< KSGSVariable >* parameter, KSGSVariable** retVal)
+#include "../../../../Global/Initialisierung.h"
+#include "../../../../Global/Variablen.h"
+
+void kESSVorschauKSGSAktion(
+    void* p, RCArray<KSGSVariable>* parameter, KSGSVariable** retVal)
 {
-	if (!p)
-		return;
-	((KESSVorschauKarteScript*)p)->ksgsAktion(parameter, retVal);
+    if (!p) return;
+    ((KESSVorschauKarteScript*)p)->ksgsAktion(parameter, retVal);
 }
 
 // Inhalt der KESSVorschauKarteScript Klasse aus KESSVorschau.h
 // Konstruktor
 KESSVorschauKarteScript::KESSVorschauKarteScript(TextFeld* zLog)
-	: Thread()
+    : Thread()
 {
-	ksgs = Framework::getDLLRegister()->ladeDLL("KSGScript.dll", "data/bin/KSGScript.dll");
-	if (ksgs)
-	{
-		KSGSGetZeichnung getKSGScript = (KSGSGetZeichnung)GetProcAddress(ksgs, KSGS_START_FUNKTION);
-		if (getKSGScript)
-		{
-			fenster = getKSGScript();
-			fenster->setSchriftZ(dynamic_cast<Schrift*>(uiFactory.initParam.schrift->getThis()));
-			fenster->setSize(555, 380);
-			fenster->setCallbackParam(this);
-			fenster->setCallbackFunktion(kESSVorschauKSGSAktion);
-			fenster->setLog(dynamic_cast<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."),
-				new Text("Ok"), 0);
-		}
-	}
-	else
-	{
-		fenster = 0;
-		nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
-			new Text("Die DLL-Datei 'data/bin/KSGScript.dll' konnte nicht geladen werden."),
-			new Text("Ok"), 0);
-	}
-	ram = new LRahmen();
-	ram->setSize(555, 380);
-	ram->setFarbe(0xFFFFFFFF);
-	pos = Punkt(220, 10);
-	sichtbar = 0;
-	besitztTestVersion = 0;
-	verbleibend = 0;
-	vollversionErwerbbar = 1;
-	testversionErwerbbar = 1;
-	vvPreis = 0;
-	tvPreis = 0;
-	kupfer = 0;
-	alpha = 0;
-	aktion = 0;
-	ak = 0;
+    ksgs = Framework::getDLLRegister()->ladeDLL(
+        "KSGScript.dll", "data/bin/KSGScript.dll");
+    if (ksgs)
+    {
+        KSGSGetZeichnung getKSGScript
+            = (KSGSGetZeichnung)GetProcAddress(ksgs, KSGS_START_FUNKTION);
+        if (getKSGScript)
+        {
+            fenster = getKSGScript();
+            fenster->setSchriftZ(
+                dynamic_cast<Schrift*>(uiFactory.initParam.schrift->getThis()));
+            fenster->setSize(555, 380);
+            fenster->setCallbackParam(this);
+            fenster->setCallbackFunktion(kESSVorschauKSGSAktion);
+            fenster->setLog(dynamic_cast<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."),
+                new Text("Ok"),
+                0);
+        }
+    }
+    else
+    {
+        fenster = 0;
+        nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+            new Text("Die DLL-Datei 'data/bin/KSGScript.dll' konnte nicht "
+                     "geladen werden."),
+            new Text("Ok"),
+            0);
+    }
+    ram = new LRahmen();
+    ram->setSize(555, 380);
+    ram->setFarbe(0xFFFFFFFF);
+    pos = Punkt(220, 10);
+    sichtbar = 0;
+    besitztTestVersion = 0;
+    verbleibend = 0;
+    vollversionErwerbbar = 1;
+    testversionErwerbbar = 1;
+    vvPreis = 0;
+    tvPreis = 0;
+    kupfer = 0;
+    alpha = 0;
+    aktion = 0;
+    ak = 0;
 }
 
 // Destruktor
 KESSVorschauKarteScript::~KESSVorschauKarteScript()
 {
-	if (fenster)
-	{
-		fenster->reset();
-		fenster->release();
-	}
-	ram->release();
-	if (ksgs)
-		Framework::getDLLRegister()->releaseDLL("KSGScript.dll");
+    if (fenster)
+    {
+        fenster->reset();
+        fenster->release();
+    }
+    ram->release();
+    if (ksgs) Framework::getDLLRegister()->releaseDLL("KSGScript.dll");
 }
 
 // nicht constant
 void KESSVorschauKarteScript::thread()
 {
-	sichtbar = 0;
-	while (alpha)
-		Sleep(100);
-	if (ak == 1)
-	{
-		pfad += "/seite/seite.ksgs";
-		if (fenster)
-			fenster->setScriptDatei(pfad);
-	}
-	fenster->neuLaden();
-	sichtbar = 1;
-	ak = 0;
-	run = 0;
+    sichtbar = 0;
+    while (alpha)
+        Sleep(100);
+    if (ak == 1)
+    {
+        pfad += "/seite/seite.ksgs";
+        if (fenster) fenster->setScriptDatei(pfad);
+    }
+    fenster->neuLaden();
+    sichtbar = 1;
+    ak = 0;
+    run = 0;
 }
 
-void KESSVorschauKarteScript::setScriptParams(bool hatTV, int tvVerb, bool vvEn, bool tvEn, int vvK, int tvK, int k)
+void KESSVorschauKarteScript::setScriptParams(
+    bool hatTV, int tvVerb, bool vvEn, bool tvEn, int vvK, int tvK, int k)
 {
-	besitztTestVersion = hatTV;
-	verbleibend = tvVerb;
-	vollversionErwerbbar = vvEn;
-	testversionErwerbbar = tvEn;
-	vvPreis = vvK;
-	tvPreis = tvK;
-	kupfer = k;
-	if (sichtbar)
-	{
-		ak = 2;
-		start();
-	}
+    besitztTestVersion = hatTV;
+    verbleibend = tvVerb;
+    vollversionErwerbbar = vvEn;
+    testversionErwerbbar = tvEn;
+    vvPreis = vvK;
+    tvPreis = tvK;
+    kupfer = k;
+    if (sichtbar)
+    {
+        ak = 2;
+        start();
+    }
 }
 
 void KESSVorschauKarteScript::ladeKarteSeite(const char* pfad)
 {
-	if (run)
-		warteAufThread(5000);
-	if (run)
-		ende();
-	this->pfad = pfad;
-	ak = 1;
-	start();
+    if (run) warteAufThread(5000);
+    if (run) ende();
+    this->pfad = pfad;
+    ak = 1;
+    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();
-	if (!b)
-		return;
-	if (b->istGleich("GetBesitzStatus"))
-	{
-		int besitz = (int)besitztTestVersion;
-		KSGSGetVariable getKSGSVariable = (KSGSGetVariable)GetProcAddress(ksgs, KSGS_VARIABLE_FUNKTION);
-		if (getKSGSVariable)
-		{
-			KSGSVariableDef def = { KSGS_INT, 0, 3, (Text() += besitz).getText() };
-			*retVal = getKSGSVariable(fenster, &def);
-		}
-		else
-		{
-			nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
-				new Text("Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION "' in der DLL-Datei "
-					"'data/bin/KSGScript.dll' konnte nicht gefunden werden."),
-				new Text("Ok"), 0);
-		}
-		b->release();
-		return;
-	}
-	if (b->istGleich("GetPreis"))
-	{
-		KSGSVariable* version = parameter->z(1);
-		if (!version)
-		{
-			nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
-				new Text("Auf dieser Seite befindet sich ein Fehler im KSG-Script. "
-					"Sie könnte eventuell nicht richtig funktionieren."),
-				new Text("Ok"), 0);
-		}
-		else
-		{
-			bool testVersion = !version->getInt();
-			int k = testVersion ? tvPreis : vvPreis;
-			KSGSGetVariable getKSGSVariable = (KSGSGetVariable)GetProcAddress(ksgs, KSGS_VARIABLE_FUNKTION);
-			if (getKSGSVariable)
-			{
-				KSGSVariableDef def = { KSGS_INT, 0, 3, (Text() += k).getText() };
-				*retVal = getKSGSVariable(fenster, &def);
-			}
-			else
-			{
-				nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
-					new Text("Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION "' in der DLL-Datei "
-						"'data/bin/KSGScript.dll' konnte nicht gefunden werden."),
-					new Text("Ok"), 0);
-			}
-		}
-		b->release();
-		return;
-	}
-	if (b->istGleich("GetTestVersionVerbleibend"))
-	{
-		KSGSGetVariable getKSGSVariable = (KSGSGetVariable)GetProcAddress(ksgs, KSGS_VARIABLE_FUNKTION);
-		if (getKSGSVariable)
-		{
-			KSGSVariableDef def = { KSGS_INT, 0, 3, (Text() += verbleibend).getText() };
-			*retVal = getKSGSVariable(fenster, &def);
-		}
-		else
-		{
-			nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
-				new Text("Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION "' in der DLL-Datei "
-					"'data/bin/KSGScript.dll' konnte nicht gefunden werden."),
-				new Text("Ok"), 0);
-		}
-		b->release();
-		return;
-	}
-	if (b->istGleich("GetErwerbbarStatus"))
-	{
-		int erwerbbar = ((int)testversionErwerbbar & 0x1) | (((int)vollversionErwerbbar << 1) & 0x2);
-		KSGSGetVariable getKSGSVariable = (KSGSGetVariable)GetProcAddress(ksgs, KSGS_VARIABLE_FUNKTION);
-		if (getKSGSVariable)
-		{
-			KSGSVariableDef def = { KSGS_INT, 0, 3, (Text() += erwerbbar).getText() };
-			*retVal = getKSGSVariable(fenster, &def);
-		}
-		else
-		{
-			nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
-				new Text("Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION "' in der DLL-Datei "
-					"'data/bin/KSGScript.dll' konnte nicht gefunden werden."),
-				new Text("Ok"), 0);
-		}
-		b->release();
-		return;
-	}
-	if (b->istGleich("GetKupfer"))
-	{
-		KSGSGetVariable getKSGSVariable = (KSGSGetVariable)GetProcAddress(ksgs, KSGS_VARIABLE_FUNKTION);
-		if (getKSGSVariable)
-		{
-			KSGSVariableDef def = { KSGS_INT, 0, 3, (Text() += kupfer).getText() };
-			*retVal = getKSGSVariable(fenster, &def);
-		}
-		else
-		{
-			nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
-				new Text("Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION "' in der DLL-Datei "
-					"'data/bin/KSGScript.dll' konnte nicht gefunden werden."),
-				new Text("Ok"), 0);
-		}
-		b->release();
-		return;
-	}
-	if (b->istGleich("Kaufen"))
-	{
-		KSGSVariable* version = parameter->z(1);
-		if (!version)
-		{
-			nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
-				new Text("Auf dieser Seite befindet sich ein Fehler im KSG-Script. "
-					"Sie könnte eventuell nicht richtig funktionieren."),
-				new Text("Ok"), 0);
-		}
-		b->release();
-		return;
-	}
-	if (b->istGleich("GetBild"))
-	{
-		KSGSVariable* pfad = parameter->z(1);
-		KSGSVariable* name = parameter->z(2);
-		if (!pfad || !name)
-		{
-			nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
-				new Text("Auf dieser Seite befindet sich ein Fehler im KSG-Script. "
-					"Sie könnte eventuell nicht richtig funktionieren."),
-				new Text("Ok"), 0);
-		}
-		else
-		{
-			Text* pf = pfad->getText();
-			Text* n = name->getText();
-			if (!pf || !n)
-			{
-				nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
-					new Text("Auf dieser Seite befindet sich ein Fehler im KSG-Script. "
-						"Sie könnte eventuell nicht richtig funktionieren."),
-					new Text("Ok"), 0);
-			}
-			else
-			{
-				KSGSGetVariable getKSGSVariable = (KSGSGetVariable)GetProcAddress(ksgs, KSGS_VARIABLE_FUNKTION);
-				if (getKSGSVariable)
-				{
-					int p = n->positionVon(".ltdb/");
-					if (p < 0)
-						p = 0;
-					else
-						p += 6;
-					Text nn = Text(pf->getText()) + "/" + (const char*)(n->getText() + p);
-					Bild* b = bilder->get(nn);
-					if (b)
-					{
-						KSGSVariableDef def = { KSGS_BILD, 0, 3, "" };
-						KSGSVariable* ret = getKSGSVariable(fenster, &def);
-						KSGSSetBild setKSGSBild = (KSGSSetBild)GetProcAddress(ksgs, KSGS_SET_BILD_FUNKTION);
-						if (!setKSGSBild)
-						{
-							nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
-								new Text("Der Einstiegspunkt '" KSGS_SET_BILD_FUNKTION "' in der DLL-Datei "
-									"'data/bin/KSGScript.dll' konnte nicht gefunden werden."),
-								new Text("Ok"), 0);
-							b->release();
-						}
-						else
-							setKSGSBild(ret, b);
-						*retVal = ret;
-					}
-				}
-				else
-				{
-					nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
-						new Text("Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION "' in der DLL-Datei "
-							"'data/bin/KSGScript.dll' konnte nicht gefunden werden."),
-						new Text("Ok"), 0);
-				}
-			}
-			if (pf)
-				pf->release();
-			if (n)
-				n->release();
-		}
-		b->release();
-		return;
-	}
+    KSGSVariable* befehl = parameter->z(0);
+    if (!befehl) return;
+    Text* b = befehl->getText();
+    if (!b) return;
+    if (b->istGleich("GetBesitzStatus"))
+    {
+        int besitz = (int)besitztTestVersion;
+        KSGSGetVariable getKSGSVariable
+            = (KSGSGetVariable)GetProcAddress(ksgs, KSGS_VARIABLE_FUNKTION);
+        if (getKSGSVariable)
+        {
+            KSGSVariableDef def
+                = {KSGS_INT, 0, 3, (Text() += besitz).getText()};
+            *retVal = getKSGSVariable(fenster, &def);
+        }
+        else
+        {
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(
+                    "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION
+                    "' in der DLL-Datei "
+                    "'data/bin/KSGScript.dll' konnte nicht gefunden werden."),
+                new Text("Ok"),
+                0);
+        }
+        b->release();
+        return;
+    }
+    if (b->istGleich("GetPreis"))
+    {
+        KSGSVariable* version = parameter->z(1);
+        if (!version)
+        {
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(
+                    "Auf dieser Seite befindet sich ein Fehler im KSG-Script. "
+                    "Sie könnte eventuell nicht richtig funktionieren."),
+                new Text("Ok"),
+                0);
+        }
+        else
+        {
+            bool testVersion = !version->getInt();
+            int k = testVersion ? tvPreis : vvPreis;
+            KSGSGetVariable getKSGSVariable
+                = (KSGSGetVariable)GetProcAddress(ksgs, KSGS_VARIABLE_FUNKTION);
+            if (getKSGSVariable)
+            {
+                KSGSVariableDef def = {KSGS_INT, 0, 3, (Text() += k).getText()};
+                *retVal = getKSGSVariable(fenster, &def);
+            }
+            else
+            {
+                nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                    new Text("Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION
+                             "' in der DLL-Datei "
+                             "'data/bin/KSGScript.dll' konnte nicht gefunden "
+                             "werden."),
+                    new Text("Ok"),
+                    0);
+            }
+        }
+        b->release();
+        return;
+    }
+    if (b->istGleich("GetTestVersionVerbleibend"))
+    {
+        KSGSGetVariable getKSGSVariable
+            = (KSGSGetVariable)GetProcAddress(ksgs, KSGS_VARIABLE_FUNKTION);
+        if (getKSGSVariable)
+        {
+            KSGSVariableDef def
+                = {KSGS_INT, 0, 3, (Text() += verbleibend).getText()};
+            *retVal = getKSGSVariable(fenster, &def);
+        }
+        else
+        {
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(
+                    "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION
+                    "' in der DLL-Datei "
+                    "'data/bin/KSGScript.dll' konnte nicht gefunden werden."),
+                new Text("Ok"),
+                0);
+        }
+        b->release();
+        return;
+    }
+    if (b->istGleich("GetErwerbbarStatus"))
+    {
+        int erwerbbar = ((int)testversionErwerbbar & 0x1)
+                      | (((int)vollversionErwerbbar << 1) & 0x2);
+        KSGSGetVariable getKSGSVariable
+            = (KSGSGetVariable)GetProcAddress(ksgs, KSGS_VARIABLE_FUNKTION);
+        if (getKSGSVariable)
+        {
+            KSGSVariableDef def
+                = {KSGS_INT, 0, 3, (Text() += erwerbbar).getText()};
+            *retVal = getKSGSVariable(fenster, &def);
+        }
+        else
+        {
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(
+                    "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION
+                    "' in der DLL-Datei "
+                    "'data/bin/KSGScript.dll' konnte nicht gefunden werden."),
+                new Text("Ok"),
+                0);
+        }
+        b->release();
+        return;
+    }
+    if (b->istGleich("GetKupfer"))
+    {
+        KSGSGetVariable getKSGSVariable
+            = (KSGSGetVariable)GetProcAddress(ksgs, KSGS_VARIABLE_FUNKTION);
+        if (getKSGSVariable)
+        {
+            KSGSVariableDef def
+                = {KSGS_INT, 0, 3, (Text() += kupfer).getText()};
+            *retVal = getKSGSVariable(fenster, &def);
+        }
+        else
+        {
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(
+                    "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION
+                    "' in der DLL-Datei "
+                    "'data/bin/KSGScript.dll' konnte nicht gefunden werden."),
+                new Text("Ok"),
+                0);
+        }
+        b->release();
+        return;
+    }
+    if (b->istGleich("Kaufen"))
+    {
+        KSGSVariable* version = parameter->z(1);
+        if (!version)
+        {
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(
+                    "Auf dieser Seite befindet sich ein Fehler im KSG-Script. "
+                    "Sie könnte eventuell nicht richtig funktionieren."),
+                new Text("Ok"),
+                0);
+        }
+        b->release();
+        return;
+    }
+    if (b->istGleich("GetBild"))
+    {
+        KSGSVariable* pfad = parameter->z(1);
+        KSGSVariable* name = parameter->z(2);
+        if (!pfad || !name)
+        {
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(
+                    "Auf dieser Seite befindet sich ein Fehler im KSG-Script. "
+                    "Sie könnte eventuell nicht richtig funktionieren."),
+                new Text("Ok"),
+                0);
+        }
+        else
+        {
+            Text* pf = pfad->getText();
+            Text* n = name->getText();
+            if (!pf || !n)
+            {
+                nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                    new Text(
+                        "Auf dieser Seite befindet sich ein Fehler im "
+                        "KSG-Script. "
+                        "Sie könnte eventuell nicht richtig funktionieren."),
+                    new Text("Ok"),
+                    0);
+            }
+            else
+            {
+                KSGSGetVariable getKSGSVariable
+                    = (KSGSGetVariable)GetProcAddress(
+                        ksgs, KSGS_VARIABLE_FUNKTION);
+                if (getKSGSVariable)
+                {
+                    int p = n->positionVon(".ltdb/");
+                    if (p < 0)
+                        p = 0;
+                    else
+                        p += 6;
+                    Text nn = Text(pf->getText()) + "/"
+                            + (const char*)(n->getText() + p);
+                    Bild* b = bilder->get(nn);
+                    if (b)
+                    {
+                        KSGSVariableDef def = {KSGS_BILD, 0, 3, ""};
+                        KSGSVariable* ret = getKSGSVariable(fenster, &def);
+                        KSGSSetBild setKSGSBild = (KSGSSetBild)GetProcAddress(
+                            ksgs, KSGS_SET_BILD_FUNKTION);
+                        if (!setKSGSBild)
+                        {
+                            nachLogin->zNachrichtenListe()->addNachricht(
+                                new Text("Fehler"),
+                                new Text("Der Einstiegspunkt "
+                                         "'" KSGS_SET_BILD_FUNKTION
+                                         "' in der DLL-Datei "
+                                         "'data/bin/KSGScript.dll' konnte "
+                                         "nicht gefunden werden."),
+                                new Text("Ok"),
+                                0);
+                            b->release();
+                        }
+                        else
+                            setKSGSBild(ret, b);
+                        *retVal = ret;
+                    }
+                }
+                else
+                {
+                    nachLogin->zNachrichtenListe()->addNachricht(
+                        new Text("Fehler"),
+                        new Text("Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION
+                                 "' in der DLL-Datei "
+                                 "'data/bin/KSGScript.dll' konnte nicht "
+                                 "gefunden werden."),
+                        new Text("Ok"),
+                        0);
+                }
+            }
+            if (pf) pf->release();
+            if (n) n->release();
+        }
+        b->release();
+        return;
+    }
 }
 
 void KESSVorschauKarteScript::doPublicMausEreignis(MausEreignis& me)
 {
-	me.mx -= pos.x;
-	me.my -= pos.y;
-	if (fenster)
-		fenster->doPublicMausEreignis(me);
-	me.mx += pos.x;
-	me.my += pos.y;
+    me.mx -= pos.x;
+    me.my -= pos.y;
+    if (fenster) fenster->doPublicMausEreignis(me);
+    me.mx += pos.x;
+    me.my += pos.y;
 }
 
 void KESSVorschauKarteScript::doTastaturEreignis(TastaturEreignis& te)
 {
-	if (fenster)
-		fenster->doTastaturEreignis(te);
+    if (fenster) fenster->doTastaturEreignis(te);
 }
 
 bool KESSVorschauKarteScript::tick(double zeit)
 {
-	bool rend = fenster ? fenster->tick(zeit) : 0;
-	if (!sichtbar && alpha > 0)
-	{
-		if (alpha - zeit * 150 < 0)
-			alpha = 0;
-		else
-			alpha -= (unsigned char)(zeit * 150);
-		rend = 1;
-	}
-	if (sichtbar && alpha < 255)
-	{
-		if (alpha + zeit * 150 > 255)
-			alpha = 255;
-		else
-			alpha += (unsigned char)(zeit * 150);
-		rend = 1;
-	}
-	return rend;
+    bool rend = fenster ? fenster->tick(zeit) : 0;
+    if (!sichtbar && alpha > 0)
+    {
+        if (alpha - zeit * 150 < 0)
+            alpha = 0;
+        else
+            alpha -= (unsigned char)(zeit * 150);
+        rend = 1;
+    }
+    if (sichtbar && alpha < 255)
+    {
+        if (alpha + zeit * 150 > 255)
+            alpha = 255;
+        else
+            alpha += (unsigned char)(zeit * 150);
+        rend = 1;
+    }
+    return rend;
 }
 
 void KESSVorschauKarteScript::render(Bild& zRObj)
 {
-	if (!zRObj.setDrawOptions(pos.x, pos.y, ram->getBreite(), ram->getHeight()))
-		return;
-	zRObj.setAlpha(alpha);
-	ram->render(zRObj);
-	if (fenster)
-		fenster->render(zRObj);
-	zRObj.releaseAlpha();
-	zRObj.releaseDrawOptions();
+    if (!zRObj.setDrawOptions(pos.x, pos.y, ram->getBreite(), ram->getHeight()))
+        return;
+    zRObj.setAlpha(alpha);
+    ram->render(zRObj);
+    if (fenster) fenster->render(zRObj);
+    zRObj.releaseAlpha();
+    zRObj.releaseDrawOptions();
 }
 
-
 // Inhalt der KESSVorschauKarte Klasse aus KESSVorschau.h
 // Konstruktor
 KESSVorschauKarte::KESSVorschauKarte()
-	: ReferenceCounter()
+    : ReferenceCounter()
 {
-	auswählen = initKnopf(173, 73, 22, 22, 0, "");
-	auswählen->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Rahmen | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
-	auswählen->setHintergrundBildZ(bilder->get("data/client/bilder/shop.ltdb/weiter.png"));
-	initToolTip(auswählen, "Karte auswählen.");
-	auswählen->setRahmenBreite(1);
-	hintergrund = 0;
-	ausgewählt = new AlphaFeld();
-	ausgewählt->setPosition(1, 1);
-	ausgewählt->setSize(198, 98);
-	ausgewählt->setFarbe(0x0000FF00);
-	ausgewählt->setStrength(10);
-	ram = new LRahmen();
-	ram->setPosition(10, 10);
-	ram->setSize(200, 100);
-	ram->setFarbe(0xFFFFFFFF);
-	ausw = 0;
-	rend = 0;
+    auswählen = initKnopf(173, 73, 22, 22, 0, "");
+    auswählen->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Erlaubt
+                        | Knopf::Style::Rahmen | Knopf::Style::Hintergrund
+                        | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
+    auswählen->setHintergrundBildZ(
+        bilder->get("data/client/bilder/shop.ltdb/weiter.png"));
+    initToolTip(auswählen, "Karte auswählen.");
+    auswählen->setRahmenBreite(1);
+    hintergrund = 0;
+    ausgewählt = new AlphaFeld();
+    ausgewählt->setPosition(1, 1);
+    ausgewählt->setSize(198, 98);
+    ausgewählt->setFarbe(0x0000FF00);
+    ausgewählt->setStrength(10);
+    ram = new LRahmen();
+    ram->setPosition(10, 10);
+    ram->setSize(200, 100);
+    ram->setFarbe(0xFFFFFFFF);
+    ausw = 0;
+    rend = 0;
 }
 
 // Destruktor
 KESSVorschauKarte::~KESSVorschauKarte()
 {
-	auswählen->release();
-	if (hintergrund)
-		hintergrund->release();
-	ausgewählt->release();
-	ram->release();
+    auswählen->release();
+    if (hintergrund) hintergrund->release();
+    ausgewählt->release();
+    ram->release();
 }
 
 // nicht constant
-void KESSVorschauKarte::ladeKarte(char* pfad)
+void KESSVorschauKarte::ladeKarte(const char* pfad)
 {
-	LTDBDatei* datei = new LTDBDatei();
-	Text* bdpf = new Text(pfad);
-	bdpf->append("/titelbg.ltdb");
-	datei->setDatei(bdpf);
-	hintergrund = datei->laden(0, new Text("auswbg.jpg"));
-	datei->release();
+    LTDBDatei* datei = new LTDBDatei();
+    Text* bdpf = new Text(pfad);
+    bdpf->append("/titelbg.ltdb");
+    datei->setDatei(bdpf);
+    hintergrund = datei->laden(0, new Text("auswbg.jpg"));
+    datei->release();
 }
 
 bool KESSVorschauKarte::doPublicMausEreignis(MausEreignis& me)
 {
-	bool vera = me.verarbeitet;
-	auswählen->doPublicMausEreignis(me);
-	if (!vera && me.verarbeitet && me.id == ME_RLinks)
-	{
-		ausw = 1;
-		return 1;
-	}
-	return 0;
+    bool vera = me.verarbeitet;
+    auswählen->doPublicMausEreignis(me);
+    if (!vera && me.verarbeitet && me.id == ME_RLinks)
+    {
+        ausw = 1;
+        return 1;
+    }
+    return 0;
 }
 
 bool KESSVorschauKarte::tick(double zeit)
 {
-	rend |= ausgewählt->tick(zeit);
-	rend |= auswählen->tick(zeit);
-	int a = (ausgewählt->getFarbe() >> 24) & 0xFF;
-	if (ausw && a < 255)
-	{
-		if (a + 150 * zeit > 255)
-			a = 255;
-		else
-			a += (int)(zeit * 150);
-		ausgewählt->setFarbe(((a << 24) & 0xFF000000) | (ausgewählt->getFarbe() & 0xFFFFFF));
-		rend = 1;
-	}
-	if (!ausw && a > 0)
-	{
-		if (a - 150 * zeit < 0)
-			a = 0;
-		else
-			a += (int)(zeit * 150);
-		ausgewählt->setFarbe(((a << 24) & 0xFF000000) | (ausgewählt->getFarbe() & 0xFFFFFF));
-		rend = 1;
-	}
-	bool ret = rend;
-	rend = 0;
-	return ret;
+    rend |= ausgewählt->tick(zeit);
+    rend |= auswählen->tick(zeit);
+    int a = (ausgewählt->getFarbe() >> 24) & 0xFF;
+    if (ausw && a < 255)
+    {
+        if (a + 150 * zeit > 255)
+            a = 255;
+        else
+            a += (int)(zeit * 150);
+        ausgewählt->setFarbe(
+            ((a << 24) & 0xFF000000) | (ausgewählt->getFarbe() & 0xFFFFFF));
+        rend = 1;
+    }
+    if (!ausw && a > 0)
+    {
+        if (a - 150 * zeit < 0)
+            a = 0;
+        else
+            a += (int)(zeit * 150);
+        ausgewählt->setFarbe(
+            ((a << 24) & 0xFF000000) | (ausgewählt->getFarbe() & 0xFFFFFF));
+        rend = 1;
+    }
+    bool ret = rend;
+    rend = 0;
+    return ret;
 }
 
 void KESSVorschauKarte::render(Bild& zRObj)
 {
-	ram->render(zRObj);
-	if (!zRObj.setDrawOptions(ram->getX(), ram->getY(), 200, 100))
-		return;
-	if (hintergrund)
-		zRObj.drawBild(1, 1, 198, 98, *hintergrund);
-	ausgewählt->render(zRObj);
-	auswählen->render(zRObj);
-	zRObj.releaseDrawOptions();
+    ram->render(zRObj);
+    if (!zRObj.setDrawOptions(ram->getX(), ram->getY(), 200, 100)) return;
+    if (hintergrund) zRObj.drawBild(1, 1, 198, 98, *hintergrund);
+    ausgewählt->render(zRObj);
+    auswählen->render(zRObj);
+    zRObj.releaseDrawOptions();
 }
 
-
 // Inhalt der KESSVorschau Klasse aus KESSVorschau.h
 // Konstruktor
 KESSVorschau::KESSVorschau()
-	: Zeichnung()
+    : Zeichnung()
 {
-	tr = new TextRenderer(dynamic_cast<Schrift*>(uiFactory.initParam.schrift->getThis()));
-	log = initTextFeld(10, 400, 860, 90, TextFeld::Style::TextGebiet & ~TextFeld::Style::Erlaubt, "Log:\n");
-	script = new KESSVorschauKarteScript(log);
-	karte = new KESSVorschauKarte();
-	beenden = initKnopf(10, 500, 100, 20, Knopf::Style::Sichtbar, "Zurück");
-	besitztTestVersion = initAuswahlBox(10, 120, 200, 20, ABSTYLE, { "Besitzt Testversion nicht", "Besitzt Testversion" });
-	spieleVerbleibend = initTextFeld(110, 150, 100, 20, TextFeld::Style::TextFeld, "0");
-	spieleVerbleibend->setTastaturEreignis(_nurNummernTE);
-	vvErwerbbar = initAuswahlBox(10, 180, 200, 20, ABSTYLE, { "Vollversion erwerbbar", "Vollversion nicht erwerbbar" });
-	tvErwerbbar = initAuswahlBox(10, 210, 200, 20, ABSTYLE, { "Testversion erwerbbar", "Testversion nicht erwerbbar" });
-	vvPreis = initTextFeld(110, 240, 100, 20, TextFeld::Style::TextFeld, "0");
-	vvPreis->setTastaturEreignis(_nurNummernTE);
-	tvPreis = initTextFeld(110, 270, 100, 20, TextFeld::Style::TextFeld, "0");
-	tvPreis->setTastaturEreignis(_nurNummernTE);
-	kupfer = initTextFeld(110, 300, 100, 20, TextFeld::Style::TextFeld, "0");
-	pfad = "";
-	alpha = 0;
-	sichtbar = 0;
-	tickVal = 0;
-	aktion = 0;
-	rend = 0;
+    tr = new TextRenderer(
+        dynamic_cast<Schrift*>(uiFactory.initParam.schrift->getThis()));
+    log = initTextFeld(10,
+        400,
+        860,
+        90,
+        TextFeld::Style::TextGebiet & ~TextFeld::Style::Erlaubt,
+        "Log:\n");
+    script = new KESSVorschauKarteScript(log);
+    karte = new KESSVorschauKarte();
+    beenden = initKnopf(10, 500, 100, 20, Knopf::Style::Sichtbar, "Zurück");
+    besitztTestVersion = initAuswahlBox(10,
+        120,
+        200,
+        20,
+        ABSTYLE,
+        {"Besitzt Testversion nicht", "Besitzt Testversion"});
+    spieleVerbleibend
+        = initTextFeld(110, 150, 100, 20, TextFeld::Style::TextFeld, "0");
+    spieleVerbleibend->setTastaturEreignis(_nurNummernTE);
+    vvErwerbbar = initAuswahlBox(10,
+        180,
+        200,
+        20,
+        ABSTYLE,
+        {"Vollversion erwerbbar", "Vollversion nicht erwerbbar"});
+    tvErwerbbar = initAuswahlBox(10,
+        210,
+        200,
+        20,
+        ABSTYLE,
+        {"Testversion erwerbbar", "Testversion nicht erwerbbar"});
+    vvPreis = initTextFeld(110, 240, 100, 20, TextFeld::Style::TextFeld, "0");
+    vvPreis->setTastaturEreignis(_nurNummernTE);
+    tvPreis = initTextFeld(110, 270, 100, 20, TextFeld::Style::TextFeld, "0");
+    tvPreis->setTastaturEreignis(_nurNummernTE);
+    kupfer = initTextFeld(110, 300, 100, 20, TextFeld::Style::TextFeld, "0");
+    pfad = "";
+    alpha = 0;
+    sichtbar = 0;
+    tickVal = 0;
+    aktion = 0;
+    rend = 0;
 }
 
 // Destruktor
 KESSVorschau::~KESSVorschau()
 {
-	tr->release();
-	script->release();
-	karte->release();
-	beenden->release();
-	besitztTestVersion->release();
-	spieleVerbleibend->release();
-	vvErwerbbar->release();
-	tvErwerbbar->release();
-	vvPreis->release();
-	tvPreis->release();
-	kupfer->release();
-	log->release();
+    tr->release();
+    script->release();
+    karte->release();
+    beenden->release();
+    besitztTestVersion->release();
+    spieleVerbleibend->release();
+    vvErwerbbar->release();
+    tvErwerbbar->release();
+    vvPreis->release();
+    tvPreis->release();
+    kupfer->release();
+    log->release();
 }
 
 // nicht constant
 int KESSVorschau::getAktion()
 {
-	int ret = aktion;
-	aktion = 0;
-	return ret;
+    int ret = aktion;
+    aktion = 0;
+    return ret;
 }
 
-void KESSVorschau::ladeKarte(char* pfad)
+void KESSVorschau::ladeKarte(const char* pfad)
 {
-	karte->ladeKarte(pfad);
-	this->pfad = pfad;
+    karte->ladeKarte(pfad);
+    this->pfad = pfad;
 }
 
 void KESSVorschau::setSichtbar(bool sicht)
 {
-	sichtbar = sicht;
+    sichtbar = sicht;
 }
 
 void KESSVorschau::doPublicMausEreignis(MausEreignis& me)
 {
-	if (!sichtbar)
-		return;
-	bool paramUpdate = 0;
-	int ausw = vvErwerbbar->getAuswahl();
-	vvErwerbbar->doPublicMausEreignis(me);
-	if (ausw != vvErwerbbar->getAuswahl() && me.id == ME_RLinks)
-	{
-		vvErwerbbar->einklappen();
-		paramUpdate = 1;
-	}
-	ausw = tvErwerbbar->getAuswahl();
-	tvErwerbbar->doPublicMausEreignis(me);
-	if (ausw != tvErwerbbar->getAuswahl() && me.id == ME_RLinks)
-	{
-		tvErwerbbar->einklappen();
-		paramUpdate = 1;
-	}
-	ausw = besitztTestVersion->getAuswahl();
-	besitztTestVersion->doPublicMausEreignis(me);
-	if (ausw != besitztTestVersion->getAuswahl() && me.id == ME_RLinks)
-	{
-		besitztTestVersion->einklappen();
-		paramUpdate = 1;
-	}
-	script->doPublicMausEreignis(me);
-	if (karte->doPublicMausEreignis(me))
-		script->ladeKarteSeite(pfad);
-	bool vera = me.verarbeitet;
-	beenden->doPublicMausEreignis(me);
-	if (!vera && me.verarbeitet && me.id == ME_RLinks)
-		aktion = 1;
-	vvPreis->doPublicMausEreignis(me);
-	tvPreis->doPublicMausEreignis(me);
-	kupfer->doPublicMausEreignis(me);
-	spieleVerbleibend->doPublicMausEreignis(me);
-	log->doPublicMausEreignis(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());
-	}
+    if (!sichtbar) return;
+    bool paramUpdate = 0;
+    int ausw = vvErwerbbar->getAuswahl();
+    vvErwerbbar->doPublicMausEreignis(me);
+    if (ausw != vvErwerbbar->getAuswahl() && me.id == ME_RLinks)
+    {
+        vvErwerbbar->einklappen();
+        paramUpdate = 1;
+    }
+    ausw = tvErwerbbar->getAuswahl();
+    tvErwerbbar->doPublicMausEreignis(me);
+    if (ausw != tvErwerbbar->getAuswahl() && me.id == ME_RLinks)
+    {
+        tvErwerbbar->einklappen();
+        paramUpdate = 1;
+    }
+    ausw = besitztTestVersion->getAuswahl();
+    besitztTestVersion->doPublicMausEreignis(me);
+    if (ausw != besitztTestVersion->getAuswahl() && me.id == ME_RLinks)
+    {
+        besitztTestVersion->einklappen();
+        paramUpdate = 1;
+    }
+    script->doPublicMausEreignis(me);
+    if (karte->doPublicMausEreignis(me)) script->ladeKarteSeite(pfad);
+    bool vera = me.verarbeitet;
+    beenden->doPublicMausEreignis(me);
+    if (!vera && me.verarbeitet && me.id == ME_RLinks) aktion = 1;
+    vvPreis->doPublicMausEreignis(me);
+    tvPreis->doPublicMausEreignis(me);
+    kupfer->doPublicMausEreignis(me);
+    spieleVerbleibend->doPublicMausEreignis(me);
+    log->doPublicMausEreignis(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());
+    }
 }
 
 void KESSVorschau::doTastaturEreignis(TastaturEreignis& te)
 {
-	if (!sichtbar)
-		return;
-	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->doTastaturEreignis(te);
-	spieleVerbleibend->doTastaturEreignis(te);
-	vvPreis->doTastaturEreignis(te);
-	tvPreis->doTastaturEreignis(te);
-	kupfer->doTastaturEreignis(te);
+    if (!sichtbar) return;
+    if (!te.verarbeitet && te.id == TE_Release && te.virtualKey == 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->doTastaturEreignis(te);
+    spieleVerbleibend->doTastaturEreignis(te);
+    vvPreis->doTastaturEreignis(te);
+    tvPreis->doTastaturEreignis(te);
+    kupfer->doTastaturEreignis(te);
 }
 
 bool KESSVorschau::tick(double zeit)
 {
-	bool ret = script->tick(zeit);
-	ret |= karte->tick(zeit);
-	ret |= beenden->tick(zeit);
-	ret |= spieleVerbleibend->tick(zeit);
-	ret |= vvPreis->tick(zeit);
-	ret |= tvPreis->tick(zeit);
-	ret |= kupfer->tick(zeit);
-	ret |= log->tick(zeit);
-	ret |= tvErwerbbar->tick(zeit);
-	ret |= vvErwerbbar->tick(zeit);
-	ret |= besitztTestVersion->tick(zeit);
-	tickVal += zeit * 150;
-	int val = 0;
-	if (tickVal > 1)
-		val = (int)tickVal;
-	else
-		return ret;
-	if (sichtbar && alpha != 255)
-	{
-		if (alpha + val > 255)
-			alpha = 255;
-		else
-			alpha += val;
-		ret = 1;
-	}
-	if (!sichtbar && alpha != 0)
-	{
-		if (alpha - val < 0)
-			alpha = 0;
-		else
-			alpha -= val;
-		ret = 1;
-	}
-	return ret;
+    bool ret = script->tick(zeit);
+    ret |= karte->tick(zeit);
+    ret |= beenden->tick(zeit);
+    ret |= spieleVerbleibend->tick(zeit);
+    ret |= vvPreis->tick(zeit);
+    ret |= tvPreis->tick(zeit);
+    ret |= kupfer->tick(zeit);
+    ret |= log->tick(zeit);
+    ret |= tvErwerbbar->tick(zeit);
+    ret |= vvErwerbbar->tick(zeit);
+    ret |= besitztTestVersion->tick(zeit);
+    tickVal += zeit * 150;
+    int val = 0;
+    if (tickVal > 1)
+        val = (int)tickVal;
+    else
+        return ret;
+    if (sichtbar && alpha != 255)
+    {
+        if (alpha + val > 255)
+            alpha = 255;
+        else
+            alpha += val;
+        ret = 1;
+    }
+    if (!sichtbar && alpha != 0)
+    {
+        if (alpha - val < 0)
+            alpha = 0;
+        else
+            alpha -= val;
+        ret = 1;
+    }
+    return ret;
 }
 
 void KESSVorschau::render(Bild& zRObj)
 {
-	zRObj.setAlpha(alpha);
-	script->render(zRObj);
-	karte->render(zRObj);
-	beenden->render(zRObj);
-	spieleVerbleibend->render(zRObj);
-	log->render(zRObj);
-	vvPreis->render(zRObj);
-	tvPreis->render(zRObj);
-	kupfer->render(zRObj);
-	tr->setSchriftSize(12);
-	Text txt = "Test Spiele:";
-	tr->renderText(10, 154, txt, zRObj, 0xFFFFFFFF);
-	txt = "Voll Preis:";
-	tr->renderText(10, 244, txt, zRObj, 0xFFFFFFFF);
-	txt = "Test Preis:";
-	tr->renderText(10, 274, txt, zRObj, 0xFFFFFFFF);
-	txt = "Kupfer Besitz:";
-	tr->renderText(10, 304, txt, zRObj, 0xFFFFFFFF);
-	txt = "Diese Werte sind nur zum\nTesten und haben keinerlei\nEinfluss auf den Shop.";
-	tr->renderText(10, 334, txt, zRObj, 0xFFFFFFFF);
-	tvErwerbbar->render(zRObj);
-	vvErwerbbar->render(zRObj);
-	besitztTestVersion->render(zRObj);
-	zRObj.releaseAlpha();
+    zRObj.setAlpha(alpha);
+    script->render(zRObj);
+    karte->render(zRObj);
+    beenden->render(zRObj);
+    spieleVerbleibend->render(zRObj);
+    log->render(zRObj);
+    vvPreis->render(zRObj);
+    tvPreis->render(zRObj);
+    kupfer->render(zRObj);
+    tr->setSchriftSize(12);
+    Text txt = "Test Spiele:";
+    tr->renderText(10, 154, txt, zRObj, 0xFFFFFFFF);
+    txt = "Voll Preis:";
+    tr->renderText(10, 244, txt, zRObj, 0xFFFFFFFF);
+    txt = "Test Preis:";
+    tr->renderText(10, 274, txt, zRObj, 0xFFFFFFFF);
+    txt = "Kupfer Besitz:";
+    tr->renderText(10, 304, txt, zRObj, 0xFFFFFFFF);
+    txt = "Diese Werte sind nur zum\nTesten und haben keinerlei\nEinfluss auf "
+          "den Shop.";
+    tr->renderText(10, 334, txt, zRObj, 0xFFFFFFFF);
+    tvErwerbbar->render(zRObj);
+    vvErwerbbar->render(zRObj);
+    besitztTestVersion->render(zRObj);
+    zRObj.releaseAlpha();
 }
 
 // constant
 bool KESSVorschau::istSichtbar() const
 {
-	return sichtbar;
+    return sichtbar;
 }

+ 79 - 78
KSGClient/NachLogin/Editor/Karte/ShopSeite/KESSVorschau.h

@@ -1,10 +1,10 @@
 #ifndef KESSVorschau_H
 #define KESSVorschau_H
 
-#include <KSGScript.h>
 #include <AuswahlBox.h>
-#include <Thread.h>
+#include <KSGScript.h>
 #include <Rahmen.h>
+#include <Thread.h>
 
 using namespace Framework;
 using namespace KSGScript;
@@ -12,98 +12,99 @@ using namespace KSGScript;
 class KESSVorschauKarteScript : public Thread
 {
 private:
-	KSGScriptObj* fenster;
-	Punkt pos;
-	LRahmen* ram;
-	HINSTANCE ksgs;
-	Text pfad;
-	bool sichtbar;
-	bool besitztTestVersion;
-	int verbleibend;
-	bool vollversionErwerbbar;
-	bool testversionErwerbbar;
-	int vvPreis;
-	int tvPreis;
-	int kupfer;
-	unsigned char alpha;
-	bool aktion;
-	int ak;
+    KSGScriptObj* fenster;
+    Punkt pos;
+    LRahmen* ram;
+    HINSTANCE ksgs;
+    Text pfad;
+    bool sichtbar;
+    bool besitztTestVersion;
+    int verbleibend;
+    bool vollversionErwerbbar;
+    bool testversionErwerbbar;
+    int vvPreis;
+    int tvPreis;
+    int kupfer;
+    unsigned char alpha;
+    bool aktion;
+    int ak;
 
 public:
-	// Konstruktor
-	KESSVorschauKarteScript(TextFeld* zLog);
-	// Destruktor
-	~KESSVorschauKarteScript();
-	// nicht constant
-	void thread() override;
-	void setScriptParams(bool hatTV, int tvVerb, bool vvEn, bool tvEn, int vvK, int tvK, int k);
-	void ladeKarteSeite(const char* pfad);
-	void ksgsAktion(RCArray< KSGSVariable >* parameter, KSGSVariable** retVal);
-	void doPublicMausEreignis(MausEreignis& me);
-	void doTastaturEreignis(TastaturEreignis& te);
-	bool tick(double zeit);
-	void render(Bild& zRObj);
+    // Konstruktor
+    KESSVorschauKarteScript(TextFeld* zLog);
+    // Destruktor
+    ~KESSVorschauKarteScript();
+    // nicht constant
+    void thread() override;
+    void setScriptParams(
+        bool hatTV, int tvVerb, bool vvEn, bool tvEn, int vvK, int tvK, int k);
+    void ladeKarteSeite(const char* pfad);
+    void ksgsAktion(RCArray<KSGSVariable>* parameter, KSGSVariable** retVal);
+    void doPublicMausEreignis(MausEreignis& me);
+    void doTastaturEreignis(TastaturEreignis& te);
+    bool tick(double zeit);
+    void render(Bild& zRObj);
 };
 
 class KESSVorschauKarte : public virtual ReferenceCounter
 {
 private:
-	Knopf* auswählen;
-	Bild* hintergrund;
-	AlphaFeld* ausgewählt;
-	LRahmen* ram;
-	bool ausw;
-	bool rend;
+    Knopf* auswählen;
+    Bild* hintergrund;
+    AlphaFeld* ausgewählt;
+    LRahmen* ram;
+    bool ausw;
+    bool rend;
 
 public:
-	// Konstruktor
-	KESSVorschauKarte();
-	// Destruktor
-	~KESSVorschauKarte();
-	// nicht constant
-	void ladeKarte(char* pfad);
-	bool doPublicMausEreignis(MausEreignis& me);
-	bool tick(double zeit);
-	void render(Bild& zRObj);
+    // Konstruktor
+    KESSVorschauKarte();
+    // Destruktor
+    ~KESSVorschauKarte();
+    // nicht constant
+    void ladeKarte(const char* pfad);
+    bool doPublicMausEreignis(MausEreignis& me);
+    bool tick(double zeit);
+    void render(Bild& zRObj);
 };
 
 class KESSVorschau : public Zeichnung
 {
 private:
-	TextRenderer* tr;
-	KESSVorschauKarteScript* script;
-	KESSVorschauKarte* karte;
-	Knopf* beenden;
-	AuswahlBox* besitztTestVersion;
-	TextFeld* spieleVerbleibend;
-	AuswahlBox* vvErwerbbar;
-	AuswahlBox* tvErwerbbar;
-	TextFeld* vvPreis;
-	TextFeld* tvPreis;
-	TextFeld* kupfer;
-	Text pfad;
-	TextFeld* log;
-	unsigned char alpha;
-	bool sichtbar;
-	double tickVal;
-	int aktion;
-	bool rend;
+    TextRenderer* tr;
+    KESSVorschauKarteScript* script;
+    KESSVorschauKarte* karte;
+    Knopf* beenden;
+    AuswahlBox* besitztTestVersion;
+    TextFeld* spieleVerbleibend;
+    AuswahlBox* vvErwerbbar;
+    AuswahlBox* tvErwerbbar;
+    TextFeld* vvPreis;
+    TextFeld* tvPreis;
+    TextFeld* kupfer;
+    Text pfad;
+    TextFeld* log;
+    unsigned char alpha;
+    bool sichtbar;
+    double tickVal;
+    int aktion;
+    bool rend;
 
 public:
-	// Konstruktor
-	KESSVorschau();
-	// Destruktor
-	~KESSVorschau();
-	// nicht constant
-	int getAktion();
-	void ladeKarte(char* pfad);
-	void setSichtbar(bool sicht);
-	void doPublicMausEreignis(MausEreignis& me);
-	void doTastaturEreignis(TastaturEreignis& te);
-	bool tick(double zeit);
-	void render(Bild& zRObj);
-	// constant
-	bool istSichtbar() const;
+    // Konstruktor
+    KESSVorschau();
+    // Destruktor
+    ~KESSVorschau();
+    // nicht constant
+    int getAktion();
+    void ladeKarte(const char* pfad);
+    void setSichtbar(bool sicht);
+    void doPublicMausEreignis(MausEreignis& me);
+    void doTastaturEreignis(TastaturEreignis& te);
+    bool tick(double zeit);
+    void render(Bild& zRObj);
+    // constant
+    bool istSichtbar() const;
 };
 
 #endif

+ 217 - 152
KSGClient/NachLogin/Einstellungen/Einstellungen.cpp

@@ -1,191 +1,256 @@
 #include "Einstellungen.h"
-#include <MausEreignis.h>
+
 #include <GraphicsApi.h>
 #include <InitDatei.h>
-#include "../../Global/Variablen.h"
+#include <MausEreignis.h>
+
 #include "../../Global/Initialisierung.h"
+#include "../../Global/Variablen.h"
 
 // Inhalt der Einstellungen Klasse aus Einstellungen.h
 // Konstruktor
 Einstellungen::Einstellungen(Fenster* zF)
-	: ReferenceCounter()
+    : ReferenceCounter()
 {
-	f = initFenster(zF->getBreite() / 2 - 250, zF->getHeight() / 2 - 250, 500, 500,
-		Fenster::Style::normal | Fenster::Style::BodyHAlpha | Fenster::Style::BodyHintergrund |
-		Fenster::Style::TitelHintergrund | Fenster::Style::TitelHAlpha, "Einstellungen");
-	f->removeStyle(Fenster::Style::Sichtbar);
-	f->setKBgFarbe(0xe0000000);
-	f->setTBgFarbe(0xe0000000);
-	f->setSBgFarbe(0xF0000000);
-	f->setClosingMeParam(this);
-	f->setClosingMe(einstellungenSchließenME);
-	TextFeld* gat = initTextFeld(5, 5, 300, 20, TextFeld::Style::Text, "Grafik Engine (Neustart erforderlich)");
-	f->addMember(gat);
-	AuswahlBox* graphicAPI = initAuswahlBox(5, 25, 100, 20, AuswahlBox::Style::Normal | AuswahlBox::Style::Hintergrund, { "Aktuellste", "DirectX 9" });
-	if (DirectX11::isAvailable())
-		graphicAPI->addEintrag("DirectX 11");
-	if (DirectX12::isAvailable())
-		graphicAPI->addEintrag("DirectX 12");
-	graphicAPI->setAuswahl(0);
-	if (userOptions->wertExistiert("GraphicAPI") && userOptions->zWert("GraphicAPI")->istGleich("DX9"))
-		graphicAPI->setAuswahl(1);
-	if (userOptions->wertExistiert("GraphicAPI") && userOptions->zWert("GraphicAPI")->istGleich("DX11"))
-		graphicAPI->setAuswahl(2);
-	if (userOptions->wertExistiert("GraphicAPI") && userOptions->zWert("GraphicAPI")->istGleich("DX12"))
-		graphicAPI->setAuswahl(3);
-	graphicAPI->setEventAktion([this](void* p, AuswahlBox* b, int unused, int auswahl)
-		{
-			userOptions->addWert("GraphicAPI", "BEST");
-			switch (auswahl)
-			{
-			case 1:
-				userOptions->setWert("GraphicAPI", "DX9");
-				break;
-			case 2:
-				userOptions->setWert("GraphicAPI", "DX11");
-				break;
-			case 3:
-				userOptions->setWert("GraphicAPI", "DX12");
-				break;
-			default:
-				userOptions->setWert("GraphicAPI", "BEST");
-				break;
-			}
-		});
-	TextFeld* mft = initTextFeld(5, 50, 200, 20, TextFeld::Style::Text, "Maximale FPS");
-	f->addMember(mft);
-	maxFPS = initTextFeld(5, 70, 50, 20, TextFeld::Style::TextFeld, userOptions->wertExistiert("MaxFPS") ? userOptions->zWert("MaxFPS")->getText() : "30");
-	maxFPS->setTastaturEreignis(_nurNummernTE);
-	f->addMember(dynamic_cast<Zeichnung*>(maxFPS->getThis()));
-	TextFeld* gst = initTextFeld(5, 95, 200, 20, TextFeld::Style::Text, "GUI Lautstärke (0 bis 100)");
-	f->addMember(gst);
-	guiSound = initTextFeld(5, 115, 50, 20, TextFeld::Style::TextFeld, userOptions->wertExistiert("GUISound") ? userOptions->zWert("GUISound")->getText() : "100");
-	guiSound->setTastaturEreignis(_nurNummernTE);
-	f->addMember(dynamic_cast<Zeichnung*>(guiSound->getThis()));
-	TextFeld* mt = initTextFeld(255, 5, 200, 20, TextFeld::Style::Text, "Monitor (Neustart erforderlich)");
-	f->addMember(mt);
-	AuswahlBox* monitorAuswahl = initAuswahlBox(255, 25, 200, 20, AuswahlBox::Style::Normal | AuswahlBox::Style::Hintergrund, {});
-	Monitor m = getMonitor(0);
-	int index = 0;
-	do
-	{
-		monitorAuswahl->addEintrag(Text("Monitor ") + ++index + " (" + m.breite + "x" + m.height + ")");
-		m = getMonitor(index);
-	} while (m.existiert);
-	if (userOptions->wertExistiert("Monitor"))
-		monitorAuswahl->setAuswahl((int)*userOptions->zWert("Monitor"));
-	monitorAuswahl->setEventAktion([this](void* p, AuswahlBox* b, int unused, int auswahl)
-		{
-			if (!userOptions->wertExistiert("Monitor"))
-				userOptions->addWert("Monitor", Text(auswahl));
-			else
-				userOptions->setWert("Monitor", Text(auswahl));
-			Monitor m = getMonitor(auswahl);
-			if (!userOptions->wertExistiert("ScreenWidth"))
-				userOptions->addWert("ScreenWidth", Text(m.breite));
-			else
-				userOptions->setWert("ScreenWidth", Text(m.breite));
-			if (!userOptions->wertExistiert("ScreenWidth"))
-				userOptions->addWert("ScreenHeight", Text(m.height));
-			else
-				userOptions->setWert("ScreenHeight", Text(m.height));
-			breite->setText(Text(m.breite));
-			height->setText(Text(m.height));
-		});
-	TextFeld* at = initTextFeld(255, 50, 200, 20, TextFeld::Style::Text, "Auflösung (Neustart erforderlich)");
-	f->addMember(at);
-	breite = initTextFeld(255, 70, 50, 20, TextFeld::Style::TextFeld, userOptions->wertExistiert("ScreenWidth") ? userOptions->zWert("ScreenWidth")->getText() :
-		Text(getMonitor(userOptions->wertExistiert("Monitor") ? (int)*userOptions->zWert("Monitor") : 0).breite));
-	height = initTextFeld(312, 70, 50, 20, TextFeld::Style::TextFeld, userOptions->wertExistiert("ScreenHeight") ? userOptions->zWert("ScreenHeight")->getText() :
-		Text(getMonitor(userOptions->wertExistiert("Monitor") ? (int)*userOptions->zWert("Monitor") : 0).height));
-	breite->setTastaturEreignis(_nurNummernTE);
-	height->setTastaturEreignis(_nurNummernTE);
-	f->addMember(dynamic_cast<Zeichnung*>(breite->getThis()));
-	f->addMember(initTextFeld(305, 70, 5, 20, TextFeld::Style::Text, "x"));
-	f->addMember(dynamic_cast<Zeichnung*>(height->getThis()));
-	ok = initKnopf(390, 450, 100, 20, Knopf::Style::Sichtbar, "Ok");
-	ok->setMausEreignisParameter(this);
-	ok->setMausEreignis(einstellungenOkME);
-	f->addMember(dynamic_cast<Zeichnung*>(ok->getThis()));
+    f = initFenster(zF->getBreite() / 2 - 250,
+        zF->getHeight() / 2 - 250,
+        500,
+        500,
+        Fenster::Style::normal | Fenster::Style::BodyHAlpha
+            | Fenster::Style::BodyHintergrund | Fenster::Style::TitelHintergrund
+            | Fenster::Style::TitelHAlpha,
+        "Einstellungen");
+    f->removeStyle(Fenster::Style::Sichtbar);
+    f->setKBgFarbe(0xe0000000);
+    f->setTBgFarbe(0xe0000000);
+    f->setSBgFarbe(0xF0000000);
+    f->setClosingMeParam(this);
+    f->setClosingMe(einstellungenSchließenME);
+    TextFeld* gat = initTextFeld(5,
+        5,
+        300,
+        20,
+        TextFeld::Style::Text,
+        "Grafik Engine (Neustart erforderlich)");
+    f->addMember(gat);
+    AuswahlBox* graphicAPI = initAuswahlBox(5,
+        25,
+        100,
+        20,
+        AuswahlBox::Style::Normal | AuswahlBox::Style::Hintergrund,
+        {"Aktuellste", "DirectX 9"});
+    if (DirectX11::isAvailable()) graphicAPI->addEintrag("DirectX 11");
+    if (DirectX12::isAvailable()) graphicAPI->addEintrag("DirectX 12");
+    graphicAPI->setAuswahl(0);
+    if (userOptions->wertExistiert("GraphicAPI")
+        && userOptions->zWert("GraphicAPI")->istGleich("DX9"))
+        graphicAPI->setAuswahl(1);
+    if (userOptions->wertExistiert("GraphicAPI")
+        && userOptions->zWert("GraphicAPI")->istGleich("DX11"))
+        graphicAPI->setAuswahl(2);
+    if (userOptions->wertExistiert("GraphicAPI")
+        && userOptions->zWert("GraphicAPI")->istGleich("DX12"))
+        graphicAPI->setAuswahl(3);
+    graphicAPI->setEventAktion(
+        [this](void* p, AuswahlBox* b, int unused, int auswahl) {
+            userOptions->addWert("GraphicAPI", "BEST");
+            switch (auswahl)
+            {
+            case 1:
+                userOptions->setWert("GraphicAPI", "DX9");
+                break;
+            case 2:
+                userOptions->setWert("GraphicAPI", "DX11");
+                break;
+            case 3:
+                userOptions->setWert("GraphicAPI", "DX12");
+                break;
+            default:
+                userOptions->setWert("GraphicAPI", "BEST");
+                break;
+            }
+        });
+    TextFeld* mft
+        = initTextFeld(5, 50, 200, 20, TextFeld::Style::Text, "Maximale FPS");
+    f->addMember(mft);
+    maxFPS = initTextFeld(5,
+        70,
+        50,
+        20,
+        TextFeld::Style::TextFeld,
+        userOptions->wertExistiert("MaxFPS")
+            ? userOptions->zWert("MaxFPS")->getText()
+            : "30");
+    maxFPS->setTastaturEreignis(_nurNummernTE);
+    f->addMember(dynamic_cast<Zeichnung*>(maxFPS->getThis()));
+    TextFeld* gst = initTextFeld(
+        5, 95, 200, 20, TextFeld::Style::Text, "GUI Lautstärke (0 bis 100)");
+    f->addMember(gst);
+    guiSound = initTextFeld(5,
+        115,
+        50,
+        20,
+        TextFeld::Style::TextFeld,
+        userOptions->wertExistiert("GUISound")
+            ? userOptions->zWert("GUISound")->getText()
+            : "100");
+    guiSound->setTastaturEreignis(_nurNummernTE);
+    f->addMember(dynamic_cast<Zeichnung*>(guiSound->getThis()));
+    TextFeld* mt = initTextFeld(255,
+        5,
+        200,
+        20,
+        TextFeld::Style::Text,
+        "Monitor (Neustart erforderlich)");
+    f->addMember(mt);
+    AuswahlBox* monitorAuswahl = initAuswahlBox(255,
+        25,
+        200,
+        20,
+        AuswahlBox::Style::Normal | AuswahlBox::Style::Hintergrund,
+        {});
+    Monitor m = getMonitor(0);
+    int index = 0;
+    do
+    {
+        monitorAuswahl->addEintrag(Text("Monitor ") + ++index + " (" + m.breite
+                                   + "x" + m.height + ")");
+        m = getMonitor(index);
+    } while (m.existiert);
+    if (userOptions->wertExistiert("Monitor"))
+        monitorAuswahl->setAuswahl((int)*userOptions->zWert("Monitor"));
+    monitorAuswahl->setEventAktion(
+        [this](void* p, AuswahlBox* b, int unused, int auswahl) {
+            if (!userOptions->wertExistiert("Monitor"))
+                userOptions->addWert("Monitor", Text(auswahl));
+            else
+                userOptions->setWert("Monitor", Text(auswahl));
+            Monitor m = getMonitor(auswahl);
+            if (!userOptions->wertExistiert("ScreenWidth"))
+                userOptions->addWert("ScreenWidth", Text(m.breite));
+            else
+                userOptions->setWert("ScreenWidth", Text(m.breite));
+            if (!userOptions->wertExistiert("ScreenWidth"))
+                userOptions->addWert("ScreenHeight", Text(m.height));
+            else
+                userOptions->setWert("ScreenHeight", Text(m.height));
+            breite->setText(Text(m.breite));
+            height->setText(Text(m.height));
+        });
+    TextFeld* at = initTextFeld(255,
+        50,
+        200,
+        20,
+        TextFeld::Style::Text,
+        "Auflösung (Neustart erforderlich)");
+    f->addMember(at);
+    breite = initTextFeld(255,
+        70,
+        50,
+        20,
+        TextFeld::Style::TextFeld,
+        userOptions->wertExistiert("ScreenWidth")
+            ? *userOptions->zWert("ScreenWidth")
+            : Text(getMonitor(userOptions->wertExistiert("Monitor")
+                                  ? (int)*userOptions->zWert("Monitor")
+                                  : 0)
+                       .breite));
+    height = initTextFeld(312,
+        70,
+        50,
+        20,
+        TextFeld::Style::TextFeld,
+        userOptions->wertExistiert("ScreenHeight")
+            ? *userOptions->zWert("ScreenHeight")
+            : Text(getMonitor(userOptions->wertExistiert("Monitor")
+                                  ? (int)*userOptions->zWert("Monitor")
+                                  : 0)
+                       .height));
+    breite->setTastaturEreignis(_nurNummernTE);
+    height->setTastaturEreignis(_nurNummernTE);
+    f->addMember(dynamic_cast<Zeichnung*>(breite->getThis()));
+    f->addMember(initTextFeld(305, 70, 5, 20, TextFeld::Style::Text, "x"));
+    f->addMember(dynamic_cast<Zeichnung*>(height->getThis()));
+    ok = initKnopf(390, 450, 100, 20, Knopf::Style::Sichtbar, "Ok");
+    ok->setMausEreignisParameter(this);
+    ok->setMausEreignis(einstellungenOkME);
+    f->addMember(dynamic_cast<Zeichnung*>(ok->getThis()));
 
-	// add AuswahlBoxen
-	f->addMember(graphicAPI);
-	f->addMember(monitorAuswahl);
+    // add AuswahlBoxen
+    f->addMember(graphicAPI);
+    f->addMember(monitorAuswahl);
 
-	zF->addMember(dynamic_cast<Zeichnung*>(f->getThis()));
+    zF->addMember(dynamic_cast<Zeichnung*>(f->getThis()));
 }
 
 // Destruktor
 Einstellungen::~Einstellungen()
 {
-	maxFPS->release();
-	guiSound->release();
-	breite->release();
-	height->release();
-	f->release();
-	ok->release();
+    maxFPS->release();
+    guiSound->release();
+    breite->release();
+    height->release();
+    f->release();
+    ok->release();
 }
 
 // nicht constant
 void Einstellungen::setSichtbar()
 {
-	f->setStyle(Fenster::Style::Sichtbar, f->hatStyleNicht(Fenster::Style::Sichtbar));
+    f->setStyle(
+        Fenster::Style::Sichtbar, f->hatStyleNicht(Fenster::Style::Sichtbar));
 }
 
 bool Einstellungen::closeME(MausEreignis& me)
 {
-	if (me.id == ME_RLinks)
-		f->removeStyle(Fenster::Style::Sichtbar);
-	return 1;
+    if (me.id == ME_RLinks) f->removeStyle(Fenster::Style::Sichtbar);
+    return 1;
 }
 
 bool Einstellungen::okME(MausEreignis& me)
 {
-	if (me.id == ME_RLinks)
-	{
-		int fps = (int)*maxFPS->zText();
-		int sound = (int)*guiSound->zText();
-		int wi = (int)*breite->zText();
-		int hi = (int)*height->zText();
-		if (fps > 0 && sound >= 0 && sound <= 100 && wi > 0 && hi > 0)
-		{
-			f->removeStyle(Fenster::Style::Sichtbar);
-			uiFactory.initParam.bildschirm->lock();
-			if (!userOptions->wertExistiert("MaxFPS"))
-				userOptions->addWert("MaxFPS", maxFPS->zText()->getText());
-			else
-				userOptions->setWert("MaxFPS", maxFPS->zText()->getText());
-			if (!userOptions->wertExistiert("GUISound"))
-				userOptions->addWert("GUISound", guiSound->zText()->getText());
-			else
-				userOptions->setWert("GUISound", guiSound->zText()->getText());
-			if (!userOptions->wertExistiert("ScreenWidth"))
-				userOptions->addWert("ScreenWidth", Text(wi));
-			else
-				userOptions->setWert("ScreenWidth", Text(wi));
-			if (!userOptions->wertExistiert("ScreenHeight"))
-				userOptions->addWert("ScreenHeight", Text(hi));
-			else
-				userOptions->setWert("ScreenHeight", Text(hi));
-			uiFactory.initParam.bildschirm->unlock();
-			userOptions->speichern();
-		}
-	}
-	return 1;
+    if (me.id == ME_RLinks)
+    {
+        int fps = (int)*maxFPS->zText();
+        int sound = (int)*guiSound->zText();
+        int wi = (int)*breite->zText();
+        int hi = (int)*height->zText();
+        if (fps > 0 && sound >= 0 && sound <= 100 && wi > 0 && hi > 0)
+        {
+            f->removeStyle(Fenster::Style::Sichtbar);
+            uiFactory.initParam.bildschirm->lock();
+            if (!userOptions->wertExistiert("MaxFPS"))
+                userOptions->addWert("MaxFPS", maxFPS->zText()->getText());
+            else
+                userOptions->setWert("MaxFPS", maxFPS->zText()->getText());
+            if (!userOptions->wertExistiert("GUISound"))
+                userOptions->addWert("GUISound", guiSound->zText()->getText());
+            else
+                userOptions->setWert("GUISound", guiSound->zText()->getText());
+            if (!userOptions->wertExistiert("ScreenWidth"))
+                userOptions->addWert("ScreenWidth", Text(wi));
+            else
+                userOptions->setWert("ScreenWidth", Text(wi));
+            if (!userOptions->wertExistiert("ScreenHeight"))
+                userOptions->addWert("ScreenHeight", Text(hi));
+            else
+                userOptions->setWert("ScreenHeight", Text(hi));
+            uiFactory.initParam.bildschirm->unlock();
+            userOptions->speichern();
+        }
+    }
+    return 1;
 }
 
-
 // Ereignisse
 bool einstellungenSchließenME(void* p, void* obj, MausEreignis me)
 {
-	if (!p)
-		return 1;
-	return ((Einstellungen*)p)->closeME(me);
+    if (!p) return 1;
+    return ((Einstellungen*)p)->closeME(me);
 }
 
 bool einstellungenOkME(void* p, void* obj, MausEreignis me)
 {
-	if (!p)
-		return 1;
-	return ((Einstellungen*)p)->okME(me);
+    if (!p) return 1;
+    return ((Einstellungen*)p)->okME(me);
 }

+ 488 - 480
KSGClient/NachLogin/MiniGames/Minigames.cpp

@@ -1,12 +1,14 @@
 #include "MiniGames.h"
-#include <Punkt.h>
-#include <Rahmen.h>
-#include "../../Global/Variablen.h"
+
 #include <Datei.h>
-#include "../../Global/Initialisierung.h"
+#include <Globals.h>
 #include <InitDatei.h>
 #include <KSGTDatei.h>
-#include <Globals.h>
+#include <Punkt.h>
+#include <Rahmen.h>
+
+#include "../../Global/Initialisierung.h"
+#include "../../Global/Variablen.h"
 
 typedef MiniGameV* (*GetMiniGame)();
 
@@ -14,583 +16,589 @@ typedef MiniGameV* (*GetMiniGame)();
 // Konstruktor
 MGSuchen::MGSuchen(MiniGames* mGames)
 {
-	this->mGames = mGames;
-	start();
+    this->mGames = mGames;
+    start();
 }
 
 // Destruktor
 MGSuchen::~MGSuchen()
 {
-	mGames->release();
+    mGames->release();
 }
 
 // nicht constant
 void MGSuchen::thread()
 {
-	KSGTDatei* dgt = new KSGTDatei("data/dg.ksgt");
-	dgt->laden();
-	bool ak = 0;
-	int dgId = infoClient->getDateiGruppeIdVonPfad("data/Minigames");
-	for (int i = 0; i < dgt->getZeilenAnzahl(); i++)
-	{
-		if (dgt->zFeld(i, 0) && TextZuInt(dgt->zFeld(i, 0)->getText(), 10) == dgId)
-		{
-			int lv = dgt->zFeld(i, 2) ? TextZuInt(dgt->zFeld(i, 2)->getText(), 10) : 0;
-			int ov = infoClient->getDateiGruppeVersion(dgId);
-			if (lv == ov)
-				ak = 1;
-			break;
-		}
-	}
-	dgt->release();
-	if (!ak)
-	{
-		mGames->setAktuell(0, dgId);
-		delete this;
-		return;
-	}
-	Datei* d = new Datei();
-	d->setDatei("data/Minigames");
-	if (!d->existiert())
-		DateiPfadErstellen("data/MiniGames/");
-	RCArray< Text >* list = d->getDateiListe();
-	if (list)
-	{
-		for (int i = 0; i < list->getEintragAnzahl(); i++)
-		{
-			MiniGame* mg = new MiniGame(list->z(i)->getText());
-			if (!mg->istOk())
-			{
-				mg->release();
-				continue;
-			}
-			mGames->addMiniGame(mg);
-		}
-		list->release();
-	}
-	d->release();
-	delete this;
+    KSGTDatei* dgt = new KSGTDatei("data/dg.ksgt");
+    dgt->laden();
+    bool ak = 0;
+    int dgId = infoClient->getDateiGruppeIdVonPfad("data/Minigames");
+    for (int i = 0; i < dgt->getZeilenAnzahl(); i++)
+    {
+        if (dgt->zFeld(i, 0)
+            && TextZuInt(dgt->zFeld(i, 0)->getText(), 10) == dgId)
+        {
+            int lv = dgt->zFeld(i, 2)
+                       ? TextZuInt(dgt->zFeld(i, 2)->getText(), 10)
+                       : 0;
+            int ov = infoClient->getDateiGruppeVersion(dgId);
+            if (lv == ov) ak = 1;
+            break;
+        }
+    }
+    dgt->release();
+    if (!ak)
+    {
+        mGames->setAktuell(0, dgId);
+        delete this;
+        return;
+    }
+    Datei* d = new Datei();
+    d->setDatei("data/Minigames");
+    if (!d->existiert()) DateiPfadErstellen("data/MiniGames/");
+    RCArray<Text>* list = d->getDateiListe();
+    if (list)
+    {
+        for (int i = 0; i < list->getEintragAnzahl(); i++)
+        {
+            MiniGame* mg = new MiniGame(list->z(i)->getText());
+            if (!mg->istOk())
+            {
+                mg->release();
+                continue;
+            }
+            mGames->addMiniGame(mg);
+        }
+        list->release();
+    }
+    d->release();
+    delete this;
 }
 
-
 // Inhalt der MGLaden Klasse aus MiniGameV.h
 // Konstruktor
 MGLaden::MGLaden(const char* name)
 {
-	this->name = new Text(name);
-	game = 0;
-	start();
+    this->name = new Text(name);
+    game = 0;
+    start();
 }
 
 // Destruktor
 MGLaden::~MGLaden()
 {
-	if (game)
-	{
-		game->release();
-		Framework::getDLLRegister()->releaseDLL(name->getText());
-	}
-	name->release();
+    if (game)
+    {
+        game->release();
+        Framework::getDLLRegister()->releaseDLL(name->getText());
+    }
+    name->release();
 }
 
 // nicht constant
 void MGLaden::thread()
 {
-	Text* pfad = new Text("data/Minigames/");
-	pfad->append(name->getText());
-	if (!DateiExistiert(pfad->getText()))
-	{
-		pfad->release();
-		run = 0;
-		return;
-	}
-	pfad->append("/mg.ini");
-	if (!DateiExistiert(pfad->getText()))
-	{
-		pfad->release();
-		run = 0;
-		return;
-	}
-	InitDatei* mgIni = new InitDatei(pfad);
-	if (!mgIni->laden())
-	{
-		mgIni->release();
-		run = 0;
-		return;
-	}
-	if (!mgIni->wertExistiert("DllPfad"))
-	{
-		mgIni->release();
-		run = 0;
-		return;
-	}
-	Text* dllPfad = new Text("data/Minigames/");
-	dllPfad->append(name->getText());
-	dllPfad->append("/");
-	dllPfad->append(mgIni->zWert("DllPfad")->getText());
-	mgIni->release();
-	if (!DateiExistiert(dllPfad->getText()))
-	{
-		dllPfad->release();
-		run = 0;
-		return;
-	}
-	HMODULE dll = Framework::getDLLRegister()->ladeDLL(name->getText(), dllPfad->getText());
-	dllPfad->release();
-	if (!dll)
-	{
-		run = 0;
-		return;
-	}
-	GetMiniGame getMiniGame = (GetMiniGame)GetProcAddress(dll, "GetMiniGame");
-	if (!getMiniGame)
-	{
-		Framework::getDLLRegister()->releaseDLL(name->getText());
-		run = 0;
-		return;
-	}
-	game = getMiniGame();
-	if (!game)
-	{
-		Framework::getDLLRegister()->releaseDLL(name->getText());
-		run = 0;
-		return;
-	}
-	if (!minigameClient)
-		minigameClient = mainClient->createMinigameServerClient();
-	if (minigameClient)
-		game->setMinigameClientZ(dynamic_cast<KSGClient::MinigameServerClient*>(minigameClient->getThis()));
-	if (!game->laden())
-	{
-		game = (MiniGameV*)game->release();
-		Framework::getDLLRegister()->releaseDLL(name->getText());
-	}
-	run = 0;
+    Text* pfad = new Text("data/Minigames/");
+    pfad->append(name->getText());
+    if (!DateiExistiert(pfad->getText()))
+    {
+        pfad->release();
+        run = 0;
+        return;
+    }
+    pfad->append("/mg.ini");
+    if (!DateiExistiert(pfad->getText()))
+    {
+        pfad->release();
+        run = 0;
+        return;
+    }
+    InitDatei* mgIni = new InitDatei(pfad);
+    if (!mgIni->laden())
+    {
+        mgIni->release();
+        run = 0;
+        return;
+    }
+    if (!mgIni->wertExistiert("DllPfad"))
+    {
+        mgIni->release();
+        run = 0;
+        return;
+    }
+    Text* dllPfad = new Text("data/Minigames/");
+    dllPfad->append(name->getText());
+    dllPfad->append("/");
+    dllPfad->append(mgIni->zWert("DllPfad")->getText());
+    mgIni->release();
+    if (!DateiExistiert(dllPfad->getText()))
+    {
+        dllPfad->release();
+        run = 0;
+        return;
+    }
+    HMODULE dll = Framework::getDLLRegister()->ladeDLL(
+        name->getText(), dllPfad->getText());
+    dllPfad->release();
+    if (!dll)
+    {
+        run = 0;
+        return;
+    }
+    GetMiniGame getMiniGame = (GetMiniGame)GetProcAddress(dll, "GetMiniGame");
+    if (!getMiniGame)
+    {
+        Framework::getDLLRegister()->releaseDLL(name->getText());
+        run = 0;
+        return;
+    }
+    game = getMiniGame();
+    if (!game)
+    {
+        Framework::getDLLRegister()->releaseDLL(name->getText());
+        run = 0;
+        return;
+    }
+    if (!minigameClient)
+        minigameClient = mainClient->createMinigameServerClient();
+    if (minigameClient)
+        game->setMinigameClientZ(dynamic_cast<KSGClient::MinigameServerClient*>(
+            minigameClient->getThis()));
+    if (!game->laden())
+    {
+        game = (MiniGameV*)game->release();
+        Framework::getDLLRegister()->releaseDLL(name->getText());
+    }
+    run = 0;
 }
 
 // constant
 bool MGLaden::fertig() const
 {
-	return !isRunning();
+    return !isRunning();
 }
 
 MiniGameV* MGLaden::zGame() const
 {
-	return game;
+    return game;
 }
 
-
 // Inhalt der MiniGames Klasse aus MiniGames.h
 // Konstruktor
 MiniGames::MiniGames(Fenster* zNachLoginFenster, int x)
-	: Zeichnung()
+    : Zeichnung()
 {
-	bildschirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
-	pos = Punkt(x, 67);
-	gr = Punkt(102, 32);
-	rahmen = new LRahmen();
-	rahmen->setFarbe(0xFFFFFFFF);
-	rahmen->setSize(102, 32);
-	alpha = 0;
-	alpha2 = 0;
-	animation = 0;
-	sichtbar = 0;
-	tickVal = 0;
-	prozent1 = 0;
-	prozent2 = 0;
-	begPos = Punkt(0, 0);
-	begGröße = Punkt(0, 0);
-	größe1 = Punkt(102, 32);
-	pos1 = Punkt(x, 67);
-	größe2 = Punkt(800, 500);
-	pos2 = bildschirmGröße / 2 - größe2 / 2;
-	laden = (Animation2D*)ladeAnimation->dublizieren();
-	laden->setSichtbar(0);
-	laden->setPosition(375, 225);
-	games = new RCArray< MiniGame >();
-	suchFilter = initTextFeld(10, 10, 100, 20, TextFeld::Style::Text | TextFeld::Style::VCenter, "Suchfilter:");
-	TextRenderer tr(dynamic_cast<Schrift*>(uiFactory.initParam.schrift->getThis()));
-	tr.setSchriftSize(12);
-	suchFilter->setSize(tr.getTextBreite(suchFilter->zText()->getText()), 20);
-	suchName = initTextFeld(20 + suchFilter->getBreite(), 10, 200, 20, TextFeld::Style::TextFeld, "");
-	suchen = initKnopf(230 + suchFilter->getBreite(), 10, 100, 20, Knopf::Style::Sichtbar, "Suchen");
-	gefiltert = 0;
-	getThis();
-	zNachLoginFenster->addMember(this);
-	dg = 0;
-	mgl = 0;
-	mgInitialized = 0;
-	fullscreen = 0;
-	slo = 0;
-	minAlpha = 0;
-	getThis();
-	new MGSuchen(this);
+    bildschirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
+    pos = Punkt(x, 67);
+    gr = Punkt(102, 32);
+    rahmen = new LRahmen();
+    rahmen->setFarbe(0xFFFFFFFF);
+    rahmen->setSize(102, 32);
+    alpha = 0;
+    alpha2 = 0;
+    animation = 0;
+    sichtbar = 0;
+    tickVal = 0;
+    prozent1 = 0;
+    prozent2 = 0;
+    begPos = Punkt(0, 0);
+    begGröße = Punkt(0, 0);
+    größe1 = Punkt(102, 32);
+    pos1 = Punkt(x, 67);
+    größe2 = Punkt(800, 500);
+    pos2 = bildschirmGröße / 2 - größe2 / 2;
+    laden = (Animation2D*)ladeAnimation->dublizieren();
+    laden->setSichtbar(0);
+    laden->setPosition(375, 225);
+    games = new RCArray<MiniGame>();
+    suchFilter = initTextFeld(10,
+        10,
+        100,
+        20,
+        TextFeld::Style::Text | TextFeld::Style::VCenter,
+        "Suchfilter:");
+    TextRenderer tr(
+        dynamic_cast<Schrift*>(uiFactory.initParam.schrift->getThis()));
+    tr.setSchriftSize(12);
+    suchFilter->setSize(tr.getTextBreite(suchFilter->zText()->getText()), 20);
+    suchName = initTextFeld(20 + suchFilter->getBreite(),
+        10,
+        200,
+        20,
+        TextFeld::Style::TextFeld,
+        "");
+    suchen = initKnopf(230 + suchFilter->getBreite(),
+        10,
+        100,
+        20,
+        Knopf::Style::Sichtbar,
+        "Suchen");
+    gefiltert = 0;
+    getThis();
+    zNachLoginFenster->addMember(this);
+    dg = 0;
+    mgl = 0;
+    mgInitialized = 0;
+    fullscreen = 0;
+    slo = 0;
+    minAlpha = 0;
+    getThis();
+    new MGSuchen(this);
 }
 
 // Destruktor
 MiniGames::~MiniGames()
 {
-	rahmen->release();
-	suchName->release();
-	suchFilter->release();
-	suchen->release();
-	laden->release();
-	games->release();
-	if (mgl)
-		mgl->release();
+    rahmen->release();
+    suchName->release();
+    suchFilter->release();
+    suchen->release();
+    laden->release();
+    games->release();
+    if (mgl) mgl->release();
 }
 
 // nicht constant
 void MiniGames::setSichtbar(bool sicht)
 {
-	begPos = pos;
-	begGröße = gr;
-	animation |= (sicht ? 0x1 : 0x2);
-	rend = 1;
+    begPos = pos;
+    begGröße = gr;
+    animation |= (sicht ? 0x1 : 0x2);
+    rend = 1;
 }
 
 void MiniGames::addMiniGame(MiniGame* mg)
 {
-	games->add(mg);
-	if (gefiltert)
-		filter();
-	else
-	{
-		int i = games->getEintragAnzahl() - 1;
-		games->z(i)->setPosition(10 + 10 * (i % 3) + 250 * (i % 3), 50 + 10 * (i / 3) + 100 * (i / 3));
-	}
+    games->add(mg);
+    if (gefiltert)
+        filter();
+    else
+    {
+        int i = games->getEintragAnzahl() - 1;
+        games->z(i)->setPosition(10 + 10 * (i % 3) + 250 * (i % 3),
+            50 + 10 * (i / 3) + 100 * (i / 3));
+    }
 }
 
 void MiniGames::setAktuell(bool aktuell, int dg)
 {
-	this->aktuell = aktuell;
-	if (aktuell)
-		new MGSuchen(dynamic_cast<MiniGames*>(getThis()));
-	if (!this->dg)
-		this->dg = dg;
-	if (!aktuell && !updateH->hat(dg))
-	{
-		nachLogin->zNachrichtenListe()->addNachricht(new SpielUpdateNachricht(new Text("Update"), new Text("Die minigames müssen aktualisiert werden."), dg,
-			[]()
-			{
-				if (nachLogin && nachLogin->zMGFenster())
-					nachLogin->zMGFenster()->setAktuell(1);
-			}));
-	}
+    this->aktuell = aktuell;
+    if (aktuell) new MGSuchen(dynamic_cast<MiniGames*>(getThis()));
+    if (!this->dg) this->dg = dg;
+    if (!aktuell && !updateH->hat(dg))
+    {
+        nachLogin->zNachrichtenListe()->addNachricht(
+            new SpielUpdateNachricht(new Text("Update"),
+                new Text("Die minigames müssen aktualisiert werden."),
+                dg,
+                []() {
+                    if (nachLogin && nachLogin->zMGFenster())
+                        nachLogin->zMGFenster()->setAktuell(1);
+                }));
+    }
 }
 
 void MiniGames::setFullScreenMode(bool enabled)
 {
-	fullscreen = enabled;
-	if (fullscreen)
-		nachLogin->hideBars();
-	else
-		nachLogin->showBars();
+    fullscreen = enabled;
+    if (fullscreen)
+        nachLogin->hideBars();
+    else
+        nachLogin->showBars();
 }
 
 void MiniGames::showLoadingOverlay(unsigned char minAlpha)
 {
-	slo++;
-	this->minAlpha = minAlpha;
-	if (slo)
-		laden->setSichtbar(1);
+    slo++;
+    this->minAlpha = minAlpha;
+    if (slo) laden->setSichtbar(1);
 }
 
 void MiniGames::hideLoadingOverlay()
 {
-	slo--;
-	if (!slo)
-		laden->setSichtbar(0);
+    slo--;
+    if (!slo) laden->setSichtbar(0);
 }
 
 Bild* MiniGames::loadBild(const char* path)
 {
-	return bilder->get(path);
+    return bilder->get(path);
 }
 
 void MiniGames::filter()
 {
-	Text filter = suchName->zText()->getText();
-	bool notF = 0;
-	if (!filter.getLength())
-		notF = 1;
-	int anz = games->getEintragAnzahl();
-	bool* fertig = new bool[anz];
-	for (int i = 0; i < anz; i++)
-		fertig[i] = 0;
-	for (int i = 0; i < anz; i++)
-	{
-		int pos = -1;
-		int p = -1;
-		for (int j = 0; j < anz; j++)
-		{
-			if ((notF || (games->z(j)->zName()->hat(filter) && (pos == -1 || games->z(j)->zName()->positionVon(filter) < pos))) && !fertig[j])
-			{
-				p = j;
-				pos = games->z(j)->zName()->positionVon(filter);
-				games->z(j)->setSichtbar(1);
-			}
-		}
-		if (p < 0)
-			break;
-		fertig[p] = 1;
-		games->z(p)->setPosition(10 + 10 * (i % 3) + 250 * (i % 3), 50 + 10 * (i / 3) + 100 * (i / 3));
-	}
-	for (int i = 0; i < anz; i++)
-	{
-		if (!fertig[i])
-			games->z(i)->setSichtbar(0);
-	}
-	delete[] fertig;
+    Text filter = suchName->zText()->getText();
+    bool notF = 0;
+    if (!filter.getLength()) notF = 1;
+    int anz = games->getEintragAnzahl();
+    bool* fertig = new bool[anz];
+    for (int i = 0; i < anz; i++)
+        fertig[i] = 0;
+    for (int i = 0; i < anz; i++)
+    {
+        int pos = -1;
+        int p = -1;
+        for (int j = 0; j < anz; j++)
+        {
+            if ((notF
+                    || (games->z(j)->zName()->hat(filter)
+                        && (pos == -1
+                            || games->z(j)->zName()->positionVon(filter)
+                                   < pos)))
+                && !fertig[j])
+            {
+                p = j;
+                pos = games->z(j)->zName()->positionVon(filter);
+                games->z(j)->setSichtbar(1);
+            }
+        }
+        if (p < 0) break;
+        fertig[p] = 1;
+        games->z(p)->setPosition(10 + 10 * (i % 3) + 250 * (i % 3),
+            50 + 10 * (i / 3) + 100 * (i / 3));
+    }
+    for (int i = 0; i < anz; i++)
+    {
+        if (!fertig[i]) games->z(i)->setSichtbar(0);
+    }
+    delete[] fertig;
 }
 
 void MiniGames::doPublicMausEreignis(MausEreignis& me)
 {
-	if (laden->istSichtbar() || !sichtbar)
-		return;
-	me.mx -= pos.x;
-	me.my -= pos.y;
-	if (alpha2)
-	{
-		suchName->doPublicMausEreignis(me);
-		bool vera = me.verarbeitet;
-		suchen->doPublicMausEreignis(me);
-		if (!vera && me.verarbeitet && me.id == ME_RLinks)
-			filter();
-		int anz = games->getEintragAnzahl();
-		for (int i = 0; i < anz; i++)
-		{
-			bool vera = me.verarbeitet;
-			games->z(i)->doPublicMausEreignis(me);
-			if (!vera && me.verarbeitet && me.id == ME_RLinks)
-			{ // spiel starten
-				laden->setSichtbar(1);
-				if (mgl)
-					mgl = (MGLaden*)mgl->release();
-				mgInitialized = 0;
-				mgl = new MGLaden(games->z(i)->zName()->getText());
-			}
-		}
-	}
-	if (!slo && mgl && mgl->zGame())
-		mgl->zGame()->doPublicMausEreignis(me);
-	me.mx += pos.x;
-	me.my += pos.y;
+    if (laden->istSichtbar() || !sichtbar) return;
+    me.mx -= pos.x;
+    me.my -= pos.y;
+    if (alpha2)
+    {
+        suchName->doPublicMausEreignis(me);
+        bool vera = me.verarbeitet;
+        suchen->doPublicMausEreignis(me);
+        if (!vera && me.verarbeitet && me.id == ME_RLinks) filter();
+        int anz = games->getEintragAnzahl();
+        for (int i = 0; i < anz; i++)
+        {
+            bool vera = me.verarbeitet;
+            games->z(i)->doPublicMausEreignis(me);
+            if (!vera && me.verarbeitet && me.id == ME_RLinks)
+            { // spiel starten
+                laden->setSichtbar(1);
+                if (mgl) mgl = (MGLaden*)mgl->release();
+                mgInitialized = 0;
+                mgl = new MGLaden(games->z(i)->zName()->getText());
+            }
+        }
+    }
+    if (!slo && mgl && mgl->zGame()) mgl->zGame()->doPublicMausEreignis(me);
+    me.mx += pos.x;
+    me.my += pos.y;
 }
 
 void MiniGames::doTastaturEreignis(TastaturEreignis& te)
 {
-	if (laden->istSichtbar() || !sichtbar)
-		return;
-	if (alpha2)
-	{
-		bool vera = te.verarbeitet;
-		suchName->doTastaturEreignis(te);
-		if (!vera && te.verarbeitet && te.taste == T_Enter && te.id == TE_Release)
-			filter();
-	}
-	if (!slo && mgl && mgl->zGame())
-		mgl->zGame()->doTastaturEreignis(te);
+    if (laden->istSichtbar() || !sichtbar) return;
+    if (alpha2)
+    {
+        bool vera = te.verarbeitet;
+        suchName->doTastaturEreignis(te);
+        if (!vera && te.verarbeitet && te.virtualKey == T_Enter
+            && te.id == TE_Release)
+            filter();
+    }
+    if (!slo && mgl && mgl->zGame()) mgl->zGame()->doTastaturEreignis(te);
 }
 
 bool MiniGames::tick(double z)
 {
-	if (laden->istSichtbar() && mgl && mgl->fertig())
-	{
-		if (!mgl->zGame())
-		{
-			mgl = (MGLaden*)mgl->release();
-			nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"), new Text("Das Minigame konnte nicht geladen werden."), new Text("Ok"));
-			mgInitialized = 0;
-			slo = 0;
-		}
-		else if (!mgInitialized)
-		{
-			mgl->zGame()->setMinigameAPI(this);
-			mgl->zGame()->setUIFactory(uiFactory);
-			mgInitialized = 1;
-		}
-		if (!slo)
-			laden->setSichtbar(0);
-	}
-	if (mgl && mgl->zGame() && !alpha2)
-	{
-		if (sichtbar && !animation)
-			rend |= mgl->zGame()->tick(z);
-		if (mgl->zGame()->istEnde())
-		{
-			mgl = (MGLaden*)mgl->release();
-			mgInitialized = 0;
-		}
-	}
-	rend |= laden->tick(z);
-	if (alpha2)
-	{
-		rend |= suchName->tick(z);
-		rend |= suchen->tick(z);
-		int anz = games->getEintragAnzahl();
-		for (int i = 0; i < anz; i++)
-			rend |= games->z(i)->tick(z);
-	}
-	tickVal += z * 150;
-	int val = (int)tickVal;
-	if (val < 1)
-	{
-		bool ret = rend;
-		rend = 0;
-		return ret;
-	}
-	tickVal -= val;
-	if ((animation | 0x1) == animation) // Einblenden
-	{
-		if (prozent1 != 100)
-		{
-			prozent1 += val;
-			if (prozent1 >= 100)
-				prozent1 = 100;
-			pos = begPos + (Punkt)(((Vec2< double >)(pos2 - begPos) / 100.0) * prozent1);
-			gr = begGröße + (Punkt)(((Vec2< double >)(größe2 - begGröße) / 100.0) * prozent1);
-		}
-		else if (alpha != 255)
-		{
-			alpha += val * 2;
-			if (alpha >= 255 || (animation | 0x2) == animation)
-			{
-				alpha = 255;
-				animation &= ~0x1;
-				sichtbar = 1;
-				prozent1 = 0;
-			}
-		}
-		else
-		{
-			animation &= ~0x1;
-			prozent1 = 0;
-			pos = pos2;
-			gr = größe2;
-		}
-		rend = 1;
-	}
-	if ((animation | 0x2) == animation) // ausblenden
-	{
-		if (alpha != 0)
-		{
-			alpha -= val * 2;
-			if (alpha < 0)
-				alpha = 0;
-		}
-		else
-		{
-			prozent2 += val;
-			if (prozent2 > 100)
-				prozent2 = 100;
-			pos = begPos + (Punkt)(((Vec2< double >)(pos1 - begPos) / 100.0) * prozent2);
-			gr = begGröße + (Punkt)(((Vec2< double >)(größe1 - begGröße) / 100.0) * prozent2);
-			if (prozent2 == 100)
-			{
-				prozent2 = 0;
-				animation &= ~0x2;
-				sichtbar = 0;
-			}
-		}
-		rend = 1;
-	}
-	if (!animation && sichtbar)
-	{
-		if (fullscreen)
-		{
-			if (pos != Punkt(0, 0))
-			{
-				pos -= Punkt(val, val) * 2;
-				if (pos.x < 0)
-					pos.x = 0;
-				if (pos.y < 0)
-					pos.y = 0;
-			}
-			if (gr != bildschirmGröße)
-			{
-				gr += Punkt(val, val) * 4;
-				if (gr.x > bildschirmGröße.x - 1)
-					gr.x = bildschirmGröße.x - 1;
-				if (gr.y > bildschirmGröße.y - 1)
-					gr.y = bildschirmGröße.y - 1;
-			}
-		}
-		else
-		{
-			if (pos != pos2 || gr != größe2)
-			{
-				begPos = pos;
-				begGröße = gr;
-				animation |= 0x1;
-			}
-		}
-		if (slo && alpha != minAlpha)
-		{
-			alpha -= val * 2;
-			if (alpha < minAlpha)
-				alpha = minAlpha;
-		}
-		else if (!slo && alpha != 255)
-		{
-			alpha += val * 2;
-			if (alpha > 255)
-				alpha = 255;
-		}
-	}
-	if (mgl && alpha2)
-	{
-		alpha2 -= val;
-		if (alpha2 < 0)
-			alpha2 = 0;
-		rend = 1;
-	}
-	if (!mgl && alpha2 != 255)
-	{
-		alpha2 += val;
-		if (alpha2 > 255)
-			alpha2 = 255;
-		rend = 1;
-	}
-	bool ret = rend;
-	rend = 0;
-	return ret;
+    if (laden->istSichtbar() && mgl && mgl->fertig())
+    {
+        if (!mgl->zGame())
+        {
+            mgl = (MGLaden*)mgl->release();
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text("Das Minigame konnte nicht geladen werden."),
+                new Text("Ok"));
+            mgInitialized = 0;
+            slo = 0;
+        }
+        else if (!mgInitialized)
+        {
+            mgl->zGame()->setMinigameAPI(this);
+            mgl->zGame()->setUIFactory(uiFactory);
+            mgInitialized = 1;
+        }
+        if (!slo) laden->setSichtbar(0);
+    }
+    if (mgl && mgl->zGame() && !alpha2)
+    {
+        if (sichtbar && !animation) rend |= mgl->zGame()->tick(z);
+        if (mgl->zGame()->istEnde())
+        {
+            mgl = (MGLaden*)mgl->release();
+            mgInitialized = 0;
+        }
+    }
+    rend |= laden->tick(z);
+    if (alpha2)
+    {
+        rend |= suchName->tick(z);
+        rend |= suchen->tick(z);
+        int anz = games->getEintragAnzahl();
+        for (int i = 0; i < anz; i++)
+            rend |= games->z(i)->tick(z);
+    }
+    tickVal += z * 150;
+    int val = (int)tickVal;
+    if (val < 1)
+    {
+        bool ret = rend;
+        rend = 0;
+        return ret;
+    }
+    tickVal -= val;
+    if ((animation | 0x1) == animation) // Einblenden
+    {
+        if (prozent1 != 100)
+        {
+            prozent1 += val;
+            if (prozent1 >= 100) prozent1 = 100;
+            pos = begPos
+                + (Punkt)(((Vec2<double>)(pos2 - begPos) / 100.0) * prozent1);
+            gr = begGröße
+               + (Punkt)(((Vec2<double>)(größe2 - begGröße) / 100.0)
+                         * prozent1);
+        }
+        else if (alpha != 255)
+        {
+            alpha += val * 2;
+            if (alpha >= 255 || (animation | 0x2) == animation)
+            {
+                alpha = 255;
+                animation &= ~0x1;
+                sichtbar = 1;
+                prozent1 = 0;
+            }
+        }
+        else
+        {
+            animation &= ~0x1;
+            prozent1 = 0;
+            pos = pos2;
+            gr = größe2;
+        }
+        rend = 1;
+    }
+    if ((animation | 0x2) == animation) // ausblenden
+    {
+        if (alpha != 0)
+        {
+            alpha -= val * 2;
+            if (alpha < 0) alpha = 0;
+        }
+        else
+        {
+            prozent2 += val;
+            if (prozent2 > 100) prozent2 = 100;
+            pos = begPos
+                + (Punkt)(((Vec2<double>)(pos1 - begPos) / 100.0) * prozent2);
+            gr = begGröße
+               + (Punkt)(((Vec2<double>)(größe1 - begGröße) / 100.0)
+                         * prozent2);
+            if (prozent2 == 100)
+            {
+                prozent2 = 0;
+                animation &= ~0x2;
+                sichtbar = 0;
+            }
+        }
+        rend = 1;
+    }
+    if (!animation && sichtbar)
+    {
+        if (fullscreen)
+        {
+            if (pos != Punkt(0, 0))
+            {
+                pos -= Punkt(val, val) * 2;
+                if (pos.x < 0) pos.x = 0;
+                if (pos.y < 0) pos.y = 0;
+            }
+            if (gr != bildschirmGröße)
+            {
+                gr += Punkt(val, val) * 4;
+                if (gr.x > bildschirmGröße.x - 1) gr.x = bildschirmGröße.x - 1;
+                if (gr.y > bildschirmGröße.y - 1) gr.y = bildschirmGröße.y - 1;
+            }
+        }
+        else
+        {
+            if (pos != pos2 || gr != größe2)
+            {
+                begPos = pos;
+                begGröße = gr;
+                animation |= 0x1;
+            }
+        }
+        if (slo && alpha != minAlpha)
+        {
+            alpha -= val * 2;
+            if (alpha < minAlpha) alpha = minAlpha;
+        }
+        else if (!slo && alpha != 255)
+        {
+            alpha += val * 2;
+            if (alpha > 255) alpha = 255;
+        }
+    }
+    if (mgl && alpha2)
+    {
+        alpha2 -= val;
+        if (alpha2 < 0) alpha2 = 0;
+        rend = 1;
+    }
+    if (!mgl && alpha2 != 255)
+    {
+        alpha2 += val;
+        if (alpha2 > 255) alpha2 = 255;
+        rend = 1;
+    }
+    bool ret = rend;
+    rend = 0;
+    return ret;
 }
 
 void MiniGames::render(Bild& zRObj)
 {
-	if (pos == pos1)
-		return;
-	rahmen->setPosition(pos);
-	rahmen->setSize(gr);
-	rahmen->render(zRObj);
-	if (!zRObj.setDrawOptions(pos.x + 1, pos.y + 1, gr.x - 2, gr.y - 2))
-		return;
-	int rbr = rahmen->getRBreite();
-	zRObj.setAlpha((unsigned char)alpha);
-	zRObj.setAlpha((unsigned char)alpha2);
-	suchFilter->render(zRObj);
-	suchName->render(zRObj);
-	suchen->render(zRObj);
-	int anz = games->getEintragAnzahl();
-	for (int i = 0; i < anz; i++)
-		games->z(i)->render(zRObj);
-	zRObj.releaseAlpha();
-	if (mgl && mgl->fertig() && mgl->zGame())
-		mgl->zGame()->render(zRObj);
-	zRObj.releaseAlpha();
-	laden->setPosition(gr.x / 2 - laden->getBreite() / 2, gr.y / 2 - laden->getHeight() / 2);
-	laden->render(zRObj);
-	zRObj.releaseDrawOptions();
+    if (pos == pos1) return;
+    rahmen->setPosition(pos);
+    rahmen->setSize(gr);
+    rahmen->render(zRObj);
+    if (!zRObj.setDrawOptions(pos.x + 1, pos.y + 1, gr.x - 2, gr.y - 2)) return;
+    int rbr = rahmen->getRBreite();
+    zRObj.setAlpha((unsigned char)alpha);
+    zRObj.setAlpha((unsigned char)alpha2);
+    suchFilter->render(zRObj);
+    suchName->render(zRObj);
+    suchen->render(zRObj);
+    int anz = games->getEintragAnzahl();
+    for (int i = 0; i < anz; i++)
+        games->z(i)->render(zRObj);
+    zRObj.releaseAlpha();
+    if (mgl && mgl->fertig() && mgl->zGame()) mgl->zGame()->render(zRObj);
+    zRObj.releaseAlpha();
+    laden->setPosition(
+        gr.x / 2 - laden->getBreite() / 2, gr.y / 2 - laden->getHeight() / 2);
+    laden->render(zRObj);
+    zRObj.releaseDrawOptions();
 }
 
 // constant
 bool MiniGames::istAnimiert() const
 {
-	return animation != 0;
+    return animation != 0;
 }
 
 bool MiniGames::istSichtbar() const
 {
-	return sichtbar || prozent1 != 0;
+    return sichtbar || prozent1 != 0;
 }

+ 204 - 209
KSGClient/NachLogin/NachLogin.cpp

@@ -1,8 +1,10 @@
 #include "NachLogin.h"
-#include <Schrift.h>
+
 #include <Bildschirm.h>
 #include <DateiSystem.h>
+#include <Schrift.h>
 #include <Text.h>
+
 #include "../Global/Variablen.h"
 
 // Inhalt der NachLogin Klasse aus NachLogin.h
@@ -30,42 +32,43 @@ NachLogin::NachLogin()
 // Destruktor
 NachLogin::~NachLogin()
 {
-    if( fenster )
-        setAnzeige( NLALogin );
-    if( editor )
-        editor->release();
+    if (fenster) setAnzeige(NLALogin);
+    if (editor) editor->release();
 }
 
 // nicht constant
 void NachLogin::login() // Initialisiert die Oberfläche
 {
     lockZeichnung();
-    if( fenster )
-        logout();
-    fenster = uiFactory.createFenster( uiFactory.initParam );
-    fenster->setStyle( Fenster::Style::Erlaubt | Fenster::Style::Sichtbar );
-    fenster->setSize( uiFactory.initParam.bildschirm->getBackBufferSize() );
-    leistenFenster = uiFactory.createFenster( uiFactory.initParam );
-    leistenFenster->setStyle( Fenster::Style::Erlaubt | Fenster::Style::Sichtbar | Fenster::Style::METransparenz );
-    leistenFenster->setSize( uiFactory.initParam.bildschirm->getBackBufferSize() );
-    titel = new TitelLeiste( leistenFenster );
-    spielenFenster = new Spiele( fenster, titel->getSpielenX() );
-    shopFenster = new Shop( fenster, titel->getSpielenX() + 101 );
-    accountAnsehenFenster = new AccountAnsehen( fenster, titel->getSpielenX() + 202 );
-    mgFenster = new MiniGames( fenster, titel->getSpielenX() + 303 );
-    newsFenster = new Neuigkeiten( fenster, titel->getSpielenX() + 404 );
-    editorFenster = new Editor( fenster, titel->getSpielenX() );
-    nachrichtenListe = new NachrichtenListe( leistenFenster );
-    freunde = new FreundesListe( leistenFenster );
-    chatLeiste = new ChatLeiste( leistenFenster );
-    op = new Einstellungen( leistenFenster );
+    if (fenster) logout();
+    fenster = uiFactory.createFenster(uiFactory.initParam);
+    fenster->setStyle(Fenster::Style::Erlaubt | Fenster::Style::Sichtbar);
+    fenster->setSize(uiFactory.initParam.bildschirm->getBackBufferSize());
+    leistenFenster = uiFactory.createFenster(uiFactory.initParam);
+    leistenFenster->setStyle(Fenster::Style::Erlaubt | Fenster::Style::Sichtbar
+                             | Fenster::Style::METransparenz);
+    leistenFenster->setSize(
+        uiFactory.initParam.bildschirm->getBackBufferSize());
+    titel = new TitelLeiste(leistenFenster);
+    spielenFenster = new Spiele(fenster, titel->getSpielenX());
+    shopFenster = new Shop(fenster, titel->getSpielenX() + 101);
+    accountAnsehenFenster
+        = new AccountAnsehen(fenster, titel->getSpielenX() + 202);
+    mgFenster = new MiniGames(fenster, titel->getSpielenX() + 303);
+    newsFenster = new Neuigkeiten(fenster, titel->getSpielenX() + 404);
+    editorFenster = new Editor(fenster, titel->getSpielenX());
+    nachrichtenListe = new NachrichtenListe(leistenFenster);
+    freunde = new FreundesListe(leistenFenster);
+    chatLeiste = new ChatLeiste(leistenFenster);
+    op = new Einstellungen(leistenFenster);
     imSpiel = new ImSpiel();
-    fenster->addMember( dynamic_cast<Zeichnung *>( leistenFenster->getThis() ) );
-    uiFactory.initParam.bildschirm->addMember( dynamic_cast<Zeichnung *>( getThis() ) );
+    fenster->addMember(dynamic_cast<Zeichnung*>(leistenFenster->getThis()));
+    uiFactory.initParam.bildschirm->addMember(
+        dynamic_cast<Zeichnung*>(getThis()));
     MausEreignis me;
     me.id = ME_RLinks;
     uiFactory.initParam.bildschirm->lock();
-    titel->druckSpielen( me );
+    titel->druckSpielen(me);
     uiFactory.initParam.bildschirm->unlock();
     status = NLANormal;
     unlockZeichnung();
@@ -75,118 +78,112 @@ void NachLogin::logout() // Setzt die Oberfl
 {
     lockZeichnung();
     status = NLALogin;
-    uiFactory.initParam.bildschirm->removeMember( this );
-    if( spielenFenster )
-        spielenFenster = (Spiele *)spielenFenster->release();
-    if( shopFenster )
-        shopFenster = (Shop *)shopFenster->release();
-    if( accountAnsehenFenster )
-        accountAnsehenFenster = (AccountAnsehen *)accountAnsehenFenster->release();
-    if( mgFenster )
-        mgFenster = (MiniGames *)mgFenster->release();
-    if( newsFenster )
-        newsFenster = (Neuigkeiten *)newsFenster->release();
-    if( editorFenster )
-        editorFenster = (Editor *)editorFenster->release();
-    if( titel )
+    uiFactory.initParam.bildschirm->removeMember(this);
+    if (spielenFenster) spielenFenster = (Spiele*)spielenFenster->release();
+    if (shopFenster) shopFenster = (Shop*)shopFenster->release();
+    if (accountAnsehenFenster)
+        accountAnsehenFenster
+            = (AccountAnsehen*)accountAnsehenFenster->release();
+    if (mgFenster) mgFenster = (MiniGames*)mgFenster->release();
+    if (newsFenster) newsFenster = (Neuigkeiten*)newsFenster->release();
+    if (editorFenster) editorFenster = (Editor*)editorFenster->release();
+    if (titel)
     {
-        titel->warteAufThread( 10000 );
+        titel->warteAufThread(10000);
         titel->ende();
-        titel = (TitelLeiste *)titel->release();
+        titel = (TitelLeiste*)titel->release();
     }
-    if( freunde )
+    if (freunde)
     {
-        freunde->warteAufThread( 10000 );
+        freunde->warteAufThread(10000);
         freunde->ende();
-        freunde = (FreundesListe *)freunde->release();
+        freunde = (FreundesListe*)freunde->release();
     }
-    if( chatLeiste )
-        chatLeiste = (ChatLeiste *)chatLeiste->release();
-    if( nachrichtenListe )
-        nachrichtenListe = (NachrichtenListe *)nachrichtenListe->release();
-    if( leistenFenster )
-        leistenFenster = (Fenster *)leistenFenster->release();
-    if( fenster )
-        fenster = (Fenster *)fenster->release();
-    if( imSpiel )
-        imSpiel = (ImSpiel *)imSpiel->release();
-    if( op )
-        op->release();
+    if (chatLeiste) chatLeiste = (ChatLeiste*)chatLeiste->release();
+    if (nachrichtenListe)
+        nachrichtenListe = (NachrichtenListe*)nachrichtenListe->release();
+    if (leistenFenster) leistenFenster = (Fenster*)leistenFenster->release();
+    if (fenster) fenster = (Fenster*)fenster->release();
+    if (imSpiel) 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;
 }
 
-void NachLogin::setEditor( EditorV *editor ) // Setzt die Spiel Aufzeichnung
+void NachLogin::setEditor(EditorV* editor) // Setzt die Spiel Aufzeichnung
 {
-    if( this->editor )
-        this->editor->release();
+    if (this->editor) this->editor->release();
     this->editor = editor;
 }
 
-void NachLogin::setAnzeige( NachLoginAnzeige s ) // Setzt den Status des Programms
+void NachLogin::setAnzeige(NachLoginAnzeige s) // Setzt den Status des Programms
 {
     lockZeichnung();
-    if( s == NLAImSpiel )
+    if (s == NLAImSpiel)
     {
-        imSpiel->setSichtbar( 1 );
-        MausEreignis me = { ME_Bewegung, -1, -1, 0, 0 };
-        leistenFenster->doPublicMausEreignis( me );
-        leistenFenster->removeStyle( Fenster::Style::Sichtbar );
-        fenster->removeMember( leistenFenster );
-        uiFactory.initParam.bildschirm->addMember( dynamic_cast<Zeichnung *>( leistenFenster->getThis() ) );
-        titel->setImSpiel( 1 );
+        imSpiel->setSichtbar(1);
+        MausEreignis me = {ME_Bewegung, -1, -1, 0, 0};
+        leistenFenster->doPublicMausEreignis(me);
+        leistenFenster->removeStyle(Fenster::Style::Sichtbar);
+        fenster->removeMember(leistenFenster);
+        uiFactory.initParam.bildschirm->addMember(
+            dynamic_cast<Zeichnung*>(leistenFenster->getThis()));
+        titel->setImSpiel(1);
     }
-    else if( status == NLAImSpiel )
+    else if (status == NLAImSpiel)
     {
-        imSpiel->setSichtbar( 0 );
-        fenster->addMember( dynamic_cast<Zeichnung *>( leistenFenster->getThis() ) );
-        uiFactory.initParam.bildschirm->removeMember( leistenFenster );
-        leistenFenster->addStyle( Fenster::Style::Sichtbar );
-        titel->setImSpiel( 0 );
+        imSpiel->setSichtbar(0);
+        fenster->addMember(dynamic_cast<Zeichnung*>(leistenFenster->getThis()));
+        uiFactory.initParam.bildschirm->removeMember(leistenFenster);
+        leistenFenster->addStyle(Fenster::Style::Sichtbar);
+        titel->setImSpiel(0);
     }
-    if( s == NLASpielVideo )
+    if (s == NLASpielVideo)
     {
-        MausEreignis me = { ME_Bewegung, -1, -1, 0, 0 };
-        leistenFenster->doPublicMausEreignis( me );
-        leistenFenster->removeStyle( Fenster::Style::Sichtbar );
-        fenster->removeMember( leistenFenster );
-        uiFactory.initParam.bildschirm->addMember( dynamic_cast<Zeichnung *>( leistenFenster->getThis() ) );
-        titel->setImVideo( 1 );
+        MausEreignis me = {ME_Bewegung, -1, -1, 0, 0};
+        leistenFenster->doPublicMausEreignis(me);
+        leistenFenster->removeStyle(Fenster::Style::Sichtbar);
+        fenster->removeMember(leistenFenster);
+        uiFactory.initParam.bildschirm->addMember(
+            dynamic_cast<Zeichnung*>(leistenFenster->getThis()));
+        titel->setImVideo(1);
     }
-    else if( status == NLASpielVideo )
+    else if (status == NLASpielVideo)
     {
-        fenster->addMember( dynamic_cast<Zeichnung *>( leistenFenster->getThis() ) );
-        uiFactory.initParam.bildschirm->removeMember( leistenFenster );
-        leistenFenster->addStyle( Fenster::Style::Sichtbar );
-        spielAufzeichnung = (AufzeichnungV *)spielAufzeichnung->release();
-        titel->setImVideo( 0 );
+        fenster->addMember(dynamic_cast<Zeichnung*>(leistenFenster->getThis()));
+        uiFactory.initParam.bildschirm->removeMember(leistenFenster);
+        leistenFenster->addStyle(Fenster::Style::Sichtbar);
+        spielAufzeichnung = (AufzeichnungV*)spielAufzeichnung->release();
+        titel->setImVideo(0);
     }
-    if( s == NLAEditor )
+    if (s == NLAEditor)
     {
-        MausEreignis me = { ME_Bewegung, -1, -1, 0, 0 };
-        leistenFenster->doPublicMausEreignis( me );
-        leistenFenster->removeStyle( Fenster::Style::Sichtbar );
-        fenster->removeMember( leistenFenster );
-        uiFactory.initParam.bildschirm->addMember( dynamic_cast<Zeichnung *>( leistenFenster->getThis() ) );
-        titel->setImSpiel( 1 );
+        MausEreignis me = {ME_Bewegung, -1, -1, 0, 0};
+        leistenFenster->doPublicMausEreignis(me);
+        leistenFenster->removeStyle(Fenster::Style::Sichtbar);
+        fenster->removeMember(leistenFenster);
+        uiFactory.initParam.bildschirm->addMember(
+            dynamic_cast<Zeichnung*>(leistenFenster->getThis()));
+        titel->setImSpiel(1);
     }
-    else if( status == NLAEditor )
+    else if (status == NLAEditor)
     {
-        fenster->addMember( dynamic_cast<Zeichnung *>( leistenFenster->getThis() ) );
-        uiFactory.initParam.bildschirm->removeMember( leistenFenster );
-        leistenFenster->addStyle( Fenster::Style::Sichtbar );
-        editor = (EditorV *)editor->release();
-        titel->setImSpiel( 0 );
+        fenster->addMember(dynamic_cast<Zeichnung*>(leistenFenster->getThis()));
+        uiFactory.initParam.bildschirm->removeMember(leistenFenster);
+        leistenFenster->addStyle(Fenster::Style::Sichtbar);
+        editor = (EditorV*)editor->release();
+        titel->setImSpiel(0);
     }
-    if( s == NLALogin )
+    if (s == NLALogin)
         logout();
     else
     {
-        if( !fenster )
+        if (!fenster)
             login();
         else
             status = s;
@@ -196,282 +193,280 @@ void NachLogin::setAnzeige( NachLoginAnzeige s ) // Setzt den Status des Program
 
 void NachLogin::hideBars()
 {
-    leistenFenster->removeStyle( Fenster::Style::Sichtbar );
+    leistenFenster->removeStyle(Fenster::Style::Sichtbar);
 }
 
 void NachLogin::showBars()
 {
-    leistenFenster->addStyle( Fenster::Style::Sichtbar );
+    leistenFenster->addStyle(Fenster::Style::Sichtbar);
 }
 
-void NachLogin::doPublicMausEreignis( MausEreignis &me )
+void NachLogin::doPublicMausEreignis(MausEreignis& me)
 {
-    if( status == NLASpielVideo )
+    if (status == NLASpielVideo)
     {
         lockZeichnung();
-        if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
-            leistenFenster->doPublicMausEreignis( me );
+        if (leistenFenster->hatStyle(Fenster::Style::Sichtbar))
+            leistenFenster->doPublicMausEreignis(me);
         else
         {
-            spielAufzeichnung->doPublicMausEreignis( me );
-            if( spielAufzeichnung->hatVerlassen( 1 ) )
+            spielAufzeichnung->doPublicMausEreignis(me);
+            if (spielAufzeichnung->hatVerlassen(1))
             {
-                MausEreignis me = { ME_Bewegung, -1, -1, 0, 0 };
-                spielAufzeichnung->doPublicMausEreignis( me );
+                MausEreignis me = {ME_Bewegung, -1, -1, 0, 0};
+                spielAufzeichnung->doPublicMausEreignis(me);
                 aktion = 8; // Aufzeichnung verlassen
             }
         }
         unlockZeichnung();
         return;
     }
-    if( status == NLAEditor )
+    if (status == NLAEditor)
     {
         lockZeichnung();
-        if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
-            leistenFenster->doPublicMausEreignis( me );
+        if (leistenFenster->hatStyle(Fenster::Style::Sichtbar))
+            leistenFenster->doPublicMausEreignis(me);
         else
         {
-            editor->doPublicMausEreignis( me );
-            if( editor->hatVerlassen( 1 ) )
+            editor->doPublicMausEreignis(me);
+            if (editor->hatVerlassen(1))
             {
-                MausEreignis me = { ME_Bewegung, -1, -1, 0, 0 };
-                editor->doPublicMausEreignis( me );
+                MausEreignis me = {ME_Bewegung, -1, -1, 0, 0};
+                editor->doPublicMausEreignis(me);
                 aktion = 8; // Editor verlassen
             }
         }
         unlockZeichnung();
         return;
     }
-    if( status == NLAImSpiel )
+    if (status == NLAImSpiel)
     {
         lockZeichnung();
-        if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
-            leistenFenster->doPublicMausEreignis( me );
+        if (leistenFenster->hatStyle(Fenster::Style::Sichtbar))
+            leistenFenster->doPublicMausEreignis(me);
         else
-            imSpiel->doPublicMausEreignis( me );
+            imSpiel->doPublicMausEreignis(me);
         unlockZeichnung();
         return;
     }
-    if( status != NLANormal )
-        return;
+    if (status != NLANormal) return;
     lockZeichnung();
-    if( fenster )
-        fenster->doPublicMausEreignis( me );
+    if (fenster) fenster->doPublicMausEreignis(me);
     unlockZeichnung();
 }
 
-void NachLogin::doTastaturEreignis( TastaturEreignis &te )
+void NachLogin::doTastaturEreignis(TastaturEreignis& te)
 {
-    if( status == NLASpielVideo )
+    if (status == NLASpielVideo)
     {
         lockZeichnung();
-        if( te.taste == T_F2 && te.id == TE_Release )
+        if (te.virtualKey == T_F2 && te.id == TE_Release)
         {
-            leistenFenster->setStyle( Fenster::Style::Sichtbar, !leistenFenster->hatStyle( Fenster::Style::Sichtbar ) );
-            MausEreignis me = { ME_Bewegung, -1, -1, 0, 0 };
-            leistenFenster->doPublicMausEreignis( me );
+            leistenFenster->setStyle(Fenster::Style::Sichtbar,
+                !leistenFenster->hatStyle(Fenster::Style::Sichtbar));
+            MausEreignis me = {ME_Bewegung, -1, -1, 0, 0};
+            leistenFenster->doPublicMausEreignis(me);
         }
         else
         {
-            if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
-                leistenFenster->doTastaturEreignis( te );
+            if (leistenFenster->hatStyle(Fenster::Style::Sichtbar))
+                leistenFenster->doTastaturEreignis(te);
             else
-                spielAufzeichnung->doTastaturEreignis( te );
+                spielAufzeichnung->doTastaturEreignis(te);
         }
         unlockZeichnung();
         return;
     }
-    if( status == NLAEditor )
+    if (status == NLAEditor)
     {
         lockZeichnung();
-        if( te.taste == T_F2 && te.id == TE_Release )
+        if (te.virtualKey == T_F2 && te.id == TE_Release)
         {
-            leistenFenster->setStyle( Fenster::Style::Sichtbar, !leistenFenster->hatStyle( Fenster::Style::Sichtbar ) );
-            MausEreignis me = { ME_Bewegung, -1, -1, 0, 0 };
-            leistenFenster->doPublicMausEreignis( me );
+            leistenFenster->setStyle(Fenster::Style::Sichtbar,
+                !leistenFenster->hatStyle(Fenster::Style::Sichtbar));
+            MausEreignis me = {ME_Bewegung, -1, -1, 0, 0};
+            leistenFenster->doPublicMausEreignis(me);
         }
         else
         {
-            if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
-                leistenFenster->doTastaturEreignis( te );
+            if (leistenFenster->hatStyle(Fenster::Style::Sichtbar))
+                leistenFenster->doTastaturEreignis(te);
             else
-                editor->doTastaturEreignis( te );
+                editor->doTastaturEreignis(te);
         }
         unlockZeichnung();
         return;
     }
-    if( status == NLAImSpiel )
+    if (status == NLAImSpiel)
     {
         lockZeichnung();
-        if( te.taste == T_F2 && te.id == TE_Release )
+        if (te.virtualKey == T_F2 && te.id == TE_Release)
         {
-            leistenFenster->setStyle( Fenster::Style::Sichtbar, !leistenFenster->hatStyle( Fenster::Style::Sichtbar ) );
-            MausEreignis me = { ME_Bewegung, -1, -1, 0, 0 };
-            leistenFenster->doPublicMausEreignis( me );
+            leistenFenster->setStyle(Fenster::Style::Sichtbar,
+                !leistenFenster->hatStyle(Fenster::Style::Sichtbar));
+            MausEreignis me = {ME_Bewegung, -1, -1, 0, 0};
+            leistenFenster->doPublicMausEreignis(me);
         }
         else
         {
-            if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
-                leistenFenster->doTastaturEreignis( te );
+            if (leistenFenster->hatStyle(Fenster::Style::Sichtbar))
+                leistenFenster->doTastaturEreignis(te);
             else
-                imSpiel->doTastaturEreignis( te );
+                imSpiel->doTastaturEreignis(te);
         }
         unlockZeichnung();
         return;
     }
-    if( status != NLANormal )
-        return;
-    if( te.taste == T_F2 && te.id == TE_Release )
+    if (status != NLANormal) return;
+    if (te.virtualKey == T_F2 && te.id == TE_Release)
     {
-        if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
+        if (leistenFenster->hatStyle(Fenster::Style::Sichtbar))
             hideBars();
         else
             showBars();
     }
     lockZeichnung();
-    if( fenster )
-        fenster->doTastaturEreignis( te );
+    if (fenster) fenster->doTastaturEreignis(te);
     unlockZeichnung();
 }
 
-bool NachLogin::tick( double tickVal )
+bool NachLogin::tick(double tickVal)
 {
-    if( status == NLASpielVideo )
+    if (status == NLASpielVideo)
     {
         lockZeichnung();
         bool ret = 0;
-        if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
-            ret |= leistenFenster->tick( tickVal );
-        ret |= spielAufzeichnung->tick( tickVal );
+        if (leistenFenster->hatStyle(Fenster::Style::Sichtbar))
+            ret |= leistenFenster->tick(tickVal);
+        ret |= spielAufzeichnung->tick(tickVal);
         unlockZeichnung();
         return ret;
     }
-    if( status == NLAEditor )
+    if (status == NLAEditor)
     {
         lockZeichnung();
         bool ret = 0;
-        if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
-            ret |= leistenFenster->tick( tickVal );
-        ret |= editor->tick( tickVal );
+        if (leistenFenster->hatStyle(Fenster::Style::Sichtbar))
+            ret |= leistenFenster->tick(tickVal);
+        ret |= editor->tick(tickVal);
         unlockZeichnung();
         return ret;
     }
-    if( status == NLAImSpiel )
+    if (status == NLAImSpiel)
     {
         lockZeichnung();
         bool ret = 0;
-        if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
-            ret |= leistenFenster->tick( tickVal );
-        ret |= imSpiel->tick( tickVal );
+        if (leistenFenster->hatStyle(Fenster::Style::Sichtbar))
+            ret |= leistenFenster->tick(tickVal);
+        ret |= imSpiel->tick(tickVal);
         unlockZeichnung();
         return ret;
     }
-    if( status != NLANormal )
-        return 0;
+    if (status != NLANormal) return 0;
     lockZeichnung();
     bool ret = 0;
-    if( titel )
-        ret |= titel->tick();
-    if( fenster )
-        ret |= fenster->tick( tickVal );
+    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 )
+    if (status == NLASpielVideo)
     {
         lockZeichnung();
-        spielAufzeichnung->render( zRObj );
-        if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
-            leistenFenster->render( zRObj );
+        spielAufzeichnung->render(zRObj);
+        if (leistenFenster->hatStyle(Fenster::Style::Sichtbar))
+            leistenFenster->render(zRObj);
         unlockZeichnung();
         return;
     }
-    if( status == NLAEditor )
+    if (status == NLAEditor)
     {
         lockZeichnung();
-        editor->render( zRObj );
-        if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
-            leistenFenster->render( zRObj );
+        editor->render(zRObj);
+        if (leistenFenster->hatStyle(Fenster::Style::Sichtbar))
+            leistenFenster->render(zRObj);
         unlockZeichnung();
         return;
     }
-    if( status == NLAImSpiel )
+    if (status == NLAImSpiel)
     {
         lockZeichnung();
-        imSpiel->render( zRObj );
-        if( leistenFenster->hatStyle( Fenster::Style::Sichtbar ) )
-            leistenFenster->render( zRObj );
+        imSpiel->render(zRObj);
+        if (leistenFenster->hatStyle(Fenster::Style::Sichtbar))
+            leistenFenster->render(zRObj);
         unlockZeichnung();
         return;
     }
-    if( status != NLANormal )
-        return;
+    if (status != NLANormal) return;
     lockZeichnung();
-    if( fenster )
-        fenster->render( zRObj );
+    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;
 }
 
-FreundesListe *NachLogin::zFreundesListe() const // gibt die FreundesListe zurück
+FreundesListe*
+NachLogin::zFreundesListe() const // gibt die FreundesListe zurück
 {
     return freunde;
 }
 
-ChatLeiste *NachLogin::zChatLeiste() const // gibt die ChatLeiste zurück
+ChatLeiste* NachLogin::zChatLeiste() const // gibt die ChatLeiste zurück
 {
     return chatLeiste;
 }
 
-NachrichtenListe *NachLogin::zNachrichtenListe() const // gibt die NachrichtenListe zurück
+NachrichtenListe*
+NachLogin::zNachrichtenListe() const // gibt die NachrichtenListe zurück
 {
     return nachrichtenListe;
 }
 
-Spiele *NachLogin::zSpielenFenster() const // gibt das Spiele Fenster zurück
+Spiele* NachLogin::zSpielenFenster() const // gibt das Spiele Fenster zurück
 {
     return spielenFenster;
 }
 
-Shop *NachLogin::zShopFenster() const // gibt das Shop Fenster zurück
+Shop* NachLogin::zShopFenster() const // gibt das Shop Fenster zurück
 {
     return shopFenster;
 }
 
-AccountAnsehen *NachLogin::zAccountAnsehenFenster() const // gibt das Account Ansehen Fenster zurück
+AccountAnsehen* NachLogin::zAccountAnsehenFenster()
+    const // gibt das Account Ansehen Fenster zurück
 {
     return accountAnsehenFenster;
 }
 
-MiniGames *NachLogin::zMGFenster() const // gibt das MiniGames Fenster zurück
+MiniGames* NachLogin::zMGFenster() const // gibt das MiniGames Fenster zurück
 {
     return mgFenster;
 }
 
-Neuigkeiten *NachLogin::zNewsFenster() const // gibt das News Fenster zurück
+Neuigkeiten* NachLogin::zNewsFenster() const // gibt das News Fenster zurück
 {
     return newsFenster;
 }
 
-Editor *NachLogin::zEditorFenster() const // gibt das News Fenster zurück
+Editor* NachLogin::zEditorFenster() const // gibt das News Fenster zurück
 {
     return editorFenster;
 }
 
-ImSpiel *NachLogin::zImSpiel() const // Gibt das Im Spiel Zeichnung zurück
+ImSpiel* NachLogin::zImSpiel() const // Gibt das Im Spiel Zeichnung zurück
 {
     return imSpiel;
 }
 
-Einstellungen *NachLogin::zEinstellungen() const // Gibt das Einstellungen Zeichnung zurück
+Einstellungen*
+NachLogin::zEinstellungen() const // Gibt das Einstellungen Zeichnung zurück
 {
     return op;
 }

+ 500 - 461
KSGClient/NachLogin/Shop/Karten/KartenKaufen.cpp

@@ -1,18 +1,20 @@
 #include "KartenKaufen.h"
-#include <Rahmen.h>
+
+#include <AlphaFeld.h>
+#include <DateiSystem.h>
+#include <Globals.h>
+#include <KSGTDatei.h>
 #include <Punkt.h>
+#include <Rahmen.h>
+
 #include "../../../Global/Initialisierung.h"
 #include "../../../Global/Variablen.h"
-#include <DateiSystem.h>
-#include <AlphaFeld.h>
-#include <KSGTDatei.h>
-#include <Globals.h>
 
-void KarteKaufenKSGSAktion( void *p, RCArray< KSGSVariable > *parameter, KSGSVariable **retVal )
+void KarteKaufenKSGSAktion(
+    void* p, RCArray<KSGSVariable>* parameter, KSGSVariable** retVal)
 {
-    if( !p )
-        return;
-    ( (KartenKaufenAuswahl *)p )->ksgsAktion( parameter, retVal );
+    if (!p) return;
+    ((KartenKaufenAuswahl*)p)->ksgsAktion(parameter, retVal);
 }
 
 // Inhalt der KartenKaufenAuswahl Klasse aus KartenKaufen.h
@@ -22,65 +24,70 @@ KartenKaufenAuswahl::KartenKaufenAuswahl()
 {
     karteId = 0;
     alpha = 0;
-    ksgs = Framework::getDLLRegister()->ladeDLL( "KSGScript.dll", "data/bin/KSGScript.dll" );
-    if( ksgs )
+    ksgs = Framework::getDLLRegister()->ladeDLL(
+        "KSGScript.dll", "data/bin/KSGScript.dll");
+    if (ksgs)
     {
-        KSGSGetZeichnung getKSGScript = (KSGSGetZeichnung)GetProcAddress( ksgs, KSGS_START_FUNKTION );
-        if( getKSGScript )
+        KSGSGetZeichnung getKSGScript
+            = (KSGSGetZeichnung)GetProcAddress(ksgs, KSGS_START_FUNKTION);
+        if (getKSGScript)
         {
             fenster = getKSGScript();
-            fenster->setSchriftZ( dynamic_cast<Schrift *>( uiFactory.initParam.schrift->getThis() ) );
-            fenster->setSize( 555, 380 );
-            fenster->setCallbackParam( this );
-            fenster->setCallbackFunktion( KarteKaufenKSGSAktion );
+            fenster->setSchriftZ(
+                dynamic_cast<Schrift*>(uiFactory.initParam.schrift->getThis()));
+            fenster->setSize(555, 380);
+            fenster->setCallbackParam(this);
+            fenster->setCallbackFunktion(KarteKaufenKSGSAktion);
         }
         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." ),
-                                                          new Text( "Ok" ), 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."),
+                new Text("Ok"),
+                0);
         }
     }
     else
     {
         fenster = 0;
-        nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                      new Text( "Die DLL-Datei 'data/bin/KSGScript.dll' konnte nicht geladen werden." ),
-                                                      new Text( "Ok" ), 0 );
+        nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+            new Text("Die DLL-Datei 'data/bin/KSGScript.dll' konnte nicht "
+                     "geladen werden."),
+            new Text("Ok"),
+            0);
     }
     ram = new LRahmen();
-    ram->setSize( 555, 380 );
-    ram->setFarbe( 0xFFFFFFFF );
-    laden = (Framework::Animation2D *)ladeAnimation->dublizieren();
-    laden->setPosition( 252, 165 );
-    laden->setSichtbar( 0 );
-    pos = Punkt( 220, 55 );
+    ram->setSize(555, 380);
+    ram->setFarbe(0xFFFFFFFF);
+    laden = (Framework::Animation2D*)ladeAnimation->dublizieren();
+    laden->setPosition(252, 165);
+    laden->setSichtbar(0);
+    pos = Punkt(220, 55);
     aktion = 0;
 }
 
 // Destruktor
 KartenKaufenAuswahl::~KartenKaufenAuswahl()
 {
-    if( fenster )
+    if (fenster)
     {
         fenster->reset();
         fenster->release();
     }
     ram->release();
     laden->release();
-    if( ksgs )
-        Framework::getDLLRegister()->releaseDLL( "KSGScript.dll" );
+    if (ksgs) Framework::getDLLRegister()->releaseDLL("KSGScript.dll");
 }
 
 // nicht constant
-void KartenKaufenAuswahl::ladeKarteSeite( int id )
+void KartenKaufenAuswahl::ladeKarteSeite(int id)
 {
-    if( run )
-        warteAufThread( 2000 );
-    if( run )
-        return;
+    if (run) warteAufThread(2000);
+    if (run) return;
     karteId = id;
     aktion = 1;
     start();
@@ -88,233 +95,254 @@ void KartenKaufenAuswahl::ladeKarteSeite( int id )
 
 void KartenKaufenAuswahl::reset()
 {
-    if( run )
-        warteAufThread( 2000 );
-    if( run )
-        return;
+    if (run) warteAufThread(2000);
+    if (run) return;
     aktion = 0;
     start();
 }
 
 void KartenKaufenAuswahl::thread()
 {
-    laden->setSichtbar( 1 );
-    if( !aktion || karteId )
+    laden->setSichtbar(1);
+    if (!aktion || karteId)
     {
-        while( alpha )
-            Sleep( 100 );
-        if( !aktion )
-            karteId = 0;
-        if( fenster )
-            fenster->reset();
+        while (alpha)
+            Sleep(100);
+        if (!aktion) karteId = 0;
+        if (fenster) fenster->reset();
     }
-    if( aktion )
+    if (aktion)
     {
-        while( alpha )
-            Sleep( 100 );
-        if( !shopClient )
-            shopClient = mainClient->createShopServerClient();
-        if( shopClient && shopClient->verbinde() )
+        while (alpha)
+            Sleep(100);
+        if (!shopClient) shopClient = mainClient->createShopServerClient();
+        if (shopClient && shopClient->verbinde())
         {
-            shopClient->ladeKarteSeite( karteId );
-            shopClient->trenne( 0 );
+            shopClient->ladeKarteSeite(karteId);
+            shopClient->trenne(0);
         }
-        Text *pfad = new Text( "data/tmp/shop/kaufen/karten/" );
-        pfad->append( karteId );
-        pfad->append( "/seite.ksgs" );
-        if( fenster )
+        Text* pfad = new Text("data/tmp/shop/kaufen/karten/");
+        pfad->append(karteId);
+        pfad->append("/seite.ksgs");
+        if (fenster)
         {
-            fenster->setScriptDatei( pfad );
+            fenster->setScriptDatei(pfad);
             fenster->neuLaden();
         }
     }
-    laden->setSichtbar( 0 );
+    laden->setSichtbar(0);
     run = 0;
 }
 
-void KartenKaufenAuswahl::ksgsAktion( RCArray< KSGSVariable > *parameter, KSGSVariable **retVal )
+void KartenKaufenAuswahl::ksgsAktion(
+    RCArray<KSGSVariable>* parameter, KSGSVariable** retVal)
 {
-    KSGSVariable *befehl = parameter->z( 0 );
-    if( !befehl )
-        return;
-    Text *b = befehl->getText();
-    if( !b )
-        return;
-    if( b->istGleich( "GetBesitzStatus" ) )
+    KSGSVariable* befehl = parameter->z(0);
+    if (!befehl) return;
+    Text* b = befehl->getText();
+    if (!b) return;
+    if (b->istGleich("GetBesitzStatus"))
     {
         int besitz = 0;
-        if( !shopClient )
-            shopClient = mainClient->createShopServerClient();
-        if( shopClient && shopClient->verbinde() )
+        if (!shopClient) shopClient = mainClient->createShopServerClient();
+        if (shopClient && shopClient->verbinde())
         {
-            besitz = shopClient->getKarteBesitzStatus( karteId );
-            shopClient->trenne( 0 );
+            besitz = shopClient->getKarteBesitzStatus(karteId);
+            shopClient->trenne(0);
         }
-        KSGSGetVariable getKSGSVariable = (KSGSGetVariable)GetProcAddress( ksgs, KSGS_VARIABLE_FUNKTION );
-        if( getKSGSVariable )
+        KSGSGetVariable getKSGSVariable
+            = (KSGSGetVariable)GetProcAddress(ksgs, KSGS_VARIABLE_FUNKTION);
+        if (getKSGSVariable)
         {
-            KSGSVariableDef def = { KSGS_INT, 0, 3, ( Text() += besitz ).getText() };
-            *retVal = getKSGSVariable( fenster, &def );
+            KSGSVariableDef def
+                = {KSGS_INT, 0, 3, (Text() += besitz).getText()};
+            *retVal = getKSGSVariable(fenster, &def);
         }
         else
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                          new Text( "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION "' in der DLL-Datei "
-                                                                    "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(
+                    "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION
+                    "' in der DLL-Datei "
+                    "'data/bin/KSGScript.dll' konnte nicht gefunden werden."),
+                new Text("Ok"),
+                0);
         }
         b->release();
         return;
     }
-    if( b->istGleich( "GetPreis" ) )
+    if (b->istGleich("GetPreis"))
     {
-        KSGSVariable *version = parameter->z( 1 );
-        if( !version )
+        KSGSVariable* version = parameter->z(1);
+        if (!version)
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                          new Text( "Auf dieser Seite befindet sich ein Fehler im KSG-Script. "
-                                                                    "Sie könnte eventuell nicht richtig funktionieren." ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(
+                    "Auf dieser Seite befindet sich ein Fehler im KSG-Script. "
+                    "Sie könnte eventuell nicht richtig funktionieren."),
+                new Text("Ok"),
+                0);
         }
         else
         {
             bool testVersion = !version->getInt();
             int preis = 0;
-            if( !shopClient )
-                shopClient = mainClient->createShopServerClient();
-            if( shopClient && shopClient->verbinde() )
+            if (!shopClient) shopClient = mainClient->createShopServerClient();
+            if (shopClient && shopClient->verbinde())
             {
-                preis = shopClient->getKartePreis( karteId, testVersion );
-                shopClient->trenne( 0 );
+                preis = shopClient->getKartePreis(karteId, testVersion);
+                shopClient->trenne(0);
             }
-            KSGSGetVariable getKSGSVariable = (KSGSGetVariable)GetProcAddress( ksgs, KSGS_VARIABLE_FUNKTION );
-            if( getKSGSVariable )
+            KSGSGetVariable getKSGSVariable
+                = (KSGSGetVariable)GetProcAddress(ksgs, KSGS_VARIABLE_FUNKTION);
+            if (getKSGSVariable)
             {
-                KSGSVariableDef def = { KSGS_INT, 0, 3, ( Text() += preis ).getText() };
-                *retVal = getKSGSVariable( fenster, &def );
+                KSGSVariableDef def
+                    = {KSGS_INT, 0, 3, (Text() += preis).getText()};
+                *retVal = getKSGSVariable(fenster, &def);
             }
             else
             {
-                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                              new Text( "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION "' in der DLL-Datei "
-                                                                        "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
-                                                              new Text( "Ok" ), 0 );
+                nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                    new Text("Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION
+                             "' in der DLL-Datei "
+                             "'data/bin/KSGScript.dll' konnte nicht gefunden "
+                             "werden."),
+                    new Text("Ok"),
+                    0);
             }
         }
         b->release();
         return;
     }
-    if( b->istGleich( "GetTestVersionVerbleibend" ) )
+    if (b->istGleich("GetTestVersionVerbleibend"))
     {
         int verbleibend = 0;
-        if( !shopClient )
-            shopClient = mainClient->createShopServerClient();
-        if( shopClient && shopClient->verbinde() )
+        if (!shopClient) shopClient = mainClient->createShopServerClient();
+        if (shopClient && shopClient->verbinde())
         {
-            verbleibend = shopClient->getKarteTestversion( karteId );
-            shopClient->trenne( 0 );
+            verbleibend = shopClient->getKarteTestversion(karteId);
+            shopClient->trenne(0);
         }
-        KSGSGetVariable getKSGSVariable = (KSGSGetVariable)GetProcAddress( ksgs, KSGS_VARIABLE_FUNKTION );
-        if( getKSGSVariable )
+        KSGSGetVariable getKSGSVariable
+            = (KSGSGetVariable)GetProcAddress(ksgs, KSGS_VARIABLE_FUNKTION);
+        if (getKSGSVariable)
         {
-            KSGSVariableDef def = { KSGS_INT, 0, 3, ( Text() += verbleibend ).getText() };
-            *retVal = getKSGSVariable( fenster, &def );
+            KSGSVariableDef def
+                = {KSGS_INT, 0, 3, (Text() += verbleibend).getText()};
+            *retVal = getKSGSVariable(fenster, &def);
         }
         else
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                          new Text( "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION "' in der DLL-Datei "
-                                                                    "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(
+                    "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION
+                    "' in der DLL-Datei "
+                    "'data/bin/KSGScript.dll' konnte nicht gefunden werden."),
+                new Text("Ok"),
+                0);
         }
         b->release();
         return;
     }
-    if( b->istGleich( "GetErwerbbarStatus" ) )
+    if (b->istGleich("GetErwerbbarStatus"))
     {
         int erwerbbar = 0;
-        if( !shopClient )
-            shopClient = mainClient->createShopServerClient();
-        if( shopClient && shopClient->verbinde() )
+        if (!shopClient) shopClient = mainClient->createShopServerClient();
+        if (shopClient && shopClient->verbinde())
         {
-            erwerbbar = shopClient->istKarteErwerbbar( karteId );
-            shopClient->trenne( 0 );
+            erwerbbar = shopClient->istKarteErwerbbar(karteId);
+            shopClient->trenne(0);
         }
-        KSGSGetVariable getKSGSVariable = (KSGSGetVariable)GetProcAddress( ksgs, KSGS_VARIABLE_FUNKTION );
-        if( getKSGSVariable )
+        KSGSGetVariable getKSGSVariable
+            = (KSGSGetVariable)GetProcAddress(ksgs, KSGS_VARIABLE_FUNKTION);
+        if (getKSGSVariable)
         {
-            KSGSVariableDef def = { KSGS_INT, 0, 3, ( Text() += erwerbbar ).getText() };
-            *retVal = getKSGSVariable( fenster, &def );
+            KSGSVariableDef def
+                = {KSGS_INT, 0, 3, (Text() += erwerbbar).getText()};
+            *retVal = getKSGSVariable(fenster, &def);
         }
         else
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                          new Text( "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION "' in der DLL-Datei "
-                                                                    "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(
+                    "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION
+                    "' in der DLL-Datei "
+                    "'data/bin/KSGScript.dll' konnte nicht gefunden werden."),
+                new Text("Ok"),
+                0);
         }
         b->release();
         return;
     }
-    if( b->istGleich( "GetKupfer" ) )
+    if (b->istGleich("GetKupfer"))
     {
         int kupfer = infoClient->getKupfer();
-        KSGSGetVariable getKSGSVariable = (KSGSGetVariable)GetProcAddress( ksgs, KSGS_VARIABLE_FUNKTION );
-        if( getKSGSVariable )
+        KSGSGetVariable getKSGSVariable
+            = (KSGSGetVariable)GetProcAddress(ksgs, KSGS_VARIABLE_FUNKTION);
+        if (getKSGSVariable)
         {
-            KSGSVariableDef def = { KSGS_INT, 0, 3, ( Text() += kupfer ).getText() };
-            *retVal = getKSGSVariable( fenster, &def );
+            KSGSVariableDef def
+                = {KSGS_INT, 0, 3, (Text() += kupfer).getText()};
+            *retVal = getKSGSVariable(fenster, &def);
         }
         else
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                          new Text( "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION "' in der DLL-Datei "
-                                                                    "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(
+                    "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION
+                    "' in der DLL-Datei "
+                    "'data/bin/KSGScript.dll' konnte nicht gefunden werden."),
+                new Text("Ok"),
+                0);
         }
         b->release();
         return;
     }
-    if( b->istGleich( "Kaufen" ) )
+    if (b->istGleich("Kaufen"))
     {
-        KSGSVariable *version = parameter->z( 1 );
-        if( !version )
+        KSGSVariable* version = parameter->z(1);
+        if (!version)
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                          new Text( "Auf dieser Seite befindet sich ein Fehler im KSG-Script. "
-                                                                    "Sie könnte eventuell nicht richtig funktionieren." ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(
+                    "Auf dieser Seite befindet sich ein Fehler im KSG-Script. "
+                    "Sie könnte eventuell nicht richtig funktionieren."),
+                new Text("Ok"),
+                0);
         }
         else
         {
             bool testVersion = !version->getInt();
-            if( !shopClient )
-                shopClient = mainClient->createShopServerClient();
-            if( shopClient && shopClient->verbinde() )
+            if (!shopClient) shopClient = mainClient->createShopServerClient();
+            if (shopClient && shopClient->verbinde())
             {
-                if( !shopClient->karteErwerben( karteId, testVersion ) )
+                if (!shopClient->karteErwerben(karteId, testVersion))
                 {
-                    nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                                  new Text( shopClient->getLetzterFehler() ),
-                                                                  new Text( "Ok" ), 0 );
+                    nachLogin->zNachrichtenListe()->addNachricht(
+                        new Text("Fehler"),
+                        new Text(shopClient->getLetzterFehler()),
+                        new Text("Ok"),
+                        0);
                 }
-                shopClient->trenne( 0 );
+                shopClient->trenne(0);
             }
-            else if( shopClient )
+            else if (shopClient)
             {
-                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                              new Text( shopClient->getLetzterFehler() ),
-                                                              new Text( "Ok" ), 0 );
+                nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                    new Text(shopClient->getLetzterFehler()),
+                    new Text("Ok"),
+                    0);
             }
             else
             {
-                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                              new Text( mainClient->getLetzterFehler() ),
-                                                              new Text( "Ok" ), 0 );
+                nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                    new Text(mainClient->getLetzterFehler()),
+                    new Text("Ok"),
+                    0);
             }
-            if( run )
-                warteAufThread( 2000 );
-            if( run )
+            if (run) warteAufThread(2000);
+            if (run)
             {
                 b->release();
                 return;
@@ -325,159 +353,172 @@ void KartenKaufenAuswahl::ksgsAktion( RCArray< KSGSVariable > *parameter, KSGSVa
         b->release();
         return;
     }
-    if( b->istGleich( "GetBild" ) )
+    if (b->istGleich("GetBild"))
     {
-        KSGSVariable *pfad = parameter->z( 1 );
-        KSGSVariable *name = parameter->z( 2 );
-        if( !pfad || !name )
+        KSGSVariable* pfad = parameter->z(1);
+        KSGSVariable* name = parameter->z(2);
+        if (!pfad || !name)
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                          new Text( "Auf dieser Seite befindet sich ein Fehler im KSG-Script. "
-                                                                    "Sie könnte eventuell nicht richtig funktionieren." ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(
+                    "Auf dieser Seite befindet sich ein Fehler im KSG-Script. "
+                    "Sie könnte eventuell nicht richtig funktionieren."),
+                new Text("Ok"),
+                0);
         }
         else
         {
-            Text *pf = pfad->getText();
-            Text *n = name->getText();
-            if( !pf || !n )
+            Text* pf = pfad->getText();
+            Text* n = name->getText();
+            if (!pf || !n)
             {
-                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                              new Text( "Auf dieser Seite befindet sich ein Fehler im KSG-Script. "
-                                                                        "Sie könnte eventuell nicht richtig funktionieren." ),
-                                                              new Text( "Ok" ), 0 );
+                nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                    new Text(
+                        "Auf dieser Seite befindet sich ein Fehler im "
+                        "KSG-Script. "
+                        "Sie könnte eventuell nicht richtig funktionieren."),
+                    new Text("Ok"),
+                    0);
             }
             else
             {
-                KSGSGetVariable getKSGSVariable = (KSGSGetVariable)GetProcAddress( ksgs, KSGS_VARIABLE_FUNKTION );
-                if( getKSGSVariable )
+                KSGSGetVariable getKSGSVariable
+                    = (KSGSGetVariable)GetProcAddress(
+                        ksgs, KSGS_VARIABLE_FUNKTION);
+                if (getKSGSVariable)
                 {
-                    int p = n->positionVon( ".ltdb/" );
-                    if( p < 0 )
+                    int p = n->positionVon(".ltdb/");
+                    if (p < 0)
                         p = 0;
                     else
                         p += 6;
-                    Text nn = Text( pf->getText() ) + "/" + (const char *)( n->getText() + p );
-                    Bild *b = bilder->get( nn );
-                    if( b )
+                    Text nn = Text(pf->getText()) + "/"
+                            + (const char*)(n->getText() + p);
+                    Bild* b = bilder->get(nn);
+                    if (b)
                     {
-                        KSGSVariableDef def = { KSGS_BILD, 0, 3, "" };
-                        KSGSVariable *ret = getKSGSVariable( fenster, &def );
-                        KSGSSetBild setKSGSBild = (KSGSSetBild)GetProcAddress( ksgs, KSGS_SET_BILD_FUNKTION );
-                        if( !setKSGSBild )
+                        KSGSVariableDef def = {KSGS_BILD, 0, 3, ""};
+                        KSGSVariable* ret = getKSGSVariable(fenster, &def);
+                        KSGSSetBild setKSGSBild = (KSGSSetBild)GetProcAddress(
+                            ksgs, KSGS_SET_BILD_FUNKTION);
+                        if (!setKSGSBild)
                         {
-                            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                                          new Text( "Der Einstiegspunkt '" KSGS_SET_BILD_FUNKTION "' in der DLL-Datei "
-                                                                                    "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
-                                                                          new Text( "Ok" ), 0 );
+                            nachLogin->zNachrichtenListe()->addNachricht(
+                                new Text("Fehler"),
+                                new Text("Der Einstiegspunkt "
+                                         "'" KSGS_SET_BILD_FUNKTION
+                                         "' in der DLL-Datei "
+                                         "'data/bin/KSGScript.dll' konnte "
+                                         "nicht gefunden werden."),
+                                new Text("Ok"),
+                                0);
                             b->release();
                         }
                         else
-                            setKSGSBild( ret, b );
+                            setKSGSBild(ret, b);
                         *retVal = ret;
                     }
                 }
                 else
                 {
-                    nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                                  new Text( "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION "' in der DLL-Datei "
-                                                                            "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
-                                                                  new Text( "Ok" ), 0 );
+                    nachLogin->zNachrichtenListe()->addNachricht(
+                        new Text("Fehler"),
+                        new Text("Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION
+                                 "' in der DLL-Datei "
+                                 "'data/bin/KSGScript.dll' konnte nicht "
+                                 "gefunden werden."),
+                        new Text("Ok"),
+                        0);
                 }
             }
-            if( pf )
-                pf->release();
-            if( n )
-                n->release();
+            if (pf) pf->release();
+            if (n) n->release();
         }
         b->release();
         return;
     }
 }
 
-void KartenKaufenAuswahl::doPublicMausEreignis( MausEreignis &me )
+void KartenKaufenAuswahl::doPublicMausEreignis(MausEreignis& me)
 {
-    if( run )
-        return;
+    if (run) return;
     me.mx -= pos.x;
     me.my -= pos.y;
-    if( fenster )
-        fenster->doPublicMausEreignis( me );
+    if (fenster) fenster->doPublicMausEreignis(me);
     me.mx += pos.x;
     me.my += pos.y;
 }
 
-void KartenKaufenAuswahl::doTastaturEreignis( TastaturEreignis &te )
+void KartenKaufenAuswahl::doTastaturEreignis(TastaturEreignis& te)
 {
-    if( run )
-        return;
-    if( fenster )
-        fenster->doTastaturEreignis( te );
+    if (run) return;
+    if (fenster) fenster->doTastaturEreignis(te);
 }
 
-bool KartenKaufenAuswahl::tick( double zeit )
+bool KartenKaufenAuswahl::tick(double zeit)
 {
-    bool rend = ( fenster && !run ) ? fenster->tick( zeit ) : 0;
-    rend |= laden->tick( zeit );
-    if( ( run || !karteId ) && alpha > 0 )
+    bool rend = (fenster && !run) ? fenster->tick(zeit) : 0;
+    rend |= laden->tick(zeit);
+    if ((run || !karteId) && alpha > 0)
     {
-        if( alpha - zeit * 150 < 0 )
+        if (alpha - zeit * 150 < 0)
             alpha = 0;
         else
-            alpha -= (unsigned char)( zeit * 150 );
+            alpha -= (unsigned char)(zeit * 150);
         rend = 1;
     }
-    if( !run && karteId && alpha < 255 )
+    if (!run && karteId && alpha < 255)
     {
-        if( alpha + zeit * 150 > 255 )
+        if (alpha + zeit * 150 > 255)
             alpha = 255;
         else
-            alpha += (unsigned char)( zeit * 150 );
+            alpha += (unsigned char)(zeit * 150);
         rend = 1;
     }
     return rend;
 }
 
-void KartenKaufenAuswahl::render( Bild &zRObj )
+void KartenKaufenAuswahl::render(Bild& zRObj)
 {
-    if( !zRObj.setDrawOptions( pos.x, pos.y, ram->getBreite(), ram->getHeight() ) )
+    if (!zRObj.setDrawOptions(pos.x, pos.y, ram->getBreite(), ram->getHeight()))
         return;
-    zRObj.setAlpha( alpha );
-    ram->render( zRObj );
-    if( fenster )
-        fenster->render( zRObj );
+    zRObj.setAlpha(alpha);
+    ram->render(zRObj);
+    if (fenster) fenster->render(zRObj);
     zRObj.releaseAlpha();
-    laden->render( zRObj );
+    laden->render(zRObj);
     zRObj.releaseDrawOptions();
 }
 
-
 // Inhalt der KartenKaufenListeEintrag Klasse aus KartenKaufen.h
 // Konstruktor
-KartenKaufenListeEintrag::KartenKaufenListeEintrag( int id )
+KartenKaufenListeEintrag::KartenKaufenListeEintrag(int id)
     : ReferenceCounter()
 {
     karteId = id;
-    auswählen = initKnopf( 173, 73, 22, 22, 0, "" );
-    auswählen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Rahmen | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-    auswählen->setHintergrundBildZ( bilder->get( "data/client/bilder/shop.ltdb/weiter.png" ) );
-    initToolTip( auswählen, "Karte auswählen." );
-    auswählen->setRahmenBreite( 1 );
-    LTDBDatei *datei = new LTDBDatei();
-    Text *bdpf = new Text( "data/tmp/shop/kaufen/karten/" );
-    bdpf->append( id );
-    bdpf->append( "/titelbg.ltdb" );
-    datei->setDatei( bdpf );
-    hintergrund = datei->laden( 0, new Text( "auswbg.jpg" ) );
+    auswählen = initKnopf(173, 73, 22, 22, 0, "");
+    auswählen->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Erlaubt
+                        | Knopf::Style::Rahmen | Knopf::Style::Hintergrund
+                        | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
+    auswählen->setHintergrundBildZ(
+        bilder->get("data/client/bilder/shop.ltdb/weiter.png"));
+    initToolTip(auswählen, "Karte auswählen.");
+    auswählen->setRahmenBreite(1);
+    LTDBDatei* datei = new LTDBDatei();
+    Text* bdpf = new Text("data/tmp/shop/kaufen/karten/");
+    bdpf->append(id);
+    bdpf->append("/titelbg.ltdb");
+    datei->setDatei(bdpf);
+    hintergrund = datei->laden(0, new Text("auswbg.jpg"));
     datei->release();
     ausgewählt = new AlphaFeld();
-    ausgewählt->setPosition( 1, 1 );
-    ausgewählt->setSize( 198, 98 );
-    ausgewählt->setFarbe( 0x0000FF00 );
-    ausgewählt->setStrength( 10 );
+    ausgewählt->setPosition(1, 1);
+    ausgewählt->setSize(198, 98);
+    ausgewählt->setFarbe(0x0000FF00);
+    ausgewählt->setStrength(10);
     ram = new LRahmen();
-    ram->setSize( 200, 100 );
-    ram->setFarbe( 0xFFFFFFFF );
+    ram->setSize(200, 100);
+    ram->setFarbe(0xFFFFFFFF);
     ausw = 0;
     rend = 0;
 }
@@ -486,8 +527,7 @@ KartenKaufenListeEintrag::KartenKaufenListeEintrag( int id )
 KartenKaufenListeEintrag::~KartenKaufenListeEintrag()
 {
     auswählen->release();
-    if( hintergrund )
-        hintergrund->release();
+    if (hintergrund) hintergrund->release();
     ausgewählt->release();
     ram->release();
 }
@@ -498,11 +538,11 @@ void KartenKaufenListeEintrag::resetAuswahl()
     ausw = 0;
 }
 
-bool KartenKaufenListeEintrag::doPublicMausEreignis( MausEreignis &me )
+bool KartenKaufenListeEintrag::doPublicMausEreignis(MausEreignis& me)
 {
     bool vera = me.verarbeitet;
-    auswählen->doPublicMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    auswählen->doPublicMausEreignis(me);
+    if (!vera && me.verarbeitet && me.id == ME_RLinks)
     {
         ausw = 1;
         return 1;
@@ -510,27 +550,29 @@ bool KartenKaufenListeEintrag::doPublicMausEreignis( MausEreignis &me )
     return 0;
 }
 
-bool KartenKaufenListeEintrag::tick( double zeit )
+bool KartenKaufenListeEintrag::tick(double zeit)
 {
-    rend |= ausgewählt->tick( zeit );
-    rend |= auswählen->tick( zeit );
-    int a = ( ausgewählt->getFarbe() >> 24 ) & 0xFF;
-    if( ausw && a < 255 )
+    rend |= ausgewählt->tick(zeit);
+    rend |= auswählen->tick(zeit);
+    int a = (ausgewählt->getFarbe() >> 24) & 0xFF;
+    if (ausw && a < 255)
     {
-        if( a + 150 * zeit > 255 )
+        if (a + 150 * zeit > 255)
             a = 255;
         else
-            a += (int)( zeit * 150 );
-        ausgewählt->setFarbe( ( ( a << 24 ) & 0xFF000000 ) | ( ausgewählt->getFarbe() & 0xFFFFFF ) );
+            a += (int)(zeit * 150);
+        ausgewählt->setFarbe(
+            ((a << 24) & 0xFF000000) | (ausgewählt->getFarbe() & 0xFFFFFF));
         rend = 1;
     }
-    if( !ausw && a > 0 )
+    if (!ausw && a > 0)
     {
-        if( a - 150 * zeit < 0 )
+        if (a - 150 * zeit < 0)
             a = 0;
         else
-            a += (int)( zeit * 150 );
-        ausgewählt->setFarbe( ( ( a << 24 ) & 0xFF000000 ) | ( ausgewählt->getFarbe() & 0xFFFFFF ) );
+            a += (int)(zeit * 150);
+        ausgewählt->setFarbe(
+            ((a << 24) & 0xFF000000) | (ausgewählt->getFarbe() & 0xFFFFFF));
         rend = 1;
     }
     bool ret = rend;
@@ -538,15 +580,13 @@ bool KartenKaufenListeEintrag::tick( double zeit )
     return ret;
 }
 
-void KartenKaufenListeEintrag::render( int yOff, Bild &zRObj )
+void KartenKaufenListeEintrag::render(int yOff, Bild& zRObj)
 {
-    if( !zRObj.setDrawOptions( 0, yOff, 200, 100 ) )
-        return;
-    ram->render( zRObj );
-    if( hintergrund )
-        zRObj.drawBild( 1, 1, 198, 98, *hintergrund );
-    ausgewählt->render( zRObj );
-    auswählen->render( zRObj );
+    if (!zRObj.setDrawOptions(0, yOff, 200, 100)) return;
+    ram->render(zRObj);
+    if (hintergrund) zRObj.drawBild(1, 1, 198, 98, *hintergrund);
+    ausgewählt->render(zRObj);
+    auswählen->render(zRObj);
     zRObj.releaseDrawOptions();
 }
 
@@ -556,20 +596,19 @@ int KartenKaufenListeEintrag::getKarteId() const
     return karteId;
 }
 
-
 // Inhalt der KartenKaufenListe Klasse aus KartenKaufen.h
 // Konstruktor
 KartenKaufenListe::KartenKaufenListe()
     : ReferenceCounter()
 {
-    pos = Punkt( 5, 55 );
+    pos = Punkt(5, 55);
     ram = new LRahmen();
-    ram->setSize( 215, 380 );
-    ram->setFarbe( 0xFFFFFFFF );
-    einträge = new RCArray< KartenKaufenListeEintrag >();
+    ram->setSize(215, 380);
+    ram->setFarbe(0xFFFFFFFF);
+    einträge = new RCArray<KartenKaufenListeEintrag>();
     vScroll = new VScrollBar();
-    vScroll->setKlickScroll( 10 );
-    vScroll->update( 0, 380 );
+    vScroll->setKlickScroll(10);
+    vScroll->update(0, 380);
     rend = 0;
 }
 
@@ -582,22 +621,22 @@ KartenKaufenListe::~KartenKaufenListe()
 }
 
 // nicht constant
-void KartenKaufenListe::ladeKarten( Array< int > *karten )
+void KartenKaufenListe::ladeKarten(Array<int>* karten)
 {
     leeren();
     int anz = karten->getEintragAnzahl();
-    if( !shopClient )
-        shopClient = mainClient->createShopServerClient();
-    if( shopClient && shopClient->verbinde() )
+    if (!shopClient) shopClient = mainClient->createShopServerClient();
+    if (shopClient && shopClient->verbinde())
     {
-        for( int i = 0; i < anz; i++ )
+        for (int i = 0; i < anz; i++)
         {
-            if( shopClient->ladeKarteTitel( karten->hat( i ) ? karten->get( i ) : 0 ) )
-                einträge->add( new KartenKaufenListeEintrag( karten->hat( i ) ? karten->get( i ) : 0 ) );
+            if (shopClient->ladeKarteTitel(karten->hat(i) ? karten->get(i) : 0))
+                einträge->add(new KartenKaufenListeEintrag(
+                    karten->hat(i) ? karten->get(i) : 0));
         }
-        shopClient->trenne( 0 );
+        shopClient->trenne(0);
     }
-    vScroll->update( anz * 100, 380 );
+    vScroll->update(anz * 100, 380);
     rend = 1;
 }
 
@@ -606,33 +645,33 @@ void KartenKaufenListe::leeren()
     cs.lock();
     einträge->leeren();
     cs.unlock();
-    vScroll->update( 0, 380 );
+    vScroll->update(0, 380);
     rend = 1;
 }
 
-int KartenKaufenListe::doPublicMausEreignis( MausEreignis &me )
+int KartenKaufenListe::doPublicMausEreignis(MausEreignis& me)
 {
     int mx = me.mx;
     int my = me.my;
     me.mx -= pos.x;
     me.my -= pos.y;
-    vScroll->doMausMessage( 200, 0, 15, 380, me );
+    vScroll->doMausMessage(200, 0, 15, 380, me);
     me.my += vScroll->getScroll();
     int ret = 0;
     cs.lock();
     int anz = einträge->getEintragAnzahl();
-    for( int i = 0; i < anz; i++ )
+    for (int i = 0; i < anz; i++)
     {
-        if( einträge->z( i )->doPublicMausEreignis( me ) )
-            ret = einträge->z( i )->getKarteId();
+        if (einträge->z(i)->doPublicMausEreignis(me))
+            ret = einträge->z(i)->getKarteId();
         me.my += 100;
     }
-    if( ret )
+    if (ret)
     {
-        for( int i = 0; i < anz; i++ )
+        for (int i = 0; i < anz; i++)
         {
-            if( einträge->z( i )->getKarteId() != ret )
-                einträge->z( i )->resetAuswahl();
+            if (einträge->z(i)->getKarteId() != ret)
+                einträge->z(i)->resetAuswahl();
         }
     }
     cs.unlock();
@@ -641,32 +680,31 @@ int KartenKaufenListe::doPublicMausEreignis( MausEreignis &me )
     return ret;
 }
 
-bool KartenKaufenListe::tick( double zeit )
+bool KartenKaufenListe::tick(double zeit)
 {
     rend |= vScroll->getRend();
     cs.lock();
     int anz = einträge->getEintragAnzahl();
-    for( int i = 0; i < anz; i++ )
-        rend |= einträge->z( i )->tick( zeit );
+    for (int i = 0; i < anz; i++)
+        rend |= einträge->z(i)->tick(zeit);
     cs.unlock();
     bool ret = rend;
     rend = 0;
     return ret;
 }
 
-void KartenKaufenListe::render( Bild &zRObj )
+void KartenKaufenListe::render(Bild& zRObj)
 {
     int br = ram->getBreite();
     int hö = ram->getHeight();
-    if( !zRObj.setDrawOptions( pos.x, pos.y, br, hö ) )
-        return;
-    ram->render( zRObj );
+    if (!zRObj.setDrawOptions(pos.x, pos.y, br, hö)) return;
+    ram->render(zRObj);
     cs.lock();
     int anz = einträge->getEintragAnzahl();
-    for( int i = 0; i < anz; i++ )
-        einträge->z( i )->render( i * 100 - vScroll->getScroll(), zRObj );
+    for (int i = 0; i < anz; i++)
+        einträge->z(i)->render(i * 100 - vScroll->getScroll(), zRObj);
     cs.unlock();
-    vScroll->render( 200, 0, 15, 380, zRObj );
+    vScroll->render(200, 0, 15, 380, zRObj);
     zRObj.releaseDrawOptions();
 }
 
@@ -676,46 +714,57 @@ int KartenKaufenListe::getEintragAnzahl()
     return einträge->getEintragAnzahl();
 }
 
-
 // Inhalt der KartenKaufen Klasse aus KartenKaufen.h
 // Konstruktor
 KartenKaufen::KartenKaufen()
     : Thread()
 {
-    Bild *shopZurück = bilder->get( "data/client/bilder/shop.ltdb/zurück.png" );
-    Bild *shopWeiter = bilder->get( "data/client/bilder/shop.ltdb/weiter.png" );
+    Bild* shopZurück = bilder->get("data/client/bilder/shop.ltdb/zurück.png");
+    Bild* shopWeiter = bilder->get("data/client/bilder/shop.ltdb/weiter.png");
     alpha = 255;
     sichtbar = 0;
-    suchText = new Text( "" );
+    suchText = new Text("");
     ram = new LRahmen();
-    ram->setSize( 780, 440 );
-    ram->setFarbe( 0xFFFFFFFF );
-    pos = Punkt( 10, 50 );
-    spielArt = uiFactory.createAuswahlBox( uiFactory.initParam );
-    spielArt->setStyle( AuswahlBox::Style::AuswahlBuffer | AuswahlBox::Style::MausBuffer | AuswahlBox::Style::Erlaubt | AuswahlBox::Style::Hintergrund |
-                        AuswahlBox::Style::Rahmen | AuswahlBox::Style::Sichtbar | AuswahlBox::Style::VScroll | AuswahlBox::Style::MaxHeight );
-    spielArt->setSize( 200, 20 );
-    spielArt->setPosition( 5, 5 );
-    spielArt->setEintragHeight( 20 );
-    spielArt->addEintrag( "Spiel Art wählen" );
-    suchFilterT = initTextFeld( 210, 5, 70, 20, TextFeld::Style::Text, "Suchfilter:" );
-    suchFilter = initTextFeld( 285, 5, 225, 20, TextFeld::Style::TextFeld, "" );
-    initToolTip( suchFilter, "Gebe etwas vom Namen der Karte ein, nach der du suchst." );
-    suchen = initKnopf( 515, 5, 100, 20, Knopf::Style::Sichtbar, "suchen" );
-    seiten = initTextFeld( 55, 30, 250, 20, TextFeld::Style::Text | TextFeld::Style::VCenter, "Seite 0 von 0, 0 Funde." );
-    zurück = initKnopf( 5, 30, 20, 20, 0, "" );
-    zurück->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-    zurück->setHintergrundBildZ( shopZurück );
-    initToolTip( zurück, "Seite zurück blättern." );
-    weiter = initKnopf( 30, 30, 20, 20, 0, "" );
-    weiter->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-    weiter->setHintergrundBildZ( shopWeiter );
-    initToolTip( weiter, "Seite weiter blättern." );
+    ram->setSize(780, 440);
+    ram->setFarbe(0xFFFFFFFF);
+    pos = Punkt(10, 50);
+    spielArt = uiFactory.createAuswahlBox(uiFactory.initParam);
+    spielArt->setStyle(
+        AuswahlBox::Style::AuswahlBuffer | AuswahlBox::Style::MausBuffer
+        | AuswahlBox::Style::Erlaubt | AuswahlBox::Style::Hintergrund
+        | AuswahlBox::Style::Rahmen | AuswahlBox::Style::Sichtbar
+        | AuswahlBox::Style::VScroll | AuswahlBox::Style::MaxHeight);
+    spielArt->setSize(200, 20);
+    spielArt->setPosition(5, 5);
+    spielArt->setEintragHeight(20);
+    spielArt->addEintrag("Spiel Art wählen");
+    suchFilterT
+        = initTextFeld(210, 5, 70, 20, TextFeld::Style::Text, "Suchfilter:");
+    suchFilter = initTextFeld(285, 5, 225, 20, TextFeld::Style::TextFeld, "");
+    initToolTip(
+        suchFilter, "Gebe etwas vom Namen der Karte ein, nach der du suchst.");
+    suchen = initKnopf(515, 5, 100, 20, Knopf::Style::Sichtbar, "suchen");
+    seiten = initTextFeld(55,
+        30,
+        250,
+        20,
+        TextFeld::Style::Text | TextFeld::Style::VCenter,
+        "Seite 0 von 0, 0 Funde.");
+    zurück = initKnopf(5, 30, 20, 20, 0, "");
+    zurück->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Hintergrund
+                     | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
+    zurück->setHintergrundBildZ(shopZurück);
+    initToolTip(zurück, "Seite zurück blättern.");
+    weiter = initKnopf(30, 30, 20, 20, 0, "");
+    weiter->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Hintergrund
+                     | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
+    weiter->setHintergrundBildZ(shopWeiter);
+    initToolTip(weiter, "Seite weiter blättern.");
     liste = new KartenKaufenListe();
     auswahl = new KartenKaufenAuswahl();
-    laden = (Framework::Animation2D *)ladeAnimation->dublizieren();
-    laden->setPosition( 365, 195 );
-    laden->setSichtbar( 0 );
+    laden = (Framework::Animation2D*)ladeAnimation->dublizieren();
+    laden->setPosition(365, 195);
+    laden->setSichtbar(0);
     tickVal = 0;
     seite = 0;
     maxSeite = 0;
@@ -737,17 +786,17 @@ KartenKaufen::~KartenKaufen()
     weiter->release();
     zurück->release();
     liste->release();
-    auswahl->warteAufThread( 10000 );
+    auswahl->warteAufThread(10000);
     auswahl->ende();
     auswahl->release();
     laden->release();
 }
 
 // nicht constant
-void KartenKaufen::setSichtbar( bool sicht )
+void KartenKaufen::setSichtbar(bool sicht)
 {
     sichtbar = sicht;
-    if( !run && sichtbar )
+    if (!run && sichtbar)
     {
         aktion = 0;
         start();
@@ -756,128 +805,123 @@ void KartenKaufen::setSichtbar( bool sicht )
 
 void KartenKaufen::thread()
 {
-    laden->setSichtbar( 1 );
-    if( !aktion )
+    laden->setSichtbar(1);
+    if (!aktion)
     {
-        Array< int > *saList = infoClient->getAccountSpielArtListe();
-        if( saList )
+        Array<int>* saList = infoClient->getAccountSpielArtListe();
+        if (saList)
         {
-            RCArray< Text > *saNamen = new RCArray< Text >();
+            RCArray<Text>* saNamen = new RCArray<Text>();
             int anz = saList->getEintragAnzahl();
-            for( int i = 0; i < anz; i++ )
+            for (int i = 0; i < anz; i++)
             {
-                if( !saList->hat( i ) )
-                    continue;
-                Text *name = infoClient->getSpielName( saList->hat( i ) ? saList->get( i ) : 0 );
-                if( name )
-                    saNamen->add( name );
+                if (!saList->hat(i)) continue;
+                Text* name = infoClient->getSpielName(
+                    saList->hat(i) ? saList->get(i) : 0);
+                if (name) saNamen->add(name);
             }
             spielArt->lockZeichnung();
-            spielArt->setAuswahl( 0 );
+            spielArt->setAuswahl(0);
             anz = spielArt->getEintragAnzahl();
-            for( int i = 1; i < anz; i++ )
-                spielArt->removeEintrag( 1 );
+            for (int i = 1; i < anz; i++)
+                spielArt->removeEintrag(1);
             anz = saNamen->getEintragAnzahl();
-            for( int i = 0; i < anz; i++ )
+            for (int i = 0; i < anz; i++)
             {
-                if( saNamen->z( i ) )
-                    spielArt->addEintrag( saNamen->z( i )->getText() );
+                if (saNamen->z(i))
+                    spielArt->addEintrag(saNamen->z(i)->getText());
             }
             spielArt->unlockZeichnung();
             saNamen->release();
             saList->release();
         }
-        if( !liste->getEintragAnzahl() )
+        if (!liste->getEintragAnzahl())
         {
             uiFactory.initParam.bildschirm->lock();
-            suchText->setText( suchFilter->zText()->getText() );
+            suchText->setText(suchFilter->zText()->getText());
             seite = 1;
             maxSeite = 1;
             aktion = 1;
             uiFactory.initParam.bildschirm->unlock();
         }
-        if( !aktion )
+        if (!aktion)
         {
-            laden->setSichtbar( 0 );
+            laden->setSichtbar(0);
             return;
         }
     }
     int spielArtId = 0;
-    if( spielArt->getAuswahl() > 0 )
-        spielArtId = infoClient->getSpielId( spielArt->zEintrag( spielArt->getAuswahl() )->zText()->getText() );
-    Array< int > *list = 0;
-    if( !shopClient )
-        shopClient = mainClient->createShopServerClient();
-    if( shopClient && shopClient->verbinde() )
+    if (spielArt->getAuswahl() > 0)
+        spielArtId = infoClient->getSpielId(
+            spielArt->zEintrag(spielArt->getAuswahl())->zText()->getText());
+    Array<int>* list = 0;
+    if (!shopClient) shopClient = mainClient->createShopServerClient();
+    if (shopClient && shopClient->verbinde())
     {
-        list = shopClient->suchKarten( suchText->getText(), spielArtId );
-        shopClient->trenne( 0 );
+        list = shopClient->suchKarten(suchText->getText(), spielArtId);
+        shopClient->trenne(0);
     }
-    if( !list )
+    if (!list)
     {
-        laden->setSichtbar( 0 );
+        laden->setSichtbar(0);
         run = 0;
         return;
     }
-    Array< int > *slist = new Array< int >();
+    Array<int>* slist = new Array<int>();
     int anz = list->getEintragAnzahl();
     maxSeite = anz / 10 + 1;
-    if( !( anz % 10 ) )
-        maxSeite--;
-    while( anz <= seite * 10 && seite > 0 )
+    if (!(anz % 10)) maxSeite--;
+    while (anz <= seite * 10 && seite > 0)
         seite--;
-    for( int i = seite * 10; i < anz && i < seite * 10 + 10; i++ )
-        slist->add( list->hat( i ) ? list->get( i ) : 0 );
+    for (int i = seite * 10; i < anz && i < seite * 10 + 10; i++)
+        slist->add(list->hat(i) ? list->get(i) : 0);
     list->release();
     auswahl->reset();
-    liste->ladeKarten( slist );
+    liste->ladeKarten(slist);
     slist->release();
-    Text *t = new Text( "Seite " );
-    t->append( maxSeite ? seite + 1 : 0 );
-    t->append( " von " );
-    t->append( maxSeite );
-    t->append( ", " );
-    t->append( anz );
-    if( anz == 1 )
-        t->append( " Fund." );
+    Text* t = new Text("Seite ");
+    t->append(maxSeite ? seite + 1 : 0);
+    t->append(" von ");
+    t->append(maxSeite);
+    t->append(", ");
+    t->append(anz);
+    if (anz == 1)
+        t->append(" Fund.");
     else
-        t->append( " Funde." );
-    seiten->setText( t );
-    zurück->setStyle( TextFeld::Style::Erlaubt, seite > 0 );
-    weiter->setStyle( TextFeld::Style::Erlaubt, seite + 1 < maxSeite );
-    laden->setSichtbar( 0 );
+        t->append(" Funde.");
+    seiten->setText(t);
+    zurück->setStyle(TextFeld::Style::Erlaubt, seite > 0);
+    weiter->setStyle(TextFeld::Style::Erlaubt, seite + 1 < maxSeite);
+    laden->setSichtbar(0);
 }
 
-void KartenKaufen::doPublicMausEreignis( MausEreignis &me )
+void KartenKaufen::doPublicMausEreignis(MausEreignis& me)
 {
-    if( !sichtbar || run )
-        return;
+    if (!sichtbar || run) return;
     int mx = me.mx;
     int my = me.my;
     me.mx -= pos.x;
     me.my -= pos.y;
-    spielArt->doPublicMausEreignis( me );
-    suchFilter->doPublicMausEreignis( me );
-    int auswId = liste->doPublicMausEreignis( me );
-    if( auswId )
-        auswahl->ladeKarteSeite( auswId );
-    auswahl->doPublicMausEreignis( me );
+    spielArt->doPublicMausEreignis(me);
+    suchFilter->doPublicMausEreignis(me);
+    int auswId = liste->doPublicMausEreignis(me);
+    if (auswId) auswahl->ladeKarteSeite(auswId);
+    auswahl->doPublicMausEreignis(me);
     int ak = 0;
     bool tmp = me.verarbeitet;
-    suchen->doPublicMausEreignis( me );
+    suchen->doPublicMausEreignis(me);
     ak = me.verarbeitet ? 1 : 0;
-    zurück->doPublicMausEreignis( me );
+    zurück->doPublicMausEreignis(me);
     ak = me.verarbeitet && !ak ? 2 : ak;
-    weiter->doPublicMausEreignis( me );
+    weiter->doPublicMausEreignis(me);
     ak = me.verarbeitet && !ak ? 3 : ak;
-    if( tmp )
-        ak = 0;
-    if( me.id == ME_RLinks )
+    if (tmp) ak = 0;
+    if (me.id == ME_RLinks)
     {
-        switch( ak )
+        switch (ak)
         {
         case 1: // Suchen
-            suchText->setText( suchFilter->zText()->getText() );
+            suchText->setText(suchFilter->zText()->getText());
             seite = 1;
             maxSeite = 1;
             aktion = 1;
@@ -885,15 +929,13 @@ void KartenKaufen::doPublicMausEreignis( MausEreignis &me )
             break;
         case 2: // Seite zurück blättern
             seite--;
-            if( seite < 1 )
-                seite = 1;
+            if (seite < 1) seite = 1;
             aktion = 1;
             start();
             break;
         case 3: // Seite vorwärts blättern
             seite++;
-            if( seite > maxSeite )
-                seite = maxSeite;
+            if (seite > maxSeite) seite = maxSeite;
             aktion = 1;
             start();
             break;
@@ -903,58 +945,57 @@ void KartenKaufen::doPublicMausEreignis( MausEreignis &me )
     me.my = my;
 }
 
-void KartenKaufen::doTastaturEreignis( TastaturEreignis &te )
+void KartenKaufen::doTastaturEreignis(TastaturEreignis& te)
 {
-    if( !sichtbar || run )
-        return;
+    if (!sichtbar || run) return;
     bool vera = te.verarbeitet;
-    suchFilter->doTastaturEreignis( te );
-    if( !vera && te.verarbeitet && te.taste == T_Enter && te.id == TE_Release )
+    suchFilter->doTastaturEreignis(te);
+    if (!vera && te.verarbeitet && te.virtualKey == T_Enter
+        && te.id == TE_Release)
     {
         MausEreignis me;
         me.id = ME_RLinks;
         me.verarbeitet = 0;
         me.mx = suchen->getX() + 1 + pos.x;
         me.my = suchen->getY() + 1 + pos.y;
-        doPublicMausEreignis( me );
+        doPublicMausEreignis(me);
     }
-    auswahl->doTastaturEreignis( te );
+    auswahl->doTastaturEreignis(te);
 }
 
-bool KartenKaufen::tick( double zeit )
+bool KartenKaufen::tick(double zeit)
 {
-    rend |= spielArt->tick( zeit );
-    rend |= suchFilter->tick( zeit );
-    rend |= suchen->tick( zeit );
-    rend |= weiter->tick( zeit );
-    rend |= zurück->tick( zeit );
-    rend |= liste->tick( zeit );
-    rend |= auswahl->tick( zeit );
-    rend |= laden->tick( zeit );
+    rend |= spielArt->tick(zeit);
+    rend |= suchFilter->tick(zeit);
+    rend |= suchen->tick(zeit);
+    rend |= weiter->tick(zeit);
+    rend |= zurück->tick(zeit);
+    rend |= liste->tick(zeit);
+    rend |= auswahl->tick(zeit);
+    rend |= laden->tick(zeit);
     tickVal += zeit * 250;
     int val = (int)tickVal;
-    if( val < 1 )
+    if (val < 1)
     {
         bool ret = rend;
         rend = 0;
         return ret;
     }
-    if( val > 10 )
-        val = 10;
+    if (val > 10) val = 10;
     tickVal -= val;
-    if( sichtbar && alpha != 255 && !run )
+    if (sichtbar && alpha != 255 && !run)
     {
-        if( alpha + val > 255 )
+        if (alpha + val > 255)
             alpha = 255;
         else
             alpha += val;
         rend = 1;
     }
-    if( sichtbar && alpha != 125 && run )
+    if (sichtbar && alpha != 125 && run)
     {
-        if( alpha > 125 )
+        if (alpha > 125)
         {
-            if( alpha - val < 125 )
+            if (alpha - val < 125)
                 alpha = 125;
             else
                 alpha -= val;
@@ -962,16 +1003,16 @@ bool KartenKaufen::tick( double zeit )
         }
         else
         {
-            if( alpha + val > 125 )
+            if (alpha + val > 125)
                 alpha = 125;
             else
                 alpha += 125;
             rend = 1;
         }
     }
-    if( !sichtbar && alpha != 0 )
+    if (!sichtbar && alpha != 0)
     {
-        if( alpha - val < 0 )
+        if (alpha - val < 0)
             alpha = 0;
         else
             alpha -= val;
@@ -982,27 +1023,25 @@ bool KartenKaufen::tick( double zeit )
     return ret;
 }
 
-void KartenKaufen::render( Bild &zRObj )
+void KartenKaufen::render(Bild& zRObj)
 {
-    if( !alpha )
-        return;
+    if (!alpha) return;
     int br = ram->getBreite();
     int hö = ram->getHeight();
-    if( !zRObj.setDrawOptions( pos.x, pos.y, br, hö ) )
-        return;
-    zRObj.setAlpha( alpha );
-    ram->render( zRObj );
-    suchFilterT->render( zRObj );
-    suchFilter->render( zRObj );
-    suchen->render( zRObj );
-    seiten->render( zRObj );
-    weiter->render( zRObj );
-    zurück->render( zRObj );
-    liste->render( zRObj );
-    auswahl->render( zRObj );
-    spielArt->render( zRObj );
+    if (!zRObj.setDrawOptions(pos.x, pos.y, br, hö)) return;
+    zRObj.setAlpha(alpha);
+    ram->render(zRObj);
+    suchFilterT->render(zRObj);
+    suchFilter->render(zRObj);
+    suchen->render(zRObj);
+    seiten->render(zRObj);
+    weiter->render(zRObj);
+    zurück->render(zRObj);
+    liste->render(zRObj);
+    auswahl->render(zRObj);
+    spielArt->render(zRObj);
     zRObj.releaseAlpha();
-    laden->render( zRObj );
+    laden->render(zRObj);
     zRObj.releaseDrawOptions();
 }
 

+ 498 - 454
KSGClient/NachLogin/Shop/Spiele/SpieleKaufen.cpp

@@ -1,18 +1,20 @@
 #include "SpieleKaufen.h"
-#include <Rahmen.h>
+
+#include <AlphaFeld.h>
+#include <DateiSystem.h>
+#include <Globals.h>
+#include <KSGTDatei.h>
 #include <Punkt.h>
+#include <Rahmen.h>
+
 #include "../../../Global/Initialisierung.h"
 #include "../../../Global/Variablen.h"
-#include <DateiSystem.h>
-#include <AlphaFeld.h>
-#include <KSGTDatei.h>
-#include <Globals.h>
 
-void SpielKaufenKSGSAktion( void *p, RCArray< KSGSVariable > *parameter, KSGSVariable **retVal )
+void SpielKaufenKSGSAktion(
+    void* p, RCArray<KSGSVariable>* parameter, KSGSVariable** retVal)
 {
-    if( !p )
-        return;
-    ( (SpieleKaufenAuswahl *)p )->ksgsAktion( parameter, retVal );
+    if (!p) return;
+    ((SpieleKaufenAuswahl*)p)->ksgsAktion(parameter, retVal);
 }
 
 // Inhalt der SpieleKaufenAuswahl Klasse aus SpieleKaufen.h
@@ -22,66 +24,72 @@ SpieleKaufenAuswahl::SpieleKaufenAuswahl()
 {
     spielId = 0;
     alpha = 0;
-    ksgs = Framework::getDLLRegister()->ladeDLL( "KSGScript.dll", "data/bin/KSGScript.dll" );
-    if( ksgs )
+    ksgs = Framework::getDLLRegister()->ladeDLL(
+        "KSGScript.dll", "data/bin/KSGScript.dll");
+    if (ksgs)
     {
-        KSGSGetZeichnung getKSGScript = (KSGSGetZeichnung)GetProcAddress( ksgs, KSGS_START_FUNKTION );
-        if( getKSGScript )
+        KSGSGetZeichnung getKSGScript
+            = (KSGSGetZeichnung)GetProcAddress(ksgs, KSGS_START_FUNKTION);
+        if (getKSGScript)
         {
             fenster = getKSGScript();
-            fenster->setBildschirmZ( dynamic_cast<Bildschirm *>( uiFactory.initParam.bildschirm->getThis() ) );
-            fenster->setSchriftZ( dynamic_cast<Schrift *>( uiFactory.initParam.schrift->getThis() ) );
-            fenster->setSize( 555, 380 );
-            fenster->setCallbackParam( this );
-            fenster->setCallbackFunktion( SpielKaufenKSGSAktion );
+            fenster->setBildschirmZ(dynamic_cast<Bildschirm*>(
+                uiFactory.initParam.bildschirm->getThis()));
+            fenster->setSchriftZ(
+                dynamic_cast<Schrift*>(uiFactory.initParam.schrift->getThis()));
+            fenster->setSize(555, 380);
+            fenster->setCallbackParam(this);
+            fenster->setCallbackFunktion(SpielKaufenKSGSAktion);
         }
         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." ),
-                                                          new Text( "Ok" ), 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."),
+                new Text("Ok"),
+                0);
         }
     }
     else
     {
         fenster = 0;
-        nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                      new Text( "Die DLL-Datei 'data/bin/KSGScript.dll' konnte nicht geladen werden." ),
-                                                      new Text( "Ok" ), 0 );
+        nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+            new Text("Die DLL-Datei 'data/bin/KSGScript.dll' konnte nicht "
+                     "geladen werden."),
+            new Text("Ok"),
+            0);
     }
     ram = new LRahmen();
-    ram->setSize( 555, 380 );
-    ram->setFarbe( 0xFFFFFFFF );
-    laden = (Framework::Animation2D *)ladeAnimation->dublizieren();
-    laden->setPosition( 252, 165 );
-    laden->setSichtbar( 0 );
-    pos = Punkt( 220, 55 );
+    ram->setSize(555, 380);
+    ram->setFarbe(0xFFFFFFFF);
+    laden = (Framework::Animation2D*)ladeAnimation->dublizieren();
+    laden->setPosition(252, 165);
+    laden->setSichtbar(0);
+    pos = Punkt(220, 55);
     aktion = 0;
 }
 
 // Destruktor
 SpieleKaufenAuswahl::~SpieleKaufenAuswahl()
 {
-    if( fenster )
+    if (fenster)
     {
         fenster->reset();
         fenster->release();
     }
     ram->release();
     laden->release();
-    if( ksgs )
-        Framework::getDLLRegister()->releaseDLL( "KSGScript.dll" );
+    if (ksgs) Framework::getDLLRegister()->releaseDLL("KSGScript.dll");
 }
 
 // nicht constant
-void SpieleKaufenAuswahl::ladeSpielSeite( int id )
+void SpieleKaufenAuswahl::ladeSpielSeite(int id)
 {
-    if( run )
-        warteAufThread( 2000 );
-    if( run )
-        return;
+    if (run) warteAufThread(2000);
+    if (run) return;
     spielId = id;
     aktion = 1;
     start();
@@ -89,255 +97,282 @@ void SpieleKaufenAuswahl::ladeSpielSeite( int id )
 
 void SpieleKaufenAuswahl::reset()
 {
-    if( run )
-        warteAufThread( 2000 );
-    if( run )
-        return;
+    if (run) warteAufThread(2000);
+    if (run) return;
     aktion = 0;
     start();
 }
 
 void SpieleKaufenAuswahl::thread()
 {
-    laden->setSichtbar( 1 );
-    if( !aktion || spielId )
+    laden->setSichtbar(1);
+    if (!aktion || spielId)
     {
-        while( alpha )
-            Sleep( 100 );
-        if( !aktion )
-            spielId = 0;
-        if( fenster )
-            fenster->reset();
+        while (alpha)
+            Sleep(100);
+        if (!aktion) spielId = 0;
+        if (fenster) fenster->reset();
     }
-    if( aktion )
+    if (aktion)
     {
-        while( alpha )
-            Sleep( 100 );
-        if( !shopClient )
-            shopClient = mainClient->createShopServerClient();
-        if( shopClient && shopClient->verbinde() )
+        while (alpha)
+            Sleep(100);
+        if (!shopClient) shopClient = mainClient->createShopServerClient();
+        if (shopClient && shopClient->verbinde())
         {
-            shopClient->ladeSpielSeite( spielId );
-            shopClient->trenne( 0 );
+            shopClient->ladeSpielSeite(spielId);
+            shopClient->trenne(0);
         }
-        Text *pfad = new Text( "data/tmp/shop/kaufen/spiele/" );
-        pfad->append( spielId );
-        pfad->append( "/seite.ksgs" );
-        if( fenster )
+        Text* pfad = new Text("data/tmp/shop/kaufen/spiele/");
+        pfad->append(spielId);
+        pfad->append("/seite.ksgs");
+        if (fenster)
         {
-            fenster->setScriptDatei( pfad );
+            fenster->setScriptDatei(pfad);
             fenster->neuLaden();
         }
     }
-    laden->setSichtbar( 0 );
+    laden->setSichtbar(0);
     run = 0;
 }
 
-void SpieleKaufenAuswahl::ksgsAktion( RCArray< KSGSVariable > *parameter, KSGSVariable **retVal )
+void SpieleKaufenAuswahl::ksgsAktion(
+    RCArray<KSGSVariable>* parameter, KSGSVariable** retVal)
 {
-    KSGSVariable *befehl = parameter->z( 0 );
-    if( !befehl )
-        return;
-    Text *b = befehl->getText();
-    if( !b )
-        return;
-    if( b->istGleich( "GetBesitzStatus" ) )
+    KSGSVariable* befehl = parameter->z(0);
+    if (!befehl) return;
+    Text* b = befehl->getText();
+    if (!b) return;
+    if (b->istGleich("GetBesitzStatus"))
     {
         int besitz = 0;
-        if( !shopClient )
-            shopClient = mainClient->createShopServerClient();
-        if( shopClient && shopClient->verbinde() )
+        if (!shopClient) shopClient = mainClient->createShopServerClient();
+        if (shopClient && shopClient->verbinde())
         {
-            besitz = shopClient->getSpielBesitzStatus( spielId );
-            shopClient->trenne( 0 );
+            besitz = shopClient->getSpielBesitzStatus(spielId);
+            shopClient->trenne(0);
         }
-        KSGSGetVariable getKSGSVariable = (KSGSGetVariable)GetProcAddress( ksgs, KSGS_VARIABLE_FUNKTION );
-        if( getKSGSVariable )
+        KSGSGetVariable getKSGSVariable
+            = (KSGSGetVariable)GetProcAddress(ksgs, KSGS_VARIABLE_FUNKTION);
+        if (getKSGSVariable)
         {
-            KSGSVariableDef def = { KSGS_INT, 0, 3, ( Text() += besitz ).getText() };
-            *retVal = getKSGSVariable( fenster, &def );
+            KSGSVariableDef def
+                = {KSGS_INT, 0, 3, (Text() += besitz).getText()};
+            *retVal = getKSGSVariable(fenster, &def);
         }
         else
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                          new Text( "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION "' in der DLL-Datei "
-                                                                    "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(
+                    "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION
+                    "' in der DLL-Datei "
+                    "'data/bin/KSGScript.dll' konnte nicht gefunden werden."),
+                new Text("Ok"),
+                0);
         }
         b->release();
         return;
     }
-    if( b->istGleich( "GetPreis" ) )
+    if (b->istGleich("GetPreis"))
     {
-        KSGSVariable *version = parameter->z( 1 );
-        if( !version )
+        KSGSVariable* version = parameter->z(1);
+        if (!version)
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                          new Text( "Auf dieser Seite befindet sich ein Fehler im KSG-Script. "
-                                                                    "Sie könnte eventuell nicht richtig funktionieren." ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(
+                    "Auf dieser Seite befindet sich ein Fehler im KSG-Script. "
+                    "Sie könnte eventuell nicht richtig funktionieren."),
+                new Text("Ok"),
+                0);
         }
         else
         {
             bool testVersion = !version->getInt();
             int preis = 0;
-            if( !shopClient )
-                shopClient = mainClient->createShopServerClient();
-            if( shopClient && shopClient->verbinde() )
+            if (!shopClient) shopClient = mainClient->createShopServerClient();
+            if (shopClient && shopClient->verbinde())
             {
-                preis = shopClient->getSpielPreis( spielId, testVersion );
-                shopClient->trenne( 0 );
+                preis = shopClient->getSpielPreis(spielId, testVersion);
+                shopClient->trenne(0);
             }
-            KSGSGetVariable getKSGSVariable = (KSGSGetVariable)GetProcAddress( ksgs, KSGS_VARIABLE_FUNKTION );
-            if( getKSGSVariable )
+            KSGSGetVariable getKSGSVariable
+                = (KSGSGetVariable)GetProcAddress(ksgs, KSGS_VARIABLE_FUNKTION);
+            if (getKSGSVariable)
             {
-                KSGSVariableDef def = { KSGS_INT, 0, 3, ( Text() += preis ).getText() };
-                *retVal = getKSGSVariable( fenster, &def );
+                KSGSVariableDef def
+                    = {KSGS_INT, 0, 3, (Text() += preis).getText()};
+                *retVal = getKSGSVariable(fenster, &def);
             }
             else
             {
-                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                              new Text( "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION "' in der DLL-Datei "
-                                                                        "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
-                                                              new Text( "Ok" ), 0 );
+                nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                    new Text("Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION
+                             "' in der DLL-Datei "
+                             "'data/bin/KSGScript.dll' konnte nicht gefunden "
+                             "werden."),
+                    new Text("Ok"),
+                    0);
             }
         }
         b->release();
         return;
     }
-    if( b->istGleich( "GetTestVersionVerbleibend" ) )
+    if (b->istGleich("GetTestVersionVerbleibend"))
     {
         int verbleibend = 0;
-        if( !shopClient )
-            shopClient = mainClient->createShopServerClient();
-        if( shopClient && shopClient->verbinde() )
+        if (!shopClient) shopClient = mainClient->createShopServerClient();
+        if (shopClient && shopClient->verbinde())
         {
-            verbleibend = shopClient->getSpielTestversion( spielId );
-            shopClient->trenne( 0 );
+            verbleibend = shopClient->getSpielTestversion(spielId);
+            shopClient->trenne(0);
         }
-        KSGSGetVariable getKSGSVariable = (KSGSGetVariable)GetProcAddress( ksgs, KSGS_VARIABLE_FUNKTION );
-        if( getKSGSVariable )
+        KSGSGetVariable getKSGSVariable
+            = (KSGSGetVariable)GetProcAddress(ksgs, KSGS_VARIABLE_FUNKTION);
+        if (getKSGSVariable)
         {
-            KSGSVariableDef def = { KSGS_INT, 0, 3, ( Text() += verbleibend ).getText() };
-            *retVal = getKSGSVariable( fenster, &def );
+            KSGSVariableDef def
+                = {KSGS_INT, 0, 3, (Text() += verbleibend).getText()};
+            *retVal = getKSGSVariable(fenster, &def);
         }
         else
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                          new Text( "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION "' in der DLL-Datei "
-                                                                    "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(
+                    "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION
+                    "' in der DLL-Datei "
+                    "'data/bin/KSGScript.dll' konnte nicht gefunden werden."),
+                new Text("Ok"),
+                0);
         }
         b->release();
         return;
     }
-    if( b->istGleich( "GetErwerbbarStatus" ) )
+    if (b->istGleich("GetErwerbbarStatus"))
     {
         int erwerbbar = 0;
-        if( !shopClient )
-            shopClient = mainClient->createShopServerClient();
-        if( shopClient && shopClient->verbinde() )
+        if (!shopClient) shopClient = mainClient->createShopServerClient();
+        if (shopClient && shopClient->verbinde())
         {
-            erwerbbar = shopClient->istSpielErwerbbar( spielId );
-            shopClient->trenne( 0 );
+            erwerbbar = shopClient->istSpielErwerbbar(spielId);
+            shopClient->trenne(0);
         }
-        KSGSGetVariable getKSGSVariable = (KSGSGetVariable)GetProcAddress( ksgs, KSGS_VARIABLE_FUNKTION );
-        if( getKSGSVariable )
+        KSGSGetVariable getKSGSVariable
+            = (KSGSGetVariable)GetProcAddress(ksgs, KSGS_VARIABLE_FUNKTION);
+        if (getKSGSVariable)
         {
-            KSGSVariableDef def = { KSGS_INT, 0, 3, ( Text() += erwerbbar ).getText() };
-            *retVal = getKSGSVariable( fenster, &def );
+            KSGSVariableDef def
+                = {KSGS_INT, 0, 3, (Text() += erwerbbar).getText()};
+            *retVal = getKSGSVariable(fenster, &def);
         }
         else
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                          new Text( "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION "' in der DLL-Datei "
-                                                                    "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(
+                    "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION
+                    "' in der DLL-Datei "
+                    "'data/bin/KSGScript.dll' konnte nicht gefunden werden."),
+                new Text("Ok"),
+                0);
         }
         b->release();
         return;
     }
-    if( b->istGleich( "GetKupfer" ) )
+    if (b->istGleich("GetKupfer"))
     {
         int kupfer = infoClient->getKupfer();
-        KSGSGetVariable getKSGSVariable = (KSGSGetVariable)GetProcAddress( ksgs, KSGS_VARIABLE_FUNKTION );
-        if( getKSGSVariable )
+        KSGSGetVariable getKSGSVariable
+            = (KSGSGetVariable)GetProcAddress(ksgs, KSGS_VARIABLE_FUNKTION);
+        if (getKSGSVariable)
         {
-            KSGSVariableDef def = { KSGS_INT, 0, 3, ( Text() += kupfer ).getText() };
-            *retVal = getKSGSVariable( fenster, &def );
+            KSGSVariableDef def
+                = {KSGS_INT, 0, 3, (Text() += kupfer).getText()};
+            *retVal = getKSGSVariable(fenster, &def);
         }
         else
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                          new Text( "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION "' in der DLL-Datei "
-                                                                    "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(
+                    "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION
+                    "' in der DLL-Datei "
+                    "'data/bin/KSGScript.dll' konnte nicht gefunden werden."),
+                new Text("Ok"),
+                0);
         }
         b->release();
         return;
     }
-    if( b->istGleich( "Kaufen" ) )
+    if (b->istGleich("Kaufen"))
     {
-        KSGSVariable *version = parameter->z( 1 );
-        if( !version )
+        KSGSVariable* version = parameter->z(1);
+        if (!version)
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                          new Text( "Auf dieser Seite befindet sich ein Fehler im KSG-Script. "
-                                                                    "Sie könnte eventuell nicht richtig funktionieren." ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(
+                    "Auf dieser Seite befindet sich ein Fehler im KSG-Script. "
+                    "Sie könnte eventuell nicht richtig funktionieren."),
+                new Text("Ok"),
+                0);
         }
         else
         {
             bool testVersion = !version->getInt();
-            if( !shopClient )
-                shopClient = mainClient->createShopServerClient();
-            if( shopClient && shopClient->verbinde() )
+            if (!shopClient) shopClient = mainClient->createShopServerClient();
+            if (shopClient && shopClient->verbinde())
             {
-                if( !shopClient->spielErwerben( spielId, testVersion ) )
+                if (!shopClient->spielErwerben(spielId, testVersion))
                 {
-                    nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                                  new Text( shopClient->getLetzterFehler() ),
-                                                                  new Text( "Ok" ), 0 );
+                    nachLogin->zNachrichtenListe()->addNachricht(
+                        new Text("Fehler"),
+                        new Text(shopClient->getLetzterFehler()),
+                        new Text("Ok"),
+                        0);
                 }
                 else
                 {
-                    int dgId = infoClient->getDateiGruppeIdVonSpiel( spielId );
-                    if( dgId )
+                    int dgId = infoClient->getDateiGruppeIdVonSpiel(spielId);
+                    if (dgId)
                     {
-                        KSGTDatei *dg = new KSGTDatei( "data/dg.ksgt" );
+                        KSGTDatei* dg = new KSGTDatei("data/dg.ksgt");
                         dg->laden();
                         bool gefunden = 0;
-                        for( int i = 0; i < dg->getZeilenAnzahl(); i++ )
+                        for (int i = 0; i < dg->getZeilenAnzahl(); i++)
                         {
-                            if( dg->zFeld( i, 0 ) && TextZuInt( dg->zFeld( i, 0 )->getText(), 10 ) == dgId )
+                            if (dg->zFeld(i, 0)
+                                && TextZuInt(dg->zFeld(i, 0)->getText(), 10)
+                                       == dgId)
                             {
                                 gefunden = 1;
                                 break;
                             }
                         }
-                        if( !gefunden )
+                        if (!gefunden)
                         {
-                            for( int i = 0; i < dg->getZeilenAnzahl(); i++ )
+                            for (int i = 0; i < dg->getZeilenAnzahl(); i++)
                             {
-                                if( dg->zFeld( i, 3 ) && !dg->zFeld( i, 3 )->istGleich( "SOFORT" ) && !dg->zFeld( i, 3 )->istGleich( "NICHT" ) )
+                                if (dg->zFeld(i, 3)
+                                    && !dg->zFeld(i, 3)->istGleich("SOFORT")
+                                    && !dg->zFeld(i, 3)->istGleich("NICHT"))
                                 {
-                                    int platz = TextZuInt( dg->zFeld( i, 3 )->getText(), 10 ) + 1;
-                                    Text *plT = new Text();
-                                    plT->append( platz );
-                                    dg->zFeld( i, 3 )->setText( plT );
+                                    int platz
+                                        = TextZuInt(
+                                              dg->zFeld(i, 3)->getText(), 10)
+                                        + 1;
+                                    Text* plT = new Text();
+                                    plT->append(platz);
+                                    dg->zFeld(i, 3)->setText(plT);
                                 }
                             }
-                            Text *idT = new Text();
-                            idT->append( dgId );
-                            Text *pfad = infoClient->getDateiGruppePfad( dgId );
-                            if( pfad )
+                            Text* idT = new Text();
+                            idT->append(dgId);
+                            Text* pfad = infoClient->getDateiGruppePfad(dgId);
+                            if (pfad)
                             {
-                                RCArray< Text > *zeile = new RCArray< Text >();
-                                zeile->add( idT );
-                                zeile->add( pfad );
-                                zeile->add( new Text( "0" ) );
-                                zeile->add( new Text( "0" ) );
-                                dg->addZeile( 4, zeile );
+                                RCArray<Text>* zeile = new RCArray<Text>();
+                                zeile->add(idT);
+                                zeile->add(pfad);
+                                zeile->add(new Text("0"));
+                                zeile->add(new Text("0"));
+                                dg->addZeile(4, zeile);
                             }
                             else
                                 idT->release();
@@ -346,23 +381,24 @@ void SpieleKaufenAuswahl::ksgsAktion( RCArray< KSGSVariable > *parameter, KSGSVa
                         dg->release();
                     }
                 }
-                shopClient->trenne( 0 );
+                shopClient->trenne(0);
             }
-            else if( shopClient )
+            else if (shopClient)
             {
-                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                              new Text( shopClient->getLetzterFehler() ),
-                                                              new Text( "Ok" ), 0 );
+                nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                    new Text(shopClient->getLetzterFehler()),
+                    new Text("Ok"),
+                    0);
             }
             else
             {
-                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                              new Text( mainClient->getLetzterFehler() ),
-                                                              new Text( "Ok" ), 0 );
+                nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                    new Text(mainClient->getLetzterFehler()),
+                    new Text("Ok"),
+                    0);
             }
-            if( run )
-                warteAufThread( 2000 );
-            if( run )
+            if (run) warteAufThread(2000);
+            if (run)
             {
                 b->release();
                 return;
@@ -373,159 +409,172 @@ void SpieleKaufenAuswahl::ksgsAktion( RCArray< KSGSVariable > *parameter, KSGSVa
         b->release();
         return;
     }
-    if( b->istGleich( "GetBild" ) )
+    if (b->istGleich("GetBild"))
     {
-        KSGSVariable *pfad = parameter->z( 1 );
-        KSGSVariable *name = parameter->z( 2 );
-        if( !pfad || !name )
+        KSGSVariable* pfad = parameter->z(1);
+        KSGSVariable* name = parameter->z(2);
+        if (!pfad || !name)
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                          new Text( "Auf dieser Seite befindet sich ein Fehler im KSG-Script. "
-                                                                    "Sie könnte eventuell nicht richtig funktionieren." ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(
+                    "Auf dieser Seite befindet sich ein Fehler im KSG-Script. "
+                    "Sie könnte eventuell nicht richtig funktionieren."),
+                new Text("Ok"),
+                0);
         }
         else
         {
-            Text *pf = pfad->getText();
-            Text *n = name->getText();
-            if( !pf || !n )
+            Text* pf = pfad->getText();
+            Text* n = name->getText();
+            if (!pf || !n)
             {
-                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                              new Text( "Auf dieser Seite befindet sich ein Fehler im KSG-Script. "
-                                                                        "Sie könnte eventuell nicht richtig funktionieren." ),
-                                                              new Text( "Ok" ), 0 );
+                nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                    new Text(
+                        "Auf dieser Seite befindet sich ein Fehler im "
+                        "KSG-Script. "
+                        "Sie könnte eventuell nicht richtig funktionieren."),
+                    new Text("Ok"),
+                    0);
             }
             else
             {
-                KSGSGetVariable getKSGSVariable = (KSGSGetVariable)GetProcAddress( ksgs, KSGS_VARIABLE_FUNKTION );
-                if( getKSGSVariable )
+                KSGSGetVariable getKSGSVariable
+                    = (KSGSGetVariable)GetProcAddress(
+                        ksgs, KSGS_VARIABLE_FUNKTION);
+                if (getKSGSVariable)
                 {
-                    int p = n->positionVon( ".ltdb/" );
-                    if( p < 0 )
+                    int p = n->positionVon(".ltdb/");
+                    if (p < 0)
                         p = 0;
                     else
                         p += 6;
-                    Text nn = Text( pf->getText() ) + "/" + (const char *)( n->getText() + p );
-                    Bild *b = bilder->get( nn );
-                    if( b )
+                    Text nn = Text(pf->getText()) + "/"
+                            + (const char*)(n->getText() + p);
+                    Bild* b = bilder->get(nn);
+                    if (b)
                     {
-                        KSGSVariableDef def = { KSGS_BILD, 0, 3, "" };
-                        KSGSVariable *ret = getKSGSVariable( fenster, &def );
-                        KSGSSetBild setKSGSBild = (KSGSSetBild)GetProcAddress( ksgs, KSGS_SET_BILD_FUNKTION );
-                        if( !setKSGSBild )
+                        KSGSVariableDef def = {KSGS_BILD, 0, 3, ""};
+                        KSGSVariable* ret = getKSGSVariable(fenster, &def);
+                        KSGSSetBild setKSGSBild = (KSGSSetBild)GetProcAddress(
+                            ksgs, KSGS_SET_BILD_FUNKTION);
+                        if (!setKSGSBild)
                         {
-                            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                                          new Text( "Der Einstiegspunkt '" KSGS_SET_BILD_FUNKTION "' in der DLL-Datei "
-                                                                                    "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
-                                                                          new Text( "Ok" ), 0 );
+                            nachLogin->zNachrichtenListe()->addNachricht(
+                                new Text("Fehler"),
+                                new Text("Der Einstiegspunkt "
+                                         "'" KSGS_SET_BILD_FUNKTION
+                                         "' in der DLL-Datei "
+                                         "'data/bin/KSGScript.dll' konnte "
+                                         "nicht gefunden werden."),
+                                new Text("Ok"),
+                                0);
                             b->release();
                         }
                         else
-                            setKSGSBild( ret, b );
+                            setKSGSBild(ret, b);
                         *retVal = ret;
                     }
                 }
                 else
                 {
-                    nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                                  new Text( "Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION "' in der DLL-Datei "
-                                                                            "'data/bin/KSGScript.dll' konnte nicht gefunden werden." ),
-                                                                  new Text( "Ok" ), 0 );
+                    nachLogin->zNachrichtenListe()->addNachricht(
+                        new Text("Fehler"),
+                        new Text("Der Einstiegspunkt '" KSGS_VARIABLE_FUNKTION
+                                 "' in der DLL-Datei "
+                                 "'data/bin/KSGScript.dll' konnte nicht "
+                                 "gefunden werden."),
+                        new Text("Ok"),
+                        0);
                 }
             }
-            if( pf )
-                pf->release();
-            if( n )
-                n->release();
+            if (pf) pf->release();
+            if (n) n->release();
         }
         b->release();
         return;
     }
 }
 
-void SpieleKaufenAuswahl::doPublicMausEreignis( MausEreignis &me )
+void SpieleKaufenAuswahl::doPublicMausEreignis(MausEreignis& me)
 {
-    if( run )
-        return;
+    if (run) return;
     me.mx -= pos.x;
     me.my -= pos.y;
-    if( fenster )
-        fenster->doPublicMausEreignis( me );
+    if (fenster) fenster->doPublicMausEreignis(me);
     me.mx += pos.x;
     me.my += pos.y;
 }
 
-void SpieleKaufenAuswahl::doTastaturEreignis( TastaturEreignis &te )
+void SpieleKaufenAuswahl::doTastaturEreignis(TastaturEreignis& te)
 {
-    if( run )
-        return;
-    if( fenster )
-        fenster->doTastaturEreignis( te );
+    if (run) return;
+    if (fenster) fenster->doTastaturEreignis(te);
 }
 
-bool SpieleKaufenAuswahl::tick( double zeit )
+bool SpieleKaufenAuswahl::tick(double zeit)
 {
-    bool rend = ( fenster && !run ) ? fenster->tick( zeit ) : 0;
-    rend |= laden->tick( zeit );
-    if( ( run || !spielId ) && alpha > 0 )
+    bool rend = (fenster && !run) ? fenster->tick(zeit) : 0;
+    rend |= laden->tick(zeit);
+    if ((run || !spielId) && alpha > 0)
     {
-        if( alpha - zeit * 150 < 0 )
+        if (alpha - zeit * 150 < 0)
             alpha = 0;
         else
-            alpha -= (unsigned char)( zeit * 150 );
+            alpha -= (unsigned char)(zeit * 150);
         rend = 1;
     }
-    if( !run && spielId && alpha < 255 )
+    if (!run && spielId && alpha < 255)
     {
-        if( alpha + zeit * 150 > 255 )
+        if (alpha + zeit * 150 > 255)
             alpha = 255;
         else
-            alpha += (unsigned char)( zeit * 150 );
+            alpha += (unsigned char)(zeit * 150);
         rend = 1;
     }
     return rend;
 }
 
-void SpieleKaufenAuswahl::render( Bild &zRObj )
+void SpieleKaufenAuswahl::render(Bild& zRObj)
 {
-    if( !zRObj.setDrawOptions( pos.x, pos.y, ram->getBreite(), ram->getHeight() ) )
+    if (!zRObj.setDrawOptions(pos.x, pos.y, ram->getBreite(), ram->getHeight()))
         return;
-    zRObj.setAlpha( alpha );
-    ram->render( zRObj );
-    if( fenster )
-        fenster->render( zRObj );
+    zRObj.setAlpha(alpha);
+    ram->render(zRObj);
+    if (fenster) fenster->render(zRObj);
     zRObj.releaseAlpha();
-    laden->render( zRObj );
+    laden->render(zRObj);
     zRObj.releaseDrawOptions();
 }
 
-
 // Inhalt der SpieleKaufenListeEintrag Klasse aus SpieleKaufen.h
 // Konstruktor
-SpieleKaufenListeEintrag::SpieleKaufenListeEintrag( int id )
+SpieleKaufenListeEintrag::SpieleKaufenListeEintrag(int id)
     : ReferenceCounter()
 {
     spielId = id;
-    auswählen = initKnopf( 173, 73, 22, 22, 0, "" );
-    auswählen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Rahmen | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-    auswählen->setHintergrundBildZ( bilder->get( "data/client/bilder/shop.ltdb/weiter.png" ) );
-    initToolTip( auswählen, "Spiel auswählen." );
-    auswählen->setRahmenBreite( 1 );
-    LTDBDatei *datei = new LTDBDatei();
-    Text *bdpf = new Text( "data/tmp/shop/kaufen/spiele/" );
-    bdpf->append( id );
-    bdpf->append( "/titelbg.ltdb" );
-    datei->setDatei( bdpf );
-    hintergrund = datei->laden( 0, new Text( "auswbg.jpg" ) );
+    auswählen = initKnopf(173, 73, 22, 22, 0, "");
+    auswählen->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Erlaubt
+                        | Knopf::Style::Rahmen | Knopf::Style::Hintergrund
+                        | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
+    auswählen->setHintergrundBildZ(
+        bilder->get("data/client/bilder/shop.ltdb/weiter.png"));
+    initToolTip(auswählen, "Spiel auswählen.");
+    auswählen->setRahmenBreite(1);
+    LTDBDatei* datei = new LTDBDatei();
+    Text* bdpf = new Text("data/tmp/shop/kaufen/spiele/");
+    bdpf->append(id);
+    bdpf->append("/titelbg.ltdb");
+    datei->setDatei(bdpf);
+    hintergrund = datei->laden(0, new Text("auswbg.jpg"));
     datei->release();
     ausgewählt = new AlphaFeld();
-    ausgewählt->setPosition( 1, 1 );
-    ausgewählt->setSize( 198, 98 );
-    ausgewählt->setFarbe( 0x0000FF00 );
-    ausgewählt->setStrength( 10 );
+    ausgewählt->setPosition(1, 1);
+    ausgewählt->setSize(198, 98);
+    ausgewählt->setFarbe(0x0000FF00);
+    ausgewählt->setStrength(10);
     ram = new LRahmen();
-    ram->setSize( 200, 100 );
-    ram->setFarbe( 0xFFFFFFFF );
+    ram->setSize(200, 100);
+    ram->setFarbe(0xFFFFFFFF);
     ausw = 0;
     rend = 0;
 }
@@ -534,8 +583,7 @@ SpieleKaufenListeEintrag::SpieleKaufenListeEintrag( int id )
 SpieleKaufenListeEintrag::~SpieleKaufenListeEintrag()
 {
     auswählen->release();
-    if( hintergrund )
-        hintergrund->release();
+    if (hintergrund) hintergrund->release();
     ausgewählt->release();
     ram->release();
 }
@@ -546,11 +594,11 @@ void SpieleKaufenListeEintrag::resetAuswahl()
     ausw = 0;
 }
 
-bool SpieleKaufenListeEintrag::doPublicMausEreignis( MausEreignis &me )
+bool SpieleKaufenListeEintrag::doPublicMausEreignis(MausEreignis& me)
 {
     bool vera = me.verarbeitet;
-    auswählen->doPublicMausEreignis( me );
-    if( !vera && me.verarbeitet && me.id == ME_RLinks )
+    auswählen->doPublicMausEreignis(me);
+    if (!vera && me.verarbeitet && me.id == ME_RLinks)
     {
         ausw = 1;
         return 1;
@@ -558,27 +606,29 @@ bool SpieleKaufenListeEintrag::doPublicMausEreignis( MausEreignis &me )
     return 0;
 }
 
-bool SpieleKaufenListeEintrag::tick( double zeit )
+bool SpieleKaufenListeEintrag::tick(double zeit)
 {
-    rend |= ausgewählt->tick( zeit );
-    rend |= auswählen->tick( zeit );
-    int a = ( ausgewählt->getFarbe() >> 24 ) & 0xFF;
-    if( ausw && a < 255 )
+    rend |= ausgewählt->tick(zeit);
+    rend |= auswählen->tick(zeit);
+    int a = (ausgewählt->getFarbe() >> 24) & 0xFF;
+    if (ausw && a < 255)
     {
-        if( a + 150 * zeit > 255 )
+        if (a + 150 * zeit > 255)
             a = 255;
         else
-            a += (int)( 150 * zeit );
-        ausgewählt->setFarbe( ( ( a << 24 ) & 0xFF000000 ) | ( ausgewählt->getFarbe() & 0xFFFFFF ) );
+            a += (int)(150 * zeit);
+        ausgewählt->setFarbe(
+            ((a << 24) & 0xFF000000) | (ausgewählt->getFarbe() & 0xFFFFFF));
         rend = 1;
     }
-    if( !ausw && a > 0 )
+    if (!ausw && a > 0)
     {
-        if( a - 150 * zeit < 0 )
+        if (a - 150 * zeit < 0)
             a = 0;
         else
-            a -= (int)( 150 * zeit );
-        ausgewählt->setFarbe( ( ( a << 24 ) & 0xFF000000 ) | ( ausgewählt->getFarbe() & 0xFFFFFF ) );
+            a -= (int)(150 * zeit);
+        ausgewählt->setFarbe(
+            ((a << 24) & 0xFF000000) | (ausgewählt->getFarbe() & 0xFFFFFF));
         rend = 1;
     }
     bool ret = rend;
@@ -586,15 +636,13 @@ bool SpieleKaufenListeEintrag::tick( double zeit )
     return ret;
 }
 
-void SpieleKaufenListeEintrag::render( int yOff, Bild &zRObj )
+void SpieleKaufenListeEintrag::render(int yOff, Bild& zRObj)
 {
-    if( !zRObj.setDrawOptions( 0, yOff, 200, 100 ) )
-        return;
-    ram->render( zRObj );
-    if( hintergrund )
-        zRObj.drawBild( 1, 1, 198, 98, *hintergrund );
-    ausgewählt->render( zRObj );
-    auswählen->render( zRObj );
+    if (!zRObj.setDrawOptions(0, yOff, 200, 100)) return;
+    ram->render(zRObj);
+    if (hintergrund) zRObj.drawBild(1, 1, 198, 98, *hintergrund);
+    ausgewählt->render(zRObj);
+    auswählen->render(zRObj);
     zRObj.releaseDrawOptions();
 }
 
@@ -604,20 +652,19 @@ int SpieleKaufenListeEintrag::getSpielId() const
     return spielId;
 }
 
-
 // Inhalt der SpieleKaufenListe Klasse aus SpieleKaufen.h
 // Konstruktor
 SpieleKaufenListe::SpieleKaufenListe()
     : ReferenceCounter()
 {
-    pos = Punkt( 5, 55 );
+    pos = Punkt(5, 55);
     ram = new LRahmen();
-    ram->setSize( 215, 380 );
-    ram->setFarbe( 0xFFFFFFFF );
-    einträge = new RCArray< SpieleKaufenListeEintrag >();
+    ram->setSize(215, 380);
+    ram->setFarbe(0xFFFFFFFF);
+    einträge = new RCArray<SpieleKaufenListeEintrag>();
     vScroll = new VScrollBar();
-    vScroll->setKlickScroll( 10 );
-    vScroll->update( 0, 380 );
+    vScroll->setKlickScroll(10);
+    vScroll->update(0, 380);
     rend = 0;
 }
 
@@ -630,22 +677,22 @@ SpieleKaufenListe::~SpieleKaufenListe()
 }
 
 // nicht constant
-void SpieleKaufenListe::ladeSpiele( Array< int > *spiele )
+void SpieleKaufenListe::ladeSpiele(Array<int>* spiele)
 {
     leeren();
     int anz = spiele->getEintragAnzahl();
-    if( !shopClient )
-        shopClient = mainClient->createShopServerClient();
-    if( shopClient && shopClient->verbinde() )
+    if (!shopClient) shopClient = mainClient->createShopServerClient();
+    if (shopClient && shopClient->verbinde())
     {
-        for( int i = 0; i < anz; i++ )
+        for (int i = 0; i < anz; i++)
         {
-            if( shopClient->ladeSpielTitel( spiele->hat( i ) ? spiele->get( i ) : 0 ) )
-                einträge->add( new SpieleKaufenListeEintrag( spiele->hat( i ) ? spiele->get( i ) : 0 ) );
+            if (shopClient->ladeSpielTitel(spiele->hat(i) ? spiele->get(i) : 0))
+                einträge->add(new SpieleKaufenListeEintrag(
+                    spiele->hat(i) ? spiele->get(i) : 0));
         }
-        shopClient->trenne( 0 );
+        shopClient->trenne(0);
     }
-    vScroll->update( anz * 100, 380 );
+    vScroll->update(anz * 100, 380);
     rend = 1;
 }
 
@@ -654,33 +701,33 @@ void SpieleKaufenListe::leeren()
     cs.lock();
     einträge->leeren();
     cs.unlock();
-    vScroll->update( 0, 380 );
+    vScroll->update(0, 380);
     rend = 1;
 }
 
-int SpieleKaufenListe::doPublicMausEreignis( MausEreignis &me )
+int SpieleKaufenListe::doPublicMausEreignis(MausEreignis& me)
 {
     int mx = me.mx;
     int my = me.my;
     me.mx -= pos.x;
     me.my -= pos.y;
-    vScroll->doMausMessage( 200, 0, 15, 380, me );
+    vScroll->doMausMessage(200, 0, 15, 380, me);
     me.my += vScroll->getScroll();
     int ret = 0;
     cs.lock();
     int anz = einträge->getEintragAnzahl();
-    for( int i = 0; i < anz; i++ )
+    for (int i = 0; i < anz; i++)
     {
-        if( einträge->z( i )->doPublicMausEreignis( me ) )
-            ret = einträge->z( i )->getSpielId();
+        if (einträge->z(i)->doPublicMausEreignis(me))
+            ret = einträge->z(i)->getSpielId();
         me.my -= 100;
     }
-    if( ret )
+    if (ret)
     {
-        for( int i = 0; i < anz; i++ )
+        for (int i = 0; i < anz; i++)
         {
-            if( einträge->z( i )->getSpielId() != ret )
-                einträge->z( i )->resetAuswahl();
+            if (einträge->z(i)->getSpielId() != ret)
+                einträge->z(i)->resetAuswahl();
         }
     }
     cs.unlock();
@@ -689,32 +736,31 @@ int SpieleKaufenListe::doPublicMausEreignis( MausEreignis &me )
     return ret;
 }
 
-bool SpieleKaufenListe::tick( double zeit )
+bool SpieleKaufenListe::tick(double zeit)
 {
     rend |= vScroll->getRend();
     cs.lock();
     int anz = einträge->getEintragAnzahl();
-    for( int i = 0; i < anz; i++ )
-        rend |= einträge->z( i )->tick( zeit );
+    for (int i = 0; i < anz; i++)
+        rend |= einträge->z(i)->tick(zeit);
     cs.unlock();
     bool ret = rend;
     rend = 0;
     return ret;
 }
 
-void SpieleKaufenListe::render( Bild &zRObj )
+void SpieleKaufenListe::render(Bild& zRObj)
 {
     int br = ram->getBreite();
     int hö = ram->getHeight();
-    if( !zRObj.setDrawOptions( pos.x, pos.y, br, hö ) )
-        return;
-    ram->render( zRObj );
+    if (!zRObj.setDrawOptions(pos.x, pos.y, br, hö)) return;
+    ram->render(zRObj);
     cs.lock();
     int anz = einträge->getEintragAnzahl();
-    for( int i = 0; i < anz; i++ )
-        einträge->z( i )->render( i * 100 - vScroll->getScroll(), zRObj );
+    for (int i = 0; i < anz; i++)
+        einträge->z(i)->render(i * 100 - vScroll->getScroll(), zRObj);
     cs.unlock();
-    vScroll->render( 200, 0, 15, 380, zRObj );
+    vScroll->render(200, 0, 15, 380, zRObj);
     zRObj.releaseDrawOptions();
 }
 
@@ -724,39 +770,47 @@ int SpieleKaufenListe::getEintragAnzahl()
     return einträge->getEintragAnzahl();
 }
 
-
 // Inhalt der SpieleKaufen Klasse aus SpieleKaufen.h
 // Konstruktor
 SpieleKaufen::SpieleKaufen()
     : Thread()
 {
-    Bild *shopZurück = bilder->get( "data/client/bilder/shop.ltdb/zurück.png" );
-    Bild *shopWeiter = bilder->get( "data/client/bilder/shop.ltdb/weiter.png" );
+    Bild* shopZurück = bilder->get("data/client/bilder/shop.ltdb/zurück.png");
+    Bild* shopWeiter = bilder->get("data/client/bilder/shop.ltdb/weiter.png");
     alpha = 255;
     sichtbar = 0;
-    suchText = new Text( "" );
+    suchText = new Text("");
     ram = new LRahmen();
-    ram->setSize( 780, 440 );
-    ram->setFarbe( 0xFFFFFFFF );
-    pos = Punkt( 10, 50 );
-    suchFilterT = initTextFeld( 5, 5, 70, 20, TextFeld::Style::Text, "Suchfilter:" );
-    suchFilter = initTextFeld( 80, 5, 225, 20, TextFeld::Style::TextFeld, "" );
-    initToolTip( suchFilter, "Gebe etwas vom Namen des Spieles ein, nach dem du suchst." );
-    suchen = initKnopf( 310, 5, 100, 20, Knopf::Style::Sichtbar, "suchen" );
-    seiten = initTextFeld( 55, 30, 250, 20, TextFeld::Style::Text | TextFeld::Style::VCenter, "Seite 0 von 0, 0 Funde." );
-    zurück = initKnopf( 5, 30, 20, 20, 0, "" );
-    zurück->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-    zurück->setHintergrundBildZ( shopZurück );
-    initToolTip( zurück, "Seite zurück blättern." );
-    weiter = initKnopf( 30, 30, 20, 20, 0, "" );
-    weiter->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
-    weiter->setHintergrundBildZ( shopWeiter );
-    initToolTip( weiter, "Seite weiter blättern." );
+    ram->setSize(780, 440);
+    ram->setFarbe(0xFFFFFFFF);
+    pos = Punkt(10, 50);
+    suchFilterT
+        = initTextFeld(5, 5, 70, 20, TextFeld::Style::Text, "Suchfilter:");
+    suchFilter = initTextFeld(80, 5, 225, 20, TextFeld::Style::TextFeld, "");
+    initToolTip(suchFilter,
+        "Gebe etwas vom Namen des Spieles ein, nach dem du suchst.");
+    suchen = initKnopf(310, 5, 100, 20, Knopf::Style::Sichtbar, "suchen");
+    seiten = initTextFeld(55,
+        30,
+        250,
+        20,
+        TextFeld::Style::Text | TextFeld::Style::VCenter,
+        "Seite 0 von 0, 0 Funde.");
+    zurück = initKnopf(5, 30, 20, 20, 0, "");
+    zurück->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Hintergrund
+                     | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
+    zurück->setHintergrundBildZ(shopZurück);
+    initToolTip(zurück, "Seite zurück blättern.");
+    weiter = initKnopf(30, 30, 20, 20, 0, "");
+    weiter->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Hintergrund
+                     | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
+    weiter->setHintergrundBildZ(shopWeiter);
+    initToolTip(weiter, "Seite weiter blättern.");
     liste = new SpieleKaufenListe();
     auswahl = new SpieleKaufenAuswahl();
-    laden = (Framework::Animation2D *)ladeAnimation->dublizieren();
-    laden->setPosition( 365, 195 );
-    laden->setSichtbar( 0 );
+    laden = (Framework::Animation2D*)ladeAnimation->dublizieren();
+    laden->setPosition(365, 195);
+    laden->setSichtbar(0);
     tickVal = 0;
     seite = 0;
     maxSeite = 0;
@@ -775,117 +829,110 @@ SpieleKaufen::~SpieleKaufen()
     weiter->release();
     zurück->release();
     liste->release();
-    auswahl->warteAufThread( 10000 );
+    auswahl->warteAufThread(10000);
     auswahl->ende();
     auswahl->release();
     laden->release();
 }
 
 // nicht constant
-void SpieleKaufen::setSichtbar( bool sicht )
+void SpieleKaufen::setSichtbar(bool sicht)
 {
     sichtbar = sicht;
-    if( sichtbar && !liste->getEintragAnzahl() )
+    if (sichtbar && !liste->getEintragAnzahl())
     {
         MausEreignis me;
         me.id = ME_RLinks;
         me.verarbeitet = 0;
         me.mx = suchen->getX() + 1 + pos.x;
         me.my = suchen->getY() + 1 + pos.y;
-        doPublicMausEreignis( me );
+        doPublicMausEreignis(me);
     }
 }
 
 void SpieleKaufen::thread()
 {
-    laden->setSichtbar( 1 );
-    Array< int > *list = 0;
-    if( !shopClient )
-        shopClient = mainClient->createShopServerClient();
-    if( shopClient && shopClient->verbinde() )
+    laden->setSichtbar(1);
+    Array<int>* list = 0;
+    if (!shopClient) shopClient = mainClient->createShopServerClient();
+    if (shopClient && shopClient->verbinde())
     {
-        list = shopClient->suchSpiele( suchText->getText() );
-        shopClient->trenne( 0 );
+        list = shopClient->suchSpiele(suchText->getText());
+        shopClient->trenne(0);
     }
-    if( !list )
+    if (!list)
     {
-        laden->setSichtbar( 0 );
+        laden->setSichtbar(0);
         run = 0;
         return;
     }
-    Array< int > *slist = new Array< int >();
+    Array<int>* slist = new Array<int>();
     int anz = list->getEintragAnzahl();
     maxSeite = anz / 10 + 1;
-    if( !( anz % 10 ) )
-        maxSeite--;
-    while( anz <= seite * 10 && seite > 0 )
+    if (!(anz % 10)) maxSeite--;
+    while (anz <= seite * 10 && seite > 0)
         seite--;
-    for( int i = seite * 10; i < anz && i < seite * 10 + 10; i++ )
-        slist->add( list->hat( i ) ? list->get( i ) : 0 );
+    for (int i = seite * 10; i < anz && i < seite * 10 + 10; i++)
+        slist->add(list->hat(i) ? list->get(i) : 0);
     list->release();
     auswahl->reset();
-    liste->ladeSpiele( slist );
+    liste->ladeSpiele(slist);
     slist->release();
-    Text *t = new Text( "Seite " );
-    t->append( maxSeite ? seite + 1 : 0 );
-    t->append( " von " );
-    t->append( maxSeite );
-    t->append( ", " );
-    t->append( anz );
-    if( anz == 1 )
-        t->append( " Fund." );
+    Text* t = new Text("Seite ");
+    t->append(maxSeite ? seite + 1 : 0);
+    t->append(" von ");
+    t->append(maxSeite);
+    t->append(", ");
+    t->append(anz);
+    if (anz == 1)
+        t->append(" Fund.");
     else
-        t->append( " Funde." );
-    seiten->setText( t );
-    zurück->setStyle( TextFeld::Style::Erlaubt, seite > 0 );
-    weiter->setStyle( TextFeld::Style::Erlaubt, seite + 1 < maxSeite );
-    laden->setSichtbar( 0 );
+        t->append(" Funde.");
+    seiten->setText(t);
+    zurück->setStyle(TextFeld::Style::Erlaubt, seite > 0);
+    weiter->setStyle(TextFeld::Style::Erlaubt, seite + 1 < maxSeite);
+    laden->setSichtbar(0);
     run = 0;
 }
 
-void SpieleKaufen::doPublicMausEreignis( MausEreignis &me )
+void SpieleKaufen::doPublicMausEreignis(MausEreignis& me)
 {
-    if( !sichtbar || run )
-        return;
+    if (!sichtbar || run) return;
     int mx = me.mx;
     int my = me.my;
     me.mx -= pos.x;
     me.my -= pos.y;
-    suchFilter->doPublicMausEreignis( me );
-    int auswId = liste->doPublicMausEreignis( me );
-    if( auswId )
-        auswahl->ladeSpielSeite( auswId );
-    auswahl->doPublicMausEreignis( me );
+    suchFilter->doPublicMausEreignis(me);
+    int auswId = liste->doPublicMausEreignis(me);
+    if (auswId) auswahl->ladeSpielSeite(auswId);
+    auswahl->doPublicMausEreignis(me);
     int ak = 0;
     bool tmp = me.verarbeitet;
-    suchen->doPublicMausEreignis( me );
+    suchen->doPublicMausEreignis(me);
     ak = me.verarbeitet ? 1 : 0;
-    zurück->doPublicMausEreignis( me );
+    zurück->doPublicMausEreignis(me);
     ak = me.verarbeitet && !ak ? 2 : ak;
-    weiter->doPublicMausEreignis( me );
+    weiter->doPublicMausEreignis(me);
     ak = me.verarbeitet && !ak ? 3 : ak;
-    if( tmp )
-        ak = 0;
-    if( me.id == ME_RLinks )
+    if (tmp) ak = 0;
+    if (me.id == ME_RLinks)
     {
-        switch( ak )
+        switch (ak)
         {
         case 1: // Suchen
-            suchText->setText( suchFilter->zText()->getText() );
+            suchText->setText(suchFilter->zText()->getText());
             seite = 1;
             maxSeite = 1;
             start();
             break;
         case 2: // Seite zurück blättern
             seite--;
-            if( seite < 1 )
-                seite = 1;
+            if (seite < 1) seite = 1;
             start();
             break;
         case 3: // Seite vorwärts blättern
             seite++;
-            if( seite > maxSeite )
-                seite = maxSeite;
+            if (seite > maxSeite) seite = maxSeite;
             start();
             break;
         }
@@ -894,58 +941,57 @@ void SpieleKaufen::doPublicMausEreignis( MausEreignis &me )
     me.my = my;
 }
 
-void SpieleKaufen::doTastaturEreignis( TastaturEreignis &te )
+void SpieleKaufen::doTastaturEreignis(TastaturEreignis& te)
 {
-    if( !sichtbar || run )
-        return;
+    if (!sichtbar || run) return;
     bool vera = te.verarbeitet;
-    suchFilter->doTastaturEreignis( te );
-    if( !vera && te.verarbeitet && te.taste == T_Enter && te.id == TE_Release )
+    suchFilter->doTastaturEreignis(te);
+    if (!vera && te.verarbeitet && te.virtualKey == T_Enter
+        && te.id == TE_Release)
     {
         MausEreignis me;
         me.id = ME_RLinks;
         me.verarbeitet = 0;
         me.mx = suchen->getX() + 1 + pos.x;
         me.my = suchen->getY() + 1 + pos.y;
-        doPublicMausEreignis( me );
+        doPublicMausEreignis(me);
     }
-    auswahl->doTastaturEreignis( te );
+    auswahl->doTastaturEreignis(te);
 }
 
-bool SpieleKaufen::tick( double zeit )
+bool SpieleKaufen::tick(double zeit)
 {
-    rend |= suchFilter->tick( zeit );
-    rend |= suchFilterT->tick( zeit );
-    rend |= suchen->tick( zeit );
-    rend |= weiter->tick( zeit );
-    rend |= zurück->tick( zeit );
-    rend |= liste->tick( zeit );
-    rend |= auswahl->tick( zeit );
-    rend |= laden->tick( zeit );
+    rend |= suchFilter->tick(zeit);
+    rend |= suchFilterT->tick(zeit);
+    rend |= suchen->tick(zeit);
+    rend |= weiter->tick(zeit);
+    rend |= zurück->tick(zeit);
+    rend |= liste->tick(zeit);
+    rend |= auswahl->tick(zeit);
+    rend |= laden->tick(zeit);
     tickVal += zeit * 250;
     int val = (int)tickVal;
-    if( val < 1 )
+    if (val < 1)
     {
         bool ret = rend;
         rend = 0;
         return ret;
     }
-    if( val > 10 )
-        val = 10;
+    if (val > 10) val = 10;
     tickVal -= val;
-    if( sichtbar && alpha != 255 && !run )
+    if (sichtbar && alpha != 255 && !run)
     {
-        if( alpha + val > 255 )
+        if (alpha + val > 255)
             alpha = 255;
         else
             alpha += val;
         rend = 1;
     }
-    if( sichtbar && alpha != 125 && run )
+    if (sichtbar && alpha != 125 && run)
     {
-        if( alpha > 125 )
+        if (alpha > 125)
         {
-            if( alpha - val < 125 )
+            if (alpha - val < 125)
                 alpha = 125;
             else
                 alpha -= val;
@@ -953,16 +999,16 @@ bool SpieleKaufen::tick( double zeit )
         }
         else
         {
-            if( alpha + val > 125 )
+            if (alpha + val > 125)
                 alpha = 125;
             else
                 alpha += 125;
             rend = 1;
         }
     }
-    if( !sichtbar && alpha != 0 )
+    if (!sichtbar && alpha != 0)
     {
-        if( alpha - val < 0 )
+        if (alpha - val < 0)
             alpha = 0;
         else
             alpha -= val;
@@ -973,26 +1019,24 @@ bool SpieleKaufen::tick( double zeit )
     return ret;
 }
 
-void SpieleKaufen::render( Bild &zRObj )
+void SpieleKaufen::render(Bild& zRObj)
 {
-    if( !alpha )
-        return;
+    if (!alpha) return;
     int br = ram->getBreite();
     int hö = ram->getHeight();
-    if( !zRObj.setDrawOptions( pos.x, pos.y, br, hö ) )
-        return;
-    zRObj.setAlpha( alpha );
-    ram->render( zRObj );
-    suchFilterT->render( zRObj );
-    suchFilter->render( zRObj );
-    suchen->render( zRObj );
-    seiten->render( zRObj );
-    weiter->render( zRObj );
-    zurück->render( zRObj );
-    liste->render( zRObj );
-    auswahl->render( zRObj );
+    if (!zRObj.setDrawOptions(pos.x, pos.y, br, hö)) return;
+    zRObj.setAlpha(alpha);
+    ram->render(zRObj);
+    suchFilterT->render(zRObj);
+    suchFilter->render(zRObj);
+    suchen->render(zRObj);
+    seiten->render(zRObj);
+    weiter->render(zRObj);
+    zurück->render(zRObj);
+    liste->render(zRObj);
+    auswahl->render(zRObj);
     zRObj.releaseAlpha();
-    laden->render( zRObj );
+    laden->render(zRObj);
     zRObj.releaseDrawOptions();
 }
 

+ 1084 - 946
KSGClient/NachLogin/Spiele/Gruppe/Gruppe.cpp

@@ -1,42 +1,56 @@
 #include "Gruppe.h"
+
+#include <AlphaFeld.h>
+#include <DateiSystem.h>
+#include <Globals.h>
 #include <Punkt.h>
 #include <Rahmen.h>
-#include "..\..\..\Global\Variablen.h"
+#include <ToolTip.h>
+
 #include "..\..\..\Global\Initialisierung.h"
+#include "..\..\..\Global\Variablen.h"
 #include "..\..\..\Leser\KartenLeser.h"
-#include <DateiSystem.h>
-#include <AlphaFeld.h>
-#include <ToolTip.h>
-#include <Globals.h>
 
 // Inhalt der GruppeEinladungAccount Klasse aus Gruppe.h
 // Konstruktor
 GruppeEinladungAccount::GruppeEinladungAccount()
     : ReferenceCounter()
 {
-    Bild *nachrichtBild = bilder->get( "data/client/bilder/chat.ltdb/nachricht.png" );
-    Bild *neuSendenBild = bilder->get( "data/client/bilder/chat.ltdb/neusenden.png" );
-    Bild *entfernenBild = bilder->get( "data/client/bilder/chat.ltdb/entfernen.png" );
+    Bild* nachrichtBild
+        = bilder->get("data/client/bilder/chat.ltdb/nachricht.png");
+    Bild* neuSendenBild
+        = bilder->get("data/client/bilder/chat.ltdb/neusenden.png");
+    Bild* entfernenBild
+        = bilder->get("data/client/bilder/chat.ltdb/entfernen.png");
     rahmen = new LRahmen();
-    rahmen->setFarbe( 0xFFFFFFFF );
-    rahmen->setRamenBreite( 1 );
+    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, TextFeld::Style::Text | TextFeld::Style::Center, "" );
-    nachrichtSenden = initKnopf( 0, 30, 20, 20, 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." );
-    erneutSenden = initKnopf( 0, 30, 20, 20, 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." );
-    einladungAbbrechen = initKnopf( 0, 30, 20, 20, 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." );
+    auswahl->setFarbe(0x0000FF00);
+    auswahl->setStrength(-2);
+    auswahl->setPosition(1, 1);
+    name = initTextFeld(
+        0, 5, 100, 20, TextFeld::Style::Text | TextFeld::Style::Center, "");
+    nachrichtSenden = initKnopf(0, 30, 20, 20, 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.");
+    erneutSenden = initKnopf(0, 30, 20, 20, 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.");
+    einladungAbbrechen = initKnopf(0, 30, 20, 20, 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.");
     status = 0;
     knopfX = 500;
     tickVal = 0;
@@ -62,24 +76,23 @@ GruppeEinladungAccount::~GruppeEinladungAccount()
 }
 
 // nicht constant
-void GruppeEinladungAccount::setGruppeId( int gruppeId )
+void GruppeEinladungAccount::setGruppeId(int gruppeId)
 {
     this->gruppeId = gruppeId;
 }
 
-void GruppeEinladungAccount::setAccountId( int id )
+void GruppeEinladungAccount::setAccountId(int id)
 {
     this->accountId = id;
-    name->setText( infoClient->getSpielerName( id ) );
+    name->setText(infoClient->getSpielerName(id));
     rend = 1;
 }
 
-void GruppeEinladungAccount::setSize( int br )
+void GruppeEinladungAccount::setSize(int br)
 {
-    if( this->br != br )
-        rend = 1;
+    if (this->br != br) rend = 1;
     this->br = br;
-    if( knopfX == 500 )
+    if (knopfX == 500)
     {
         knopfX = br;
         rend = 1;
@@ -101,155 +114,142 @@ void GruppeEinladungAccount::setRemove()
     animation &= ~0x1;
 }
 
-void GruppeEinladungAccount::setAdmin( int admin )
+void GruppeEinladungAccount::setAdmin(int admin)
 {
     this->admin = admin;
 }
 
-bool GruppeEinladungAccount::tick( double tickVal )
+bool GruppeEinladungAccount::tick(double tickVal)
 {
-    rend |= name->tick( tickVal );
-    rend |= nachrichtSenden->tick( tickVal );
-    rend |= erneutSenden->tick( tickVal );
-    rend |= einladungAbbrechen->tick( 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 )
+    if (val < 1)
     {
         bool ret = rend;
         rend = 0;
         return ret;
     }
-    if( val > 4 )
-        val = 4;
+    if (val > 4) val = 4;
     this->tickVal -= val;
-    if( ( animation | 0x1 ) == animation )
+    if ((animation | 0x1) == animation)
     {
-        if( höhe < 30 )
+        if (höhe < 30)
         {
             höhe += val;
-            if( höhe > 30 )
-                höhe = 30;
+            if (höhe > 30) höhe = 30;
             rend = 1;
         }
     }
     else
     {
-        if( höhe > 0 )
+        if (höhe > 0)
         {
             höhe -= val;
-            if( höhe < 0 )
-                höhe = 0;
+            if (höhe < 0) höhe = 0;
             rend = 1;
         }
     }
-    if( mausIn )
+    if (mausIn)
     {
-        if( admin == loginClient->getAccountId() && !status )
+        if (admin == loginClient->getAccountId() && !status)
         {
-            if( knopfX > br - 60 )
+            if (knopfX > br - 60)
             {
                 knopfX -= val;
-                if( knopfX < br - 60 )
-                    knopfX = br - 60;
+                if (knopfX < br - 60) knopfX = br - 60;
                 rend = 1;
             }
         }
-        else if( admin == loginClient->getAccountId() && status != 2 )
+        else if (admin == loginClient->getAccountId() && status != 2)
         {
-            if( knopfX > br - 40 )
+            if (knopfX > br - 40)
             {
                 knopfX -= val;
-                if( knopfX < br - 40 )
-                    knopfX = br - 40;
+                if (knopfX < br - 40) knopfX = br - 40;
                 rend = 1;
             }
         }
         else
         {
-            if( knopfX > br - 20 )
+            if (knopfX > br - 20)
             {
                 knopfX -= val;
-                if( knopfX < br - 20 )
-                    knopfX = br - 20;
+                if (knopfX < br - 20) knopfX = br - 20;
                 rend = 1;
             }
         }
     }
     else
     {
-        if( knopfX < br )
+        if (knopfX < br)
         {
             knopfX += val;
-            if( knopfX > br )
-                knopfX = br;
+            if (knopfX > br) knopfX = br;
             rend = 1;
         }
     }
-    switch( status )
+    switch (status)
     {
     case 1:
-        if( 1 )
+        if (1)
         {
-            int r = ( rahmen->getFarbe() >> 16 ) & 0xFF;
-            int g = ( rahmen->getFarbe() >> 8 ) & 0xFF;
+            int r = (rahmen->getFarbe() >> 16) & 0xFF;
+            int g = (rahmen->getFarbe() >> 8) & 0xFF;
             int b = rahmen->getFarbe() & 0xFF;
-            if( r < 255 )
+            if (r < 255)
             {
                 r += val;
-                if( r > 255 )
-                    r = 255;
+                if (r > 255) r = 255;
                 rend = 1;
             }
-            if( g > 0 )
+            if (g > 0)
             {
                 g -= val;
-                if( g < 0 )
-                    g = 0;
+                if (g < 0) g = 0;
                 rend = 1;
             }
-            if( b > 0 )
+            if (b > 0)
             {
                 b -= val;
-                if( b < 0 )
-                    b = 0;
+                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 );
+            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 )
+        if (1)
         {
-            int r = ( rahmen->getFarbe() >> 16 ) & 0xFF;
-            int g = ( rahmen->getFarbe() >> 8 ) & 0xFF;
+            int r = (rahmen->getFarbe() >> 16) & 0xFF;
+            int g = (rahmen->getFarbe() >> 8) & 0xFF;
             int b = rahmen->getFarbe() & 0xFF;
-            if( r > 0 )
+            if (r > 0)
             {
                 r -= val;
-                if( r < 0 )
-                    r = 0;
+                if (r < 0) r = 0;
                 rend = 1;
             }
-            if( g < 255 )
+            if (g < 255)
             {
                 g += val;
-                if( g > 255 )
-                    g = 255;
+                if (g > 255) g = 255;
                 rend = 1;
             }
-            if( b > 0 )
+            if (b > 0)
             {
                 b -= val;
-                if( b < 0 )
-                    b = 0;
+                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 );
+            int f = ((r << 16) & 0xFF0000) | ((g << 8) & 0xFF00) | (b & 0xFF);
+            rahmen->setFarbe((rahmen->getFarbe() & 0xFF000000) | f);
+            auswahl->setFarbe((auswahl->getFarbe() & 0xFF000000) | f);
         }
         break;
     }
@@ -258,96 +258,106 @@ bool GruppeEinladungAccount::tick( double tickVal )
     return ret;
 }
 
-void GruppeEinladungAccount::doPublicMausEreignis( MausEreignis &me )
+void GruppeEinladungAccount::doPublicMausEreignis(MausEreignis& me)
 {
-    if( me.mx < 0 || me.my < 0 || me.mx > br || me.my > höhe )
+    if (me.mx < 0 || me.my < 0 || me.mx > br || me.my > höhe)
         mausIn = 0;
     else
         mausIn = 1;
     bool ak = !me.verarbeitet;
-    nachrichtSenden->doPublicMausEreignis( me );
-    int aktion = ( me.verarbeitet && ak ) ? 1 : 0;
-    erneutSenden->doPublicMausEreignis( me );
-    aktion = ( me.verarbeitet && ak && !aktion ) ? 2 : aktion;
-    einladungAbbrechen->doPublicMausEreignis( me );
-    aktion = ( me.verarbeitet && ak && !status && !aktion ) ? 3 : aktion;
-    if( me.id != ME_RLinks || !mausIn )
-        return;
-    switch( aktion )
+    nachrichtSenden->doPublicMausEreignis(me);
+    int aktion = (me.verarbeitet && ak) ? 1 : 0;
+    erneutSenden->doPublicMausEreignis(me);
+    aktion = (me.verarbeitet && ak && !aktion) ? 2 : aktion;
+    einladungAbbrechen->doPublicMausEreignis(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 );
+        nachLogin->zChatLeiste()->addChat(accountId, 0);
         break;
     case 2:
-        if( !anmeldungClient )
+        if (!anmeldungClient)
             anmeldungClient = mainClient->createAnmeldungServerClient();
-        if( !anmeldungClient )
+        if (!anmeldungClient)
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( mainClient->getLetzterFehler() ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(mainClient->getLetzterFehler()),
+                new Text("Ok"),
+                0);
         }
-        if( !anmeldungClient->verbinde() )
+        if (!anmeldungClient->verbinde())
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(anmeldungClient->getLetzterFehler()),
+                new Text("Ok"),
+                0);
         }
         else
         {
-            if( !anmeldungClient->gruppeSpielerEinladen( accountId, gruppeId ) )
+            if (!anmeldungClient->gruppeSpielerEinladen(accountId, gruppeId))
             {
-                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
-                                                              new Text( "Ok" ), 0 );
+                nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                    new Text(anmeldungClient->getLetzterFehler()),
+                    new Text("Ok"),
+                    0);
             }
-            anmeldungClient->trenne( 0 );
+            anmeldungClient->trenne(0);
         }
         break;
     case 3:
-        if( !anmeldungClient )
+        if (!anmeldungClient)
             anmeldungClient = mainClient->createAnmeldungServerClient();
-        if( !anmeldungClient )
+        if (!anmeldungClient)
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( mainClient->getLetzterFehler() ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(mainClient->getLetzterFehler()),
+                new Text("Ok"),
+                0);
         }
-        if( !anmeldungClient->verbinde() )
+        if (!anmeldungClient->verbinde())
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(anmeldungClient->getLetzterFehler()),
+                new Text("Ok"),
+                0);
         }
         else
         {
-            if( !anmeldungClient->gruppeEinladungAbbrechen( accountId, gruppeId ) )
+            if (!anmeldungClient->gruppeEinladungAbbrechen(accountId, gruppeId))
             {
-                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
-                                                              new Text( "Ok" ), 0 );
+                nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                    new Text(anmeldungClient->getLetzterFehler()),
+                    new Text("Ok"),
+                    0);
             }
-            anmeldungClient->trenne( 0 );
+            anmeldungClient->trenne(0);
         }
         break;
     }
 }
 
-void GruppeEinladungAccount::render( int y, Bild &zrObj )
+void GruppeEinladungAccount::render(int y, Bild& zrObj)
 {
-    if( !zrObj.setDrawOptions( 0, y, br, höhe ) )
-        return;
-    rahmen->setSize( br, höhe );
-    rahmen->render( 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 ) )
+    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 );
+    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();
 }
@@ -373,21 +383,24 @@ int GruppeEinladungAccount::getHeight() const
 GruppeEinladungListe::GruppeEinladungListe()
     : ReferenceCounter()
 {
-    Bild *maximierenBild = bilder->get( "data/client/bilder/chat.ltdb/maximieren.png" );
-    pos = Punkt( 200, 0 );
-    gr = Punkt( 150, 350 );
+    Bild* maximierenBild
+        = bilder->get("data/client/bilder/chat.ltdb/maximieren.png");
+    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, TextFeld::Style::TextFeld, "" );
-    initToolTip( einladenName, "Name des Spielers den du einladen möchtest." );
-    einladen = initKnopf( 125, 5, 20, 20, 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." );
+    rahmen->setRamenBreite(1);
+    rahmen->setFarbe(0xFFFFFFFF);
+    rahmen->setSize(150, 350);
+    einladenName = initTextFeld(5, 5, 115, 20, TextFeld::Style::TextFeld, "");
+    initToolTip(einladenName, "Name des Spielers den du einladen möchtest.");
+    einladen = initKnopf(125, 5, 20, 20, 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.");
     scroll = new VScrollBar();
-    accounts = new RCArray< GruppeEinladungAccount >();
+    accounts = new RCArray<GruppeEinladungAccount>();
     einladungHöhe = 0;
     tickVal = 0;
     anzahl = 0;
@@ -409,8 +422,8 @@ GruppeEinladungListe::~GruppeEinladungListe()
 // nicht constant
 void GruppeEinladungListe::reset()
 {
-    einladenName->setText( "" );
-    scroll->update( 0, 0 );
+    einladenName->setText("");
+    scroll->update(0, 0);
     einladungHöhe = 0;
     tickVal = 0;
     accounts->leeren();
@@ -420,36 +433,35 @@ void GruppeEinladungListe::reset()
     rend = 1;
 }
 
-void GruppeEinladungListe::setGruppeId( int gruppeId )
+void GruppeEinladungListe::setGruppeId(int gruppeId)
 {
     this->gruppeId = gruppeId;
-    for( int i = 0; i < anzahl; i++ )
-        accounts->z( i )->setGruppeId( gruppeId );
+    for (int i = 0; i < anzahl; i++)
+        accounts->z(i)->setGruppeId(gruppeId);
 }
 
-void GruppeEinladungListe::addAccount( int id )
+void GruppeEinladungListe::addAccount(int id)
 {
-    for( int i = 0; i < anzahl; i++ )
+    for (int i = 0; i < anzahl; i++)
     {
-        GruppeEinladungAccount *tmp = accounts->z( i );
-        if( tmp->getAccountId() == id )
-            tmp->setRemove();
+        GruppeEinladungAccount* tmp = accounts->z(i);
+        if (tmp->getAccountId() == id) tmp->setRemove();
     }
-    GruppeEinladungAccount *tmp = new GruppeEinladungAccount();
-    tmp->setGruppeId( gruppeId );
-    tmp->setAccountId( id );
-    tmp->setAdmin( admin );
-    accounts->add( tmp, anzahl );
+    GruppeEinladungAccount* tmp = new GruppeEinladungAccount();
+    tmp->setGruppeId(gruppeId);
+    tmp->setAccountId(id);
+    tmp->setAdmin(admin);
+    accounts->add(tmp, anzahl);
     anzahl++;
     rend = 1;
 }
 
-void GruppeEinladungListe::setAbgelehnt( int id )
+void GruppeEinladungListe::setAbgelehnt(int id)
 {
-    for( int i = 0; i < anzahl; i++ )
+    for (int i = 0; i < anzahl; i++)
     {
-        GruppeEinladungAccount *tmp = accounts->z( i );
-        if( tmp && tmp->getAccountId() == id )
+        GruppeEinladungAccount* tmp = accounts->z(i);
+        if (tmp && tmp->getAccountId() == id)
         {
             tmp->setAbgelehnt();
             break;
@@ -457,12 +469,12 @@ void GruppeEinladungListe::setAbgelehnt( int id )
     }
 }
 
-void GruppeEinladungListe::setAngenommen( int id )
+void GruppeEinladungListe::setAngenommen(int id)
 {
-    for( int i = 0; i < anzahl; i++ )
+    for (int i = 0; i < anzahl; i++)
     {
-        GruppeEinladungAccount *tmp = accounts->z( i );
-        if( tmp && tmp->getAccountId() == id )
+        GruppeEinladungAccount* tmp = accounts->z(i);
+        if (tmp && tmp->getAccountId() == id)
         {
             tmp->setAngenommen();
             break;
@@ -470,12 +482,12 @@ void GruppeEinladungListe::setAngenommen( int id )
     }
 }
 
-void GruppeEinladungListe::remove( int id )
+void GruppeEinladungListe::remove(int id)
 {
-    for( int i = 0; i < anzahl; i++ )
+    for (int i = 0; i < anzahl; i++)
     {
-        GruppeEinladungAccount *tmp = accounts->z( i );
-        if( tmp && tmp->getAccountId() == id )
+        GruppeEinladungAccount* tmp = accounts->z(i);
+        if (tmp && tmp->getAccountId() == id)
         {
             tmp->setRemove();
             break;
@@ -483,65 +495,60 @@ void GruppeEinladungListe::remove( int id )
     }
 }
 
-void GruppeEinladungListe::setAdmin( int admin )
+void GruppeEinladungListe::setAdmin(int admin)
 {
     this->admin = admin;
-    for( int i = 0; i < anzahl; i++ )
+    for (int i = 0; i < anzahl; i++)
     {
-        GruppeEinladungAccount *tmp = accounts->z( i );
-        if( tmp )
-            tmp->setAdmin( admin );
+        GruppeEinladungAccount* tmp = accounts->z(i);
+        if (tmp) tmp->setAdmin(admin);
     }
 }
 
-bool GruppeEinladungListe::tick( double tickVal )
+bool GruppeEinladungListe::tick(double tickVal)
 {
-    rend |= einladenName->tick( tickVal );
-    rend |= einladen->tick( tickVal );
+    rend |= einladenName->tick(tickVal);
+    rend |= einladen->tick(tickVal);
     rend |= scroll->getRend();
     this->tickVal += tickVal * 100;
     int val = (int)this->tickVal;
-    if( val < 1 )
+    if (val < 1)
     {
         bool ret = rend;
         rend = 0;
         return ret;
     }
-    if( val > 4 )
-        val = 4;
+    if (val > 4) val = 4;
     this->tickVal -= val;
-    if( admin == loginClient->getAccountId() )
+    if (admin == loginClient->getAccountId())
     {
-        if( einladungHöhe < 30 )
+        if (einladungHöhe < 30)
         {
             einladungHöhe += val;
-            if( einladungHöhe > 30 )
-                einladungHöhe = 30;
+            if (einladungHöhe > 30) einladungHöhe = 30;
             rend = 1;
         }
     }
     else
     {
-        if( einladungHöhe > 0 )
+        if (einladungHöhe > 0)
         {
             einladungHöhe -= val;
-            if( einladungHöhe < 0 )
-                einladungHöhe = 0;
+            if (einladungHöhe < 0) einladungHöhe = 0;
             rend = 1;
         }
     }
-    for( int i = 0; i < anzahl; i++ )
+    for (int i = 0; i < anzahl; i++)
     {
-        GruppeEinladungAccount *tmp = accounts->z( i );
-        if( tmp )
-            rend |= tmp->tick( tickVal );
+        GruppeEinladungAccount* tmp = accounts->z(i);
+        if (tmp) rend |= tmp->tick(tickVal);
     }
-    for( int i = 0; i < anzahl; i++ )
+    for (int i = 0; i < anzahl; i++)
     {
-        GruppeEinladungAccount *tmp = accounts->z( i );
-        if( !tmp->getHeight() )
+        GruppeEinladungAccount* tmp = accounts->z(i);
+        if (!tmp->getHeight())
         {
-            accounts->remove( i );
+            accounts->remove(i);
             anzahl--;
             rend = 1;
         }
@@ -551,75 +558,91 @@ bool GruppeEinladungListe::tick( double tickVal )
     return ret;
 }
 
-void GruppeEinladungListe::doPublicMausEreignis( MausEreignis &me )
+void GruppeEinladungListe::doPublicMausEreignis(MausEreignis& me)
 {
     int tmpX = me.mx;
     int tmpY = me.my;
     me.mx -= pos.x;
     me.my -= pos.y;
-    if( einladungHöhe == 30 )
+    if (einladungHöhe == 30)
     {
-        einladenName->doPublicMausEreignis( me );
+        einladenName->doPublicMausEreignis(me);
         bool ak = !me.verarbeitet;
-        einladen->doPublicMausEreignis( me );
-        if( me.verarbeitet && ak )
+        einladen->doPublicMausEreignis(me);
+        if (me.verarbeitet && ak)
         {
-            if( me.id == ME_RLinks )
+            if (me.id == ME_RLinks)
             {
-                if( einladenName->zText()->getLength() )
+                if (einladenName->zText()->getLength())
                 {
-                    int accountId = infoClient->getAccountId( einladenName->zText()->getText() );
-                    if( accountId )
+                    int accountId = infoClient->getAccountId(
+                        einladenName->zText()->getText());
+                    if (accountId)
                     {
-                        if( !anmeldungClient )
-                            anmeldungClient = mainClient->createAnmeldungServerClient();
-                        if( !anmeldungClient )
+                        if (!anmeldungClient)
+                            anmeldungClient
+                                = mainClient->createAnmeldungServerClient();
+                        if (!anmeldungClient)
                         {
-                            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( mainClient->getLetzterFehler() ),
-                                                                          new Text( "Ok" ), 0 );
+                            nachLogin->zNachrichtenListe()->addNachricht(
+                                new Text("Fehler"),
+                                new Text(mainClient->getLetzterFehler()),
+                                new Text("Ok"),
+                                0);
                         }
-                        if( !anmeldungClient->verbinde() )
+                        if (!anmeldungClient->verbinde())
                         {
-                            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
-                                                                          new Text( "Ok" ), 0 );
+                            nachLogin->zNachrichtenListe()->addNachricht(
+                                new Text("Fehler"),
+                                new Text(anmeldungClient->getLetzterFehler()),
+                                new Text("Ok"),
+                                0);
                         }
                         else
                         {
-                            if( !anmeldungClient->gruppeSpielerEinladen( accountId, gruppeId ) )
+                            if (!anmeldungClient->gruppeSpielerEinladen(
+                                    accountId, gruppeId))
                             {
-                                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
-                                                                              new Text( "Ok" ), 0 );
+                                nachLogin->zNachrichtenListe()->addNachricht(
+                                    new Text("Fehler"),
+                                    new Text(
+                                        anmeldungClient->getLetzterFehler()),
+                                    new Text("Ok"),
+                                    0);
                             }
                             else
                             {
-                                einladenName->setText( "" );
-                                einladenName->setAuswahl( 0, 0 );
+                                einladenName->setText("");
+                                einladenName->setAuswahl(0, 0);
                                 rend = 1;
                             }
-                            anmeldungClient->trenne( 0 );
+                            anmeldungClient->trenne(0);
                         }
                     }
                     else
                     {
-                        nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( "Der Account wurde nicht gefunden." ),
-                                                                      new Text( "Ok" ), 0 );
+                        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 );
+    scroll->doMausMessage(134, 1 + einladungHöhe, 15, 348 - einladungHöhe, me);
     me.my -= einladungHöhe + 1;
-    for( int i = 0; i < anzahl; i++ )
+    for (int i = 0; i < anzahl; i++)
     {
-        GruppeEinladungAccount *tmp = accounts->z( i );
-        if( tmp )
+        GruppeEinladungAccount* tmp = accounts->z(i);
+        if (tmp)
         {
-            tmp->doPublicMausEreignis( me );
-            if( tmp->getRemove() )
+            tmp->doPublicMausEreignis(me);
+            if (tmp->getRemove())
             {
-                accounts->remove( i );
+                accounts->remove(i);
                 anzahl--;
                 rend = 1;
             }
@@ -630,87 +653,101 @@ void GruppeEinladungListe::doPublicMausEreignis( MausEreignis &me )
     me.my = tmpY;
 }
 
-void GruppeEinladungListe::doTastaturEreignis( TastaturEreignis &te )
+void GruppeEinladungListe::doTastaturEreignis(TastaturEreignis& te)
 {
     bool b = !te.verarbeitet;
-    einladenName->doTastaturEreignis( te );
-    if( te.verarbeitet && b && te.id == TE_Release && te.taste == T_Enter )
+    einladenName->doTastaturEreignis(te);
+    if (te.verarbeitet && b && te.id == TE_Release && te.virtualKey == T_Enter)
     {
-        if( einladenName->zText()->getLength() )
+        if (einladenName->zText()->getLength())
         {
-            int accountId = infoClient->getAccountId( einladenName->zText()->getText() );
-            if( accountId )
+            int accountId
+                = infoClient->getAccountId(einladenName->zText()->getText());
+            if (accountId)
             {
-                if( !anmeldungClient )
+                if (!anmeldungClient)
                     anmeldungClient = mainClient->createAnmeldungServerClient();
-                if( !anmeldungClient )
+                if (!anmeldungClient)
                 {
-                    nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( mainClient->getLetzterFehler() ),
-                                                                  new Text( "Ok" ), 0 );
+                    nachLogin->zNachrichtenListe()->addNachricht(
+                        new Text("Fehler"),
+                        new Text(mainClient->getLetzterFehler()),
+                        new Text("Ok"),
+                        0);
                 }
-                if( !anmeldungClient->verbinde() )
+                if (!anmeldungClient->verbinde())
                 {
-                    nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
-                                                                  new Text( "Ok" ), 0 );
+                    nachLogin->zNachrichtenListe()->addNachricht(
+                        new Text("Fehler"),
+                        new Text(anmeldungClient->getLetzterFehler()),
+                        new Text("Ok"),
+                        0);
                 }
                 else
                 {
-                    if( !anmeldungClient->gruppeSpielerEinladen( accountId, gruppeId ) )
+                    if (!anmeldungClient->gruppeSpielerEinladen(
+                            accountId, gruppeId))
                     {
-                        nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
-                                                                      new Text( "Ok" ), 0 );
+                        nachLogin->zNachrichtenListe()->addNachricht(
+                            new Text("Fehler"),
+                            new Text(anmeldungClient->getLetzterFehler()),
+                            new Text("Ok"),
+                            0);
                     }
                     else
                     {
-                        einladenName->setText( "" );
-                        einladenName->setAuswahl( 0, 0 );
+                        einladenName->setText("");
+                        einladenName->setAuswahl(0, 0);
                         rend = 1;
                     }
-                    anmeldungClient->trenne( 0 );
+                    anmeldungClient->trenne(0);
                 }
             }
             else
             {
-                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( "Der Account wurde nicht gefunden." ),
-                                                              new Text( "Ok" ), 0 );
+                nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                    new Text("Der Account wurde nicht gefunden."),
+                    new Text("Ok"),
+                    0);
             }
         }
     }
 }
 
-void GruppeEinladungListe::render( Bild &zRObj )
+void GruppeEinladungListe::render(Bild& zRObj)
 {
-    if( !zRObj.setDrawOptions( pos, gr ) )
-        return;
-    rahmen->render( zRObj );
+    if (!zRObj.setDrawOptions(pos, gr)) return;
+    rahmen->render(zRObj);
     int rbr = rahmen->getRBreite();
-    if( einladungHöhe )
+    if (einladungHöhe)
     {
-        if( zRObj.setDrawOptions( rbr, rbr, gr.x - rbr * 2, einladungHöhe - rbr * 2 ) )
+        if (zRObj.setDrawOptions(
+                rbr, rbr, gr.x - rbr * 2, einladungHöhe - rbr * 2))
         {
-            einladenName->render( zRObj );
-            einladen->render( zRObj );
+            einladenName->render(zRObj);
+            einladen->render(zRObj);
             zRObj.releaseDrawOptions();
         }
     }
-    if( !zRObj.setDrawOptions( rbr, einladungHöhe + rbr, gr.x - rbr * 2, gr.y - rbr * 2 ) )
+    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 );
+    scroll->render(134, 0, 15, 348 - einladungHöhe, zRObj);
     int höhe = 0;
-    for( int i = 0; i < anzahl; i++ )
+    for (int i = 0; i < anzahl; i++)
     {
-        GruppeEinladungAccount *tmp = accounts->z( i );
-        if( tmp )
+        GruppeEinladungAccount* tmp = accounts->z(i);
+        if (tmp)
         {
-            tmp->setSize( gr.x - 15 - rbr * 2 );
-            tmp->render( höhe - scroll->getScroll(), zRObj );
+            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 );
+    scroll->update(höhe, gr.y - rbr * 2 - einladungHöhe);
     zRObj.releaseDrawOptions();
     zRObj.releaseDrawOptions();
 }
@@ -720,35 +757,50 @@ void GruppeEinladungListe::render( Bild &zRObj )
 GruppeAccountDaten::GruppeAccountDaten()
     : ReferenceCounter()
 {
-    Bild *nachrichtBild = bilder->get( "data/client/bilder/chat.ltdb/nachricht.png" );
-    Bild *einladungBild = bilder->get( "data/client/bilder/chat.ltdb/neuerfreund.png" );
-    Bild *ansehenBild = bilder->get( "data/client/bilder/chat.ltdb/ansehen.png" );
-    Bild *entfernenBild = bilder->get( "data/client/bilder/chat.ltdb/entfernen.png" );
+    Bild* nachrichtBild
+        = bilder->get("data/client/bilder/chat.ltdb/nachricht.png");
+    Bild* einladungBild
+        = bilder->get("data/client/bilder/chat.ltdb/neuerfreund.png");
+    Bild* ansehenBild = bilder->get("data/client/bilder/chat.ltdb/ansehen.png");
+    Bild* entfernenBild
+        = bilder->get("data/client/bilder/chat.ltdb/entfernen.png");
     rahmen = new LRahmen();
-    rahmen->setFarbe( 0xFFFFFFFF );
-    rahmen->setRamenBreite( 1 );
+    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, TextFeld::Style::Text | TextFeld::Style::Center, "" );
-    punkte = initTextFeld( 101, 6, 100, 20, TextFeld::Style::Text | TextFeld::Style::Center, "0p" );
-    nachrichtSenden = initKnopf( 0, 30, 20, 20, 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." );
-    freundEinladung = initKnopf( 0, 30, 20, 20, 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." );
-    accountAnsehen = initKnopf( 0, 30, 20, 20, 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." );
-    kick = initKnopf( 0, 30, 20, 20, 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." );
+    auswahl->setFarbe(0x0000FF00);
+    auswahl->setStrength(-2);
+    auswahl->setPosition(1, 1);
+    name = initTextFeld(
+        1, 6, 100, 20, TextFeld::Style::Text | TextFeld::Style::Center, "");
+    punkte = initTextFeld(
+        101, 6, 100, 20, TextFeld::Style::Text | TextFeld::Style::Center, "0p");
+    nachrichtSenden = initKnopf(0, 30, 20, 20, 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.");
+    freundEinladung = initKnopf(0, 30, 20, 20, 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.");
+    accountAnsehen = initKnopf(0, 30, 20, 20, 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.");
+    kick = initKnopf(0, 30, 20, 20, 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.");
     tickVal = 0;
     mausIn = 0;
     remove = 0;
@@ -774,24 +826,25 @@ GruppeAccountDaten::~GruppeAccountDaten()
 }
 
 // nicht constant
-void GruppeAccountDaten::setGruppeId( int gruppeId )
+void GruppeAccountDaten::setGruppeId(int gruppeId)
 {
     this->gruppeId = gruppeId;
 }
 
-void GruppeAccountDaten::setAccountId( int id )
+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" );
+    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 )
+void GruppeAccountDaten::setSize(int x)
 {
-    if( br != x )
+    if (br != x)
     {
         br = x;
         rend = 1;
@@ -803,178 +856,182 @@ void GruppeAccountDaten::entfernen()
     animation &= ~0x1;
 }
 
-void GruppeAccountDaten::setAdmin( int admin )
+void GruppeAccountDaten::setAdmin(int admin)
 {
     this->admin = admin;
     rend = 1;
 }
 
-bool GruppeAccountDaten::tick( double tickVal )
+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 );
+    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 )
+    if (val < 1)
     {
         bool ret = rend;
         rend = 0;
         return ret;
     }
-    if( val > 4 )
-        val = 4;
+    if (val > 4) val = 4;
     this->tickVal -= val;
-    if( admin == accountId )
+    if (admin == accountId)
     {
-        int r = ( auswahl->getFarbe() >> 16 ) & 0xFF;
-        if( r < 200 )
+        int r = (auswahl->getFarbe() >> 16) & 0xFF;
+        if (r < 200)
         {
             r += val;
-            if( r > 200 )
-                r = 200;
-            auswahl->setFarbe( ( auswahl->getFarbe() & 0xFF00FFFF ) | ( ( r << 16 ) & 0xFF0000 ) );
+            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 )
+        int r = (auswahl->getFarbe() >> 16) & 0xFF;
+        if (r > 0)
         {
-            if( r - val < 0 )
+            if (r - val < 0)
                 r = 0;
             else
                 r -= val;
-            auswahl->setFarbe( ( auswahl->getFarbe() & 0xFF00FFFF ) | ( ( r << 16 ) & 0xFF0000 ) );
+            auswahl->setFarbe(
+                (auswahl->getFarbe() & 0xFF00FFFF) | ((r << 16) & 0xFF0000));
             rend = 1;
         }
     }
-    if( ( animation | 0x1 ) == animation )
+    if ((animation | 0x1) == animation)
     {
-        if( höhe < 30 )
+        if (höhe < 30)
         {
             höhe += val;
-            if( höhe > 30 )
-                höhe = 30;
+            if (höhe > 30) höhe = 30;
             rend = 1;
         }
-        if( mausIn )
+        if (mausIn)
         {
-            if( höhe < 50 )
+            if (höhe < 50)
             {
                 höhe += val;
-                if( höhe > 50 )
-                    höhe = 50;
+                if (höhe > 50) höhe = 50;
                 rend = 1;
             }
-            int a = ( auswahl->getFarbe() >> 24 ) & 0xFF;
-            if( a < 50 )
+            int a = (auswahl->getFarbe() >> 24) & 0xFF;
+            if (a < 50)
             {
                 a += val;
-                if( a > 50 )
-                    a = 50;
-                auswahl->setFarbe( ( ( a << 24 ) & 0xFF000000 ) | ( auswahl->getFarbe() & 0xFFFFFF ) );
+                if (a > 50) a = 50;
+                auswahl->setFarbe(((a << 24) & 0xFF000000)
+                                  | (auswahl->getFarbe() & 0xFFFFFF));
                 rend = 1;
             }
         }
         else
         {
-            if( höhe > 30 )
+            if (höhe > 30)
             {
                 höhe -= val;
-                if( höhe < 30 )
-                    höhe = 30;
+                if (höhe < 30) höhe = 30;
                 rend = 1;
             }
-            int a = ( auswahl->getFarbe() >> 24 ) & 0xFF;
-            if( a > 0 )
+            int a = (auswahl->getFarbe() >> 24) & 0xFF;
+            if (a > 0)
             {
-                if( a - val < 0 )
+                if (a - val < 0)
                     a = 0;
                 else
                     a -= val;
-                auswahl->setFarbe( ( ( a << 24 ) & 0xFF000000 ) | ( auswahl->getFarbe() & 0xFFFFFF ) );
+                auswahl->setFarbe(((a << 24) & 0xFF000000)
+                                  | (auswahl->getFarbe() & 0xFFFFFF));
                 rend = 1;
             }
         }
-        if( accountId != loginClient->getAccountId() )
+        if (accountId != loginClient->getAccountId())
         {
-            if( nachrichtSenden->getBreite() < 20 )
+            if (nachrichtSenden->getBreite() < 20)
             {
-                nachrichtSenden->setSize( nachrichtSenden->getBreite() + val, nachrichtSenden->getHeight() );
-                if( nachrichtSenden->getBreite() > 20 )
-                    nachrichtSenden->setSize( 20, nachrichtSenden->getHeight() );
+                nachrichtSenden->setSize(nachrichtSenden->getBreite() + val,
+                    nachrichtSenden->getHeight());
+                if (nachrichtSenden->getBreite() > 20)
+                    nachrichtSenden->setSize(20, nachrichtSenden->getHeight());
                 rend = 1;
             }
         }
         else
         {
-            if( nachrichtSenden->getBreite() > 0 )
+            if (nachrichtSenden->getBreite() > 0)
             {
-                nachrichtSenden->setSize( nachrichtSenden->getBreite() - val, nachrichtSenden->getHeight() );
-                if( nachrichtSenden->getBreite() < 0 )
-                    nachrichtSenden->setSize( 0, nachrichtSenden->getHeight() );
+                nachrichtSenden->setSize(nachrichtSenden->getBreite() - val,
+                    nachrichtSenden->getHeight());
+                if (nachrichtSenden->getBreite() < 0)
+                    nachrichtSenden->setSize(0, nachrichtSenden->getHeight());
                 rend = 1;
             }
         }
-        if( accountAnsehen->getBreite() < 20 )
+        if (accountAnsehen->getBreite() < 20)
         {
-            accountAnsehen->setSize( accountAnsehen->getBreite() + val, accountAnsehen->getHeight() );
-            if( accountAnsehen->getBreite() > 20 )
-                accountAnsehen->setSize( 20, accountAnsehen->getHeight() );
+            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 (accountId == loginClient->getAccountId()
+            || nachLogin->zFreundesListe()->istFreund(accountId))
         {
-            if( freundEinladung->getBreite() > 0 )
+            if (freundEinladung->getBreite() > 0)
             {
-                freundEinladung->setSize( freundEinladung->getBreite() - val, freundEinladung->getHeight() );
-                if( freundEinladung->getBreite() < 0 )
-                    freundEinladung->setSize( 0, freundEinladung->getHeight() );
+                freundEinladung->setSize(freundEinladung->getBreite() - val,
+                    freundEinladung->getHeight());
+                if (freundEinladung->getBreite() < 0)
+                    freundEinladung->setSize(0, freundEinladung->getHeight());
                 rend = 1;
             }
         }
         else
         {
-            if( freundEinladung->getBreite() < 20 )
+            if (freundEinladung->getBreite() < 20)
             {
-                freundEinladung->setSize( freundEinladung->getBreite() + val, freundEinladung->getHeight() );
-                if( freundEinladung->getBreite() > 20 )
-                    freundEinladung->setSize( 20, freundEinladung->getHeight() );
+                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 (accountId == loginClient->getAccountId()
+            || admin != loginClient->getAccountId())
         {
-            if( kick->getBreite() > 0 )
+            if (kick->getBreite() > 0)
             {
-                kick->setSize( kick->getBreite() - val, kick->getHeight() );
-                if( kick->getBreite() < 0 )
-                    kick->setSize( 0, kick->getHeight() );
+                kick->setSize(kick->getBreite() - val, kick->getHeight());
+                if (kick->getBreite() < 0) kick->setSize(0, kick->getHeight());
                 rend = 1;
             }
         }
         else
         {
-            if( kick->getBreite() < 20 )
+            if (kick->getBreite() < 20)
             {
-                kick->setSize( kick->getBreite() + val, kick->getHeight() );
-                if( kick->getBreite() > 20 )
-                    kick->setSize( 20, kick->getHeight() );
+                kick->setSize(kick->getBreite() + val, kick->getHeight());
+                if (kick->getBreite() > 20)
+                    kick->setSize(20, kick->getHeight());
                 rend = 1;
             }
         }
     }
     else
     {
-        if( höhe > 0 )
+        if (höhe > 0)
         {
             höhe -= val;
-            if( höhe <= 0 )
+            if (höhe <= 0)
             {
                 höhe = 0;
                 remove = 1;
@@ -987,93 +1044,98 @@ bool GruppeAccountDaten::tick( double tickVal )
     return ret;
 }
 
-void GruppeAccountDaten::doPublicMausEreignis( MausEreignis &me )
+void GruppeAccountDaten::doPublicMausEreignis(MausEreignis& me)
 {
-    if( me.mx < 0 || me.my < 0 || me.mx > br || me.my > höhe )
+    if (me.mx < 0 || me.my < 0 || me.mx > br || me.my > höhe)
         mausIn = 0;
     else
         mausIn = 1;
     bool ak = !me.verarbeitet;
-    nachrichtSenden->doPublicMausEreignis( me );
-    int aktion = ( me.verarbeitet && ak ) ? 1 : 0;
-    accountAnsehen->doPublicMausEreignis( me );
-    aktion = ( me.verarbeitet && ak && !aktion ) ? 2 : aktion;
-    freundEinladung->doPublicMausEreignis( me );
-    aktion = ( me.verarbeitet && ak && !aktion ) ? 3 : aktion;
-    kick->doPublicMausEreignis( me );
-    aktion = ( me.verarbeitet && ak && !aktion ) ? 4 : aktion;
-    if( me.id != ME_RLinks )
-        return;
-    switch( aktion )
+    nachrichtSenden->doPublicMausEreignis(me);
+    int aktion = (me.verarbeitet && ak) ? 1 : 0;
+    accountAnsehen->doPublicMausEreignis(me);
+    aktion = (me.verarbeitet && ak && !aktion) ? 2 : aktion;
+    freundEinladung->doPublicMausEreignis(me);
+    aktion = (me.verarbeitet && ak && !aktion) ? 3 : aktion;
+    kick->doPublicMausEreignis(me);
+    aktion = (me.verarbeitet && ak && !aktion) ? 4 : aktion;
+    if (me.id != ME_RLinks) return;
+    switch (aktion)
     {
     case 1:
-        nachLogin->zChatLeiste()->addChat( accountId, 0 );
+        nachLogin->zChatLeiste()->addChat(accountId, 0);
         break;
     case 2:
-        if( nachLogin->zAccountAnsehenFenster()->setSpielerDetails( accountId, 2 ) )
+        if (nachLogin->zAccountAnsehenFenster()->setSpielerDetails(
+                accountId, 2))
         {
-            MausEreignis me = { ME_RLinks, 0, 0, 0, 1 };
-            nachLogin->zTitelLeiste()->druckAccountAnsehen( me );
+            MausEreignis me = {ME_RLinks, 0, 0, 0, 1};
+            nachLogin->zTitelLeiste()->druckAccountAnsehen(me);
         }
         break;
     case 3:
-        chatClient->freundesAnfrage( accountId );
+        chatClient->freundesAnfrage(accountId);
         break;
     case 4:
-        if( !anmeldungClient )
+        if (!anmeldungClient)
             anmeldungClient = mainClient->createAnmeldungServerClient();
-        if( !anmeldungClient )
+        if (!anmeldungClient)
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( mainClient->getLetzterFehler() ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(mainClient->getLetzterFehler()),
+                new Text("Ok"),
+                0);
         }
-        if( !anmeldungClient->verbinde() )
+        if (!anmeldungClient->verbinde())
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(anmeldungClient->getLetzterFehler()),
+                new Text("Ok"),
+                0);
         }
         else
         {
-            if( !anmeldungClient->kickSpielerAusGruppe( accountId, gruppeId ) )
+            if (!anmeldungClient->kickSpielerAusGruppe(accountId, gruppeId))
             {
-                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
-                                                              new Text( "Ok" ), 0 );
+                nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                    new Text(anmeldungClient->getLetzterFehler()),
+                    new Text("Ok"),
+                    0);
             }
-            anmeldungClient->trenne( 0 );
+            anmeldungClient->trenne(0);
         }
         break;
     }
 }
 
-void GruppeAccountDaten::render( int y, Bild &zrObj )
+void GruppeAccountDaten::render(int y, Bild& zrObj)
 {
-    if( !zrObj.setDrawOptions( 0, y, br, höhe ) )
-        return;
-    rahmen->setSize( br, höhe );
-    rahmen->render( 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 ) )
+    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 );
+    kick->setPosition(br - rbr - b, 30);
+    kick->render(zrObj);
     b += freundEinladung->getBreite();
-    freundEinladung->setPosition( br - rbr - b, 30 );
-    freundEinladung->render( zrObj );
+    freundEinladung->setPosition(br - rbr - b, 30);
+    freundEinladung->render(zrObj);
     b += accountAnsehen->getBreite();
-    accountAnsehen->setPosition( br - rbr - b, 30 );
-    accountAnsehen->render( zrObj );
+    accountAnsehen->setPosition(br - rbr - b, 30);
+    accountAnsehen->render(zrObj);
     b += nachrichtSenden->getBreite();
-    nachrichtSenden->setPosition( br - rbr - b, 30 );
-    nachrichtSenden->render( zrObj );
+    nachrichtSenden->setPosition(br - rbr - b, 30);
+    nachrichtSenden->render(zrObj);
     zrObj.releaseDrawOptions();
     zrObj.releaseDrawOptions();
 }
@@ -1099,14 +1161,14 @@ int GruppeAccountDaten::getHeight() const
 GruppeAccountListe::GruppeAccountListe()
     : ReferenceCounter()
 {
-    pos = Punkt( 0, 0 );
-    gr = Punkt( 200, 350 );
+    pos = Punkt(0, 0);
+    gr = Punkt(200, 350);
     rahmen = new LRahmen();
-    rahmen->setFarbe( 0xFFFFFFFF );
-    rahmen->setRamenBreite( 1 );
-    rahmen->setSize( 200, 350 );
+    rahmen->setFarbe(0xFFFFFFFF);
+    rahmen->setRamenBreite(1);
+    rahmen->setSize(200, 350);
     scroll = new VScrollBar();
-    accounts = new RCArray< GruppeAccountDaten >();
+    accounts = new RCArray<GruppeAccountDaten>();
     anzahl = 0;
     gruppeId = 0;
     admin = 0;
@@ -1131,30 +1193,30 @@ void GruppeAccountListe::reset()
     rend = 1;
 }
 
-void GruppeAccountListe::setGruppeId( int gruppeId )
+void GruppeAccountListe::setGruppeId(int gruppeId)
 {
     this->gruppeId = gruppeId;
-    for( int i = 0; i < anzahl; i++ )
-        accounts->z( i )->setGruppeId( gruppeId );
+    for (int i = 0; i < anzahl; i++)
+        accounts->z(i)->setGruppeId(gruppeId);
 }
 
-void GruppeAccountListe::addAccount( int id )
+void GruppeAccountListe::addAccount(int id)
 {
-    GruppeAccountDaten *tmp = new GruppeAccountDaten();
-    tmp->setGruppeId( gruppeId );
-    tmp->setAccountId( id );
-    tmp->setAdmin( admin );
-    accounts->add( tmp, anzahl );
+    GruppeAccountDaten* tmp = new GruppeAccountDaten();
+    tmp->setGruppeId(gruppeId);
+    tmp->setAccountId(id);
+    tmp->setAdmin(admin);
+    accounts->add(tmp, anzahl);
     anzahl++;
     rend = 1;
 }
 
-void GruppeAccountListe::removeAccount( int id )
+void GruppeAccountListe::removeAccount(int id)
 {
-    for( int i = 0; i < anzahl; i++ )
+    for (int i = 0; i < anzahl; i++)
     {
-        GruppeAccountDaten *tmp = accounts->z( i );
-        if( tmp && tmp->getAccountId() == id )
+        GruppeAccountDaten* tmp = accounts->z(i);
+        if (tmp && tmp->getAccountId() == id)
         {
             tmp->entfernen();
             break;
@@ -1162,48 +1224,46 @@ void GruppeAccountListe::removeAccount( int id )
     }
 }
 
-void GruppeAccountListe::setAdmin( int admin )
+void GruppeAccountListe::setAdmin(int admin)
 {
     this->admin = admin;
-    for( int i = 0; i < anzahl; i++ )
+    for (int i = 0; i < anzahl; i++)
     {
-        GruppeAccountDaten *tmp = accounts->z( i );
-        if( tmp )
-            tmp->setAdmin( admin );
+        GruppeAccountDaten* tmp = accounts->z(i);
+        if (tmp) tmp->setAdmin(admin);
     }
 }
 
-bool GruppeAccountListe::tick( double tickVal )
+bool GruppeAccountListe::tick(double tickVal)
 {
     rend |= scroll->getRend();
-    for( int i = 0; i < anzahl; i++ )
+    for (int i = 0; i < anzahl; i++)
     {
-        GruppeAccountDaten *tmp = accounts->z( i );
-        if( tmp )
-            rend |= tmp->tick( tickVal );
+        GruppeAccountDaten* tmp = accounts->z(i);
+        if (tmp) rend |= tmp->tick(tickVal);
     }
     bool ret = rend;
     rend = 0;
     return ret;
 }
 
-void GruppeAccountListe::doPublicMausEreignis( MausEreignis &me )
+void GruppeAccountListe::doPublicMausEreignis(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++ )
+    scroll->doMausMessage(184, 1, 15, 248, me);
+    for (int i = 0; i < anzahl; i++)
     {
-        GruppeAccountDaten *tmp = accounts->z( i );
-        if( tmp )
+        GruppeAccountDaten* tmp = accounts->z(i);
+        if (tmp)
         {
-            tmp->doPublicMausEreignis( me );
+            tmp->doPublicMausEreignis(me);
             me.my -= tmp->getHeight();
-            if( tmp->getRemove() )
+            if (tmp->getRemove())
             {
-                accounts->remove( i );
+                accounts->remove(i);
                 anzahl--;
                 i--;
                 rend = 1;
@@ -1214,32 +1274,31 @@ void GruppeAccountListe::doPublicMausEreignis( MausEreignis &me )
     me.my = tmpY;
 }
 
-void GruppeAccountListe::render( Bild &zRObj )
+void GruppeAccountListe::render(Bild& zRObj)
 {
-    if( !zRObj.setDrawOptions( pos, gr ) )
-        return;
-    rahmen->render( 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 ) )
+    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++ )
+    for (int i = 0; i < anzahl; i++)
     {
-        GruppeAccountDaten *tmp = accounts->z( i );
-        if( tmp )
+        GruppeAccountDaten* tmp = accounts->z(i);
+        if (tmp)
         {
-            tmp->setSize( gr.x - 15 - rbr * 2 );
-            tmp->render( höhe - scroll->getScroll(), zRObj );
+            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 );
+    scroll->update(höhe, gr.y - rbr * 2);
 }
 
 // Inhalt der GruppeChat Klasse aus Gruppe.h
@@ -1247,23 +1306,25 @@ void GruppeAccountListe::render( Bild &zRObj )
 GruppeChat::GruppeChat()
     : ReferenceCounter()
 {
-    Bild *sendenBild = bilder->get( "data/client/bilder/chat.ltdb/senden.png" );
-    pos = Punkt( 0, 350 );
-    gr = Punkt( 750, 200 );
+    Bild* sendenBild = bilder->get("data/client/bilder/chat.ltdb/senden.png");
+    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, TextFeld::Style::TextFeld, "" );
-    initToolTip( nachricht, "Nachricht an die Gruppe senden." );
-    senden = initKnopf( 726, 176, 20, 20, 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." );
-    verlauf = initTextFeld( 2, 2, 746, 174, TextFeld::Style::TextGebiet, "" );
-    verlauf->removeStyle( TextFeld::Style::Erlaubt );
+    rahmen->setFarbe(0xFFFFFFFF);
+    rahmen->setRamenBreite(1);
+    rahmen->setSize(750, 200);
+    nachricht = initTextFeld(2, 176, 724, 20, TextFeld::Style::TextFeld, "");
+    initToolTip(nachricht, "Nachricht an die Gruppe senden.");
+    senden = initKnopf(726, 176, 20, 20, 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.");
+    verlauf = initTextFeld(2, 2, 746, 174, TextFeld::Style::TextGebiet, "");
+    verlauf->removeStyle(TextFeld::Style::Erlaubt);
     verlauf->updateVScroll();
-    verlauf->setVertikalKlickScroll( 5 );
+    verlauf->setVertikalKlickScroll(5);
     gruppeId = 0;
     rend = 0;
 }
@@ -1281,151 +1342,173 @@ GruppeChat::~GruppeChat()
 void GruppeChat::reset()
 {
     gruppeId = 0;
-    verlauf->setText( "" );
+    verlauf->setText("");
     verlauf->updateVScroll();
-    nachricht->setText( "" );
+    nachricht->setText("");
     rend = 1;
 }
 
-void GruppeChat::setGruppeId( int gruppeId )
+void GruppeChat::setGruppeId(int gruppeId)
 {
     this->gruppeId = gruppeId;
 }
 
-void GruppeChat::gruppeNachricht( const char *nachricht )
+void GruppeChat::gruppeNachricht(const char* nachricht)
 {
-    verlauf->addZeile( nachricht );
+    verlauf->addZeile(nachricht);
     verlauf->updateVScroll();
     rend = 1;
 }
 
-bool GruppeChat::tick( double tickVal )
+bool GruppeChat::tick(double tickVal)
 {
-    rend |= verlauf->tick( tickVal );
-    rend |= nachricht->tick( tickVal );
-    rend |= senden->tick( tickVal );
+    rend |= verlauf->tick(tickVal);
+    rend |= nachricht->tick(tickVal);
+    rend |= senden->tick(tickVal);
     bool ret = rend;
     rend = 0;
     return ret;
 }
 
-void GruppeChat::doPublicMausEreignis( MausEreignis &me )
+void GruppeChat::doPublicMausEreignis(MausEreignis& me)
 {
     me.mx -= pos.x;
     me.my -= pos.y;
-    verlauf->doPublicMausEreignis( me );
-    nachricht->doPublicMausEreignis( me );
+    verlauf->doPublicMausEreignis(me);
+    nachricht->doPublicMausEreignis(me);
     bool ak = !me.verarbeitet;
-    senden->doPublicMausEreignis( me );
-    int aktion = ( me.verarbeitet && ak ) ? 1 : 0;
-    if( me.id != ME_RLinks )
+    senden->doPublicMausEreignis(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 (aktion)
     {
-        if( !anmeldungClient )
+        if (!anmeldungClient)
             anmeldungClient = mainClient->createAnmeldungServerClient();
-        if( !anmeldungClient )
+        if (!anmeldungClient)
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( mainClient->getLetzterFehler() ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(mainClient->getLetzterFehler()),
+                new Text("Ok"),
+                0);
         }
-        if( !anmeldungClient->verbinde() )
+        if (!anmeldungClient->verbinde())
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(anmeldungClient->getLetzterFehler()),
+                new Text("Ok"),
+                0);
         }
         else
         {
-            if( anmeldungClient->gruppeNachricht( gruppeId, nachricht->zText()->getText() ) )
+            if (anmeldungClient->gruppeNachricht(
+                    gruppeId, nachricht->zText()->getText()))
             {
-                nachricht->setText( "" );
-                nachricht->setAuswahl( 0, 0 );
+                nachricht->setText("");
+                nachricht->setAuswahl(0, 0);
                 rend = 1;
             }
             else
             {
-                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
-                                                              new Text( "Ok" ), 0 );
+                nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                    new Text(anmeldungClient->getLetzterFehler()),
+                    new Text("Ok"),
+                    0);
             }
-            anmeldungClient->trenne( 0 );
+            anmeldungClient->trenne(0);
         }
     }
     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 )
+    nachricht->doTastaturEreignis(te);
+    if (te.verarbeitet && !b && te.id == TE_Release && te.virtualKey == T_Enter)
     {
-        if( !anmeldungClient )
+        if (!anmeldungClient)
             anmeldungClient = mainClient->createAnmeldungServerClient();
-        if( !anmeldungClient )
+        if (!anmeldungClient)
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( mainClient->getLetzterFehler() ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(mainClient->getLetzterFehler()),
+                new Text("Ok"),
+                0);
         }
-        if( !anmeldungClient->verbinde() )
+        if (!anmeldungClient->verbinde())
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(anmeldungClient->getLetzterFehler()),
+                new Text("Ok"),
+                0);
         }
         else
         {
-            if( anmeldungClient->gruppeNachricht( gruppeId, nachricht->zText()->getText() ) )
+            if (anmeldungClient->gruppeNachricht(
+                    gruppeId, nachricht->zText()->getText()))
             {
-                nachricht->setText( "" );
-                nachricht->setAuswahl( 0, 0 );
+                nachricht->setText("");
+                nachricht->setAuswahl(0, 0);
                 rend = 1;
             }
             else
             {
-                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
-                                                              new Text( "Ok" ), 0 );
+                nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                    new Text(anmeldungClient->getLetzterFehler()),
+                    new Text("Ok"),
+                    0);
             }
-            anmeldungClient->trenne( 0 );
+            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 );
+    if (!zRObj.setDrawOptions(pos.x, pos.y, gr.x, gr.y)) return;
+    verlauf->render(zRObj);
+    nachricht->render(zRObj);
+    senden->render(zRObj);
     zRObj.releaseDrawOptions();
 }
 
-
 // Inhalt der GruppeAnmeldung Klasse aus Gruppe.h
 // Konstruktor
 GruppeAnmeldung::GruppeAnmeldung()
     : ReferenceCounter()
 {
-    pos = Punkt( 750, 350 );
-    gr = Punkt( 200, 200 );
+    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, 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." );
-    angemeldet = initKontrollKnopf( 25, 75, 150, 20, KontrollKnopf::Style::Normal, "in Warteschlange" );
-    angemeldet->removeStyle( KontrollKnopf::Style::Erlaubt );
-    angemeldet->setMausEreignis( _ret1ME );
-    initToolTip( angemeldet, "Die Gruppe befindet sich momentan nicht in der Warteschlange." );
-    zeit = initTextFeld( 0, 105, 200, 20, TextFeld::Style::Text | TextFeld::Style::Center, "Zeit in Warteschlange: " );
-    gruppeVerlassen = initKnopf( 40, 135, 120, 20, Knopf::Style::Normal, "Gruppe verlassen" );
+    rahmen->setFarbe(0xFFFFFFFF);
+    rahmen->setRamenBreite(1);
+    rahmen->setSize(200, 200);
+    spielerHinzufügen = initKontrollKnopf(
+        25, 45, 150, 20, 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.");
+    angemeldet = initKontrollKnopf(
+        25, 75, 150, 20, KontrollKnopf::Style::Normal, "in Warteschlange");
+    angemeldet->removeStyle(KontrollKnopf::Style::Erlaubt);
+    angemeldet->setMausEreignis(_ret1ME);
+    initToolTip(angemeldet,
+        "Die Gruppe befindet sich momentan nicht in der Warteschlange.");
+    zeit = initTextFeld(0,
+        105,
+        200,
+        20,
+        TextFeld::Style::Text | TextFeld::Style::Center,
+        "Zeit in Warteschlange: ");
+    gruppeVerlassen
+        = initKnopf(40, 135, 120, 20, Knopf::Style::Normal, "Gruppe verlassen");
     admin = 0;
     time = 0;
     gruppeId = 0;
@@ -1445,219 +1528,263 @@ GruppeAnmeldung::~GruppeAnmeldung()
 // nicht constant
 void GruppeAnmeldung::reset()
 {
-    spielerHinzufügen->removeStyle( KontrollKnopf::Style::Selected );
-    angemeldet->removeStyle( KontrollKnopf::Style::Selected );
+    spielerHinzufügen->removeStyle(KontrollKnopf::Style::Selected);
+    angemeldet->removeStyle(KontrollKnopf::Style::Selected);
     admin = 0;
     time = 0;
     gruppeId = 0;
     rend = 1;
 }
 
-void GruppeAnmeldung::setGruppeId( int gruppeId )
+void GruppeAnmeldung::setGruppeId(int gruppeId)
 {
     this->gruppeId = gruppeId;
-    spielerHinzufügen->setStyle( KontrollKnopf::Style::Selected, infoClient->getGruppeSpielerHinzufügen( gruppeId ) );
+    spielerHinzufügen->setStyle(KontrollKnopf::Style::Selected,
+        infoClient->getGruppeSpielerHinzufügen(gruppeId));
     rend = 1;
 }
 
-void GruppeAnmeldung::setAdmin( int admin )
+void GruppeAnmeldung::setAdmin(int admin)
 {
     this->admin = admin;
-    if( admin == loginClient->getAccountId() )
+    if (admin == loginClient->getAccountId())
     {
-        spielerHinzufügen->addStyle( KontrollKnopf::Style::Erlaubt );
-        angemeldet->addStyle( KontrollKnopf::Style::Erlaubt );
+        spielerHinzufügen->addStyle(KontrollKnopf::Style::Erlaubt);
+        angemeldet->addStyle(KontrollKnopf::Style::Erlaubt);
     }
     else
     {
-        spielerHinzufügen->removeStyle( KontrollKnopf::Style::Erlaubt );
-        angemeldet->removeStyle( KontrollKnopf::Style::Erlaubt );
+        spielerHinzufügen->removeStyle(KontrollKnopf::Style::Erlaubt);
+        angemeldet->removeStyle(KontrollKnopf::Style::Erlaubt);
     }
     rend = 1;
 }
 
-void GruppeAnmeldung::setSpielerHinzufügen( bool spielerHinzufügen )
+void GruppeAnmeldung::setSpielerHinzufügen(bool spielerHinzufügen)
 {
-    this->spielerHinzufügen->setStyle( KontrollKnopf::Style::Selected, spielerHinzufügen );
+    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." );*/
+        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 )
+void GruppeAnmeldung::setAngemeldet(bool angemeldet)
 {
-    this->angemeldet->setStyle( KontrollKnopf::Style::Selected, angemeldet );
+    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." );*/
+        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 )
+void GruppeAnmeldung::zurückInWarteschlange(
+    int stunden, int minuten, int sekunden)
 {
-    this->angemeldet->setStyle( KontrollKnopf::Style::Selected, 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 );
+    this->angemeldet->setStyle(KontrollKnopf::Style::Selected, 0);
     time = 0;
     rend = 1;
 }
 
-bool GruppeAnmeldung::tick( double tickVal )
+bool GruppeAnmeldung::tick(double tickVal)
 {
-    if( angemeldet->hatStyle( KontrollKnopf::Style::Selected ) )
+    if (angemeldet->hatStyle(KontrollKnopf::Style::Selected))
     {
-        if( (int)( time / 1 ) != (int)( ( time + tickVal ) / 1 ) )
-            rend = 1;
+        if ((int)(time / 1) != (int)((time + tickVal) / 1)) rend = 1;
         time += tickVal;
     }
-    if( rend )
+    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 );
+        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 );
+    rend |= spielerHinzufügen->tick(tickVal);
+    rend |= angemeldet->tick(tickVal);
+    rend |= gruppeVerlassen->tick(tickVal);
     bool ret = rend;
     rend = 0;
     return ret;
 }
 
-void GruppeAnmeldung::doPublicMausEreignis( MausEreignis &me )
+void GruppeAnmeldung::doPublicMausEreignis(MausEreignis& me)
 {
     me.mx -= pos.x;
     me.my -= pos.y;
     bool ak = !me.verarbeitet;
     int aktion = 0;
-    if( admin == loginClient->getAccountId() )
-    {
-        spielerHinzufügen->doPublicMausEreignis( me );
-        aktion = ( me.verarbeitet && admin == loginClient->getAccountId() && ak ) ? 1 : aktion;
-        angemeldet->doPublicMausEreignis( me );
-        aktion = ( me.verarbeitet && admin == loginClient->getAccountId() && ak && !aktion ) ? 2 : aktion;
-    }
-    gruppeVerlassen->doPublicMausEreignis( me );
-    aktion = ( me.verarbeitet && ak && !aktion ) ? 3 : aktion;
-    if( me.id != ME_RLinks )
+    if (admin == loginClient->getAccountId())
+    {
+        spielerHinzufügen->doPublicMausEreignis(me);
+        aktion = (me.verarbeitet && admin == loginClient->getAccountId() && ak)
+                   ? 1
+                   : aktion;
+        angemeldet->doPublicMausEreignis(me);
+        aktion = (me.verarbeitet && admin == loginClient->getAccountId() && ak
+                     && !aktion)
+                   ? 2
+                   : aktion;
+    }
+    gruppeVerlassen->doPublicMausEreignis(me);
+    aktion = (me.verarbeitet && ak && !aktion) ? 3 : aktion;
+    if (me.id != ME_RLinks)
     {
         me.mx += pos.x;
         me.my += pos.y;
         return;
     }
-    switch( aktion )
+    switch (aktion)
     {
     case 1:
-        if( !anmeldungClient )
+        if (!anmeldungClient)
             anmeldungClient = mainClient->createAnmeldungServerClient();
-        if( !anmeldungClient )
-        {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( mainClient->getLetzterFehler() ),
-                                                          new Text( "Ok" ), 0 );
-            spielerHinzufügen->setStyle( KontrollKnopf::Style::Selected, spielerHinzufügen->hatStyleNicht( KontrollKnopf::Style::Selected ) );
+        if (!anmeldungClient)
+        {
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(mainClient->getLetzterFehler()),
+                new Text("Ok"),
+                0);
+            spielerHinzufügen->setStyle(KontrollKnopf::Style::Selected,
+                spielerHinzufügen->hatStyleNicht(
+                    KontrollKnopf::Style::Selected));
             rend = 1;
         }
-        if( !anmeldungClient->verbinde() )
+        if (!anmeldungClient->verbinde())
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
-                                                          new Text( "Ok" ), 0 );
-            spielerHinzufügen->setStyle( KontrollKnopf::Style::Selected, spielerHinzufügen->hatStyleNicht( KontrollKnopf::Style::Selected ) );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(anmeldungClient->getLetzterFehler()),
+                new Text("Ok"),
+                0);
+            spielerHinzufügen->setStyle(KontrollKnopf::Style::Selected,
+                spielerHinzufügen->hatStyleNicht(
+                    KontrollKnopf::Style::Selected));
             rend = 1;
         }
         else
         {
-            if( !anmeldungClient->gruppeSpielStarten( gruppeId, spielerHinzufügen->hatStyleNicht( KontrollKnopf::Style::Selected ) ) )
+            if (!anmeldungClient->gruppeSpielStarten(gruppeId,
+                    spielerHinzufügen->hatStyleNicht(
+                        KontrollKnopf::Style::Selected)))
             {
-                spielerHinzufügen->setStyle( KontrollKnopf::Style::Selected, spielerHinzufügen->hatStyleNicht( KontrollKnopf::Style::Selected ) );
+                spielerHinzufügen->setStyle(KontrollKnopf::Style::Selected,
+                    spielerHinzufügen->hatStyleNicht(
+                        KontrollKnopf::Style::Selected));
                 rend = 1;
-                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
-                                                              new Text( "Ok" ), 0 );
+                nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                    new Text(anmeldungClient->getLetzterFehler()),
+                    new Text("Ok"),
+                    0);
             }
-            anmeldungClient->trenne( 0 );
+            anmeldungClient->trenne(0);
         }
         break;
     case 2:
-        if( !anmeldungClient )
+        if (!anmeldungClient)
             anmeldungClient = mainClient->createAnmeldungServerClient();
-        if( !anmeldungClient )
-        {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( mainClient->getLetzterFehler() ),
-                                                          new Text( "Ok" ), 0 );
-            angemeldet->setStyle( KontrollKnopf::Style::Selected, angemeldet->hatStyleNicht( KontrollKnopf::Style::Selected ) );
+        if (!anmeldungClient)
+        {
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(mainClient->getLetzterFehler()),
+                new Text("Ok"),
+                0);
+            angemeldet->setStyle(KontrollKnopf::Style::Selected,
+                angemeldet->hatStyleNicht(KontrollKnopf::Style::Selected));
             rend = 1;
         }
-        if( !anmeldungClient->verbinde() )
+        if (!anmeldungClient->verbinde())
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
-                                                          new Text( "Ok" ), 0 );
-            angemeldet->setStyle( KontrollKnopf::Style::Selected, angemeldet->hatStyleNicht( KontrollKnopf::Style::Selected ) );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(anmeldungClient->getLetzterFehler()),
+                new Text("Ok"),
+                0);
+            angemeldet->setStyle(KontrollKnopf::Style::Selected,
+                angemeldet->hatStyleNicht(KontrollKnopf::Style::Selected));
             rend = 1;
         }
         else
         {
-            if( angemeldet->hatStyle( KontrollKnopf::Style::Selected ) )
+            if (angemeldet->hatStyle(KontrollKnopf::Style::Selected))
             {
-                if( !anmeldungClient->gruppeAnmelden( gruppeId ) )
+                if (!anmeldungClient->gruppeAnmelden(gruppeId))
                 {
-                    angemeldet->setStyle( KontrollKnopf::Style::Selected, angemeldet->hatStyleNicht( KontrollKnopf::Style::Selected ) );
+                    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 );
+                    nachLogin->zNachrichtenListe()->addNachricht(
+                        new Text("Fehler"),
+                        new Text(anmeldungClient->getLetzterFehler()),
+                        new Text("Ok"),
+                        0);
                 }
             }
             else
             {
-                if( !anmeldungClient->gruppeAbmelden( gruppeId ) )
+                if (!anmeldungClient->gruppeAbmelden(gruppeId))
                 {
-                    angemeldet->setStyle( KontrollKnopf::Style::Selected, angemeldet->hatStyleNicht( KontrollKnopf::Style::Selected ) );
+                    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 );
+                    nachLogin->zNachrichtenListe()->addNachricht(
+                        new Text("Fehler"),
+                        new Text(anmeldungClient->getLetzterFehler()),
+                        new Text("Ok"),
+                        0);
                 }
             }
-            anmeldungClient->trenne( 0 );
+            anmeldungClient->trenne(0);
         }
         break;
     case 3:
-        if( !anmeldungClient )
+        if (!anmeldungClient)
             anmeldungClient = mainClient->createAnmeldungServerClient();
-        if( !anmeldungClient )
+        if (!anmeldungClient)
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( mainClient->getLetzterFehler() ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(mainClient->getLetzterFehler()),
+                new Text("Ok"),
+                0);
             rend = 1;
         }
-        if( !anmeldungClient->verbinde() )
+        if (!anmeldungClient->verbinde())
         {
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
-                                                          new Text( "Ok" ), 0 );
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(anmeldungClient->getLetzterFehler()),
+                new Text("Ok"),
+                0);
             rend = 1;
         }
         else
         {
-            if( anmeldungClient->gruppeVerlassen( gruppeId ) )
+            if (anmeldungClient->gruppeVerlassen(gruppeId))
                 nachLogin->zSpielenFenster()->gruppeVerlassen();
             else
             {
-                nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( anmeldungClient->getLetzterFehler() ),
-                                                              new Text( "Ok" ), 0 );
+                nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                    new Text(anmeldungClient->getLetzterFehler()),
+                    new Text("Ok"),
+                    0);
             }
-            anmeldungClient->trenne( 0 );
+            anmeldungClient->trenne(0);
         }
         break;
     }
@@ -1665,24 +1792,22 @@ void GruppeAnmeldung::doPublicMausEreignis( MausEreignis &me )
     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 );
+    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();
 }
 
-
-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 );
+    if (!p) return;
+    ((GruppeKarte*)p)->ksgsAktion(parameter, retVal);
 }
 
 // Inhalt der GruppeKarte Klasse aus Gruppe.h
@@ -1690,41 +1815,51 @@ void GruppeKarteKSGSAktion( void *p, RCArray< KSGSVariable > *parameter, KSGSVar
 GruppeKarte::GruppeKarte()
     : Thread()
 {
-    tr = new TextRenderer( dynamic_cast<Schrift *>( uiFactory.initParam.schrift->getThis() ) );
-    pos = Punkt( 350, 0 );
-    gr = Punkt( 600, 350 );
+    tr = new TextRenderer(
+        dynamic_cast<Schrift*>(uiFactory.initParam.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 );
+    rahmen->setFarbe(0xFFFFFFFF);
+    rahmen->setRamenBreite(1);
+    rahmen->setSize(350, 350);
+    rahmen->setPosition(248, 0);
     info = 0;
-    ksgs = Framework::getDLLRegister()->ladeDLL( "KSGScript.dll", "data/bin/KSGScript.dll" );
-    if( ksgs )
+    ksgs = Framework::getDLLRegister()->ladeDLL(
+        "KSGScript.dll", "data/bin/KSGScript.dll");
+    if (ksgs)
     {
-        KSGSGetZeichnung getKSGScript = (KSGSGetZeichnung)GetProcAddress( ksgs, KSGS_START_FUNKTION );
-        if( getKSGScript )
+        KSGSGetZeichnung getKSGScript
+            = (KSGSGetZeichnung)GetProcAddress(ksgs, KSGS_START_FUNKTION);
+        if (getKSGScript)
         {
             info = getKSGScript();
-            info->setBildschirmZ( dynamic_cast<Bildschirm *>( uiFactory.initParam.bildschirm->getThis() ) );
-            info->setSchriftZ( dynamic_cast<Schrift *>( uiFactory.initParam.schrift->getThis() ) );
-            info->setSize( 248, 350 );
-            info->setCallbackParam( this );
-            info->setCallbackFunktion( GruppeKarteKSGSAktion );
+            info->setBildschirmZ(dynamic_cast<Bildschirm*>(
+                uiFactory.initParam.bildschirm->getThis()));
+            info->setSchriftZ(
+                dynamic_cast<Schrift*>(uiFactory.initParam.schrift->getThis()));
+            info->setSize(248, 350);
+            info->setCallbackParam(this);
+            info->setCallbackFunktion(GruppeKarteKSGSAktion);
         }
         else
         {
-            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." ),
-                                                          new Text( "Ok" ), 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."),
+                new Text("Ok"),
+                0);
         }
     }
     else
     {
-        nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ),
-                                                      new Text( "Die DLL-Datei 'data/bin/KSGScript.dll' konnte nicht geladen werden." ),
-                                                      new Text( "Ok" ), 0 );
+        nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+            new Text("Die DLL-Datei 'data/bin/KSGScript.dll' konnte nicht "
+                     "geladen werden."),
+            new Text("Ok"),
+            0);
     }
     hintergrund = 0;
     fehler = 0;
@@ -1744,35 +1879,28 @@ GruppeKarte::GruppeKarte()
 GruppeKarte::~GruppeKarte()
 {
     rahmen->release();
-    if( info )
+    if (info)
     {
         info->reset();
         info->release();
     }
-    if( hintergrund )
-        hintergrund->release();
-    if( fehler )
-        fehler->release();
+    if (hintergrund) hintergrund->release();
+    if (fehler) fehler->release();
     tr->release();
-    if( ksgs )
-        Framework::getDLLRegister()->releaseDLL( "KSGScript.dll" );
+    if (ksgs) Framework::getDLLRegister()->releaseDLL("KSGScript.dll");
 }
 
 // nicht constant
 void GruppeKarte::reset()
 {
-    if( info )
-        info->reset();
-    if( hintergrund )
-        hintergrund = (Bild *)hintergrund->release();
-    if( fehler )
-        fehler = (TextFeld *)fehler->release();
-    if( run )
+    if (info) info->reset();
+    if (hintergrund) hintergrund = (Bild*)hintergrund->release();
+    if (fehler) fehler = (TextFeld*)fehler->release();
+    if (run)
     {
         exit = 1;
-        warteAufThread( 5000 );
-        if( run )
-            ende();
+        warteAufThread(5000);
+        if (run) ende();
     }
     geladen = 0;
     alpha1 = 0;
@@ -1786,20 +1914,18 @@ void GruppeKarte::reset()
     rend = 1;
 }
 
-void GruppeKarte::ksgsAktion( RCArray< KSGSVariable > *parameter, KSGSVariable **retVal )
-{
-
-}
+void GruppeKarte::ksgsAktion(
+    RCArray<KSGSVariable>* parameter, KSGSVariable** retVal)
+{}
 
-void GruppeKarte::setGruppeId( int gruppeId )
+void GruppeKarte::setGruppeId(int gruppeId)
 {
     this->gruppeId = gruppeId;
-    if( run )
+    if (run)
     {
         exit = 1;
-        warteAufThread( 5000 );
-        if( run )
-            ende();
+        warteAufThread(5000);
+        if (run) ende();
         exit = 0;
     }
     geladen = 0;
@@ -1807,58 +1933,52 @@ void GruppeKarte::setGruppeId( int gruppeId )
     start();
 }
 
-bool GruppeKarte::tick( double tickVal )
+bool GruppeKarte::tick(double tickVal)
 {
-    if( !gruppeId )
-        return 0;
-    if( info )
-        rend |= info->tick( tickVal );
+    if (!gruppeId) return 0;
+    if (info) rend |= info->tick(tickVal);
     ladenZeit += tickVal;
-    if( ladenZeit >= 1 / 30.0 )
+    if (ladenZeit >= 1 / 30.0)
     {
         ladenZeit -= 1 / 30.0;
-        if( ladeAnimation && ladeAnimation->zAnimationData() )
+        if (ladeAnimation && ladeAnimation->zAnimationData())
         {
-            if( alpha1 )
-                rend = 1;
+            if (alpha1) rend = 1;
             ladeBild++;
-            if( ladeBild >= ladeAnimation->zAnimationData()->getBildAnzahl() )
+            if (ladeBild >= ladeAnimation->zAnimationData()->getBildAnzahl())
                 ladeBild = 0;
         }
     }
     this->tickVal += tickVal * 300;
     int val = (int)this->tickVal;
-    if( val < 1 )
+    if (val < 1)
     {
         bool ret = rend;
         rend = 0;
         return ret;
     }
-    if( val > 10 )
-        val = 10;
+    if (val > 10) val = 10;
     this->tickVal -= val;
-    if( !geladen && !fehler )
+    if (!geladen && !fehler)
     {
-        if( alpha1 != 255 || alpha2 != 0 )
-            rend = 1;
-        if( alpha1 + val > 255 )
+        if (alpha1 != 255 || alpha2 != 0) rend = 1;
+        if (alpha1 + val > 255)
             alpha1 = 255;
         else
             alpha1 += val;
-        if( alpha2 - val < 0 )
+        if (alpha2 - val < 0)
             alpha2 = 0;
         else
             alpha2 -= val;
     }
     else
     {
-        if( alpha1 != 0 || alpha2 != 255 )
-            rend = 1;
-        if( alpha1 - val < 0 )
+        if (alpha1 != 0 || alpha2 != 255) rend = 1;
+        if (alpha1 - val < 0)
             alpha1 = 0;
         else
             alpha1 -= val;
-        if( alpha2 + val > 255 )
+        if (alpha2 + val > 255)
             alpha2 = 255;
         else
             alpha2 += val;
@@ -1868,45 +1988,49 @@ bool GruppeKarte::tick( double tickVal )
     return ret;
 }
 
-void GruppeKarte::doPublicMausEreignis( MausEreignis &me )
+void GruppeKarte::doPublicMausEreignis(MausEreignis& me)
 {
     me.mx -= pos.x;
     me.my -= pos.y;
-    if( info )
-        info->doPublicMausEreignis( me );
+    if (info) info->doPublicMausEreignis(me);
     me.mx += pos.x;
     me.my += pos.y;
 }
 
-void GruppeKarte::render( Bild &zrObj )
+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 );
+    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 )
+    if (alpha2 != 0)
     {
-        zrObj.setAlpha( alpha2 );
-        if( geladen )
+        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 );
+            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 );
+        else if (fehler)
+            fehler->render(zrObj);
         zrObj.releaseAlpha();
     }
     zrObj.releaseDrawOptions();
@@ -1914,39 +2038,39 @@ void GruppeKarte::render( Bild &zrObj )
 
 void GruppeKarte::thread()
 {
-    if( info )
-        info->reset();
-    if( hintergrund )
-        hintergrund = (Bild *)hintergrund->release();
-    if( fehler )
-        fehler = (TextFeld *)fehler->release();
-    karteId = infoClient->getGruppenKarteId( gruppeId );
-    if( !karteId )
+    if (info) info->reset();
+    if (hintergrund) hintergrund = (Bild*)hintergrund->release();
+    if (fehler) fehler = (TextFeld*)fehler->release();
+    karteId = infoClient->getGruppenKarteId(gruppeId);
+    if (!karteId)
     {
         run = 0;
         return;
     }
-    KartenLeser *karte = KartenLeser::getInstance();
+    KartenLeser* karte = KartenLeser::getInstance();
     karte->lock();
-    karte->setKarteId( karteId );
+    karte->setKarteId(karteId);
     hintergrund = karte->getKartenVorschauBild();
-    if( exit )
+    if (exit)
     {
-        if( hintergrund )
-            hintergrund = (Bild *)hintergrund->release();
+        if (hintergrund) hintergrund = (Bild*)hintergrund->release();
         karte->unlock();
         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,
-                               TextFeld::Style::Text | TextFeld::Style::Center, f->getText() );
+    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,
+            TextFeld::Style::Text | TextFeld::Style::Center,
+            f->getText());
         f->release();
         karte->unlock();
         karte->release();
@@ -1954,29 +2078,35 @@ void GruppeKarte::thread()
         return;
     }
     bool ok = 0;
-    if( info )
+    if (info)
     {
-        if( !karte->getKartenBeschreibung() )
-            nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( "Beschreibung nicht gefunden." ), new Text( "Ok" ) );
+        if (!karte->getKartenBeschreibung())
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text("Beschreibung nicht gefunden."),
+                new Text("Ok"));
         else
         {
-            Text *pf = karte->getKartePfad();
+            Text* pf = karte->getKartePfad();
             *pf += "beschreibung.ksgs";
-            info->setScriptDatei( pf );
+            info->setScriptDatei(pf);
             ok = info->neuLaden();
-            KSGSVariable *var = info->startFunktion( info->getFunktionId( "_in_gruppe" ), new RCArray< KSGSVariable >() );
-            if( var )
-                var->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,
-                               TextFeld::Style::Text | TextFeld::Style::Center, f->getText() );
+            KSGSVariable* var = info->startFunktion(
+                info->getFunktionId("_in_gruppe"), new RCArray<KSGSVariable>());
+            if (var) var->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,
+            TextFeld::Style::Text | TextFeld::Style::Center,
+            f->getText());
         f->release();
         karte->unlock();
         karte->release();
@@ -2001,12 +2131,24 @@ int GruppeKarte::getKarteId() const
 GruppeSpielGefunden::GruppeSpielGefunden()
     : ReferenceCounter()
 {
-    pos = Punkt( 375, 235 );
-    gr = Punkt( 200, 90 );
-    spielGefunden = initFenster( 0, 0, 200, 90, Fenster::Style::Sichtbar | Fenster::Style::Rahmen | Fenster::Style::Titel, "Spiel gefunden" );
-    zeit = initTextFeld( 0, 30, 200, 20, TextFeld::Style::Text, "Verbleibende Zeit: 10" );
-    warte = initTextFeld( 0, 60, 200, 20, TextFeld::Style::Text & ~TextFeld::Style::Sichtbar, "Warte auf andere Spieler. . ." );
-    annehmen = initKnopf( 50, 60, 100, 20, Knopf::Style::Normal, "beitreten" );
+    pos = Punkt(375, 235);
+    gr = Punkt(200, 90);
+    spielGefunden = initFenster(0,
+        0,
+        200,
+        90,
+        Fenster::Style::Sichtbar | Fenster::Style::Rahmen
+            | Fenster::Style::Titel,
+        "Spiel gefunden");
+    zeit = initTextFeld(
+        0, 30, 200, 20, TextFeld::Style::Text, "Verbleibende Zeit: 10");
+    warte = initTextFeld(0,
+        60,
+        200,
+        20,
+        TextFeld::Style::Text & ~TextFeld::Style::Sichtbar,
+        "Warte auf andere Spieler. . .");
+    annehmen = initKnopf(50, 60, 100, 20, Knopf::Style::Normal, "beitreten");
     alpha = 0;
     time = 0;
     sichtbar = 0;
@@ -2026,54 +2168,52 @@ GruppeSpielGefunden::~GruppeSpielGefunden()
 // nicht constant
 void GruppeSpielGefunden::reset()
 {
-    zeit->setText( "Verbleibende Zeit: 10" );
+    zeit->setText("Verbleibende Zeit: 10");
     alpha = 0;
     time = 0;
     sichtbar = 0;
-    warte->removeStyle( TextFeld::Style::Sichtbar );
-    annehmen->addStyle( Knopf::Style::Sichtbar );
+    warte->removeStyle(TextFeld::Style::Sichtbar);
+    annehmen->addStyle(Knopf::Style::Sichtbar);
     rend = 1;
 }
 
-void GruppeSpielGefunden::setSichtbar( bool sichtbar )
+void GruppeSpielGefunden::setSichtbar(bool sichtbar)
 {
-    warte->removeStyle( TextFeld::Style::Sichtbar );
-    annehmen->addStyle( Knopf::Style::Sichtbar );
+    warte->removeStyle(TextFeld::Style::Sichtbar);
+    annehmen->addStyle(Knopf::Style::Sichtbar);
     this->sichtbar = sichtbar;
     rend = 1;
 }
 
-void GruppeSpielGefunden::setVerbleibendeZeit( int sekunden )
+void GruppeSpielGefunden::setVerbleibendeZeit(int sekunden)
 {
-    if( time != sekunden )
-        rend = 1;
+    if (time != sekunden) rend = 1;
     time = sekunden;
 }
 
-bool GruppeSpielGefunden::tick( double tickVal )
+bool GruppeSpielGefunden::tick(double tickVal)
 {
-    if( rend )
+    if (rend)
     {
-        zeit->setText( "Verbleibende Zeit: " );
-        zeit->zText()->append( (int)time );
+        zeit->setText("Verbleibende Zeit: ");
+        zeit->zText()->append((int)time);
     }
-    rend |= annehmen->tick( tickVal );
+    rend |= annehmen->tick(tickVal);
     this->tickVal += tickVal * 300;
     int val = (int)this->tickVal;
-    if( val < 1 )
+    if (val < 1)
     {
         bool ret = rend;
         rend = 0;
         return ret;
     }
-    if( val > 10 )
-        val = 10;
+    if (val > 10) val = 10;
     this->tickVal -= val;
-    if( sichtbar )
+    if (sichtbar)
     {
-        if( alpha < 255 )
+        if (alpha < 255)
         {
-            if( alpha + val > 255 )
+            if (alpha + val > 255)
                 alpha = 255;
             else
                 alpha += val;
@@ -2082,9 +2222,9 @@ bool GruppeSpielGefunden::tick( double tickVal )
     }
     else
     {
-        if( alpha )
+        if (alpha)
         {
-            if( alpha - val < 0 )
+            if (alpha - val < 0)
                 alpha = 0;
             else
                 alpha -= val;
@@ -2096,36 +2236,38 @@ bool GruppeSpielGefunden::tick( double tickVal )
     return ret;
 }
 
-void GruppeSpielGefunden::doPublicMausEreignis( MausEreignis &me )
+void GruppeSpielGefunden::doPublicMausEreignis(MausEreignis& me)
 {
     me.mx -= pos.x;
     me.my -= pos.y;
     bool ver = me.verarbeitet;
-    annehmen->doPublicMausEreignis( me );
-    if( me.verarbeitet && !ver && me.id == ME_RLinks )
+    annehmen->doPublicMausEreignis(me);
+    if (me.verarbeitet && !ver && me.id == ME_RLinks)
     {
-        if( spielClient->spielErstelltAnnehmen() )
+        if (spielClient->spielErstelltAnnehmen())
         {
-            annehmen->removeStyle( Knopf::Style::Sichtbar );
-            warte->addStyle( TextFeld::Style::Sichtbar );
+            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 );
+        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 )
+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 );
+    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();
 }
@@ -2141,8 +2283,8 @@ bool GruppeSpielGefunden::istSichtbar() const
 GruppeFenster::GruppeFenster()
     : ReferenceCounter()
 {
-    pos = Punkt( 0, 0 );
-    gr = Punkt( 950, 550 );
+    pos = Punkt(0, 0);
+    gr = Punkt(950, 550);
     anmeldung = new GruppeAnmeldung();
     chat = new GruppeChat();
     accounts = new GruppeAccountListe();
@@ -2162,112 +2304,111 @@ GruppeFenster::~GruppeFenster()
     chat->release();
     accounts->release();
     einladungen->release();
-    karte->warteAufThread( 10000 );
+    karte->warteAufThread(10000);
     karte->ende();
     karte->release();
     spiel->release();
 }
 
 // nicht constant
-void GruppeFenster::setGruppeId( int id )
+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 );
+    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 )
+void GruppeFenster::setSichtbar(bool sichtbar)
 {
     this->sichtbar = sichtbar;
     rend = 1;
 }
 
-void GruppeFenster::chatNachricht( const char *nachricht )
+void GruppeFenster::chatNachricht(const char* nachricht)
 {
-    chat->gruppeNachricht( nachricht );
+    chat->gruppeNachricht(nachricht);
 }
 
-void GruppeFenster::neuerSpieler( int accountId )
+void GruppeFenster::neuerSpieler(int accountId)
 {
-    einladungen->setAngenommen( accountId );
-    accounts->addAccount( accountId );
+    einladungen->setAngenommen(accountId);
+    accounts->addAccount(accountId);
 }
 
-void GruppeFenster::spielerVerlässt( int accountId )
+void GruppeFenster::spielerVerlässt(int accountId)
 {
-    accounts->removeAccount( accountId );
-    anmeldung->setAngemeldet( 0 );
+    accounts->removeAccount(accountId);
+    anmeldung->setAngemeldet(0);
 }
 
-void GruppeFenster::neueEinladung( int accountId )
+void GruppeFenster::neueEinladung(int accountId)
 {
-    einladungen->addAccount( accountId );
+    einladungen->addAccount(accountId);
 }
 
-void GruppeFenster::einladungEntfernt( int accountId )
+void GruppeFenster::einladungEntfernt(int accountId)
 {
-    einladungen->remove( accountId );
+    einladungen->remove(accountId);
 }
 
-void GruppeFenster::einladungAbgelehnt( int accountId )
+void GruppeFenster::einladungAbgelehnt(int accountId)
 {
-    einladungen->setAbgelehnt( accountId );
+    einladungen->setAbgelehnt(accountId);
 }
 
-void GruppeFenster::setSpielerHinzufügen( bool sh )
+void GruppeFenster::setSpielerHinzufügen(bool sh)
 {
-    anmeldung->setSpielerHinzufügen( sh );
+    anmeldung->setSpielerHinzufügen(sh);
 }
 
-void GruppeFenster::setAngemeldet( bool angemeldet )
+void GruppeFenster::setAngemeldet(bool angemeldet)
 {
-    anmeldung->setAngemeldet( angemeldet );
+    anmeldung->setAngemeldet(angemeldet);
 }
 
 void GruppeFenster::spielGefunden()
 {
     anmeldung->spielGefunden();
-    spiel->setSichtbar( 1 );
+    spiel->setSichtbar(1);
     rend = 1;
 }
 
-void GruppeFenster::verbleibendeZeit( int sekunden )
+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 )
+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 )
+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()
-{
-
-}
+void GruppeFenster::kick() {}
 
 void GruppeFenster::reset()
 {
@@ -2279,43 +2420,42 @@ void GruppeFenster::reset()
     spiel->reset();
 }
 
-bool GruppeFenster::tick( double tickVal )
+bool GruppeFenster::tick(double tickVal)
 {
-    if( !spiel->istSichtbar() )
+    if (!spiel->istSichtbar())
     {
-        rend |= anmeldung->tick( tickVal );
-        rend |= chat->tick( tickVal );
-        rend |= accounts->tick( tickVal );
-        rend |= einladungen->tick( tickVal );
-        rend |= karte->tick( tickVal );
+        rend |= anmeldung->tick(tickVal);
+        rend |= chat->tick(tickVal);
+        rend |= accounts->tick(tickVal);
+        rend |= einladungen->tick(tickVal);
+        rend |= karte->tick(tickVal);
     }
-    rend |= spiel->tick( tickVal );
+    rend |= spiel->tick(tickVal);
     this->tickVal += tickVal * 300;
     int val = (int)this->tickVal;
-    if( val < 1 )
+    if (val < 1)
     {
         bool ret = rend;
         rend = 0;
         return ret;
     }
-    if( val > 10 )
-        val = 10;
+    if (val > 10) val = 10;
     this->tickVal -= val;
-    if( sichtbar )
+    if (sichtbar)
     {
-        if( spiel->istSichtbar() )
+        if (spiel->istSichtbar())
         {
-            if( alpha > 0x70 )
+            if (alpha > 0x70)
             {
-                if( alpha - val < 0x70 )
+                if (alpha - val < 0x70)
                     alpha = 0x70;
                 else
                     alpha -= val;
                 rend = 1;
             }
-            else if( alpha < 0x70 )
+            else if (alpha < 0x70)
             {
-                if( alpha + val > 0x70 )
+                if (alpha + val > 0x70)
                     alpha = 0x70;
                 else
                     alpha += val;
@@ -2324,9 +2464,9 @@ bool GruppeFenster::tick( double tickVal )
         }
         else
         {
-            if( alpha < 255 )
+            if (alpha < 255)
             {
-                if( alpha + val > 255 )
+                if (alpha + val > 255)
                     alpha = 255;
                 else
                     alpha += val;
@@ -2336,15 +2476,14 @@ bool GruppeFenster::tick( double tickVal )
     }
     else
     {
-        if( alpha > 0 )
+        if (alpha > 0)
         {
-            if( alpha - val < 0 )
+            if (alpha - val < 0)
                 alpha = 0;
             else
                 alpha -= val;
             rend = 1;
-            if( !alpha )
-                reset();
+            if (!alpha) reset();
         }
     }
     bool ret = rend;
@@ -2352,45 +2491,44 @@ bool GruppeFenster::tick( double tickVal )
     return ret;
 }
 
-void GruppeFenster::doPublicMausEreignis( MausEreignis &me )
+void GruppeFenster::doPublicMausEreignis(MausEreignis& me)
 {
-    if( !spiel->istSichtbar() )
+    if (!spiel->istSichtbar())
     {
-        anmeldung->doPublicMausEreignis( me );
-        chat->doPublicMausEreignis( me );
-        accounts->doPublicMausEreignis( me );
-        einladungen->doPublicMausEreignis( me );
-        karte->doPublicMausEreignis( me );
+        anmeldung->doPublicMausEreignis(me);
+        chat->doPublicMausEreignis(me);
+        accounts->doPublicMausEreignis(me);
+        einladungen->doPublicMausEreignis(me);
+        karte->doPublicMausEreignis(me);
     }
-    spiel->doPublicMausEreignis( me );
+    spiel->doPublicMausEreignis(me);
 }
 
-void GruppeFenster::doTastaturEreignis( TastaturEreignis &te )
+void GruppeFenster::doTastaturEreignis(TastaturEreignis& te)
 {
-    if( !spiel->istSichtbar() )
+    if (!spiel->istSichtbar())
     {
-        chat->doTastaturEreignis( te );
-        einladungen->doTastaturEreignis( te );
+        chat->doTastaturEreignis(te);
+        einladungen->doTastaturEreignis(te);
     }
 }
 
-void GruppeFenster::render( Bild &zRObj )
+void GruppeFenster::render(Bild& zRObj)
 {
-    if( alpha )
+    if (alpha)
     {
         int x = pos.x;
         int y = pos.y;
-        if( !zRObj.setDrawOptions( x, y, gr.x, gr.y ) )
-            return;
+        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.setAlpha(alpha);
+        anmeldung->render(zRObj);
+        chat->render(zRObj);
+        accounts->render(zRObj);
+        einladungen->render(zRObj);
+        karte->render(zRObj);
         zRObj.releaseAlpha();
-        spiel->render( zRObj );
+        spiel->render(zRObj);
         zRObj.releaseDrawOptions();
     }
 }

+ 774 - 718
KSGClient/NachLogin/Spiele/Team Auswahl/TeamAuswahl.cpp

@@ -1,1021 +1,1077 @@
 #include "TeamAuswahl.h"
-#include "..\..\..\Global\Initialisierung.h"
-#include "..\..\..\Global\Variablen.h"
-#include <DateiSystem.h>
-#include <Rahmen.h>
+
 #include <AlphaFeld.h>
 #include <AuswahlBox.h>
+#include <DateiSystem.h>
+#include <Rahmen.h>
+
+#include "..\..\..\Global\Initialisierung.h"
+#include "..\..\..\Global\Variablen.h"
 
 // Inhalt der TeamAuswahlListeSpieler Klasse aus TeamAuswahl.h
 // Konstruktor
-TeamAuswahlListeSpieler::TeamAuswahlListeSpieler(SpielerTeamStruktur* sts, int accountId, int karteId)
-	: ReferenceCounter()
-{
-	this->accountId = accountId;
-	Text* n = infoClient->getSpielerName(accountId);
-	name = initTextFeld(1, 1, 99, 20, TextFeld::Style::Text | TextFeld::Style::Center, n->getText());
-	n->release();
-	if (accountId == loginClient->getAccountId())
-	{
-		teamAuswahl = uiFactory.createAuswahlBox(uiFactory.initParam);
-		teamAuswahl->setStyle(AuswahlBox::Style::Sichtbar | AuswahlBox::Style::Erlaubt | AuswahlBox::Style::Rahmen | AuswahlBox::Style::MultiStyled | AuswahlBox::Style::MaxHeight | AuswahlBox::Style::VScroll | AuswahlBox::Style::Hintergrund);
-		teamAuswahl->setPosition(100, 1);
-		teamAuswahl->setSize(150, 20);
-		teamAuswahl->setEventParam(this);
-		teamAuswahl->setEventAktion(TeamAuswahlListeSpielerTeamAuswahlE);
-	}
-	else
-		team = initTextFeld(100, 1, 150, 20, TextFeld::Style::Text | TextFeld::Style::Center, "");
-	Array< int >* statistik = new Array< int >();
-	infoClient->getSpielStatistik(accountId, infoClient->getSpielId(karteId), statistik);
-	punkte = initTextFeld(250, 1, 80, 20, TextFeld::Style::Text | TextFeld::Style::Center, "Punkte: ");
-	punkte->zText()->append(statistik->hat(3) ? statistik->get(3) : 0);
-	spiele = initTextFeld(330, 1, 80, 20, TextFeld::Style::Text | TextFeld::Style::Center, "Spiele: ");
-	spiele->zText()->append(statistik->hat(0) ? statistik->get(0) : 0);
-	gewonnen = initTextFeld(410, 1, 90, 20, TextFeld::Style::Text | TextFeld::Style::Center, "Gewonnen: ");
-	gewonnen->zText()->append(statistik->hat(1) ? statistik->get(1) : 0);
-	statistik->release();
-	farbe = initTextFeld(500, 1, 50, 20, TextFeld::Style::Text | TextFeld::Style::Center, "Farbe:");
-	spielerFarbe = 0;
-	rahmen = new LRahmen();
-	rahmen->setSize(581, 22);
-	rahmen->setFarbe(0xFFFFFFFF);
-	rahmen->setRamenBreite(1);
-	teamName = new Text("");
-	this->sts = sts;
-	rend = 0;
+TeamAuswahlListeSpieler::TeamAuswahlListeSpieler(
+    SpielerTeamStruktur* sts, int accountId, int karteId)
+    : ReferenceCounter()
+{
+    this->accountId = accountId;
+    Text* n = infoClient->getSpielerName(accountId);
+    name = initTextFeld(1,
+        1,
+        99,
+        20,
+        TextFeld::Style::Text | TextFeld::Style::Center,
+        n->getText());
+    n->release();
+    if (accountId == loginClient->getAccountId())
+    {
+        teamAuswahl = uiFactory.createAuswahlBox(uiFactory.initParam);
+        teamAuswahl->setStyle(
+            AuswahlBox::Style::Sichtbar | AuswahlBox::Style::Erlaubt
+            | AuswahlBox::Style::Rahmen | AuswahlBox::Style::MultiStyled
+            | AuswahlBox::Style::MaxHeight | AuswahlBox::Style::VScroll
+            | AuswahlBox::Style::Hintergrund);
+        teamAuswahl->setPosition(100, 1);
+        teamAuswahl->setSize(150, 20);
+        teamAuswahl->setEventParam(this);
+        teamAuswahl->setEventAktion(TeamAuswahlListeSpielerTeamAuswahlE);
+    }
+    else
+        team = initTextFeld(100,
+            1,
+            150,
+            20,
+            TextFeld::Style::Text | TextFeld::Style::Center,
+            "");
+    Array<int>* statistik = new Array<int>();
+    infoClient->getSpielStatistik(
+        accountId, infoClient->getSpielId(karteId), statistik);
+    punkte = initTextFeld(250,
+        1,
+        80,
+        20,
+        TextFeld::Style::Text | TextFeld::Style::Center,
+        "Punkte: ");
+    punkte->zText()->append(statistik->hat(3) ? statistik->get(3) : 0);
+    spiele = initTextFeld(330,
+        1,
+        80,
+        20,
+        TextFeld::Style::Text | TextFeld::Style::Center,
+        "Spiele: ");
+    spiele->zText()->append(statistik->hat(0) ? statistik->get(0) : 0);
+    gewonnen = initTextFeld(410,
+        1,
+        90,
+        20,
+        TextFeld::Style::Text | TextFeld::Style::Center,
+        "Gewonnen: ");
+    gewonnen->zText()->append(statistik->hat(1) ? statistik->get(1) : 0);
+    statistik->release();
+    farbe = initTextFeld(500,
+        1,
+        50,
+        20,
+        TextFeld::Style::Text | TextFeld::Style::Center,
+        "Farbe:");
+    spielerFarbe = 0;
+    rahmen = new LRahmen();
+    rahmen->setSize(581, 22);
+    rahmen->setFarbe(0xFFFFFFFF);
+    rahmen->setRamenBreite(1);
+    teamName = new Text("");
+    this->sts = sts;
+    rend = 0;
 }
 
 // Destruktor
 TeamAuswahlListeSpieler::~TeamAuswahlListeSpieler()
 {
-	name->release();
-	if (accountId == loginClient->getAccountId())
-		teamAuswahl->release();
-	else
-		team->release();
-	punkte->release();
-	spiele->release();
-	gewonnen->release();
-	farbe->release();
-	rahmen->release();
-	teamName->release();
-	sts->release();
+    name->release();
+    if (accountId == loginClient->getAccountId())
+        teamAuswahl->release();
+    else
+        team->release();
+    punkte->release();
+    spiele->release();
+    gewonnen->release();
+    farbe->release();
+    rahmen->release();
+    teamName->release();
+    sts->release();
 }
 
 // nicht constant
 void TeamAuswahlListeSpieler::disable()
 {
-	if (accountId == loginClient->getAccountId())
-		teamAuswahl->removeStyle(AuswahlBox::Style::Erlaubt);
-}
-
-void TeamAuswahlListeSpieler::spielerTeamAuswahlE(AuswahlBox* obj, int p1, int p2)
-{
-	Text* tmpTeamName = obj->zEintragText(p2);
-	if (!tmpTeamName->istGleich(teamName->getText()))
-	{
-		if (tmpTeamName->istGleich("Zufällig"))
-		{
-			if (!spielClient->spielErstelltTeamWechseln(0))
-				obj->setAuswahl(obj->getEintragPos(teamName->getText()));
-		}
-		else
-		{
-			int neuTeam = 0;
-			for (int i = 0; i < sts->teamAnzahl; i++)
-			{
-				if (sts->teamName->z(i)->istGleich(tmpTeamName->getText()))
-				{
-					neuTeam = i + 1;
-					break;
-				}
-			}
-			if (!spielClient->spielErstelltTeamWechseln(neuTeam))
-				obj->setAuswahl(obj->getEintragPos(teamName->getText()));
-		}
-		obj->einklappen();
-	}
+    if (accountId == loginClient->getAccountId())
+        teamAuswahl->removeStyle(AuswahlBox::Style::Erlaubt);
+}
+
+void TeamAuswahlListeSpieler::spielerTeamAuswahlE(
+    AuswahlBox* obj, int p1, int p2)
+{
+    Text* tmpTeamName = obj->zEintragText(p2);
+    if (!tmpTeamName->istGleich(teamName->getText()))
+    {
+        if (tmpTeamName->istGleich("Zufällig"))
+        {
+            if (!spielClient->spielErstelltTeamWechseln(0))
+                obj->setAuswahl(obj->getEintragPos(teamName->getText()));
+        }
+        else
+        {
+            int neuTeam = 0;
+            for (int i = 0; i < sts->teamAnzahl; i++)
+            {
+                if (sts->teamName->z(i)->istGleich(tmpTeamName->getText()))
+                {
+                    neuTeam = i + 1;
+                    break;
+                }
+            }
+            if (!spielClient->spielErstelltTeamWechseln(neuTeam))
+                obj->setAuswahl(obj->getEintragPos(teamName->getText()));
+        }
+        obj->einklappen();
+    }
 }
 
 void TeamAuswahlListeSpieler::setFarbe(int farbe)
 {
-	this->spielerFarbe = farbe;
-	if (farbe)
-		rahmen->setFarbe(farbe);
-	else
-		rahmen->setFarbe(0xFFFFFFFF);
-	rend = 1;
+    this->spielerFarbe = farbe;
+    if (farbe)
+        rahmen->setFarbe(farbe);
+    else
+        rahmen->setFarbe(0xFFFFFFFF);
+    rend = 1;
 }
 
 void TeamAuswahlListeSpieler::setTeam(Text* zName)
 {
-	teamName->setText(zName->getText());
-	rend = 1;
-}
-
-void TeamAuswahlListeSpieler::setTeamErlaubt(Text* zName, bool erlaubt, int teamFarbe)
-{
-	if (accountId != loginClient->getAccountId())
-		return;
-	if (erlaubt)
-	{
-		if (teamAuswahl->getEintragPos(zName->getText()) < 0)
-		{
-			int p = teamAuswahl->getEintragAnzahl();
-			teamAuswahl->addEintrag(zName->getText());
-			teamAuswahl->setMsStyle(p, AuswahlBox::Style::FeldRahmen | AuswahlBox::Style::MausBuffer | AuswahlBox::Style::AuswahlBuffer | AuswahlBox::Style::FeldBuffer);
-			if (teamFarbe)
-				teamAuswahl->zEintrag(p)->setRahmenFarbe(teamFarbe);
-			teamAuswahl->setMsAuswAlphaFeldFarbe(p, 0x50000000 | (teamFarbe & 0x00FFFFFF));
-			teamAuswahl->setMsAuswAlphaFeldStrength(p, -15);
-			teamAuswahl->setMsMausAlphaFeldFarbe(p, 0x10000000 | (teamFarbe & 0x00FFFFFF));
-			teamAuswahl->setMsMausAlphaFeldStrength(p, -15);
-		}
-	}
-	else
-	{
-		if (zName->istGleich(teamName->getText()))
-			return;
-		if (teamAuswahl->getEintragPos(zName->getText()) >= 0)
-			teamAuswahl->removeEintrag(teamAuswahl->getEintragPos(zName->getText()));
-	}
+    teamName->setText(zName->getText());
+    rend = 1;
+}
+
+void TeamAuswahlListeSpieler::setTeamErlaubt(
+    Text* zName, bool erlaubt, int teamFarbe)
+{
+    if (accountId != loginClient->getAccountId()) return;
+    if (erlaubt)
+    {
+        if (teamAuswahl->getEintragPos(zName->getText()) < 0)
+        {
+            int p = teamAuswahl->getEintragAnzahl();
+            teamAuswahl->addEintrag(zName->getText());
+            teamAuswahl->setMsStyle(p,
+                AuswahlBox::Style::FeldRahmen | AuswahlBox::Style::MausBuffer
+                    | AuswahlBox::Style::AuswahlBuffer
+                    | AuswahlBox::Style::FeldBuffer);
+            if (teamFarbe) teamAuswahl->zEintrag(p)->setRahmenFarbe(teamFarbe);
+            teamAuswahl->setMsAuswAlphaFeldFarbe(
+                p, 0x50000000 | (teamFarbe & 0x00FFFFFF));
+            teamAuswahl->setMsAuswAlphaFeldStrength(p, -15);
+            teamAuswahl->setMsMausAlphaFeldFarbe(
+                p, 0x10000000 | (teamFarbe & 0x00FFFFFF));
+            teamAuswahl->setMsMausAlphaFeldStrength(p, -15);
+        }
+    }
+    else
+    {
+        if (zName->istGleich(teamName->getText())) return;
+        if (teamAuswahl->getEintragPos(zName->getText()) >= 0)
+            teamAuswahl->removeEintrag(
+                teamAuswahl->getEintragPos(zName->getText()));
+    }
 }
 
 bool TeamAuswahlListeSpieler::tick(double tickVal)
 {
-	if (accountId == loginClient->getAccountId())
-		rend |= teamAuswahl->tick(tickVal);
-	else if (!team->zText()->istGleich(teamName->getText()))
-	{
-		team->setText("");
-		team->zText()->append(teamName->getText());
-	}
-	bool ret = rend;
-	rend = 0;
-	return ret;
+    if (accountId == loginClient->getAccountId())
+        rend |= teamAuswahl->tick(tickVal);
+    else if (!team->zText()->istGleich(teamName->getText()))
+    {
+        team->setText("");
+        team->zText()->append(teamName->getText());
+    }
+    bool ret = rend;
+    rend = 0;
+    return ret;
 }
 
 void TeamAuswahlListeSpieler::doPublicMausEreignis(MausEreignis& me)
 {
-	if (accountId == loginClient->getAccountId())
-		teamAuswahl->doPublicMausEreignis(me);
+    if (accountId == loginClient->getAccountId())
+        teamAuswahl->doPublicMausEreignis(me);
 }
 
 void TeamAuswahlListeSpieler::render(int yOff, Bild& zRObj)
 {
-	if (!zRObj.setDrawOptions(0, yOff, 581, 22))
-		return;
-	rahmen->render(zRObj);
-	name->render(zRObj);
-	if (loginClient->getAccountId() == accountId)
-		teamAuswahl->render(zRObj);
-	else
-		team->render(zRObj);
-	punkte->render(zRObj);
-	spiele->render(zRObj);
-	gewonnen->render(zRObj);
-	farbe->render(zRObj);
-	zRObj.alphaRegion(550, 2, 18, 18, spielerFarbe);
-	zRObj.releaseDrawOptions();
+    if (!zRObj.setDrawOptions(0, yOff, 581, 22)) return;
+    rahmen->render(zRObj);
+    name->render(zRObj);
+    if (loginClient->getAccountId() == accountId)
+        teamAuswahl->render(zRObj);
+    else
+        team->render(zRObj);
+    punkte->render(zRObj);
+    spiele->render(zRObj);
+    gewonnen->render(zRObj);
+    farbe->render(zRObj);
+    zRObj.alphaRegion(550, 2, 18, 18, spielerFarbe);
+    zRObj.releaseDrawOptions();
 }
 
 // constant
 int TeamAuswahlListeSpieler::getAccountId() const
 {
-	return accountId;
+    return accountId;
 }
 
 // Inhalt der TeamAuswahlListeTeam Klasse aus TeamAuswahl.h
 // Konstruktor
 TeamAuswahlListeTeam::TeamAuswahlListeTeam()
-	: ReferenceCounter()
-{
-	maxSpieler = 0;
-	jetztSpieler = 0;
-	team = 0;
-	name = initTextFeld(0, 0, 300, 20, TextFeld::Style::Text | TextFeld::Style::Center, "Team: ");
-	mjSpieler = initTextFeld(300, 0, 150, 20, TextFeld::Style::Text | TextFeld::Style::Center, "Spieler: 0/0");
-	farbe = initTextFeld(450, 0, 100, 20, TextFeld::Style::Text | TextFeld::Style::Center, "Team Farbe:");
-	teamFarbe = 0;
-	spieler = new RCArray< TeamAuswahlListeSpieler >();
-	rahmen = new LRahmen();
-	rahmen->setSize(583, 22);
-	rahmen->setFarbe(0xFFFFFFFF);
-	rahmen->setRamenBreite(1);
-	titelAf = new AlphaFeld();
-	titelAf->setPosition(1, 1);
-	titelAf->setSize(581, 20);
-	titelAf->setFarbe(0x1000FF00);
-	titelAf->setStrength(-15);
-	teamName = new Text("");
-	tickVal = 0;
-	höhe = 22;
-	rend = 0;
+    : ReferenceCounter()
+{
+    maxSpieler = 0;
+    jetztSpieler = 0;
+    team = 0;
+    name = initTextFeld(0,
+        0,
+        300,
+        20,
+        TextFeld::Style::Text | TextFeld::Style::Center,
+        "Team: ");
+    mjSpieler = initTextFeld(300,
+        0,
+        150,
+        20,
+        TextFeld::Style::Text | TextFeld::Style::Center,
+        "Spieler: 0/0");
+    farbe = initTextFeld(450,
+        0,
+        100,
+        20,
+        TextFeld::Style::Text | TextFeld::Style::Center,
+        "Team Farbe:");
+    teamFarbe = 0;
+    spieler = new RCArray<TeamAuswahlListeSpieler>();
+    rahmen = new LRahmen();
+    rahmen->setSize(583, 22);
+    rahmen->setFarbe(0xFFFFFFFF);
+    rahmen->setRamenBreite(1);
+    titelAf = new AlphaFeld();
+    titelAf->setPosition(1, 1);
+    titelAf->setSize(581, 20);
+    titelAf->setFarbe(0x1000FF00);
+    titelAf->setStrength(-15);
+    teamName = new Text("");
+    tickVal = 0;
+    höhe = 22;
+    rend = 0;
 }
 
 // Destruktor
 TeamAuswahlListeTeam::~TeamAuswahlListeTeam()
 {
-	name->release();
-	mjSpieler->release();
-	farbe->release();
-	spieler->release();
-	rahmen->release();
-	titelAf->release();
-	teamName->release();
+    name->release();
+    mjSpieler->release();
+    farbe->release();
+    spieler->release();
+    rahmen->release();
+    titelAf->release();
+    teamName->release();
 }
 
 // nicht constant
 void TeamAuswahlListeTeam::disable()
 {
-	for (int i = 0; i < jetztSpieler; i++)
-		spieler->z(i)->disable();
+    for (int i = 0; i < jetztSpieler; i++)
+        spieler->z(i)->disable();
 }
 
 void TeamAuswahlListeTeam::setMaxSpieler(int maxSpieler)
 {
-	this->maxSpieler = maxSpieler;
-	rend = 1;
+    this->maxSpieler = maxSpieler;
+    rend = 1;
 }
 
 void TeamAuswahlListeTeam::setName(Text* name)
 {
-	teamName->setText(name->getText());
-	name->release();
-	rend = 1;
+    teamName->setText(name->getText());
+    name->release();
+    rend = 1;
 }
 
 void TeamAuswahlListeTeam::setFarbe(int farbe)
 {
-	teamFarbe = farbe;
-	rahmen->setFarbe(teamFarbe);
-	rend = 1;
+    teamFarbe = farbe;
+    rahmen->setFarbe(teamFarbe);
+    rend = 1;
 }
 
 void TeamAuswahlListeTeam::setTeam(int team)
 {
-	this->team = team;
-	rend = 1;
+    this->team = team;
+    rend = 1;
 }
 
 void TeamAuswahlListeTeam::addSpieler(TeamAuswahlListeSpieler* spieler)
 {
-	if (!jetztSpieler)
-		höhe++;
-	spieler->setTeam(teamName);
-	höhe += 22;
-	this->spieler->set(spieler, jetztSpieler);
-	jetztSpieler++;
-	rend = 1;
+    if (!jetztSpieler) höhe++;
+    spieler->setTeam(teamName);
+    höhe += 22;
+    this->spieler->set(spieler, jetztSpieler);
+    jetztSpieler++;
+    rend = 1;
 }
 
 void TeamAuswahlListeTeam::removeSpieler(int accountId)
 {
-	höhe -= 22;
-	for (int i = 0; i < jetztSpieler; i++)
-	{
-		if (spieler->z(i)->getAccountId() == accountId)
-		{
-			jetztSpieler--;
-			spieler->remove(i);
-			rend = 1;
-			break;
-		}
-	}
-	if (!jetztSpieler)
-		höhe = 22;
+    höhe -= 22;
+    for (int i = 0; i < jetztSpieler; i++)
+    {
+        if (spieler->z(i)->getAccountId() == accountId)
+        {
+            jetztSpieler--;
+            spieler->remove(i);
+            rend = 1;
+            break;
+        }
+    }
+    if (!jetztSpieler) höhe = 22;
 }
 
-void TeamAuswahlListeTeam::setTeamErlaubt(Text* zName, bool erlaubt, int teamFarbe)
+void TeamAuswahlListeTeam::setTeamErlaubt(
+    Text* zName, bool erlaubt, int teamFarbe)
 {
-	for (int i = 0; i < jetztSpieler; i++)
-		spieler->z(i)->setTeamErlaubt(zName, erlaubt, teamFarbe);
+    for (int i = 0; i < jetztSpieler; i++)
+        spieler->z(i)->setTeamErlaubt(zName, erlaubt, teamFarbe);
 }
 
 bool TeamAuswahlListeTeam::tick(double tickVal)
 {
-	this->tickVal += tickVal * 50;
-	int val = (int)this->tickVal;
-	if (val > 2)
-		val = 2;
-	this->tickVal -= val;
-	if (val)
-	{
-		if (rahmen->getHeight() > höhe)
-		{
-			rahmen->setSize(rahmen->getBreite(), rahmen->getHeight() - val);
-			if (rahmen->getHeight() < höhe)
-				rahmen->setSize(rahmen->getBreite(), höhe);
-			rend = 1;
-		}
-		if (rahmen->getHeight() < höhe)
-		{
-			rahmen->setSize(rahmen->getBreite(), rahmen->getHeight() + val);
-			if (rahmen->getHeight() > höhe)
-				rahmen->setSize(rahmen->getBreite(), höhe);
-			rend = 1;
-		}
-	}
-	name->setText("Team: ");
-	name->zText()->append(teamName->getText());
-	mjSpieler->setText("Spieler: ");
-	mjSpieler->zText()->append(jetztSpieler);
-	mjSpieler->zText()->append("/");
-	mjSpieler->zText()->append(maxSpieler);
-	for (int i = 0; i < jetztSpieler; i++)
-		rend |= spieler->z(i)->tick(tickVal);
-	bool ret = rend;
-	rend = 0;
-	return ret;
+    this->tickVal += tickVal * 50;
+    int val = (int)this->tickVal;
+    if (val > 2) val = 2;
+    this->tickVal -= val;
+    if (val)
+    {
+        if (rahmen->getHeight() > höhe)
+        {
+            rahmen->setSize(rahmen->getBreite(), rahmen->getHeight() - val);
+            if (rahmen->getHeight() < höhe)
+                rahmen->setSize(rahmen->getBreite(), höhe);
+            rend = 1;
+        }
+        if (rahmen->getHeight() < höhe)
+        {
+            rahmen->setSize(rahmen->getBreite(), rahmen->getHeight() + val);
+            if (rahmen->getHeight() > höhe)
+                rahmen->setSize(rahmen->getBreite(), höhe);
+            rend = 1;
+        }
+    }
+    name->setText("Team: ");
+    name->zText()->append(teamName->getText());
+    mjSpieler->setText("Spieler: ");
+    mjSpieler->zText()->append(jetztSpieler);
+    mjSpieler->zText()->append("/");
+    mjSpieler->zText()->append(maxSpieler);
+    for (int i = 0; i < jetztSpieler; i++)
+        rend |= spieler->z(i)->tick(tickVal);
+    bool ret = rend;
+    rend = 0;
+    return ret;
 }
 
 void TeamAuswahlListeTeam::doPublicMausEreignis(MausEreignis& me)
 {
-	int tmpX = me.mx;
-	int tmpY = me.my;
-	me.mx--;
-	me.my -= 22;
-	for (int i = 0; i < jetztSpieler; i++)
-	{
-		spieler->z(i)->doPublicMausEreignis(me);
-		me.my -= 22;
-	}
-	me.mx = tmpX;
-	me.my = tmpY;
+    int tmpX = me.mx;
+    int tmpY = me.my;
+    me.mx--;
+    me.my -= 22;
+    for (int i = 0; i < jetztSpieler; i++)
+    {
+        spieler->z(i)->doPublicMausEreignis(me);
+        me.my -= 22;
+    }
+    me.mx = tmpX;
+    me.my = tmpY;
 }
 
 void TeamAuswahlListeTeam::render(int yOff, Bild& zRObj)
 {
-	if (!zRObj.setDrawOptions(50, yOff, 583, rahmen->getHeight() + 1))
-		return;
-	rahmen->render(zRObj);
-	titelAf->setPosition(1, 1);
-	titelAf->render(zRObj);
-	name->render(zRObj);
-	mjSpieler->render(zRObj);
-	farbe->render(zRObj);
-	zRObj.alphaRegion(550, 2, 18, 18, teamFarbe);
-	zRObj.drawLinieH(1, 21, 581, rahmen->getFarbe());
-	if (!zRObj.setDrawOptions(1, 22, 582, rahmen->getHeight()))
-	{
-		zRObj.releaseDrawOptions();
-		return;
-	}
-	int y = 22 * (jetztSpieler - 1);
-	for (int i = jetztSpieler - 1; i >= 0; i--)
-	{
-		spieler->z(i)->render(y, zRObj);
-		y -= 22;
-	}
-	zRObj.releaseDrawOptions();
-	zRObj.releaseDrawOptions();
+    if (!zRObj.setDrawOptions(50, yOff, 583, rahmen->getHeight() + 1)) return;
+    rahmen->render(zRObj);
+    titelAf->setPosition(1, 1);
+    titelAf->render(zRObj);
+    name->render(zRObj);
+    mjSpieler->render(zRObj);
+    farbe->render(zRObj);
+    zRObj.alphaRegion(550, 2, 18, 18, teamFarbe);
+    zRObj.drawLinieH(1, 21, 581, rahmen->getFarbe());
+    if (!zRObj.setDrawOptions(1, 22, 582, rahmen->getHeight()))
+    {
+        zRObj.releaseDrawOptions();
+        return;
+    }
+    int y = 22 * (jetztSpieler - 1);
+    for (int i = jetztSpieler - 1; i >= 0; i--)
+    {
+        spieler->z(i)->render(y, zRObj);
+        y -= 22;
+    }
+    zRObj.releaseDrawOptions();
+    zRObj.releaseDrawOptions();
 }
 
 // constant
 int TeamAuswahlListeTeam::getTeamNummer() const
 {
-	return team;
+    return team;
 }
 
 int TeamAuswahlListeTeam::getHeight() const
 {
-	return rahmen->getHeight() + 1;
+    return rahmen->getHeight() + 1;
 }
 
 bool TeamAuswahlListeTeam::istPlatzFrei() const
 {
-	return jetztSpieler < maxSpieler;
+    return jetztSpieler < maxSpieler;
 }
 
 int TeamAuswahlListeTeam::getMaxSpieler() const
 {
-	return maxSpieler;
+    return maxSpieler;
 }
 
 Text* TeamAuswahlListeTeam::zName() const
 {
-	return teamName;
+    return teamName;
 }
 
-TeamAuswahlListeSpieler* TeamAuswahlListeTeam::getSpielerDaten(int accountId) const
+TeamAuswahlListeSpieler* TeamAuswahlListeTeam::getSpielerDaten(
+    int accountId) const
 {
-	for (int i = 0; i < jetztSpieler; i++)
-	{
-		if (spieler->z(i)->getAccountId() == accountId)
-			return spieler->get(i);
-	}
-	return 0;
+    for (int i = 0; i < jetztSpieler; i++)
+    {
+        if (spieler->z(i)->getAccountId() == accountId) return spieler->get(i);
+    }
+    return 0;
 }
 
-TeamAuswahlListeSpieler* TeamAuswahlListeTeam::zSpielerDaten(int accountId) const
+TeamAuswahlListeSpieler* TeamAuswahlListeTeam::zSpielerDaten(
+    int accountId) const
 {
-	for (int i = 0; i < jetztSpieler; i++)
-	{
-		if (spieler->z(i)->getAccountId() == accountId)
-			return spieler->z(i);
-	}
-	return 0;
+    for (int i = 0; i < jetztSpieler; i++)
+    {
+        if (spieler->z(i)->getAccountId() == accountId) return spieler->z(i);
+    }
+    return 0;
 }
 
 // Inhalt der TeamAuswahlListe Klasse aus TeamAuswahl.h
 // Konstruktor
 TeamAuswahlListe::TeamAuswahlListe(SpielerTeamStruktur* sts, int karteId)
-	: ReferenceCounter()
-{
-	rahmen = new LRahmen();
-	rahmen->setSize(698, 398);
-	rahmen->setFarbe(0xFFFFFFFF);
-	rahmen->setRamenBreite(1);
-	scroll = new VScrollBar();
-	scroll->update(0, 396);
-	scroll->setKlickScroll(7);
-	teams = new RCArray< TeamAuswahlListeTeam >();
-	TeamAuswahlListeTeam* zufall = new TeamAuswahlListeTeam();
-	zufall->setTeam(0);
-	zufall->setName(new Text("Zufällig"));
-	zufall->setMaxSpieler(sts->spielerAnzahl);
-	teams->set(zufall, 0);
-	for (int i = 0; i < sts->teamAnzahl; i++)
-	{
-		TeamAuswahlListeTeam* tmp = new TeamAuswahlListeTeam();
-		tmp->setTeam(i);
-		tmp->setName(sts->teamName->get(i));
-		tmp->setFarbe(sts->teamFarbe->hat(i) ? sts->teamFarbe->get(i) : 0);
-		tmp->setMaxSpieler(sts->teamSize->hat(i) ? sts->teamSize->get(i) : 0);
-		teams->set(tmp, i + 1);
-	}
-	teamAnzahl = 1 + sts->teamAnzahl;
-	this->karteId = karteId;
-	this->sts = sts;
-	rend = 0;
+    : ReferenceCounter()
+{
+    rahmen = new LRahmen();
+    rahmen->setSize(698, 398);
+    rahmen->setFarbe(0xFFFFFFFF);
+    rahmen->setRamenBreite(1);
+    scroll = new VScrollBar();
+    scroll->update(0, 396);
+    scroll->setKlickScroll(7);
+    teams = new RCArray<TeamAuswahlListeTeam>();
+    TeamAuswahlListeTeam* zufall = new TeamAuswahlListeTeam();
+    zufall->setTeam(0);
+    zufall->setName(new Text("Zufällig"));
+    zufall->setMaxSpieler(sts->spielerAnzahl);
+    teams->set(zufall, 0);
+    for (int i = 0; i < sts->teamAnzahl; i++)
+    {
+        TeamAuswahlListeTeam* tmp = new TeamAuswahlListeTeam();
+        tmp->setTeam(i);
+        tmp->setName(sts->teamName->get(i));
+        tmp->setFarbe(sts->teamFarbe->hat(i) ? sts->teamFarbe->get(i) : 0);
+        tmp->setMaxSpieler(sts->teamSize->hat(i) ? sts->teamSize->get(i) : 0);
+        teams->set(tmp, i + 1);
+    }
+    teamAnzahl = 1 + sts->teamAnzahl;
+    this->karteId = karteId;
+    this->sts = sts;
+    rend = 0;
 }
 
 // Destruktor
 TeamAuswahlListe::~TeamAuswahlListe()
 {
-	rahmen->release();
-	scroll->release();
-	teams->release();
-	sts->release();
+    rahmen->release();
+    scroll->release();
+    teams->release();
+    sts->release();
 }
 
 // nicht constant
 void TeamAuswahlListe::disable()
 {
-	for (int i = 0; i < teamAnzahl; i++)
-		teams->z(i)->disable();
+    for (int i = 0; i < teamAnzahl; i++)
+        teams->z(i)->disable();
 }
 
 void TeamAuswahlListe::setTeamVonSpieler(int accountId, int spielerNummer)
 {
-	if (spielerNummer == 0)
-	{
-		int neuTeam = 0;
-		int altTeam = 0;
-		for (int j = 0; j < teamAnzahl; j++)
-		{
-			if (teams->z(j)->zSpielerDaten(accountId))
-			{
-				altTeam = j;
-				break;
-			}
-		}
-		TeamAuswahlListeSpieler* tmp = teams->z(altTeam)->getSpielerDaten(accountId);
-		teams->z(altTeam)->removeSpieler(accountId);
-		tmp->setFarbe(0);
-		teams->z(neuTeam)->addSpieler(tmp);
-	}
-	else
-	{
-		int team = 0;
-		int max = 0;
-		int min = 0;
-		for (int i = 0; i < sts->teamAnzahl; i++)
-		{
-			min = max;
-			max += sts->teamSize->get(i);
-			if (spielerNummer - 1 >= min && spielerNummer - 1 < max)
-			{
-				int neuTeam = i + 1;
-				int altTeam = 0;
-				for (int j = 0; j < teamAnzahl; j++)
-				{
-					if (teams->z(j)->zSpielerDaten(accountId))
-					{
-						altTeam = j;
-						break;
-					}
-				}
-				TeamAuswahlListeSpieler* tmp = teams->z(altTeam)->getSpielerDaten(accountId);
-				teams->z(altTeam)->removeSpieler(accountId);
-				tmp->setFarbe(sts->spielerFarbe->hat(spielerNummer - 1) ? sts->spielerFarbe->get(spielerNummer - 1) : 0);
-				teams->z(neuTeam)->addSpieler(tmp);
-				break;
-			}
-		}
-	}
-	for (int i = 0; i < teamAnzahl; i++)
-	{
-		for (int j = 0; j < teamAnzahl; j++)
-		{
-			if (i == 0)
-				teams->z(j)->setTeamErlaubt(teams->z(i)->zName(), teams->z(i)->istPlatzFrei(), 0);
-			else
-				teams->z(j)->setTeamErlaubt(teams->z(i)->zName(), teams->z(i)->istPlatzFrei(), sts->teamFarbe->hat(i - 1) ? sts->teamFarbe->get(i - 1) : 0);
-		}
-	}
-	rend = 1;
+    if (spielerNummer == 0)
+    {
+        int neuTeam = 0;
+        int altTeam = 0;
+        for (int j = 0; j < teamAnzahl; j++)
+        {
+            if (teams->z(j)->zSpielerDaten(accountId))
+            {
+                altTeam = j;
+                break;
+            }
+        }
+        TeamAuswahlListeSpieler* tmp
+            = teams->z(altTeam)->getSpielerDaten(accountId);
+        teams->z(altTeam)->removeSpieler(accountId);
+        tmp->setFarbe(0);
+        teams->z(neuTeam)->addSpieler(tmp);
+    }
+    else
+    {
+        int team = 0;
+        int max = 0;
+        int min = 0;
+        for (int i = 0; i < sts->teamAnzahl; i++)
+        {
+            min = max;
+            max += sts->teamSize->get(i);
+            if (spielerNummer - 1 >= min && spielerNummer - 1 < max)
+            {
+                int neuTeam = i + 1;
+                int altTeam = 0;
+                for (int j = 0; j < teamAnzahl; j++)
+                {
+                    if (teams->z(j)->zSpielerDaten(accountId))
+                    {
+                        altTeam = j;
+                        break;
+                    }
+                }
+                TeamAuswahlListeSpieler* tmp
+                    = teams->z(altTeam)->getSpielerDaten(accountId);
+                teams->z(altTeam)->removeSpieler(accountId);
+                tmp->setFarbe(sts->spielerFarbe->hat(spielerNummer - 1)
+                                  ? sts->spielerFarbe->get(spielerNummer - 1)
+                                  : 0);
+                teams->z(neuTeam)->addSpieler(tmp);
+                break;
+            }
+        }
+    }
+    for (int i = 0; i < teamAnzahl; i++)
+    {
+        for (int j = 0; j < teamAnzahl; j++)
+        {
+            if (i == 0)
+                teams->z(j)->setTeamErlaubt(
+                    teams->z(i)->zName(), teams->z(i)->istPlatzFrei(), 0);
+            else
+                teams->z(j)->setTeamErlaubt(teams->z(i)->zName(),
+                    teams->z(i)->istPlatzFrei(),
+                    sts->teamFarbe->hat(i - 1) ? sts->teamFarbe->get(i - 1)
+                                               : 0);
+        }
+    }
+    rend = 1;
 }
 
 void TeamAuswahlListe::addSpieler(int accountId)
 {
-	TeamAuswahlListeSpieler* tmp = new TeamAuswahlListeSpieler(sts->getThis(), accountId, karteId);
-	for (int i = 0; i < teamAnzahl; i++)
-	{
-		if (teams->z(i)->istPlatzFrei())
-		{
-			if (i == 0)
-				tmp->setTeamErlaubt(teams->z(i)->zName(), 1, 0);
-			else
-				tmp->setTeamErlaubt(teams->z(i)->zName(), 1, sts->teamFarbe->hat(i - 1) ? sts->teamFarbe->get(i - 1) : 0);
-		}
-	}
-	teams->z(0)->addSpieler(tmp);
-	for (int i = 0; i < teamAnzahl; i++)
-		teams->z(i)->setTeamErlaubt(teams->z(0)->zName(), teams->z(0)->istPlatzFrei(), 0);
-	rend = 1;
+    TeamAuswahlListeSpieler* tmp
+        = new TeamAuswahlListeSpieler(sts->getThis(), accountId, karteId);
+    for (int i = 0; i < teamAnzahl; i++)
+    {
+        if (teams->z(i)->istPlatzFrei())
+        {
+            if (i == 0)
+                tmp->setTeamErlaubt(teams->z(i)->zName(), 1, 0);
+            else
+                tmp->setTeamErlaubt(teams->z(i)->zName(),
+                    1,
+                    sts->teamFarbe->hat(i - 1) ? sts->teamFarbe->get(i - 1)
+                                               : 0);
+        }
+    }
+    teams->z(0)->addSpieler(tmp);
+    for (int i = 0; i < teamAnzahl; i++)
+        teams->z(i)->setTeamErlaubt(
+            teams->z(0)->zName(), teams->z(0)->istPlatzFrei(), 0);
+    rend = 1;
 }
 
 void TeamAuswahlListe::removeSpieler(int accountId)
 {
-	for (int i = 0; i < teamAnzahl; i++)
-	{
-		if (teams->z(i)->zSpielerDaten(accountId))
-			teams->z(i)->removeSpieler(accountId);
-	}
-	for (int i = 0; i < teamAnzahl; i++)
-	{
-		for (int j = 0; j < teamAnzahl; j++)
-		{
-			if (i == 0)
-				teams->z(j)->setTeamErlaubt(teams->z(i)->zName(), teams->z(i)->istPlatzFrei(), 0);
-			else
-				teams->z(j)->setTeamErlaubt(teams->z(i)->zName(), teams->z(i)->istPlatzFrei(), sts->teamFarbe->hat(i - 1) ? sts->teamFarbe->get(i - 1) : 0);
-		}
-	}
-	rend = 1;
+    for (int i = 0; i < teamAnzahl; i++)
+    {
+        if (teams->z(i)->zSpielerDaten(accountId))
+            teams->z(i)->removeSpieler(accountId);
+    }
+    for (int i = 0; i < teamAnzahl; i++)
+    {
+        for (int j = 0; j < teamAnzahl; j++)
+        {
+            if (i == 0)
+                teams->z(j)->setTeamErlaubt(
+                    teams->z(i)->zName(), teams->z(i)->istPlatzFrei(), 0);
+            else
+                teams->z(j)->setTeamErlaubt(teams->z(i)->zName(),
+                    teams->z(i)->istPlatzFrei(),
+                    sts->teamFarbe->hat(i - 1) ? sts->teamFarbe->get(i - 1)
+                                               : 0);
+        }
+    }
+    rend = 1;
 }
 
 bool TeamAuswahlListe::tick(double tickVal)
 {
-	for (int i = 0; i < teamAnzahl; i++)
-		rend |= teams->z(i)->tick(tickVal);
-	rend |= scroll->getRend();
-	bool ret = rend;
-	rend = 0;
-	return ret;
+    for (int i = 0; i < teamAnzahl; i++)
+        rend |= teams->z(i)->tick(tickVal);
+    rend |= scroll->getRend();
+    bool ret = rend;
+    rend = 0;
+    return ret;
 }
 
 void TeamAuswahlListe::doPublicMausEreignis(MausEreignis& me)
 {
-	int tmpX = me.mx;
-	int tmpY = me.my;
-	me.mx -= 50;
-	me.my -= 50 - scroll->getScroll();
-	for (int i = 0; i < teamAnzahl; i++)
-	{
-		teams->z(i)->doPublicMausEreignis(me);
-		me.my -= 20 + teams->z(i)->getHeight();
-	}
-	me.mx = tmpX;
-	me.my = tmpY;
-	if (me.mx > 1 && me.mx < 698 && me.my > 1 && me.my < 397)
-	{
-		scroll->doMausMessage(683, 1, 15, 396, me);
-		me.verarbeitet = 1;
-	}
+    int tmpX = me.mx;
+    int tmpY = me.my;
+    me.mx -= 50;
+    me.my -= 50 - scroll->getScroll();
+    for (int i = 0; i < teamAnzahl; i++)
+    {
+        teams->z(i)->doPublicMausEreignis(me);
+        me.my -= 20 + teams->z(i)->getHeight();
+    }
+    me.mx = tmpX;
+    me.my = tmpY;
+    if (me.mx > 1 && me.mx < 698 && me.my > 1 && me.my < 397)
+    {
+        scroll->doMausMessage(683, 1, 15, 396, me);
+        me.verarbeitet = 1;
+    }
 }
 
 void TeamAuswahlListe::render(Bild& zRObj)
 {
-	if (!zRObj.setDrawOptions(0, 0, 698, 398))
-		return;
-	rahmen->render(zRObj);
-	int maxHöhe = 50;
-	for (int i = 0; i < teamAnzahl; i++)
-		maxHöhe += 20 + teams->z(i)->getHeight();
-	maxHöhe += 30;
-	scroll->update(maxHöhe, 396);
-	scroll->render(683, 1, 15, 396, zRObj);
-	if (!zRObj.setDrawOptions(1, 1, 682, 395))
-	{
-		zRObj.releaseDrawOptions();
-		return;
-	}
-	int y = 50 - scroll->getScroll();
-	for (int i = 0; i < teamAnzahl - 1; i++)
-		y += 20 + teams->z(i)->getHeight();
-	for (int i = teamAnzahl - 1; i >= 0; i--)
-	{
-		teams->z(i)->render(y, zRObj);
-		if (i > 0)
-			y -= 20 + teams->z(i - 1)->getHeight();
-	}
-	zRObj.releaseDrawOptions();
-	zRObj.releaseDrawOptions();
+    if (!zRObj.setDrawOptions(0, 0, 698, 398)) return;
+    rahmen->render(zRObj);
+    int maxHöhe = 50;
+    for (int i = 0; i < teamAnzahl; i++)
+        maxHöhe += 20 + teams->z(i)->getHeight();
+    maxHöhe += 30;
+    scroll->update(maxHöhe, 396);
+    scroll->render(683, 1, 15, 396, zRObj);
+    if (!zRObj.setDrawOptions(1, 1, 682, 395))
+    {
+        zRObj.releaseDrawOptions();
+        return;
+    }
+    int y = 50 - scroll->getScroll();
+    for (int i = 0; i < teamAnzahl - 1; i++)
+        y += 20 + teams->z(i)->getHeight();
+    for (int i = teamAnzahl - 1; i >= 0; i--)
+    {
+        teams->z(i)->render(y, zRObj);
+        if (i > 0) y -= 20 + teams->z(i - 1)->getHeight();
+    }
+    zRObj.releaseDrawOptions();
+    zRObj.releaseDrawOptions();
 }
 
 // Inhalt der TeamAuswahlTimer Klasse aus TeamAuswahl.h
 // Konstruktor
 TeamAuswahlTimer::TeamAuswahlTimer()
-	: ReferenceCounter()
+    : ReferenceCounter()
 {
-	zeit = initTextFeld(0, 0, 200, 200, TextFeld::Style::Text | TextFeld::Style::Center, "");
-	bestätigen = initKnopf(65, 170, 70, 20, Knopf::Style::Sichtbar, "Fertig");
-	time = 0;
-	maxTime = 0;
-	grad = 0;
-	rend = 0;
+    zeit = initTextFeld(
+        0, 0, 200, 200, TextFeld::Style::Text | TextFeld::Style::Center, "");
+    bestätigen = initKnopf(65, 170, 70, 20, Knopf::Style::Sichtbar, "Fertig");
+    time = 0;
+    maxTime = 0;
+    grad = 0;
+    rend = 0;
 }
 
 // Destruktor
 TeamAuswahlTimer::~TeamAuswahlTimer()
 {
-	zeit->release();
-	bestätigen->release();
+    zeit->release();
+    bestätigen->release();
 }
 
 // nicht constant
 void TeamAuswahlTimer::setVerbleibendeZeit(int sekunden)
 {
-	if (!maxTime)
-		maxTime = sekunden;
-	if (time != sekunden)
-		rend = 1;
-	time = sekunden;
+    if (!maxTime) maxTime = sekunden;
+    if (time != sekunden) rend = 1;
+    time = sekunden;
 }
 
 bool TeamAuswahlTimer::doPublicMausEreignis(MausEreignis& me)
 {
-	bool vera = me.verarbeitet;
-	bestätigen->doPublicMausEreignis(me);
-	if (!vera && me.verarbeitet && me.id == ME_RLinks)
-	{
-		if (spielClient->spielErstelltTeamFertig())
-		{
-			bestätigen->removeStyle(Knopf::Style::Erlaubt);
-			return 1;
-		}
-	}
-	return 0;
+    bool vera = me.verarbeitet;
+    bestätigen->doPublicMausEreignis(me);
+    if (!vera && me.verarbeitet && me.id == ME_RLinks)
+    {
+        if (spielClient->spielErstelltTeamFertig())
+        {
+            bestätigen->removeStyle(Knopf::Style::Erlaubt);
+            return 1;
+        }
+    }
+    return 0;
 }
 
 bool TeamAuswahlTimer::tick(double tickVal)
 {
-	zeit->setText("");
-	zeit->zText()->append(time);
-	grad += (tickVal * 2);
-	rend = 1;
-	if (grad > 360)
-		grad -= 360;
-	bool ret = rend;
-	rend = 0;
-	return ret;
+    zeit->setText("");
+    zeit->zText()->append(time);
+    grad += (tickVal * 2);
+    rend = 1;
+    if (grad > 360) grad -= 360;
+    bool ret = rend;
+    rend = 0;
+    return ret;
 }
 
 void TeamAuswahlTimer::render(Bild& zRObj)
 {
-	if (!zRObj.setDrawOptions(498, 398, 200, 200))
-		return;
-	zeit->render(zRObj);
-	int r = (maxTime && time) ? 90 - (int)(75.0 / ((double)maxTime / (maxTime - time)) + 0.5) : 15;
-	zRObj.drawKreis(100, 100, 15, 0xFFFF0000);
-	zRObj.drawKreis(100, 100, r, 0xFF00FF00);
-	int x1 = 100 + (int)(sin(grad) * 15);
-	int y1 = 100 + (int)(cos(grad) * 15);
-	int x2 = 100 + (int)(sin(grad) * r);
-	int y2 = 100 + (int)(cos(grad) * r);
-	zRObj.drawLinie(Punkt(x1, y1), Punkt(x2, y2), 0xFFFFFF00);
-	bestätigen->render(zRObj);
-	zRObj.releaseDrawOptions();
+    if (!zRObj.setDrawOptions(498, 398, 200, 200)) return;
+    zeit->render(zRObj);
+    int r = (maxTime && time)
+              ? 90 - (int)(75.0 / ((double)maxTime / (maxTime - time)) + 0.5)
+              : 15;
+    zRObj.drawKreis(100, 100, 15, 0xFFFF0000);
+    zRObj.drawKreis(100, 100, r, 0xFF00FF00);
+    int x1 = 100 + (int)(sin(grad) * 15);
+    int y1 = 100 + (int)(cos(grad) * 15);
+    int x2 = 100 + (int)(sin(grad) * r);
+    int y2 = 100 + (int)(cos(grad) * r);
+    zRObj.drawLinie(Punkt(x1, y1), Punkt(x2, y2), 0xFFFFFF00);
+    bestätigen->render(zRObj);
+    zRObj.releaseDrawOptions();
 }
 
 // constant
 int TeamAuswahlTimer::getZeit() const
 {
-	return time;
+    return time;
 }
 
 // Inhalt der TeamAuswahlChat Klasse aus TeamAuswahl.h
 // Konstruktor
 TeamAuswahlChat::TeamAuswahlChat()
-	: ReferenceCounter()
-{
-	nachricht = initTextFeld(2, 178, 472, 20, TextFeld::Style::TextFeld, "");
-	Bild* sendenBild = bilder->get("data/client/bilder/chat.ltdb/senden.png");
-	senden = initKnopf(476, 178, 20, 20, 0, "");
-	senden->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
-	senden->setHintergrundBildZ(sendenBild);
-	verlauf = initTextFeld(2, 2, 494, 174, TextFeld::Style::TextGebiet & ~TextFeld::Style::Erlaubt, "");
-	verlauf->updateVScroll();
-	verlauf->setVertikalKlickScroll(5);
-	rahmen = new LRahmen();
-	rahmen->setSize(498, 200);
-	rahmen->setFarbe(0xFFFFFFFF);
-	rahmen->setRamenBreite(1);
-	rend = 0;
+    : ReferenceCounter()
+{
+    nachricht = initTextFeld(2, 178, 472, 20, TextFeld::Style::TextFeld, "");
+    Bild* sendenBild = bilder->get("data/client/bilder/chat.ltdb/senden.png");
+    senden = initKnopf(476, 178, 20, 20, 0, "");
+    senden->setStyle(Knopf::Style::Sichtbar | Knopf::Style::Erlaubt
+                     | Knopf::Style::Hintergrund | Knopf::Style::HAlpha
+                     | Knopf::Style::HBild | Knopf::Style::KlickBuffer);
+    senden->setHintergrundBildZ(sendenBild);
+    verlauf = initTextFeld(2,
+        2,
+        494,
+        174,
+        TextFeld::Style::TextGebiet & ~TextFeld::Style::Erlaubt,
+        "");
+    verlauf->updateVScroll();
+    verlauf->setVertikalKlickScroll(5);
+    rahmen = new LRahmen();
+    rahmen->setSize(498, 200);
+    rahmen->setFarbe(0xFFFFFFFF);
+    rahmen->setRamenBreite(1);
+    rend = 0;
 }
 
 // Destruktor
 TeamAuswahlChat::~TeamAuswahlChat()
 {
-	nachricht->release();
-	senden->release();
-	verlauf->release();
-	rahmen->release();
+    nachricht->release();
+    senden->release();
+    verlauf->release();
+    rahmen->release();
 }
 
 // nicht constant
 void TeamAuswahlChat::addNachricht(const char* nachricht)
 {
-	verlauf->addZeile(nachricht);
-	verlauf->updateVScroll();
-	rend = 1;
+    verlauf->addZeile(nachricht);
+    verlauf->updateVScroll();
+    rend = 1;
 }
 
 bool TeamAuswahlChat::tick(double tickVal)
 {
-	rend |= verlauf->tick(tickVal);
-	rend |= nachricht->tick(tickVal);
-	rend |= senden->tick(tickVal);
-	bool ret = rend;
-	rend = 0;
-	return ret;
+    rend |= verlauf->tick(tickVal);
+    rend |= nachricht->tick(tickVal);
+    rend |= senden->tick(tickVal);
+    bool ret = rend;
+    rend = 0;
+    return ret;
 }
 
 void TeamAuswahlChat::doPublicMausEreignis(MausEreignis& me)
 {
-	verlauf->doPublicMausEreignis(me);
-	nachricht->doPublicMausEreignis(me);
-	bool ver = !me.verarbeitet;
-	senden->doPublicMausEreignis(me);
-	int aktion = (ver && me.verarbeitet && me.id == ME_RLinks) ? 1 : 0;
-	if (aktion == 1)
-	{ // Nachricht senden
-		if (spielClient->spielErstelltChatNachricht(nachricht->zText()->getText()))
-		{
-			nachricht->setText("");
-			nachricht->setAuswahl(0, 0);
-			rend = 1;
-		}
-		else
-			nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"), new Text(spielClient->getLetzterFehler()), new Text("Ok"), 0);
-	}
+    verlauf->doPublicMausEreignis(me);
+    nachricht->doPublicMausEreignis(me);
+    bool ver = !me.verarbeitet;
+    senden->doPublicMausEreignis(me);
+    int aktion = (ver && me.verarbeitet && me.id == ME_RLinks) ? 1 : 0;
+    if (aktion == 1)
+    { // Nachricht senden
+        if (spielClient->spielErstelltChatNachricht(
+                nachricht->zText()->getText()))
+        {
+            nachricht->setText("");
+            nachricht->setAuswahl(0, 0);
+            rend = 1;
+        }
+        else
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(spielClient->getLetzterFehler()),
+                new Text("Ok"),
+                0);
+    }
 }
 
 void TeamAuswahlChat::doTastaturEreignis(TastaturEreignis& te)
 {
-	bool ver = !te.verarbeitet;
-	nachricht->doTastaturEreignis(te);
-	int aktion = (ver && te.verarbeitet && te.id == TE_Release && te.taste == T_Enter) ? 1 : 0;
-	if (aktion == 1)
-	{ // Nachricht senden
-		if (spielClient->spielErstelltChatNachricht(nachricht->zText()->getText()))
-		{
-			nachricht->setText("");
-			nachricht->setAuswahl(0, 0);
-			rend = 1;
-		}
-		else
-			nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"), new Text(spielClient->getLetzterFehler()), new Text("Ok"), 0);
-	}
+    bool ver = !te.verarbeitet;
+    nachricht->doTastaturEreignis(te);
+    int aktion = (ver && te.verarbeitet && te.id == TE_Release
+                     && te.virtualKey == T_Enter)
+                   ? 1
+                   : 0;
+    if (aktion == 1)
+    { // Nachricht senden
+        if (spielClient->spielErstelltChatNachricht(
+                nachricht->zText()->getText()))
+        {
+            nachricht->setText("");
+            nachricht->setAuswahl(0, 0);
+            rend = 1;
+        }
+        else
+            nachLogin->zNachrichtenListe()->addNachricht(new Text("Fehler"),
+                new Text(spielClient->getLetzterFehler()),
+                new Text("Ok"),
+                0);
+    }
 }
 
 void TeamAuswahlChat::render(Bild& zRObj)
 {
-	if (!zRObj.setDrawOptions(0, 398, 498, 200))
-		return;
-	rahmen->render(zRObj);
-	verlauf->render(zRObj);
-	nachricht->render(zRObj);
-	senden->render(zRObj);
-	zRObj.releaseDrawOptions();
+    if (!zRObj.setDrawOptions(0, 398, 498, 200)) return;
+    rahmen->render(zRObj);
+    verlauf->render(zRObj);
+    nachricht->render(zRObj);
+    senden->render(zRObj);
+    zRObj.releaseDrawOptions();
 }
 
 // Inhalt der TeamAuswahl Klasse aus TeamAuswahl.h
 // Konstruktor
 TeamAuswahl::TeamAuswahl()
-	: ReferenceCounter()
+    : ReferenceCounter()
 {
-	tickVal = 0;
-	animation = 0;
-	sichtbar = 0;
-	alpha = 0;
-	karteId = 0;
-	sts = 0;
-	chat = 0;
-	timer = 0;
-	liste = 0;
-	rend = 0;
+    tickVal = 0;
+    animation = 0;
+    sichtbar = 0;
+    alpha = 0;
+    karteId = 0;
+    sts = 0;
+    chat = 0;
+    timer = 0;
+    liste = 0;
+    rend = 0;
 }
 
 // Destruktor
 TeamAuswahl::~TeamAuswahl()
 {
-	if (sichtbar)
-		setSichtbar(0);
-	if (chat)
-		chat->release();
-	if (timer)
-		timer->release();
-	if (liste)
-		liste->release();
-	if (sts)
-		sts->release();
+    if (sichtbar) setSichtbar(0);
+    if (chat) chat->release();
+    if (timer) timer->release();
+    if (liste) liste->release();
+    if (sts) sts->release();
 }
 
 // nicht constant
 void TeamAuswahl::setKarteId(int karteId)
 {
-	this->karteId = karteId;
+    this->karteId = karteId;
 }
 
 void TeamAuswahl::setSichtbar(bool sichtbar, bool sofort)
 {
-	this->sichtbar = sichtbar;
-	if (sichtbar)
-		animation |= 0x1;
-	else
-	{
-		if (sofort)
-			alpha = 0;
-		else
-			animation &= ~0x1;
-	}
-	rend = 1;
+    this->sichtbar = sichtbar;
+    if (sichtbar)
+        animation |= 0x1;
+    else
+    {
+        if (sofort)
+            alpha = 0;
+        else
+            animation &= ~0x1;
+    }
+    rend = 1;
 }
 
 void TeamAuswahl::initSTS(SpielerTeamStruktur* sts)
 {
-	uiFactory.initParam.bildschirm->lock();
-	if (this->sts)
-		this->sts->release();
-	this->sts = sts;
-	if (chat)
-		chat = (TeamAuswahlChat*)chat->release();
-	if (timer)
-		timer = (TeamAuswahlTimer*)timer->release();
-	if (liste)
-		liste = (TeamAuswahlListe*)liste->release();
-	chat = new TeamAuswahlChat();
-	timer = new TeamAuswahlTimer();
-	liste = new TeamAuswahlListe(sts->getThis(), karteId);
-	uiFactory.initParam.bildschirm->unlock();
-	rend = 1;
+    uiFactory.initParam.bildschirm->lock();
+    if (this->sts) this->sts->release();
+    this->sts = sts;
+    if (chat) chat = (TeamAuswahlChat*)chat->release();
+    if (timer) timer = (TeamAuswahlTimer*)timer->release();
+    if (liste) liste = (TeamAuswahlListe*)liste->release();
+    chat = new TeamAuswahlChat();
+    timer = new TeamAuswahlTimer();
+    liste = new TeamAuswahlListe(sts->getThis(), karteId);
+    uiFactory.initParam.bildschirm->unlock();
+    rend = 1;
 }
 
 void TeamAuswahl::addSpieler(int accountId)
 {
-	if (liste)
-		liste->addSpieler(accountId);
+    if (liste) liste->addSpieler(accountId);
 }
 
 void TeamAuswahl::setSpielerNummer(int accountId, int sNummer)
 {
-	if (liste)
-		liste->setTeamVonSpieler(accountId, sNummer);
+    if (liste) liste->setTeamVonSpieler(accountId, sNummer);
 }
 
 void TeamAuswahl::removeSpieler(int accountId)
 {
-	if (liste)
-		liste->removeSpieler(accountId);
+    if (liste) liste->removeSpieler(accountId);
 }
 
 void TeamAuswahl::verbleibendeZeit(int sekunden)
 {
-	if (timer)
-		timer->setVerbleibendeZeit(sekunden);
+    if (timer) timer->setVerbleibendeZeit(sekunden);
 }
 
 void TeamAuswahl::addNachricht(const char* nachricht)
 {
-	if (chat)
-		chat->addNachricht(nachricht);
+    if (chat) chat->addNachricht(nachricht);
 }
 
 bool TeamAuswahl::tick(double tickVal)
 {
-	if (!sichtbar && !alpha)
-		return 0;
-	if (chat)
-		rend |= chat->tick(tickVal);
-	if (timer)
-		rend |= timer->tick(tickVal);
-	if (liste)
-		rend |= liste->tick(tickVal);
-	this->tickVal += tickVal * 150;
-	int val = (int)this->tickVal;
-	if (!val)
-	{
-		bool ret = rend;
-		rend = 0;
-		return ret;
-	}
-	if (val > 5)
-		val = 5;
-	this->tickVal -= val;
-	if ((animation | 0x1) == animation) // sichtbar werden
-	{
-		if (alpha != 255)
-		{
-			if (alpha + val < 255)
-				alpha += val;
-			else
-				alpha = 255;
-			rend = 1;
-		}
-	}
-	else // unsichtbar werden
-	{
-		if (alpha != 0)
-		{
-			if (alpha - val >= 0)
-				alpha -= val;
-			else
-				alpha = 0;
-			rend = 1;
-		}
-	}
-	bool ret = rend;
-	rend = 0;
-	return ret;
+    if (!sichtbar && !alpha) return 0;
+    if (chat) rend |= chat->tick(tickVal);
+    if (timer) rend |= timer->tick(tickVal);
+    if (liste) rend |= liste->tick(tickVal);
+    this->tickVal += tickVal * 150;
+    int val = (int)this->tickVal;
+    if (!val)
+    {
+        bool ret = rend;
+        rend = 0;
+        return ret;
+    }
+    if (val > 5) val = 5;
+    this->tickVal -= val;
+    if ((animation | 0x1) == animation) // sichtbar werden
+    {
+        if (alpha != 255)
+        {
+            if (alpha + val < 255)
+                alpha += val;
+            else
+                alpha = 255;
+            rend = 1;
+        }
+    }
+    else // unsichtbar werden
+    {
+        if (alpha != 0)
+        {
+            if (alpha - val >= 0)
+                alpha -= val;
+            else
+                alpha = 0;
+            rend = 1;
+        }
+    }
+    bool ret = rend;
+    rend = 0;
+    return ret;
 }
 
 void TeamAuswahl::doPublicMausEreignis(MausEreignis& me)
 {
-	if (!alpha)
-		return;
-	if (liste)
-		liste->doPublicMausEreignis(me);
-	if (chat)
-	{
-		me.my -= 398;
-		chat->doPublicMausEreignis(me);
-		me.mx -= 498;
-		if (timer->doPublicMausEreignis(me))
-			liste->disable();
-		me.my += 398;
-		me.mx += 498;
-	}
+    if (!alpha) return;
+    if (liste) liste->doPublicMausEreignis(me);
+    if (chat)
+    {
+        me.my -= 398;
+        chat->doPublicMausEreignis(me);
+        me.mx -= 498;
+        if (timer->doPublicMausEreignis(me)) liste->disable();
+        me.my += 398;
+        me.mx += 498;
+    }
 }
 
 void TeamAuswahl::doTastaturEreignis(TastaturEreignis& te)
 {
-	if (!alpha)
-		return;
-	if (chat)
-		chat->doTastaturEreignis(te);
+    if (!alpha) return;
+    if (chat) chat->doTastaturEreignis(te);
 }
 
 void TeamAuswahl::render(Bild& zRObj)
 {
-	if (!alpha)
-		return;
-	if (!zRObj.setDrawOptions(0, 0, 700, 600))
-		return;
-	zRObj.setAlpha(alpha);
-	if (timer)
-		timer->render(zRObj);
-	if (chat)
-		chat->render(zRObj);
-	if (liste)
-		liste->render(zRObj);
-	zRObj.releaseAlpha();
-	zRObj.releaseDrawOptions();
+    if (!alpha) return;
+    if (!zRObj.setDrawOptions(0, 0, 700, 600)) return;
+    zRObj.setAlpha(alpha);
+    if (timer) timer->render(zRObj);
+    if (chat) chat->render(zRObj);
+    if (liste) liste->render(zRObj);
+    zRObj.releaseAlpha();
+    zRObj.releaseDrawOptions();
 }
 
 // constant
 bool TeamAuswahl::istSichtbar() const
 {
-	return sichtbar;
+    return sichtbar;
 }
 
 int TeamAuswahl::getKarteId() const
 {
-	return karteId;
+    return karteId;
 }
 
 SpielerTeamStruktur* TeamAuswahl::getSTS() const
 {
-	return sts->getThis();
+    return sts->getThis();
 }
 
 // Event Aktionen
-void TeamAuswahlListeSpielerTeamAuswahlE(void* p, AuswahlBox* obj, int p1, int p2)
+void TeamAuswahlListeSpielerTeamAuswahlE(
+    void* p, AuswahlBox* obj, int p1, int p2)
 {
-	if (!p)
-		return;
-	((TeamAuswahlListeSpieler*)p)->spielerTeamAuswahlE(obj, p1, p2);
+    if (!p) return;
+    ((TeamAuswahlListeSpieler*)p)->spielerTeamAuswahlE(obj, p1, p2);
 }

+ 133 - 113
KSGClient/Start/Start.cpp

@@ -1,135 +1,155 @@
-#include "..\Global\Variablen.h"
-#include <main.h>
-#include <MausEreignis.h>
-#include <TastaturEreignis.h>
-#include <Maus.h>
-#include <Punkt.h>
-#include "..\Global\Render.h"
 #include <Bild.h>
+#include <Datei.h>
 #include <DateiSystem.h>
 #include <Globals.h>
-#include <Text.h>
-#include "..\Global\Initialisierung.h"
-#include <Datei.h>
+#include <GraphicsApi.h>
+#include <InitDatei.h>
 #include <iostream>
-#include <vector>
+#include <main.h>
+#include <Maus.h>
+#include <MausEreignis.h>
+#include <Punkt.h>
 #include <sstream>
-#include <InitDatei.h>
+#include <TastaturEreignis.h>
+#include <Text.h>
 #include <TexturList.h>
-#include <GraphicsApi.h>
+#include <vector>
+
+#include "..\Global\Initialisierung.h"
+#include "..\Global\Render.h"
+#include "..\Global\Variablen.h"
 
 void fensterVS(void* p, void* f)
 {
-	PostQuitMessage(0);
+    PostQuitMessage(0);
 }
 
 bool fensterME(void* p, void* f, MausEreignis me)
 {
-	return 1;
+    return 1;
 }
 
 bool fensterTE(void* p, void* f, TastaturEreignis te)
 {
-	return 1;
+    return 1;
 }
 
 int KSGStart Framework::Start(Startparam p)
 {
-	Network::Start(50);
-
-	if (!DateiExistiert("data/user_options.ini"))
-	{
-		userOptions = new InitDatei("data/default_options.ini");
-		userOptions->laden();
-		userOptions->setPfad("data/user_options.ini");
-		userOptions->speichern();
-	}
-	else
-	{
-		userOptions = new InitDatei("data/user_options.ini");
-		userOptions->laden();
-	}
-
-	InitDatei init("data/optionen.ini");
-	init.laden();
-	if (init.wertExistiert("Log"))
-		Framework::setLogEnabled(init.zWert("Log")->istGleich("1"));
-	Framework::logLine("Anwendung wird gestartet...");
-
-	WNDCLASS wc = F_Normal(p.hinst);
-	wc.lpszClassName = "Game Client";
-
-	Framework::logLine("Grafische Benutzeroberflaeche wird erstellt...");
-	Monitor m = getMonitor(0);
-	if (userOptions->wertExistiert("Monitor"))
-	{
-		Monitor tmp = getMonitor((int)*userOptions->zWert("Monitor"));
-		if (tmp.existiert)
-			m = tmp;
-	}
-	WFenster* fenster = new WFenster();
-	fenster->erstellen(WS_POPUP, wc);
-	fenster->setPosition(Punkt(m.x, m.y));
-	fenster->setSize(Punkt(m.breite, m.height));
-	fenster->setMausAktion(fensterME);
-	fenster->setTastaturAktion(fensterTE);
-	fenster->setVSchließAktion(fensterVS);
-	Bildschirm* bildschirm = 0;
-	if (userOptions->wertExistiert("GraphicAPI") && userOptions->zWert("GraphicAPI")->istGleich("DX9"))
-		bildschirm = new Bildschirm3D(dynamic_cast<WFenster*>(fenster->getThis()), DIRECTX9);
-	else if (userOptions->wertExistiert("GraphicAPI") && userOptions->zWert("GraphicAPI")->istGleich("DX11"))
-		bildschirm = new Bildschirm3D(dynamic_cast<WFenster*>(fenster->getThis()), DIRECTX11);
-	else if (userOptions->wertExistiert("GraphicAPI") && userOptions->zWert("GraphicAPI")->istGleich("DX12"))
-		bildschirm = new Bildschirm3D(dynamic_cast<WFenster*>(fenster->getThis()), DIRECTX12);
-	else
-		bildschirm = new Bildschirm3D(dynamic_cast<WFenster*>(fenster->getThis()));
-	if (userOptions->wertExistiert("ScreenWidth") && userOptions->wertExistiert("ScreenHeight"))
-		bildschirm->setBackBufferSize((int)*userOptions->zWert("ScreenWidth"), (int)*userOptions->zWert("ScreenHeight"));
-	fenster->setBildschirm(dynamic_cast<Bildschirm*>(bildschirm->getThis()));
-	fenster->setAnzeigeModus(1);
-	fenster->setFokus();
-	bildschirm->update();
-	bildschirm->render();
-
-	Framework::logLine("Schrift wird geladen...");
-	LTDSDatei* schriftDatei = new LTDSDatei();
-	schriftDatei->setPfad(new Text("data/schriften/normal.ltds"));
-	schriftDatei->leseDaten();
-	Schrift* schrift = schriftDatei->ladeSchrift();
-	schriftDatei = (LTDSDatei*)schriftDatei->release();
-
-	Framework::logLine("Globale Variablen werden initialisiert...");
-	initVariables(schrift, bildschirm);
-
-	Render* render = new Render();
-
-	Framework::logLine("Zeichen Thread wird gestartet...");
-	render->start();
-
-	Framework::logLine("Nachrichtenschleife wird ausgefuehrt...");
-	StartNachrichtenSchleife();
-
-	Framework::logLine("Zeichen Thread wird beendet...");
-	render->beenden();
-	render = (Render*)render->release();
-
-	bildschirm->removeMember(vorLogin->zFenster());
-	bildschirm->removeMember(nachLogin);
-
-	Framework::logLine("Speicher wird freigegeben...");
-	releaseVariables();
-	schrift = (Schrift*)schrift->release();
-
-	bildschirm = (Bildschirm*)bildschirm->release();
-	fenster->setBildschirm(0);
-	fenster->zerstören();
-	fenster = (WFenster*)fenster->release();
-
-	Network::Exit();
-
-	DateiPfadErstellen(new Text("data/tmp/keinabsturz"));
-
-	Framework::logLine("Programm wurde ordnungsgemaess beendet.");
-
-	return 0;
+    Network::Start(50);
+
+    if (!DateiExistiert("data/user_options.ini"))
+    {
+        userOptions = new InitDatei("data/default_options.ini");
+        userOptions->laden();
+        userOptions->setPfad("data/user_options.ini");
+        userOptions->speichern();
+    }
+    else
+    {
+        userOptions = new InitDatei("data/user_options.ini");
+        userOptions->laden();
+    }
+
+    InitDatei init("data/optionen.ini");
+    init.laden();
+    if (init.wertExistiert("Log") && init.zWert("Log")->istGleich("1"))
+    {
+        Logging::LoggingChannel* channel
+            = new Logging::FileLoggingChannel("data/log.txt");
+        channel->setFormat(Logging::LoggingFormatBuilder()
+                               .datetime("y-m-d h:i:s")
+                               .text(" [")
+                               .level()
+                               .text("]: ")
+                               .build());
+        Framework::Logging::zLoggingHandler()->addChannel(channel);
+    }
+    Framework::Logging::info() << "Anwendung wird gestartet...";
+
+    WNDCLASS wc = F_Normal(p.hinst);
+    wc.lpszClassName = "Game Client";
+
+    Framework::Logging::info()
+        << "Grafische Benutzeroberflaeche wird erstellt...";
+    Monitor m = getMonitor(0);
+    if (userOptions->wertExistiert("Monitor"))
+    {
+        Monitor tmp = getMonitor((int)*userOptions->zWert("Monitor"));
+        if (tmp.existiert) m = tmp;
+    }
+    WFenster* fenster = new WFenster();
+    fenster->erstellen(WS_POPUP, wc);
+    fenster->setPosition(Punkt(m.x, m.y));
+    fenster->setSize(m.breite, m.height);
+    fenster->setMausAktion(fensterME);
+    fenster->setTastaturAktion(fensterTE);
+    fenster->setVSchließAktion(fensterVS);
+    Bildschirm* bildschirm = 0;
+    if (userOptions->wertExistiert("GraphicAPI")
+        && userOptions->zWert("GraphicAPI")->istGleich("DX9"))
+        bildschirm = new Bildschirm3D(
+            dynamic_cast<WFenster*>(fenster->getThis()), DIRECTX9);
+    else if (userOptions->wertExistiert("GraphicAPI")
+             && userOptions->zWert("GraphicAPI")->istGleich("DX11"))
+        bildschirm = new Bildschirm3D(
+            dynamic_cast<WFenster*>(fenster->getThis()), DIRECTX11);
+    else if (userOptions->wertExistiert("GraphicAPI")
+             && userOptions->zWert("GraphicAPI")->istGleich("DX12"))
+        bildschirm = new Bildschirm3D(
+            dynamic_cast<WFenster*>(fenster->getThis()), DIRECTX12);
+    else
+        bildschirm
+            = new Bildschirm3D(dynamic_cast<WFenster*>(fenster->getThis()));
+    if (userOptions->wertExistiert("ScreenWidth")
+        && userOptions->wertExistiert("ScreenHeight"))
+        bildschirm->setBackBufferSize((int)*userOptions->zWert("ScreenWidth"),
+            (int)*userOptions->zWert("ScreenHeight"));
+    fenster->setBildschirm(dynamic_cast<Bildschirm*>(bildschirm->getThis()));
+    fenster->setAnzeigeModus(1);
+    fenster->setFokus();
+    bildschirm->update();
+    bildschirm->render();
+
+    Logging::info() << "Schrift wird geladen...";
+    LTDSDatei* schriftDatei = new LTDSDatei();
+    schriftDatei->setPfad(new Text("data/schriften/normal.ltds"));
+    schriftDatei->leseDaten();
+    Schrift* schrift = schriftDatei->ladeSchrift();
+    schriftDatei = (LTDSDatei*)schriftDatei->release();
+
+    Logging::info() << "Globale Variablen werden initialisiert...";
+    initVariables(schrift, bildschirm);
+
+    Render* render = new Render();
+
+    Logging::info() << "Zeichen Thread wird gestartet...";
+    render->start();
+
+    Logging::info() << "Nachrichtenschleife wird ausgefuehrt...";
+    StartNachrichtenSchleife();
+
+    Logging::info() << "Zeichen Thread wird beendet...";
+    render->beenden();
+    render = (Render*)render->release();
+
+    bildschirm->removeMember(vorLogin->zFenster());
+    bildschirm->removeMember(nachLogin);
+
+    Logging::info() << "Speicher wird freigegeben...";
+    releaseVariables();
+    schrift = (Schrift*)schrift->release();
+
+    bildschirm = (Bildschirm*)bildschirm->release();
+    fenster->setBildschirm(0);
+    fenster->zerstören();
+    fenster = (WFenster*)fenster->release();
+
+    Network::Exit();
+
+    DateiPfadErstellen(new Text("data/tmp/keinabsturz"));
+
+    Logging::info() << "Programm wurde ordnungsgemaess beendet.";
+
+    return 0;
 }

+ 496 - 470
KSGClient/VorLogin/Account verwalten/EMail.cpp

@@ -1,587 +1,613 @@
-#include "..\..\Global\Variablen.h"
-#include "..\..\Global\Initialisierung.h"
 #include "EMail.h"
-#include <Text.h>
-#include <Punkt.h>
+
 #include <InitDatei.h>
+#include <Punkt.h>
+#include <Text.h>
+
+#include "..\..\Global\Initialisierung.h"
+#include "..\..\Global\Variablen.h"
 
 // Inhalt der EMailÄndern Klasse aus EMail.h
 // Konstruktor
 EMailÄndern::EMailÄndern(Fenster* zVorLoginFenster)
-	: ReferenceCounter()
-{
-	Punkt bildschirmmitte = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-	eMailÄndern = initKnopf(10, 210, 130, 30, Knopf::Style::Sichtbar, "E-Mail ändern");
-	eMailÄndern->setMausEreignisParameter(this);
-	eMailÄndern->setMausEreignis(eMailÄndernEMailÄndernME);
-	initToolTip(eMailÄndern, "Account E-Mail Adresse ändern.");
-	zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(eMailÄndern->getThis()));
-	fenster = initFenster(bildschirmmitte.x - 125, bildschirmmitte.y - 100, 250, 200, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "E-Mail ändern");
-	name = initTextFeld(20, 20, 208, 20, TextFeld::Style::TextFeld, "Name");
-	name->setTastaturEreignisParameter(this);
-	name->setTastaturEreignis(eMailÄndernNameTE);
-	initToolTip(name, "Account Name.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(name->getThis()));
-	passwort = initTextFeld(20, 50, 208, 20, TextFeld::Style::TextFeld, "Passwort");
-	passwort->setTastaturEreignisParameter(this);
-	passwort->setTastaturEreignis(eMailÄndernPasswortTE);
-	initToolTip(passwort, "Account Passwort.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(passwort->getThis()));
-	geheimnis = initTextFeld(20, 80, 208, 20, TextFeld::Style::TextFeld, "Geheimis");
-	geheimnis->setTastaturEreignisParameter(this);
-	geheimnis->setTastaturEreignis(eMailÄndernGeheimnisTE);
-	initToolTip(geheimnis, "Account Geheimnis.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(geheimnis->getThis()));
-	nEMail = initTextFeld(20, 110, 208, 20, TextFeld::Style::TextFeld, "neue E-Mail Adresse");
-	nEMail->setTastaturEreignisParameter(this);
-	nEMail->setTastaturEreignis(eMailÄndernNEMailTE);
-	initToolTip(nEMail, "Neue E-Mail Adresse.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(nEMail->getThis()));
-	weiter = initKnopf(74, 140, 100, 20, Knopf::Style::Sichtbar, "weiter");
-	weiter->setMausEreignisParameter(this);
-	weiter->setMausEreignis(eMailÄndernWeiterME);
-	nachricht = initTextFeld(0, 5, 255, 150, TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig, "");
-	fenster->addMember(dynamic_cast<Zeichnung*>(nachricht->getThis()));
-	fenster->addMember(dynamic_cast<Zeichnung*>(weiter->getThis()));
-	zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
+    : ReferenceCounter()
+{
+    Punkt bildschirmmitte
+        = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+    eMailÄndern
+        = initKnopf(10, 210, 130, 30, Knopf::Style::Sichtbar, "E-Mail ändern");
+    eMailÄndern->setMausEreignisParameter(this);
+    eMailÄndern->setMausEreignis(eMailÄndernEMailÄndernME);
+    initToolTip(eMailÄndern, "Account E-Mail Adresse ändern.");
+    zVorLoginFenster->addMember(
+        dynamic_cast<Zeichnung*>(eMailÄndern->getThis()));
+    fenster = initFenster(bildschirmmitte.x - 125,
+        bildschirmmitte.y - 100,
+        250,
+        200,
+        Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel
+            | Fenster::Style::TitelBuffered,
+        "E-Mail ändern");
+    name = initTextFeld(20, 20, 208, 20, TextFeld::Style::TextFeld, "Name");
+    name->setTastaturEreignisParameter(this);
+    name->setTastaturEreignis(eMailÄndernNameTE);
+    initToolTip(name, "Account Name.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(name->getThis()));
+    passwort
+        = initTextFeld(20, 50, 208, 20, TextFeld::Style::TextFeld, "Passwort");
+    passwort->setTastaturEreignisParameter(this);
+    passwort->setTastaturEreignis(eMailÄndernPasswortTE);
+    initToolTip(passwort, "Account Passwort.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(passwort->getThis()));
+    geheimnis
+        = initTextFeld(20, 80, 208, 20, TextFeld::Style::TextFeld, "Geheimis");
+    geheimnis->setTastaturEreignisParameter(this);
+    geheimnis->setTastaturEreignis(eMailÄndernGeheimnisTE);
+    initToolTip(geheimnis, "Account Geheimnis.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(geheimnis->getThis()));
+    nEMail = initTextFeld(
+        20, 110, 208, 20, TextFeld::Style::TextFeld, "neue E-Mail Adresse");
+    nEMail->setTastaturEreignisParameter(this);
+    nEMail->setTastaturEreignis(eMailÄndernNEMailTE);
+    initToolTip(nEMail, "Neue E-Mail Adresse.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(nEMail->getThis()));
+    weiter = initKnopf(74, 140, 100, 20, Knopf::Style::Sichtbar, "weiter");
+    weiter->setMausEreignisParameter(this);
+    weiter->setMausEreignis(eMailÄndernWeiterME);
+    nachricht = initTextFeld(0,
+        5,
+        255,
+        150,
+        TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig,
+        "");
+    fenster->addMember(dynamic_cast<Zeichnung*>(nachricht->getThis()));
+    fenster->addMember(dynamic_cast<Zeichnung*>(weiter->getThis()));
+    zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
 }
 
 // Destruktor
 EMailÄndern::~EMailÄndern()
 {
-	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();
+    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 = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-	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(); )
-		{
-			const char* tmp = &nachricht->zText()->getText()[i];
-			while (*tmp != ' ' && i < nachricht->zText()->getLength())
-			{
-				tmp++;
-				i++;
-				if (i - 30 >= lastp)
-				{
-					if (set)
-					{
-						lastp = pos;
-						set = 0;
-						((char*)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
+        = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+    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();)
+        {
+            const char* tmp = &nachricht->zText()->getText()[i];
+            while (*tmp != ' ' && i < nachricht->zText()->getLength())
+            {
+                tmp++;
+                i++;
+                if (i - 30 >= lastp)
+                {
+                    if (set)
+                    {
+                        lastp = pos;
+                        set = 0;
+                        ((char*)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 = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-		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(0, name->zText()->getLength());
-	}
-	return 1;
+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
+            = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+        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(0, name->zText()->getLength());
+    }
+    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(0, passwort->zText()->getLength());
-	}
-	if (name->zText()->getLength() >= 25 && istSchreibbar(te.taste))
-		return 0;
-	return 1;
+bool EMailÄndern::nameTE(
+    void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld name
+{
+    if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Release
+        && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
+    {
+        name->removeStyle(TextFeld::Style::Fokus);
+        passwort->addStyle(TextFeld::Style::Fokus);
+        passwort->setAuswahl(0, passwort->zText()->getLength());
+    }
+    if (name->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
+        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(0, geheimnis->zText()->getLength());
-	}
-	if (passwort->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.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Press) passwort->setSchowChar('*');
+    if (te.id == TE_Release
+        && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
+    {
+        passwort->removeStyle(TextFeld::Style::Fokus);
+        geheimnis->addStyle(TextFeld::Style::Fokus);
+        geheimnis->setAuswahl(0, geheimnis->zText()->getLength());
+    }
+    if (passwort->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
+        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(0, nEMail->zText()->getLength());
-	}
-	if (geheimnis->zText()->getLength() >= 50 && 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.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Press) geheimnis->setSchowChar('*');
+    if (te.id == TE_Release
+        && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
+    {
+        geheimnis->removeStyle(TextFeld::Style::Fokus);
+        nEMail->addStyle(TextFeld::Style::Fokus);
+        nEMail->setAuswahl(0, nEMail->zText()->getLength());
+    }
+    if (geheimnis->zText()->getLength() >= 50 && istSchreibbar(te.taste[0]))
+        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;
+bool EMailÄndern::nEMailTE(
+    void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld nEMail
+{
+    if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Press) nEMail->setSchowChar('*');
+    if (te.id == TE_Release && te.virtualKey == T_Enter)
+    {
+        nEMail->removeStyle(TextFeld::Style::Fokus);
+        MausEreignis me;
+        me.id = ME_RLinks;
+        weiterME(0, me);
+    }
+    if (nEMail->zText()->getLength() >= 50 && istSchreibbar(te.taste[0]))
+        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 = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-			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(0, name->zText()->getLength());
-		}
-	}
-	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
+                = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+            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(0, name->zText()->getLength());
+        }
+    }
+    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.");
 }
 
-
 // Inhalt der EMailVergessen Klasse aus EMail.h
 // Konstruktor
 EMailVergessen::EMailVergessen(Fenster* zVorLoginFenster)
-	: ReferenceCounter()
-{
-	Punkt bildschirmmitte = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-	eMailVergessen = initKnopf(10, 410, 130, 30, Knopf::Style::Sichtbar, "E-Mail vergessen");
-	eMailVergessen->setMausEreignisParameter(this);
-	eMailVergessen->setMausEreignis(eMailVergessenEMailVergessenME);
-	initToolTip(eMailVergessen, "Account E-Mail Adresse anzeigen.");
-	zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(eMailVergessen->getThis()));
-	fenster = initFenster(bildschirmmitte.x - 125, bildschirmmitte.y - 85, 250, 170, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "E-Mail vergessen");
-	name = initTextFeld(20, 20, 208, 20, TextFeld::Style::TextFeld, "Name");
-	name->setTastaturEreignisParameter(this);
-	name->setTastaturEreignis(eMailVergessenNameTE);
-	initToolTip(name, "Account Name.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(name->getThis()));
-	passwort = initTextFeld(20, 50, 208, 20, TextFeld::Style::TextFeld, "Passwort");
-	passwort->setTastaturEreignisParameter(this);
-	passwort->setTastaturEreignis(eMailVergessenPasswortTE);
-	initToolTip(passwort, "Account Passwort.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(passwort->getThis()));
-	geheimnis = initTextFeld(20, 80, 208, 20, TextFeld::Style::TextFeld, "Geheimis");
-	geheimnis->setTastaturEreignisParameter(this);
-	geheimnis->setTastaturEreignis(eMailVergessenGeheimnisTE);
-	initToolTip(geheimnis, "Account Geheimnis.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(geheimnis->getThis()));
-	weiter = initKnopf(74, 110, 100, 20, Knopf::Style::Sichtbar, "weiter");
-	weiter->setMausEreignisParameter(this);
-	weiter->setMausEreignis(eMailVergessenWeiterME);
-	nachricht = initTextFeld(0, 5, 255, 150, TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig, "");
-	fenster->addMember(dynamic_cast<Zeichnung*>(nachricht->getThis()));
-	fenster->addMember(dynamic_cast<Zeichnung*>(weiter->getThis()));
-	zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
+    : ReferenceCounter()
+{
+    Punkt bildschirmmitte
+        = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+    eMailVergessen = initKnopf(
+        10, 410, 130, 30, Knopf::Style::Sichtbar, "E-Mail vergessen");
+    eMailVergessen->setMausEreignisParameter(this);
+    eMailVergessen->setMausEreignis(eMailVergessenEMailVergessenME);
+    initToolTip(eMailVergessen, "Account E-Mail Adresse anzeigen.");
+    zVorLoginFenster->addMember(
+        dynamic_cast<Zeichnung*>(eMailVergessen->getThis()));
+    fenster = initFenster(bildschirmmitte.x - 125,
+        bildschirmmitte.y - 85,
+        250,
+        170,
+        Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel
+            | Fenster::Style::TitelBuffered,
+        "E-Mail vergessen");
+    name = initTextFeld(20, 20, 208, 20, TextFeld::Style::TextFeld, "Name");
+    name->setTastaturEreignisParameter(this);
+    name->setTastaturEreignis(eMailVergessenNameTE);
+    initToolTip(name, "Account Name.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(name->getThis()));
+    passwort
+        = initTextFeld(20, 50, 208, 20, TextFeld::Style::TextFeld, "Passwort");
+    passwort->setTastaturEreignisParameter(this);
+    passwort->setTastaturEreignis(eMailVergessenPasswortTE);
+    initToolTip(passwort, "Account Passwort.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(passwort->getThis()));
+    geheimnis
+        = initTextFeld(20, 80, 208, 20, TextFeld::Style::TextFeld, "Geheimis");
+    geheimnis->setTastaturEreignisParameter(this);
+    geheimnis->setTastaturEreignis(eMailVergessenGeheimnisTE);
+    initToolTip(geheimnis, "Account Geheimnis.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(geheimnis->getThis()));
+    weiter = initKnopf(74, 110, 100, 20, Knopf::Style::Sichtbar, "weiter");
+    weiter->setMausEreignisParameter(this);
+    weiter->setMausEreignis(eMailVergessenWeiterME);
+    nachricht = initTextFeld(0,
+        5,
+        255,
+        150,
+        TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig,
+        "");
+    fenster->addMember(dynamic_cast<Zeichnung*>(nachricht->getThis()));
+    fenster->addMember(dynamic_cast<Zeichnung*>(weiter->getThis()));
+    zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
 }
 
 // Destruktor
 EMailVergessen::~EMailVergessen()
 {
-	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();
+    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 = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-	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(); )
-		{
-			const char* tmp = &nachricht->zText()->getText()[i];
-			while (*tmp != ' ' && i < nachricht->zText()->getLength())
-			{
-				tmp++;
-				i++;
-				if (i - 30 >= lastp)
-				{
-					if (set)
-					{
-						lastp = pos;
-						set = 0;
-						((char*)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
+        = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+    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();)
+        {
+            const char* tmp = &nachricht->zText()->getText()[i];
+            while (*tmp != ' ' && i < nachricht->zText()->getLength())
+            {
+                tmp++;
+                i++;
+                if (i - 30 >= lastp)
+                {
+                    if (set)
+                    {
+                        lastp = pos;
+                        set = 0;
+                        ((char*)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 = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-		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(0, name->zText()->getLength());
-	}
-	return 1;
+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
+            = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+        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(0, name->zText()->getLength());
+    }
+    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(0, passwort->zText()->getLength());
-	}
-	if (name->zText()->getLength() >= 25 && istSchreibbar(te.taste))
-		return 0;
-	return 1;
+bool EMailVergessen::nameTE(
+    void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld name
+{
+    if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Release
+        && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
+    {
+        name->removeStyle(TextFeld::Style::Fokus);
+        passwort->addStyle(TextFeld::Style::Fokus);
+        passwort->setAuswahl(0, passwort->zText()->getLength());
+    }
+    if (name->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
+        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(0, geheimnis->zText()->getLength());
-	}
-	if (passwort->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.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Press) passwort->setSchowChar('*');
+    if (te.id == TE_Release
+        && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
+    {
+        passwort->removeStyle(TextFeld::Style::Fokus);
+        geheimnis->addStyle(TextFeld::Style::Fokus);
+        geheimnis->setAuswahl(0, geheimnis->zText()->getLength());
+    }
+    if (passwort->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
+        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;
+bool EMailVergessen::geheimnisTE(
+    void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld geheimnis
+{
+    if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Press) geheimnis->setSchowChar('*');
+    if (te.id == TE_Release && te.virtualKey == T_Enter)
+    {
+        geheimnis->removeStyle(TextFeld::Style::Fokus);
+        MausEreignis me;
+        me.id = ME_RLinks;
+        weiterME(0, me);
+    }
+    if (geheimnis->zText()->getLength() >= 50 && istSchreibbar(te.taste[0]))
+        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 = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-			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(0, name->zText()->getLength());
-		}
-	}
-	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
+                = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+            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(0, name->zText()->getLength());
+        }
+    }
+    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 = (Text*)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 = (Text*)nachricht->release();
+    }
+    else if (lastError.getLength())
+        zeigeNachricht(lastError);
+    else
+        zeigeNachricht("Es ist ein Unbekannter Fehler aufgetreten.");
+    delete eMail;
 }
 
-
 // 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);
 }

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

@@ -1,542 +1,572 @@
-#include "..\..\Global\Variablen.h"
 #include "Geheimnis.h"
-#include "..\..\Global\Initialisierung.h"
+
+#include <InitDatei.h>
 #include <Punkt.h>
 #include <Text.h>
-#include <InitDatei.h>
+
+#include "..\..\Global\Initialisierung.h"
+#include "..\..\Global\Variablen.h"
 
 // Inhalt der GeheimnisÄndern Klasse aus Geheimnis.h
 // Konstruktor
 GeheimnisÄndern::GeheimnisÄndern(Fenster* zVorLoginFenster)
-	: ReferenceCounter()
+    : ReferenceCounter()
 {
-	Punkt bildschirmmitte = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-	geheimnisÄndern = initKnopf(10, 250, 130, 30, Knopf::Style::Sichtbar, "Geheimnis ändern");
-	geheimnisÄndern->setMausEreignisParameter(this);
-	geheimnisÄndern->setMausEreignis(geheimnisÄndernGeheimnisÄndernME);
-	initToolTip(geheimnisÄndern, "Account Geheimnis ändern.");
-	zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(geheimnisÄndern->getThis()));
-	fenster = initFenster(bildschirmmitte.x - 125, bildschirmmitte.y - 100, 250, 200, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "Geheimnis ändern");
-	name = initTextFeld(20, 20, 208, 20, TextFeld::Style::TextFeld, "Name");
-	name->setTastaturEreignisParameter(this);
-	name->setTastaturEreignis(geheimnisÄndernNameTE);
-	initToolTip(name, "Account Name.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(name->getThis()));
-	passwort = initTextFeld(20, 50, 208, 20, TextFeld::Style::TextFeld, "Passwort");
-	passwort->setTastaturEreignisParameter(this);
-	passwort->setTastaturEreignis(geheimnisÄndernPasswortTE);
-	initToolTip(passwort, "Account Passwort.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(passwort->getThis()));
-	geheimnis = initTextFeld(20, 80, 208, 20, TextFeld::Style::TextFeld, "Geheimis");
-	geheimnis->setTastaturEreignisParameter(this);
-	geheimnis->setTastaturEreignis(geheimnisÄndernGeheimnisTE);
-	initToolTip(geheimnis, "Account Geheimni.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(geheimnis->getThis()));
-	nGeheimnis = initTextFeld(20, 110, 208, 20, TextFeld::Style::TextFeld, "neues Geheimnis");
-	nGeheimnis->setTastaturEreignisParameter(this);
-	nGeheimnis->setTastaturEreignis(geheimnisÄndernNGeheimnisTE);
-	initToolTip(nGeheimnis, "Neues Account Geheimnis.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(nGeheimnis->getThis()));
-	weiter = initKnopf(74, 140, 100, 20, Knopf::Style::Sichtbar, "weiter");
-	weiter->setMausEreignisParameter(this);
-	weiter->setMausEreignis(geheimnisÄndernWeiterME);
-	nachricht = initTextFeld(0, 5, 255, 150, TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig, "");
-	fenster->addMember(dynamic_cast<Zeichnung*>(nachricht->getThis()));
-	fenster->addMember(dynamic_cast<Zeichnung*>(weiter->getThis()));
-	zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
+    Punkt bildschirmmitte
+        = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+    geheimnisÄndern = initKnopf(
+        10, 250, 130, 30, Knopf::Style::Sichtbar, "Geheimnis ändern");
+    geheimnisÄndern->setMausEreignisParameter(this);
+    geheimnisÄndern->setMausEreignis(geheimnisÄndernGeheimnisÄndernME);
+    initToolTip(geheimnisÄndern, "Account Geheimnis ändern.");
+    zVorLoginFenster->addMember(
+        dynamic_cast<Zeichnung*>(geheimnisÄndern->getThis()));
+    fenster = initFenster(bildschirmmitte.x - 125,
+        bildschirmmitte.y - 100,
+        250,
+        200,
+        Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel
+            | Fenster::Style::TitelBuffered,
+        "Geheimnis ändern");
+    name = initTextFeld(20, 20, 208, 20, TextFeld::Style::TextFeld, "Name");
+    name->setTastaturEreignisParameter(this);
+    name->setTastaturEreignis(geheimnisÄndernNameTE);
+    initToolTip(name, "Account Name.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(name->getThis()));
+    passwort
+        = initTextFeld(20, 50, 208, 20, TextFeld::Style::TextFeld, "Passwort");
+    passwort->setTastaturEreignisParameter(this);
+    passwort->setTastaturEreignis(geheimnisÄndernPasswortTE);
+    initToolTip(passwort, "Account Passwort.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(passwort->getThis()));
+    geheimnis
+        = initTextFeld(20, 80, 208, 20, TextFeld::Style::TextFeld, "Geheimis");
+    geheimnis->setTastaturEreignisParameter(this);
+    geheimnis->setTastaturEreignis(geheimnisÄndernGeheimnisTE);
+    initToolTip(geheimnis, "Account Geheimni.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(geheimnis->getThis()));
+    nGeheimnis = initTextFeld(
+        20, 110, 208, 20, TextFeld::Style::TextFeld, "neues Geheimnis");
+    nGeheimnis->setTastaturEreignisParameter(this);
+    nGeheimnis->setTastaturEreignis(geheimnisÄndernNGeheimnisTE);
+    initToolTip(nGeheimnis, "Neues Account Geheimnis.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(nGeheimnis->getThis()));
+    weiter = initKnopf(74, 140, 100, 20, Knopf::Style::Sichtbar, "weiter");
+    weiter->setMausEreignisParameter(this);
+    weiter->setMausEreignis(geheimnisÄndernWeiterME);
+    nachricht = initTextFeld(0,
+        5,
+        255,
+        150,
+        TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig,
+        "");
+    fenster->addMember(dynamic_cast<Zeichnung*>(nachricht->getThis()));
+    fenster->addMember(dynamic_cast<Zeichnung*>(weiter->getThis()));
+    zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
 }
 
 // Destruktor
 GeheimnisÄndern::~GeheimnisÄndern()
 {
-	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();
+    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 = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-	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(); )
-		{
-			const char* tmp = &nachricht->zText()->getText()[i];
-			while (*tmp != ' ' && i < nachricht->zText()->getLength())
-			{
-				tmp++;
-				i++;
-				if (i - 30 >= lastp)
-				{
-					if (set)
-					{
-						lastp = pos;
-						set = 0;
-						((char*)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
+        = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+    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();)
+        {
+            const char* tmp = &nachricht->zText()->getText()[i];
+            while (*tmp != ' ' && i < nachricht->zText()->getLength())
+            {
+                tmp++;
+                i++;
+                if (i - 30 >= lastp)
+                {
+                    if (set)
+                    {
+                        lastp = pos;
+                        set = 0;
+                        ((char*)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
+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 = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-		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(0, name->zText()->getLength());
-	}
-	return 1;
+    if (me.id == ME_RLinks)
+    {
+        vorLogin->setGeheimnisÄndern();
+
+        geheimnisÄndern->setRahmenBreite(3);
+        geheimnisÄndern->setAlphaFeldFarbe(0xFF000000);
+        geheimnisÄndern->setAlphaFeldStrength(20);
+        Punkt bildschirmmitte
+            = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+        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(0, name->zText()->getLength());
+    }
+    return 1;
 }
 
-bool GeheimnisÄndern::nameTE(void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld name
+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(0, passwort->zText()->getLength());
-	}
-	if (name->zText()->getLength() >= 25 && istSchreibbar(te.taste))
-		return 0;
-	return 1;
+    if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Release
+        && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
+    {
+        name->removeStyle(TextFeld::Style::Fokus);
+        passwort->addStyle(TextFeld::Style::Fokus);
+        passwort->setAuswahl(0, passwort->zText()->getLength());
+    }
+    if (name->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
+        return 0;
+    return 1;
 }
 
-bool GeheimnisÄndern::passwortTE(void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld passwort
+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(0, geheimnis->zText()->getLength());
-	}
-	if (passwort->zText()->getLength() >= 25 && istSchreibbar(te.taste))
-		return 0;
-	return 1;
+    if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Press) passwort->setSchowChar('*');
+    if (te.id == TE_Release
+        && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
+    {
+        passwort->removeStyle(TextFeld::Style::Fokus);
+        geheimnis->addStyle(TextFeld::Style::Fokus);
+        geheimnis->setAuswahl(0, geheimnis->zText()->getLength());
+    }
+    if (passwort->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
+        return 0;
+    return 1;
 }
 
-bool GeheimnisÄndern::geheimnisTE(void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld geheimnis
+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(0, nGeheimnis->zText()->getLength());
-	}
-	if (geheimnis->zText()->getLength() >= 50 && istSchreibbar(te.taste))
-		return 0;
-	return 1;
+    if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Press) geheimnis->setSchowChar('*');
+    if (te.id == TE_Release
+        && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
+    {
+        geheimnis->removeStyle(TextFeld::Style::Fokus);
+        nGeheimnis->addStyle(TextFeld::Style::Fokus);
+        nGeheimnis->setAuswahl(0, nGeheimnis->zText()->getLength());
+    }
+    if (geheimnis->zText()->getLength() >= 50 && istSchreibbar(te.taste[0]))
+        return 0;
+    return 1;
 }
 
-bool GeheimnisÄndern::nGeheimnisTE(void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld nGeheimnis
+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.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Release && te.virtualKey == T_Enter)
+    {
+        nGeheimnis->removeStyle(TextFeld::Style::Fokus);
+        MausEreignis me;
+        me.id = ME_RLinks;
+        weiterME(0, me);
+    }
+    if (nGeheimnis->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
+        return 0;
+    return 1;
 }
 
-bool GeheimnisÄndern::weiterME(void* obj, MausEreignis me) // MausEreignis im Knopf weiter
+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 = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-			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(0, name->zText()->getLength());
-		}
-	}
-	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
+                = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+            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(0, name->zText()->getLength());
+        }
+    }
+    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.");
 }
 
-
 // Inhalt der GeheimnisVergessen Klasse aus Geheimnis.h
 // Konstruktor
 GeheimnisVergessen::GeheimnisVergessen(Fenster* zVorLoginFenster)
-	: ReferenceCounter()
+    : ReferenceCounter()
 {
-	Punkt bildschirmmitte = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-	geheimnisVergessen = initKnopf(10, 370, 130, 30, Knopf::Style::Sichtbar, "Geheimnis vergessen");
-	geheimnisVergessen->setMausEreignisParameter(this);
-	geheimnisVergessen->setMausEreignis(geheimnisVergessenGeheimnisVergessenME);
-	initToolTip(geheimnisVergessen, "Account Geheimnis per E-Mail senden.");
-	zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(geheimnisVergessen->getThis()));
-	fenster = initFenster(bildschirmmitte.x - 125, bildschirmmitte.y - 70, 250, 140, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "Geheimnis vergessen");
-	name = initTextFeld(20, 20, 208, 20, TextFeld::Style::TextFeld, "Name");
-	name->setTastaturEreignisParameter(this);
-	name->setTastaturEreignis(geheimnisVergessenNameTE);
-	initToolTip(name, "Account Name.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(name->getThis()));
-	passwort = initTextFeld(20, 50, 208, 20, TextFeld::Style::TextFeld, "Passwort");
-	passwort->setTastaturEreignisParameter(this);
-	passwort->setTastaturEreignis(geheimnisVergessenPasswortTE);
-	initToolTip(passwort, "Account Passwort.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(passwort->getThis()));
-	weiter = initKnopf(74, 80, 100, 20, Knopf::Style::Sichtbar, "weiter");
-	weiter->setMausEreignisParameter(this);
-	weiter->setMausEreignis(geheimnisVergessenWeiterME);
-	nachricht = initTextFeld(0, 5, 255, 150, TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig, "");
-	fenster->addMember(dynamic_cast<Zeichnung*>(nachricht->getThis()));
-	fenster->addMember(dynamic_cast<Zeichnung*>(weiter->getThis()));
-	zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
+    Punkt bildschirmmitte
+        = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+    geheimnisVergessen = initKnopf(
+        10, 370, 130, 30, Knopf::Style::Sichtbar, "Geheimnis vergessen");
+    geheimnisVergessen->setMausEreignisParameter(this);
+    geheimnisVergessen->setMausEreignis(geheimnisVergessenGeheimnisVergessenME);
+    initToolTip(geheimnisVergessen, "Account Geheimnis per E-Mail senden.");
+    zVorLoginFenster->addMember(
+        dynamic_cast<Zeichnung*>(geheimnisVergessen->getThis()));
+    fenster = initFenster(bildschirmmitte.x - 125,
+        bildschirmmitte.y - 70,
+        250,
+        140,
+        Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel
+            | Fenster::Style::TitelBuffered,
+        "Geheimnis vergessen");
+    name = initTextFeld(20, 20, 208, 20, TextFeld::Style::TextFeld, "Name");
+    name->setTastaturEreignisParameter(this);
+    name->setTastaturEreignis(geheimnisVergessenNameTE);
+    initToolTip(name, "Account Name.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(name->getThis()));
+    passwort
+        = initTextFeld(20, 50, 208, 20, TextFeld::Style::TextFeld, "Passwort");
+    passwort->setTastaturEreignisParameter(this);
+    passwort->setTastaturEreignis(geheimnisVergessenPasswortTE);
+    initToolTip(passwort, "Account Passwort.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(passwort->getThis()));
+    weiter = initKnopf(74, 80, 100, 20, Knopf::Style::Sichtbar, "weiter");
+    weiter->setMausEreignisParameter(this);
+    weiter->setMausEreignis(geheimnisVergessenWeiterME);
+    nachricht = initTextFeld(0,
+        5,
+        255,
+        150,
+        TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig,
+        "");
+    fenster->addMember(dynamic_cast<Zeichnung*>(nachricht->getThis()));
+    fenster->addMember(dynamic_cast<Zeichnung*>(weiter->getThis()));
+    zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
 }
 
 // Destruktor
 GeheimnisVergessen::~GeheimnisVergessen()
 {
-	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();
+    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 = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-	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(); )
-		{
-			const char* tmp = &nachricht->zText()->getText()[i];
-			while (*tmp != ' ' && i < nachricht->zText()->getLength())
-			{
-				tmp++;
-				i++;
-				if (i - 30 >= lastp)
-				{
-					if (set)
-					{
-						lastp = pos;
-						set = 0;
-						((char*)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
+        = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+    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();)
+        {
+            const char* tmp = &nachricht->zText()->getText()[i];
+            while (*tmp != ' ' && i < nachricht->zText()->getLength())
+            {
+                tmp++;
+                i++;
+                if (i - 30 >= lastp)
+                {
+                    if (set)
+                    {
+                        lastp = pos;
+                        set = 0;
+                        ((char*)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
+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 = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-		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(0, name->zText()->getLength());
-	}
-	return 1;
+    if (me.id == ME_RLinks)
+    {
+        vorLogin->setGeheilnisVergessen();
+
+        geheimnisVergessen->setRahmenBreite(3);
+        geheimnisVergessen->setAlphaFeldFarbe(0xFF000000);
+        geheimnisVergessen->setAlphaFeldStrength(20);
+        Punkt bildschirmmitte
+            = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+        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(0, name->zText()->getLength());
+    }
+    return 1;
 }
 
-bool GeheimnisVergessen::nameTE(void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld name
+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(0, passwort->zText()->getLength());
-	}
-	if (name->zText()->getLength() >= 25 && istSchreibbar(te.taste))
-		return 0;
-	return 1;
+    if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Release
+        && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
+    {
+        name->removeStyle(TextFeld::Style::Fokus);
+        passwort->addStyle(TextFeld::Style::Fokus);
+        passwort->setAuswahl(0, passwort->zText()->getLength());
+    }
+    if (name->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
+        return 0;
+    return 1;
 }
 
-bool GeheimnisVergessen::passwortTE(void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld passwort
+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.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Press) passwort->setSchowChar('*');
+    if (te.id == TE_Release && te.virtualKey == T_Enter)
+    {
+        passwort->removeStyle(TextFeld::Style::Fokus);
+        MausEreignis me;
+        me.id = ME_RLinks;
+        weiterME(0, me);
+    }
+    if (passwort->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
+        return 0;
+    return 1;
 }
 
-bool GeheimnisVergessen::weiterME(void* obj, MausEreignis me) // MausEreignis im Knopf weiter
+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 = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-			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(0, name->zText()->getLength());
-		}
-	}
-	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
+                = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+            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(0, name->zText()->getLength());
+        }
+    }
+    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.");
 }
 
-
 // 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);
 }

+ 200 - 182
KSGClient/VorLogin/Account verwalten/Name.cpp

@@ -1,239 +1,257 @@
-#include "..\..\Global\Variablen.h"
 #include "Name.h"
-#include "..\..\Global\Initialisierung.h"
+
+#include <InitDatei.h>
 #include <Punkt.h>
 #include <Text.h>
-#include <InitDatei.h>
+
+#include "..\..\Global\Initialisierung.h"
+#include "..\..\Global\Variablen.h"
 
 // Inhalt der NameVergessen Klasse aus Name.h
 // Konstruktor
 NameVergessen::NameVergessen(Fenster* zVorLoginFenster)
-	: ReferenceCounter()
+    : ReferenceCounter()
 {
-	Punkt bildschirmmitte = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-	nameVergessen = initKnopf(10, 290, 130, 30, Knopf::Style::Sichtbar, "Name vergessen");
-	nameVergessen->setMausEreignisParameter(this);
-	nameVergessen->setMausEreignis(nameVergessenNameVergessenME);
-	initToolTip(nameVergessen, "Accoutnt Name per E-MAil senden.");
-	zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(nameVergessen->getThis()));
-	fenster = initFenster(bildschirmmitte.x - 125, bildschirmmitte.y - 70, 250, 140, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "Name vergessen");
-	passwort = initTextFeld(20, 20, 208, 20, TextFeld::Style::TextFeld, "Passwort");
-	passwort->setTastaturEreignisParameter(this);
-	passwort->setTastaturEreignis(nameVergessenPasswortTE);
-	initToolTip(passwort, "Accoutnt Passwort.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(passwort->getThis()));
-	geheimnis = initTextFeld(20, 50, 208, 20, TextFeld::Style::TextFeld, "Geheimis");
-	geheimnis->setTastaturEreignisParameter(this);
-	geheimnis->setTastaturEreignis(nameVergessenGeheimnisTE);
-	initToolTip(geheimnis, "Account Geheimnis.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(geheimnis->getThis()));
-	weiter = initKnopf(74, 80, 100, 20, Knopf::Style::Sichtbar, "weiter");
-	weiter->setMausEreignisParameter(this);
-	weiter->setMausEreignis(nameVergessenWeiterME);
-	nachricht = initTextFeld(0, 5, 255, 150, TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig, "");
-	fenster->addMember(dynamic_cast<Zeichnung*>(nachricht->getThis()));
-	fenster->addMember(dynamic_cast<Zeichnung*>(weiter->getThis()));
-	zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
+    Punkt bildschirmmitte
+        = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+    nameVergessen
+        = initKnopf(10, 290, 130, 30, Knopf::Style::Sichtbar, "Name vergessen");
+    nameVergessen->setMausEreignisParameter(this);
+    nameVergessen->setMausEreignis(nameVergessenNameVergessenME);
+    initToolTip(nameVergessen, "Accoutnt Name per E-MAil senden.");
+    zVorLoginFenster->addMember(
+        dynamic_cast<Zeichnung*>(nameVergessen->getThis()));
+    fenster = initFenster(bildschirmmitte.x - 125,
+        bildschirmmitte.y - 70,
+        250,
+        140,
+        Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel
+            | Fenster::Style::TitelBuffered,
+        "Name vergessen");
+    passwort
+        = initTextFeld(20, 20, 208, 20, TextFeld::Style::TextFeld, "Passwort");
+    passwort->setTastaturEreignisParameter(this);
+    passwort->setTastaturEreignis(nameVergessenPasswortTE);
+    initToolTip(passwort, "Accoutnt Passwort.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(passwort->getThis()));
+    geheimnis
+        = initTextFeld(20, 50, 208, 20, TextFeld::Style::TextFeld, "Geheimis");
+    geheimnis->setTastaturEreignisParameter(this);
+    geheimnis->setTastaturEreignis(nameVergessenGeheimnisTE);
+    initToolTip(geheimnis, "Account Geheimnis.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(geheimnis->getThis()));
+    weiter = initKnopf(74, 80, 100, 20, Knopf::Style::Sichtbar, "weiter");
+    weiter->setMausEreignisParameter(this);
+    weiter->setMausEreignis(nameVergessenWeiterME);
+    nachricht = initTextFeld(0,
+        5,
+        255,
+        150,
+        TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig,
+        "");
+    fenster->addMember(dynamic_cast<Zeichnung*>(nachricht->getThis()));
+    fenster->addMember(dynamic_cast<Zeichnung*>(weiter->getThis()));
+    zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
 }
 
 // Destruktor
 NameVergessen::~NameVergessen()
 {
-	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();
+    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 = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-	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(); )
-		{
-			const char* tmp = &nachricht->zText()->getText()[i];
-			while (*tmp != ' ' && i < nachricht->zText()->getLength())
-			{
-				tmp++;
-				i++;
-				if (i - 30 >= lastp)
-				{
-					if (set)
-					{
-						lastp = pos;
-						set = 0;
-						((char*)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
+        = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+    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();)
+        {
+            const char* tmp = &nachricht->zText()->getText()[i];
+            while (*tmp != ' ' && i < nachricht->zText()->getLength())
+            {
+                tmp++;
+                i++;
+                if (i - 30 >= lastp)
+                {
+                    if (set)
+                    {
+                        lastp = pos;
+                        set = 0;
+                        ((char*)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
+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 = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-		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(0, passwort->zText()->getLength());
-	}
-	return 1;
+    if (me.id == ME_RLinks)
+    {
+        vorLogin->setNameVergessen();
+
+        nameVergessen->setRahmenBreite(3);
+        nameVergessen->setAlphaFeldFarbe(0xFF000000);
+        nameVergessen->setAlphaFeldStrength(20);
+        Punkt bildschirmmitte
+            = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+        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(0, passwort->zText()->getLength());
+    }
+    return 1;
 }
 
-bool NameVergessen::passwortTE(void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld passwort
+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(0, geheimnis->zText()->getLength());
-	}
-	if (passwort->zText()->getLength() >= 25 && istSchreibbar(te.taste))
-		return 0;
-	return 1;
+    if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Press) passwort->setSchowChar('*');
+    if (te.id == TE_Release
+        && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
+    {
+        passwort->removeStyle(TextFeld::Style::Fokus);
+        geheimnis->addStyle(TextFeld::Style::Fokus);
+        geheimnis->setAuswahl(0, geheimnis->zText()->getLength());
+    }
+    if (passwort->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
+        return 0;
+    return 1;
 }
 
-bool NameVergessen::geheimnisTE(void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld geheimnis
+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.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Release && te.virtualKey == T_Enter)
+    {
+        passwort->removeStyle(TextFeld::Style::Fokus);
+        MausEreignis me;
+        me.id = ME_RLinks;
+        weiterME(0, me);
+    }
+    if (passwort->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
+        return 0;
+    return 1;
 }
 
-bool NameVergessen::weiterME(void* obj, MausEreignis me) // MausEreignis im Knopf weiter
+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 = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-			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(0, passwort->zText()->getLength());
-		}
-	}
-	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
+                = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+            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(0, passwort->zText()->getLength());
+        }
+    }
+    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.");
 }
 
-
 // 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);
 }

+ 492 - 461
KSGClient/VorLogin/Account verwalten/Passwort.cpp

@@ -1,579 +1,610 @@
-#include "..\..\Global\Variablen.h"
 #include "Passwort.h"
-#include "..\..\Global\Initialisierung.h"
+
+#include <InitDatei.h>
 #include <Punkt.h>
 #include <Text.h>
-#include <InitDatei.h>
+
+#include "..\..\Global\Initialisierung.h"
+#include "..\..\Global\Variablen.h"
 
 // Inhalt der PasswortÄndern Klasse aus Passwort.h
 // Konstruktor
 PasswortÄndern::PasswortÄndern(Fenster* zVorLoginFenster)
-	: ReferenceCounter()
-{
-	Punkt bildschirmmitte = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-	passwortÄndern = initKnopf(10, 170, 130, 30, Knopf::Style::Sichtbar, "Passwort ändern");
-	passwortÄndern->setMausEreignisParameter(this);
-	passwortÄndern->setMausEreignis(passwortÄndernPasswortÄndernME);
-	initToolTip(passwortÄndern, "Account Passwort ändern.");
-	zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(passwortÄndern->getThis()));
-	fenster = initFenster(bildschirmmitte.x - 125, bildschirmmitte.y - 115, 250, 230, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "Passwort ändern");
-	name = initTextFeld(20, 20, 208, 20, TextFeld::Style::TextFeld, "Name");
-	name->setTastaturEreignisParameter(this);
-	name->setTastaturEreignis(passwortÄndernNameTE);
-	initToolTip(name, "Account Name.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(name->getThis()));
-	passwort = initTextFeld(20, 50, 208, 20, TextFeld::Style::TextFeld, "Passwort");
-	passwort->setTastaturEreignisParameter(this);
-	passwort->setTastaturEreignis(passwortÄndernPasswortTE);
-	initToolTip(passwort, "Account Passwort.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(passwort->getThis()));
-	neuPasswort = initTextFeld(20, 80, 208, 20, TextFeld::Style::TextFeld, "neues Passwort");
-	neuPasswort->setTastaturEreignisParameter(this);
-	neuPasswort->setTastaturEreignis(passwortÄndernNeuPasswortTE);
-	initToolTip(neuPasswort, "Neues Account Passwort.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(neuPasswort->getThis()));
-	neuPasswort2 = initTextFeld(20, 110, 208, 20, TextFeld::Style::TextFeld, "Passwort wiederholen");
-	neuPasswort2->setTastaturEreignisParameter(this);
-	neuPasswort2->setTastaturEreignis(passwortÄndernNeuPasswort2TE);
-	initToolTip(neuPasswort2, "Neues Passwort Wiederhohlen.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(neuPasswort2->getThis()));
-	geheimnis = initTextFeld(20, 140, 208, 20, TextFeld::Style::TextFeld, "Geheimis");
-	geheimnis->setTastaturEreignisParameter(this);
-	geheimnis->setTastaturEreignis(passwortÄndernGeheimnisTE);
-	initToolTip(geheimnis, "Account Geheimnis.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(geheimnis->getThis()));
-	weiter = initKnopf(74, 170, 100, 20, Knopf::Style::Sichtbar, "weiter");
-	weiter->setMausEreignisParameter(this);
-	weiter->setMausEreignis(passwortÄndernWeiterME);
-	nachricht = initTextFeld(0, 5, 255, 150, TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig, "");
-	fenster->addMember(dynamic_cast<Zeichnung*>(nachricht->getThis()));
-	fenster->addMember(dynamic_cast<Zeichnung*>(weiter->getThis()));
-	zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
+    : ReferenceCounter()
+{
+    Punkt bildschirmmitte
+        = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+    passwortÄndern = initKnopf(
+        10, 170, 130, 30, Knopf::Style::Sichtbar, "Passwort ändern");
+    passwortÄndern->setMausEreignisParameter(this);
+    passwortÄndern->setMausEreignis(passwortÄndernPasswortÄndernME);
+    initToolTip(passwortÄndern, "Account Passwort ändern.");
+    zVorLoginFenster->addMember(
+        dynamic_cast<Zeichnung*>(passwortÄndern->getThis()));
+    fenster = initFenster(bildschirmmitte.x - 125,
+        bildschirmmitte.y - 115,
+        250,
+        230,
+        Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel
+            | Fenster::Style::TitelBuffered,
+        "Passwort ändern");
+    name = initTextFeld(20, 20, 208, 20, TextFeld::Style::TextFeld, "Name");
+    name->setTastaturEreignisParameter(this);
+    name->setTastaturEreignis(passwortÄndernNameTE);
+    initToolTip(name, "Account Name.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(name->getThis()));
+    passwort
+        = initTextFeld(20, 50, 208, 20, TextFeld::Style::TextFeld, "Passwort");
+    passwort->setTastaturEreignisParameter(this);
+    passwort->setTastaturEreignis(passwortÄndernPasswortTE);
+    initToolTip(passwort, "Account Passwort.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(passwort->getThis()));
+    neuPasswort = initTextFeld(
+        20, 80, 208, 20, TextFeld::Style::TextFeld, "neues Passwort");
+    neuPasswort->setTastaturEreignisParameter(this);
+    neuPasswort->setTastaturEreignis(passwortÄndernNeuPasswortTE);
+    initToolTip(neuPasswort, "Neues Account Passwort.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(neuPasswort->getThis()));
+    neuPasswort2 = initTextFeld(
+        20, 110, 208, 20, TextFeld::Style::TextFeld, "Passwort wiederholen");
+    neuPasswort2->setTastaturEreignisParameter(this);
+    neuPasswort2->setTastaturEreignis(passwortÄndernNeuPasswort2TE);
+    initToolTip(neuPasswort2, "Neues Passwort Wiederhohlen.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(neuPasswort2->getThis()));
+    geheimnis
+        = initTextFeld(20, 140, 208, 20, TextFeld::Style::TextFeld, "Geheimis");
+    geheimnis->setTastaturEreignisParameter(this);
+    geheimnis->setTastaturEreignis(passwortÄndernGeheimnisTE);
+    initToolTip(geheimnis, "Account Geheimnis.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(geheimnis->getThis()));
+    weiter = initKnopf(74, 170, 100, 20, Knopf::Style::Sichtbar, "weiter");
+    weiter->setMausEreignisParameter(this);
+    weiter->setMausEreignis(passwortÄndernWeiterME);
+    nachricht = initTextFeld(0,
+        5,
+        255,
+        150,
+        TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig,
+        "");
+    fenster->addMember(dynamic_cast<Zeichnung*>(nachricht->getThis()));
+    fenster->addMember(dynamic_cast<Zeichnung*>(weiter->getThis()));
+    zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
 }
 
 // Destruktor
 PasswortÄndern::~PasswortÄndern()
 {
-	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();
+    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 = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-	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(); )
-		{
-			const char* tmp = &nachricht->zText()->getText()[i];
-			while (*tmp != ' ' && i < nachricht->zText()->getLength())
-			{
-				tmp++;
-				i++;
-				if (i - 30 >= lastp)
-				{
-					if (set)
-					{
-						lastp = pos;
-						set = 0;
-						((char*)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
+        = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+    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();)
+        {
+            const char* tmp = &nachricht->zText()->getText()[i];
+            while (*tmp != ' ' && i < nachricht->zText()->getLength())
+            {
+                tmp++;
+                i++;
+                if (i - 30 >= lastp)
+                {
+                    if (set)
+                    {
+                        lastp = pos;
+                        set = 0;
+                        ((char*)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 = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-		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(0, name->zText()->getLength());
-	}
-	return 1;
+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
+            = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+        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(0, name->zText()->getLength());
+    }
+    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(0, passwort->zText()->getLength());
-	}
-	if (name->zText()->getLength() >= 25 && istSchreibbar(te.taste))
-		return 0;
-	return 1;
+bool PasswortÄndern::nameTE(
+    void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld name
+{
+    if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Release
+        && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
+    {
+        name->removeStyle(TextFeld::Style::Fokus);
+        passwort->addStyle(TextFeld::Style::Fokus);
+        passwort->setAuswahl(0, passwort->zText()->getLength());
+    }
+    if (name->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
+        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(0, neuPasswort->zText()->getLength());
-	}
-	if (passwort->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.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Press) passwort->setSchowChar('*');
+    if (te.id == TE_Release
+        && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
+    {
+        passwort->removeStyle(TextFeld::Style::Fokus);
+        neuPasswort->addStyle(TextFeld::Style::Fokus);
+        neuPasswort->setAuswahl(0, neuPasswort->zText()->getLength());
+    }
+    if (passwort->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
+        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(0, neuPasswort2->zText()->getLength());
-	}
-	if (neuPasswort->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.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Press) neuPasswort->setSchowChar('*');
+    if (te.id == TE_Release
+        && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
+    {
+        neuPasswort->removeStyle(TextFeld::Style::Fokus);
+        neuPasswort2->addStyle(TextFeld::Style::Fokus);
+        neuPasswort2->setAuswahl(0, neuPasswort2->zText()->getLength());
+    }
+    if (neuPasswort->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
+        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(0, geheimnis->zText()->getLength());
-	}
-	if (neuPasswort2->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.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Press) neuPasswort2->setSchowChar('*');
+    if (te.id == TE_Release
+        && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
+    {
+        neuPasswort2->removeStyle(TextFeld::Style::Fokus);
+        geheimnis->addStyle(TextFeld::Style::Fokus);
+        geheimnis->setAuswahl(0, geheimnis->zText()->getLength());
+    }
+    if (neuPasswort2->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
+        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;
+bool PasswortÄndern::geheimnisTE(
+    void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld geheimnis
+{
+    if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Press) geheimnis->setSchowChar('*');
+    if (te.id == TE_Release && te.virtualKey == T_Enter)
+    {
+        geheimnis->removeStyle(TextFeld::Style::Fokus);
+        MausEreignis me;
+        me.id = ME_RLinks;
+        weiterME(0, me);
+    }
+    if (geheimnis->zText()->getLength() >= 50 && istSchreibbar(te.taste[0]))
+        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 = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-			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(0, name->zText()->getLength());
-		}
-	}
-	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
+                = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+            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(0, name->zText()->getLength());
+        }
+    }
+    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.");
 }
 
-
 // Inhalt der PasswortVergessen Klasse aus Passwort.h
 // Konstruktor
 PasswortVergessen::PasswortVergessen(Fenster* zVorLoginFenster)
-	: ReferenceCounter()
-{
-	Punkt bildschirmmitte = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-	passwortVergessen = initKnopf(10, 330, 130, 30, Knopf::Style::Sichtbar, "Passwort vergessen");
-	passwortVergessen->setMausEreignisParameter(this);
-	passwortVergessen->setMausEreignis(passwortVergessenPasswortVergessenME);
-	initToolTip(passwortVergessen, "Account Passwort per E-Mail senden.");
-	zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(passwortVergessen->getThis()));
-	fenster = initFenster(bildschirmmitte.x - 125, bildschirmmitte.y - 70, 250, 140, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "Passwort vergessen");
-	name = initTextFeld(20, 20, 208, 20, TextFeld::Style::TextFeld, "Name");
-	name->setTastaturEreignisParameter(this);
-	name->setTastaturEreignis(passwortVergessenNameTE);
-	initToolTip(name, "Account Name.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(name->getThis()));
-	geheimnis = initTextFeld(20, 50, 208, 20, TextFeld::Style::TextFeld, "Geheimis");
-	geheimnis->setTastaturEreignisParameter(this);
-	geheimnis->setTastaturEreignis(passwortVergessenGeheimnisTE);
-	initToolTip(geheimnis, "Account geheimnis.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(geheimnis->getThis()));
-	weiter = initKnopf(74, 80, 100, 20, Knopf::Style::Sichtbar, "weiter");
-	weiter->setMausEreignisParameter(this);
-	weiter->setMausEreignis(passwortVergessenWeiterME);
-	nachricht = initTextFeld(0, 5, 255, 150, TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig, "");
-	fenster->addMember(dynamic_cast<Zeichnung*>(nachricht->getThis()));
-	fenster->addMember(dynamic_cast<Zeichnung*>(weiter->getThis()));
-	zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
+    : ReferenceCounter()
+{
+    Punkt bildschirmmitte
+        = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+    passwortVergessen = initKnopf(
+        10, 330, 130, 30, Knopf::Style::Sichtbar, "Passwort vergessen");
+    passwortVergessen->setMausEreignisParameter(this);
+    passwortVergessen->setMausEreignis(passwortVergessenPasswortVergessenME);
+    initToolTip(passwortVergessen, "Account Passwort per E-Mail senden.");
+    zVorLoginFenster->addMember(
+        dynamic_cast<Zeichnung*>(passwortVergessen->getThis()));
+    fenster = initFenster(bildschirmmitte.x - 125,
+        bildschirmmitte.y - 70,
+        250,
+        140,
+        Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel
+            | Fenster::Style::TitelBuffered,
+        "Passwort vergessen");
+    name = initTextFeld(20, 20, 208, 20, TextFeld::Style::TextFeld, "Name");
+    name->setTastaturEreignisParameter(this);
+    name->setTastaturEreignis(passwortVergessenNameTE);
+    initToolTip(name, "Account Name.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(name->getThis()));
+    geheimnis
+        = initTextFeld(20, 50, 208, 20, TextFeld::Style::TextFeld, "Geheimis");
+    geheimnis->setTastaturEreignisParameter(this);
+    geheimnis->setTastaturEreignis(passwortVergessenGeheimnisTE);
+    initToolTip(geheimnis, "Account geheimnis.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(geheimnis->getThis()));
+    weiter = initKnopf(74, 80, 100, 20, Knopf::Style::Sichtbar, "weiter");
+    weiter->setMausEreignisParameter(this);
+    weiter->setMausEreignis(passwortVergessenWeiterME);
+    nachricht = initTextFeld(0,
+        5,
+        255,
+        150,
+        TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig,
+        "");
+    fenster->addMember(dynamic_cast<Zeichnung*>(nachricht->getThis()));
+    fenster->addMember(dynamic_cast<Zeichnung*>(weiter->getThis()));
+    zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
 }
 
 // Destruktor
 PasswortVergessen::~PasswortVergessen()
 {
-	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();
+    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 = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-	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(); )
-		{
-			const char* tmp = &nachricht->zText()->getText()[i];
-			while (*tmp != ' ' && i < nachricht->zText()->getLength())
-			{
-				tmp++;
-				i++;
-				if (i - 30 >= lastp)
-				{
-					if (set)
-					{
-						lastp = pos;
-						set = 0;
-						((char*)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
+        = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+    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();)
+        {
+            const char* tmp = &nachricht->zText()->getText()[i];
+            while (*tmp != ' ' && i < nachricht->zText()->getLength())
+            {
+                tmp++;
+                i++;
+                if (i - 30 >= lastp)
+                {
+                    if (set)
+                    {
+                        lastp = pos;
+                        set = 0;
+                        ((char*)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 = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-		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(0, name->zText()->getLength());
-	}
-	return 1;
+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
+            = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+        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(0, name->zText()->getLength());
+    }
+    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(0, geheimnis->zText()->getLength());
-	}
-	if (name->zText()->getLength() >= 25 && istSchreibbar(te.taste))
-		return 0;
-	return 1;
+bool PasswortVergessen::nameTE(
+    void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld name
+{
+    if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Release
+        && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
+    {
+        name->removeStyle(TextFeld::Style::Fokus);
+        geheimnis->addStyle(TextFeld::Style::Fokus);
+        geheimnis->setAuswahl(0, geheimnis->zText()->getLength());
+    }
+    if (name->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
+        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;
+bool PasswortVergessen::geheimnisTE(
+    void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld geheimnis
+{
+    if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Press) geheimnis->setSchowChar('*');
+    if (te.id == TE_Release && te.virtualKey == T_Enter)
+    {
+        geheimnis->removeStyle(TextFeld::Style::Fokus);
+        MausEreignis me;
+        me.id = ME_RLinks;
+        weiterME(0, me);
+    }
+    if (geheimnis->zText()->getLength() >= 50 && istSchreibbar(te.taste[0]))
+        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 = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-			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(0, name->zText()->getLength());
-		}
-	}
-	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
+                = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+            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(0, name->zText()->getLength());
+        }
+    }
+    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.");
 }
 
 // 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);
 }

+ 445 - 383
KSGClient/VorLogin/Account verwalten/Registrierung.cpp

@@ -1,461 +1,523 @@
-#include "..\..\Global\Variablen.h"
-#include "..\..\Global\Initialisierung.h"
 #include "Registrierung.h"
+
+#include <InitDatei.h>
 #include <Punkt.h>
 #include <Text.h>
 #include <Zeit.h>
-#include <InitDatei.h>
+
+#include "..\..\Global\Initialisierung.h"
+#include "..\..\Global\Variablen.h"
 
 // Inhalt der Registrierung Klasse aus Registrierung.h
-// Konstruktor 
+// Konstruktor
 Registrierung::Registrierung(Fenster* zVorLoginFenster)
-	: ReferenceCounter()
+    : ReferenceCounter()
 {
-	Punkt bildschirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
-	registrierung = initKnopf(10, 90, 130, 30, Knopf::Style::Sichtbar, "Registrieren");
-	registrierung->setMausEreignisParameter(this);
-	registrierung->setMausEreignis(registrierungRegistrierungME);
-	initToolTip(registrierung, "Account erstellen.");
-	zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(registrierung->getThis()));
-	fenster = initFenster(bildschirmGröße.x / 2 - 175, bildschirmGröße.y / 2 - 131, 350, 262, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "Account erstellen");
-	name = initTextFeld(74, 20, 200, 20, TextFeld::Style::TextFeld, "Account Name");
-	name->setTastaturEreignisParameter(this);
-	name->setTastaturEreignis(registrierungNameTE);
-	initToolTip(name, "Account Name.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(name->getThis()));
-	passwort = initTextFeld(74, 50, 200, 20, TextFeld::Style::TextFeld, "Account Passwort");
-	passwort->setTastaturEreignisParameter(this);
-	passwort->setTastaturEreignis(registrierungPasswortTE);
-	initToolTip(passwort, "Account Passwort.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(passwort->getThis()));
-	passwort2 = initTextFeld(74, 80, 200, 20, TextFeld::Style::TextFeld, "Passwort wiederholen");
-	passwort2->setTastaturEreignisParameter(this);
-	passwort2->setTastaturEreignis(registrierungPasswort2TE);
-	initToolTip(passwort2, "Account Passwort wiederhohlen.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(passwort2->getThis()));
-	geheimnis = initTextFeld(10, 110, 328, 20, 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)");
-	fenster->addMember(dynamic_cast<Zeichnung*>(geheimnis->getThis()));
-	eMail = initTextFeld(74, 140, 200, 20, TextFeld::Style::TextFeld, "E-Mail Addresse");
-	eMail->setTastaturEreignisParameter(this);
-	eMail->setTastaturEreignis(registrierungEMailTE);
-	initToolTip(eMail, "E-Mail Addresse.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(eMail->getThis()));
-	geburtsdatum = initTextFeld(40, 170, 85, 20, TextFeld::Style::Text, "Geburtsdatum:");
-	fenster->addMember(dynamic_cast<Zeichnung*>(geburtsdatum->getThis()));
-	text = initTextFeld(0, 5, 250, 150, TextFeld::Style::Mehrzeilig | TextFeld::Style::HCenter, "");
-	fenster->addMember(dynamic_cast<Zeichnung*>(text->getThis()));
-	gbdTag = initAuswahlBox(130, 167, 50, 20, 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->addEintrag("Tag");
-	for (int i = 0; i < 31; i++)
-	{
-		Text* txt = new Text("");
-		txt->append(i + 1);
-		gbdTag->addEintrag(txt);
-	}
-	gbdMonat = initAuswahlBox(185, 167, 65, 20, 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->addEintrag("Monat");
-	for (int i = 0; i < 12; i++)
-	{
-		Text* txt = new Text("");
-		txt->append(i + 1);
-		gbdMonat->addEintrag(txt);
-	}
-	gbdJahr = initAuswahlBox(255, 176, 55, 20, 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->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, Knopf::Style::Sichtbar, "Weiter");
-	weiter->setMausEreignisParameter(this);
-	weiter->setMausEreignis(registrierungWeiterME);
-	fenster->addMember(dynamic_cast<Zeichnung*>(weiter->getThis()));
-	zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
-	fenster->addMember(dynamic_cast<Zeichnung*>(gbdTag->getThis()));
-	fenster->addMember(dynamic_cast<Zeichnung*>(gbdMonat->getThis()));
-	fenster->addMember(dynamic_cast<Zeichnung*>(gbdJahr->getThis()));
+    Punkt bildschirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
+    registrierung
+        = initKnopf(10, 90, 130, 30, Knopf::Style::Sichtbar, "Registrieren");
+    registrierung->setMausEreignisParameter(this);
+    registrierung->setMausEreignis(registrierungRegistrierungME);
+    initToolTip(registrierung, "Account erstellen.");
+    zVorLoginFenster->addMember(
+        dynamic_cast<Zeichnung*>(registrierung->getThis()));
+    fenster = initFenster(bildschirmGröße.x / 2 - 175,
+        bildschirmGröße.y / 2 - 131,
+        350,
+        262,
+        Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel
+            | Fenster::Style::TitelBuffered,
+        "Account erstellen");
+    name = initTextFeld(
+        74, 20, 200, 20, TextFeld::Style::TextFeld, "Account Name");
+    name->setTastaturEreignisParameter(this);
+    name->setTastaturEreignis(registrierungNameTE);
+    initToolTip(name, "Account Name.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(name->getThis()));
+    passwort = initTextFeld(
+        74, 50, 200, 20, TextFeld::Style::TextFeld, "Account Passwort");
+    passwort->setTastaturEreignisParameter(this);
+    passwort->setTastaturEreignis(registrierungPasswortTE);
+    initToolTip(passwort, "Account Passwort.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(passwort->getThis()));
+    passwort2 = initTextFeld(
+        74, 80, 200, 20, TextFeld::Style::TextFeld, "Passwort wiederholen");
+    passwort2->setTastaturEreignisParameter(this);
+    passwort2->setTastaturEreignis(registrierungPasswort2TE);
+    initToolTip(passwort2, "Account Passwort wiederhohlen.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(passwort2->getThis()));
+    geheimnis = initTextFeld(
+        10, 110, 328, 20, 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)");
+    fenster->addMember(dynamic_cast<Zeichnung*>(geheimnis->getThis()));
+    eMail = initTextFeld(
+        74, 140, 200, 20, TextFeld::Style::TextFeld, "E-Mail Addresse");
+    eMail->setTastaturEreignisParameter(this);
+    eMail->setTastaturEreignis(registrierungEMailTE);
+    initToolTip(eMail, "E-Mail Addresse.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(eMail->getThis()));
+    geburtsdatum
+        = initTextFeld(40, 170, 85, 20, TextFeld::Style::Text, "Geburtsdatum:");
+    fenster->addMember(dynamic_cast<Zeichnung*>(geburtsdatum->getThis()));
+    text = initTextFeld(0,
+        5,
+        250,
+        150,
+        TextFeld::Style::Mehrzeilig | TextFeld::Style::HCenter,
+        "");
+    fenster->addMember(dynamic_cast<Zeichnung*>(text->getThis()));
+    gbdTag = initAuswahlBox(130,
+        167,
+        50,
+        20,
+        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->addEintrag("Tag");
+    for (int i = 0; i < 31; i++)
+    {
+        Text* txt = new Text("");
+        txt->append(i + 1);
+        gbdTag->addEintrag(txt);
+    }
+    gbdMonat = initAuswahlBox(185,
+        167,
+        65,
+        20,
+        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->addEintrag("Monat");
+    for (int i = 0; i < 12; i++)
+    {
+        Text* txt = new Text("");
+        txt->append(i + 1);
+        gbdMonat->addEintrag(txt);
+    }
+    gbdJahr = initAuswahlBox(255,
+        176,
+        55,
+        20,
+        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->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, Knopf::Style::Sichtbar, "Weiter");
+    weiter->setMausEreignisParameter(this);
+    weiter->setMausEreignis(registrierungWeiterME);
+    fenster->addMember(dynamic_cast<Zeichnung*>(weiter->getThis()));
+    zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
+    fenster->addMember(dynamic_cast<Zeichnung*>(gbdTag->getThis()));
+    fenster->addMember(dynamic_cast<Zeichnung*>(gbdMonat->getThis()));
+    fenster->addMember(dynamic_cast<Zeichnung*>(gbdJahr->getThis()));
 }
 
-// Destruktor 
+// Destruktor
 Registrierung::~Registrierung()
 {
-	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();
+    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 = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-	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(); )
-		{
-			const char* tmp = &text->zText()->getText()[i];
-			while (*tmp != ' ' && i < text->zText()->getLength())
-			{
-				tmp++;
-				i++;
-				if (i - 30 >= lastp)
-				{
-					if (set)
-					{
-						lastp = pos;
-						set = 0;
-						((char*)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
+        = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+    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();)
+        {
+            const char* tmp = &text->zText()->getText()[i];
+            while (*tmp != ' ' && i < text->zText()->getLength())
+            {
+                tmp++;
+                i++;
+                if (i - 30 >= lastp)
+                {
+                    if (set)
+                    {
+                        lastp = pos;
+                        set = 0;
+                        ((char*)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
+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(0, passwort->zText()->getLength());
-	}
-	if (name->zText()->getLength() >= 25 && istSchreibbar(te.taste))
-		return 0;
-	return 1;
+    if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Release
+        && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
+    {
+        name->removeStyle(TextFeld::Style::Fokus);
+        passwort->addStyle(TextFeld::Style::Fokus);
+        passwort->setAuswahl(0, passwort->zText()->getLength());
+    }
+    if (name->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
+        return 0;
+    return 1;
 }
 
-bool Registrierung::passwortTE(void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld passwort
+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(0, passwort2->zText()->getLength());
-	}
-	if (passwort->zText()->getLength() >= 25 && istSchreibbar(te.taste))
-		return 0;
-	return 1;
+    if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Press) passwort->setSchowChar('*');
+    if (te.id == TE_Release
+        && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
+    {
+        passwort->removeStyle(TextFeld::Style::Fokus);
+        passwort2->addStyle(TextFeld::Style::Fokus);
+        passwort2->setAuswahl(0, passwort2->zText()->getLength());
+    }
+    if (passwort->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
+        return 0;
+    return 1;
 }
 
-bool Registrierung::passwort2TE(void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld passwort2
+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(0, geheimnis->zText()->getLength());
-	}
-	if (passwort2->zText()->getLength() >= 25 && istSchreibbar(te.taste))
-		return 0;
-	return 1;
+    if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Press) passwort2->setSchowChar('*');
+    if (te.id == TE_Release
+        && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
+    {
+        passwort2->removeStyle(TextFeld::Style::Fokus);
+        geheimnis->addStyle(TextFeld::Style::Fokus);
+        geheimnis->setAuswahl(0, geheimnis->zText()->getLength());
+    }
+    if (passwort2->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
+        return 0;
+    return 1;
 }
 
-bool Registrierung::geheimnisTE(void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld geheimnis
+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(0, eMail->zText()->getLength());
-	}
-	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;
+    if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Release
+        && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
+    {
+        geheimnis->removeStyle(TextFeld::Style::Fokus);
+        eMail->addStyle(TextFeld::Style::Fokus);
+        eMail->setAuswahl(0, eMail->zText()->getLength());
+    }
+    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[0]))
+        return 0;
+    return 1;
 }
 
-bool Registrierung::eMailTE(void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld eMail
+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.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Release
+        && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
+    {
+        eMail->removeStyle(TextFeld::Style::Fokus);
+        gbdTag->addStyle(AuswahlBox::Style::Fokus);
+    }
+    if (eMail->zText()->getLength() >= 50 && istSchreibbar(te.taste[0]))
+        return 0;
+    return 1;
 }
 
-bool Registrierung::weiterME(void* obj, MausEreignis me) // MausEreignis im Knopf weiter
+bool Registrierung::weiterME(
+    void* obj, MausEreignis me) // MausEreignis im Knopf weiter
 {
-	if (me.id == ME_RLinks)
-	{
-		Punkt bildchirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
-		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(0, name->zText()->getLength());
-		}
-		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(0, name->zText()->getLength());
-			}
-			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 = (Datum*)gebDat->release();
-			}
-			else
-				zeigeNachricht("Das wiederhohlte Passwort stimmt nicht mit dem Passwort überein.");
-		}
-	}
-	return 1;
+    if (me.id == ME_RLinks)
+    {
+        Punkt bildchirmGröße
+            = uiFactory.initParam.bildschirm->getBackBufferSize();
+        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(0, name->zText()->getLength());
+        }
+        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(0, name->zText()->getLength());
+            }
+            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 = (Datum*)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
+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 = uiFactory.initParam.bildschirm->getBackBufferSize();
-		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(0, name->zText()->getLength());
-	}
-	return 1;
+        Punkt bildchirmGröße
+            = uiFactory.initParam.bildschirm->getBackBufferSize();
+        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(0, name->zText()->getLength());
+    }
+    return 1;
 }
 
 void Registrierung::setWeiterReturn(bool ret) // setzt den Weiter Returnwert
 {
-	Punkt bildchirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
-	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 = uiFactory.initParam.bildschirm->getBackBufferSize();
+    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);
 }
 
 // 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);
 }

+ 287 - 260
KSGClient/VorLogin/Account verwalten/Unregistrierung.cpp

@@ -1,327 +1,354 @@
-#include "..\..\Global\Variablen.h"
-#include "..\..\Global\Initialisierung.h"
 #include "Unregistrierung.h"
-#include <Text.h>
-#include <Punkt.h>
+
 #include <InitDatei.h>
+#include <Punkt.h>
+#include <Text.h>
+
+#include "..\..\Global\Initialisierung.h"
+#include "..\..\Global\Variablen.h"
 
 // Inhalt der Unregistrierung Klasse aus Unregistrierung.h
-// Konstruktor 
+// Konstruktor
 Unregistrierung::Unregistrierung(Fenster* zVorLoginFenster)
-	: ReferenceCounter()
+    : ReferenceCounter()
 {
-	Punkt bildschirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
-	unregistrierung = initKnopf(10, 130, 130, 30, Knopf::Style::Sichtbar, "Account remove");
-	unregistrierung->setMausEreignisParameter(this);
-	unregistrierung->setMausEreignis(unregistrierungUnregistrierungME);
-	initToolTip(unregistrierung, "Account für alle Zeiten entfernen.");
-	zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(unregistrierung->getThis()));
-	fenster = initFenster(bildschirmGröße.x / 2 - 125, bildschirmGröße.y / 2 - 85, 250, 170, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "Account remove");
-	name = initTextFeld(24, 20, 200, 20, TextFeld::Style::TextFeld, "Account Name");
-	name->setTastaturEreignisParameter(this);
-	name->setTastaturEreignis(unregistrierungNameTE);
-	initToolTip(name, "Account Name eingeben.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(name->getThis()));
-	passwort = initTextFeld(24, 50, 200, 20, TextFeld::Style::TextFeld, "Account Passwort");
-	passwort->setTastaturEreignisParameter(this);
-	passwort->setTastaturEreignis(unregistrierungPasswortTE);
-	initToolTip(passwort, "Account Passwort eingeben.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(passwort->getThis()));
-	geheimnis = initTextFeld(24, 80, 200, 20, TextFeld::Style::TextFeld, "Account Geheimnis");
-	geheimnis->setTastaturEreignisParameter(this);
-	geheimnis->setTastaturEreignis(unregistrierungGeheimnisTE);
-	initToolTip(geheimnis, "Account Geheimnis eingeben.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(geheimnis->getThis()));
-	weiter = initKnopf(74, 110, 100, 20, Knopf::Style::Sichtbar, "Weiter");
-	weiter->setMausEreignisParameter(this);
-	weiter->setMausEreignis(unregistrierungWeiterME);
-	fenster->addMember(dynamic_cast<Zeichnung*>(weiter->getThis()));
-	text = initTextFeld(0, 5, 250, 170, TextFeld::Style::Mehrzeilig | TextFeld::Style::HCenter, "");
-	fenster->addMember(dynamic_cast<Zeichnung*>(text->getThis()));
-	zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
+    Punkt bildschirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
+    unregistrierung
+        = initKnopf(10, 130, 130, 30, Knopf::Style::Sichtbar, "Account remove");
+    unregistrierung->setMausEreignisParameter(this);
+    unregistrierung->setMausEreignis(unregistrierungUnregistrierungME);
+    initToolTip(unregistrierung, "Account für alle Zeiten entfernen.");
+    zVorLoginFenster->addMember(
+        dynamic_cast<Zeichnung*>(unregistrierung->getThis()));
+    fenster = initFenster(bildschirmGröße.x / 2 - 125,
+        bildschirmGröße.y / 2 - 85,
+        250,
+        170,
+        Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel
+            | Fenster::Style::TitelBuffered,
+        "Account remove");
+    name = initTextFeld(
+        24, 20, 200, 20, TextFeld::Style::TextFeld, "Account Name");
+    name->setTastaturEreignisParameter(this);
+    name->setTastaturEreignis(unregistrierungNameTE);
+    initToolTip(name, "Account Name eingeben.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(name->getThis()));
+    passwort = initTextFeld(
+        24, 50, 200, 20, TextFeld::Style::TextFeld, "Account Passwort");
+    passwort->setTastaturEreignisParameter(this);
+    passwort->setTastaturEreignis(unregistrierungPasswortTE);
+    initToolTip(passwort, "Account Passwort eingeben.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(passwort->getThis()));
+    geheimnis = initTextFeld(
+        24, 80, 200, 20, TextFeld::Style::TextFeld, "Account Geheimnis");
+    geheimnis->setTastaturEreignisParameter(this);
+    geheimnis->setTastaturEreignis(unregistrierungGeheimnisTE);
+    initToolTip(geheimnis, "Account Geheimnis eingeben.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(geheimnis->getThis()));
+    weiter = initKnopf(74, 110, 100, 20, Knopf::Style::Sichtbar, "Weiter");
+    weiter->setMausEreignisParameter(this);
+    weiter->setMausEreignis(unregistrierungWeiterME);
+    fenster->addMember(dynamic_cast<Zeichnung*>(weiter->getThis()));
+    text = initTextFeld(0,
+        5,
+        250,
+        170,
+        TextFeld::Style::Mehrzeilig | TextFeld::Style::HCenter,
+        "");
+    fenster->addMember(dynamic_cast<Zeichnung*>(text->getThis()));
+    zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
 }
 
-// Destruktor 
+// Destruktor
 Unregistrierung::~Unregistrierung()
 {
-	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();
+    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 = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
-	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(); )
-		{
-			const char* tmp = &text->zText()->getText()[i];
-			while (*tmp != ' ' && i < text->zText()->getLength())
-			{
-				tmp++;
-				i++;
-				if (i - 30 >= lastp)
-				{
-					if (set)
-					{
-						lastp = pos;
-						set = 0;
-						((char*)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
+        = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
+    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();)
+        {
+            const char* tmp = &text->zText()->getText()[i];
+            while (*tmp != ' ' && i < text->zText()->getLength())
+            {
+                tmp++;
+                i++;
+                if (i - 30 >= lastp)
+                {
+                    if (set)
+                    {
+                        lastp = pos;
+                        set = 0;
+                        ((char*)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
+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(0, passwort->zText()->getLength());
-	}
-	if (name->zText()->getLength() >= 25 && istSchreibbar(te.taste))
-		return 0;
-	return 1;
+    if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Release
+        && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
+    {
+        name->removeStyle(TextFeld::Style::Fokus);
+        passwort->addStyle(TextFeld::Style::Fokus);
+        passwort->setAuswahl(0, passwort->zText()->getLength());
+    }
+    if (name->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
+        return 0;
+    return 1;
 }
 
-bool Unregistrierung::passwortTE(void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld passwort
+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(0, geheimnis->zText()->getLength());
-	}
-	if (passwort->zText()->getLength() >= 25 && istSchreibbar(te.taste))
-		return 0;
-	return 1;
+    if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Press) passwort->setSchowChar('*');
+    if (te.id == TE_Release
+        && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
+    {
+        passwort->removeStyle(TextFeld::Style::Fokus);
+        geheimnis->addStyle(TextFeld::Style::Fokus);
+        geheimnis->setAuswahl(0, geheimnis->zText()->getLength());
+    }
+    if (passwort->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
+        return 0;
+    return 1;
 }
 
-bool Unregistrierung::geheimnisTE(void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld geheimnis
+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);
-	}
-	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;
+    if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Release && te.virtualKey == 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[0]))
+        return 0;
+    return 1;
 }
 
-bool Unregistrierung::weiterME(void* obj, MausEreignis me) // MausEreignis im Knopf weiter
+bool Unregistrierung::weiterME(
+    void* obj, MausEreignis me) // MausEreignis im Knopf weiter
 {
-	if (me.id == ME_RLinks)
-	{
-		Punkt bildchirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
-		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(0, name->zText()->getLength());
-		}
-		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(0, name->zText()->getLength());
-				}
-				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;
+    if (me.id == ME_RLinks)
+    {
+        Punkt bildchirmGröße
+            = uiFactory.initParam.bildschirm->getBackBufferSize();
+        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(0, name->zText()->getLength());
+        }
+        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(0, name->zText()->getLength());
+                }
+                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;
 }
 
-bool Unregistrierung::unregistrierungME(void* obj, MausEreignis me) // MausEreignis im Knopf unregistrierung
+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 = uiFactory.initParam.bildschirm->getBackBufferSize();
-		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(0, name->zText()->getLength());
-	}
-	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
+            = uiFactory.initParam.bildschirm->getBackBufferSize();
+        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(0, name->zText()->getLength());
+    }
+    return 1;
 }
 
 void Unregistrierung::setWeiterReturn(bool ret) // setzt den Weiter Returnwert
 {
-	Punkt bildchirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
-	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);
+    Punkt bildchirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
+    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);
 }
 
 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);
 }
 
-
 // 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);
 }

+ 323 - 312
KSGClient/VorLogin/Login/Login.cpp

@@ -1,391 +1,402 @@
-#include "..\..\Global\Variablen.h"
 #include "Login.h"
-#include "..\..\Global\Initialisierung.h"
+
+#include <InitDatei.h>
 #include <Punkt.h>
 #include <Text.h>
-#include <InitDatei.h>
+
+#include "..\..\Global\Initialisierung.h"
+#include "..\..\Global\Variablen.h"
 
 // Inhalt der Login Klasse aus Login.h
-// Konstruktor 
+// Konstruktor
 Login::Login(Fenster* vorLoginFenster)
-	: ReferenceCounter()
+    : ReferenceCounter()
 {
-	Punkt bildschirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
-	login = initKnopf(10, 50, 130, 30, Knopf::Style::Sichtbar, "Login");
-	login->setMausEreignisParameter(this);
-	login->setMausEreignis(loginLoginME);
-	initToolTip(login, "Einloggen.");
-	vorLoginFenster->addMember(dynamic_cast<Zeichnung*>(login->getThis()));
-	fenster = initFenster(bildschirmGröße.x / 2 - 125, bildschirmGröße.y / 2 - 75, 250, 150, Fenster::Style::Sichtbar | Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "Login");
-	name = initTextFeld(20, 20, 208, 20, TextFeld::Style::TextFeld, "Name");
-	name->setTastaturEreignisParameter(this);
-	name->setTastaturEreignis(loginNameTE);
-	initToolTip(name, "Account Name.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(name->getThis()));
-	passwort = initTextFeld(20, 55, 208, 20, TextFeld::Style::TextFeld, "Passwort");
-	passwort->setTastaturEreignisParameter(this);
-	passwort->setTastaturEreignis(loginPasswortTE);
-	initToolTip(passwort, "Account Passwort.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(passwort->getThis()));
-	weiter = initKnopf(75, 90, 100, 20, Knopf::Style::Sichtbar, "Login");
-	weiter->setMausEreignisParameter(this);
-	weiter->setMausEreignis(loginWeiterME);
-	fenster->addMember(dynamic_cast<Zeichnung*>(weiter->getThis()));
-	nachricht = initTextFeld(5, 5, 238, 90, TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig, "");
-	fenster->addMember(dynamic_cast<Zeichnung*>(nachricht->getThis()));
-	geheimnis = initTextFeld(20, 55, 208, 20, TextFeld::Style::TextFeld, "Geheimnis");
-	geheimnis->removeStyle(TextFeld::Style::Sichtbar);
-	geheimnis->setTastaturEreignisParameter(this);
-	geheimnis->setTastaturEreignis(loginGeheimnisTE);
-	initToolTip(geheimnis, "Account Geheimnis.");
-	fenster->addMember(dynamic_cast<Zeichnung*>(geheimnis->getThis()));
-	abbrechen = initKnopf(10, 98, 100, 20, 0, "Abbrechen");
-	abbrechen->setMausEreignisParameter(this);
-	abbrechen->setMausEreignis(loginAbbrechenME);
-	fenster->addMember(dynamic_cast<Zeichnung*>(abbrechen->getThis()));
-	ok = initKnopf(138, 98, 100, 20, 0, "Ok");
-	ok->setMausEreignisParameter(this);
-	ok->setMausEreignis(loginOkME);
-	fenster->addMember(dynamic_cast<Zeichnung*>(ok->getThis()));
-	vorLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
-	MausEreignis me;
-	me.id = ME_RLinks;
-	loginME(0, me);
+    Punkt bildschirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
+    login = initKnopf(10, 50, 130, 30, Knopf::Style::Sichtbar, "Login");
+    login->setMausEreignisParameter(this);
+    login->setMausEreignis(loginLoginME);
+    initToolTip(login, "Einloggen.");
+    vorLoginFenster->addMember(dynamic_cast<Zeichnung*>(login->getThis()));
+    fenster = initFenster(bildschirmGröße.x / 2 - 125,
+        bildschirmGröße.y / 2 - 75,
+        250,
+        150,
+        Fenster::Style::Sichtbar | Fenster::Style::Erlaubt
+            | Fenster::Style::Rahmen | Fenster::Style::Titel
+            | Fenster::Style::TitelBuffered,
+        "Login");
+    name = initTextFeld(20, 20, 208, 20, TextFeld::Style::TextFeld, "Name");
+    name->setTastaturEreignisParameter(this);
+    name->setTastaturEreignis(loginNameTE);
+    initToolTip(name, "Account Name.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(name->getThis()));
+    passwort
+        = initTextFeld(20, 55, 208, 20, TextFeld::Style::TextFeld, "Passwort");
+    passwort->setTastaturEreignisParameter(this);
+    passwort->setTastaturEreignis(loginPasswortTE);
+    initToolTip(passwort, "Account Passwort.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(passwort->getThis()));
+    weiter = initKnopf(75, 90, 100, 20, Knopf::Style::Sichtbar, "Login");
+    weiter->setMausEreignisParameter(this);
+    weiter->setMausEreignis(loginWeiterME);
+    fenster->addMember(dynamic_cast<Zeichnung*>(weiter->getThis()));
+    nachricht = initTextFeld(5,
+        5,
+        238,
+        90,
+        TextFeld::Style::HCenter | TextFeld::Style::Mehrzeilig,
+        "");
+    fenster->addMember(dynamic_cast<Zeichnung*>(nachricht->getThis()));
+    geheimnis
+        = initTextFeld(20, 55, 208, 20, TextFeld::Style::TextFeld, "Geheimnis");
+    geheimnis->removeStyle(TextFeld::Style::Sichtbar);
+    geheimnis->setTastaturEreignisParameter(this);
+    geheimnis->setTastaturEreignis(loginGeheimnisTE);
+    initToolTip(geheimnis, "Account Geheimnis.");
+    fenster->addMember(dynamic_cast<Zeichnung*>(geheimnis->getThis()));
+    abbrechen = initKnopf(10, 98, 100, 20, 0, "Abbrechen");
+    abbrechen->setMausEreignisParameter(this);
+    abbrechen->setMausEreignis(loginAbbrechenME);
+    fenster->addMember(dynamic_cast<Zeichnung*>(abbrechen->getThis()));
+    ok = initKnopf(138, 98, 100, 20, 0, "Ok");
+    ok->setMausEreignisParameter(this);
+    ok->setMausEreignis(loginOkME);
+    fenster->addMember(dynamic_cast<Zeichnung*>(ok->getThis()));
+    vorLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
+    MausEreignis me;
+    me.id = ME_RLinks;
+    loginME(0, me);
 }
 
-// Destruktor 
+// Destruktor
 Login::~Login()
 {
-	if (fenster)
-		fenster = (Fenster*)fenster->release();
-	if (name)
-		name = (TextFeld*)name->release();
-	if (passwort)
-		passwort = (TextFeld*)passwort->release();
-	if (nachricht)
-		nachricht = (TextFeld*)nachricht->release();
-	if (geheimnis)
-		geheimnis = (TextFeld*)geheimnis->release();
-	if (weiter)
-		weiter = (Knopf*)weiter->release();
-	if (abbrechen)
-		abbrechen = (Knopf*)abbrechen->release();
-	if (ok)
-		ok = (Knopf*)ok->release();
-	if (login)
-		login = (Knopf*)login->release();
+    if (fenster) fenster = (Fenster*)fenster->release();
+    if (name) name = (TextFeld*)name->release();
+    if (passwort) passwort = (TextFeld*)passwort->release();
+    if (nachricht) nachricht = (TextFeld*)nachricht->release();
+    if (geheimnis) geheimnis = (TextFeld*)geheimnis->release();
+    if (weiter) weiter = (Knopf*)weiter->release();
+    if (abbrechen) abbrechen = (Knopf*)abbrechen->release();
+    if (ok) ok = (Knopf*)ok->release();
+    if (login) login = (Knopf*)login->release();
 }
 
 // Knopfdruck
-void Login::druckFremdKnopf() // Ein anderer Bereich des Programms wurde ausgewählt
+void Login::druckFremdKnopf() // Ein anderer Bereich des Programms wurde
+                              // ausgewählt
 {
-	fenster->removeStyle(Fenster::Style::Sichtbar);
-	login->setRahmenBreite(2);
-	login->setAlphaFeldFarbe(0x5500FF00);
-	login->setAlphaFeldStrength(-5);
+    fenster->removeStyle(Fenster::Style::Sichtbar);
+    login->setRahmenBreite(2);
+    login->setAlphaFeldFarbe(0x5500FF00);
+    login->setAlphaFeldStrength(-5);
 }
 
-bool Login::nameTE(void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld name
+bool Login::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(0, passwort->zText()->getLength());
-	}
-	if (name->zText()->getLength() >= 25 && istSchreibbar(te.taste))
-		return 0;
-	return 1;
+    if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Release
+        && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
+    {
+        name->removeStyle(TextFeld::Style::Fokus);
+        passwort->addStyle(TextFeld::Style::Fokus);
+        passwort->setAuswahl(0, passwort->zText()->getLength());
+    }
+    if (name->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
+        return 0;
+    return 1;
 }
 
-bool Login::passwortTE(void* obj, TastaturEreignis te) // TastaturEreignis im Textfeld passwort
+bool Login::passwortTE(
+    void* obj, TastaturEreignis te) // TastaturEreignis im Textfeld passwort
 {
-	if (te.id == TE_Press)
-		passwort->setSchowChar('*');
-	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) passwort->setSchowChar('*');
+    if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Release && te.virtualKey == T_Enter)
+    {
+        passwort->removeStyle(TextFeld::Style::Fokus);
+        MausEreignis me;
+        me.id = ME_RLinks;
+        weiterME(0, me);
+    }
+    if (passwort->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
+        return 0;
+    return 1;
 }
 
-bool Login::geheimnisTE(void* obj, TastaturEreignis te) // TastaturEreignis im Textfeld geheimnis
+bool Login::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;
-		okME(0, me);
-	}
-	if (geheimnis->zText()->getLength() >= 50 && istSchreibbar(te.taste))
-		return 0;
-	return 1;
+    if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
+    if (te.id == TE_Press) geheimnis->setSchowChar('*');
+    if (te.id == TE_Release && te.virtualKey == T_Enter)
+    {
+        geheimnis->removeStyle(TextFeld::Style::Fokus);
+        MausEreignis me;
+        me.id = ME_RLinks;
+        okME(0, me);
+    }
+    if (geheimnis->zText()->getLength() >= 50 && istSchreibbar(te.taste[0]))
+        return 0;
+    return 1;
 }
 
 bool Login::weiterME(void* obj, MausEreignis me) // MausEreignis im Knopf weiter
 {
-	if (me.id == ME_RLinks)
-	{
-		if (name->zText()->getLength() == 0)
-		{
-			name->removeStyle(TextFeld::Style::Sichtbar);
-			passwort->removeStyle(TextFeld::Style::Sichtbar);
-			weiter->removeStyle(Knopf::Style::Sichtbar);
-			nachricht->setText("Bitte trage deinen Accountnamen\nein.");
-			nachricht->addStyle(TextFeld::Style::Sichtbar);
-			ok->addStyle(Knopf::Style::Sichtbar);
-			return 1;
-		}
-		if (passwort->zText()->getLength() == 0)
-		{
-			name->removeStyle(TextFeld::Style::Sichtbar);
-			passwort->removeStyle(TextFeld::Style::Sichtbar);
-			weiter->removeStyle(Knopf::Style::Sichtbar);
-			nachricht->setText("Bitte trage dein Passwort ein.");
-			nachricht->addStyle(TextFeld::Style::Sichtbar);
-			ok->addStyle(Knopf::Style::Sichtbar);
-			return 1;
-		}
-		new AktionsThread(1, name->zText()->getText(), passwort->zText()->getText(), 0, 0, 0);
-	}
-	return 1;
+    if (me.id == ME_RLinks)
+    {
+        if (name->zText()->getLength() == 0)
+        {
+            name->removeStyle(TextFeld::Style::Sichtbar);
+            passwort->removeStyle(TextFeld::Style::Sichtbar);
+            weiter->removeStyle(Knopf::Style::Sichtbar);
+            nachricht->setText("Bitte trage deinen Accountnamen\nein.");
+            nachricht->addStyle(TextFeld::Style::Sichtbar);
+            ok->addStyle(Knopf::Style::Sichtbar);
+            return 1;
+        }
+        if (passwort->zText()->getLength() == 0)
+        {
+            name->removeStyle(TextFeld::Style::Sichtbar);
+            passwort->removeStyle(TextFeld::Style::Sichtbar);
+            weiter->removeStyle(Knopf::Style::Sichtbar);
+            nachricht->setText("Bitte trage dein Passwort ein.");
+            nachricht->addStyle(TextFeld::Style::Sichtbar);
+            ok->addStyle(Knopf::Style::Sichtbar);
+            return 1;
+        }
+        new AktionsThread(
+            1, name->zText()->getText(), passwort->zText()->getText(), 0, 0, 0);
+    }
+    return 1;
 }
 
 bool Login::okME(void* obj, MausEreignis me) // MausEreignis im Knopf ok
 {
-	if (me.id == ME_RLinks)
-	{
-		if (geheimnis->hatStyle(TextFeld::Style::Sichtbar))
-			new AktionsThread(3, name->zText()->getText(), passwort->zText()->getText(), geheimnis->zText()->getText(), 0, 0);
-		else
-		{
-			nachricht->removeStyle(TextFeld::Style::Sichtbar);
-			geheimnis->removeStyle(TextFeld::Style::Sichtbar);
-			ok->removeStyle(Knopf::Style::Sichtbar);
-			abbrechen->removeStyle(Knopf::Style::Sichtbar);
-			name->addStyle(TextFeld::Style::Sichtbar);
-			passwort->addStyle(TextFeld::Style::Sichtbar);
-			weiter->addStyle(TextFeld::Style::Sichtbar);
-			name->addStyle(TextFeld::Style::Fokus);
-			name->setAuswahl(0, name->zText()->getLength());
-		}
-	}
-	return 1;
+    if (me.id == ME_RLinks)
+    {
+        if (geheimnis->hatStyle(TextFeld::Style::Sichtbar))
+            new AktionsThread(3,
+                name->zText()->getText(),
+                passwort->zText()->getText(),
+                geheimnis->zText()->getText(),
+                0,
+                0);
+        else
+        {
+            nachricht->removeStyle(TextFeld::Style::Sichtbar);
+            geheimnis->removeStyle(TextFeld::Style::Sichtbar);
+            ok->removeStyle(Knopf::Style::Sichtbar);
+            abbrechen->removeStyle(Knopf::Style::Sichtbar);
+            name->addStyle(TextFeld::Style::Sichtbar);
+            passwort->addStyle(TextFeld::Style::Sichtbar);
+            weiter->addStyle(TextFeld::Style::Sichtbar);
+            name->addStyle(TextFeld::Style::Fokus);
+            name->setAuswahl(0, name->zText()->getLength());
+        }
+    }
+    return 1;
 }
 
-bool Login::abbrechenME(void* obj, MausEreignis me) // MausEreignis im Knopf abbrechen
+bool Login::abbrechenME(
+    void* obj, MausEreignis me) // MausEreignis im Knopf abbrechen
 {
-	if (me.id == ME_RLinks)
-	{
-		nachricht->removeStyle(TextFeld::Style::Sichtbar);
-		geheimnis->removeStyle(TextFeld::Style::Sichtbar);
-		ok->removeStyle(Knopf::Style::Sichtbar);
-		abbrechen->removeStyle(Knopf::Style::Sichtbar);
-		name->addStyle(TextFeld::Style::Sichtbar);
-		passwort->addStyle(TextFeld::Style::Sichtbar);
-		weiter->addStyle(TextFeld::Style::Sichtbar);
-		name->addStyle(TextFeld::Style::Fokus);
-		name->setAuswahl(0, name->zText()->getLength());
-	}
-	return 1;
+    if (me.id == ME_RLinks)
+    {
+        nachricht->removeStyle(TextFeld::Style::Sichtbar);
+        geheimnis->removeStyle(TextFeld::Style::Sichtbar);
+        ok->removeStyle(Knopf::Style::Sichtbar);
+        abbrechen->removeStyle(Knopf::Style::Sichtbar);
+        name->addStyle(TextFeld::Style::Sichtbar);
+        passwort->addStyle(TextFeld::Style::Sichtbar);
+        weiter->addStyle(TextFeld::Style::Sichtbar);
+        name->addStyle(TextFeld::Style::Fokus);
+        name->setAuswahl(0, name->zText()->getLength());
+    }
+    return 1;
 }
 
 bool Login::loginME(void* obj, MausEreignis me) // MausEreignis im Knopf login
 {
-	if (me.id == ME_RLinks)
-	{
-		vorLogin->setLogin(1);
+    if (me.id == ME_RLinks)
+    {
+        vorLogin->setLogin(1);
 
-		nachricht->removeStyle(TextFeld::Style::Sichtbar);
-		geheimnis->removeStyle(TextFeld::Style::Sichtbar);
-		ok->removeStyle(Knopf::Style::Sichtbar);
-		abbrechen->removeStyle(Knopf::Style::Sichtbar);
-		fenster->addStyle(Fenster::Style::Sichtbar);
-		name->addStyle(TextFeld::Style::Sichtbar);
-		passwort->addStyle(TextFeld::Style::Sichtbar);
-		weiter->addStyle(TextFeld::Style::Sichtbar);
+        nachricht->removeStyle(TextFeld::Style::Sichtbar);
+        geheimnis->removeStyle(TextFeld::Style::Sichtbar);
+        ok->removeStyle(Knopf::Style::Sichtbar);
+        abbrechen->removeStyle(Knopf::Style::Sichtbar);
+        fenster->addStyle(Fenster::Style::Sichtbar);
+        name->addStyle(TextFeld::Style::Sichtbar);
+        passwort->addStyle(TextFeld::Style::Sichtbar);
+        weiter->addStyle(TextFeld::Style::Sichtbar);
 
-		login->setRahmenBreite(3);
-		login->setAlphaFeldFarbe(0xFF000000);
-		login->setAlphaFeldStrength(20);
-		name->addStyle(TextFeld::Style::Fokus);
-		name->setAuswahl(0, name->zText()->getLength());
-	}
-	return 1;
+        login->setRahmenBreite(3);
+        login->setAlphaFeldFarbe(0xFF000000);
+        login->setAlphaFeldStrength(20);
+        name->addStyle(TextFeld::Style::Fokus);
+        name->setAuswahl(0, name->zText()->getLength());
+    }
+    return 1;
 }
 
 void Login::setLoginReturn(int ret) // setzt den Returnwert vom login
 {
-	if (ret == 1)
-		new AktionsThread(2, 0, 0, 0, 0, 0);
-	else if (ret == 2)
-	{
-		name->removeStyle(TextFeld::Style::Sichtbar);
-		passwort->removeStyle(TextFeld::Style::Sichtbar);
-		weiter->removeStyle(Knopf::Style::Sichtbar);
-		nachricht->setText("Der Account ist bereits online.\nGebe dein Account Geheimnis ein,\num den anderen Benutzer zu kicken.");
-		nachricht->addStyle(TextFeld::Style::Sichtbar);
-		geheimnis->addStyle(TextFeld::Style::Sichtbar);
-		ok->addStyle(Knopf::Style::Sichtbar);
-		abbrechen->addStyle(Knopf::Style::Sichtbar);
-		geheimnis->addStyle(TextFeld::Style::Fokus);
-		geheimnis->setAuswahl(0, geheimnis->zText()->getLength());
-	}
-	else if (!ret && lastError.getLength())
-	{
-		name->removeStyle(TextFeld::Style::Sichtbar);
-		passwort->removeStyle(TextFeld::Style::Sichtbar);
-		weiter->removeStyle(Knopf::Style::Sichtbar);
-		nachricht->setText(lastError);
-		if (nachricht->zText()->getLength() > 30)
-		{
-			int pos = -1;
-			bool set = 0;
-			int lastp = 0;
-			for (int i = 20; i < nachricht->zText()->getLength(); )
-			{
-				const char* tmp = &nachricht->zText()->getText()[i];
-				while (*tmp != ' ' && i < nachricht->zText()->getLength())
-				{
-					tmp++;
-					i++;
-					if (i - 30 >= lastp)
-					{
-						if (set)
-						{
-							lastp = pos;
-							set = 0;
-							((char*)nachricht->zText()->getText())[pos] = '\n';
-						}
-						else
-							lastp += 5;
-					}
-				}
-				if (i < nachricht->zText()->getLength())
-				{
-					pos = i;
-					set = 1;
-					tmp++;
-					i++;
-				}
-			}
-		}
-		nachricht->addStyle(TextFeld::Style::Sichtbar);
-		ok->addStyle(Knopf::Style::Sichtbar);
-	}
+    if (ret == 1)
+        new AktionsThread(2, 0, 0, 0, 0, 0);
+    else if (ret == 2)
+    {
+        name->removeStyle(TextFeld::Style::Sichtbar);
+        passwort->removeStyle(TextFeld::Style::Sichtbar);
+        weiter->removeStyle(Knopf::Style::Sichtbar);
+        nachricht->setText(
+            "Der Account ist bereits online.\nGebe dein Account Geheimnis "
+            "ein,\num den anderen Benutzer zu kicken.");
+        nachricht->addStyle(TextFeld::Style::Sichtbar);
+        geheimnis->addStyle(TextFeld::Style::Sichtbar);
+        ok->addStyle(Knopf::Style::Sichtbar);
+        abbrechen->addStyle(Knopf::Style::Sichtbar);
+        geheimnis->addStyle(TextFeld::Style::Fokus);
+        geheimnis->setAuswahl(0, geheimnis->zText()->getLength());
+    }
+    else if (!ret && lastError.getLength())
+    {
+        name->removeStyle(TextFeld::Style::Sichtbar);
+        passwort->removeStyle(TextFeld::Style::Sichtbar);
+        weiter->removeStyle(Knopf::Style::Sichtbar);
+        nachricht->setText(lastError);
+        if (nachricht->zText()->getLength() > 30)
+        {
+            int pos = -1;
+            bool set = 0;
+            int lastp = 0;
+            for (int i = 20; i < nachricht->zText()->getLength();)
+            {
+                const char* tmp = &nachricht->zText()->getText()[i];
+                while (*tmp != ' ' && i < nachricht->zText()->getLength())
+                {
+                    tmp++;
+                    i++;
+                    if (i - 30 >= lastp)
+                    {
+                        if (set)
+                        {
+                            lastp = pos;
+                            set = 0;
+                            ((char*)nachricht->zText()->getText())[pos] = '\n';
+                        }
+                        else
+                            lastp += 5;
+                    }
+                }
+                if (i < nachricht->zText()->getLength())
+                {
+                    pos = i;
+                    set = 1;
+                    tmp++;
+                    i++;
+                }
+            }
+        }
+        nachricht->addStyle(TextFeld::Style::Sichtbar);
+        ok->addStyle(Knopf::Style::Sichtbar);
+    }
 }
 
 void Login::setKickReturn(int ret) // setzt den returnwert vom kick
 {
-	if (ret == 1)
-		new AktionsThread(2, 0, 0, 0, 0, 0);
-	else if (ret == 2)
-	{
-		nachricht->setText(lastError);
-		if (nachricht->zText()->getLength() > 30)
-		{
-			int pos = -1;
-			bool set = 0;
-			int lastp = 0;
-			for (int i = 20; i < nachricht->zText()->getLength(); )
-			{
-				const char* tmp = &nachricht->zText()->getText()[i];
-				while (*tmp != ' ' && i < nachricht->zText()->getLength())
-				{
-					tmp++;
-					i++;
-					if (i - 30 >= lastp)
-					{
-						if (set)
-						{
-							lastp = pos;
-							set = 0;
-							((char*)nachricht->zText()->getText())[pos] = '\n';
-						}
-						else
-							lastp += 5;
-					}
-				}
-				if (i < nachricht->zText()->getLength())
-				{
-					pos = i;
-					set = 1;
-					tmp++;
-					i++;
-				}
-			}
-		}
-		geheimnis->removeStyle(TextFeld::Style::Sichtbar);
-		abbrechen->removeStyle(Knopf::Style::Sichtbar);
-	}
-	else if (!ret)
-	{
-		nachricht->setText("Das Geheimnis stimmt nicht mit dem des Accounts\nüberein. Achte auf Groß - und Kleinschreibung.");
-		geheimnis->removeStyle(TextFeld::Style::Sichtbar);
-		abbrechen->removeStyle(Knopf::Style::Sichtbar);
-	}
+    if (ret == 1)
+        new AktionsThread(2, 0, 0, 0, 0, 0);
+    else if (ret == 2)
+    {
+        nachricht->setText(lastError);
+        if (nachricht->zText()->getLength() > 30)
+        {
+            int pos = -1;
+            bool set = 0;
+            int lastp = 0;
+            for (int i = 20; i < nachricht->zText()->getLength();)
+            {
+                const char* tmp = &nachricht->zText()->getText()[i];
+                while (*tmp != ' ' && i < nachricht->zText()->getLength())
+                {
+                    tmp++;
+                    i++;
+                    if (i - 30 >= lastp)
+                    {
+                        if (set)
+                        {
+                            lastp = pos;
+                            set = 0;
+                            ((char*)nachricht->zText()->getText())[pos] = '\n';
+                        }
+                        else
+                            lastp += 5;
+                    }
+                }
+                if (i < nachricht->zText()->getLength())
+                {
+                    pos = i;
+                    set = 1;
+                    tmp++;
+                    i++;
+                }
+            }
+        }
+        geheimnis->removeStyle(TextFeld::Style::Sichtbar);
+        abbrechen->removeStyle(Knopf::Style::Sichtbar);
+    }
+    else if (!ret)
+    {
+        nachricht->setText(
+            "Das Geheimnis stimmt nicht mit dem des Accounts\nüberein. Achte "
+            "auf Groß - und Kleinschreibung.");
+        geheimnis->removeStyle(TextFeld::Style::Sichtbar);
+        abbrechen->removeStyle(Knopf::Style::Sichtbar);
+    }
 }
 
 // Ereignisse
 bool loginNameTE(void* p, void* obj, TastaturEreignis te)
 {
-	if (!p)
-		return 0;
-	return ((Login*)p)->nameTE(obj, te);
+    if (!p) return 0;
+    return ((Login*)p)->nameTE(obj, te);
 }
 
 bool loginPasswortTE(void* p, void* obj, TastaturEreignis te)
 {
-	if (!p)
-		return 0;
-	return ((Login*)p)->passwortTE(obj, te);
+    if (!p) return 0;
+    return ((Login*)p)->passwortTE(obj, te);
 }
 
 bool loginGeheimnisTE(void* p, void* obj, TastaturEreignis te)
 {
-	if (!p)
-		return 0;
-	return ((Login*)p)->geheimnisTE(obj, te);
+    if (!p) return 0;
+    return ((Login*)p)->geheimnisTE(obj, te);
 }
 
 bool loginWeiterME(void* p, void* obj, MausEreignis me)
 {
-	if (!p)
-		return 0;
-	return ((Login*)p)->weiterME(obj, me);
+    if (!p) return 0;
+    return ((Login*)p)->weiterME(obj, me);
 }
 
 bool loginAbbrechenME(void* p, void* obj, MausEreignis me)
 {
-	if (!p)
-		return 0;
-	return ((Login*)p)->abbrechenME(obj, me);
+    if (!p) return 0;
+    return ((Login*)p)->abbrechenME(obj, me);
 }
 
 bool loginOkME(void* p, void* obj, MausEreignis me)
 {
-	if (!p)
-		return 0;
-	return ((Login*)p)->okME(obj, me);
+    if (!p) return 0;
+    return ((Login*)p)->okME(obj, me);
 }
 
 bool loginLoginME(void* p, void* obj, MausEreignis me)
 {
-	if (!p)
-		return 0;
-	return ((Login*)p)->loginME(obj, me);
+    if (!p) return 0;
+    return ((Login*)p)->loginME(obj, me);
 }

+ 38 - 32
KSGClient/VorLogin/Login/Login.h

@@ -1,13 +1,14 @@
 #ifndef Login_H
 #define Login_H
 
+#include <Bildschirm.h>
 #include <Fenster.h>
-#include <TextFeld.h>
 #include <Knopf.h>
 #include <MausEreignis.h>
-#include <TastaturEreignis.h>
 #include <Schrift.h>
-#include <Bildschirm.h>
+#include <TastaturEreignis.h>
+#include <TextFeld.h>
+
 #include "..\..\Aktionen\AktionsThread.h"
 
 using namespace Framework;
@@ -16,40 +17,45 @@ using namespace Network;
 class Login : public virtual ReferenceCounter
 {
 private:
-    Fenster *fenster;
-    TextFeld *name;
-    TextFeld *passwort;
-    Knopf *weiter;
-    Knopf *login;
-    TextFeld *nachricht;
-    TextFeld *geheimnis;
-    Knopf *ok;
-    Knopf *abbrechen;
+    Fenster* fenster;
+    TextFeld* name;
+    TextFeld* passwort;
+    Knopf* weiter;
+    Knopf* login;
+    TextFeld* nachricht;
+    TextFeld* geheimnis;
+    Knopf* ok;
+    Knopf* abbrechen;
 
 public:
-    // Konstruktor 
-    Login( Fenster *vorLoginFenster );
-    // Destruktor 
+    // Konstruktor
+    Login(Fenster* vorLoginFenster);
+    // Destruktor
     ~Login();
     // Knopfdruck
-    void Login::druckFremdKnopf(); // Ein anderer Bereich des Programms wurde ausgewählt
-    bool nameTE( void *obj, TastaturEreignis te ); // Tastaturereignis im Textfeld name
-    bool passwortTE( void *obj, TastaturEreignis te ); // TastaturEreignis im Textfeld passwort
-    bool geheimnisTE( void *obj, TastaturEreignis te ); // TastaturEreignis im Textfeld geheimnis
-    bool weiterME( void *obj, MausEreignis me ); // MausEreignis im Knopf weiter
-    bool okME( void *obj, MausEreignis me ); // MausEreignis im Knopf ok
-    bool abbrechenME( void *obj, MausEreignis me ); // MausEreignis im Knopf abbrechen
-    bool loginME( void *obj, MausEreignis me ); // MausEreignis im Knopf login
-    void setLoginReturn( int ret ); // setzt den Returnwert vom login
-    void setKickReturn( int ret ); // setzt den returnwert vom kick
+    // Ein anderer Bereich des Programms wurde ausgewählt
+    void druckFremdKnopf();
+    // Tastaturereignis im Textfeld name
+    bool nameTE(void* obj, TastaturEreignis te);
+    bool passwortTE(void* obj,
+        TastaturEreignis te); // TastaturEreignis im Textfeld passwort
+    bool geheimnisTE(void* obj,
+        TastaturEreignis te); // TastaturEreignis im Textfeld geheimnis
+    bool weiterME(void* obj, MausEreignis me); // MausEreignis im Knopf weiter
+    bool okME(void* obj, MausEreignis me);     // MausEreignis im Knopf ok
+    bool abbrechenME(
+        void* obj, MausEreignis me);          // MausEreignis im Knopf abbrechen
+    bool loginME(void* obj, MausEreignis me); // MausEreignis im Knopf login
+    void setLoginReturn(int ret);             // setzt den Returnwert vom login
+    void setKickReturn(int ret);              // setzt den returnwert vom kick
 };
 
-bool loginNameTE( void *p, void *obj, TastaturEreignis te );
-bool loginPasswortTE( void *p, void *obj, TastaturEreignis te );
-bool loginGeheimnisTE( void *p, void *obj, TastaturEreignis te );
-bool loginWeiterME( void *p, void *obj, MausEreignis me );
-bool loginOkME( void *p, void *obj, MausEreignis me );
-bool loginAbbrechenME( void *p, void *obj, MausEreignis me );
-bool loginLoginME( void *p, void *obj, MausEreignis me );
+bool loginNameTE(void* p, void* obj, TastaturEreignis te);
+bool loginPasswortTE(void* p, void* obj, TastaturEreignis te);
+bool loginGeheimnisTE(void* p, void* obj, TastaturEreignis te);
+bool loginWeiterME(void* p, void* obj, MausEreignis me);
+bool loginOkME(void* p, void* obj, MausEreignis me);
+bool loginAbbrechenME(void* p, void* obj, MausEreignis me);
+bool loginLoginME(void* p, void* obj, MausEreignis me);
 
 #endif