aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/scumm.cpp
AgeCommit message (Collapse)Author
2010-11-16GUI: Rename gui/GuiManager.* to gui/gui-manager.*Max Horn
svn-id: r54265
2010-11-08COMMON: Push #include audiocd.h in system.h out to .cpp filesMax Horn
svn-id: r54148
2010-11-08BACKENDS: Partial merge of gsoc2010-opengl: Audio CD changes onlyMax Horn
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-01ENGINES: Replace many printfs by warning/debug/debugNMax Horn
svn-id: r54031
2010-10-27ENGINE: Rename resetTotalPlayTime to setTotalPlayTime.Johannes Schickel
I also extended the comment for it to show two possible use cases. svn-id: r53895
2010-10-27ENGINE: Generalize SCUMM play time counting and move it into Engine.Johannes Schickel
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-25SCUMM: Move class Player_V2CMS to its own header fileMax Horn
svn-id: r53829
2010-10-25SCUMM: Add patch #3093541 - MMC64: Actor Walk / Object Fix.Travis Howell
svn-id: r53806
2010-10-23SCUMM: Disable multiplayer option in Backyard Baseball 2001.Travis Howell
svn-id: r53731
2010-10-23SCUMM: Fix buffer overflow, that was causing crashes when saving in Backyard ↵Travis Howell
Baseball 2001/2003. svn-id: r53726
2010-10-18SCUMM: Fix parts of bug #3087898 (SCUMM: Code analysis warnings)Max Horn
svn-id: r53567
2010-10-17SCUMM/FM-TOWNS: more improvements to japanese font drawingFlorian Kagerer
- 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-13OPENGL: Merged from trunk, from rev 52105 to 53396.Johannes Schickel
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-07SCUMM/FM-TOWNS: improved sfx support for indy4 and monkey2Florian Kagerer
svn-id: r53052
2010-10-05SCUMM/FM-TOWNS: disable new graphics code in DS portFlorian Kagerer
svn-id: r53033
2010-10-02SCUMM/FM-Towns: limit SCUMM 5 games to 16 bit graphics modeFlorian Kagerer
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-01SCUMM/FM-TOWNS: fix palette and other graphics issuesFlorian Kagerer
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-09-25SCUMM: Fix bug #3052804 by reverting NES-specific screen width hackEugene Sandulenko
svn-id: r52891
2010-09-18SCUMM: Fix bug #3070077 - MMC64: No music when Syd plays the piano.Travis Howell
svn-id: r52796
2010-09-18JANITORIAL: Removed most punctuation at end of warning() and error()Torbjörn Andersson
Our warning() and error() functions always add an exclamation mark to the end of the message anyway. svn-id: r52791
2010-09-15I18N: Add translation for load/save success or failure messagesThierry Crozat
Also improve and update the french translation. svn-id: r52740
2010-08-25SCUMM: Fix bug #3039004Eugene Sandulenko
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-25SCUMM: Fix bug #3032758: "SCUMM: Mute setting does not work"Eugene Sandulenko
svn-id: r52372
2010-08-18SCUMM/FM-TOWNS: start rewriting audio codeFlorian Kagerer
- 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-16Merge trunk, from r51777 to r52105Alejandro Marzini
svn-id: r52108
2010-08-11GUI: add music devices for c64, amiga and apple II gsFlorian Kagerer
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-11SCUMM: Re-enable PCjr music for Indy 3Torbjörn Andersson
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-11SCUMM: Add missing case in sound initialisationTorbjörn Andersson
If the mixer isn't ready, we probably have to check for PCjr as well, so add that case. svn-id: r51987
2010-08-11SCUMM: Add missing "break" in music setupTorbjörn Andersson
This once again makes it possible to select PC Speaker music in Indy 3. svn-id: r51986
2010-08-11SCUMM: possible fix for bug # 3041539Florian Kagerer
enable PCJR sound for Maniac Mansion v1 and v1 and Zak McKracken v1 and v2. svn-id: r51983
2010-08-11SCUMM: _resultVarNumber and related methods are specific to v0-v5Max Horn
svn-id: r51974
2010-08-06Merged from trunk, from r51495 to r51775Alejandro Marzini
svn-id: r51776
2010-08-03SCUMM: Add posibility to disable NES APU which is CPU demandingEugene Sandulenko
svn-id: r51679
2010-07-30Merged from trunk, from Rev 50841 to HEADAlejandro Marzini
svn-id: r51495
2010-07-17DEBUGGER: Simplify how our console debugger works / is usedMax Horn
* 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-13Merged from trunk, from Rev 49499 to HEADAlejandro Marzini
svn-id: r50840
2010-06-21Patch #1956501: "GUI/LAUNCHER: Midi device selection"Max Horn
svn-id: r50128
2010-06-15SCUMM: Fix bug #1328120:Eugene Sandulenko
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-15Renamed getAudioCD to getAudioCDManager.Alejandro Marzini
svn-id: r49678
2010-06-09- Revised abstract AudioCDManager.Alejandro Marzini
- Removed AudioCDManager Singleton, and changed code for using AudioCDManager in OSystem. - Added initialization code for new AudioCDManager in BaseBackend and OSystem_SDL. svn-id: r49548
2010-05-26Replace SCUMM F5 dialog by GMM & add help button to GMMMax Horn
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-12Fix missing songs in the HE73 version of Putt-Putt Saves the Zoo.Travis Howell
svn-id: r49010
2010-05-04Move DebugChannel related code to new headerMax Horn
svn-id: r48935
2010-05-04Move initGraphics and initCommonGFX from to new header.Max Horn
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-04Get rid of Engine::_gameDataDir.Max Horn
This greatly reduces indirect dependencies on several header files from common. svn-id: r48933
2010-04-27COMMON: Move DebugChannel stuff into a new DebugMan singletonMax Horn
svn-id: r48821
2010-04-11Setup and destroy a dummy cursor and palette in the Engine class.Johannes Schickel
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-11Fix a memory leak in SCUMM which was caused by the SCUMM engine never ↵Johannes Schickel
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-04Fix bug #2960022 - PUTTPUTT 1: No Load/Save possible.Travis Howell
svn-id: r48499
2010-03-04Fix mismatching new[]/delete.Johannes Schickel
svn-id: r48161