Эх сурвалжийг харах

Rotation und Skallierung zu Objekten hinzugefügt

Kolja Strohm 5 жил өмнө
parent
commit
103d838d5b

+ 10 - 6
Asteroids/Editor.cpp

@@ -181,6 +181,8 @@ bool Editor::nachricht( SKlient *k )
                 object.close();
                 k->sendeEncrypted( (char *)& o.pos.x, 4 );
                 k->sendeEncrypted( (char *)& o.pos.y, 4 );
+                k->sendeEncrypted( (char *)& o.rot, 4 );
+                k->sendeEncrypted( (char *)& o.scale, 4 );
                 k->sendeEncrypted( (char *)& o.id, 4 );
                 k->sendeEncrypted( (char *)& o.m2d, 4 );
                 k->sendeEncrypted( (char *)& o.bild, 4 );
@@ -284,6 +286,8 @@ bool Editor::nachricht( SKlient *k )
         ObjektStr o( 0 );
         k->sendeEncrypted( (char *)& o.pos.x, 4 );
         k->sendeEncrypted( (char *)& o.pos.y, 4 );
+        k->sendeEncrypted( (char *)& o.rot, 4 );
+        k->sendeEncrypted( (char *)& o.scale, 4 );
         k->sendeEncrypted( (char *)& o.id, 4 );
         k->sendeEncrypted( (char *)& o.m2d, 4 );
         k->sendeEncrypted( (char *)& o.bild, 4 );
@@ -380,10 +384,10 @@ bool Editor::nachricht( SKlient *k )
         {
             k->sendeEncrypted( "\1", 1 );
             int size = 0;
-            d.lese( (char *)&size, 4 );
-            k->sendeEncrypted( (char *)&size, 4 );
-            d.lese( (char *)&size, 4 );
-            k->sendeEncrypted( (char *)&size, 4 );
+            d.lese( (char *)& size, 4 );
+            k->sendeEncrypted( (char *)& size, 4 );
+            d.lese( (char *)& size, 4 );
+            k->sendeEncrypted( (char *)& size, 4 );
             d.close();
         }
         else
@@ -399,7 +403,7 @@ bool Editor::nachricht( SKlient *k )
         k->sendeEncrypted( "\1", 1 );
         Datei d;
         d.setDatei( Text( pfad.getText() ) + "/resource" );
-        RCArray<Text> *list = d.getDateiListe();
+        RCArray<Text> * list = d.getDateiListe();
         int nId = 0;
         bool found = 0;
         do
@@ -417,7 +421,7 @@ bool Editor::nachricht( SKlient *k )
         } while( found );
         list->release();
         unsigned char len = 0;
-        k->getNachrichtEncrypted( (char *)&len, 1 );
+        k->getNachrichtEncrypted( (char *)& len, 1 );
         char *path = new char[ len + 1 ];
         path[ len ] = 0;
         k->getNachrichtEncrypted( path, len );

+ 167 - 163
Asteroids/Strukturen.cpp

