Commit Graph

389 Commits

Author SHA1 Message Date
Eugene Sandulenko 7c013bdb2c BASE: Automatically detect Mac files
This essentially obsoletes --md5mac. Now, with --md5 we still
compute resource forks checksums if mac file is detected
2025-06-29 00:37:34 +02:00
Eugene Sandulenko 4c6dc99e5d BASE: Improve md5 calculations
* Explicitely designate full file checksum
* In case length ot engine is not specified, compute md5 for
  the most used sizes
2025-06-28 01:23:41 +02:00
Eugene Sandulenko fa3e9c0913 BASE: Fix engine setting for md5mac 2025-06-28 01:23:41 +02:00
Le Philousophe c80b3820dd BASE: Allow users to set antialiasing on command line 2025-06-01 08:24:34 +02:00
Filippos Karapetis 4c5adb95ba BASE: Use C++ 11 range-based for loops 2025-03-27 13:47:57 +08:00
scemino 8afb2c1f62 BACKENDS: Add SDL3 backend + update imgui 2025-02-18 22:13:56 +01:00
naatje80 6829281937 Add support to select shader from the command line (#6429)
* Add support to select shader from the command line
2025-02-12 17:22:24 +01:00
Eugene Sandulenko 1ecf2545f1 BASE: Added a convenience alias --debug-flags for --debugflags 2025-01-29 22:01:05 +01:00
Le Philousophe 29f701d8f6 BASE: Fix soundfont command line switch parsing
This is a leftover from c1b4dfad77
2024-11-15 09:37:18 +01:00
athrxx 0aca97d8f5 COMMON: add PC-98 8-color render mode to launcher 2024-08-06 08:47:25 +03:00
Le Philousophe 07daa6c225 ENGINES: Simplify EngineManager::findTarget
Do not make it return the detection plugin. It's never used anymore and
tends to imply that detection plugin can be used alongside the engine
plugin.
2024-06-30 18:39:06 +02:00
Le Philousophe 885208e8f2 BASE: Split listSaves in two parts
First get all the games using the detection plugins.
Then, list all the saves by loading all engines.
2024-06-30 18:39:06 +02:00
Le Philousophe 55ac8ba07f PLUGINS: Remove default value for EngineMan::getPlugins argument
This is now obvious of which type is the list of plugins returned.
2024-06-30 18:39:06 +02:00
Le Philousophe c93f53b491 PLUGINS: Rename getEngineFromMetaEngine to getEngineFromDetectionPlugin
Update comments and variable names accordingly.
This now matches what this function really do.
2024-06-30 18:39:06 +02:00
Le Philousophe 2645b1431c PLUGINS: Rename findPlugin to findDetectionPlugin
This function does return a MetaEngineDetection plugin
2024-06-30 18:39:06 +02:00
Misty De Meo 7f9b731b16 BASE: silence clang warning
clang interprets this expression as possibly a mistaken attempt to
add a number to the string, rather than to index into the string.
Adding parens around the string silences the warning.
2024-06-16 00:48:09 +02:00
Le Philousophe c1b4dfad77 BASE: Rework path parsing on command line
Make a macro to unify processing.
Use the new Path helper to handle WIN32 and save to settings using the
toConfig helper.
This makes sure the path is properly encoded and will not be improperly
decoded later.
2024-06-15 02:07:38 +02:00
AndywinXp 2870f3627c BASE: Enable aspect ratio correction by default 2024-05-04 00:12:20 +02:00
Lars Sundström 20d14337c9 IOS7: Make "Designed for iPad" on Mac silicon great again
It is possible to run iOS applications on macOS on Mac computers
running on Apple Silicon. This was possible before moving to the
ModularGraphicsBackend implementation in the iOS7 port with just
a little tweaking.

After the move to ModularGraphicsBackend, the ScummVM application
crashed on launch. There were two reasons for crashing;

1. dlsym() was called with the special handle RTLD_SELF to search
for the address binding of the GLES2 load symbol. Using RTLD_SELF
the search for the symbol is limited to the shared object issuing
the call to dlsym() and those shared objjects which were loaded
after it. When running an iOS app in macOS it seems that the app
is running inside a wrapper, which means that the objects resides
in a different level. Changing the search level to RTLD_DEFAULT
changes the search to also include all objects loaded at program
start-up.

2. As for the native macOS application, XCode also adds the
argument -NSDocumentRevisionsDebugMode YES if XCode option
"Allow debugging when using document Versions Browser" is on.
Make sure not to parse that argument also when building the
IPHONE target.
2024-01-21 10:57:27 +01:00
antoniou79 75bfee7d6b BASE: Add path option check for both readable and writeable
Also made the ensureAccessibleDirectoryForPathOption() method use a recursive call to reduce complexity

The following decisions are made for commandline path options accessibility checks:
"screenshotpath" option is required to be writeable (not checked for readable)
"path" option is required to be readable (not checked for writeable)
"savepath" option is required to be readable AND writeable
"extrapath" option is required to be readable (not checked for writeable)
"iconspath" option is required to be readable AND writeable
"themepath" option is required to be readable (not checked for writeable)
2024-01-20 23:58:40 +01:00
antoniou79 047942f5f2 BASE: Fix error in usage message for screenshot path 2024-01-20 23:58:40 +01:00
antoniou79 60b1731d47 BASE: Merge accessibility check and folder path extraction in reusable method 2024-01-20 23:58:40 +01:00
antoniou79 bc2942d73a BASE: Ensure folder path when file path set in command line
soundfont option is excluded for this, since that is expected to be a file path
2024-01-20 23:58:40 +01:00
Le Philousophe 04d68d87c0 BASE: Migrate to Path class 2023-12-24 13:19:25 +01:00
Le Philousophe ed9ded9e83 GUI: Migrate GUI to Path class 2023-12-24 13:19:25 +01:00
Le Philousophe d931c58b5b BASE: Start considering game paths as Path class
As it's still stored as String, this is still safe for every legacy use
2023-12-24 13:19:25 +01:00
Le Philousophe 645a35c05b ENGINES: Migrate to Path class 2023-12-24 13:19:25 +01:00
Le Philousophe 088db8ca65 BASE: Various some path related cleanups 2023-12-24 13:19:25 +01:00
Thierry Crozat 95a060e4fe AUDIO: Add a basic soundfont for fluidsynth
The soundfont was already included in the Libretro port. It is
now included in all platforms.
2023-12-03 16:17:32 +00:00
Coen Rampen f1abbff901 MIDI: Update FluidSynth settings
This updates the FluidSynth settings to the value ranges and defaults used by
the current version 2.3.4.

Reverb
- Room size: 0.00-1.20 / 0.20 to 0.00-1.00 / 0.20
- Width: 0-100 / 1 to 0.0-100.0 / 0.5
Chorus
- Level: 0.00-1.00 / 1.00 to 0.00 - 10.00 / 2.00
- Speed: 0.30-5.00 / 0.30 to 0.10-5.00 / 0.30
- Depth: 0.0-21.0 / 8.0 to 0.0-256.0 / 8.0
2023-11-25 22:26:53 +01:00
elasota cc64a58b68 BASE: Don't expose disable-sdl-audio or disable-sdl-parachute options when not using SDL 2023-11-07 02:45:49 +01:00
elasota bd857272f4 BACKENDS: SDL: Use null mixer if audio initialization fails, and add a flag to forcibly disable it for testing. Add an alternate call that returns true if the mixer manager is a null device.
SDL audio init will fail on Windows if all audio output devices are disabled.
Only about 10 engines are checking for this case and numerous pieces of common code (EmulatedOPL, VideoDecoder) fail as well, so this acts as a fallback to prevent instability.
2023-11-07 02:45:49 +01:00
elasota 8bb2afd217 AUDIO: Change default GM device to "auto" 2023-08-28 22:06:19 +02:00
Abhinav Chennubhotla ad8be9d8d5 BASE: Add quotes to metadata while exporting 2023-08-21 15:40:25 +02:00
Abhinav Chennubhotla 28401ee7c0 BASE: Export header in dumpAllDetectionEntries() 2023-08-21 15:40:25 +02:00
Abhinav Chennubhotla bb20579bee BASE: Add dumpAllDetectionEntries() to commandLine
- Add virtual function dumpDetectionEntries() to
   MetaEngine
 - Glk, Sky and SCUMM do not have proper
   definitions for dumpDetectionEntries()
 - Add md5PropToGameFile() to extract prefixes for
   md5s
 - AdvancedDetector writes content of DAT file to
   STDOUT
2023-07-03 13:54:50 +03:00
Abhinav Chennubhotla 5f3e062f97 BASE: Add --dump-all-detection-entries command
- Creates metaengine instances for all engines, which will
   contain detection md5s of the engine
2023-07-03 13:54:50 +03:00
Thierry Crozat 0f159b2569 BASE: Slightly change the formatting of the --stats command output 2023-06-15 00:04:11 +01:00
Thierry Crozat ef53dc058a BASE: Add number of game variants to --stats option 2023-06-09 18:21:47 +02:00
Thierry Crozat 1ba7b12102 BASE: Include target count in --stats option 2023-06-09 18:21:47 +02:00
Thierry Crozat b742c2e7f9 BASE: Allow specifying engines for --list-targets option 2023-06-09 18:21:47 +02:00
Thierry Crozat 46f0e28624 BASE: Support listing games for multiple engines 2023-06-09 18:21:47 +02:00
Thierry Crozat 8ce91026fe BASE: Add --stats command line option 2023-06-09 18:21:47 +02:00
elasota 72fb9311b3 BASE: Move sdl-sys.h include outside of Base namespace 2023-06-05 19:30:03 +02:00
Wyatt Radkiewicz 8a0fffa672 BASE: Fixed typo when erasing window-size (#4866)
When parsing the command line option "window-size" the DO_LONG_OPTION
inserts "window-size" into the settings StringMap. This is soon later
deleted, but instead of deleting "window-size" it deletes the
non-existent setting "window_size". This is needed because width and
height are stored in "last_window_width" and "last_window_height"
respectivly and "window-size" is not used anywhere.
2023-04-05 10:11:23 +02:00
Thierry Crozat be98f2a812 BASE: Add default extrapath and themepahth when running in tree
This means building and running scummvm in tree now works out of the box.

Unfortnatelly registering them as defaults would not work as
ConfMan::hasKey() returns false when only defined as a default, and
in most places this is checked before using those paths. So if we
wanted to use defaults we would need to replace all those checks with
a check that the path is not empty.

There is a drawback to using the session domain though: it takes
priority over all other domains. So a custom extrapath defined for
a game will be ignored. We try to mitigate the issue by only adding
those path if they exist(so that it does not break shadow builds for
example).

Also the change is excluded on Windows as it is not needed there
since the themes and engine data files are embedded in the executable.
2023-03-28 18:21:21 +02:00
Eugene Sandulenko d1203ffe0a BASE: Fix --logfile command line option
It was plainly not functional. We were never passing it to backend
2023-03-25 19:43:32 +01:00
Thierry Crozat ed193bc449 BASE: Add --no-exit command line flag
This allows opening the launcher after running a command line command,
such as --add. The main use for this would be for backends to be able
to easily add games from a folder on launch.
2023-03-24 21:11:50 +01:00
Lothar Serra Mari 6fcfdaa1b4 BASE: SDL: Show SDL version in --version output 2023-03-20 18:55:30 +01:00
Little Cat 70c94aced3 SCUMM HE: Command line host/join Moonbase games.
Normally, GameSpy Arcade (or a third-party app) would set these settings
into moonbase.ini for the game to read.  But I feel like a couple of
command line options would be a lot simpler.

Also, doubles as a quick way to host and join a game for testing.

Unfortunately this does not support the demo version.
2023-03-06 00:07:13 +01:00