diff --git a/src/g_dumpinfo.cpp b/src/g_dumpinfo.cpp index 72400708b..96951df6f 100644 --- a/src/g_dumpinfo.cpp +++ b/src/g_dumpinfo.cpp @@ -361,6 +361,8 @@ CCMD(targetinv) CCMD(listmaps) { + int iwadNum = fileSystem.GetIwadNum(); + for (unsigned i = 0; i < wadlevelinfos.Size(); i++) { level_info_t *info = &wadlevelinfos[i]; @@ -368,13 +370,20 @@ CCMD(listmaps) if (map != NULL) { + int mapWadNum = fileSystem.GetFileContainer(map->lumpnum); + if (argv.argc() == 1 || CheckWildcards(argv[1], info->MapName.GetChars()) || CheckWildcards(argv[1], info->LookupLevelName().GetChars()) - || CheckWildcards(argv[1], fileSystem.GetResourceFileName(fileSystem.GetFileContainer(map->lumpnum)))) + || CheckWildcards(argv[1], fileSystem.GetResourceFileName(mapWadNum))) { - Printf("%s: '%s' (%s)\n", info->MapName.GetChars(), info->LookupLevelName().GetChars(), - fileSystem.GetResourceFileName(fileSystem.GetFileContainer(map->lumpnum))); + bool isFromPwad = mapWadNum != iwadNum; + + const char* lineColor = isFromPwad ? TEXTCOLOR_LIGHTBLUE : ""; + + Printf("%s%s: '%s' (%s)\n", lineColor, info->MapName.GetChars(), + info->LookupLevelName().GetChars(), + fileSystem.GetResourceFileName(mapWadNum)); } delete map; }