Fix 'map qi_package:mapname' not working for previously run packages when current mirror info is not avaialble.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6008 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
Spoike 2021-08-04 21:18:28 +00:00
parent cd45de7a1e
commit a23ef7534b
2 changed files with 11 additions and 3 deletions

View File

@ -3746,13 +3746,13 @@ static size_t PM_AddFilePackage(const char *packagename, struct gamepacks *gp, s
if (found < numgp)
{
gp[found].path = NULL;
gp[found].url = p->mirror[0];
gp[found].url = p->mirror[0]; //FIXME: random mirror.
for (dep = p->deps; dep; dep = dep->next)
{
if (dep->dtype == DEP_CACHEFILE)
gp[found].path = Z_StrDupf("downloads/%s", dep->name);
}
if (gp[found].path && gp[found].url)
if (gp[found].path)
{
gp[found].subpath = p->packprefix;
found++;
@ -4538,6 +4538,11 @@ void PM_Command_f(void)
}
if (p->description)
Con_Printf("%s\n", p->description);
for (dep = p->deps; dep; dep = dep->next)
{
if (dep->dtype == DEP_MAP)
Con_Printf(" ^mmap: ^[[%s]\\map\\%s^]\n", dep->name, dep->name);
}
if (p->flags & DPF_MARKED)
{

View File

@ -3781,7 +3781,10 @@ void COM_Gamedir (const char *dir, const struct gamepacks *packagespaths)
char quot[MAX_QPATH];
char quot2[MAX_OSPATH];
char quot3[MAX_OSPATH];
Cmd_TokenizeString(va("package %s prefix %s %s", COM_QuotedString(packagespaths->path, quot, sizeof(quot), false), COM_QuotedString(packagespaths->subpath?packagespaths->subpath:"", quot3, sizeof(quot3), false), COM_QuotedString(packagespaths->url, quot2, sizeof(quot2), false)), false, false);
if (packagespaths->url)
Cmd_TokenizeString(va("package %s prefix %s %s", COM_QuotedString(packagespaths->path, quot, sizeof(quot), false), COM_QuotedString(packagespaths->subpath?packagespaths->subpath:"", quot3, sizeof(quot3), false), COM_QuotedString(packagespaths->url, quot2, sizeof(quot2), false)), false, false);
else
Cmd_TokenizeString(va("package %s prefix %s", COM_QuotedString(packagespaths->path, quot, sizeof(quot), false), COM_QuotedString(packagespaths->subpath?packagespaths->subpath:"", quot3, sizeof(quot3), false)), false, false);
FS_Manifest_ParseTokens(man);
packagespaths++;
}