Commit Graph
488 Commits
Author SHA1 Message Date
Max Horn 82a6f2ee3c SCUMM: Rename ResTypeData::tag to _tag, get rid of ResTypeData::name 2011-05-13 11:47:11 +02:00
Max Horn 75b9deb185 SCUMM: Get rid of the MemBlkHeader hack
This uncovered at least one potentially serious bug in the inventory
code, which still needs to be investigated and fixed.
2011-05-13 11:47:10 +02:00
Max Horn 26efa39d2c SCUMM: Document and cleanup resource type mode 2011-05-13 11:47:09 +02:00
Max Horn 45e65d7ea0 SCUMM: Refactor how resource (types) are srepresented
Previously, we had a couple of arrays of size N (where N = number of
resource types), one for each attribute of a resource type (such as as
the number of resources of that type.

Now, we have one array of size N, whose elements are a record
aggregating all the attributes of each resource type.
2011-05-13 11:47:08 +02:00
Max Horn b37463fe59 SCUMM: Move class ResourceManager to its own header 2011-05-13 11:47:08 +02: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
Matthew Hoops 1331c998e3 SCUMM: Add separate game id's for soccermls and soccer2004
There are subtle differences in their u32 code that we need to handle
2011-04-27 20:23:19 -04:00
Johannes Schickel 4a7360d29b SCUMM: Do not pass non-string literal but "%s" + string to displayMessage.
Since displayMessages usualy vsnprintf internally it is not quite safe to pass
any string to it, since it might include a format argument like %n, which is
unsafe.
2011-04-22 21:49:25 +02:00
Thierry Crozat 44c1d38222 DOTT: MM message can now be translated. 2011-04-22 20:01:53 +01:00
Max Horn b929699ad2 SCUMM: Make use of new Common::Error type 2011-04-18 18:22:04 +02:00
Johannes Schickel 9d7f7fc4b6 SCUMM: Prefer Surface::create taking a PixelFormat over the one taking a byte depth. 2011-04-17 16:30:59 +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
Max Horn 7ce3719587 SCUMM: Move _heV7RoomIntOffsets from ScummEngine to ScummEngine_v70he 2011-04-05 15:18:09 +02:00
Max Horn 827561911a SCUMM: Move _heV7DiskOffsets from ScummEngine to ScummEngine_v70he 2011-04-05 15:18:09 +02:00
Max Horn d7a6bf5846 SCUMM: Move ActorHE into its own header, move some HE specific stuff out of scumm.h 2011-04-05 15:18:08 +02:00
Max Horn 756f592b61 SCUMM: Remove unused iMuse MIDI 'passthrough' code 2011-03-23 15:25:46 +01:00
dhewg fa11a6e8cf SCUMM: Cleanup syncSoundSettings() 2011-03-19 16:04:56 +01: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
Max Horn 42ab839dd6 AUDIO: Rename sound/ dir to audio/
svn-id: r55850
2011-02-09 01:09:01 +00:00
Max Horn 668adaa461 GUI: Rename gui/GuiManager.* to gui/gui-manager.*
svn-id: r54265
2010-11-16 10:19:01 +00:00
Max Horn 059944e59c COMMON: Push #include audiocd.h in system.h out to .cpp files
svn-id: r54148
2010-11-08 23:07:42 +00:00
Max Horn 82e473bc3b BACKENDS: Partial merge of gsoc2010-opengl: Audio CD changes only
This commit contains the AudioCDManager changes from the gsoc2010-opengl
branch. The other changes in that branch are restricted to the backends
directory only (plus configure).

The Nintendo DS and Dreamcast ports still need to be ported over to
the new Audio CD system, but that should be fairly easy to do.

svn-id: r54147
2010-11-08 22:53:36 +00:00
Max Horn a7248a0601 ENGINES: Replace many printfs by warning/debug/debugN
svn-id: r54031
2010-11-01 21:37:47 +00:00
Johannes Schickel dac9493069 ENGINE: Rename resetTotalPlayTime to setTotalPlayTime.
I also extended the comment for it to show two possible use cases.

svn-id: r53895
2010-10-27 22:52:02 +00:00
Johannes Schickel 2ad28b8cd5 ENGINE: Generalize SCUMM play time counting and move it into Engine.
This implements Max's idea on -devel
("Re: [Scummvm-devel] ATTN Engine authors: Advanced engine features") from
27.10.2010 on 11:12PM CEST.

Unlike the SCUMM implementation it stores the play time as ms instead of s.

The SCUMM engine was adapted to use this instead to reduce code duplication.

svn-id: r53892
2010-10-27 22:37:51 +00:00
Max Horn d2a7a840c7 SCUMM: Move class Player_V2CMS to its own header file
svn-id: r53829
2010-10-25 16:41:39 +00:00
Travis Howell 4f0cc6a435 SCUMM: Add patch #3093541 - MMC64: Actor Walk / Object Fix.
svn-id: r53806
2010-10-25 08:03:55 +00:00
Travis Howell 3f4655c03f SCUMM: Disable multiplayer option in Backyard Baseball 2001.
svn-id: r53731
2010-10-23 13:39:04 +00:00
Travis Howell afd677c2c7 SCUMM: Fix buffer overflow, that was causing crashes when saving in Backyard Baseball 2001/2003.
svn-id: r53726
2010-10-23 02:18:08 +00:00
Max Horn 3b21db1618 SCUMM: Fix parts of bug #3087898 (SCUMM: Code analysis warnings)
svn-id: r53567
2010-10-18 16:00:07 +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
Johannes Schickel 75e8452b6e OPENGL: Merged from trunk, from rev 52105 to 53396.
This includes an rather hacky attempt to merge all the recent gp2x backend
changes into the branch. I suppose the gp2x backend and probably all new
backends, i.e. gph, dingux etc., might not compile anymore.

Since I have no way of testing those it would be nice if porters could look
into getting those up to speed in this branch.

svn-id: r53399
2010-10-13 03:57:44 +00:00
Florian Kagerer 01c9b17068 SCUMM/FM-TOWNS: improved sfx support for indy4 and monkey2
svn-id: r53052
2010-10-07 19:23:49 +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 74681b81b3 SCUMM/FM-Towns: limit SCUMM 5 games to 16 bit graphics mode
8 bit mode makes no sense for these games since colors will be too messed up.
SCUMM 3 games (Indy 3, Loom, Zak) are still supported in 8bit mode.

svn-id: r52977
2010-10-02 13:25:50 +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
Eugene Sandulenko f965616552 SCUMM: Fix bug #3052804 by reverting NES-specific screen width hack
svn-id: r52891
2010-09-25 20:50:13 +00:00
Travis Howell ae3b6f0aa3 SCUMM: Fix bug #3070077 - MMC64: No music when Syd plays the piano.
svn-id: r52796
2010-09-18 14:18:48 +00:00
Torbjörn Andersson c91a07229a JANITORIAL: Removed most punctuation at end of warning() and error()
Our warning() and error() functions always add an exclamation mark
to the end of the message anyway.

svn-id: r52791
2010-09-18 10:55:16 +00:00
Thierry Crozat 057056b8d3 I18N: Add translation for load/save success or failure messages
Also improve and update the french translation.

svn-id: r52740
2010-09-15 23:25:46 +00:00
Eugene Sandulenko 3e4f6b4a24 SCUMM: Fix bug #3039004
Bug #3039004: "MANIACNES: Ed does not appear at doorway."
Actually whole thing is a gross hack on top of SCUMM v1.5 hack
with extra wide screen. It all calls for review and writing
specified methods.

svn-id: r52375
2010-08-25 07:41:54 +00:00
Eugene Sandulenko c4299cc0c7 SCUMM: Fix bug #3032758: "SCUMM: Mute setting does not work"
svn-id: r52372
2010-08-25 07:40:52 +00:00
Florian Kagerer 29a5c6a45b SCUMM/FM-TOWNS: start rewriting audio code
- Start rewriting audio code for FM-TOWNS versions of Loom, Indy3 and Monkey Island 1 using the recently added code in towns_audio.cpp (Zak should work the same way, but I can't test, since I don't own that one).
- All sound types (pcm, euphony and cd audio) now support volume and balance control (e.g. try walking into/out of the kitchen and opening/closing the door in the Scumm Bar in Monkey Island 1 or walking into/out of the circus tent).
- Pcm sounds now support proper loop start/end and note offsets (e.g. try out the hammer sound in the forge in LOOM for example).
- some other minor improvements
- The FM-Towns versions of Indy 4 and Monkey Island 2 are not affected. I don't have Monkey Island 2, but I presume that it will work like Indy 4. Adding support for these will be a separate task, since they work quite differently.

svn-id: r52198
2010-08-18 21:38:43 +00:00
Alejandro Marzini b0409d6739 Merge trunk, from r51777 to r52105
svn-id: r52108
2010-08-16 00:21:07 +00:00
Florian Kagerer 4a159bcb1e GUI: add music devices for c64, amiga and apple II gs
These devices are not able to create appropriate drivers.
The only purpose for now is having proper gui options and flags and music types for the device detector.
The corresponding GUIO flags for the new devices have been added, too.

svn-id: r51995
2010-08-11 18:54:56 +00:00
Torbjörn Andersson 416b568744 SCUMM: Re-enable PCjr music for Indy 3
Apart from adding the necessary detector flags, in cases where we used
to only check for PC Speaker we now also need to check for PCjr. Note
that I have only tested this with the VGA version. And even with that
one, I've only given it the briefest of tests.

svn-id: r51988
2010-08-11 15:36:29 +00:00
Torbjörn Andersson 10b6a395cf SCUMM: Add missing case in sound initialisation
If the mixer isn't ready, we probably have to check for PCjr as well,
so add that case.

svn-id: r51987
2010-08-11 15:16:55 +00:00
Torbjörn Andersson 1302ccb464 SCUMM: Add missing "break" in music setup
This once again makes it possible to select PC Speaker music in Indy 3.

svn-id: r51986
2010-08-11 15:09:07 +00:00