WheelMUD icon indicating copy to clipboard operation
WheelMUD copied to clipboard

Couple Paging prompt issues

Open DavidRieman opened this issue 4 years ago • 2 comments

Right now the "help colors" output renders just enough to do paging, but it says "97%" scrolled. Nothing more displays when telling it to render More, so this scenario is a bit awkward.

  • Perhaps the colors.txt having a blank line at the end is interfering?
  • Perhaps the paging will prompt even when there is only one line left, which could have been rendered in place of the paging line to begin with? Look into the algorithm used.
  • The output seemed to be scrolled for me despite the pager; Is it even honoring the connection's cited total columns correctly?

Bonus:

  • The paging prompt (at least the non-MXP one) also isn't very pretty/distinctive from natural output; could use some ANSI coloring to highlight the option letters or something, at least.
  • Telnet.exe+WheelMUD doesn't seem to be negotiating the actual user's rows+columns correctly. Is this our fault or a limitation of that app?

After looking into and hopefully fixing some of the above, let's discuss and/or split out remaining issues to new tickets?

DavidRieman avatar Jan 07 '21 09:01 DavidRieman

Looking closer, the paging system is causing more issues. It is tied to the issues causing our default prompts like "> " to not appear anymore. It also uses temporary characters to try to "remember" where some ANSI tokens should go, and could perhaps be fooled by a clever player to screw up some output. Also, I think the word wrapper would have considered each ANSI token as a character towards reaching the word wrap limit, so one would likely notice a highly-colored line, for instance, wrapping too soon.

Ultimately, the output formatting needs to use a proper "tokenization" system (much like a typical code parser) together with the word wrapping system to prepare the output for the client. This may solve additional problems with the way the current ANSI conversions from parts like <%token%> work, too. I'm exploring this work now.

DavidRieman avatar Feb 21 '21 10:02 DavidRieman

I have a bunch of this code done locally, a new gameplay prompt renderer allowing for customization the way things like room renderers are, added "Begin" lifecycle calls to better manage and time session state introductory output (and get the correct prompt instead of the old one), made a pass through char creation to improve output and prompting consistency, prompts now leave the input cursor on the same line as the prompt output for a familiar shell-like feel (for applicable telnet clients), the output is processed in a much safer tokenizing way (including better ANSI handling), prepared for AutomaticLoginCommand, and more.

Couple bugs I want to work out before pushing up though:

  • I've got an issue with unintentionally losing opening white space on output lines, which especially deforms ASCII art from the login, and so on.
  • An extra prompt occurs during char creation finalization or after password entry, when entering the world. I might live with this one and just track another ticket for solving it though.
  • Sometimes contexts have double-prompting. (Better than missing prompting, perhaps? LOL)
  • Need to remember to remove my forced-5-line More prompting and review for other test hacks.

DavidRieman avatar Feb 27 '21 11:02 DavidRieman