aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/scumm.cpp
AgeCommit message (Collapse)Author
2013-07-24SCUMM: Implement original AD AdLib output.Johannes Schickel
This implements the original AD output and enables it for Indy3 and Loom DOS. It is not enabled for Monkey Island DOS because it would break multi MIDI support. However, there are also drawbacks for Indy3. In the catacombs we were able to play sfx (Indy walking around) and the background music at once. This was not supported in the original player and thus also does not work with this reimplementation. This fixes bug #2027877 "INDY3: Non-Looping Sound Effects". This fixes bug #1159581 "ADLIB: Adlib Emulation doesn't Respect Volume Settings" for Indy3 and Loom.
2013-05-02COMMON: Change kPlatformPC to kPlatformDOSMatthew Hoops
"PC" was very ambiguous and now it matches what we show in the GUI. This also corrects sword2's platform to Windows.
2013-05-01SCUMM: Change NUM_SCRIPT_LOCALS to NUM_SCRIPT_LOCALTorbjörn Andersson
For consistency with NUM_SCRIPT_SLOT.
2013-04-30SCUMM: Use correct array size when calling initializeLocals()Torbjörn Andersson
The initializeLocals() function assumes that it can copy 25 elements when being provided an array of values. But this array was frequently a lot smaller than that. I've introduced a constant for the number of locals (though VirtualMachineState has one more for some reason), and fixed the array sizes in a number of places. CID 1003951, 1003952, 1003953, 1003955, 1003956, 1003959, 1003960, 1003961, 1003963, 100394, 1003965
2012-12-14Merge pull request #291 from eriktorbjorn/mac-mi-music-finalJohannes Schickel
SCUMM: Add support for Macintosh music in Monkey Island 1 and Loom
2012-11-14SCUMM: Move Mac player initialization to its own functionTorbjörn Andersson
Apparently we cannot (portably) call virtual functions from the constructor, so initialization has been moved to a separate function.
2012-11-13SCUMM: Add support for Mac Loom music and soundTorbjörn Andersson
It turns out that playing the Mac Loom music isn't particularly different from playing the Monkey Island 1 music, except the data layout is a bit different and there's no per-note volume.
2012-11-11SCUMM: Added support for Macintosh music in Monkey Island 1Torbjörn Andersson
This is based on the old Mac0-to-General MIDI conversion that we used to do (and which this patch removes), as well as the code for playing the Monkey Island 2 and Fate of Atlantis Macintosh music. I'm not sure how accurate it is, particularly in tempo and volume, but at this point it seems to work pretty well. Looping music is perhaps a bit off, but it was before as well. There is an annoying drawn out note in the music when you're following the shopkeeper, but that appears to have been there in the original as well.
2012-10-01AUDIO: Add support for Sam&Max's OPL3 output in our SCUMM AdLib driver.Johannes Schickel
This is an initial implementation and does not implement the differences in voice allocation.
2012-09-26JANITORIAL: Remove trailing whitespaces.Johannes Schickel
Powered by: git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
2012-09-20SCUMM: Restrict the Mac m68k v5 driver to MI2/Indy4Matthew Hoops
Shouldn't be used with MI1
2012-09-20SCUMM: Add support for Indy4 Mac 68k soundMatthew Hoops
2012-09-20SCUMM: Always use the Mac sound output for MI2 Mac.Johannes Schickel
Formerly it wasn't used when the user selected a MIDI output in the options. Thanks to clone2727 for noticing.
2012-09-20SCUMM: Implement support for Monkey Island 2 Mac music.Johannes Schickel
This is a initial RE of the audio output Monkey Island 2 Mac uses. Support for special sound effects is not in there yet.
2012-05-31SCUMM: Backyard Baseball 2003 uses a unique variable for the subtitle ↵Travis Howell
setting, fixes changing subtitles via ScummVM.
2012-02-11SCUMM: replace "c64" with "v0" when it applies to both C64 and AppleII v0 ↵Tobias Gunkel
versions In addition some routines (e.g. the gfx ones) that are even used in v1.
2012-02-11SCUMM: _currentLights is v0 onlyTobias Gunkel
2012-02-11SCUMM: 2nd try to fix dungeon door timingTobias Gunkel
Shorten the timer delay does not work as escaping with a second kid is not possible too. Instead decrease engine speed during script execution.
2012-02-11SCUMM: merge _activeObjectNr/_activeObjectType and _cmdObjectNr/_cmdObjectTypeTobias Gunkel
2012-02-11SCUMM: fix verb and script handlingTobias Gunkel
- getVerbEntrypoint() should not handle walk-to differently (revert 0x0D handling back to original behavior) - VAR_ACTIVE_ACTOR actually is VAR_ACTIVE_OBJECT2 - runSentenceScript(): "if (_cmdVerb == kVerbWalkTo)" must be "if (_cmdVerb != kVerbWalkTo)"
2012-02-11SCUMM: use command stack and SentenceTab in mm c64Tobias Gunkel
- MM C64 uses command stack (SentenceTab, doSentence()) now - _cmdObject... added for current SentenceTab. The _active... variables are only used to build a sentence in the inventory but never by a script. -> many routines are not needed anymore and are removed
2012-02-11SCUMM: replace verb, prep and currentMode values with symbolic constantsTobias Gunkel
2012-02-11SCUMM: start handling object type and id correctly in mm c64Tobias Gunkel
- removed complicated and unnecessary _v0ObjectIndex, _v0ObjectInInventory, _v0ObjectFlag vars - started to merge object id and type into one object value (type<<8|id) - verb preposition ids do not dependent on language -> remove from VerbSettings Note: - objects with type=0 are foreground objects. They have a state, an owner and a bg overlay image. - objects with type=1 are bg objects. They do not have a state or owner and are already contained in the bg image. The do not have an entry in objectState/OwnerTable
2012-02-11SCUMM: changed handling of _activeInventory/_activeActor to ↵Tobias Gunkel
_activeObject(2)/_activeObject(2)Type Note: the transition is not completed yet. The code compiles but is probably not runnable as not every occurrence of _activeInventory has been properly replaced. The usage of _v0ObjectIndex and _v0ObjectInInventory should be revised too and both variables should be replaced by another mechanism (maybe by using a single variable "obj = (type << 8) | id"). - moved v0 only vars _activeInventory, _activeObject, _activeVerb from ScummEngine_v2 to ScummEngine_v0 - removed _activeActor, _activeInvExecute, _activeObject2Inv and _activeInventory. They are handled by _activeObject/_activeObjectType and _activeObject2/_activeObject2Type now. - removed _activeObject(2)Index as they only bloat the code without any benefit (?) - merge prep-name tables from ScummEngine_v2::drawPreposition() and ScummEngine_v0::drawSentenceWord() by introducing ScummEngine_v2::drawPreposition() - rename ObjectData.flags -> obj_type (quick-fix only, needs review! Maybe obj_nr and obj_type can be merged into one var: obj_nr = (obj_type << 8) | obj_nr) - o_unknown2 is negation of o_ifActiveObject (o_ifNotEqualActiveObject2) - renamed o_ifActiveObject -> o_ifEqualActiveObject2 as it acts only on _activeObject2 - renamed ScummEngine_v0::drawSentenceWord() -> ScummEngine_v0::getObjectName()
2011-12-26SCUMM: Add a difficulty selection dialog for Loom FM-Towns.Johannes Schickel
It is in spirit of the DOS version's selection dialog, but it has the description above the buttons instead of below it.
2011-12-24SCUMM: Rename player_appleII.* -> player_apple2.* to have the filenames ↵Tobias Gunkel
lower case
2011-12-22SCUMM: Add initial support for AppleII sound playerTobias Gunkel
2011-11-01SCUMM: Further clean up loopWillem Jan Palenstijn
2011-11-01SCUMM: Clean up loopWillem Jan Palenstijn
2011-08-26SCUMM: Implement proper Indy4 Amiga palette handling.Johannes Schickel
This should fix incorrect text colors in some scenes.
2011-08-17SCUMM: Split HE logic classes to their own filesMatthew Hoops
2011-08-06SCUMM: Fix compilationEugene Sandulenko
2011-08-06ALL: Reduce audio/ header dependencyEugene Sandulenko
2011-08-05SCUMM: Fix up CMS player implementation.Johannes Schickel
It's much better now and hopefully quite close to the original when it comes to the music part. The intro music of Loom and Monkey Island 1 EGA sounds fine to me now at least.
2011-07-11Merge pull request #54 "SCUMM v5 PC Speaker driver".Johannes Schickel
Discussion can be found here: https://github.com/scummvm/scummvm/pull/54
2011-07-10SCUMM: Do not allow multi midi mode for PC Speaker output.Johannes Schickel
Thanks to eriktorbjorn for catching this.
2011-07-10SCUMM: Limit iMuse default instrument load to PC Speaker output.Johannes Schickel
Albeit the code is marked as a hack inside the source, the original behaved exaclty the same. If the code is removed the PC Speaker output will miss notes, since unlike the original we only output to parts, which have an instrument set up.
2011-07-09SCUMM: fix DS compilationathrxx
2011-07-09SCUMM: cleanup sjis font rendering codeathrxx
2011-07-08SCUMM: Initial PC Speaker output implementation for SCUMM v5.Johannes Schickel
This is *not* complete yet.
2011-06-21COMMON: Move HerculesDimensions enum to SCUMM.Johannes Schickel
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-20ALL: Remove trailing whitespacesMax Horn
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-18SCUMM: fixed messed up colors in 16bit HE gamesathrxx
(regression from 068b4a5351a5574dbfac6acff5776a0071f3f2dd)
2011-06-16SCUMM: fix bug in cb661d63d0cd45d1231435a593b74dfc51872a0fathrxx
2011-06-16SCUMM: slightly changed behavior of 16bit mode detectionathrxx
(another attempt to fix SCUMM FM-TOWNS for ANDROID)
2011-06-15SCUMM: change comment in last commitathrxx
2011-06-15SCUMM: hopefully fix 16bit mode support for SCUMM FM-TOWNS games and LOOM ↵athrxx
PCE on Android This mostly reverts 5b7754e3f095eb8a469dd4b7de5a6379f8e13c27. Instead, we try to use other 16bit modes after 555 fails.
2011-06-15SCUMM: fix bug #3316738athrxx
This provides fallback to 8bit color mode for SCUMM3 FM-TOWNS games on platforms which set the USE_RGB_COLOR define even though that color mode is not being fully implemented for that platform.
2011-06-13SCUMM: Change MessageDialog button label for consistencyThierry Crozat
Everywhere else the 'OK' button label is all upper case and here was the only place where it was not (it was 'Ok').
2011-06-13I18N: Make many more GUI MessageDialog strings translatableThierry Crozat