Commit Graph

486 Commits

Author SHA1 Message Date
Colin Snover
51329c0dc6 ALL: Fix misuse of comma operator 2017-11-10 09:57:03 -06:00
Colin Snover
64191781b5 SCUMM: Fix compilation on systems without USE_RGB_COLOR 2017-10-07 13:09:07 -05:00
Colin Snover
432fd522d2 ENGINES: Remove default1x scaler flag
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.
2017-10-07 12:30:29 -05:00
Ben Castricum
6f38c1e55d ALL: game state => saved game 2016-11-29 20:15:20 +01:00
Eugene Sandulenko
cce8885b39 SCUMM HE: Hid noisy Moonbase AI warnings under debug channel 2016-11-20 23:38:33 +01:00
Ben Castricum
940bb41526 SCUMM HE: Compensate timers for pauses, fixes bug #6352 2016-08-30 09:09:21 +02:00
Eugene Sandulenko
52abd69551 SCUMM: Use more portable rounding function 2016-07-19 16:22:59 +03:00
Robert Crossfield
67071b42bc SCUMM: Maniac V0: Implement 'simulator' for CPU lag (as the original engine 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-07-19 20:39:58 +10:00
Kirben
87c5540c2a SCUMM HE: Update sound flags and queue, for new settings. 2016-06-22 11:45:44 +10:00
Eugene Sandulenko
36526cb27b SCUMM HE: Moved Moonbase to ScummEngine_v100he 2016-05-26 21:30:02 +02:00
Eugene Sandulenko
44333f7453 SCUMM HE: Added main Moonbase AI code 2016-05-22 00:45:05 +02:00
Eugene Sandulenko
26b5416433 SCUMM HE: Moved Moonbase stuff to v90he 2016-05-22 00:45:04 +02:00
Eugene Sandulenko
cc6be145b7 SCUMM HE: Fixes and comments to video playback code 2016-05-14 15:29:11 +02:00
Eugene Sandulenko
543920a1d6 SCUMM HE: Started code for loading FOW resources 2016-05-10 18:07:36 +02:00
Eugene Sandulenko
200882277a SCUMM HE: Initial code for Moonbase FOW 2016-05-10 11:23:13 +02:00
Eugene Sandulenko
73b8dfe5ce SCUMM HE: Initial code for Moonbase-specific class 2016-04-29 22:22:20 +02:00
Ori Avtalion
253e18c440 JANITORIAL: Reduce GUI header dependencies 2016-04-14 13:30:14 +03:00
Matthew Hoops
aa6ff44440 BACKENDS: Only expose one set of functions for AudioCDManager
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-13 13:57:19 +01:00
Matthew Hoops
fb6fe1332a BACKENDS: Move to an openCD() without parameters as the public API 2016-03-13 13:52:24 +01:00
Willem Jan Palenstijn
ecc6a2cac1 SCUMM: Make DOTT/MM patch check less strict
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 e11a370fe4 would break if one
of the two had a separator, but not both.
2016-03-09 23:47:11 +01:00
Willem Jan Palenstijn
b0cd1d6587 Revert "SCUMM: Fix detection of Maniac Mansion from within DoTT"
This reverts commit e11a370fe4.
2016-03-09 23:37:10 +01:00
Torbjörn Andersson
e11a370fe4 SCUMM: Fix detection of Maniac Mansion from within DoTT
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.)
2016-03-09 21:24:32 +01:00
Max Horn
ac4360af88 SCUMM: Get rid of unused Audio::mixer references 2015-07-19 17:12:05 +02:00
Kirben
e670951a46 SCUMM: Fix bug #6592 SCUMM: ZAK - Read Ticket is too fast to read. 2015-06-10 07:12:25 +02:00
Torbjörn Andersson
a0661328b9 SCUMM: Fix detection of the DoTT Maniac Mansion easter egg target
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.
2015-02-07 21:55:24 +01:00
Torbjörn Andersson
7dc316cced SCUMM: Add secret "easter_egg" config key
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-30 10:54:49 +01:00
Torbjörn Andersson
cc916625d9 SCUMM: Add a "chained games manager"
This replaces the somewhat ugly use of the config manager to store
the chained games.
2014-12-30 10:47:51 +01:00
Torbjörn Andersson
f74ba29753 SCUMM: Enable Day of the Tentacle easter egg
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-30 03:45:14 +01:00
Robert Crossfield
d83438225e SCUMM: Maniac V0: Add support for D64 Demo Disk, Cleanup duplicate 'Talk' array 2014-12-08 10:14:37 +11:00
Kirben
aca10de1b5 SCUMM: Add support for quit script in HE90+ games. 2014-08-20 09:26:39 +10:00
Johannes Schickel
c44c46a4fb SCUMM: Simplify index file handling for Steam versions.
This also makes sure that all extra needed detection data for the Steam
releases is located inside detection.cpp.
2014-07-05 14:16:20 +02:00
Filippos Karapetis
902a140f3e SCUMM: Add support for Steam versions of Indy 3, Indy 4, Loom and Dig
Many Thanks to Ben Castricum for the original patch
2014-07-03 00:13:33 +03:00
D G Turner
e065b24d56 SCUMM: Remove "level" command from debugger. Replaced by "debuglevel".
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-05-13 15:14:54 +01:00
Johannes Schickel
3847465163 SCUMM: Make GPL headers consistent in themselves. 2014-02-18 02:39:38 +01:00
clone2727
9d9ced0734 Merge pull request #366 from clone2727/he-saves-target-name
RFC: Make HE games use the target name in all save files
2014-01-17 15:59:44 -08:00
Filippos Karapetis
4f807ee53e SCUMM: More renaming for players
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-01 19:26:51 +02:00
Filippos Karapetis
651bf89939 SCUMM: Move all players to a separate "player" directory
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-11-01 06:57:53 +02:00
Matthew Hoops
3bfd422205 SCUMM: Make all HE saves prepend the target name
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-10-05 15:45:36 -04:00
Johannes Schickel
80ab4c5242 SCUMM: Implement original AD AdLib output.
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-07-24 03:28:47 +02:00
Matthew Hoops
0031c41db8 COMMON: Change kPlatformPC to kPlatformDOS
"PC" was very ambiguous and now it matches what we show in the GUI.

