357 Commits

Author SHA1 Message Date
Eugene Sandulenko
e0968df671 BASE: Show nuked audio driver only when compiled 2018-04-07 09:37:58 +02:00
nukeykt
b2052bc66f AUDIO: Add Nuked OPL3 core 2018-04-07 09:34:00 +02:00
Bastien Bouclet
455a409cab ALL: Sync with ScummVM - rev. b2727018344535789c96b0e9c95c741d0dd054c5 2018-03-17 16:25:28 +01:00
Colin Snover
d087c9605f BASE: Remove bad casts between incompatible Plugin types
Previously, a C-style cast was used to convert a
Common::Array<Plugin *>, populated with pointers to StaticPlugin
and DynamicPlugin instances, to a
Common::Array<PluginSubclass<T> *>, but PluginSubclass<T> is a
*sibling* class to StaticPlugin/DynamicPlugin, so this cast was
invalid and the results undefined. The methods for retrieving
subclasses of plugins can't be easily changed to just generate an
array of temporary wrapper objects that expose an identical API
which dereferences to the preferred PluginObject subclass because
pointers to these objects are retained by other parts of ScummVM,
so the wrappers would needed to be persisted or they would need to
just re-expose the underlying Plugin object again. This indicated
that a way to solve this problem is to have the callers receive
Plugin objects and get the PluginObject from the Plugin by
explicitly stating their desired type, in a similar manner to
std::get(std::variant), so that the pattern used by this patch to
solve the problem.

Closes gh-1051.
2017-12-03 20:26:38 -06:00
Bastien Bouclet
2f733c812a BASE: Minor command line detection cleanup 2017-11-02 19:49:43 +01:00
Thierry Crozat
62957b38ac CMD: Handle --game=<ID> for --detect and --auto-detect
The README and command line help indicated this should work,
but this was not implemented.
2017-08-06 19:14:13 +01:00
Thierry Crozat
8e5b8510c8 CMD: Improve warnings for --detect and --add when no game is found 2017-08-06 19:14:13 +01:00
Tobia Tesan
78253e38d1 CMD: Print full path information for --detect 2017-08-06 19:14:13 +01:00
Tobia Tesan
31c541beda CMD: Update error codes in case of autodetector error 2017-08-06 19:14:13 +01:00
Tobia Tesan
426ec1f989 CMD: Add --recursive option for adding & detection
New semantics is as follows:

[-p <dir>] --add                 adds all games in <dir> or
                                 working dir

[-p <dir>] --detect              enumerates dectected games in
                                 <dir> with their ids

[-p <dir>] --game <id> --add     adds just game <id> if found
                                 in <dir> and not already added

[-p <dir>] --recursive --add     adds all games in <dir> and
                                 subdirs if not already added

[-p <dir>] --recursive --game <id> --add
                                 adds just game <id> if found
                                 in <dir> or its subdirs and
                                 not already added

[-p <dir>] --recursive --detect  enumerates games in <dir>
                                 and subdirs

[-p <dir>] --auto-detect         launches the first game
                                 found in <dir>

[-p <dir>] --recursive --auto-detect
                                 displays error message

The reason for the displaying an error message when attempting to do
autodetection on a whole tree is mainly one of UX, IMO it *might* get
confusing on a sufficiently large/deep tree.
The relevant if() can be removed safely if it's concluded that's not the
case.
2017-08-06 19:14:13 +01:00
Tobia Tesan
c3058ad0ee CMD: Fix batch adding of games
This implements the behaviour as discussed in PR926:
https://github.com/scummvm/scummvm/pull/926#discussion_r126132411

Essentially:

