Changed the names of the pointers to GraphicsManager
and CursorManager to be shorter, since they were
inconsistent with the rest of the managers, and typing
them out is a chore.
Replicating a bug in the original engine, where a value
from TBOX is used in all rendering, resulting in all wrapped
textlines appearing slightly indented inwards.
Fixed a couple issues when handling hypertext tokens
using the new API in Common::Tokenizer:
- The sound file names that were accidentally left in some
dialogue in nancy6 scenes 1953 and 1954 no longer get
rendered as part of the text.
- Short text strings now get rendered correctly. This fixes
the HAM radio puzzle input readout.
- Hypertext tokens now have checks for proper size;
otherwise, the offending token is output to the newly
created kDebugHypertext debug channel.
Implemented the action record that, despite what its name
suggests, is actually responsible mostly for scrolling text
(e.g. Nancy's journal, the instructions to the Bul minigame).
Introduced in nancy6.
Implemented the Autotext record type, which is used for
text rendering (prior to its introduction in nancy6, all
in-game text was prerendered). Made relevant changes to
the Overlay and Hypertext classes to support it.
Fixed (hopefully) all issues with color changes in text being
in incorrect positions. The new algorithm ignores all
whitespace characters when counting how much has been
drawn on screen, as they, combined with word wrapping,
were the source of the miscounting.
Modified the Textbox code so the conversation font is no
longer the default, but rather has to be requested by
Conversation types. This fixes the nancy6 tutorial having
a blue highlighted text while explicitly needing red.
Single whitespaces at the beginning of a line now get
cleared (hopefully) without impacting color changes. Also,
the height at which scrolling stops is now closer to the
original engine's.
Fixed some incorrect assumptions about the data found
inside TBOX and FONT boot chunks. Made relevant changes
to HypertextParser to reflect the new data.
Added a separate class for handling hypertext (tagged
text used in conversations, etc) in preparation for the
addition of Autotext, which will also use it.