As indicated by wjp, the Global Main Menu (GMM) did not check or report
on the returned error state from saveGameState() and loadGameState() usage.
This corrects this and adds a MessageDialog report of any failure.
This assures we always mute all speech sounds, when the user selects
subtitles only mode. Hopefully no engine abuses the speech sound type for
other sounds, since that would make them gone now too. Then again I would
consider this an utter abuse of the speech sound type...
(Savegames now get loaded after GMM dialogue execution. This avoids mouse cursor glitches (e.g. mouse cursors which get changed during loadGameState() being popped when the dialogue closes).
ADGF_UNSTABLE is always warned about.
ADGF_TESTING is only warned about when running
configure with --enable-relase.
Both warnings are subject to the enable_wip_game_warning
config option.
This fixes an annoying behavior in the Sword2 option's dialog, which set all
sound type volumes to 0, in case it was opened when the user used the global
mute setting.
The "Mute all" option rarely muted all audio streams, since we have
this abomination called kPlainSoundType (and there is no volume slider
for this type). Both, not-really-muting, and adding yet another slider is
a horrible user experience imho - especially on handheld ports.
So mute this sound in the default implementation, and unmute it to the
maximum volume.
When an engines has a volume level settings for sounds it plays with
this type, it should overwrite said member and set it there.
Formerly when a game which used defaultTo1XScaler was run with "-gdefault" from
command line, it was run with a 2x scaler in case of the SDL backend, since it
defaults to 2x (see SdlGraphicsManager::getDefaultGraphicsMode).
If highres games pass defaultTo1XScaler=true to initGraphics(),
use resetGraphicsScale() instead of hardcoding "1x" (which doesn't
exist on the OpenGL backend)
If an OpenGL mode is selected, it now doesn't switch back to plain
SDL now for those games.
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
* 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
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
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
This function is used in only one place. Declaring it requires common/list.h;
by putting it into pixelformat.h, which is included by common/system.h, tons
of things suddenly included list.h for no good reason.
If we ever need to call this function in other places, we can figure out aborts
more appropriate place for it.
svn-id: r46310