157 Commits

Author SHA1 Message Date
Robert Crossfield
67071b42bc SCUMM: Maniac V0: Implement 'simulator' for CPU lag (as the original engine occasionally ran at less than 60Hz). Fix call to 'getClosestPtOnBox', whcih was being passed X * V12_X_MULTIPLIER and Y * V12_Y_MULTIPLIER, but the box coordinates, where not 2016-07-19 20:39:58 +10:00
Robert Crossfield
1a880c748c SCUMM: Maniac V0: Clear the text area of the screen on fade out 2016-07-17 16:40:49 +10:00
Max Horn
4d02f67bd1 ALL: Resolve multiple clang warnings 2014-03-30 14:38:02 +02:00
Johannes Schickel
3847465163 SCUMM: Make GPL headers consistent in themselves. 2014-02-18 02:39:38 +01:00
Kirben
5f6451d092 SCUMM: Fix COMI regression, after commit 84d1d28373d782464bd46b10abd6b092f7eb6367. 2013-08-26 19:32:26 +10:00
Torbjörn Andersson
84d1d28373 SCUMM: Read the SMAP size, not the SMAP tag itself
This will obviously make 'smapLen' a lot smaller in most cases, so
there may be regressions. But I hope this is correct, though I
don't know why the size is big-endian while the offset is little-
endian.
2013-08-18 09:28:54 +02:00
Johannes Schickel
6485b291e9 SCUMM: Fix Loom (and some other graphics regressions).
These are regressions from c05cb7f3bbcf4d64d4a938e0eb42065d8f3d3038. 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
c22d914054 SCUMM: Do not set Surface::pixels directly anymore. 2013-08-03 04:14:07 +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
Torbjörn Andersson
f4514069f3 JANITORIAL: Fix or silence a couple of Clang analyzer warnings
Clang will produce plenty of warnings (most of them seem to be of
the "if the stars align the wrong way, this may happen" variety),
but I don't have the time or patience to look at all of them.
2013-01-02 19:31:05 +01:00
Johannes Schickel
64790aabc8 SCUMM: Get rid of casts on OSystem::copyRectToScreen calls. 2012-06-16 02:39:00 +02:00
Johannes Schickel
d3c4243ab5 SCUMM: Fix utilization of ARM assembly routines. This fixes bug #3494448.
The bug in question is: "SCUMM: Loom PCE Japanese broken on ARM".

Thanks to fuzzie and wjp for this patch. If anything is broken after this I
take no blame.
2012-02-26 13:01:23 +01: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
Tobias Gunkel
9dd6105ce6 SCUMM: replace "c64" with "v0" when it applies to both C64 and AppleII v0 versions
In addition some routines (e.g. the gfx ones) that are even used in v1.
2012-02-11 08:30:08 +01:00
Tobias Gunkel
daff6f36ae SCUMM: _currentLights is v0 only 2012-02-11 08:30:03 +01: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
Christoph Mallon
23a0f5318c JANITORIAL: Remove trailing empty lines. 2011-08-07 13:53:33 +02:00
Johannes Schickel
3b7c91f2a7 COMMON: Move HerculesDimensions enum to SCUMM.
The enum is only used inside the SCUMM engine so it is rather pointless to
keep it in common/util.h right now. Also if we really want it in some common
place it should probably be better in graphics/ too.
2011-06-21 16:59:50 +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
03ba1871f7 SCUMM: fixed messed up colors in 16bit HE games
(regression from 068b4a5351a5574dbfac6acff5776a0071f3f2dd)
2011-06-18 19:45:36 +02:00
athrxx
cc77de35c2 SCUMM: make sure asmDrawStripToScreen is not called in 16bit mode
(fixes possible issue in LOOM PCE)
2011-06-18 13:12:13 +02:00
athrxx
0881f54a06 SCUMM: fix FM-TOWNS graphics output for ARM devices
(changed behavior of USE_ARM_GFX_ASM define)
2011-06-17 23:38:22 +02:00
athrxx
0a42a7d625 SCUMM: hopefully fix 16bit mode support for SCUMM FM-TOWNS games and LOOM PCE on Android
This mostly reverts 5b7754e3f095eb8a469dd4b7de5a6379f8e13c27. Instead, we try to use other 16bit modes  after 555 fails.
2011-06-15 22:30:04 +02:00
Matthew Hoops
1277975c66 ALL: neighbour -> neighbor 2011-05-25 10:50:46 -04:00
Max Horn
068b4a5351 SCUMM: Move tmsk code into its own Gdi subclass 2011-05-13 11:47:07 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Johannes Schickel
71bdb86e02 Merge pull request #16 "Add a PixelFormat to Graphics::Surface.".
For further discussion check here:
https://github.com/scummvm/scummvm/pull/16

