Commit Graph

1381 Commits

Author SHA1 Message Date
Eugene Sandulenko
b65e00a6ef
BASE: Synced the plaoform list in command line help 2022-07-22 14:27:26 +02:00
Cameron Cawley
a020300701 ENGINES: Remove use of getEngineId() in MetaEngine subclasses 2022-07-20 11:54:19 +02:00
Thierry Crozat
97f45352fc BASE: Add back default to 60 for engine_speed settings
This is used by 3D games to limit the frames per seconds.
The default value was lost in commit b586571900 when sync'ing
ScummVM and ResidualVM code. This resulting in a default of 0,
which means no throtling.

This should fix bug #13631
2022-06-25 19:54:19 +01:00
Torbjörn Andersson
78c8bd2fbf BASE: Print error messages on invalid command line parameters again
The condition was accidentally inverted when the Symbian port was
removed, I belive.
2022-06-25 16:27:59 +02:00
Thunderforge
87728fa9b6 COMMON: Adding iconspath parameter to the command line 2022-06-22 14:33:04 +02:00
Cameron Cawley
dd72e0e488 RISCOS: Add a native MIDI driver 2022-06-20 23:33:42 +01:00
Thierry Crozat
dfaa00c235 BASE: Reorganize code to save command line settings 2022-06-12 22:21:27 +01:00
Thierry Crozat
5ea034391b GUI: Add slider for Grid Launcher icon size 2022-06-12 22:08:53 +01:00
athrxx
54af166305 COMMON: (AD) - further reduce output of mass add detection
Follow-up to the feature that allows skipping certain ADGF flags.

This here now also allows skipping of incomplete file/md5/size matches. It is basically the same behavior as the graylist. For the mass add all files are treated as if they are on the list.
2022-06-12 10:12:39 +02:00
athrxx
e01416ef32 COMMON: (AD) - allow mass add to skip targets with certain ADGF flags
I added skipping for the ADGF_WARNING and ADGF_UNSUPPORTED flags.

For me, this is mostly about fixing bug no. 13282. We sometimes have bogus entries which only have the purpose of presenting the error message (reasons for being unsupported) contained in the extra field of the detection entry.
2022-06-12 10:12:39 +02:00
Lothar Serra Mari
a07be8c665 RELEASE: This is 2.7.0git 2022-06-05 20:43:05 +02:00
Thierry Crozat
bde10f0dda BASE: Store screenshotpath command line in Session domain
The SDL backend was getting that path at the start and storing
it in a class member so that it would persist for the session.
But now that we have a kSessionDomain in ConfMan, it is cleaner
to use that (and this will also work for non-SDL backends).
2022-06-05 15:39:36 +01:00
grisenti
7b53202a9e ALL: add support for --config and refactor code 2022-05-29 13:56:21 +02:00
grisenti
d6dbf721b6 ALL: add support for --subtitles 2022-05-29 13:56:21 +02:00
grisenti
7f1eafcb2f ALL: add support for --opl-driver and --talkspeed 2022-05-29 13:56:21 +02:00
grisenti
358bec9967 ALL: add support for --scaler and --scale-factor 2022-05-29 13:56:21 +02:00
grisenti
e934e7d279 ALL: add support for native-mt32 and fix enable-gs 2022-05-29 13:56:21 +02:00
grisenti
7dd0c1ddf8 ALL: add support for --midi-gain and --soundfont 2022-05-29 13:56:21 +02:00
grisenti
f71e98ddf5 ALL: add support for --filtering and --multi-midi 2022-05-29 13:56:21 +02:00
grisenti
8fccaf89ff ALL: add support for enable-gs and fix bugs 2022-05-29 13:56:21 +02:00
grisenti
819f52a14d ALL: add support for --fullscreen command 2022-05-29 13:56:21 +02:00
grisenti
5fc5353ecc ALL: add support for -m -s -r commands 2022-05-29 13:56:21 +02:00
grisenti
b7f6964fb4 ALL: add support for gfx, stretch and render mode 2022-05-29 13:56:21 +02:00
grisenti
a7ed28e8a7 ALL: add support for --gui-theme and update themes 2022-05-29 13:56:21 +02:00
grisenti
fa031ca1a3 ALL: add support for --themepath and --extrapath 2022-05-29 13:56:21 +02:00
grisenti
c0acb85605 ALL: add support for --savepath command 2022-05-29 13:56:21 +02:00
Paweł Kołodziejski
1bb10c0b3d
BASE: Silence compiler warning 2022-05-28 17:38:12 +02:00
Eugene Sandulenko
5e05f93f36
ALL: Remove Symbian port 2022-05-28 12:32:29 +02:00
D G Turner
3636af4035 BASE: Fix Remaining Macro Definition Warnings
These are emitted by GCC when -Wundef is passed.

