latest code update

- app icon
- starting with map view
- code cleanup

Signed-off-by: Peter Siegmund <mars3142@noreply.mars3142.dev>
This commit is contained in:
2026-02-14 09:43:19 +01:00
parent b7bee804ca
commit 6e29dde558
20 changed files with 639 additions and 170 deletions

View File

@@ -23,6 +23,4 @@ std::unique_ptr<Cartridge> parseData(const std::vector<uint8_t>& bytes);
std::unique_ptr<Cartridge> parseFile(const std::string& filePath);
std::unique_ptr<Cartridge> parseCartridge();
} // namespace cartridge

View File

@@ -57,45 +57,4 @@ std::unique_ptr<Cartridge> parseFile(const std::string &filePath) {
return parseData(*result);
}
std::unique_ptr<Cartridge> parseCartridge() {
auto cartridge = parseFile("/Volumes/Coding/git.mars3142.dev/mars3142/"
"wx_wherigo/cartridges/the_ombos_idol_-_c.gwc");
if (!cartridge) {
std::println(std::cerr, "Cartridge konnte nicht geladen werden.");
return nullptr;
}
const int count = cartridge->mediaCount();
const std::filesystem::path outDir =
"/Volumes/Coding/git.mars3142.dev/mars3142/wx_wherigo/cartridges";
storage::Storage storage;
for (const int i : std::views::iota(0, count)) {
auto media = cartridge->getMedia(i);
if (!media) {
std::println(std::cerr, "Media-Objekt an Index {} ist nullptr.", i);
continue;
}
const auto &data = media->getData();
if (data.empty()) {
std::println(std::cerr, "Media-Daten an Index {} sind leer.", i);
continue;
}
std::string ext = media->getObjectType();
if (ext.empty()) {
std::println(std::cerr, "Media-Extension an Index {} ist leer.", i);
ext = "bin";
}
const std::filesystem::path outFile = outDir / std::format("file{}.{}", i, ext);
if (auto writeResult = storage.writeFile(outFile.string(), data); !writeResult) {
std::println(std::cerr, "Fehler beim Schreiben der Datei: {}", outFile.string());
}
}
return cartridge;
}
} // namespace cartridge