[-p <dir>] --add                adds all games in <dir> or working dir
[-p <dir>] --detect             enumerates dectected games with their
ids
[-p <dir>] --game <id> --add    adds just game <id>
2017-08-06 19:14:13 +01:00
Bastien Bouclet
eb47d292b7 BASE: Enable the --engine-speed command line parameter for all engines 2017-05-26 06:43:54 +02:00
Vincent Pelletier
e7073dc037 ALL: Add an option to control dirty rectangless TinyGL optimisation
Exposed to command line via --[no-]dirtyrects.
As dirty rectangles make the workload vary a lot between frames, it makes
performance regressions harder to spot. Disabling it produces lower, but
much more regular FPS counts.
2017-05-03 16:52:36 +00:00
Vincent Pelletier
eb192cda0d ALL: Document GRIM's engine-speed command line argument
Also, move it in the ENABLE_GRIM section.
2017-05-03 16:52:36 +00:00
Vincent Pelletier
7e73c9b963 SDL: Add a --bpp command line argument
32, 16 and 0 (default) are supported, 0 currently falling back to
32 as it was the previous default (should auto-detect eventually).
Only supported by software renderer for now.
2017-05-03 16:52:36 +00:00
Thierry Crozat
ee0ac26621 BASE: Fix auto-detect command to detect and start game
There were several issues.

The first one was introduced recently and caused the preferred target
to be used as a game ID, which resulted in an error when this is not
a valid game ID. Thus this fixes bug #9754.

The other issues were here since the auto-detect command was added and
caused other command line options, suh as the path, to be lost. This
usually resulted in a failure to start the game as the data files could
not be found (unless the ID happened to be the same name as a target
previously added). This also caused a reappearance of the old bug
2017-05-03 00:17:16 +01:00
Thierry Crozat
ae8944e104 BASE: Improve error handling when detecting games 2017-04-24 20:04:05 +01:00
Thierry Crozat
5d91efa74d BASE: Check scanf return value when adding a game 2017-04-24 20:04:05 +01:00
yinsimei
28ab63136a CMD: Detect and add game(s) with commandline
This implements feature request #7885
2017-04-23 21:52:19 +01:00
Thierry Crozat
7caeb60350 BASE: Ignore -NSDocumentRevisionDebugMode command line argument on OS X
This is automatically added by Xcode when not toggling off the
"Allow debugging when using document Versions Browser". Since
this is on by default, and to avoid everybody having to google it,
I have decided to just ignore it on OS X.
2017-02-06 21:54:50 +00:00
Pawel Kolodziejski
19bcd1f3bc ALL: Sync with ScummVM 2016-11-12 12:59:06 +01:00
Pawel Kolodziejski
9ba9c69b3f ALL: Sync with ScummVM - rev. 823c2f899b480a1fa494b08e1471142129293779 2016-11-12 08:49:29 +01:00
Thierry Crozat
577e189a37 BASE: Auto-detect now starts the first game found 2016-11-07 19:29:53 +00:00
Thierry Crozat
6d2fd12bb4 BASE: Clarify how to specify a path in help for the auto-detect command 2016-10-29 23:41:21 +01:00
Thierry Crozat
5fd376d020 BASE: Auto-detect option now uses the specified path 2016-10-29 17:56:47 +01:00
iskrich
d65f2b3821 BASE: Formatting code 2016-10-29 17:56:47 +01:00
iskrich
598407a425 BASE: Add --auto-detect command
Allows to display games in the current directory that are compatible with ScummVM.

This option enables the user to find games in the directory from which ScummVM was launched. In terminal it looks like:

--------------------------------------------------------------------------------------

$ scummvm --auto-detect

ID                   Description
-------------------- ---------------------------------------------------------
drascula             Drascula: The Vampire Strikes Back (DOS/English)
queen                Flight of the Amazon Queen (Talkie/DOS/English)

--------------------------------------------------------------------------------------

