#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); zDatei->lese((char*)txt.getText(), län); 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); }