Commit Graph

352 Commits

Author SHA1 Message Date
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
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
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
Florian Kagerer
2b77ffcc17 SCUMM: possible fix for bug # 3041539
enable PCJR sound for Maniac Mansion v1 and v1 and Zak McKracken v1 and v2.

svn-id: r51983
2010-08-11 14:32:33 +00:00
Max Horn
b8ee574e40 SCUMM: _resultVarNumber and related methods are specific to v0-v5
svn-id: r51974
2010-08-11 12:49:16 +00:00
Eugene Sandulenko
02cca98ed6 SCUMM: Add posibility to disable NES APU which is CPU demanding
svn-id: r51679
2010-08-03 11:25:20 +00:00
Max Horn
1d4c82885d DEBUGGER: Simplify how our console debugger works / is used
* Remove _isAttached member var and isAttached method
* Engines now always call the onFrame method; whether it does
  something is decided by the debugger class resp. its subclasses
* Make detach() protected instead of private, so that subclasses
  can invoke it
* Remove _detach_now member var (call detach() instead).
* Rename _frame_countdown to _frameCountdown and properly
  document it.
* Add more doxygen comments
* Cleanup

svn-id: r50963
2010-07-17 18:38:42 +00:00
Max Horn
bbad3f333a Patch #1956501: "GUI/LAUNCHER: Midi device selection"
svn-id: r50128
2010-06-21 21:36:36 +00:00
Eugene Sandulenko
ba72975d3f SCUMM: Fix bug #1328120:
Bug #1328120: "MANIACNES: Screen width incorrect, camera halts sometimes".
Fixed by workaround and was tested with intro and on the kitchen,
where now it is possible to see Edna without her noticing you
first.

svn-id: r49764
2010-06-15 10:46:23 +00:00
Max Horn
947edd08c3 Replace SCUMM F5 dialog by GMM & add help button to GMM
The new "Help" button in the GMM is currently only used by SCUMM.
To use it, an engine currently needs to subclass MainMenuDialog.

svn-id: r49249
2010-05-26 19:54:50 +00:00
Travis Howell
920e47cca0 Fix missing songs in the HE73 version of Putt-Putt Saves the Zoo.
svn-id: r49010
2010-05-12 05:01:58 +00:00
Max Horn
970745e60c Move DebugChannel related code to new header
svn-id: r48935
2010-05-04 11:59:22 +00:00
Max Horn
b3e404109c Move initGraphics and initCommonGFX from to new header.
These functions are only used internally be Engine subclasses, and
by moving them to a separate header we can reduce indirect header
dependencies.

svn-id: r48934
2010-05-04 11:58:12 +00:00
Max Horn
5568a8473b Get rid of Engine::_gameDataDir.
This greatly reduces indirect dependencies on several header files
from common.

svn-id: r48933
2010-05-04 11:56:52 +00:00
Max Horn
460d69e885 COMMON: Move DebugChannel stuff into a new DebugMan singleton
svn-id: r48821
2010-04-27 21:40:52 +00:00
Johannes Schickel
b928da4418 Setup and destroy a dummy cursor and palette in the Engine class.
The idea behind this is exactly the same as behind r48620,
but it affects all engines, thus engine authors can now use
CursorMan.replaceCursor without having to worry about possible
memory leaks or the like.

svn-id: r48626
2010-04-11 18:30:42 +00:00
Johannes Schickel
29172d4844 Fix a memory leak in SCUMM which was caused by the SCUMM engine never removing its cursor from CursorMan.
The problem here was that SCUMM only uses CursorMan.replaceCursor. When no
cursor had been setup before it would cause the SCUMM cursor to be never
removed from CursorMan, since in this case replaceCursor just uses pushCursor.
To avoid this problem I am just pushing a dummy cursor (and palette, since
that is used in SCUMM HE games too) on engine setup and removing it on engine
destruction.

Actually every engine should setup their first cursor via CursorMan.pushCursor
and then on quit remove it again via CursorMan.popCursor. Using
CursorMan.replaceCursor is *no* good idea for the first cursor to setup, since
that might either replace an existing cursor, thus destroying the caller's
cursor, or pushing a new cursor on the stack, which might result in a leak.
This would also result in making a call to CursorMan.popCursor unsafe, since
that might also impact the caller's cursor setup again.

svn-id: r48620
2010-04-11 17:26:32 +00:00
Travis Howell
753a73be29 Fix bug #2960022 - PUTTPUTT 1: No Load/Save possible.
svn-id: r48499
2010-04-04 09:36:10 +00:00
Johannes Schickel
ca6b617e63 Fix mismatching new[]/delete.
svn-id: r48161
2010-03-04 17:24:47 +00:00
Neil Millstone
277b3078bc SID: Adding DISABLE_SID option, as SID player embiggens binary by a large amount. This is a problem for the DS port.
svn-id: r48137
2010-02-26 17:42:40 +00:00
Chris Apers
8f8c85e757 Removed obsolete code
svn-id: r47767
2010-01-31 18:11:48 +00:00
Travis Howell
0702bdab82 Fix regressions in Let's Explore the Jungle with Buzzy.
svn-id: r47622
2010-01-28 00:28:08 +00:00
Travis Howell
326d64d07d Let's Explore the Jungle with Buzzy uses VAR_PLATFORM variabletoo, but with different values.
svn-id: r47562
2010-01-26 08:31:27 +00:00
Johannes Schickel
aed02365ec Strip trailing spaces/tabs.
svn-id: r47541
2010-01-25 01:39:44 +00:00
Johannes Schickel
0d995c5920 Rename all "Adlib" uses to "AdLib" to match the real name of the sound card / company.
Check this for reference:
http://en.wikipedia.org/wiki/Ad_Lib,_Inc.
http://www.crossfire-designs.de/images/articles/soundcards/adlib.jpg (note the upper left of the card)

This commit does not touch "adlib" and "ADLIB" uses!

Also it does not update all the SCUMM detection entries, which still use "Adlib".

svn-id: r47279
2010-01-12 21:07:56 +00:00
Max Horn
c8873d8492 Changed MidiDriver::createMidi to take a MidiDriverType instead of an int
svn-id: r46316
2009-12-09 18:12:51 +00:00
Max Horn
84f3c98fad Remove the Audio::Mixer parameter from the midi/music plugins
svn-id: r46315
2009-12-09 18:05:20 +00:00
Travis Howell
8783b0f2f7 Add patch #2839048 - MM C64 sound/music player, with minor changes.
svn-id: r46143
2009-11-26 00:31:19 +00:00
Travis Howell
47e358cd12 Exclude PCE sound player, from non-16bit color build.
svn-id: r46119
2009-11-24 00:15:10 +00:00
Travis Howell
9b8c088af5 Add patch #2898231 - LOOM: Sound player for PC-Engine.
svn-id: r46110
2009-11-23 23:17:15 +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
Travis Howell
2d31fc3af8 Add patch for Tobias, for Kanji support in Japanese PCE version of Loom, with minor changes.
svn-id: r46061
2009-11-22 08:20:20 +00:00
Travis Howell
3d80bb47a8 Load/save the 16BitPalette data in PCE version of Loom.
svn-id: r45436
2009-10-27 09:44:13 +00:00
Travis Howell
64515d892c Fix restoring distaff, after reloading saved game in PCE version of Loom.
svn-id: r45435
2009-10-27 09:29:47 +00:00