@@ -7,260 +7,264 @@
 // Konstruktor
 RessourceStr::RessourceStr( Datei *zDatei, SSDatenbankV *zDb, char *tmpPfad, int kId )
 {
-	zDatei->lese( (char*)&id, 4 );
-	char len = 0;
-	zDatei->lese( &len, 1 );
-	Text txt;
-	txt.fillText( '0', len + 1 );
-	zDatei->lese( txt, len );
-	txt.getText()[ (int)len ] = 0;
-	pfad = 0;
-	if( txt.positionVon( "spiel:" ) == 0 )
-	{
+    zDatei->lese( (char *)& id, 4 );
+    char len = 0;
+    zDatei->lese( &len, 1 );
+    Text txt;
+    txt.fillText( '0', len + 1 );
+    zDatei->lese( txt, len );
+    txt.getText()[ (int)len ] = 0;
+    pfad = 0;
+    if( txt.positionVon( "spiel:" ) == 0 )
+    {
         pfad = zDb->getSpielPfad( kId );
-		if( pfad )
-			pfad->append( txt.getTeilText( 6 ) );
-	}
-	if( txt.positionVon( "map:" ) == 0 )
-	{
-		pfad = new Text( tmpPfad );
+        if( pfad )
+            pfad->append( txt.getTeilText( 6 ) );
+    }
+    if( txt.positionVon( "map:" ) == 0 )
+    {
+        pfad = new Text( tmpPfad );
         pfad->append( "map/files" );
-	    pfad->append( txt.getTeilText( 4 ) );
-	}
-	m2d = 0;
-	bild = 0;
-	if( pfad && pfad->hat( ".m2/" ) )
-	{
-		int pos = pfad->positionVon( ".m2/", pfad->anzahlVon( ".m2/" ) - 1 );
-		M2Datei *datei = new M2Datei( pfad->getTeilText( 0, pos + 3 ) );
-		datei->leseDaten();
-		m2d = datei->ladeModel( pfad->getTeilText( pos + 4 ) );
-		datei->release();
-	}
-	ref = 1;
+        pfad->append( txt.getTeilText( 4 ) );
+    }
+    m2d = 0;
+    bild = 0;
+    if( pfad && pfad->hat( ".m2/" ) )
+    {
+        int pos = pfad->positionVon( ".m2/", pfad->anzahlVon( ".m2/" ) - 1 );
+        M2Datei * datei = new M2Datei( pfad->getTeilText( 0, pos + 3 ) );
+        datei->leseDaten();
+        m2d = datei->ladeModel( pfad->getTeilText( pos + 4 ) );
+        datei->release();
+    }
+    ref = 1;
 }
 
 // Destruktor
 RessourceStr::~RessourceStr()
 {
-	if( pfad )
-		pfad->release();
-	if( m2d )
-		m2d->release();
-	if( bild )
-		bild->release();
+    if( pfad )
+        pfad->release();
+    if( m2d )
+        m2d->release();
+    if( bild )
+        bild->release();
 }
 
 // constant
 int RessourceStr::getId() const
 {
-	return id;
+    return id;
 }
 
 Model2DData *RessourceStr::zReccourceM2() const
 {
-	return m2d;
+    return m2d;
 }
 
 Bild *RessourceStr::zReccourceTxt() const
 {
-	return bild;
+    return bild;
 }
 
 // Reference Counting
 RessourceStr *RessourceStr::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 RessourceStr *RessourceStr::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 
 // Inhalt der ObjektStr Klasse aus Strukturen.h
 // Konstruktor
-ObjektStr::ObjektStr( Datei *zDatei )
+ObjektStr::ObjektStr( Datei * zDatei )
 {
     if( zDatei )
     {
-        zDatei->lese( (char*)&pos.x, 4 );
-        zDatei->lese( (char*)&pos.y, 4 );
-        zDatei->lese( (char*)&id, 4 );
-        zDatei->lese( (char*)&m2d, 4 );
-        zDatei->lese( (char*)&bild, 4 );
-        zDatei->lese( (char*)&style, 4 );
-        zDatei->lese( (char*)&maxStability, 4 );
-        zDatei->lese( (char*)&maxEnergie, 4 );
-        zDatei->lese( (char*)&energieRadius, 4 );
-        zDatei->lese( (char*)&reparatur, 8 );
-        zDatei->lese( (char*)&akkuLeistung, 8 );
+        zDatei->lese( (char *)& pos.x, 4 );
+        zDatei->lese( (char *)& pos.y, 4 );
+        zDatei->lese( (char *)& rot, 4 );
+        zDatei->lese( (char *)& scale, 4 );
+        zDatei->lese( (char *)& id, 4 );
+        zDatei->lese( (char *)& m2d, 4 );
+        zDatei->lese( (char *)& bild, 4 );
+        zDatei->lese( (char *)& style, 4 );
+        zDatei->lese( (char *)& maxStability, 4 );
+        zDatei->lese( (char *)& maxEnergie, 4 );
+        zDatei->lese( (char *)& energieRadius, 4 );
+        zDatei->lese( (char *)& reparatur, 8 );
+        zDatei->lese( (char *)& akkuLeistung, 8 );
         zDatei->lese( &team, 1 );
     }
-	ref = 1;
+    ref = 1;
 }
 
