#include "Strukturen.h" #include #include #include // Inhalt der RessourceStr Klasse aus Strukturen.h // Konstruktor RessourceStr::RessourceStr(Datei* zDatei, SSDatenbankV* zDb, const char* tmpPfad, int kId) : ReferenceCounter() { zDatei->lese((char*)&id, 4); char len = 0; zDatei->lese(&len, 1); Text txt; txt.fillText('0', len + 1); zDatei->lese((char*)txt.getText(), len); 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); 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(); } } // 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 ObjektStr Klasse aus Strukturen.h // Konstruktor ObjektStr::ObjektStr(Datei* zDatei) : ReferenceCounter() { if (zDatei) { 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); } } void ObjektStr::save(Datei* zDatei) const { 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); } // Inhalt der SpielerStr Klasse aus Strukturen.h // Konstruktor SpielerStr::SpielerStr(Datei* zDatei) : ReferenceCounter() { 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); } } 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); } // Inhalt der TeamStr Klasse aus Strukturen.h // Konstruktor TeamStr::TeamStr(Datei* zDatei) : ReferenceCounter() { 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); } } 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); }