This also corrects sword2's platform to Windows.
2013-05-02 18:43:10 -04:00
Torbjörn Andersson
ce79ff4f2e SCUMM: Change NUM_SCRIPT_LOCALS to NUM_SCRIPT_LOCAL
For consistency with NUM_SCRIPT_SLOT.
2013-05-01 07:47:56 +02:00
Torbjörn Andersson
2284aba719 SCUMM: Use correct array size when calling initializeLocals()
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
2013-04-30 22:26:51 +02:00
Johannes Schickel
97d7bf9b9a Merge pull request #291 from eriktorbjorn/mac-mi-music-final
SCUMM: Add support for Macintosh music in Monkey Island 1 and Loom
2012-12-14 11:57:49 -08:00
Torbjörn Andersson
0dcd4ba5a7 SCUMM: Move Mac player initialization to its own function
Apparently we cannot (portably) call virtual functions from the
constructor, so initialization has been moved to a separate function.
2012-11-14 21:20:40 +01:00
Torbjörn Andersson
b1d10e6a62 SCUMM: Add support for Mac Loom music and sound
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-13 22:49:12 +01:00
Torbjörn Andersson
8bb595453b SCUMM: Added support for Macintosh music in Monkey Island 1
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-11-11 13:56:06 +01:00
Johannes Schickel
abe637b0f5 AUDIO: Add support for Sam&Max's OPL3 output in our SCUMM AdLib driver.
This is an initial implementation and does not implement the differences
in voice allocation.
2012-10-01 03:10:44 +02:00
Johannes Schickel
89abab97e3 JANITORIAL: Remove trailing whitespaces.
Powered by:
git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
2012-09-26 04:17:55 +02:00
Matthew Hoops
2a9d98003e SCUMM: Restrict the Mac m68k v5 driver to MI2/Indy4
Shouldn't be used with MI1
2012-09-20 11:58:04 -04:00
Matthew Hoops
fc6ab89b50 SCUMM: Add support for Indy4 Mac 68k sound 2012-09-20 11:48:00 -04:00