58 Commits

Author SHA1 Message Date
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
Travis Howell
ea91714b17 Switch PCE version of Loom to 16bit color, since it used 9bit color.
svn-id: r45393
2009-10-26 09:11:18 +00:00
Max Horn
adaf3ec8b4 SCUMM: Rename _bitDepth to _bytesPerPixel
svn-id: r44336
2009-09-25 09:13:33 +00:00
Andre Heider
007f68366f Renamed ENABLE_RGB_COLOR to USE_RGB_COLOR, and added it to config.h to guarantee a consistent build.
svn-id: r43604
2009-08-21 18:16:37 +00:00
Travis Howell
09845556e0 Revert revision 43410, and add alternative fix.
svn-id: r43416
2009-08-16 00:20:23 +00:00
Matthew Hoops
8e417b0884 Fix compile when compiling with --disable-he
svn-id: r43410
2009-08-15 14:50:21 +00:00
Jody Northup
2859c91304 Changed cursor manager functions to take *Graphics::PixelFormat with default parameter of NULL (and initialize NULL pointers with CLUT8), rather than taking a Graphics::PixelFormat with default parameter of Graphics::PixelFormat::createFormatCLUT8()
svn-id: r41900
2009-06-26 08:50:11 +00:00
Jody Northup
865129a563 made the cursor's pixel format a member of the cursor object, merged ____CursorFormat functions into equivalent ____Cursor functions.
svn-id: r41825
2009-06-24 06:44:30 +00:00
Jody Northup
f7dd1c15ed renamed ENABLE_16BIT define to more accurate ENABLE_RGB_COLOR
svn-id: r41696
2009-06-20 05:23:09 +00:00
Jody Northup
350dc4290f Fixed cursor code to keep track of cursor formats so that ThemeEngine and/or GuiManager cursors will render properly over the game (on spacebar hit, for instance)
svn-id: r41491
2009-06-13 10:24:52 +00:00
Jody Northup
6adbd0c41e Renamed Graphics::ColorFormat to Graphics::ColorMode, streamlined enum by removing order section and temporarily removing kFormatARGB1555
Converted cursor code to make use of _screenFormat, instead of a parameter passed directly to it by the engine.
Adjusted scumm engine to account for these changes.
This should probably have been two separate commits, but the changes concern the same files...

svn-id: r41443
2009-06-11 05:56:00 +00:00
Jody Northup
56e5920bba Corrected cursor display errors introduced by revision 41204, reimplemented 16-bit cursor support in a less hacky, but still temporary way.
svn-id: r41209
2009-06-06 01:16:04 +00:00
Jody Northup
d65bbe1d7a Fixes ScummEngine_v70he::setDefaultCursor to work in 16-bit, using a temporary hack.
svn-id: r41204
2009-06-05 23:59:40 +00:00
Jody Northup
9789ba7f28 Corrected backend to be able to accept a 16-bit mouseKeyColor without overflow
svn-id: r41194
2009-06-05 08:09:37 +00:00
Travis Howell
662a305752 HACK not required at this point, since transparency color of 5 is still used for 16bit color HE games.
svn-id: r41193
2009-06-05 07:07:56 +00:00
Jody Northup
f8361b5c53 Converted cursor code to use 16-bit.
svn-id: r41191
2009-06-05 06:41:04 +00:00
Max Horn
6f4b567124 SCUMM: Split intern.h into multiple headers
svn-id: r39567
2009-03-20 16:33:58 +00:00
Max Horn
cabfbb4903 Removed some dead code, clarified comments, cleanup
svn-id: r35293
2008-12-09 19:54:01 +00:00
Jordi Vilalta Prat
d6c34bdc4b Fixed the spaces before tabs.
svn-id: r30667
2008-01-28 00:14:17 +00:00
Jordi Vilalta Prat
66e9d4f5e8 Removed trailing spaces.
svn-id: r30664
2008-01-27 19:47:41 +00:00
Eugene Sandulenko
fa5271d836 Really fix bug #1846886: "PUTTZOO: Windows version cursor/pointer drawn wrong".
Also replace default HE cursor (used in Lost) with correct one.