Conflicts:
	graphics/png.cpp
2011-05-01 16:54:45 +02:00
dhewg
983b044ccb ARM: Global symbols get an underscore prefix on darwin
apply same solution as for the sound/smush ARM asm here
2011-04-23 03:39:37 +02:00
Johannes Schickel
53d982b24f SCUMM: Setup proper pixel format for virtual screen surfaces.
Thanks to Max for notifying me that SCUMM seems always to use RGB555.
2011-04-18 15:48:46 +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
athrxx
92f922aabe SCUMM FM-TOWNS: cleanup (thx LordHoto) 2011-03-22 15:53:43 +01:00
Max Horn
2d1c8a3533 ALL: Fix whitespaces / indention
svn-id: r55818
2011-02-07 23:01:06 +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
Max Horn
3534cff8ef ALL: Fix indention (whitespaces -> tabs)
svn-id: r53738
2010-10-23 15:46:50 +00:00
Florian Kagerer
64c0d2a1d1 SCUMM/FM-TOWNS: minor graphics fix
This fixes a graphics glitch that occured when leaving the Scumm Bar in MI1 for the first time (before the cut scene with LeChuck).

svn-id: r53645
2010-10-20 15:39:08 +00:00
Florian Kagerer
c841c3fb7c SCUMM/FM-TOWNS: more improvements to japanese font drawing
- made use of LordHotos graphics/sjis code to reduce code duplication
- japanese mode for version 3 and 5 works fine now with few exceptions (some line spacing glitches in MI1 intro etc.)

svn-id: r53554
2010-10-17 13:08:00 +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
6ca15d0888 SCUMM/FM-TOWNS: fix drawBox()
svn-id: r52991
2010-10-03 14:32:09 +00:00
Florian Kagerer
77fe52bbd7 INDY3/FM-TOWNS: fix intro graphics bug
svn-id: r52987
2010-10-02 23:18:15 +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
Travis Howell
4c215fc9a0 SCUMM: Fix bug #2702847 - PUTTZOO: Graphic glitches on dancing penguin.
svn-id: r52363
2010-08-25 06:02:18 +00:00
Max Horn
7a125f85fe SCUMM: cleanup
svn-id: r52295
2010-08-23 10:00:19 +00:00
Torbjörn Andersson
b91ef12897 Fixed typo in comment.
svn-id: r50889
2010-07-14 16:57:16 +00:00
Torbjörn Andersson
25077baf6a Moved setTileData() into GdiPCEngine since that's the only class that uses it.
svn-id: r50888
2010-07-14 16:55:32 +00:00
Max Horn
b104534d0d Patch #2973283: SCUMM: Unneeded pointer dereference
svn-id: r48360
2010-03-22 23:03:09 +00:00
Johannes Schickel
aed02365ec Strip trailing spaces/tabs.
svn-id: r47541
2010-01-25 01:39:44 +00:00
Travis Howell
bb0c765731 Exclude Loom PCE engine specific code, from non-16bit color build.
svn-id: r46080
2009-11-22 11:43:12 +00:00