-void ObjektStr::save( Datei *zDatei ) const
+void ObjektStr::save( Datei * zDatei ) const
 {
-    zDatei->schreibe( (char*)&pos.x, 4 );
-    zDatei->schreibe( (char*)&pos.y, 4 );
-    zDatei->schreibe( (char*)&id, 4 );
-    zDatei->schreibe( (char*)&m2d, 4 );
-    zDatei->schreibe( (char*)&bild, 4 );
-    zDatei->schreibe( (char*)&style, 4 );
-    zDatei->schreibe( (char*)&maxStability, 4 );
-    zDatei->schreibe( (char*)&maxEnergie, 4 );
-    zDatei->schreibe( (char*)&energieRadius, 4 );
-    zDatei->schreibe( (char*)&reparatur, 8 );
-    zDatei->schreibe( (char*)&akkuLeistung, 8 );
-    zDatei->schreibe( (char*)&team, 1 );
+    zDatei->schreibe( (char *)& pos.x, 4 );
+    zDatei->schreibe( (char *)& pos.y, 4 );
+    zDatei->schreibe( (char *)& rot, 4 );
+    zDatei->schreibe( (char *)& scale, 4 );
+    zDatei->schreibe( (char *)& id, 4 );
+    zDatei->schreibe( (char *)& m2d, 4 );
+    zDatei->schreibe( (char *)& bild, 4 );
+    zDatei->schreibe( (char *)& style, 4 );
+    zDatei->schreibe( (char *)& maxStability, 4 );
+    zDatei->schreibe( (char *)& maxEnergie, 4 );
+    zDatei->schreibe( (char *)& energieRadius, 4 );
+    zDatei->schreibe( (char *)& reparatur, 8 );
+    zDatei->schreibe( (char *)& akkuLeistung, 8 );
+    zDatei->schreibe( (char *)& team, 1 );
 }
 
 // Reference Counting
 ObjektStr *ObjektStr::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 ObjektStr *ObjektStr::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 
 // Inhalt der SpielerStr Klasse aus Strukturen.h
 // Konstruktor
-SpielerStr::SpielerStr( Datei *zDatei )
+SpielerStr::SpielerStr( Datei * zDatei )
 {
     if( zDatei )
     {
-        zDatei->lese( (char*)&id, 4 );
-        zDatei->lese( (char*)&pos.x, 4 );
-        zDatei->lese( (char*)&pos.y, 4 );
-        zDatei->lese( (char*)&rot, 8 );
-        zDatei->lese( (char*)&beschleunigung, 8 );
-        zDatei->lese( (char*)&maxStability, 4 );
-        zDatei->lese( (char*)&maxEnergie, 4 );
-        zDatei->lese( (char*)&reparatur, 8 );
-        zDatei->lese( (char*)&akkuLeistung, 8 );
-        zDatei->lese( (char*)&laserIntensity, 4 );
-        zDatei->lese( (char*)&laserEffizienz, 4 );
-        zDatei->lese( (char*)&laserTempo, 4 );
-        zDatei->lese( (char*)&wendigkeit, 8 );
-        zDatei->lese( (char*)&antriebEffizienz, 8 );
-        zDatei->lese( (char*)&energieSchild, 8 );
-        zDatei->lese( (char*)&energieSchildEffizienz, 8 );
-        zDatei->lese( (char*)&netzwerk, 4 );
-        zDatei->lese( (char*)&skillPunkte, 4 );
-        zDatei->lese( (char*)&m2d, 4 );
-        zDatei->lese( (char*)&bild, 4 );
+        zDatei->lese( (char *)& id, 4 );
+        zDatei->lese( (char *)& pos.x, 4 );
+        zDatei->lese( (char *)& pos.y, 4 );
+        zDatei->lese( (char *)& rot, 8 );
+        zDatei->lese( (char *)& beschleunigung, 8 );
+        zDatei->lese( (char *)& maxStability, 4 );
+        zDatei->lese( (char *)& maxEnergie, 4 );
+        zDatei->lese( (char *)& reparatur, 8 );
+        zDatei->lese( (char *)& akkuLeistung, 8 );
+        zDatei->lese( (char *)& laserIntensity, 4 );
+        zDatei->lese( (char *)& laserEffizienz, 4 );
+        zDatei->lese( (char *)& laserTempo, 4 );
+        zDatei->lese( (char *)& wendigkeit, 8 );
+        zDatei->lese( (char *)& antriebEffizienz, 8 );
+        zDatei->lese( (char *)& energieSchild, 8 );
+        zDatei->lese( (char *)& energieSchildEffizienz, 8 );
+        zDatei->lese( (char *)& netzwerk, 4 );
+        zDatei->lese( (char *)& skillPunkte, 4 );
+        zDatei->lese( (char *)& m2d, 4 );
+        zDatei->lese( (char *)& bild, 4 );
     }
     ref = 1;
 }
 
