quakespasm/Misc/fs_search_order.patch

36 lines
1.1 KiB
Diff

allow plain files to override files inside a PAK file -- Sander van Dijk.
diff --git a/Quake/common.c b/Quake/common.c
index bd246f1..2326383 100644
--- a/Quake/common.c
+++ b/Quake/common.c
@@ -2039,13 +2039,6 @@ static void COM_AddGameDirectory (const char *base, const char *dir)
else path_id = 1U;
_add_path:
- // add the directory to the search path
- search = (searchpath_t *) Z_Malloc(sizeof(searchpath_t));
- search->path_id = path_id;
- q_strlcpy (search->filename, com_gamedir, sizeof(search->filename));
- search->next = com_searchpaths;
- com_searchpaths = search;
-
// add any pak files in the format pak0.pak pak1.pak, ...
for (i = 0; ; i++)
{
@@ -2077,6 +2070,13 @@ _add_path:
if (!pak) break;
}
+ // add the directory to the search path -- moved here from before the pakX.pak loop -- svdijk.
+ search = (searchpath_t *) Z_Malloc(sizeof(searchpath_t));
+ search->path_id = path_id;
+ q_strlcpy (search->filename, com_gamedir, sizeof(search->filename));
+ search->next = com_searchpaths;
+ com_searchpaths = search;
+
if (!been_here && host_parms->userdir != host_parms->basedir)
{
been_here = true;