ソースを参照

An neues Framework angepasst

Kolja Strohm 5 年 前
コミット
64b0708c08

+ 5 - 4
Asteroids/Asteroids.vcxproj

@@ -22,31 +22,32 @@
     <ProjectGuid>{E2BFB1FB-F888-490A-8159-D0F01D9C734A}</ProjectGuid>
     <Keyword>Win32Proj</Keyword>
     <RootNamespace>Asteroids</RootNamespace>
+    <WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v141</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
     <CharacterSet>Unicode</CharacterSet>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v141</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
     <CharacterSet>MultiByte</CharacterSet>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>v141</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <CharacterSet>MultiByte</CharacterSet>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>v141</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <CharacterSet>MultiByte</CharacterSet>
   </PropertyGroup>

+ 12 - 12
Asteroids/Editor/Editor.cpp

@@ -17,7 +17,7 @@ AsteroidsEditor::AsteroidsEditor()
     i = 0;
     alpha = 0;
     status = START;
-    dialogs = new Array< Dialog* >();
+    dialogs = new Array< Dialog * >();
     sts = 0;
     rend = 1;
     daten = 0;
@@ -45,17 +45,17 @@ AsteroidsEditor::~AsteroidsEditor()
 void AsteroidsEditor::ladeKarte()
 {
     if( sts )
-        sts = (SpielerTeamStruktur*)sts->release();
+        sts = (SpielerTeamStruktur *)sts->release();
     sts = new SpielerTeamStruktur();
     klient->getSpielerTeamStruktur( sts );
     if( daten )
         daten->release();
-    daten = new KarteDaten( klient->getThis() );
-    i->setDaten( daten->getThis() );
+    daten = new KarteDaten( (EditorKlient *)klient->getThis() );
+    i->setDaten( (KarteDaten *)daten->getThis() );
 }
 
 // nicht constant
-void AsteroidsEditor::addDialog( Dialog *d )
+void AsteroidsEditor::addDialog( Dialog * d )
 {
     c.lock();
     dialogs->add( d );
@@ -63,7 +63,7 @@ void AsteroidsEditor::addDialog( Dialog *d )
 }
 
 // nicht constant
-void AsteroidsEditor::setSchrift( Schrift *schrift )
+void AsteroidsEditor::setSchrift( Schrift * schrift )
 {
     if( this->schrift )
         this->schrift->release();
@@ -72,14 +72,14 @@ void AsteroidsEditor::setSchrift( Schrift *schrift )
         i = new Interface( schrift, windowSize );
 }
 
-void AsteroidsEditor::setKlient( KSGClient::EditorServerClient *ekv )
+void AsteroidsEditor::setKlient( KSGClient::EditorServerClient * ekv )
 {
     if( klient )
         klient->release();
     klient = new EditorKlient( ekv );
 }
 
-void AsteroidsEditor::setLadeAnimation( Animation2D *la )
+void AsteroidsEditor::setLadeAnimation( Animation2D * la )
 {
     if( laden )
         laden->release();
@@ -138,7 +138,7 @@ void AsteroidsEditor::setSichtbar()
     rend = 1;
 }
 
-void AsteroidsEditor::doMausEreignis( MausEreignis &me )
+void AsteroidsEditor::doMausEreignis( MausEreignis & me )
 {
     c.lock();
     for( auto i = dialogs->getIterator(); i && i._; i++ )
@@ -171,7 +171,7 @@ void AsteroidsEditor::doMausEreignis( MausEreignis &me )
     }
 }
 
-void AsteroidsEditor::doTastaturEreignis( TastaturEreignis &te )
+void AsteroidsEditor::doTastaturEreignis( TastaturEreignis & te )
 {
     c.lock();
     for( auto i = dialogs->getIterator(); i && i._; i++ )
@@ -204,7 +204,7 @@ bool AsteroidsEditor::tick( double z )
     }
     else if( alpha != 255 )
     {
-        if( laden && laden->istSichtbar() )
+        if( laden &&laden->istSichtbar() )
             laden->setSichtbar( 0 );
         if( alpha + 100 * z > 255 )
             alpha = 255;
@@ -224,7 +224,7 @@ bool AsteroidsEditor::tick( double z )
     return tmp;
 }
 
