diff --git a/source/common/gamecontrol.cpp b/source/common/gamecontrol.cpp index 91a36d605..6cdbe2d20 100644 --- a/source/common/gamecontrol.cpp +++ b/source/common/gamecontrol.cpp @@ -363,6 +363,18 @@ int GameMain() void SetDefaultStrings() { + if ((g_gameType & GAMEFLAG_DUKE) && (g_gameType & GAMEFLAG_SHAREWARE)) + { + // Shareware does not define episodes + gVolumeNames[0] = "$L.A. Meltdown"; + gVolumeNames[1] = "$Lunar Apocalypse"; + gVolumeNames[2] = "$Shrapnel City"; + gVolumeNames[3] = "$The Birth"; + gSkillNames[0] = "$Piece of Cake"; + gSkillNames[1] = "$Let's Rock"; + gSkillNames[2] = "$Come get Some"; + gSkillNames[3] = "$Damn I'm Good"; + } // Blood hard codes its skill names, so we have to define them manually. if (g_gameType & GAMEFLAG_BLOOD) { diff --git a/source/common/menu/menudef.cpp b/source/common/menu/menudef.cpp index 7ff338c9d..52d8e7152 100644 --- a/source/common/menu/menudef.cpp +++ b/source/common/menu/menudef.cpp @@ -1250,6 +1250,10 @@ static void BuildEpisodeMenu() { auto it = new FListMenuItemNativeText(ld->mXpos, y, 0, gVolumeNames[i][0], gVolumeNames[i], NIT_BigFont, NIT_ActiveState, 1, NAME_SkillMenu, i); + if ((g_gameType & GAMEFLAG_DUKE) && (g_gameType & GAMEFLAG_SHAREWARE) && i > 0) + { + it->mEnabled = false; + } y += ld->mLinespacing; ld->mItems.Push(it); addedVolumes++;