Commit Graph

533 Commits

Author SHA1 Message Date
Le Philousophe
035f425e9c CGE: Don't pass the engine object to EncryptedStream
It doesn't need it and when linked with detection and with UBSan enabled
build fails because CGEEngine isn't linked in
2022-01-03 14:44:03 +02:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh
69f45d9258 CGE: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Orgad Shaneh
ee57380de7 ENGINES: JANITORIAL: Remove 'virtual' when override is specified 2021-11-14 14:32:04 +02:00
Orgad Shaneh
fe104cc337 ENGINES: Use MetaEngine consistently for getting autosave slot
The autosave refactoring that was done in
7adad5aaf5 used g_engine for identifying the
autosave slot. This worked for in-game save/load, but doesn't fit when
called from the launcher.

Fix by passing MetaEngine to SaveStateDescriptor ctor and using it for this
query.

Amends 7adad5aaf5.
2021-10-24 16:46:06 +02:00
trembyle
0ccb493af1 CGE: Add detection for alternate Soltys demo
Found on 1997 Sfinx CD from LK Avalon.

From the readme:
+-------------------------+
|  "zwiastun gry SOLTYS"  |
|  (mini-gra przygodowa)  |
+-------------------------+

Translated to "Soltys Game Trailer" (mini-adventure game)
2021-09-19 14:52:46 +02:00
Orgad Shaneh
7adad5aaf5 ENGINES: Streamline auto-save write/delete protection
Some engines call setAutosave and some don't. isAutosave is used to
determine if a saved game is an autosave, but in fact, on most cases it
just falls back to comparing the name to "Autosave".

This is wrong for several reasons:
* Older versions of ScummVM used Autosave 0.
* The name "Autosave" is translated, so if you change the language, it
  won't be detected.

Instead of relying on the name, use the well-known getAutosaveSlot() from
Engine/MetaEngine.

Fixes #12735.
2021-08-23 13:34:35 +02:00
Max Horn
2f1f8f502e DEVTOOLS: move credits from devtools/credits.pl to engines
This employs a "lazy" approach: the "format" for the credits stays
exactly as it was, i.e., perl code. Of course one may want to change
this to another format (e.g. YAML, JSON, XML; or also shell script or
AWK, like `configure.engine` uses). But I deliberately kept it simple,
to get a minimal change that is easy to verify. Any further changes to
e.g. the format can be layered atop this.
2021-08-05 00:01:46 +02:00
Thierry Crozat
5d3457aa94 CGE: Fix check to skip redrawing the infoline again and again with the same text
There was a check in place to avoid redrawing the infoline when
calling the update() function with the same text multiple times.
Such calls happen when the cursor moves over an object (or menu
option) without leaving that object. The check was however
incorrect and did nothing because it was keeping the pointer
from the end of the previous text and not the start.

