diff --git a/filesystem/filesystem.c b/filesystem/filesystem.c index 3fe14d7c..81883241 100644 --- a/filesystem/filesystem.c +++ b/filesystem/filesystem.c @@ -60,9 +60,10 @@ static char fs_gamedir[MAX_SYSPATH]; // game current directory // so raw WADs takes precedence over WADs included into PAKs and PK3s const fs_archive_t g_archives[] = { -{ "pak", SEARCHPATH_PAK, FS_AddPak_Fullpath, true }, -{ "pk3", SEARCHPATH_ZIP, FS_AddZip_Fullpath, true }, -{ "wad", SEARCHPATH_WAD, FS_AddWad_Fullpath, false }, +{ "pak", SEARCHPATH_PAK, FS_AddPak_Fullpath, true }, +{ "pk3", SEARCHPATH_ZIP, FS_AddZip_Fullpath, true }, +{ "pk3dir", SEARCHPATH_PK3DIR, FS_AddDir_Fullpath, true }, +{ "wad", SEARCHPATH_WAD, FS_AddWad_Fullpath, false }, { NULL }, // end marker }; diff --git a/filesystem/filesystem_internal.h b/filesystem/filesystem_internal.h index 5b741e54..29e78f2a 100644 --- a/filesystem/filesystem_internal.h +++ b/filesystem/filesystem_internal.h @@ -57,7 +57,8 @@ enum SEARCHPATH_PLAIN = 0, SEARCHPATH_PAK, SEARCHPATH_WAD, - SEARCHPATH_ZIP + SEARCHPATH_ZIP, + SEARCHPATH_PK3DIR, // it's actually a plain directory but it must behave like a ZIP archive }; typedef struct stringlist_s