diff --git a/src/deh_soc.c b/src/deh_soc.c index e508c8d495a6bc02cf78b31f35a4f2c9db5709f0..849d9a0ace5eb4eb2047b7309f67dcf1c2e8d790 100644 --- a/src/deh_soc.c +++ b/src/deh_soc.c @@ -4087,14 +4087,28 @@ void readcupheader(MYFILE *f, cupheader_t *cup) } else if (fastcmp(word, "EMERALDNUM")) { - if (i >= 0 && i <= 14) - cup->emeraldnum = (UINT8)i; + if (!mainwads || (refreshdirmenu & REFRESHDIR_GAMEDATA)) + { + if (i >= 0 && i <= 14) + cup->emeraldnum = (UINT8)i; + else + deh_warning("%s Cup: invalid emerald number %d", cup->name, i); + } else - deh_warning("%s Cup: invalid emerald number %d", cup->name, i); + { + deh_warning("You must define a custom gamedata to use \"%s\"", word); + } } else if (fastcmp(word, "PLAYCREDITS")) { - cup->playcredits = (i != 0 || word2[0] == 'T' || word2[0] == 'Y'); + if (!mainwads || (refreshdirmenu & REFRESHDIR_GAMEDATA)) + { + cup->playcredits = (i != 0 || word2[0] == 'T' || word2[0] == 'Y'); + } + else + { + deh_warning("You must define a custom gamedata to use \"%s\"", word); + } } else deh_warning("%s Cup: unknown word '%s'", cup->name, word);