svn-id: r30650
2008-01-27 15:10:56 +00:00
Eugene Sandulenko
040a7b54fa Oops. Moved too much code in the last commit.
svn-id: r30162
2008-01-02 18:59:15 +00:00
Eugene Sandulenko
2d94049bea Workaround for bug #1804278: "MONKEY: Mouse is invisible after loading"
svn-id: r30160
2008-01-02 18:44:20 +00:00
Travis Howell
410a4a974e Enable Windows version of early HE games by default, to match already enabled 3DO/DOS/Macintosh versions of early HE games. Adding only the minimum code required for HE70 games.
svn-id: r30011
2007-12-27 11:40:29 +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
0cccbb29d6 Some cleanup (yay for whomever had the brilliant idea to let SVN work over HTTPS and hence through proxies&firewalls :)
svn-id: r28877
2007-09-08 11:15:27 +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
3bc0661065 Merged the "palette manager" into the cursor manager. It was only used to
manage *cursor* palettes, so the name was misleading.

svn-id: r25500
2007-02-12 00:04:56 +00:00
Max Horn
2888110b3c Turning various static tables into static const
svn-id: r24323
2006-10-15 01:24:17 +00:00
Max Horn
3313685bfe Split setBuiltinCursor into a V0-V2 and a V3-V5 part
svn-id: r23935
2006-09-18 21:31:59 +00:00
Max Horn
8c0b0c0120 Changed ScummEngine::gdi to _gdi and allocate the Gdi object on the heap (i.e. _gdi is a pointer now)
svn-id: r23921
2006-09-17 20:22:47 +00:00
Travis Howell
a0d14a0832 Fix Commodore 64 versions
svn-id: r22732
2006-05-29 12:45:11 +00:00
Torbjörn Andersson
8062eb6ec3 Set and show/hide mouse cursors through a "cursor manager" (analogous to the
recently added (cursor) palette manager) so that the cursor can be properly
restored after returning from the GUI.

If there's any C++ magic that can keep the backend functions from being called
by anything else than these managing classes, that would probably be a good
idea. Also, since the cursor manager keeps a copy of the cursor image, perhaps
there are at least some backends that will no longer need to?

svn-id: r22639
2006-05-25 22:51:42 +00:00
Torbjörn Andersson
6cdd98b617 After the GUI has finished, restore the old cursor palette (if any). For this
to work, cursor palette now has to be set using the new "palette manager". See
graphics/paletteman.cpp

svn-id: r22543
2006-05-20 10:59:25 +00:00
Max Horn
c4df5037dc * Renamed several methods in favor of a somewhat more uniform naming scheme: setupFOO for stuff that inits static data (i.e. will be called only once, or after loading savegames), vs. resetFOO / updateFOO methods which are called frequently and (re)set dynamic data.
* Doing this, split scummInit into setupScumm and resetScumm methods
* Moved some init code to new methods (huuuuge init methods are hard to read, and hard to customize using subclassing)
* Renmaed various setup???Palette methods to set???Palette
* Some minor cleanup / tweaks

svn-id: r22227
2006-04-29 16:24:39 +00:00
Max Horn
78dfa1f280 Moved ScummEngine_v5 from cursor.cpp to scumm.cpp (seems to be more natural, even though it inits some cursor related stuff)
svn-id: r22114
2006-04-23 17:58:52 +00:00
Max Horn
0d67640a58 Behold, the new SCUMM detector finally has arrived. Unified detection & engine instantiation, reduced code duplication, more powerful detection in case MD5 is not known / can't be computed, and many other nifty improvements.
svn-id: r22110
2006-04-23 17:33:16 +00:00
Max Horn
68cb7f52c8 - Renamed ConfigManager::getActiveDomain to getActiveDomainName, and added a new getActiveDomain method that returns a pointer to the actual active *domain*
- Added Engine::_targetName whose value is computed from the name of the active domain
- Removed GameDetector::_targetName, instead code now uses either Engine::_targetName or the name of the active domain
- This in turn allowed for removing usage of GameDetector in many places

svn-id: r21916
2006-04-15 20:36:41 +00:00