Age | Commit message (Collapse) | Author |
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
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.
|
|
This reverts commit e11a370fe45aa96d240ff5f10e7263fdfc02bb01.
|
|
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.)
|
|
|
|
|
|
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.
|
|
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...
|
|
This replaces the somewhat ugly use of the config manager to store
the chained games.
|
|
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.
|
|
|
|
|
|
This also makes sure that all extra needed detection data for the Steam
releases is located inside detection.cpp.
|
|
Many Thanks to Ben Castricum for the original patch
|
|
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.
|
|
|
|
RFC: Make HE games use the target name in all save files
|
|
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
|
|
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
|
|
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.
|
|
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.
|
|
"PC" was very ambiguous and now it matches what we show in the GUI.
This also corrects sword2's platform to Windows.
|
|
For consistency with NUM_SCRIPT_SLOT.
|
|
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
|
|
SCUMM: Add support for Macintosh music in Monkey Island 1 and Loom
|
|
Apparently we cannot (portably) call virtual functions from the
constructor, so initialization has been moved to a separate function.
|
|
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.
|
|
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.
|
|
This is an initial implementation and does not implement the differences
in voice allocation.
|