Commit Graph
15 Commits
Author SHA1 Message Date
Kaloyan Chehlarski b1a861b50d NANCY: JANITORIAL: Fix trailing whitespace/tabs 2024-02-19 20:46:17 +01:00
Kaloyan Chehlarski b2231ac3cd NANCY: Implement Autotext with hotspots
Added support for hotspots that link to a new scene,
as introduced in nancy9.
2024-02-11 22:53:22 +01:00
Kaloyan Chehlarski 4d5c4fcfcc NANCY: Rename graphics and cursor managers
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.
2024-02-11 00:41:29 +01:00
Kaloyan Chehlarski ff39bce6ea NANCY: Implement drawing Autotext marks
Marks are the special symbols introduced in nancy8,
and are used in the task list to mark done/not done tasks
using a checkmark graphic.
2024-02-08 23:12:33 +01:00
Kaloyan Chehlarski c49c10432c NANCY: Respect text end marker
It appears the <e> marker also expects the text
renderer to ignore everything past it. Doing so fixes the
broken string in nancy7 scene 5770.
2024-02-04 16:29:55 +01:00
Kaloyan Chehlarski f3fee34f42 NANCY: Indent Autotext when wrapping
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.
2024-01-30 23:13:12 +01:00
Kaloyan Chehlarski 9a549a88b2 NANCY: Implement Autotext images
Added support for images inside Autotext. Used extensively
in nancy7.
2024-01-30 23:13:12 +01:00
Kaloyan Chehlarski 28fbde9bff NANCY: Improve hypertext token heuristic
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.
2024-01-16 23:01:40 +01:00
Kaloyan Chehlarski eaf0c56182 NANCY: Implement PeepholePuzzle
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.
2023-09-23 21:59:40 +03:00
Kaloyan Chehlarski 120160b6e4 NANCY: Implement Autotext
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.
2023-09-23 21:59:40 +03:00
Kaloyan Chehlarski 58e89ed1a9 NANCY: Make sure text color changes in correct positions
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.
2023-09-22 13:37:27 +03:00
Kaloyan Chehlarski 09a21ad755 NANCY: Set correct default textbox font
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.
2023-09-20 16:16:22 +03:00
Kaloyan Chehlarski ed49ad1102 NANCY: Improve textbox rendering
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.
2023-09-19 17:38:26 +03:00
Kaloyan Chehlarski 3bbd8e6bb5 NANCY: Improve TBOX and FONT chunk reading
Fixed some incorrect assumptions about the data found
inside TBOX and FONT boot chunks. Made relevant changes
to HypertextParser to reflect the new data.
2023-09-19 17:38:24 +03:00
Kaloyan Chehlarski fa522ff939 NANCY: Move hypertext handling outside Textbox
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.
2023-09-19 17:38:24 +03:00