333 Commits
Author SHA1 Message Date
Eugene Sandulenko d5702c810a ENGINES: Clarify ADGF_TESTING flag behavior
It appears that we never showed it, because it was shown only
in the release builds, and in the release builds we were removing
this flag.

This change introduces new message inviting users to report bugs,
it is shown always and could be disabled by the same
"enable_unsupported_game_warning" scummvm.ini key
2026-05-16 23:31:46 +02:00
Cameron Cawley b93419019d ENGINES: Change SaveStateDescriptor description to use Common::String 2026-04-08 15:16:28 +03:00
Cameron Cawley d98f910947 GUI: Provide default title and button label for SaveLoadChooser 2026-04-06 23:30:42 +03:00
Cameron Cawley 730e0e148e SURFACESDL: Reject true colour pixel formats when _isHwPalette is enabled 2026-04-06 01:32:01 +02:00
Cameron Cawley a166015406 GUI: Translate the default OK button in message boxes 2026-01-04 03:01:19 +03:00
Donovan Watteau 6d99163121 ENGINES: Drop Move semantics compat code for pre-C++11 compilers
I have checked against MSVC 2015 and the RISC OS GCC 4.7 compiler (whose
C++11 support is not fully complete), and it builds fine without this
compat code (added in 2020 in commit 830a239b04).

The old "C++11 readiness" tests on the wiki also report that the feature
is available on all our supported targets:
<https://wiki.scummvm.org/index.php?title=Compiling_ScummVM/C%2B%2B11_Readiness>
2025-10-12 14:11:24 +03:00
Le Philousophe 39eddcde04 ENGINES: Pass FSDirectory by reference instead of copying it 2025-07-30 13:35:00 +02:00
sluicebox 43e2c28d49 ENGINES: Fix preprocessor condition scope
Introduced in e0634b8fd1
2025-07-25 13:11:18 -07:00
Simon Delamarre 8b23996f25 ENGINES: Fix a bug related to game add-ons detection
Sub-directories not matching any add-on and such as dirMustBeGameAddOn(subdir)
is false were not properly ignored.
2025-07-24 22:09:49 +02:00
Simon Delamarre e0634b8fd1 ENGINES: Move add-ons detection logic from GOB to base Engine class 2025-07-21 14:13:28 +02:00
Simon Delamarre 3ab25845ae ENGINES: Add a warning message for not supported add-ons 2025-07-21 14:13:28 +02:00
Simon Delamarre 2e10337804 GUI: Ensure add-ons cannot be added as an independent game
Through single add or mass add
2025-07-21 14:13:28 +02:00
Le Philousophe 3f7d37b03f COMMON: Make rotation mode fit other settings semantics
This also avoids configuration lookups at every frame update.
2025-06-15 13:22:31 +02:00
Le Philousophe 436cd89051 ENGINES: Also warn the user of GFX transaction errors in 3D mode 2025-06-01 08:24:34 +02:00
Le Philousophe a92c00545a BACKENDS: OPENGL: Fix fallback when shader fails to load
And indicates to the user that the shader failed to apply.
2025-06-01 08:24:34 +02:00
Le Philousophe 73a77734e2 ENGINES: Allow to override shaders on 3D games 2025-06-01 08:24:34 +02:00
Le Philousophe 1c5166f5ce ENGINES: Track screen changes during pause
This allows the engine to react to screen changes which happened when it
was unable to track them.
2025-06-01 08:24:34 +02:00
Le Philousophe dbb42e37e2 ENGINES: Allow inlining of PauseToken constructors 2025-05-25 11:33:17 +02:00
Miro Kropacek 24dcacfe69 JANITORIAL: Add missing references to const function parameters
Applied to all 'const Common::' and 'const Graphics::' instances.
2025-04-13 02:20:09 +03:00
Matthew Jimenez 77ee5a9007 IMAGE: Get palette class by reference on image decoders 2025-04-12 15:47:17 +03:00
Filippos Karapetis 1921ebf02e ENGINES: Use C++ 11 range-based for loops 2025-03-27 13:47:57 +08:00
Filippos Karapetis ac06a27c06 ENGINES: Define that a game is using 3D graphics on init - bug #15521 2024-11-22 10:30:08 +02:00
Filippos Karapetis eb7b6b97e4 ENGINES: Use common GFX code for 3D games - fixes part of bug #14342
Now, when the launcher is in full screen, the game will also be in full
screen. However, when returning to the launcher, graphics are reset to
default with a setupGraphics() call. Thus, if the user hasn't selected
full screen display in the options, but only used alt-enter to change
the launcher to full screen, the launcher will return to window mode.
2024-11-19 20:37:00 +02:00
Martin Gerhardy bf6bd39f69 ENGINES: moved scumm enhancements system into shared engine code 2024-10-21 03:15:13 +03:00
Le Philousophe b07a9388a4 ENGINES: Remove now useless Engine::getMetaEngineDetection
This function assumes that the detection plugin is loaded alongside the
engine plugin.
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
Paul Gilbert 27ee3640af ENGINES: Purge any remaining events when quitting an engine 2024-05-04 15:54:23 -07:00
Paul Gilbert 895c665654 ENGINES: Re-apply Allow shouldQuit to return true immediately
This reverts the revert commit 09de1bbca8.
2024-05-04 15:53:39 -07:00
Le Philousophe 09de1bbca8 Revert "ENGINES: Allow shouldQuit to return true immediately"
This reverts commit 741620e4bc.

