diff --git a/src/menu/menu.h b/src/menu/menu.h index cabf526ac..6928bd5b8 100644 --- a/src/menu/menu.h +++ b/src/menu/menu.h @@ -347,7 +347,7 @@ void M_PreviousMenu (); void M_ParseMenuDefs(); void M_StartupEpisodeMenu(FGameStartup *gs); void M_StartupSkillMenu(FGameStartup *gs); -void M_StartControlPanel (bool makeSound, bool scaleoverride = true); +void M_StartControlPanel (bool makeSound, bool scaleoverride = false); void M_SetMenu(FName menu, int param = -1); void M_StartMessage(const char *message, int messagemode, FName action = NAME_None); DMenu *StartPickerMenu(DMenu *parent, const char *name, FColorCVar *cvar); diff --git a/wadsrc/static/zscript/level_compatibility.zs b/wadsrc/static/zscript/level_compatibility.zs index 218bbfd8c..0c83e8e64 100644 --- a/wadsrc/static/zscript/level_compatibility.zs +++ b/wadsrc/static/zscript/level_compatibility.zs @@ -1231,6 +1231,62 @@ class LevelCompatibility native play AddSectorTag(7857, 82); break; } + + case '7B1EB6C1231CD03E90F4A1C0D51A8B6D': // ur_final.wad map17 + { + SetLineSpecial(3020, Transfer_Heights, 19); + break; + } + + case '01592ACF001C534076556D9E1B5D85E7': // Darken2.wad map12 + { + // fix some holes the player can fall in. This map went a bit too far with lighting hacks depending on holes in the floor. + OffsetSectorPlane(126, Sector.floor, 1088); + level.sectors[126].SetPlaneLight(Sector.floor, level.sectors[125].GetLightLevel() - level.sectors[126].GetLightLevel()); + OffsetSectorPlane(148, Sector.floor, 1136); + level.sectors[148].SetPlaneLight(Sector.floor, level.sectors[122].GetLightLevel() - level.sectors[148].GetLightLevel()); + OffsetSectorPlane(149, Sector.floor, 1136); + level.sectors[149].SetPlaneLight(Sector.floor, level.sectors[122].GetLightLevel() - level.sectors[149].GetLightLevel()); + OffsetSectorPlane(265, Sector.floor, 992); + level.sectors[265].SetPlaneLight(Sector.floor, level.sectors[264].GetLightLevel() - level.sectors[265].GetLightLevel()); + OffsetSectorPlane(279, Sector.floor, 1072); + level.sectors[279].SetPlaneLight(Sector.floor, level.sectors[267].GetLightLevel() - level.sectors[279].GetLightLevel()); + SetSectorTexture(279, Sector.floor, "OMETL13"); + OffsetSectorPlane(280, Sector.floor, 1072); + level.sectors[280].SetPlaneLight(Sector.floor, level.sectors[267].GetLightLevel() - level.sectors[280].GetLightLevel()); + SetSectorTexture(280, Sector.floor, "OMETL13"); + OffsetSectorPlane(281, Sector.floor, 1072); + level.sectors[281].SetPlaneLight(Sector.floor, level.sectors[267].GetLightLevel() - level.sectors[281].GetLightLevel()); + SetSectorTexture(281, Sector.floor, "OMETL13"); + OffsetSectorPlane(292, Sector.floor, 1056); + level.sectors[292].SetPlaneLight(Sector.floor, level.sectors[291].GetLightLevel() - level.sectors[292].GetLightLevel()); + OffsetSectorPlane(472, Sector.floor, 1136); + level.sectors[472].SetPlaneLight(Sector.floor, level.sectors[216].GetLightLevel() - level.sectors[472].GetLightLevel()); + OffsetSectorPlane(473, Sector.floor, 1136); + level.sectors[473].SetPlaneLight(Sector.floor, level.sectors[216].GetLightLevel() - level.sectors[473].GetLightLevel()); + OffsetSectorPlane(526, Sector.floor, 1024); + level.sectors[526].SetPlaneLight(Sector.floor, level.sectors[525].GetLightLevel() - level.sectors[526].GetLightLevel()); + OffsetSectorPlane(527, Sector.floor, 1024); + level.sectors[527].SetPlaneLight(Sector.floor, level.sectors[500].GetLightLevel() - level.sectors[527].GetLightLevel()); + OffsetSectorPlane(528, Sector.floor, 1024); + level.sectors[528].SetPlaneLight(Sector.floor, level.sectors[525].GetLightLevel() - level.sectors[528].GetLightLevel()); + OffsetSectorPlane(554, Sector.floor, 1024); + level.sectors[554].SetPlaneLight(Sector.floor, level.sectors[500].GetLightLevel() - level.sectors[554].GetLightLevel()); + OffsetSectorPlane(588, Sector.floor, 928); + level.sectors[588].SetPlaneLight(Sector.floor, level.sectors[587].GetLightLevel() - level.sectors[588].GetLightLevel()); + OffsetSectorPlane(604, Sector.floor, 1056); + level.sectors[604].SetPlaneLight(Sector.floor, level.sectors[298].GetLightLevel() - level.sectors[604].GetLightLevel()); + OffsetSectorPlane(697, Sector.floor, 1136); + level.sectors[697].SetPlaneLight(Sector.floor, level.sectors[696].GetLightLevel() - level.sectors[697].GetLightLevel()); + OffsetSectorPlane(698, Sector.floor, 1136); + level.sectors[698].SetPlaneLight(Sector.floor, level.sectors[696].GetLightLevel() - level.sectors[698].GetLightLevel()); + OffsetSectorPlane(699, Sector.floor, 1136); + level.sectors[699].SetPlaneLight(Sector.floor, level.sectors[696].GetLightLevel() - level.sectors[699].GetLightLevel()); + OffsetSectorPlane(700, Sector.floor, 1136); + level.sectors[700].SetPlaneLight(Sector.floor, level.sectors[696].GetLightLevel() - level.sectors[700].GetLightLevel()); + break; + } + } } diff --git a/wadsrc/static/zscript/ui/menu/conversationmenu.zs b/wadsrc/static/zscript/ui/menu/conversationmenu.zs index 76b280578..453feb173 100644 --- a/wadsrc/static/zscript/ui/menu/conversationmenu.zs +++ b/wadsrc/static/zscript/ui/menu/conversationmenu.zs @@ -141,10 +141,9 @@ class ConversationMenu : Menu let ReplyText = Stringtable.Localize(reply.Reply); if (reply.NeedsGold) { - let trade = Stringtable.Localize("$TXT_TRADE"); + ReplyText.AppendFormat(" %s", Stringtable.Localize("$TXT_TRADE")); let amount = String.Format("%u", reply.PrintAmount); - trade.Replace("%u", amount); - ReplyText = ReplyText .. trade; + ReplyText.Replace("%u", amount); } let ReplyLines = SmallFont.BreakLines (ReplyText, ReplyWidth); diff --git a/wadsrc/static/zscript/ui/menu/menu.zs b/wadsrc/static/zscript/ui/menu/menu.zs index 6a6c96a80..4c4db1374 100644 --- a/wadsrc/static/zscript/ui/menu/menu.zs +++ b/wadsrc/static/zscript/ui/menu/menu.zs @@ -283,9 +283,9 @@ class Menu : Object native ui version("2.4") S_Sound (snd, CHAN_VOICE | CHAN_UI, snd_menuvolume, ATTN_NONE); } - static void DrawConText (int color, int x, int y, String str) + deprecated("4.0") static void DrawConText (int color, int x, int y, String str) { - screen.DrawText (ConFont, color, x, y, str, DTA_CellX, 16 * CleanXfac_1, DTA_CellY, 16 * CleanYfac_1); + screen.DrawText (ConFont, color, x, y, str, DTA_CellX, 8 * CleanXfac, DTA_CellY, 8 * CleanYfac); } static int OptionColor(int color) diff --git a/wadsrc/static/zscript/ui/menu/optionmenuitems.zs b/wadsrc/static/zscript/ui/menu/optionmenuitems.zs index f9aaec029..246710e94 100644 --- a/wadsrc/static/zscript/ui/menu/optionmenuitems.zs +++ b/wadsrc/static/zscript/ui/menu/optionmenuitems.zs @@ -721,13 +721,18 @@ class OptionMenuSliderBase : OptionMenuItem // //============================================================================= + private void DrawSliderElement (int color, int x, int y, String str) + { + screen.DrawText (ConFont, color, x, y, str, DTA_CellX, 16 * CleanXfac_1, DTA_CellY, 16 * CleanYfac_1); + } + protected void DrawSlider (int x, int y, double min, double max, double cur, int fracdigits, int indent) { String formater = String.format("%%.%df", fracdigits); // The format function cannot do the '%.*f' syntax. String textbuf; double range; int maxlen = 0; - int right = x + (12*8 + 4) * CleanXfac; // length of slider. This uses the old ConFont and + int right = x + (12*16 + 4) * CleanXfac_1; // length of slider. This uses the old ConFont and int cy = y + CleanYFac; range = max - min; @@ -743,14 +748,14 @@ class OptionMenuSliderBase : OptionMenuItem if (!mSliderShort) { - Menu.DrawConText(Font.CR_WHITE, x, cy, "\x10\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x12"); - Menu.DrawConText(Font.FindFontColor(gameinfo.mSliderColor), x + int((5 + ((ccur * 78) / range)) * 2 * CleanXfac_1), cy, "\x13"); + DrawSliderElement(Font.CR_WHITE, x, cy, "\x10\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x12"); + DrawSliderElement(Font.FindFontColor(gameinfo.mSliderColor), x + int((5 + ((ccur * 78) / range)) * 2 * CleanXfac_1), cy, "\x13"); } else { // On 320x200 we need a shorter slider - Menu.DrawConText(Font.CR_WHITE, x, cy, "\x10\x11\x11\x11\x11\x11\x12"); - Menu.DrawConText(Font.FindFontColor(gameinfo.mSliderColor), x + int((5 + ((ccur * 38) / range)) * 2 * CleanXfac_1), cy, "\x13"); + DrawSliderElement(Font.CR_WHITE, x, cy, "\x10\x11\x11\x11\x11\x11\x12"); + DrawSliderElement(Font.FindFontColor(gameinfo.mSliderColor), x + int((5 + ((ccur * 38) / range)) * 2 * CleanXfac_1), cy, "\x13"); right -= 5*8*CleanXfac; }