Commit Graph
95 Commits
Author SHA1 Message Date
AndywinXp f0d371d96e SCUMM: Fix warnings 2022-08-06 13:33:56 +02:00
AndywinXp 9072aa007f SCUMM: COMI: Fix default cursor colors during SMUSH videos 2022-08-06 13:33:56 +02:00
AndywinXp fabaeb4b83 SCUMM: COMI: Implement original GUI 2022-08-06 13:33:56 +02:00
athrxx 85a191de2b SCUMM: (v6/EGA) - improved mouse cursor handling and some other fixes
The mouse cursors get dithered correctly now and due to earlier fixes SAMNMAX seems to be in as good a state as DOTT regarding EGA dithering mode, so I enable it. Also added a post-load fix for the palette and the mouse cursors.
2022-07-31 23:57:15 +02:00
athrxx 9ca9be789c SCUMM: implement EGA dithering mode
(for certain VGA titles)

I've included some titles that do not support this in the original, but e. g. DOTT will require some more fixes for glitches.
2022-07-29 16:23:24 +02:00
athrxx af2ce28786 SCUMM: (V4 - Hercules) - fix Hercules mode for MI1EGA 2022-07-23 23:17:45 +02:00
athrxx f28300f27f SCUMM: (V1) - add support for CGA black & white 2022-07-11 18:16:29 +02:00
athrxx 97fbe867cb SCUMM: (MMv1/ZAKv1) - add support for CGA, CGA Composite and Hercules modes
This does not improve anything about these modes for v2 and v3, except:
- brighter CGA colors
- v2 will also get the more accurate Hercules mouse cursor

I will do improve v2/v3 as separate tasks. v3 seems to be mostly fine, anyway, except for the actors (we dither them just like the backgrounds, but that looks different in DOSBox).
2022-07-10 01:04:38 +02:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh ed5489929c SCUMM: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Torbjörn Andersson f5f78d7c5d SCUMM: The Indy 3 / Loom Macintosh cursors aren't animated
So there's no need to keep reading the cursor from the Mac resource over
and over again.
2021-10-14 08:46:02 +02:00
Torbjörn Andersson 6fe09c2cba SCUMM: Added Indy 3 Mac high-resolution cursor
Unlike Loom, there is apparently no cursor resource for this, so I'm
simply hard-coding it.
2021-06-30 14:59:55 +02:00
Torbjörn Andersson 3ef517d2a1 SCUMM: Fix some memory leaks
I forgot to free the streams after asking the Mac resource manager for a
resource.
2021-05-17 18:44:29 +02:00
Torbjörn Andersson 70a36d6b71 SCUMM: Use high-resolution cursor for Mac Loom 2021-05-17 18:44:29 +02:00
Torbjörn Andersson 819cfb8383 SCUMM: Initial work on Mac Loom font renderer
The main purpose of this set of changes is to refactor the code to make
it easier to pass the name of the Macintosh resource file to other parts
of the engine (it used to be hard-coded in the music players), and to
scale-up the graphics by 2.

The actual font rendering is almost completely broken.
2021-05-17 18:44:29 +02:00
sluicebox 93eeffc84d JANITORIAL: Update old bug tracker numbers 2021-03-03 02:15:05 +02:00
wonst719 837b94e83f SCUMM: Fix cursor with Korean fan translated Loom
- Tested with all known CJK versions of Loom (FMT/Japanese, PCE/Japanese)
2020-11-15 19:25:07 +09:00
Colin Snover 2e061d95c5 COMMON: Move VER macro for serializer into common code 2018-01-31 17:58:01 +01:00
Colin Snover 2b5605362a SCUMM: Fix signed integer overflow reading default v70HE cursor 2017-12-01 19:23:00 -06:00
Colin Snover c7989bb333 SCUMM: Fix buffer overflow reading default v70HE cursor 2017-12-01 19:22:56 -06:00
Johannes Schickel 3847465163 SCUMM: Make GPL headers consistent in themselves. 2014-02-18 02:39:38 +01:00
Johannes Schickel c22d914054 SCUMM: Do not set Surface::pixels directly anymore. 2013-08-03 04:14:07 +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
Johannes Schickel a401f0a19e ALL: Replace cursorTargetScale in OSystem API with a simple "do not scale" logic.
All uses of the old target scale API actually wanted to disallow scaling of
the mouse cursor. This commit adapts our API to this and thus simplifies
backend implementations.

Some backends, most notable the Wii and Android, did some implementation of
the cursor target scale, which I didn't adapt yet. I added a TODO for the
porters there.
2012-06-03 02:02:57 +02:00
Tarek Soliman a4798602d7 JANITORIAL: Fix missing whitespace in pointer cast
find -name '*.h' -or -name '*.cpp' | xargs sed -r -i 's@\(([A-Za-z0-9]+)\*\)@(\1 *)@g'

This seems to have caught some params as well which is not undesirable IMO.
It also caught some strings containing this which is undesirable so I
excluded them manually. (engines/sci/engine/kernel_tables.h)
2012-02-15 10:07:10 -06:00
Johannes Schickel e791f904ed SCUMM: Fix Indy4 Amiga cursor.
The original did not use the room nor verb palette map for the cursor, but
seems to use a custom palette. I now just changed the cursor to use the colors
from the DOS version of Indy4.

