Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
fraggle

Boom Extended Help Screens: an undocumented feature

Recommended Posts

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.

Share this post


Link to post

So, graphic lumps called HELP01 up to HELP99 will work as extended help.

Share this post


Link to post
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.

Share this post


Link to post

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! ;-)

Share this post


Link to post

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 by JadingTsunami

Share this post


Link to post

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.

Share this post


Link to post
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.

Share this post


Link to post

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 by Redneckerz

Share this post


Link to post

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.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×