From 58df771c9e12cd3d31461b2f7d89af3f6dc86bdb Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Thu, 8 Jun 2023 22:32:09 +0300 Subject: [PATCH] filesystem: implement .pk3dir convention --- filesystem/filesystem.c | 7 ++++--- filesystem/filesystem_internal.h | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) 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