void importEditorImages(MapTexHashMap& map, ArchiveTreeNode* dir, string path) { SImage image; // Go through entries for (unsigned a = 0; a < dir->numEntries(); a++) { ArchiveEntry* entry = dir->getEntry(a); // Load entry to image if (image.open(entry->getMCData())) { // Create texture in hashmap string name = path + entry->getName(true); //wxLogMessage("Loading editor texture %s", CHR(name)); map_tex_t& mtex = map[name]; mtex.texture = new GLTexture(false); mtex.texture->setFilter(GLTexture::MIPMAP); mtex.texture->loadImage(&image); } } // Go through subdirs for (unsigned a = 0; a < dir->nChildren(); a++) { ArchiveTreeNode* subdir = (ArchiveTreeNode*)dir->getChild(a); importEditorImages(map, subdir, path + subdir->getName() + "/"); } }
void swapNames() { ArchiveTreeNode* dir = archive->getDir(path); archive->renameDir(dir, old_name); old_name = new_name; new_name = dir->getName(); path = dir->getPath(); }
/* ADatArchive::detectNamespace * Returns the namespace that [entry] is within *******************************************************************/ string ADatArchive::detectNamespace(ArchiveEntry* entry) { // Check entry if (!checkEntry(entry)) return "global"; // If the entry is in the root dir, it's in the global namespace if (entry->getParentDir() == getRoot()) return "global"; // Get the entry's *first* parent directory after root (ie <root>/namespace/) ArchiveTreeNode* dir = entry->getParentDir(); while (dir && dir->getParent() != getRoot()) dir = (ArchiveTreeNode*)dir->getParent(); // Namespace is the directory's name (in lowercase) if (dir) return dir->getName().Lower(); else return "global"; // Error, just return global }