/* RffArchive::renameEntry * Override of Archive::renameEntry to update namespaces if needed * and rename the entry if necessary to be grp-friendly (twelve * characters max) *******************************************************************/ bool RffArchive::renameEntry(ArchiveEntry* entry, string name) { // Check entry if (!checkEntry(entry)) return false; // Process name (must be 12 characters max) name.Truncate(12); if (wad_force_uppercase) name.MakeUpper(); // Do default rename return Archive::renameEntry(entry, name); }
/* Wad2Archive::renameEntry * Override of Archive::renameEntry enforce wad2-friendly entry names * (16 characters max and uppercase if forced) *******************************************************************/ bool Wad2Archive::renameEntry(ArchiveEntry* entry, string name) { // Check entry if (!checkEntry(entry)) return false; // Process name (must be 16 characters max, also cut any extension as wad entries don't usually want them) wxFileName fn(name); name = fn.GetName().Truncate(16); if (wad_force_uppercase) name.MakeUpper(); // Do default rename return Archive::renameEntry(entry, name); }
/* WadArchive::processEntryName * Contains the WadArchive::renameEntry logic *******************************************************************/ string WadArchive::processEntryName(string name) { // Perform character substitution if needed name = Misc::fileNameToLumpName(name); // Check for \ character (e.g., from Arch-Viles graphics). They have to be kept. if (name.length() <= 8 && name.find('\\') != wxNOT_FOUND) { } // Don't process as a file name // Process name (must be 8 characters max, also cut any extension as wad entries don't usually want them) else { wxFileName fn(name); name = fn.GetName().Truncate(8); } if (wad_force_uppercase) name.MakeUpper(); return name; }