Commit Graph
97 Commits
Author SHA1 Message Date
Cameron Cawley 00ca6dd98a AGS: Reduce the amount of space needed in detection entries for plugins 2024-07-15 20:48:55 +03:00
Cameron Cawley 59484f058e AGS: Improve detection for games with installers 2024-07-15 20:48:55 +03:00
Cameron Cawley 270ce85167 AGS: Move custom detection flags to a separate field 2024-07-15 20:48:55 +03:00
Paul Gilbert c2a476411c AGS: Move std namespace into common/std/ 2024-07-07 15:28:31 -07:00
Walter Agazzi 6865844bf9 AGS: Fix fallback detection attempting to open empty path 2024-01-30 23:37:46 +01:00
Le Philousophe 7e1dc9599b AGS: Disable game scanner when detection is dynamic
When detection is in dynamic plugin, the detection tables are included
twice. Once in the detection plugin and once in the engine for the game
scanner code.
We disable the feature in this case to prevent duplication as this
feature is only used in specific cases.
2024-01-02 03:59:44 +02:00
Le Philousophe 728b2cbac7 AGS: Migrate engine to Path 2023-12-24 13:19:25 +01:00
Walter Agazzi 1190019b2d AGS: if noScummSaveLoad is set, also set noScummAutosave 2023-12-15 09:08:02 +00:00
Walter Agazzi 77cb444f6b AGS: Check msg is initialized and add mirrored getAutosaveSlot
This is required for the overwrite warning to work properly
2023-12-15 09:08:02 +00:00
Walter Agazzi 1978f4c9c8 AGS: Use custom message in saveload popups 2023-12-15 09:08:02 +00:00
Walter Agazzi 504c376c5b AGS: Add checkbox to force ScummVM save management
This is used to override the flags set in the games detection table
2023-12-15 09:08:02 +00:00
Walter Agazzi 7c1aaf6933 AGS: Add two GUIO flags related to saves
* NO_AUTOSAVE to disable ScummVM autosaving
* NO_SAVELOAD to completely disable ScummVM menu save/load
2023-12-15 09:08:02 +00:00
Eugene Sandulenko ec2dd2726b ENGINES: Added optional parameter to canSave/LoadGameStateCurrently() for indicating the reason 2023-12-08 12:21:16 +01:00
Walter Agazzi c05887d3a4 AGS: Implement GAMEOPTION_NO_SAVE_THUMBNAIL
Added game option flag to disable screenshot/thumbnail creation
on save
2023-06-16 22:47:37 +01:00
Walter Agazzi 37f97cc8b6 AGS: Engine: add bitness and endianess to the printed engine version
+ Use term "engine" instead of "ACI" (a legacy "Adventure
Creator Interpreter" title).
From upstream eaf298ae3f96db6e37bfd9ac99bad1dff48430ae
2023-04-29 13:11:41 +02:00
Thierry Crozat 3bd0dbe619 AGS: Improve pixel format selection
The engine is capable of rendering to any 16 bit or 32 bit format,
but the format conversion has a cost. This commit assumes that any
conversion that the backend may need to do would be at least as
efficient as the conversion that would be done in the engine, so
we select the best format for the engine that is supported by the
backend. There are three categories of formats:
1. The one used internally by the engine. When also used for the
backend we can do direct rendering.
2. For 32 bit games, two additional formats for which there is
an optimized color conversion.
3. Any other 16 bit or 32 bit pixel format, for which we have
generic color conversion.

Profiling with two games shows the following improvments:
 - If we can use the internal engine format, we gain between 3%
   and 5% compared to the next best formats, and between 11% and
   14% with other formats.
 - Otherwise if we can use the next best formats we still gain
   between 6% and 11% over other formats.
2023-02-09 23:31:39 +00:00
Eugene Sandulenko fb7095f5a4 COMMON: Move all compression-related files to a separate directory 2022-12-01 11:53:02 +01:00
Vladimir Serbinenko 60151528c4 AGS: Open clickteam-compressed files 2022-11-18 01:22:59 +01:00
Paul Gilbert c4457ce443 AGS: Changed ComponentHandlers array from being global objects 2022-05-31 18:46:33 -07:00
Paul Gilbert 8e55de7b77 AGS: Changed sccmd_info array from being global objects 2022-05-31 18:33:21 -07:00
Paul Gilbert a2a5f2575d AGS: Reorganized few cc_ headers
From upstream ea1f8b9ece69fc7c49c4d3aa7b9af51c4ca736e5
2022-05-05 22:41:07 -07:00
Torbjörn Andersson 44eb3c9076 AGS: Don't create _music until AGSEngine::run()
If it's done in the constructor it's not possible to use extrapath, and
that may cause problem, e.g if people want to use the MT-32 emulator
for games that use MIDI music.
2022-04-20 18:38:29 +02:00
D G Turner b548bcfa28 AGS: Fix Undefined Macro Compiler Warnings
These are emitted by GCC when -Wundef is passed.

The AGS_PLATFORM_DEFINES_PSP_VARS may have previously caused those variables
to be present since undefined macros are assumed to be 0, thus the test would
have passed.
2022-03-16 09:13:02 +00:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Coen Rampen f9630d6981 AGS: Fix MIDI volume control
MIDI user volume setting was not applied until the start of the next track.
Fixed this by implementing Engine::syncSoundSettings.
2021-09-10 15:02:27 +02:00
Thierry Crozat e4d1871a6e AGS: Translate error dialog messages 2021-08-24 21:48:13 +01:00
Thierry Crozat aa114a259c AGS: Improve error message for pre-2.5 games 2021-08-24 02:03:45 +01:00
Thierry Crozat 3c81027efa AGS: Allow using pixel format with different color depth than requested
This allows to play 32 bit games on iOS (the backend currently only
supports 16 bit color depth).
2021-08-22 19:45:20 +01:00
Paul Gilbert d90cb0d203 AGS: Removed excessive headers containing random group of includes
From upstream 9e5149457a4638694fb1366b3fa59b08816f522c
2021-08-17 21:31:56 -07:00
Paul Gilbert 3a3ff8aa5a AGS: Extend force AA fix to Rango as well 2021-08-07 20:26:34 -07:00
Paul Gilbert 71de3facb2 AGS: Better fix for Gemini Rue German accents 2021-08-07 16:49:37 -07:00
Paul Gilbert f9bc18c58a AGS: Fix loading sound effects in AGSWaves 2021-07-20 21:17:41 -07:00
Paul Gilbert 0cf9a86286 AGS: Further optimization for 32-bit screen rendering
I tried once again to refactor the AGS codebase to use an RGBA
format that can directly blitted to the screen for performance,
but once again couldn't locate all the places that assume that
specific pixel format. So to at least provide some optimization,
I've implemented two fast for loops that handle converting the
AGS surface pixels to RGBA or ABGR for rendering
2021-07-11 20:06:32 -07:00
Paul Gilbert ee75794504 AGS: Cleanup of usage of ScummVM Graphics::Screen 2021-07-11 14:06:26 -07:00
Paul Gilbert 70a9d787c7 AGS: Add message if platform can't support 3Gb datafile for Strangeland 2021-07-08 18:24:28 -07:00
Paul Gilbert 135ac365ac AGS: Fix error message for pre-2.5 games 2021-07-07 18:11:42 -07:00
Paul Gilbert f8ac707b24 AGS: Add more explicit error message when trying to run pre-2.5 games 2021-07-05 20:11:37 -07:00
Paul Gilbert aec0a06700 AGS: Enable setting paletted graphics mode 2021-06-20 19:15:56 -07:00
Paul Gilbert eb1e337edd AGS: Removed String's "const char*" conversion operator
From upstream 7c426674e7e53bffe9120f8ffc059b77fa03a606
2021-06-13 21:08:59 -07:00
Paul Gilbert 91c7eeef14 AGS: Provided String method variants with "const String&" argument
From upstream 1e33b06b3329b6b0a79c9fe818c012741c08ae2a
2021-06-13 21:08:57 -07:00
Paul Gilbert 701396361c AGS: Import of fresh codebase 2021-06-13 21:08:44 -07:00
ysj1173886760 29e39e0d55 AGS: move debug channels to metaEngineDetection 2021-05-22 01:34:57 +02:00
Thierry Crozat 990ab7fe2d AGS: Do not allow to load and save in non-blocking events
The AGS engine does not supports this and has a check when
saving that errors out when trying to save during a non-blocking
event (see can_run_delayed_command() call at the start of
save_game()). There is no such check when loading, but it
causes a crash. This can easily be reproduced in QfGII.
2021-04-16 01:14:46 +01:00
Thierry Crozat ba15b9c84b AGS: Add debug flag to enable script dump 2021-04-14 23:54:48 +01:00
Orgad Shaneh 78c48fd9df AGS: Remove unused private members and globals
Detected by Clang.
2021-04-09 19:18:07 -07:00
Thierry Crozat fece6ea40f AGS: Add option to force using antialiasing for text rendering 2021-04-08 00:45:46 +01:00
Cameron Cawley a1890ede9c BASE: Avoid calling PluginMan.getEngineFromMetaEngine where possible 2021-04-05 15:33:23 +01:00
Paul Gilbert ce22f46e8a AGS: Respect ScummVM volume controls
I experimented, but couldn't get the AGS in-game volume
controls to map to the ScummVM volume controls. The reason
being that the games frequently set the volume during their
startup, sometimes multiple times. The best I could do was
set up the different sound types in AGS to use the
Audio::Mixer::SoundType enum, so that any ScummVM volume
control will be respected in addition to the AGS volumes.
2021-04-02 21:18:11 -07:00
Thierry Crozat 33b918c8b5 AGS: Use backend preferred pixel format
This fixes using the engine on iOS.
2021-04-01 00:39:00 +01:00
Thierry Crozat 3d36f38221 AGS: Allow showing fps using config file
To show the fps in ags games you can now add display_fps=true
in the ScummVM config file.
2021-03-31 22:01:23 +01:00