fraggle Posted January 20, 2020 Most people making Boom-compatible maps are familiar with the set of features that Boom added, which are extensively documented in BOOMREF.TXT: raised limits, extended linedef and sector types, and so on. However, I discovered yesterday that there's one feature not documented in there and I decided that a thread on Doomworld was a good place to inform people. I've also made a very silly WAD file to demonstrate the feature. Extended Help Screens allow WAD authors to embed extra fullscreen help screens into WADs, which are displayed after the usual HELP2 and CREDIT screens when you choose "Read This!" from the main menu. Unfortunately they only work with doom.wad and not with doom2.wad, since doom2.wad doesn't have "Read This!" on the main menu - I think this is an oversight by the Boom developers. You can browse forward and backward through the help screens by pressing enter and backspace. In terms of compatibility: it was added in Boom; PrBoom+ still supports the feature. SMMU doesn't have it because I rewrote the menus, but Eternity Engine added it back. (G)ZDoom doesn't seem to support it. As a demo I've created sherlock.wad, which contains the complete text of the Sherlock Holmes short story "The Adventure of the Speckled Band". It's one of the best rated Sherlock Holmes stories, so if you really do start reading then you probably won't be disappointed. It's 82 pages of 320x200 text. Screenshots: 40 Quote Share this post Link to post
Walter confetti Posted January 20, 2020 Now, that's a really interesting find... Good job fraggle! 0 Quote Share this post Link to post
Scypek2 Posted January 20, 2020 This is fun! And in Eternity it also works with Doom 2. I once tried to use MAPINFO to have a lot of help screens in ZDoom, but I was displeased to find out that, despite the limit not being explicitly stated anywhere, you can only have around 3 of them. 1 Quote Share this post Link to post
Gez Posted January 20, 2020 So, graphic lumps called HELP01 up to HELP99 will work as extended help. 2 Quote Share this post Link to post
fraggle Posted January 21, 2020 20 hours ago, Gez said: So, graphic lumps called HELP01 up to HELP99 will work as extended help. Thanks, yes - the most important detail that I somehow left out of the original post. 2 Quote Share this post Link to post
ketmar Posted January 22, 2020 thanks for sharing this bit of info. i always thought that standard help screens are mostly useless now (with hardcoded keybinds? eh... ;-), and some mod can tell a story with new help screens, but there are only two (at most)... and the feature was there all the time. added support for it to the upcoming k8vavoom. now i can read that Sherlock Holmes story, finally! ;-) 1 Quote Share this post Link to post
SilverMiner Posted January 30, 2020 I think I have to reread whole boom202 code to find something like that 0 Quote Share this post Link to post
JadingTsunami Posted February 2, 2020 (edited) I may be misremembering, but as I recall the idea was the F1 key would still bring up the help menu even in Doom 2 with Boom. So the extended help screens would appear after the initial "Boom" help screen even in Doom 2 ports without the menu item. Also I believe the initial help screen was made dynamic, so key/value pairs appeared were correct even if they had been re-bound. EDIT: On further inspection I suspect Lee broke this functionality after Rand added it, and the bug was never discovered...until now I guess. :) EDIT2: Indeed I do believe that is what happened. In the Boom Beta, this functionality works as intended, but it is broken after that. Edited February 2, 2020 by JadingTsunami 3 Quote Share this post Link to post
Redneckerz Posted February 3, 2020 I can imagine creating a trimmed down exe out of this that solely exhibits this feature so you could have some sort of visual novel like program in a limited version. I can also imagine that with some additional code, this could be used to drive a continious story mid-game. 0 Quote Share this post Link to post
Alper002 Posted February 3, 2020 (edited) 16 minutes ago, Redneckerz said: I can also imagine that with some additional code, this could be used to drive a continious story mid-game. The first thing that comes to mind when you mention this is the end-of-episode text screens in Wolfenstein 3D, which had pages of text to read. Only difference would be that there'd possibly be more pictures using something like this. Edited February 3, 2020 by Alper002 0 Quote Share this post Link to post
Redneckerz Posted April 11, 2020 (edited) Update: Bumping this topic based on Grazza's post detailing the 2.00 public Beta release of Boom. There was also a Development test Beta. The beta introduces the Extended Help Screen feature. Since then, i have to revise some of my words - The Beta obviously introduced the bug. Its also links to a few posts made specifically here, but still, having historic links to the first beta and 2.00 might be useful. drfrag tagged me asking if this Beta was lost. So i did some digging: 23 hours ago, Redneckerz said: So that's two weeks before the initial 2.00 release. *Quick checks* I found a post confirming that the first public beta was released on March 31, 1998, by a post from Grazza himself in 2018. Incidentially, it links to the same zip file as Grazza linked above, called boombet0.zip. So technically, no, that beta was not lost, just never considered as such :P The first official release of the beta, to beta testers only, was released March 3, 1998, as mentioned in this post. The annoying thing is that i can see the text belonging to the post (Its a Doomworld post) but i can't access or link it because its in a search result, and DW's search does not work atm. :< Another post reveals that this Beta apparently introduced the functionality for the Extended Help Screens that @fraggle discussed in January, but a bug later got introduced by Lee Killough that the Beta does not have.@JadingTsunami was the author of those two posts.EDIT: I managed to get the links to these posts as visiting a user profile page and then their Topics or Posts still work.EDIT2:@Revenant100 linked to a site in this 2018 post. That link contains a files repository of old rare Doom stuff, including boom200.zip. It also links to a zip file of a debug build of BZDoom, a port whose zips were long lost, but it is broken. One useful resource is Operation Boom, rather unusually, a Japanese site that kept track of a lot of Boom related news and downloads and has the accurate release date for GLBoom-Beta (2000-04-10) They came in real handy when covering the hilariously named Steve Boom and PrjDoom ports. The following is related quotes between me and @JadingTsunami to continue the discussion here: 16 hours ago, JadingTsunami said: Yes, I remember I did find the bug in the source code. It looked like some refactoring Lee had done broke the data structure pointers. 15 hours ago, Redneckerz said: But the bug is not present in Boom 2.01/2.02, PrBoom or PrBoom+ or such? 14 hours ago, JadingTsunami said: The bug is still there to this day. It has never been fixed (as far as I know). The fix is not complicated. I thought of submitting a PR but realized there's nowhere to submit such a thing. :) 14 hours ago, Redneckerz said: How come Fraggle was able to do his wad then? I personally think Extended Helper Screens have potential. 14 hours ago, JadingTsunami said: I fear I may be thread-jacking so perhaps we should start a new thread after this, but to answer your question the bug affects Doom 2 only. From that thread: Emphasis mine. But, this wasn't an oversight - it's a proper bug. The intended functionality was that the F1 help menu would be extended by the user-defined help screens, which would work in Doom and Doom 2. Edited April 11, 2020 by Redneckerz 1 Quote Share this post Link to post
JadingTsunami Posted April 11, 2020 Here is how Rand Phares intended the Extended Help code to work, taken from his developer's log. Indeed, if you download and play the test WAD with the Boom beta release, or even the Boom final release, you'll find the Extended Help screens work in both Doom and Doom 2 using the F1 help key and the enter/backspace keys to navigate. But, in modern Boom ports (like PrBoom, PrBoom-Plus, etc.) these do not work. Here's the behavior at this point: ID Shareware [Read This]->ad [Enter key]->old help BOOM Shareware [Read This]->ad [Enter key]->new help ID Shareware [F1]->ad [Enter key]->old help BOOM Shareware [F1]->new help [Enter key]->menu ID DOOM [Read This]->ad [Enter key]->old help BOOM DOOM [Read This]->ad [Enter key]->new help ID DOOM [F1]->ad [Enter key]->old help BOOM DOOM [F1]->new help [Enter key]->menu ID Ult DOOM [Read This]->old help [Enter key]->menu BOOM Ult DOOM [Read This]->credits [Enter key]->new help ID Ult DOOM [F1]->old help [Enter key]->menu BOOM Ult DOOM [F1]->new help [Enter key]->menu ID DOOM2 [F1]->old help [Enter key]->menu BOOM DOOM2 [F1]->new help [Enter key]->menu In the PrBoom-Plus Source code: menuitem_t HelpMenu[]= // killough 10/98 { {1,"",M_FinishHelp,0} }; if (ch == key_help) // Help key { M_StartControlPanel (); currentMenu = &HelpDef; // killough 10/98: new help screen itemOn = 0; S_StartSound(NULL,sfx_swtchn); return true; } menu_t HelpDef = // killough 10/98 { help_end, &HelpDef, HelpMenu, M_DrawHelp, 330,175, 0 }; So it appears that around October 1998 Lee inserted a new help screen, which blasted away Rand's changes from Boom. Why did Lee do this? The closest evidence is from his developer's log around that same time: Quote 10/20/98 -- Changes (...removing unrelated stuff...) * Tidying up menus. It seems that Lee wanted to clean up the menu handling and so consolidated help to a single menu definition instead of calling a version of the "Read This!" help screen handlers. In doing so he (probably accidentally, though we may never know) broke the Extended Help functionality. The fix would be to ensure the Extended Help handler is called when the "help" key is pressed. This could be achieved by reverting to the Boom source code handler for the help key (this would be an easy fix), or refactoring the entire menu system similar to what Lee intended to do with his MBF simplifications. 2 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.