Commit Graph
137148 Commits
Author SHA1 Message Date
Andrea Boscarino b15ae51f8b SCUMM: Fix missing virtual dtor warning 2022-04-08 19:53:44 +02:00
Andrea Boscarino bab5ff89b4 SCUMM: Remove empty line 2022-04-08 19:53:44 +02:00
Andrea Boscarino 6fd84288a2 SCUMM: Fix typo in string_v7.h 2022-04-08 19:53:44 +02:00
Andrea Boscarino 1408d6f7e3 SCUMM: FT: Fix missing _talkDelay setup 2022-04-08 19:53:44 +02:00
Andrea Boscarino 47270487b6 SCUMM: Implement correct behavior for old style text overflow 2022-04-08 19:53:44 +02:00
Andrea Boscarino d3f756eedc SCUMM: Remove whitespace in nut_renderer.cpp 2022-04-08 19:53:44 +02:00
Andrea Boscarino c312cf8e7e SCUMM: FT (demo): Handle escape sequence 3 properly 2022-04-08 19:53:44 +02:00
Andrea Boscarino bd21f18d0c SCUMM: DIG (demo): Improve text accuracy
This is done just by adapting everything FT does to DIG demo, since they share the same exact code
2022-04-08 19:53:44 +02:00
Andrea Boscarino 9468d24958 SCUMM: FT/DIG: Fix line spacing accuracy 2022-04-08 19:53:44 +02:00
Andrea Boscarino 9f2e0f6d45 SCUMM: Clean up test assertions 2022-04-08 19:53:44 +02:00
Andrea Boscarino 31fca3be6d SCUMM: FT: Fix crash related to text handling 2022-04-08 19:53:44 +02:00
Andrea Boscarino 69022c5060 SCUMM: DIG (demo): Fix escape code 3 handling 2022-04-08 19:53:44 +02:00
Andrea Boscarino ede23b4a5e SCUMM: DIG (demo): Fix crash caused by unhandled escape codes 2022-04-08 19:53:44 +02:00
Andrea Boscarino 5963241222 SCUMM: FT: Fix text bugs 2022-04-08 19:53:44 +02:00
Andrea Boscarino ba0cbd2dc8 SCUMM: add support for FT with the new text handling 2022-04-08 19:53:44 +02:00
athrxx dcae67025e SCUMM: fix build 2022-04-08 19:53:44 +02:00
athrxx 2e249f1d00 SCUMM: (SCUMM7/8) - reduce deprecated code
- remove version7/8 clauses from code parts that these versions no longer use
- also fix typo/bug (semicolon after if clause)
2022-04-08 19:53:44 +02:00
athrxx acb665c109 SCUMM: (SCUMM7/8) - cleanup (text) verb drawing and Hebrew right-to-left drawing
(SCUMM7/8 only)
2022-04-08 19:53:44 +02:00
athrxx d9ca128863 SCUMM: (SCUMM7/8) - implement right alignment flag for text
The original has it, although it isn't used. It is not meant for right to left languages, it just right-aligns left-to-right texts. Since I'll only use it for Hebrew I have to upgrade it a bit...
2022-04-08 19:53:44 +02:00
athrxx de4513cdff SCUMM: (SCUMM7/8) - implement original text formatting flags for more flexibility 2022-04-08 19:53:44 +02:00
athrxx 997e2c4b05 SCUMM: (SCUMM7/8) - cleanup
- remove outdated code
- move things from V6 to V7
2022-04-08 19:53:44 +02:00
athrxx 78835f0318 SCUMM: (SCUMM7/8) - start cleaning up text verb drawing
(this commit actually makes more of a mess than it cleans up anything and it also kills Hebrew, but it's easier for me not to squash this)
2022-04-08 19:53:44 +02:00
athrxx f5f49d1b3f SCUMM: (SCUMM7/8) - improve ingame text wrapping and positioning for DIG and COMI
This fixes a couple of regressions (mostly camera related). For DIG it seems that the older version of the interpreter uses CharsetRenderClassic type text display while the newer version uses COMI style. I stick with the COMI style, but with the necessary tweeks to make it pixel perfect for all versions.

COMI (I've tested English and Chinese) seemed to be pixel perfect without having to do much, same for DIG Chinese (new interpreter version). Even the verbs seem to be fine, although I haven't changed anything there yet (applies to COMI only afaik, I think DIG doesn't have text verbs).

DIG English (old interpreter version) is another matter. That one wraps text quite differently. Our version looked quite different from the original. But now it also seems to be fine. I even fixed a weirdo problem with the character width (It seems that the fonts have some kerning data; if we use that like we did the 'a' character gets displayed too narrow by 1 pixel. So all lines containing 'a' characters were slightly off). I have examined several strings in several camera settings for pixel perfect drawing in DIG and all seems good now...

FT: I'll do that separately. I haven't even checked if it needs any fixing. Maybe it is fine already. But it sure would be nice to get rid of any redundancies...
2022-04-08 19:53:44 +02:00
athrxx 37e58e8420 SCUMM: (SCUMM7/8) - minor fix to string escape code handling
(the old values do not get restored)
2022-04-08 19:53:44 +02:00
athrxx 0256e92c25 SCUMM: (SCUMM7/8) - reorganize font rendering - second part
- Attach actor talk texts to the appropriate text renderer and get rid of redundant code.
- Cleanup subtitle text handling.
- Fix handling of ^codes.
- Fix more regressions from last commit.
- Correct some x/y positioning.
2022-04-08 19:53:44 +02:00
athrxx 1f56132725 SCUMM: (SCUMM7/8) - reorganize font rendering - first part
(inspired by PR 3276 - this here has the desired effect, but actually allows the removal of hacks, workarounds and redundancy code instead of adding more of that sort)

The purpose is to have the same accurate font rendering that we already have in the Smush code also for the ingame texts. The original interpreters draw the text like that, so this is not a weirdo invention of mine.

This is still broken. The main purpose was to get as much code done as necessary to have it at least compile again and correctly run the Smush texts.

The rest still needs quite some work...
2022-04-08 19:53:44 +02:00
athrxx 7fe7b30459 SCUMM: (SCUMM5/FM-Towns) - minor cleanup 2022-04-08 19:53:44 +02:00
athrxx 05980ff294 SCUMM: remove unneeded function 2022-04-08 19:53:44 +02:00
Andrea Boscarino d1764b52d0 SCUMM: COMI: Fix an oversight in enqueueText() 2022-04-08 19:53:44 +02:00
Andrea Boscarino addf810b9d SCUMM: Use getStringHeight() in v7-8 CHARSET_1() for pixel-perfect wrapping 2022-04-08 19:53:44 +02:00
Andrea Boscarino eb276dcf48 SCUMM: Fix typo 2022-04-08 19:53:44 +02:00
Andrea Boscarino 51394cc7bb SCUMM: COMI: Clean up code and separate SCUMM v7-8 code from v6 2022-04-08 19:53:44 +02:00
Andrea Boscarino 359a9718e7 SCUMM: COMI: Fix string wrapping when wrap flag is active 2022-04-08 19:53:44 +02:00
Torbjörn Andersson 378cf3a953 SCUMM: Make DOTT workaround optional
This workaround happens in some cases when Bernard interacts with the
chewing gum on the floor, where he will speak using Laverne's voice. See
bug #3803 for details. I've re-verified that it happens in the original
as well.
2022-04-08 16:37:03 +02:00
Torbjörn Andersson 8de5d3e0ca SCUMM: Work around Loom script bug to show correct sleeping Rusty close-up
Some versions of Loom will always show the close-up of sleeping Rusty
where he's wearing his own clothes. Later versions (e.g. FM Towns and
VGA) will show different close-ups depending on if you've used the
Reflection draft on him. So this adds that check to the older versions
as well.

The original fixed versions will look at a variable to determine if
you've  used the Reflection draft on Rusty. Unfortunately, it's not the
same variable across all versions - there are even different EGA
versions with different variables! - so instead we check if the Bobbin
actor has a different costume. That seems to work across all versions so
far.
2022-04-08 06:42:16 +02:00
Avijeet d770f87e48 GLK: Fix glk_window_iterate. 2022-04-07 18:33:47 -07:00
VAN-Gluon d9c6ba3229 I18N: Update translation (Japanese)
Currently translated at 100.0% (1729 of 1729 strings)
2022-04-07 19:27:35 +00:00
Purple T d1228aac2a I18N: Update translation (French)
Currently translated at 100.0% (1729 of 1729 strings)
2022-04-07 19:27:34 +00:00
Stian Schultz 320dac5b48 I18N: Update translation (Norwegian Bokmål)
Currently translated at 100.0% (1729 of 1729 strings)
2022-04-07 09:36:16 +00:00
Eugene Sandulenko 9a05b364d0 SCUMM: Fix warning when scumm-7-8 is not enabled 2022-04-07 11:12:06 +02:00
Eugene Sandulenko 4b98bd4129 I18N: Update translation (Ukrainian)
Currently translated at 100.0% (1729 of 1729 strings)
2022-04-07 09:03:15 +00:00
Eugene Sandulenko 20ab09f029 I18N: Update translation (Russian)
Currently translated at 100.0% (1729 of 1729 strings)
2022-04-07 09:03:10 +00:00
Marcel Souza Lemes ae77a29987 I18N: Update translation (Portuguese (Brazil))
Currently translated at 100.0% (1729 of 1729 strings)
2022-04-07 02:27:34 +00:00
ScummVM-Translations e0d4d10ca6 I18N: Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: ScummVM/scummvm
Translate-URL: https://translations.scummvm.org/projects/scummvm/scummvm/
2022-04-06 19:31:18 +00:00
Andrea Boscarino 2bc8dcc813 SCUMM: DiMUSE: Remove unused code 2022-04-06 21:31:05 +02:00
Andrea Boscarino fbc989d60f SCUMM: DIG/DiMUSE: Implement mouth sync times retrieval and handling 2022-04-06 21:31:05 +02:00
Andrea Boscarino 4e86347f93 SCUMM: DiMUSE: Improve readability of Trigger function calls 2022-04-06 21:31:05 +02:00
George Kormendi 9609cf5538 I18N: Update translation (Hungarian)
Currently translated at 100.0% (1729 of 1729 strings)
2022-04-06 17:17:34 +00:00
Antoniou Athanasios 607e109cce I18N: Update translation (Greek)
Currently translated at 100.0% (1729 of 1729 strings)
2022-04-06 17:17:28 +00:00
IlDucci 54420997bd I18N: Update translation (Spanish)
Currently translated at 100.0% (1729 of 1729 strings)
2022-04-06 15:11:43 +00:00