-void AsteroidsEditor::render( Bild &zRObj )
+void AsteroidsEditor::render( Bild & zRObj )
 {
     if( windowSize == Punkt() )
     {

+ 6 - 6
Asteroids/Editor/Interface/Interface.cpp

@@ -29,18 +29,18 @@ Interface::~Interface()
     right->release();
 }
 
-void Interface::setDaten( KarteDaten *daten )
+void Interface::setDaten( KarteDaten * daten )
 {
     if( this->daten )
         this->daten->release();
     this->daten = daten;
-    right->addTool( new SpielerTool( schrift, daten->getThis() ), "Spieler" );
-    right->addTool( new TeamTool( schrift, daten->getThis() ), "Teams" );
+    right->addTool( new SpielerTool( schrift, (KarteDaten *)daten->getThis() ), "Spieler" );
+    right->addTool( new TeamTool( schrift, (KarteDaten *)daten->getThis() ), "Teams" );
 }
 
 // Verarbeitet eine Mausnachricht
 //  me: Die Nachricht die verarbeitet werden soll
-void Interface::doMausEreignis( MausEreignis &me )
+void Interface::doMausEreignis( MausEreignis & me )
 {
     bool vera = me.verarbeitet;
     beenden->doMausEreignis( me );
@@ -53,7 +53,7 @@ void Interface::doMausEreignis( MausEreignis &me )
 
 // Verarbeitet eine Tastaturnachricht
 //  te: Die Nachricht die verarbeitet werden soll
-void Interface::doTastaturEreignis( TastaturEreignis &te )
+void Interface::doTastaturEreignis( TastaturEreignis & te )
 {
     right->doTastaturEreignis( te );
 }
@@ -67,7 +67,7 @@ bool Interface::tick( double time )
 
 // Zeichnet das Interface nach uRObj
 //  zRObj: Das Bild in das gezeichnet werden soll
-void Interface::render( Bild &zRObj )
+void Interface::render( Bild & zRObj )
 {
     beenden->render( zRObj );
     right->render( zRObj );

+ 0 - 14
Asteroids/Editor/Karte/EditorKarte.cpp

@@ -10,7 +10,6 @@ KarteDaten::KarteDaten( EditorKlient *client )
     client->loadTeams( teams );
     client->loadObjekte( objekte );
     exit = 0;
-    ref = 1;
     start();
 }
 
@@ -204,17 +203,4 @@ char *KarteDaten::getError() const
 bool KarteDaten::hasAktions() const
 {
     return aktionen.getEintragAnzahl() > 0;
-}
-
-KarteDaten *KarteDaten::getThis()
-{
-    ref++;
-    return this;
-}
-
-KarteDaten *KarteDaten::release()
-{
-    if( !--ref )
-        delete this;
-    return 0;
 }

+ 1 - 4
Asteroids/Editor/Karte/EditorKarte.h

@@ -65,7 +65,7 @@ namespace Editor
         char team;
     };
 
-    class KarteDaten : private Thread
+    class KarteDaten : public Thread
     {
     private:
         EditorKlient * client;
@@ -77,7 +77,6 @@ namespace Editor
         Array< std::function< void() > > aktionen;
         Critical cs;
         bool exit;
-        int ref;
 
     public:
         KarteDaten( EditorKlient *client );
@@ -99,7 +98,5 @@ namespace Editor
         bool hasError() const;
         char *getError() const;
         bool hasAktions() const;
-        KarteDaten *getThis();
-        KarteDaten *release();
     };
 }

+ 1 - 4
Asteroids/Initialisierung/Initialisierung.cpp

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

+ 2 - 4
Asteroids/Spiel/SpielKlasse.cpp

@@ -98,8 +98,6 @@ SpielKlasse::~SpielKlasse()
     asteroidTextures->release();
     teams->release();
     objekte->release();
-    if( screen )
-        screen->release();
     schüsse->release();
     pixel->release();
     delete[] tasten;
@@ -204,9 +202,9 @@ void SpielKlasse::setSchrift( Schrift *schrift )
         shipGUI = new SpielerGUI( schrift );
 }
 
-void SpielKlasse::setBildschirm( Bildschirm *screen )
+void SpielKlasse::setBildschirm( Bildschirm *zScreen )
 {
-    this->screen = screen;
+    screen = zScreen;
 }
 
 void SpielKlasse::nachricht( int län, char *bytes )

+ 1 - 1
Asteroids/Spiel/SpielKlasse.h

@@ -78,7 +78,7 @@ public:
 	void lock();
 	void unlock();
 	void setSchrift( Schrift *schrift ) override; // call 4
-	void setBildschirm( Bildschirm *screen ) override; // call 3
+	void setBildschirm( Bildschirm *zScreen ) override; // call 3
 	void nachricht( int län, char *bytes ) override;
 	void setKlients( KSGClient::InformationServerClient *infoKlient, KSGClient::SpielServerClient *spielKlient ) override; // call 2
 	void setKarteId( int karteId ) override; // call 1

+ 1 - 1
Asteroids/Spiel/Spieler/Spieler.cpp

