Commit Graph

186 Commits

Author SHA1 Message Date
aryanrawlani28 01176e43f7 GUI: U32: Use unicode based generateGameReport correctly in all places
- UnknownGameDialog: Use u32 for gameReport dependant functions
2020-08-30 14:43:41 +02:00
aryanrawlani28 68d01321d6 GUI: U32: Downscale changes of U32, fix review issues
This commit addresses a range of changes, within scummvm subproject.

- Audio files, like mididrv, remove U32String based name and identifier, because ASCII only.
- mididrv.cpp had some wrong format for warning messages, fix those
- Message dialogs were modified to use default arguments more often, but reverting back to the orignal to minimize changes.
- SetTooltip has a fake constructor that takes in a string, and use it.
- U32Format had some break statements missing, add those.
- RemapWidget: Use fake constructor for setLabel and setTooltip, to make minimal changes
- SDL: setting text in clipboard no longer uses SDL_iconv_string
- TTS: Override base class "say" with strings, so tts->say can be used with normal strings too.
- About dialog: fix incorrect code for u32string variables
- Fix some extra brackets
- Some buttons were incorrectly removed from using translated labels, revert those
- Message Dialog: Pass default and alt buttons as const references
- Saveload Dialog: Use translations in missing places, use const-references. Also, use translations in a correct manner.
- Use const references for tooltip in GraphicsWidget, EditTextWidget, error.cpp
- DomainEditTextWidget: Use U32String for text
2020-08-30 14:43:41 +02:00
aryanrawlani28 cbc83065c0 GUI: U32: Fix warnings with printf statements
Command line printfs used some functions which returned u32 strings. Correctly encode them and then turn into c_str
2020-08-30 14:43:41 +02:00
Roland van Laar 14c92e6179 DIRECTOR: Extend --start-movie to start at frame
A frame number can be given to --start-movie and it will start
at that frame.
Examples:
    --start-movie=movie.dir@45  # start movie.dir at frame 45
    --start-movie=@23           # start the default movie frame 23
    --start-movie=movie.dir     # start movie.dir as usual
2020-07-24 20:57:52 +02:00
Lothar Serra Mari aca3975843 BASE: Fix missing newline in command line output 2020-06-06 13:01:28 +02:00
Thierry Crozat b196d26b3e SDL: Add --logfile command line argument to specify logfile path 2020-04-17 22:39:50 +01:00
Bastien Bouclet 9cc2fee887 SDL: Enable joystick input by default
Game controller input is now enabled whenever a compatible device is
connected. The keymapper's keymaps are refreshed when a joystick is added
or removed.

Fixes #10366.
2020-03-16 18:41:27 +01:00
Cameron Cawley f2db412ba5 GUI: Store the shader name in the config file instead of the ID 2020-03-09 18:01:14 -05:00
Cameron Cawley 7488e17c0a GUI: Allow shaders to be selected for individual targets 2020-03-09 18:01:14 -05:00
Zvika Haramaty 3b4810aab4 AUDIO: Added dump-midi mechanism
This mechanism is enabled by '--dump-midi' command line parameter.
The midi events are printed to screen, and dumped to 'dump.mid' file.
2020-02-28 08:27:12 +02:00
Bastien Bouclet 9454346782 ENGINES: Copy the data referenced by QualifiedGameDescriptor
The engineId, gameId and description come from static data in the game
engines. When the game engines are compiled as dynamic plugins, the QGD
structure may outlive the engine plugin. Making a copy ensures the data
remains available.

Fixes #11292.
2020-01-01 08:19:48 +01:00
Cameron Cawley f2b9f7bb76 BACKENDS: Remove the Windows CE port 2019-11-17 22:33:56 +01:00
Bastien Bouclet 3c0abc0800 BASE: Remove the engines/games alphabetical sort 2019-11-03 11:43:00 +01:00
Bastien Bouclet c142838122 BASE: Change the command line interface to use engine-qualified game names
Qualified game names have the following form: engineId:gameId.
Unqualified game names are still supported as long as they are not
ambiguous. However they are considered deprecated and are no longer
displayed by the --list-games command.
2019-11-03 11:43:00 +01:00
Bastien Bouclet 47a2b2a9a2 BASE: Add a command line option to list the engines 2019-11-03 11:43:00 +01:00
Bastien Bouclet ae9f764c7a ENGINES: Automatically upgrade the targets on launch to add an engine ID 2019-11-03 11:43:00 +01:00
Bastien Bouclet bb813719b5 ENGINES: Change targets to have an 'engine ID'
The engine ID identifies which engine should be used to launch the target.
Also remove the 'single ID' system. Different games from engines that used
that system now have different game IDs.

Also-By: Matthew Hoops <clone2727@gmail.com>
2019-11-03 11:43:00 +01:00
SupSuper fc504996d3 GUI: Allow user to opt between GUI browser and native browser 2018-12-16 10:48:13 +00:00
Cameron Cawley 79a4e3f813 BACKENDS: Remove references to the GP32 backend 2018-11-04 21:38:45 +00:00
Thierry Crozat adacb4fcfd BASE: Add command line stretch mode arg 2018-07-08 16:54:51 +01:00
Bastien Bouclet 90b78c5446 ENGINES: Merge GameDescriptor and DetectedGame 2018-05-10 09:04:23 +02:00
Bastien Bouclet faa2534f46 ENGINES: Factor adding games to ConfMan 2018-05-10 09:04:23 +02:00
Bastien Bouclet 5aff87dc15 ENGINES: Turn GameDescriptor into a simple struct 2018-05-10 09:04:23 +02:00
Bastien Bouclet 643c24db75 ENGINES: Change MetaEngine::listSupportedGames to return plain game descriptors 2018-05-10 09:04:23 +02:00
Bastien Bouclet 8fb149e3c7 ENGINES: Change MetaEngine::findGame to return a plain game descriptor 2018-05-10 09:04:23 +02:00
Bastien Bouclet cf1ebf2951 ENGINES: Add unknown game variants to the game detector results 2018-05-10 09:04:23 +02:00
Thierry Crozat cb02d7471d BASE: Allow listing save games for all targets 2018-04-25 19:40:20 +01:00
Thierry Crozat 5907add148 BASE: Use --game to specify target for --list-saves command
This change brings the --list-saves command syntax in line with
other commands.
2018-04-25 19:40:20 +01:00
Bastien Bouclet 818117bda2 BASE: Allow options to come after command on the command line 2018-04-22 08:23:58 +02:00
Adrian Frühwirth 3747d852ee JANITORIAL: Fix whitespace 2018-04-15 16:31:31 +02:00
Tarek Soliman 093d477a08 BASE: Minor text fix for --copy-protection help 2018-04-12 20:28:39 -05:00
Vincent Bernat 9edd8eff01 AUDIO: add support for OPL2LPT
The OPL2LPT is an OPL2 chip plugged on a parallel port. It is
write-only but otherwise acts as a classic AdLib. This commit adds
support for this device.

User is expected to have the right permissions on the parallel
port. By default, the first suitable parallel port is used. It is
possible to override that with the hidden configuration setting
"opl2lpt_parport".

It depends on the presence of the libieee1284 library which abstracts
a bit parallel port handling. An alternative would be to access
directly /dev/parportX on Linux. This would amount of code but it
would be Linux-only.

Tested with Indy 3 and SOMI.
2018-04-08 09:17:19 +02:00
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
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
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
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