From the log it seems that the bug was present from the start,
and probably in the original source code. It was however fixed
in Sfinx (CGE2 engine), and this commit uses the same logic.
2021-07-21 21:36:00 +01:00
Thierry Crozat
9a797a765e CGE: Futher cleanup of the text-to-speech code 2021-07-21 21:36:00 +01:00
taylorzhancher
c72b895af9 CGE: Change declaration place and descriptions 2021-07-21 21:36:00 +01:00
D G Turner
e821511050 CGE: Fix Misleading Indentation GCC Warnings from TTS Addition 2021-07-18 05:31:51 +01:00
Twan
92e1d2079c
CGE: Add Text To Speech (TTS) for Soltys
Add TTS to the opening story, game objects, game options and the ending message
2021-07-17 09:27:42 +03:00
sluicebox
8e1d90f8e4 ALL: Remove clearAllDebugChannels() from Engine dtors 2021-06-14 12:42:38 -05:00
ysj1173886760
7af3a3f84c ENGINES: introduce ADDectedGameExtraInfo to ADGameDetector, add extra info as parameter for fallback detect. 2021-06-13 14:15:45 +02:00
ysj1173886760
3ad0a9573a CGE: move debug channels to metaEngineDetection 2021-05-22 01:34:57 +02:00
Eugene Sandulenko
5e7fe2dc57
JANITORIAL: Replace spaces in indentation with tabs 2021-04-15 21:20:36 +02:00
SupSuper
054aee03d5 CGE: Make sure to stop playing sounds before freeing resources 2021-04-01 23:25:43 +03:00
D G Turner
48220b8ec5 CGE: Fix Memset on non-trivial Structure GCC Compiler Warning 2021-03-21 15:01:26 +00:00
Thierry Crozat
82c0759dc7 CGE: Remove unused Console code
The CGE engine defined two separate GUI::Debugger classes,
but only one of them is used and we can remove the other one.
2021-03-15 01:24:36 +00:00
sluicebox
93eeffc84d JANITORIAL: Update old bug tracker numbers 2021-03-03 02:15:05 +02:00
Cameron Cawley
4ced49acd4 ENGINES: Changed AdvancedMetaEngine::createInstance to return a Common::Error 2020-12-04 20:57:14 +00:00
Eugene Sandulenko
a1557341b3 CGE: Use ADGF_UNSUPPORTED for demos 2020-11-28 13:41:50 +01:00
Eugene Sandulenko
53cd3e42de CGE: Use AD_ENTRY2s in detection 2020-11-28 13:34:39 +01:00
Eugene Sandulenko
8c0d3faac5 CGE: Added detection for updated Russian fan-translation 2020-11-23 17:28:01 +01:00
Eugene Sandulenko
7ff34bc9ec PLUGINS: MetaEngineStatic -> MetaEngineDetection 2020-10-11 23:14:39 +02:00
Eugene Sandulenko
7ea6781043 PLUGINS: PLUGIN_TYPE_METAENGINE -> PLUGIN_TYPE_ENGINE_DETECTION 2020-10-11 23:12:32 +02:00
aryanrawlani28
d26bbe521c ENGINES: ALL: Finish renaming ME & AME classes
- ME -> MetaEngineStatic (static parts)
- MEC -> MetaEngine (dynamic parts)
2020-10-03 14:56:36 +02:00
aryanrawlani28
29ceb07959 ENGINES: ALL: Revert detection submodule to be directly present in the engine directory
- DETECT_OBJS are present and added inside an engine's modules.mk file.
2020-10-03 14:56:36 +02:00
aryanrawlani28
8189a05316 ENGINES: ALL: Adapt to changes for new plugins by defining a new detection module
For each engine:
- Make a new folder detection
- Move detection-related files inside the folder
- Add a new module "enginename/detection"
- Add DETECT_OBJS here
- Adjust the normal engine module to remove detect_objs
- Adjust every file for the new changes.
2020-10-03 14:56:36 +02:00
aryanrawlani28
0d61c5bd4b CGE: Split detection code & adapt to new plugins. 2020-10-03 14:56:36 +02:00
Bastien Bouclet
0f2c6cd9ea ENGINES: Change mac resource fork file detection to use the file cache
Common::MacResMan is now able to open files from a specified
Common::Archive. This is a bit hacky as dynamic_cast is used to break
the Archive encapsulation to retreive the underlying FSNode. It should
however be more correct than the previous code that assumed files were
at the root of the currently running game's path.

AdvancedDetector constructs a Common::Archive from its FileMap based
filesystem cache and uses it to detect the mac resource fork files.

This cuts the time it takes to run the detection code with all the
engines enabled as dynamic plugins on the 3DS to 30 s from 280 s.
2020-09-20 16:33:45 +02:00
aryanrawlani28
4b6976c558 GUI: U32: Reduce number of files changed and fixes
Up until last commit, everything was working fine but the amount of files changed was too large. This commit tries to reduce the changes.