This could have caused odd behaviour if the WIN32 symbol was defined
as 0 i.e. #ifdef WIN32 code is included for compilation, but #if WIN32
guarded code is excluded, hence #ifdef is used in all cases as per the
existing compile time guards.
2022-05-24 02:57:46 +01:00
Thierry Crozat
96bc15af33 BASE: Add md5mac command to compute MD5 hash from data and rsc fork 2022-05-24 00:38:02 +02:00
Thierry Crozat
cb8718dcdc BASE: Fix md5 commandline command on Windows 2022-05-24 00:38:02 +02:00
sluicebox
799a9eb942 BASE: Clear MD5 cache when upgrading to engine id
Fixes assigning the wrong game id when upgrading a target to have
an engine id. If a game had been run earlier ran then its checksums
could still be cached. If both games were from the same engine then
advanced detector could select the previous game.

Fixes bug: #13458
2022-05-03 15:43:35 -04:00
athrxx
5cba8f9242 Revert "GUI: honor tts_enabled option in some more places"
This reverts commit 5969a2667a.
2022-04-26 21:08:41 +03:00
Thierry Crozat
bd54dcc4bb BASE: Fix indentation for command line help 2022-04-23 18:37:47 +01:00
Thierry Crozat
db049e37be BASE: Improve format of command line md5 command result 2022-04-17 14:34:59 +03:00
Donovan Watteau
b51e8a8f58 BASE: Include compiler name/version info 2022-04-15 22:43:57 +02:00
athrxx
5969a2667a GUI: honor tts_enabled option in some more places
(in particular when opening the GMM)
2022-04-10 19:00:35 +02:00
Eugene Sandulenko
95e6a9d678
BASE: Added support for computing tail md5 for --md5 command line key.
Also fix non-portable data types.
2022-04-06 01:02:11 +02:00
Eugene Sandulenko
726f187442
JANITORIAL: Fix code formatting 2022-04-06 01:02:11 +02:00
Eugene Sandulenko
07fd5bc8cd
BASE: Fix include path and sorted alphabetically 2022-04-06 01:02:10 +02:00
Pragyansh Chaturvedi (r41k0u)
2e656c30d3 BASE: Add --md5-engine flag 2022-04-05 23:08:14 +01:00
Pragyansh Chaturvedi (r41k0u)
bc0bd86594 BASE: Add MD5 hash to commandline 2022-04-05 23:06:06 +01:00
Le Philousophe
1e4696f6d0 OPENGL: Rework renderer selection code
Add a class to group all renderer related (static) functions.
This allows to have getBestMatchingAvailableType inline in all engines.

The matching code is now shared between all engines but allows
customization for engines needing it (Grim, WME3D).

The new code takes runtime availability of features to select the
best renderer.
It avoid crashes when user choosed OpenGL but GLES2 is used.
2022-04-03 22:17:19 +02:00
Cameron Cawley
59af2927b6
BASE: Update the list of stretch modes in the CLI help string 2022-03-11 22:18:42 +00:00
D G Turner
f8e18b81f5 BASE: Fix Redundant Declaration Warnings in Plugin Macros
These generated GCC Warnings when -Wredundant-decls is enabled.
2022-03-07 11:42:19 +00:00
Jonathan Teh
b3ce86b3a0 BASE: Add alsa to the opl-driver CLI help
This makes it clear that ALSA Direct FM can be selected for AdLib
FM synthesis on the CLI.
2022-03-07 11:09:12 +02:00
Thierry Crozat
54c84b8700 BASE: Add command line option to set screenshot path
Note that since the ConfMan transient domain is cleared when opening
the launcher, this only work when specifying a game on the command
line as well, and only until returning to the launcher.
2022-02-16 22:24:07 +00:00
NMIError
221fa4c841
AUDIO: Add support for RetroWave OPL3
This commit adds support for the SudoMaker RetroWave OPL3 sound card. Requires
the retrowave library.

Add the following settings to scummvm.ini:
retrowaveopl3_bus=serial
retrowaveopl3_port=<port> f.e. COM3 or ttyACM0
2022-01-29 17:33:29 +01:00
Thunderforge
fd129ebc0c JANITORIAL: "Mac OS X" and "OS X" to "macOS" in comments
Apple's desktop operating system was formerly called "Mac OS X" and "OS X", but since 2016 it has been called "macOS" (starting with version 10.12).

