I think you are on the right track with this.<div><br></div><div>The complexity of the top level menu editor is also what made me shy away from wanting to merge choice boxes and menus in the past.</div><div><br></div><div>So I think that yes, this is a good plan.<br><br>On Monday, November 19, 2018, Ralph Versteegen <<a href="mailto:teeemcee@gmail.com">teeemcee@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Tue, 20 Nov 2018 at 15:47, Ralph Versteegen <<a href="mailto:teeemcee@gmail.com">teeemcee@gmail.com</a>> wrote:<br>
><br>
> So (on a whim) I was about to start on a HeartBug request to add more<br>
> textbox choices and allow longer choice text. For years, I've held off<br>
> doing any such thing, thinking it would be better to just convert<br>
> choices to menus, or at least, to convert SAY to RELOAD. But that<br>
> still seems a long way off, due to the weird ways textboxes and menus<br>
> interact, which I don't look forward to trying to solve. Plus I didn't<br>
> totally like the idea, because the menu editor is scary and not  so<br>
> convenient, while the choicebox editor is wonderfully simple.<br>
><br>
> Now, extending the length of the two existing choice text will be<br>
> messy, but doable. SAY is already the messiest of all lumps, anyway.<br>
><br>
> But if there are more than 2 choices (I was thinking, say, 5), then<br>
> setting a tag to determine the next textbox/script isn't going to work<br>
> well for more than two choices. Better to just directly set the next<br>
> textbox/script on a choice. Not having to name a tag, set it, and test<br>
> it in the conditionals menu will be huge improvement too!<br>
><br>
> ...Would be nice if you could set choice colors too.<br>
><br>
> Putting all this in the choice menu (and in SAY) would be really<br>
> messy, it would be better to have... the menu item detail editor.<br>
><br>
> We already have support for multiple files containing MenuDefs and<br>
> MenuDefItems (the MenuSet UDT), though I don't know why that was<br>
> implemented.<br>
> So I'm proposing converting the choice box in-game to a MenuDef,<br>
> adding a new menuitem lump for choicebox items, but not a new lump for<br>
> the choicebox menu itself. Many of the settings in MenuDef don't make<br>
> sense (eg on-close script, most bits) or are determined by the<br>
> textbox.  Omitting the top-level menu editor will make the choicebox<br>
> editor simpler. Plus we can very easily add it and a dedicated lump<br>
> later, with no backcompat headache.<br>
To clarify, I proposing only embedding the menu item editor in the choicebox<br>
editor, not the menu editor, and likewise only storing the MenuDefItems<br>
in a new textbox_choices.bin lump, not any MenuDef. (Though we could make<br>
part of the MenuDef editable and just store it in SAY)<br>
<br>
The nice part of this plan is that SAY doesn't even need modifying! Only<br>
an upgrade is needed to copy the existing choices to textbox_choices.bin<br>
<br>
><br>
> Maybe I will hide a couple of the things in the menu item detail menu<br>
> - the extra data and the "Close when selected bitset. Maybe I should<br>
> disallow the Special menu item type too? But I don't really see a<br>
> reason to.<br>
><br>
> For now, the choicebox menu could just be unable to scripts until the<br>
*unavailable to scripts<br>
<br>
> textbox-menu mess is cleaned up. Or maybe handles for menu items in<br>
> the choice menu could be obtained with a special script command.<br>
><br>
> The only problem I see is that the choicebox currently has some<br>
> slices, and if they are replaced with a draw_menu call (which can be<br>
> done from a SpecialSlice to ensure correct layering/position), they<br>
> could break scripts. Actually, I doubt anyone uses them anyway.<br>
> But actually, I could easily enough create a new function to set up a<br>
> rect slice, scroll slice and text slices to draw a MenuDef.<br>
______________________________<wbr>_________________<br>
Ohrrpgce mailing list<br>
<a href="mailto:ohrrpgce@lists.motherhamster.org">ohrrpgce@lists.motherhamster.org</a><br>
<a href="http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org" target="_blank">http://lists.motherhamster.<wbr>org/listinfo.cgi/ohrrpgce-<wbr>motherhamster.org</a><br>
</blockquote></div>