diff --git a/src/k_menudraw.c b/src/k_menudraw.c index 94357b020..80a5a20b6 100644 --- a/src/k_menudraw.c +++ b/src/k_menudraw.c @@ -7914,11 +7914,6 @@ static void M_DrawChallengeScrollBar(UINT8 *flashmap) V_DrawFill(barx + hilix, bary-1, hiliw, 1, 0); V_DrawFill(barx + hilix, bary+barh, hiliw, 1, 0); - INT32 mindiscouragement = 2; // skipping major unlocks is just a LITTLE cringe - if (challengesmenu.unlockcount[CMC_PERCENT] == 100 - && challengesmenu.unlockcount[CMC_MAJORSKIPPED] == 0) - mindiscouragement = 1; // so someone looking for 101% isn't hunting forever - // unbounded so that we can do the last remaining completionamount draw nextstep = numincolumn = completionamount = skiplevel = 0; for (i = 0; ; i++) @@ -7932,7 +7927,7 @@ static void M_DrawChallengeScrollBar(UINT8 *flashmap) if (completionamount >= numincolumn) { // If any have been skipped, we subtract a little for awareness... - completionamount = (skiplevel >= mindiscouragement) ? 9 : 10; + completionamount = skiplevel ? 9 : 10; } else { @@ -7978,9 +7973,9 @@ static void M_DrawChallengeScrollBar(UINT8 *flashmap) unlockable_t *ref = &unlockables[gamedata->challengegrid[i]]; - if (skiplevel < 2 && M_Achieved(ref->conditionset - 1) == false) + if (!skiplevel && M_Achieved(ref->conditionset - 1) == false) { - skiplevel = ref->majorunlock ? 2 : 1; + skiplevel = 1; } } diff --git a/src/menus/extras-challenges.c b/src/menus/extras-challenges.c index 64b07d8a8..c00d4e75b 100644 --- a/src/menus/extras-challenges.c +++ b/src/menus/extras-challenges.c @@ -82,6 +82,10 @@ static void M_UpdateChallengeGridVisuals(void) challengesmenu.unlockcount[CMC_UNLOCKED] = 0; challengesmenu.unlockcount[CMC_TOTAL] = 0; + challengesmenu.unlockcount[CMC_KEYED] = 0; + challengesmenu.unlockcount[CMC_MAJORSKIPPED] = 0; + +//#define MAJORDISTINCTION -- The "basic" medal is basically never seen because Major challenges are usually completed last before 101%. Correct that with this for (i = 0; i < MAXUNLOCKABLES; i++) { @@ -106,12 +110,14 @@ static void M_UpdateChallengeGridVisuals(void) challengesmenu.unlockcount[CMC_KEYED]++; +#ifdef MAJORDISTINCTION if (unlockables[i].majorunlock == false) { continue; } challengesmenu.unlockcount[CMC_MAJORSKIPPED]++; +#endif } challengesmenu.unlockcount[CMC_PERCENT] = @@ -125,7 +131,9 @@ static void M_UpdateChallengeGridVisuals(void) challengesmenu.unlockcount[CMC_MEDALFILLED] = (medalheight * ( challengesmenu.unlockcount[CMC_UNLOCKED] +#ifdef MAJORDISTINCTION - challengesmenu.unlockcount[CMC_MAJORSKIPPED] +#endif )) / challengesmenu.unlockcount[CMC_TOTAL]; if (challengesmenu.unlockcount[CMC_PERCENT] == 100) @@ -135,7 +143,10 @@ static void M_UpdateChallengeGridVisuals(void) challengesmenu.unlockcount[CMC_MEDALID] = 2; challengesmenu.unlockcount[CMC_PERCENT]++; // 101% } - else if (challengesmenu.unlockcount[CMC_MAJORSKIPPED] == 0) + else +#ifdef MAJORDISTINCTION + if (challengesmenu.unlockcount[CMC_MAJORSKIPPED] == 0) +#endif { challengesmenu.unlockcount[CMC_MEDALID] = 1; }