Changing across all comments and documentation to use this current terminology, except in cases where the historical versions are explicitly referenced. No code changes are made; we should consider changing those in future PRs.
2022-01-29 14:15:05 +01:00
Le Philousophe
d9b4e457e8 ALL: Remove USE_GLES2 define
Replace it with USE_FORCED_GLES2
2022-01-18 16:49:03 +01:00
Cameron Cawley
21b0d6ded1 BACKENDS: Replace GLEW with GLAD, part of PR #3463 2021-12-30 14:53:48 +01:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Eugene Sandulenko
ccfaf478ab
AD: Make sure that we initialize hashmaps. Unfortunately, this leads to less const'ness 2021-11-29 01:50:03 +01:00
Andrea Boscarino
f731cfd648
SCUMM: DiMUSE: New Digital iMUSE Engine (#3368)
SCUMM: DiMUSE: Add new implementation of the engine
2021-11-16 00:05:18 +01:00
Orgad Shaneh
e92e232788 BASE: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Orgad Shaneh
b11c5ace90 BACKENDS: JANITORIAL: Remove 'virtual' when override is specified 2021-11-14 14:31:41 +02:00
Orgad Shaneh
2e68b4ffdc JANITORIAL: Use override
Using clang-tidy modernize-use-override
2021-11-14 02:59:23 +02:00
av-dx
6b5c5ae0d6 GUI: Add default launcher type as "list" 2021-11-12 14:46:34 +01:00
av-dx
19295362a4 Revert "GUI: Register "list" as default launcher type"
This reverts commit d37c338a193e6400a598f8b457b6d0ec660293b9.
2021-11-12 14:46:34 +01:00
av-dx
0f35813ef7 GUI: Register "list" as default launcher type 2021-11-12 14:46:34 +01:00
av-dx
7d1c3af603 GUI: Split the LauncherDialog into two classes create a chooser object 2021-11-12 14:46:34 +01:00
Carlo Bramini
6c769062c6 BASE: Convert version strings to const objects.
The following variables:

gScummVMVersion
gScummVMBuildDate
gScummVMVersionDate
gScummVMFullVersion
gScummVMFeatures

are declared as pointers to strings but there is no need to do so.
They can be simply declared as const strings, since they will be never modified when SCUMMVM runs.

Exports version variables as const strings
2021-11-01 16:31:55 +01:00
Martin Gerhardy
ebdad0681c BASE: added --list-records command line option 2021-10-13 01:56:43 +03:00
Eugene Sandulenko
9a4f0b7c66
RELEASE: This is 2.6.0git now 2021-10-01 16:04:48 +03:00
Eugene Sandulenko
927b9af1c9
BASE: Set debug flags before instantiating an engine 2021-09-26 13:43:23 +02:00
Marcus Comstedt
47de1896b9 PLUGINS: In uncached mode, try plugin which matches engine name first
Trying all engine plugins in alphabetical order is a time consuming
process, so start by trying the plugin which has the same name as the
engine id first, if it exists, as it will usually be the right one.

In the rare case that it would be the wrong one there is no problem;
the code will simply fall through to the old scanning and then record
the correct plugin in the engine_plugin_files domain where it will be
found the next time the plugin is needed.
2021-09-20 23:28:57 +02:00
Marcus Comstedt
d2fba8fc2f PLUGINS: Make detection plugin filename check case insensitive
Plugin filenames are all upper case on Dreamcast due to the ISO 9660
filesystem.  It doesn't seem likely that making the check case
insensitive would cause any problems even on a file system that
is case sensitive.
2021-09-20 23:28:57 +02:00
Cameron Cawley
2f99746d8d ENGINES: Allow implementing registerDefaultSettings in the MetaEngine class 2021-09-18 11:57:29 +02:00
Lothar Serra Mari
74d4380781 BASE: Don't check for config key presence when loading gfx mode 2021-09-18 04:23:19 -05:00
Scott Percival
29d6758c0d EVENTRECORDER: Add update mode
This new mode is functionally identical to playback mode, however
a new recording file is used to track the actual output of ScummVM.
This feature can be used to update a suite of existing recordings after
a renderer or a timing change.
2021-09-09 19:32:02 +02:00
Scott Percival
40aadcf139 EVENTRECORDER: Add --screenshot-period to the CLI 2021-09-09 19:32:02 +02:00
Scott Percival
bd7b605552 EVENTRECORDER: Allow --record-file-name for record mode 2021-09-09 19:32:02 +02:00
Lothar Serra Mari
8b3319bd37 BASE: Enable Discord RPC integration by default 2021-09-02 14:21:07 +02:00
Eugene Sandulenko
580ec65220
RELEASE: This is 2.4.0git 2021-08-28 21:01:11 +02:00
sluicebox
386c5659ec BASE: Purge keyboard/mouse events before running Engine
Fixes GUI events leaking into engines at startup. This caused
Phantasmagoria 1 to skip its introduction if the game was started from
the ScummVM GUI with a keyboard (Enter) but not with a mouse because
the key-down event started the engine and the key-up event remained
in the queue.

This also purges and mouse events since we happen to already have a
purgeMouseEvents() method. We may want to also clear joystick inputs,
or possibly the entire event queue, but that can be done after the
upcoming release. For now, the known bug is fixed.
2021-08-23 15:46:33 -05:00
Thierry Crozat
9f46c9a3ac BASE: Add TTS to version information 2021-08-18 22:38:55 +01:00
Eugene Sandulenko
fef26b3c59
BASE: Capture all global debug channels as early as possible 2021-08-16 21:28:26 +02:00
Eugene Sandulenko
436e47292e
BASE: Load engine plugins by name. Fixes bug #12342
This is a degradation from the split of detection plugins. All the
caching code which was present was left with detection plugins which
now make no sense: we always load all detection plugins as a whole.

This commit moves the caching logic over to the Engine plugins.

This opens a question now whether we should move all to UNCACHED_PLUGINS
2021-08-16 20:32:53 +02:00
trembyle
63b8d47df5 CONFIGURE: Enable building with Windows text console output
Create a new flag --enable-windows-console to build with console
output on MinGW. The default behavior will be to enable the console.
The current plan is to continue to offer the users both options for
release builds - ScummVM and ScummVM (noconsole).

Whenever the text console is enabled, Windows console will be added
by default. This is to prevent a situation where ScummVM will not load
any visible debug console on hotkey or error.
2021-07-13 11:57:22 -05:00
Torbjörn Andersson
2ba156184c SCUMM: Add Macintosh b/w rendering mode
This is currently only (partially) implemented for the 16-color Mac
versions of Loom and Indiana Jones and the Last Crusade. The text is
still drawn in color, since that's rendered separately, but I'm
committing this now while it still works.
2021-07-13 09:53:36 +02:00
Cameron Cawley
c2ae54306f BASE: Update scaler settings from old config files 2021-06-23 21:29:53 +02:00
Cameron Cawley
b2d41daabc GUI: Add improved scaler selection to the Options dialog 2021-06-23 21:29:53 +02:00
Cameron Cawley
da5d773924 BACKENDS: Add getDefaultScaler and getDefaultScaleFactor to OSystem 2021-06-23 21:29:53 +02:00
sluicebox
f2f28c4549 COMMON: Rename DebugManager methods, update comments 2021-06-14 12:42:38 -05:00
sluicebox
efd4f9ff9d COMMON: Remove DebugManager::debugFlagsClear() 2021-06-14 12:42:38 -05:00
sluicebox
fa247d13de COMMON: Rename DebugManager global/member names 2021-06-14 12:42:38 -05:00
sluicebox
8e1d90f8e4 ALL: Remove clearAllDebugChannels() from Engine dtors 2021-06-14 12:42:38 -05:00
Annick Ecuyer
1fe46a61f2 BASE: Added --engine=ID for --list-all-games and --list-games
For the command line, lists games only for the specified engine.
(optional)
2021-06-10 22:42:39 +01:00
sluicebox
77cfab947a BASE: Fix debug levels parameter name 2021-06-10 10:47:42 -06:00
SupSuper
e3d082df65 MSVC: Add compiler printf validation 2021-06-02 08:35:31 +03:00
ysj1173886760
649661a6da BASE: add clarification for list-debugflags when typing help 2021-05-22 01:34:57 +02:00
ysj1173886760
d147ab855f BASE: add listing the engine specified debugflags in commandline 2021-05-22 01:34:57 +02:00
ysj1173886760
5feac6bdff BASE: add list-all-debugflags and list-debugflags to commandLine 2021-05-22 01:34:57 +02:00
ysj1173886760
d3b596d820 BASE: Register debug channels before calling the findGame() in main.cpp 2021-05-22 01:34:57 +02:00
ysj1173886760
4505054c33 BASE: Register debug channels before calling the findGame() in plugins.cpp 2021-05-22 01:34:57 +02:00
ysj1173886760
1c333f66e2 BASE: change the method name to adapt for new api 2021-05-22 01:34:57 +02:00
ysj1173886760
a6542f242e BASE: move setting debug flags to debug manager, set debug flags before call detectGames 2021-05-22 01:34:57 +02:00
ysj1173886760
f07ceca9cb BASE: add global debug flag 2021-05-22 01:34:57 +02:00
ysj1173886760
061fd12966 BASE: register debug channel before instantiate the engine in main 2021-05-22 01:34:57 +02:00
Le Philousophe
66cf874a6a BASE: When replacing a duplicate plugin unload it first
This avoids having plugins loaded twice for nothing and avoids crashes
on AmigaOS at exit.
2021-05-15 12:52:22 +02:00