Skip to content

Commit fb539cf

Browse files
committed
Fix two bugs with /listmap commands
1. Does not honor fs_pakprefixes. I ran into this trying to list the maps on illwieckz's sRGB test server. 2. If a directory name starts with "map-" (this already happened in real life per Unvanquished/Unvanquished#3080 :-) any pak in the directory will be confused for a map.
1 parent 663c329 commit fb539cf

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/common/FileSystem.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2842,8 +2842,11 @@ std::set<std::string> GetAvailableMaps(bool allowLegacyPaks)
28422842
FS::PakPath::LoadPakPrefix(pak, "maps/", ignored);
28432843
}
28442844
} else {
2845-
if (Str::IsPrefix(pakPrefix, pak.name) && pak.name.size() > pakPrefix.size()) {
2846-
maps.insert(pak.name.substr(pakPrefix.size()));
2845+
std::string basename = FS::Path::BaseName(pak.name);
2846+
if (Str::IsPrefix(pakPrefix, basename) && basename.size() > pakPrefix.size()
2847+
&& FS::FindPak(basename) != nullptr) {
2848+
// FS::FindPak checked that the pak can be loaded via its base name respecting fs_pakprefixes.
2849+
maps.insert(basename.substr(pakPrefix.size()));
28472850
}
28482851
}
28492852
}

0 commit comments

Comments
 (0)