- Add a fake constructor to Keymap, text-to-speech, setDescription (save-state)
- Redirecting functions for PopUpWidget::appendEntry, ButtonWidget::setLabel, GUIErrorMessage
- Use the above functions and constructors to reduce changes in Engines
- Fix warnings being in unicode. Only output english text in - Warnings, Errors, etc.
- Mark some strings as "translation" strings. (Not yet added to POTFILES)
- Remove some CP related things from po/modules.mk
- Previously used some Common::convertToU32 where it was not necessary, replace this with u32constructor
2020-08-30 14:43:41 +02:00
aryanrawlani28
185fb72783 GUI: U32: Improve U32 code
- Revert accidentally put translations in mt32.cpp
- Use U32::format in some places earlier missed
- Add %u and %i for u32::format
- Add support for GUIErrorMsgFormat to use u32::format internally
- Use the above whereever needed
- Improve linux tts by removing redundant code
- Some places I had changed nullptr -> "". Revert this
2020-08-30 14:43:41 +02:00
aryanrawlani28
bed05ea134 GUI: U32: Fix compilation errors across entire project
After the initial changes just to scummvm/gui for u32, this commit includes the whole project

- Widget creations now always have u32 descriptions, labels, or tooltips
- Message dialogs make use of default arguments instead of providing the same argument explicitly
- encode String::format properly before passing on as argument where necessary
- Modify hugo utils (yesNoBox and notify box) to use u32
- Also provide fake constructors for the above which redirect to the u32 constructor
- Convert all keymap descriptions to u32 across all engines
- showConfirmationDialog in mohawk now uses u32
- showScummVMDialog also uses u32
- Scumm engine has dialogs now which use u32
- General fixes and wrapping convertToU32String for setLabels and related functions
- Add a fake constructor to MesssageDialog which redirects to the u32 constructor
2020-08-30 14:43:41 +02:00
Eugene Sandulenko
ac6932bd89 I18N: Added missing files to POTFILES 2020-08-27 20:26:45 +02:00
Eugene Sandulenko
9c0e8993c0 CGE: Added detection for Russian translation of Solys 2020-07-01 01:03:12 +02:00
mataniko
581a6ec7d6 JANITORIAL: Rename kSupportsRTL to kSupportsReturnToLauncher 2020-05-12 10:36:38 +02:00
Tomasz Długosz
eaab877d66 JANITORIAL: fix the name of original author of cge and cge2
The first name is Janusz, not Janus.
The correct name was used in AUTHORS and credits.
In case of doubts, see his personal webpage: https://www.jbw.pl/ - name is in the page footer
2020-04-18 20:59:57 +02:00
Eugene Sandulenko
75ba54aa3e BACKENDS: Remove LinuxMoto port.
This was a relatively short-lived port. We have it broken and
disabled on the buildbot since 2016. Also, the last builds
were provided in 2011. Thus, it makes a little sense to continue
to keep the code in the repository, as it gets bitrot.
2020-03-09 14:31:14 +01:00
Paul Gilbert
9f175c4053 ENGINES: Cleanup of savegame filenames generation
This removes filename methods when it matched the Engine method.
Secondly, ensuring there was an overriden getSaveStateName method
for engines that didn't do the standard target.00x save filenames
2020-02-16 15:44:28 -08:00
Paul Gilbert
a00e44ba6c ENGINES: Merge saveGameState virtual methods into a single one 2020-02-16 15:44:28 -08:00
Paul Gilbert
5b25e3ec7e CGE: Refactor to use Engine debugger 2020-02-16 13:07:19 +02:00
Bastien Bouclet
dd6e745487 CGE: Add override keywords 2020-02-09 12:43:14 +01:00
Eugene Sandulenko
fbaaba8960 CGE: Added override keywords 2020-02-05 14:50:20 +01:00
Paul Gilbert
5b80320525 ENGINES: Adding override keyword to hasFeature methods 2020-02-04 20:04:11 -08:00
Paul Gilbert
cc689fd16a CGE: Use Engine save/load dialog methods 2020-02-04 19:05:26 -08:00
Eugene Sandulenko
7ca9b7b73e CGE: Added override keywords 2020-01-31 12:54:18 +01:00
Bastien Bouclet
9c8bd056d6 ENGINES: Stop using 'single id' 2019-11-03 11:43:00 +01:00
Bastien Bouclet
4b42112721 ENGINES: Add an engine ID to all the engines 2019-11-03 11:43:00 +01:00