From d5d1da5786f6bd0f370866c1482914a03be4c1a6 Mon Sep 17 00:00:00 2001 From: NepDisk Date: Sun, 23 Feb 2025 18:52:24 -0500 Subject: [PATCH] Check .kart extension for compatmode --- src/w_wad.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/w_wad.c b/src/w_wad.c index 122f7eba9..afaa75ed2 100644 --- a/src/w_wad.c +++ b/src/w_wad.c @@ -314,7 +314,17 @@ static inline boolean CheckCompatFilename(const char *filename) { // check for a K prefix char *basename = strrchr(filename, *PATHSEP); - return toupper(basename ? basename[1] : filename[0]) == 'K'; + return (toupper(basename ? basename[1] : filename[0]) == 'K'); +} + +static inline boolean CheckCompatExtension(const char *filename) +{ + char *basename = strrchr(filename, '.'); + + if (!stricmp(basename+1, "KART")) + return true; + + return false; } static inline boolean CheckCompatSkins(UINT16 wadnum) @@ -361,7 +371,8 @@ static inline boolean CheckCompatZip(UINT16 wadnum) // ditto, but for WADs static inline boolean CheckCompatWad(UINT16 wadnum) { - if (CheckCompatFilename(wadfiles[wadnum]->filename) || CheckCompatSkins(wadnum)) + if (CheckCompatFilename(wadfiles[wadnum]->filename) || CheckCompatSkins(wadnum) + || CheckCompatExtension(wadfiles[wadnum]->filename)) return true; return false;