Commit Graph

794 Commits

Author SHA1 Message Date
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
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Eugene Sandulenko
3f90dbc7fa
CINE: Fix clang warnings 2021-12-01 00:05:33 +01:00
Orgad Shaneh
0b818ad3f6 CINE: 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
3919f53326 ENGINES: Replace new[]/memset with new[]() 2021-11-10 19:53:15 +01:00
Alexandre Detiste
6044504762 JANITORIAL: typos
some in the variable names, some in the comments;
no change for the strings that interract with original games assets
2021-10-31 20:46:31 +01: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
Kari Salminen
5a46547b7e CINE: Add detection for French patched FW CD
Add detection for Future Wars CD version with French translation patch
applied.

Closes #12490
2021-09-06 22:13:24 +01:00
Kari Salminen
73b109b035 CINE: OS: Fix crash before entering secret base
Check that the filename can be found in the volume entries map before
trying to dereference it.

Fixes #11723
2021-09-04 23:14:18 +02:00
Kari Salminen
294ed169f9 CINE: OS: Fix space missing in verb line
Fixes #11687
2021-09-04 23:14:18 +02:00
Kari Salminen
865e3d6179 CINE: OS: Add detection for Italian Amiga version
Closes #12812
2021-09-04 23:14:18 +02:00
Kari Salminen
b3ef35c7e0 CINE: Keep overflowing message box inside screen
First calculate maximum used Y position in drawMessage
and then reposition the message box to stay inside the
main screen.

Fixes bug #11708
2021-09-04 23:14:18 +02:00
Cameron Cawley
74129492ba CINE: Avoid using static objects with destructors 2021-09-02 21:41:14 +03: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
antoniou79
04642eef8a ENGINES: Replace checkCD with isolated partial methods
This is PR #3018 "rebased" on the current HEAD, after the conflicts with PR #3003 and me botching the rebase in that PR

Old PR is here: https://github.com/scummvm/scummvm/pull/3018
2021-07-27 20:51:57 +02:00
Paul Gilbert
005561d305 COMMON: Increase Stream pos, seek, size from int32 to int64 2021-07-08 18:24:28 -07:00
trembyle
09c0b319b8 CINE: Use less generic file for detection
The filename `demo` was used to detect the Operation Stealth Amiga
demo. This would often produce false matches when the same filename
was present in data files for other engines, especially Mac Director.

We can use the filename `demo_os` instead. This is the file used for
the DOS demo (with a different md5).
2021-06-29 23:08:33 +02:00
sluicebox
8e1d90f8e4 ALL: Remove clearAllDebugChannels() from Engine dtors 2021-06-14 12:42:38 -05:00
ysj1173886760
c80dd052d7 CINE: move debug channels to metaEngineDetection 2021-05-22 01:34:57 +02:00
Orgad Shaneh
a05e54f00c JANITORIAL: Remove trailing whitespaces 2021-05-04 11:46:30 +03:00
Eugene Sandulenko
5e7fe2dc57
JANITORIAL: Replace spaces in indentation with tabs 2021-04-15 21:20:36 +02:00
Cameron Cawley
a1890ede9c BASE: Avoid calling PluginMan.getEngineFromMetaEngine where possible 2021-04-05 15:33:23 +01:00
D G Turner
f8f0f09ef2 CINE: Fix GCC Compiler Warnings
These are mainly signed vs. unsigned comparison warnings apart from
a set, but unused variable in the main loop code which can be removed.
2021-03-17 21:53:28 +00:00
Paul Gilbert
ae4da8bce0 ENGINES: Make creation of savegame thumbnails an overrideable method 2021-03-07 09:34:33 -08: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
e4f1351d05 CINE: Use AD_ENTRY2s in the detection tables 2020-11-28 13:49:16 +01:00
Eugene Sandulenko
5936026209 ALL: Clarify POTFILES, remove redundant common/translations.h includes 2020-11-10 03:03:49 +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
Cameron Cawley
baa1a49122 CINE: Fix warning 2020-10-10 21:26:41 +01:00
aryanrawlani28
992abce74a ENGINES: Rename getMetaEngine helpers
- getME -> getMetaEngineStatic (static parts)
- getMEC -> getMetaEngine (dynamic parts)
2020-10-03 14:56:36 +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
a56dc094b9 ENGINES: ALL: Move detection_enums -> detection.h
- Cleans up headers quite a bit.
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
f3b9477893 ENGINES: ALL: Add header guards for the new detection-header files. 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
ec3ccf5eb0 CINE: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
Paul Gilbert
bf754b76aa ENGINES: Cleanup of get savegame file & patterns 2020-09-19 09:31:49 -07:00
Eugene Sandulenko
c65f3e071c ALL: Remove ADGF_TESTING flags before the 2.2.0 release 2020-09-13 13:09:02 +02:00
Kari Salminen
70d16a3689 CINE: FW: Fix command line updating
In Future Wars the command line was not always updated and thus failed
sometimes to be up to date (i.e. showing wrong text, e.g. "EXAMINE" only
when it should have read "EXAMINE scaffolding" because the mouse cursor
was on the scaffolding).