-void SpielerStr::save( Datei *zDatei ) const
+void SpielerStr::save( Datei * zDatei ) const
 {
-    zDatei->schreibe( (char*)&id, 4 );
-    zDatei->schreibe( (char*)&pos.x, 4 );
-    zDatei->schreibe( (char*)&pos.y, 4 );
-    zDatei->schreibe( (char*)&rot, 8 );
-    zDatei->schreibe( (char*)&beschleunigung, 8 );
-    zDatei->schreibe( (char*)&maxStability, 4 );
-    zDatei->schreibe( (char*)&maxEnergie, 4 );
-    zDatei->schreibe( (char*)&reparatur, 8 );
-    zDatei->schreibe( (char*)&akkuLeistung, 8 );
-    zDatei->schreibe( (char*)&laserIntensity, 4 );
-    zDatei->schreibe( (char*)&laserEffizienz, 4 );
-    zDatei->schreibe( (char*)&laserTempo, 4 );
-    zDatei->schreibe( (char*)&wendigkeit, 8 );
-    zDatei->schreibe( (char*)&antriebEffizienz, 8 );
-    zDatei->schreibe( (char*)&energieSchild, 8 );
-    zDatei->schreibe( (char*)&energieSchildEffizienz, 8 );
-    zDatei->schreibe( (char*)&netzwerk, 4 );
-    zDatei->schreibe( (char*)&skillPunkte, 4 );
-    zDatei->schreibe( (char*)&m2d, 4 );
-    zDatei->schreibe( (char*)&bild, 4 );
+    zDatei->schreibe( (char *)& id, 4 );
+    zDatei->schreibe( (char *)& pos.x, 4 );
+    zDatei->schreibe( (char *)& pos.y, 4 );
+    zDatei->schreibe( (char *)& rot, 8 );
+    zDatei->schreibe( (char *)& beschleunigung, 8 );
+    zDatei->schreibe( (char *)& maxStability, 4 );
+    zDatei->schreibe( (char *)& maxEnergie, 4 );
+    zDatei->schreibe( (char *)& reparatur, 8 );
+    zDatei->schreibe( (char *)& akkuLeistung, 8 );
+    zDatei->schreibe( (char *)& laserIntensity, 4 );
+    zDatei->schreibe( (char *)& laserEffizienz, 4 );
+    zDatei->schreibe( (char *)& laserTempo, 4 );
+    zDatei->schreibe( (char *)& wendigkeit, 8 );
+    zDatei->schreibe( (char *)& antriebEffizienz, 8 );
+    zDatei->schreibe( (char *)& energieSchild, 8 );
+    zDatei->schreibe( (char *)& energieSchildEffizienz, 8 );
+    zDatei->schreibe( (char *)& netzwerk, 4 );
+    zDatei->schreibe( (char *)& skillPunkte, 4 );
+    zDatei->schreibe( (char *)& m2d, 4 );
+    zDatei->schreibe( (char *)& bild, 4 );
 }
 
 // Reference Counting
 SpielerStr *SpielerStr::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 SpielerStr *SpielerStr::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }
 
 // Inhalt der TeamStr Klasse aus Strukturen.h
 // Konstruktor
