Commit Graph

135 Commits

Author SHA1 Message Date
wonst719
d2aedb650b SCUMM: Cleanup Korean Multi-font code
- Remove unused code
- Fix uninitialized variables
2020-11-17 03:06:21 +09:00
wonst719
7cfd3feec6 SCUMM: Fix OOB access in CharsetRendererPC::drawBits1Kor() 2020-11-15 17:33:49 +09:00
wonst719
a9541ca48b SCUMM: Cleanup Korean line break processing 2020-11-10 01:10:09 +09:00
wonst719
4246929148 SCUMM: Move CharsetRenderer::isScummvmKorTarget() to ScummEngine 2020-11-08 13:34:44 +09:00
athrxx
6000a0b472 SCUMM: (MI1/SegaCD/JP) - fix bug 11943
(SCUMM: Invalid text rendering with Monkey Island 1 (SegaCD Japanese))

Only add vs->xstart offset if the font is actually rendered on the vs.
2020-11-07 19:59:41 +01:00
Eugene Sandulenko
f8216ed85f SCUMM: Fix warning 2020-11-06 19:53:05 +01:00
Eugene Sandulenko
100688c225 SCUMM: Moved out Korean-specific code into separate methods 2020-11-06 19:53:05 +01:00
Eugene Sandulenko
819dd59f77 JANITORIAL: Formatting fixes 2020-11-06 19:53:05 +01:00
wonst719
1a0c320616 SCUMM: Fix deepcode warning
- use memcpy() instead of strcpy() to insert linebreak character
2020-11-06 19:35:34 +01:00
wonst719
145617ce69 SCUMM: Hacks for alternative Korean line-break 2020-11-06 19:35:34 +01:00
wonst719
0818564531 SCUMM: Fix deepcode warning from multifont load method
- use snprintf() instead of sprintf()
2020-11-06 19:29:47 +01:00
wonst719
345771f574 SCUMM: Add multi-font support for Korean fan translated games 2020-11-06 19:29:47 +01:00
wonst719
9a54c220c4 SCUMM: Enable basic Korean fan translation 2020-11-06 19:26:50 +01:00
athrxx
7b7bea9fe5 SCUMM: (DIG/Korean) - fix Korean newline character
(I haven't seen any cases where it matters, but it should be correct nonetheless)
2020-10-31 15:46:23 +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
4a7b720a31 SCUMM: whitespace 2020-10-24 17:58:29 +02:00
athrxx
e665730d3d SCUMM: (DIG/CJK) - fix bug in charset rendering
This fixes the bug shown in the fourth row of screenshots in ticket no. 11656 (DIG Asteroid scene). That bug could basically appear in any other scene which uses the xstart offset.
2020-10-24 17:58:29 +02:00
athrxx
afef3d71cb SCUMM: (DIG/CJK) - fix blast text rendering and positioning
- fix getStringWidth()
- fix string translation
- skip special newline character when drawing text
2020-10-24 17:58:28 +02:00
athrxx
b476e69b9d SCUMM: (DIG/CJK) - fix 2byte font glyph shadows
All CJK versions use the same shading. The original code hardly ever diverges for the different languages (mostly for accessing the character bitmap data from the font files).
2020-10-24 17:58:28 +02:00
Eugene Sandulenko
58eff4c60a SCUMM: Reuse common sjis.cpp code for chunk calculation 2020-08-31 23:46:50 +02:00
Eugene Sandulenko
d079b7d984 SCUMM: Restore Japanese rendering in SCUMM v7+
This partially reverts c841c3fb7c
...And for almost 10 years nobody noticed...
2020-08-31 23:19:16 +02:00
athrxx
1f42999a7c GRAPHICS: implement left sided shadowing for SJIS font
The current shadow mode draws a shadow on the right side of the character. This allows drawing one on the left.
Adapt LOOM/PCE accordingly.
2019-12-18 20:50:44 +01:00
Colin Snover
9916b26383 SCUMM: Replace UB-triggering serialization code with Common::Serializer
Fixes Trac#10342.
2018-01-31 17:58:01 +01:00
wonst719
e3e1f46a62 SCUMM: Fix Korean/Taiwanese text line break in The DIG 2014-07-23 17:59:07 +09:00
wonst719
e4f845a1a3 SCUMM: Fix text shadow in The DIG Korean. 2014-07-23 16:16:06 +09:00
wonst719
4fc58ff7ee SCUMM: Fix non-Towns CJK text rendering 2014-07-23 13:43:20 +09:00
Johannes Schickel
3847465163 SCUMM: Make GPL headers consistent in themselves. 2014-02-18 02:39:38 +01:00
Johannes Schickel
6485b291e9 SCUMM: Fix Loom (and some other graphics regressions).
These are regressions from c05cb7f3bb. They were
caused by VirtualScreen::getPixels differing from Surface::getBasePtr and I
accidently used the former in some cases in the conversion.

I also fixed a bug in debugger.cpp which exchanged x and y.
2013-08-04 02:29:13 +02:00
Johannes Schickel
0a1cbac76a SCUMM: Take advantage of Surface::getPixels. 2013-08-03 04:02:50 +02:00
Johannes Schickel
c05cb7f3bb SCUMM: Prefer getBasePtr over direct Surface::pixels access. 2013-08-03 02:52:31 +02:00
Johannes Schickel
89abab97e3 JANITORIAL: Remove trailing whitespaces.
Powered by:
git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
2012-09-26 04:17:55 +02:00
athrxx
f8ee4f385f SCUMM FM-TOWNS: fix DS build 2011-09-17 22:16:41 +02:00
athrxx
0d1d974e14 SCUMM FM-TOWNS: fix regression and cleanup
(LOOM mouse cursor was broken in b1cb88ddc2)
2011-09-17 21:15:44 +02:00
Johannes Schickel
4ea4172cba SCUMM: Implement proper Indy4 Amiga palette handling.
This should fix incorrect text colors in some scenes.
2011-08-26 05:54:47 +02:00
athrxx
ed3fe4372a SCUMM: fix regression caused by recent sjis code changes 2011-07-14 00:53:03 +02:00
athrxx
c06c05a769 GRAPHICS: remove char/line spacing handling from sjis code
(as discussed with LordHoto this should rather be handled in the engine)
2011-07-10 00:45:00 +02:00
athrxx
f24bac2d0f SCUMM: fix DS compilation 2011-07-09 23:57:51 +02:00
athrxx
e3dbae886d SCUMM: Make use of graphics/sjis code for LOOM PCE sjis drawing
Also move font rom loader to graphics/sjis and make the necessary changes there.
2011-07-09 20:07:58 +02:00
athrxx
b1cb88ddc2 SCUMM: cleanup sjis font rendering code 2011-07-09 20:07:55 +02:00
Johannes Schickel
933ee5b156 GRAPHICS: Remove default values from FontSJIS::drawChar.
drawChar is overloaded in FontSJIS. One takes a "Surface &" as first
parameter another one "void *", they furthermore have the exact same
number of required parameters. The one "void *" just had a few extra
parameters with default values. This resulted in a bug in SCUMM, where
"VirtScreen *" (a subclass of Surface) was passed instead of "VirtScreen &"
and thus the method taking "void *" was incorrectly used.

To make it easier to spot such bugs in the future I just removed the default
values and thus disallow such calls.
2011-07-01 05:42:54 +02:00
Max Horn
88913c0139 ALL: Remove trailing whitespaces
This tries to make our code a bit more compliant with our code formatting
conventions. For future use, this is the command I used:
  git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-06-20 00:59:48 +02:00
athrxx
984407de84 SCUMM: fix SCUMM3 FM-TOWNS font rendering glitch in Japanese mode
(Wrong character height for non-SJIS chars which messed up the inventory scrolling arrows)
2011-06-19 14:47:11 +02:00
athrxx
283872018b SCUMM: slightly changed behavior of 16bit mode detection
(another attempt to fix SCUMM FM-TOWNS for ANDROID)
2011-06-16 20:52:07 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Max Horn
7407a48cd3 SCUMM: fix whitespaces (patch #3281359) 2011-05-02 14:32:49 +02:00
Johannes Schickel
b0bd8fa795 SCUMM: Prefer Surface::format over Surface::bytesPerPixel. 2011-04-17 20:58:07 +02:00
dhewg
adf6c8f09e SCUMM: More DISABLE_TOWNS_DUAL_LAYER_MODE mess
Uglify more code to fix compilation for DS
Only compile-tested
2011-02-20 12:09:58 +01:00
Johannes Schickel
5742a11510 SCUMM: Prefer "Could not" over "Couldn't" in some error messages.
svn-id: r55268
2011-01-16 20:24:58 +00:00
Florian Kagerer
206971d16b SCUMM/FM-TOWNS JAPANESE: fix out of bounds text drawing
(could cause invalid memory access in MI1)

svn-id: r54079
2010-11-05 00:36:23 +00:00
Florian Kagerer
a82b0435a2 SCUMM/FM-TOWNS JAPANESE: fix font drawing in MI1 intro
svn-id: r53725
2010-10-23 00:30:21 +00:00