Now we just always update the command line for both Future Wars and
Operation Stealth which seems to fix the command line updating.

I think this probably was a regression caused by adding support for
Operation Stealth (i.e. pull request #2365) and the efforts made in it
to make the user interface responsive.
2020-09-10 00:34:32 +01:00
Kari Salminen
eabd1c243d CINE: Fix loading inexistent music.
The Italian Amiga version of Future Wars tries to load music from file
"TELESONG.DAT" which does not exist. Previously after this starting to
play music might either try to play a null stream and crash or play an
old wrong music in memory. Fix that by setting the stream to null if
no music exists (Checked that the stream is destroyed i.e. the
destructor is run so it should be safe to set the _moduleStream variable
to nullptr directly).
2020-09-10 00:34:32 +01:00
Kari Salminen
1642259e4f CINE: FW: Fix 8 half speed scenes (Amiga/Atari ST)
Previously there was a fix for bug #2669415
("FW: half walking speed in a screen") which only addressed a single
scene in Amiga and Atari ST versions of Future Wars.

This fix fixes half walking speed in 8 more scenes in Amiga and Atari ST
versions of Future Wars. The scenes were identified by playing through
an Italian version of Amiga Future Wars.

3 more scenes were left over with half walking speed because they could
not be fixed as easily (i.e. using this fix on them broke the scenes in
some way, made them too fast or made the people walk into wrong
positions or something else). The scenes left over are the ones using
the following background files:
- "L10.PI1": The medieval castle's hall.
- "L18.PI1": The medieval castle's teleport room.
- "L45.PI1": Space station's computer room.
2020-09-10 00:34:32 +01:00
Kari Salminen
be3c84c8e8 CINE: Fix total playtime loading from savegame.
Total playtime is kept as milliseconds in the engine. It is saved as
seconds. Previously it was not converted to milliseconds on load but
seconds were took as milliseconds (i.e. 10s -> 10ms). Fix that by
converting total playtime on load from seconds to milliseconds.
2020-09-10 00:34:32 +01:00
Kari Salminen
8c0a71444f CINE: Try to fix bad_alloc with empty event queue
Previously I encountered an std::bad_alloc with the code in manageEvents
pushing an empty Event into the event queue. It did not happen very
often but I got it to appear while debugging at least once or maybe
twice.

This is an attempt to fix this possible behaviour by not pushing empty
events into the event queue but making sure the current status is
checked without needing to push empty events into an empty event queue.

I played through Italian Amiga version of Future Wars with this change
and encountered no problems with it.
2020-09-10 00:34:32 +01:00
Kari Salminen
1ce7db5572 CINE: Fix using F3 for INVENTORY and F4 for USE.
Previously the inventory could be summoned multiple times by pressing
F3 or F4. Fix that by keeping track when the inventory has been opened
and not allowing multiple use of it simultaneously.
2020-09-10 00:34:32 +01:00
Kari Salminen
7b3b07eb37 CINE: Fix mouse responsiveness after player death
After player has died it was hard to get the system menu to appear by
pressing the left and right mouse buttons simultaneously or the middle
mouse button. Fix that by using the maximum values of the mouse button
states for the polling period (Around 110ms at default play speed).
2020-09-10 00:34:32 +01:00
Kari Salminen
86c21a73ff CINE: FW: Fix Amiga/Atari ST copy protection text
Fix transparency of page number and grid position (e.g. 04 and D2) in
the copy protection scene of Amiga and Atari ST versions of Future Wars.
2020-09-10 00:34:32 +01:00