diff --git a/engine/client/m_multi.c b/engine/client/m_multi.c index cf99a56d1..718c669fd 100644 --- a/engine/client/m_multi.c +++ b/engine/client/m_multi.c @@ -637,14 +637,19 @@ static int QDECL M_Menu_GameOptions_AddMap(const char *fname, qofs_t fsize, time struct mapopts_s *ctx = parm; size_t i; char *ext; + char trimmedfname[MAX_QPATH]; if (Q_strncasecmp(fname, "maps/", 5)) return true; //o.O fname += 5; - if (*fname == 'b' && *fname == '_') + if (fname[0] == 'b' && fname[1] == '_') return true; //stoopid ammo boxes. ext = strrchr(fname, '.'); - if (ext && !strcmp(ext, ".bsp")) - *ext = 0; + if (ext && !strcmp(ext, ".bsp") && ext-fnamecount; i++) if (!Q_strcasecmp(ctx->maps[i], fname))