#include "Strukturen.h" #include #include // Inhalt der RessourceStr Klasse aus Strukturen.h // Konstruktor RessourceStr::RessourceStr( Datei *zDatei, int karteId, Text *zGamePath ) : ReferenceCounter() { zDatei->lese( (char *)&id, 4 ); char län = 0; zDatei->lese( &län, 1 ); Text txt; txt.fillText( '0', län + 1 ); zDatei->lese( txt, län ); txt.getText()[ län ] = 0; pfad = 0; if( txt.positionVon( "spiel:" ) == 0 ) { pfad = new Text( zGamePath->getText() ); if( pfad ) pfad->append( txt.getTeilText( 6 ) ); } if( txt.positionVon( "map:" ) == 0 ) { pfad = new Text( "data/tmp/Karten/" ); pfad->append( karteId ); pfad->append( "/spiel/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(); } if( pfad && pfad->hat( ".ltdb/" ) ) { int pos = pfad->positionVon( ".ltdb/", pfad->anzahlVon( ".ltdb/" ) - 1 ); LTDBDatei *datei = new LTDBDatei(); datei->setDatei( pfad->getTeilText( 0, pos + 5 ) ); datei->leseDaten( 0 ); bild = datei->laden( 0, pfad->getTeilText( pos + 6 ) ); datei->release(); } } // Destruktor RessourceStr::~RessourceStr() { if( pfad ) pfad->release(); if( m2d ) m2d->release(); if( bild ) bild->release(); } // constant int RessourceStr::getId() const { return id; } Model2DData *RessourceStr::zReccourceM2() const { return m2d; } Bild *RessourceStr::zReccourceTxt() const { return bild; } // Inhalt der ZeichnungStr Klasse aus Strukturen.h // Konstruktor ObjektStr::ObjektStr( Datei *zDatei ) : ReferenceCounter() { 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 *)&maxStabilität, 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 ); } // Inhalt der SpielerStr Klasse aus Strukturen.h // Konstruktor SpielerStr::SpielerStr( Datei *zDatei ) : ReferenceCounter() { 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 *)&maxStabilität, 4 ); zDatei->lese( (char *)&maxEnergie, 4 ); zDatei->lese( (char *)&reparatur, 8 ); zDatei->lese( (char *)&akkuLeistung, 8 ); zDatei->lese( (char *)&laserIntensität, 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 ); } // Inhalt der TeamStr Klasse aus Strukturen.h // Konstruktor TeamStr::TeamStr( Datei *zDatei ) : ReferenceCounter() { zDatei->lese( (char *)&id, 4 ); zDatei->lese( (char *)&maxPunkte, 4 ); zDatei->lese( (char *)&beschleunigung, 8 ); zDatei->lese( (char *)&maxStabilität, 4 ); zDatei->lese( (char *)&maxEnergie, 4 ); zDatei->lese( (char *)&reparatur, 8 ); zDatei->lese( (char *)&akkuLeistung, 8 ); zDatei->lese( (char *)&laserIntensität, 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 ); }