This commit breaks several engines like scumm and sword1 because they
call quitEngine function without polling the event loop afterwards.
Purging the event loop after the engine has finished would solve this,
but the EVENT_QUIT message is supposed to be processed while the engine
is still running to let user confirm the quit action (if the setting is
enabled).
2024-05-04 18:15:42 +02:00
Eugene Sandulenko 9a4ae29304 JANITORIAL: Fix typo in a comment 2024-04-01 15:54:21 +02:00
Eugene Sandulenko 828b501e41 ENGINES: Reset palette in the base Engline constructor
If some engine is using less that 256 colors, but in its graphics
there are references to higher colors (by whatever reasons), it may
stay unnoticed on platforms that reset newly allocated memory to 0,
e.g. Windows.

On other systems like Mac, it might lead to random graphics artefacts
difficult to reproduce, e.g. due to the uninited memory.

Also, when you return to launcher from an engine, our GUI is not setting
any palette, so even on Windows, the new engine will inherit whatever
palette was set.

This was caught in Loom Mac, which uses 16 colors. Text shadow was
suddenly white instead of black. Steps to reproduce: run samnmax,
load a saved game, return to launcher, run Loom Mac.

It was addressed in 43c3cc69c2, but
this change makes it generic.
2024-04-01 15:21:32 +02:00
Paul Gilbert 741620e4bc ENGINES: Allow shouldQuit to return true immediately
It's been a long time problem that calling quitGame
doesn't result in shouldQuit returning true until
after event processing has been done. This has resulted
in engines doing various hacks such as manually doing
an event loop, or maintaining their own quit flag.

This helps resolve the problem by additionally adding
a _quitRequested flag that's set when quitGame is called,
and additionally checking for it in shouldQuit()
2024-03-24 13:49:59 -07:00
Cameron Cawley dce0f057ec COMMON: Optimize U32String::vformat a bit by appending chars instead of inserting them 2024-01-08 23:39:22 +01:00
Cameron Cawley d5863dd513 ENGINES: Allow specifying a start position for initGraphicsAny() 2023-12-28 20:41:22 +02:00
Le Philousophe 645a35c05b ENGINES: Migrate to Path class 2023-12-24 13:19:25 +01:00
Le Philousophe 2f34975164 COMMON: Make shaders API use the Path class 2023-12-24 13:19:25 +01:00
Eugene Sandulenko ec2dd2726b ENGINES: Added optional parameter to canSave/LoadGameStateCurrently() for indicating the reason 2023-12-08 12:21:16 +01:00
Eugene Sandulenko 1aaf997aac ENGINES: Fix CID 1519034 warning 2023-09-19 15:36:33 +02:00
Jozen 33e6dfb84b ENGINES: Show splash screen on 3D engines 2023-09-04 21:36:13 +02:00
elasota 5b48ceb68a ENGINES: Initialize mixer volume levels to levels from config so engine isn't required to call syncSoundSettings at startup. 2023-04-09 12:56:22 +02:00
Kaloyan Chehlarski 48a387832d ENGINES: Correctly store extended save playtime
Changed the extended saves code so time is stored in milliseconds
instead of seconds. This fixes an issue where loading a save would
pass a playtime value of 1/1000 of the real playtime to the engine,
resulting in total playtime effectively being zeroed every time a
save is loaded.
Existing savefile compatibility is ignored since the value stored
inside old saves would be wrong for any savefile that has been
saved over more than once.
2023-03-26 13:24:31 +03:00
macca8 746665db63 ENGINES: Update autosave time before adjusting interval
Correctly adjusts interval until next autosave attempt to 5 minutes, regardless of user’s selected autosave interval.
2023-03-16 15:10:12 +01:00
macca8 d507ce499f ENGINES: Allow warning dialog to delete existing save file
Presents the autosave with an empty autosave slot after a successful move, or when the Delete option is chosen.
Avoids potential renaming issues for engines which may not allow an existing save file to be renamed.
2023-03-05 23:19:40 +01:00
Miro Kropacek 06c9928f3a COMMON: gfx_mode is not always propagated 2023-03-04 23:38:42 +01:00
Vladimir Serbinenko 90f8c24265 ENGINES: Allow to specify several supported resolutions
This is useful in order to fallback resolutions even if supported
resolution is not known at compile time.
2023-02-28 01:58:13 +01:00
Cameron Cawley 138a983d80 COMMON: Refactor VSync handling to match the other options 2023-01-16 18:09:53 +01:00
elasota 5aeaa1015e ENGINES: Fix warning about passing a non-trivial class to va_start. 2022-11-26 23:09:24 +02:00
Eugene Sandulenko 57cd169a17 GUI: Allow both scalers and shaders to be enabled at the same time 2022-10-08 23:39:18 +02:00
Eugene Sandulenko 80f79f253d GUI: Make shaders/scalers work mutually exclusive 2022-10-08 23:39:18 +02:00
Cameron Cawley 79fff69231 COMMON: Use Common::String for OSystem::setShader 2022-10-08 23:39:18 +02:00