From 6bb3ad326e7f25e1bc3d6507c9c230759d6d2b49 Mon Sep 17 00:00:00 2001 From: Tyrann Date: Mon, 2 Oct 2006 13:39:42 +0930 Subject: [PATCH] [PATCH] qbsp: Load mapname.wad when no other wads available If the map has no wad key, or none of the wad files found in the key can be loaded, then try loading mapname.wad as a default. Signed-off-by: Tyrann --- qbsp/qbsp.c | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/qbsp/qbsp.c b/qbsp/qbsp.c index 50584cc7..e23fdeeb 100644 --- a/qbsp/qbsp.c +++ b/qbsp/qbsp.c @@ -242,20 +242,33 @@ ProcessFile(void) return; } + wads.numwads = 0; wadstring = ValueForKey(0, "_wad"); - if (!wadstring) { + if (!wadstring) wadstring = ValueForKey(0, "wad"); - if (!wadstring) { - Message(msgWarning, warnNoWadKey); + if (!wadstring) + Message(msgWarning, warnNoWadKey); + else + WADList_Init(&wads, wadstring); + + if (!wads.numwads) { + if (wadstring) + Message(msgWarning, warnNoValidWads); + /* Try the default wad name */ + wadstring = AllocMem(OTHER, strlen(options.szMapName) + 5, false); + strcpy(wadstring, options.szMapName); + StripExtension(wadstring); + DefaultExtension(wadstring, ".wad"); + WADList_Init(&wads, wadstring); + if (wads.numwads) + Message(msgLiteral, "Using default WAD: %s\n", wadstring); + else pWorldEnt->cTexdata = 0; - } else { - WADList_Init(&wads, wadstring); - if (!wads.numwads) { - Message(msgWarning, warnNoValidWads); - pWorldEnt->cTexdata = 0; - } - } + FreeMem(wadstring, OTHER, strlen(options.szMapName) + 5); } + + if (!pWorldEnt->cTexdata) + // init the tables to be shared by all models BeginBSPFile();