-TeamStr::TeamStr( Datei *zDatei )
+TeamStr::TeamStr( Datei * zDatei )
 {
     if( zDatei )
     {
-        zDatei->lese( (char*)&id, 4 );
-        zDatei->lese( (char*)&maxPunkte, 4 );
-        zDatei->lese( (char*)&beschleunigung, 8 );
-        zDatei->lese( (char*)&maxStability, 4 );
-        zDatei->lese( (char*)&maxEnergie, 4 );
-        zDatei->lese( (char*)&reparatur, 8 );
-        zDatei->lese( (char*)&akkuLeistung, 8 );
-        zDatei->lese( (char*)&laserIntensity, 4 );
-        zDatei->lese( (char*)&laserEffizienz, 4 );
-        zDatei->lese( (char*)&laserTempo, 4 );
-        zDatei->lese( (char*)&wendigkeit, 8 );
-        zDatei->lese( (char*)&antriebEffizienz, 8 );
-        zDatei->lese( (char*)&energieSchild, 8 );
-        zDatei->lese( (char*)&energieSchildEffizienz, 8 );
-        zDatei->lese( (char*)&punkte, 4 );
+        zDatei->lese( (char *)& id, 4 );
+        zDatei->lese( (char *)& maxPunkte, 4 );
+        zDatei->lese( (char *)& beschleunigung, 8 );
+        zDatei->lese( (char *)& maxStability, 4 );
+        zDatei->lese( (char *)& maxEnergie, 4 );
+        zDatei->lese( (char *)& reparatur, 8 );
+        zDatei->lese( (char *)& akkuLeistung, 8 );
+        zDatei->lese( (char *)& laserIntensity, 4 );
+        zDatei->lese( (char *)& laserEffizienz, 4 );
+        zDatei->lese( (char *)& laserTempo, 4 );
+        zDatei->lese( (char *)& wendigkeit, 8 );
+        zDatei->lese( (char *)& antriebEffizienz, 8 );
+        zDatei->lese( (char *)& energieSchild, 8 );
+        zDatei->lese( (char *)& energieSchildEffizienz, 8 );
+        zDatei->lese( (char *)& punkte, 4 );
     }
-	ref = 1;
+    ref = 1;
 }
 
-void TeamStr::save( Datei *zDatei ) const
+void TeamStr::save( Datei * zDatei ) const
 {
-    zDatei->schreibe( (char*)&id, 4 );
-    zDatei->schreibe( (char*)&maxPunkte, 4 );
-    zDatei->schreibe( (char*)&beschleunigung, 8 );
-    zDatei->schreibe( (char*)&maxStability, 4 );
-    zDatei->schreibe( (char*)&maxEnergie, 4 );
-    zDatei->schreibe( (char*)&reparatur, 8 );
-    zDatei->schreibe( (char*)&akkuLeistung, 8 );
-    zDatei->schreibe( (char*)&laserIntensity, 4 );
-    zDatei->schreibe( (char*)&laserEffizienz, 4 );
-    zDatei->schreibe( (char*)&laserTempo, 4 );
-    zDatei->schreibe( (char*)&wendigkeit, 8 );
-    zDatei->schreibe( (char*)&antriebEffizienz, 8 );
-    zDatei->schreibe( (char*)&energieSchild, 8 );
-    zDatei->schreibe( (char*)&energieSchildEffizienz, 8 );
-    zDatei->schreibe( (char*)&punkte, 4 );
+    zDatei->schreibe( (char *)& id, 4 );
+    zDatei->schreibe( (char *)& maxPunkte, 4 );
+    zDatei->schreibe( (char *)& beschleunigung, 8 );
+    zDatei->schreibe( (char *)& maxStability, 4 );
+    zDatei->schreibe( (char *)& maxEnergie, 4 );
+    zDatei->schreibe( (char *)& reparatur, 8 );
+    zDatei->schreibe( (char *)& akkuLeistung, 8 );
+    zDatei->schreibe( (char *)& laserIntensity, 4 );
+    zDatei->schreibe( (char *)& laserEffizienz, 4 );
+    zDatei->schreibe( (char *)& laserTempo, 4 );
+    zDatei->schreibe( (char *)& wendigkeit, 8 );
+    zDatei->schreibe( (char *)& antriebEffizienz, 8 );
+    zDatei->schreibe( (char *)& energieSchild, 8 );
+    zDatei->schreibe( (char *)& energieSchildEffizienz, 8 );
+    zDatei->schreibe( (char *)& punkte, 4 );
 }
 
 // Reference Counting
 TeamStr *TeamStr::getThis()
 {
-	ref++;
-	return this;
+    ref++;
+    return this;
 }
 
 TeamStr *TeamStr::release()
 {
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    ref--;
+    if( !ref )
+        delete this;
+    return 0;
 }

+ 2 - 0
Asteroids/Strukturen.h

@@ -38,6 +38,8 @@ private:
 
 public:
 	Punkt pos;
+    float rot;
+    float scale;
 	int id;
 	int m2d;
 	int bild;