Commit graph

39 commits

Author SHA1 Message Date
Scott Percival
afdc7a91fa DIRECTOR: Add entities/fields new to Director 5 2025-02-04 15:24:17 +01:00
Eugene Sandulenko
dc52513ed3
DIRECTOR: Keep formatting for empty STXT resources
This effectively reverts 77582aa823
and fixes mcluhan-win that is checking fonts for presence in this manner
in its startup movie:

  if the textFont of field 4 < "McLuhan13" then
    alert("The provided McLuhan fonts are not installed.  Please reinstall Understanding McLuhan.")
    quit()
  end if
2024-05-26 00:50:57 +02:00
Eugene Sandulenko
704538a424
DIRECTOR: Better resetting of font info in case of empty STXT resource
Fixes hellcab all messages
2024-01-03 14:02:30 +01:00
Eugene Sandulenko
77582aa823
DIRECTOR: Better handling of empty STXT resources 2023-12-26 02:00:44 +01:00
Eugene Sandulenko
5d2d393c4b
DIRECTOR: Fix textcast dimensions when initial text is empty and AdjustToFit is set
In this case, we need to ignore the font formatting as there could be
a leftovver from the previous edits.

We also recalculate the dimensions to the minimal height as that is used
as basis for textbox extension during edits or text inserts.

Fixes 'number of chars' in 'Lingo Workshop'
2023-12-26 01:41:05 +01:00
Scott Percival
c79c32accb DIRECTOR: Refactor Stxt/TextCastMember to use raw strings
There is now _rtext, an untouched copy of the original data.
For compatibility, _ftext and _ptext are kept the same.

In addition, this change removes most of the workaround logic from
b_installMenu, as it can now parse the menu string directly.
2023-01-19 12:12:21 +01:00
Scott Percival
5a95bb2ead DIRECTOR: Fix b_installMenu string decoding
installMenu loads a menu definition from a text cast member. In our
implementation, at load time we coerce the contents to Unicode based on
the platform encoding. Unfortunately for us, Macromedia decided to use
two non-ASCII codepoints for indicating checkmarks and code separators,
which are evaluated as the byte value instead of whatever physical
character they correspond to.

Amending this is slightly hacky, as the UTF-8 equivalent of these
codepoints is two bytes long. The text is first normalised to remove the
platform transformation. The checkmark UTF-8 sequence is replaced with
the single byte equivalent, to maintain compatibility with MacMenu.
Finally, the code separator UTF-8 sequence is used to split the line
between menu definition and script definition.

Fixes the menu system in Eastern Mind.
2022-07-24 23:38:10 +02:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
djsrv
fc25ba3af5 DIRECTOR: Keep original line endings in STXT 2021-07-15 16:31:47 -04:00
djsrv
52af0ac82e DIRECTOR: Create DirectorEngine::getPlatformEncoding 2021-07-15 16:31:47 -04:00
djsrv
acf0b1fbcf DIRECTOR: Escape non-printable STXT characters before logging 2021-07-12 15:41:21 -04:00
djsrv
ac5dfc64f6 DIRECTOR: Fix text formatting in The Apartment 2021-07-12 01:47:30 -04:00
djsrv
f1ddc4b346 DIRECTOR: Handle STXT encoding 2021-07-12 00:38:05 -04:00
djsrv
6408f6023a DIRECTOR: Rename FontInfo to FontMapEntry 2021-07-12 00:38:05 -04:00
djsrv
f64e941eef DIRECTOR: Add comment about ignored char mapings 2021-07-06 16:47:20 -04:00
djsrv
a2848f5dba DIRECTOR: Handle FXmp mappings in loadFontMapV4
The previous way I handled the FXmp mappings overcomplicated MacText.
It also resulted in behavior different from the original Director.  With
the previous implementation, if a Win movie with Arial text was opened
with the platform set to Mac, the textFont of field 1 would return
Arial, while it would return the mapped font name Helvetica in the
original. This implementation's behavior should match the original.
2021-07-06 16:47:20 -04:00
djsrv
8e2c8ee2d4 DIRECTOR: Map fonts in FontStyle::read
The previous place I was mapping the font IDs didn't catch everything,
breaking text with more than one style.
2021-07-04 10:07:27 -04:00
djsrv
baacf3c1ab DIRECTOR: Replace SeekableSubReadStreamEndian
Use the superclass SeekableReadStreamEndian.
2020-08-12 17:26:55 -04:00
Eugene Sandulenko
e693076558 DIRECTOR: Set the cast size for bitmaps, sounds and texts 2020-07-21 18:53:28 +02:00
djsrv
e4caa3d514 DIRECTOR: LINGO: Fixed shared cast patching 2020-07-20 17:13:07 -04:00
Eugene Sandulenko
8a9f5dec72 DIRECTOR: Load text formatting for CastInfo 2020-07-15 01:43:16 +02:00
Eugene Sandulenko
7a14a762df DIRECTOR: Refactor FontStyle loading 2020-07-15 01:43:16 +02:00
Eugene Sandulenko
d90e2f06ec DIRECTOR: Init Stxt for D4 variant 2020-07-06 12:08:03 +02:00
Roland van Laar
a86e326967 DIRECTOR: handle unk1 -> offset change in debugtext 2020-07-03 22:34:31 +02:00
Roland van Laar
1216106d8c DIRECTOR: Rename unk1 to offset
unk1 is observed to be always 12, the offset at which
the stxt text is read.
2020-07-03 22:29:58 +02:00
Roland van Laar
1b3995bd3f DIRECTOR: stxt handle stream of size 0
An stxt can have a stream size of 0, we skip handling those.
2020-07-03 22:29:58 +02:00
Eugene Sandulenko
7537528034 JANITORIAL: Whitespace fixes 2020-06-06 18:43:18 +02:00
Eugene Sandulenko
af9d122b0d DIRECTOR: Initialize Stxt 2020-04-03 23:33:27 +02:00
Eugene Sandulenko
cf7b86ceb9 DIRECTOR: Furhter work on header dependency decrease 2019-12-24 00:19:27 +01:00
Eugene Sandulenko
121e42b88d DIRECTOR: More work on reducing header dependency 2019-12-24 00:19:27 +01:00
Eugene Sandulenko
9a2371ddfb GRAPHICS: MACGUI: Fixed text format parsing 2019-12-14 00:37:45 +01:00
Eugene Sandulenko
a35259dc0d GRAPHICS: MACGUI: Implemented non-binary version of inline text formatting 2019-12-11 21:45:55 +01:00
Eugene Sandulenko
c106675294 DIRECTOR: Store original Stxt value 2019-12-11 00:45:12 +01:00
Eugene Sandulenko
ff68862ecc DIRECTOR: Escape Stxt debug output 2019-12-11 00:45:12 +01:00
D G Turner
b3c1ed66e4 DIRECTOR: Fix GCC Compiler Warnings. 2017-08-02 13:26:29 +01:00
Eugene Sandulenko
73c5c85210 DIRECTOR: Clarified STXT field names 2017-08-01 10:42:22 +02:00
Eugene Sandulenko
bfd2b487eb DIRECTOR: Fix code formatting 2017-05-02 22:06:59 +02:00
Eugene Sandulenko
c750d17b0c DIRECTOR: Fix #include paths 2017-05-02 22:04:21 +02:00
Tobia Tesan
4ae5453af8 DIRECTOR: Add stxt.cpp 2017-05-02 21:01:23 +01:00