From c1de32896c5f06b7e0751bed8fd6f58a145de003 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sat, 12 Aug 2017 10:20:34 +0200 Subject: [PATCH] - addressed incorrect ACS printbold implementation: For native Hexen maps it will now be correct, but all others will have to set a flag in MAPINFO's 'gameinfo' section to avoid problems with numerous ZDoom maps depending on the incorrect implementation. --- src/gi.cpp | 1 + src/gi.h | 1 + src/p_acs.cpp | 5 ++++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/gi.cpp b/src/gi.cpp index a6efab358f..202122b324 100644 --- a/src/gi.cpp +++ b/src/gi.cpp @@ -376,6 +376,7 @@ void FMapInfoParser::ParseGameInfo() GAMEINFOKEY_BOOL(drawreadthis, "drawreadthis") GAMEINFOKEY_BOOL(swapmenu, "swapmenu") GAMEINFOKEY_BOOL(dontcrunchcorpses, "dontcrunchcorpses") + GAMEINFOKEY_BOOL(correctprintbold, "correctprintbold") GAMEINFOKEY_BOOL(intermissioncounter, "intermissioncounter") GAMEINFOKEY_BOOL(nightmarefast, "nightmarefast") GAMEINFOKEY_COLOR(dimcolor, "dimcolor") diff --git a/src/gi.h b/src/gi.h index be46aabfa9..97ce7f99cd 100644 --- a/src/gi.h +++ b/src/gi.h @@ -114,6 +114,7 @@ struct gameinfo_t bool nightmarefast; bool swapmenu; bool dontcrunchcorpses; + bool correctprintbold; TArray creditPages; TArray finalePages; TArray infoPages; diff --git a/src/p_acs.cpp b/src/p_acs.cpp index fa62ac2c12..37aef6fadf 100644 --- a/src/p_acs.cpp +++ b/src/p_acs.cpp @@ -8765,7 +8765,10 @@ scriptwait: if (pcd == PCD_ENDPRINTBOLD || screen == NULL || screen->CheckLocalView (consoleplayer)) { - C_MidPrint (activefont, work); + if (pcd == PCD_ENDPRINTBOLD && (gameinfo.correctprintbold || (level.flags2 & LEVEL2_HEXENHACK))) + C_MidPrintBold(activefont, work); + else + C_MidPrint (activefont, work); } STRINGBUILDER_FINISH(work); }