This is rather guesswork, but the original did always show a flashing color in
those colors instead of based on the screen colors.
2011-08-26 18:29:03 +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
Matthew Hoops ced79d8f29 SCUMM: Fix cursor palette in the HE80+ default cursor 2011-08-18 00:21:13 -04:00
Matthew Hoops 111d70af7d SCUMM: Make the default cursor for all v80+ games be the Windows cursor 2011-08-16 02:47:23 -04:00
Matthew Hoops 310bd54e64 SCUMM: Set the default moonbase cursor to be the default Windows cursor 2011-08-16 01:23:02 -04:00
athrxx 0a42a7d625 SCUMM: hopefully fix 16bit mode support for SCUMM FM-TOWNS games and LOOM PCE on Android
This mostly reverts 5b7754e3f0. Instead, we try to use other 16bit modes  after 555 fails.
2011-06-15 22:30:04 +02:00
athrxx 5b7754e3f0 SCUMM: fix bug #3316738
This provides fallback to 8bit color mode for SCUMM3 FM-TOWNS games on platforms which set the USE_RGB_COLOR define even though that color mode is not being fully implemented for that platform.
2011-06-15 17:12:17 +02:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Johannes Schickel da734a4af0 ALL/GRAPHICS: Remove Surface::bytesPerPixel. 2011-04-17 21:27:34 +02:00
Johannes Schickel b0bd8fa795 SCUMM: Prefer Surface::format over Surface::bytesPerPixel. 2011-04-17 20:58:07 +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 bb9e82c3b3 SCUMM: Adapt to setPalette RGBA->RGB change. 2011-02-14 17:08:33 +01:00
Florian Kagerer 2c691e1168 LOOM PC-Engine: fix mouse cursor
svn-id: r53117
2010-10-10 14:22:10 +00:00
Florian Kagerer 5af782c5d2 SCUMM/FM-TOWNS: disable new graphics code in DS port
svn-id: r53033
2010-10-05 19:04:52 +00:00
Florian Kagerer 0596971dec SCUMM/FM-TOWNS: cleanup
svn-id: r53000
2010-10-03 20:44:58 +00:00
Florian Kagerer 5d7ce32fbd SCUMM/FM-TOWNS: fix mouse cursor colors
svn-id: r52999
2010-10-03 20:29:22 +00:00
Florian Kagerer 0d8f4a22ae SCUMM/FM-TOWNS: fix palette and other graphics issues
This commit should fix at least the following bugs/feature requests: #1032859, #1252088, #1055391, #1315968, #1315938, #1742106, #812891.
The FM-Towns version of Scumm games use a mixed graphics mode with 2 layers (one with 32767 colors and one with 16 colors). Among other things I have added a screen output class which emulates this  dual layer approach which allows specific hardware effects like enabling and disabling layers (e.g. in the voodoo priestess scene in MI1).

Old savegames (saved before this update) will load, but you’ll encounter palette glitches in the verb/inventory screen, since the 16 color palette for layer 2 is not contained in your savegame. This will be true at least for version 5 games. Certain scene change actions (which require the verb/inventory part to be redrawn) might correct this (e.g. try looking at the treasure map in MI1 and closing it). Version 3 games should be okay, since they use a static text palette which is never changed and which will be reset after loading a savegame.

This update requires a USE_RGB_COLORS setting for proper operation. 8 bit users will get a warning that they’ll have to expect palette glitches . Apart from that the engine in 8 bit mode should not only still work okay, but also benefit from some of the other (non palette related) improvements (e.g. bug #1032859 should be fixed even in 8 bit mode).

Japanese font drawing hasn’t been improved much yet. This will be a separate task.

svn-id: r52966
2010-10-01 19:24:52 +00:00
Johannes Schickel 19e620ba60 Enable the cursor palette in ScummEngine_v70he::setDefaultCursor just to avoid problems in case it was disabled earlier.
svn-id: r48622
2010-04-11 17:28:34 +00:00
Johannes Schickel aed02365ec Strip trailing spaces/tabs.
svn-id: r47541
2010-01-25 01:39:44 +00:00
Torbjörn Andersson 55c03b9aab Better make sure that cursorPCE[] has 16 elements, like some of the other
hard-coded cursors.

svn-id: r46075
2009-11-22 11:00:14 +00:00
Torbjörn Andersson 00708d056a Added hard-coded cursor, and adjusted the colours slightly, for the PC-Engine
version of Loom, based on information from hennymcc.

svn-id: r46074
2009-11-22 10:56:49 +00:00
Travis Howell d81bb78053 Add patch for Tobias, for cursor palette in PCE version of Loom.
svn-id: r46066
2009-11-22 08:55:36 +00:00
Travis Howell c669b8472c Fix cursor image in PCE version of Loom.
svn-id: r45404
2009-10-26 12:35:15 +00:00
Travis Howell 485ee55308 Ooops, that part should not have been commited.
svn-id: r45394
2009-10-26 09:13:58 +00:00