@@ -187,7 +187,7 @@ void Spieler::setSpielerFarbe( int fc, Bild *zTextur )
         if( buffer[ i ] )
         {
             shb->setPixelDP( i, fc );
-            shb->alphaPixelDP( i, buffer[ i ] );
+            shb->alphaPixelDP2D( i, buffer[ i ] );
         }
     }
     Textur2D *textur = new Textur2D();

+ 11 - 11
Asteroids/Spiel/SpielerGUI/SpielerGUI.cpp

@@ -46,17 +46,17 @@ SpielerGUI::SpielerGUI( Schrift *zSchrift )
     energieB->setFRFarbe( 0xFF0000FF );
     energieB->setFRBreite( 1 );
     energieB->setStyle( FBalken::Style::Sichtbar | FBalken::Style::L_R | FBalken::Style::Hintergrund | FBalken::Style::FFarbe | FBalken::Style::Rahmen | FBalken::Style::FRahmen );
-    reparatur = initTextFeld( 5, 80, 165, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::Mehrfarbig | TextFeld::Style::VCenter, "" );
-    akkuLeistung = initTextFeld( 5, 105, 165, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::Mehrfarbig | TextFeld::Style::VCenter, "" );
-    wendigkeit = initTextFeld( 5, 130, 165, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::Mehrfarbig | TextFeld::Style::VCenter, "" );
-    beschleunigung = initTextFeld( 5, 155, 165, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::Mehrfarbig | TextFeld::Style::VCenter, "" );
-    antriebEffizienz = initTextFeld( 5, 180, 165, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::Mehrfarbig | TextFeld::Style::VCenter, "" );
-    laserIntensität = initTextFeld( 5, 205, 165, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::Mehrfarbig | TextFeld::Style::VCenter, "" );
-    laserEffizienz = initTextFeld( 5, 230, 165, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::Mehrfarbig | TextFeld::Style::VCenter, "" );
-    laserTempo = initTextFeld( 5, 255, 165, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::Mehrfarbig | TextFeld::Style::VCenter, "" );
-    energieSchild = initTextFeld( 5, 280, 165, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::Mehrfarbig | TextFeld::Style::VCenter, "" );
-    energieSchildEffizienz = initTextFeld( 5, 305, 165, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::Mehrfarbig | TextFeld::Style::VCenter, "" );
-    netzwerk = initTextFeld( 5, 330, 165, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::Mehrfarbig | TextFeld::Style::VCenter, "" );
+    reparatur = initTextFeld( 5, 80, 165, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::VCenter, "" );
+    akkuLeistung = initTextFeld( 5, 105, 165, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::VCenter, "" );
+    wendigkeit = initTextFeld( 5, 130, 165, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::VCenter, "" );
+    beschleunigung = initTextFeld( 5, 155, 165, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::VCenter, "" );
+    antriebEffizienz = initTextFeld( 5, 180, 165, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::VCenter, "" );
+    laserIntensität = initTextFeld( 5, 205, 165, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::VCenter, "" );
+    laserEffizienz = initTextFeld( 5, 230, 165, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::VCenter, "" );
+    laserTempo = initTextFeld( 5, 255, 165, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::VCenter, "" );
+    energieSchild = initTextFeld( 5, 280, 165, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::VCenter, "" );
+    energieSchildEffizienz = initTextFeld( 5, 305, 165, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::VCenter, "" );
+    netzwerk = initTextFeld( 5, 330, 165, 20, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::VCenter, "" );
     stabilitätSkill = initKnopf( 172, 30, 20, 20, zSchrift, Knopf::Style::Sichtbar, "+" );
     energieSkill = initKnopf( 172, 55, 20, 20, zSchrift, Knopf::Style::Sichtbar, "+" );
     reparaturSkill = initKnopf( 172, 80, 20, 20, zSchrift, Knopf::Style::Sichtbar, "+" );

+ 0 - 5
Asteroids/SpielStatistik/Tabelle/StatistikTabelle.cpp

@@ -64,14 +64,9 @@ StatistikTabelle::~StatistikTabelle()
 // privat
 void StatistikTabelle::tabelleLehren( ObjTabelle *zT, bool überschrift )
 {
-	int sAnz = zT->getSpaltenAnzahl();
 	int zAnz = zT->getZeilenAnzahl();
 	for( int i = !überschrift; i < zAnz; i++ )
-	{
-		for( int j = 0; j < sAnz; j++ )
-			( (TextFeld*)zT->zZeichnung( j, !überschrift ) )->release();
 		zT->removeZeile( !überschrift );
-	}
 }
 
 void StatistikTabelle::tabelleFüllen( ObjTabelle *zT )