aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/scumm.cpp
AgeCommit message (Collapse)Author
2018-05-10SCUMM: Improve autosave handlingAdrian Frühwirth
v5+ scripts can request saving/loading of savegames, this type of savegame is internally called a "temporary" savegame (_saveStateTemporary == true) which is invisible to the user (I'm not sure whether this is by design or not). Currently the savegame handling in scummLoop_handleSaveLoad() doesn't distinguish between such temporary savegames and normal autosaves and unconditionally resets _lastSaveTime (even after loading). This has the unwanted side effect of potentially delaying the creation of normal autosaves which are supposed to be created in accordance with the autosave period setting in the GUI. This commit makes sure that _lastSaveTime only gets updated if and only if saving a (non-temporary) autosave.
2018-02-04SCUMM HE: Use Miles AdLib drivernukeykt
2017-11-10ALL: Fix misuse of comma operatorColin Snover
2017-10-07SCUMM: Fix compilation on systems without USE_RGB_COLORColin Snover
2017-10-07ENGINES: Remove default1x scaler flagColin Snover
This flag is removed for a few reasons: * Engines universally set this flag to true for widths > 320, which made it redundant everywhere; * This flag functioned primarily as a "force 1x scaler" flag, since its behaviour was almost completely undocumented and users would need to figure out that they'd need an explicit non-default scaler set to get a scaler to operate at widths > 320; * (Most importantly) engines should not be in the business of deciding how the backend may choose to render its virtual screen. The choice of rendering behaviour belongs to the user, and the backend, in that order. A nearby future commit restores the default1x scaler behaviour in the SDL backend code for the moment, but in the future it is my hope that there will be a better configuration UI to allow users to specify how they want scaling to work for high resolutions.
2016-11-29ALL: game state => saved gameBen Castricum
2016-11-20SCUMM HE: Hid noisy Moonbase AI warnings under debug channelEugene Sandulenko
2016-08-30SCUMM HE: Compensate timers for pauses, fixes bug #6352Ben Castricum
2016-07-19SCUMM: Use more portable rounding functionEugene Sandulenko
2016-07-19SCUMM: Maniac V0: Implement 'simulator' for CPU lag (as the original engine ↵Robert Crossfield
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-06-22SCUMM HE: Update sound flags and queue, for new settings.Kirben
2016-05-26SCUMM HE: Moved Moonbase to ScummEngine_v100heEugene Sandulenko
2016-05-22SCUMM HE: Added main Moonbase AI codeEugene Sandulenko
2016-05-22SCUMM HE: Moved Moonbase stuff to v90heEugene Sandulenko
2016-05-14SCUMM HE: Fixes and comments to video playback codeEugene Sandulenko
2016-05-10SCUMM HE: Started code for loading FOW resourcesEugene Sandulenko
2016-05-10SCUMM HE: Initial code for Moonbase FOWEugene Sandulenko
2016-04-29SCUMM HE: Initial code for Moonbase-specific classEugene Sandulenko
2016-04-14JANITORIAL: Reduce GUI header dependenciesOri Avtalion
2016-03-13BACKENDS: Only expose one set of functions for AudioCDManagerMatthew Hoops
Engines should only have to call one set of functions and not decide between the two. In fact, the 'emulation' API was documented to just call the 'real CD' API.
2016-03-13BACKENDS: Move to an openCD() without parameters as the public APIMatthew Hoops
2016-03-09SCUMM: Make DOTT/MM patch check less strictWillem Jan Palenstijn
The original check broke if either DOTT or MM had a trailing path separator in the game path. The new check is too broad, but the risk of false positives should be minimal. The one in e11a370fe45aa96d240ff5f10e7263fdfc02bb01 would break if one of the two had a separator, but not both.
2016-03-09Revert "SCUMM: Fix detection of Maniac Mansion from within DoTT"Willem Jan Palenstijn
This reverts commit e11a370fe45aa96d240ff5f10e7263fdfc02bb01.
2016-03-09SCUMM: Fix detection of Maniac Mansion from within DoTTTorbjörn Andersson
It turns out that in some versions of ScummVM, paths end with a directory separator, while in others they don't. This should handle both cases, I hope. (It's a bit tricky for me to test.)
2015-07-19SCUMM: Get rid of unused Audio::mixer referencesMax Horn
2015-06-10SCUMM: Fix bug #6592 SCUMM: ZAK - Read Ticket is too fast to read.Kirben
2015-02-07SCUMM: Fix detection of the DoTT Maniac Mansion easter egg targetTorbjörn Andersson
It's the key, not the gameid, that is the proper target name. In my case, the key for that version of MM had the target name "maniac-old" and gameid "maniac" (can you tell I've messed around with this file a bit on my own?), so it tried to use "maniac" as the target, which happened to be the target name for the enhanced version instead.
2014-12-30SCUMM: Add secret "easter_egg" config keyTorbjörn Andersson
This makes it possible to override the detection of Maniac Mansion when starting the Day of the Tentacle easter egg. There is no GUI for setting this, no error handling, and setting it to Day of the Tentacle itself is probably a bad idea...
2014-12-30SCUMM: Add a "chained games manager"Torbjörn Andersson
This replaces the somewhat ugly use of the config manager to store the chained games.
2014-12-30SCUMM: Enable Day of the Tentacle easter eggTorbjörn Andersson
Instead of returning to the launcher, a game may now specify a list of "chained" games and optional save slots. The first game is popped from the list and started. Quitting still quits the entire ScummVM. It seemed like the sensible thing to do.
2014-12-08SCUMM: Maniac V0: Add support for D64 Demo Disk, Cleanup duplicate 'Talk' arrayRobert Crossfield
2014-08-20SCUMM: Add support for quit script in HE90+ games.Kirben
2014-07-05SCUMM: Simplify index file handling for Steam versions.Johannes Schickel
This also makes sure that all extra needed detection data for the Steam releases is located inside detection.cpp.
2014-07-03SCUMM: Add support for Steam versions of Indy 3, Indy 4, Loom and DigFilippos Karapetis
Many Thanks to Ben Castricum for the original patch
2014-05-13SCUMM: Remove "level" command from debugger. Replaced by "debuglevel".D G Turner
This required a small amount of extra code changes to ensure that _debugMode is kept in sync when the debugger is used to change the level.
2014-02-18SCUMM: Make GPL headers consistent in themselves.Johannes Schickel
2014-01-17Merge pull request #366 from clone2727/he-saves-target-nameclone2727
RFC: Make HE games use the target name in all save files
2013-11-01SCUMM: More renaming for playersFilippos Karapetis
Rename "player" directory to "players", and reintroduce the "player_" file prefix. This has been done after sev's request. "players/player_foo.*" is more descriptive, and avoids potential name clashes in libraries
2013-11-01SCUMM: Move all players to a separate "player" directoryFilippos Karapetis
There are 34 player .cpp/.h player files, so they have been placed in their own directory, to logically separate them from the rest of the engine
2013-10-05SCUMM: Make all HE saves prepend the target nameMatthew Hoops
This makes HE follow the ScummVM convention of using the target name everywhere. It also fixes having more than one team in both soccer and football. Loading old saves will still work and they will be tried if the newer save names are not found.
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]*$//'