Commit graph

32 commits

Author SHA1 Message Date
Filippos Karapetis
a318189cf6 SCUMM: Simplify instantiation of the Doublefine file handler
Add a game flag for Doublefine packed games, and simplify
the instantiation of the PAK file handler. This avoids
clashes with other packed games (e.g. the Mac version of DOTT)
2024-12-20 13:20:51 +02:00
Filippos Karapetis
d2d08511b8 SCUMM: Hook up the PAK file manager in INSANE, NUT and SMUSH code
With this, the files of the classic version of FT found in the
remastered version are now properly handled
2024-12-20 13:20:51 +02:00
sluicebox
954f990ba1 SCUMM: Remove redundant check from NutRenderer. PVS-Studio V560
This same code appears a few lines earlier.
2023-10-31 14:20:26 -07:00
Vladimir Serbinenko
b06893a692 SCUMM: Support extracting resources from macbinary 2023-05-10 22:44:04 +02:00
AndywinXp
92454c2c0c SCUMM: SMUSH: Relabel codecs 1, 3 and 20 2022-12-21 19:58:17 +01:00
athrxx
6373dd1ffb SCUMM: (COMI/CJK) - fix GUI font
It it supposed to be drawn without outline for text color 0 (applies to COMI, only).
2022-08-07 20:10:00 +02:00
Eugene Sandulenko
b49a5d8866
SCUMM: Fix clashing overridden methods 2022-05-29 17:22:47 +02:00
Andrea Boscarino
d3f756eedc SCUMM: Remove whitespace in nut_renderer.cpp 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
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
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
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh
c2e7eeb563 SCUMM: Replace new[]/memset with new[]() 2021-11-10 19:53:15 +01:00
athrxx
7b3b47024b SCUMM: (COMI/CJK) - fix blast text shading and positioning
- COMI adds a y-Offset of 2 in CJK mode.
- The shadowed glyphs are used for all CJK font drawing, not only Korean. Also, the char height has to be adjusted by one pixel for the shadow.
2020-10-24 17:58:29 +02:00
athrxx
9ff197ef8b SCUMM: (DIG/CJK) - fix CJK Smush font drawing
- fix character spacing, vertical placement, clipping etc.
- in particular I rewrote SmushFont::drawStringWrap() and modified getStringWidth() and getStringHeight() to match COMI disasm (fully compatible with DIG, but a bit nicer)
- this actually also fixes some slightly misplaced English (or other standard font language) strings
2020-10-24 17:58:28 +02:00
wonst719
c23ac81e36 Fix non-MSVC build 2014-08-03 17:45:51 +09:00
wonst719
cbe54f71dd SCUMM: Implement text shadow in Korean COMI 2014-07-24 09:40:57 +09:00
Johannes Schickel
3847465163 SCUMM: Make GPL headers consistent in themselves. 2014-02-18 02:39:38 +01:00
Johannes Schickel
c05cb7f3bb SCUMM: Prefer getBasePtr over direct Surface::pixels access. 2013-08-03 02:52:31 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Max Horn
0ce2ca4e00 COMMON: Replace MKID_BE by MKTAG
MKID_BE relied on unspecified behavior of the C++ compiler,
and as such was always a bit unsafe. The new MKTAG macro
is slightly less elegant, but does no longer depend on the
behavior of the compiler.
Inspired by FFmpeg, which has an almost identical macro.
2011-04-12 16:53:15 +02:00
Johannes Schickel
600ab40bca Changed all delete [] usages to delete[].
svn-id: r31927
2008-05-07 14:31:45 +00:00
Nicola Mettifogo
258901bab9 Merged common/stdafx.h into common/scummsys.h. All referencing files have been updated.
svn-id: r28966
2007-09-19 08:40:12 +00:00
Max Horn
218e132e37 Updated legal headers in source files, based on what Pidgin (the IM client formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots
svn-id: r27024
2007-05-30 21:56:52 +00:00
Torbjörn Andersson
ea40535678 Applied the revised NUT font renderer patch #1635584, which combines cyx's
patch for correct (not to mention more efficient) rendering of CMI's shadowed
letters, while retaining most of the memory savings of my original patch. This
time, SMUSH and INSANE fonts also benefit from it.

svn-id: r25345
2007-02-03 05:50:35 +00:00
Gregory Montoir
3c8b67f3cf added missing MKID_BE macros
svn-id: r25224
2007-01-27 02:30:17 +00:00
Gregory Montoir
2b61c0d6c1 cleanup (made NutRenderer::loadFont protected, added call during initialisation of the renderer object)
svn-id: r25223
2007-01-27 02:26:37 +00:00
Gregory Montoir
10e45199c2 updated NutRenderer::drawShadowChar() comment
svn-id: r25210
2007-01-26 22:07:38 +00:00
Torbjörn Andersson
01a5faa6a0 Applied my own patch #1635584 (after discussing with Fingolfin) to reduce the
memory usage and number of allocations made by the NUT font renderer.

svn-id: r25155
2007-01-21 17:14:53 +00:00
Max Horn
bac32d1a5c Moved ScummFile etc. to the new file.cpp / file.h
svn-id: r21038
2006-03-03 15:16:02 +00:00
Max Horn
26ee630756 Moved engines to the new engines/ directory
svn-id: r20582
2006-02-11 22:45:04 +00:00
Renamed from scumm/nut_renderer.cpp (Browse further)