The current directory is defined as dir(".") then using EngineMan.detectGames to recognise games.
2016-10-29 17:56:47 +01:00
Eugene Sandulenko
047e0b9f84 BASE: Add command line for specifyong Director start movie 2016-10-24 10:56:40 +02:00
Thierry Crozat
3e08c33c35 GUI: Add checkbox and config option to enable/disable graphics filtering 2016-10-13 01:45:01 +01:00
Eugene Sandulenko
0fdab36710 COMMON: Introduce --debug-channels-only command line flag.
Many of our systems currently generate significant amount of debug
output on deeper levels. Now, when your engine is using Debug Channels,
you might want to show that debug information only, which is currently
not possible, as the generic output will be mixed in your output.

Alternative solution would be to implement possibility to specify
per-channel debug levels.
2016-08-13 21:07:43 +02:00
Eugene Sandulenko
2cd0a99e2b Merge pull request #745 from Cruel/3ds
3DS: New Backend
2016-05-16 10:05:00 +02:00
Thomas Edvalson
e2b9572a83 3DS: Initial commit 2016-04-06 02:12:02 -04:00
Johannes Schickel
5336882555 Merge pull request #704 from lordhoto/clone2727-audiocd
Implement Custom Audio CD Support for Win32, Linux, and Mac OS X.
2016-03-21 01:48:38 +01:00
Thierry Crozat
4cb5c81192 BASE: Ignore -psn command line argument on OS X
Prior to OS X 10.9, the OS was passing the process serial number
as an additional argument on OS X when starting an application bundle.
For whatever reason, when compiling with SDL 1.2 this gets suppressed
before getting to the place where we handle command line arguments.
But when compiling with SDL2 this additional argument remains so we
need to ignore it to avoid erroring out.
2016-03-13 21:51:49 +00:00
Matthew Hoops
1626fbd633 BACKENDS: Allow for specifying a drive via the cdrom option 2016-03-13 13:57:01 +01:00
Johannes Schickel
29b37f473c COMMON: Add render mode for Macintosh.
On request of m_kiewitz who wants to use it for AGI.
2016-02-05 12:38:28 +01:00
Johannes Schickel
1479219f7a COMMON: Add render modes for Apple IIgs and Atari ST.
On request of m_kiewitz who wants to use it for AGI.
2016-01-21 23:41:30 +01:00
Bastien Bouclet
8d5406720c ENGINES: Add a new 'renderer' option to replace 'soft_renderer'
'soft_renderer' was a bool and was not useful to select a renderer
in a list with more than two values.
2015-12-29 07:55:27 +01:00
Pawel Kolodziejski
73c9fda2e5 ALL: full sync with ScummVM 2014-12-04 21:16:12 +01:00
Pawel Kolodziejski
22aca5a427 ALL: synced with ScummVM 2014-09-07 21:36:17 +02:00
Ben Castricum
cf8e28c40c CLI: change "savegames" into "saved games", same as in GUI 2014-08-22 07:11:03 +02:00
Pawel Kolodziejski
230fb47de4 BASE: correct to official description 2014-07-19 19:35:01 +02:00
Pawel Kolodziejski
8759900b6a ALL: synced with ScummVM 2014-04-05 18:18:42 +02:00
Johannes Schickel
f62153c795 BASE: Make GPL headers consistent in themselves. 2014-02-18 02:39:32 +01:00
Pawel Kolodziejski
790db038c0 ALL: sync with scummvm 2013-10-13 11:30:34 +02:00
Johannes Schickel
f7d3b06711 COMMON: Get rid of write version of ConfigManager::getGameDomains.
This can be abused to insert Domains into the game domains without any checks.
Instead, only write iterator access is given.
2013-08-12 01:33:29 +02:00
Pawel Kolodziejski
068ff94d20 ALL: synced with ScummVM 2013-07-07 15:29:33 +02:00
Johannes Schickel
f56d8bfc2e BASE: Fix --help output for --record-file-name.
Formerly it claimed the command is --record-file.
2013-07-05 14:42:36 +02:00
Eugene Sandulenko
f59512c47e RECORDER: Implement Events Recorder 2013-05-17 00:18:09 +03: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