783 Commits

Author SHA1 Message Date
Cameron Cawley
5de39f8024 TRECISION: Use SeekableReadStreamEndianWrapper 2022-11-29 00:06:49 +01:00
Cameron Cawley
3c61812ed8 TRECISION: Move the engine options into the MetaEngine subclass 2022-11-16 23:58:54 +01:00
Cameron Cawley
f3b094e53f ENGINES: Change the MetaEngineDetection interface to match MetaEngine 2022-07-23 23:31:58 +02:00
Torbjörn Andersson
e06f3c9a5a GUI: Allow game option checkboxes to be disabled
Depending on other game option checkboxes. This is used to
enable/disable the semi-smooth scrolling checkboxes for FM Towns Loom,
since it's only used when smooth scrolling is enabled.
2022-04-21 11:07:17 +02:00
Filippos Karapetis
ec16ebbf96 Revert "SCUMM: Refactor the workaround for the broken sample in Indy4"
This reverts commit c59df76164573928d189503a93e10e87b3b7b590.
2022-04-16 14:25:51 +03:00
Filippos Karapetis
c59df76164 SCUMM: Refactor the workaround for the broken sample in Indy4
This makes the workaround code more self-contained
2022-04-16 14:23:02 +03:00
Filippos Karapetis
52a9b4a03c TRECISION: Clean up location reading code 2022-01-26 01:40:48 +02:00
Filippos Karapetis
deb2d48d71 TRECISION: Reuse muteTrack() and setMute() 2022-01-25 18:49:16 +02:00
Filippos Karapetis
13be0648f0 TRECISION: Refactor the video decoder classes
Change NightlongVideoDecoder to be a base class. This allows us to
remove it as an intermediate class and cleanly separate the PC Smacker
from the Amiga video decoder
2022-01-25 17:57:08 +02:00
Filippos Karapetis
ede8abfd5d TRECISION: Rename _lim to _area 2022-01-25 10:36:08 +02:00
Filippos Karapetis
32fb690aae TRECISION: Add support for audio in Amiga video
The audio is in raw format, like the rest of the sounds in the Amiga
port.

Overall:
- A new class has been created, NightlongVideoDecoder, which
  encapsulates the PC and Amiga video playing functionality
- The AnimManager class has been moved into animmanager.*
- The AnimType class has been moved from anim.* to animtype.*
2022-01-24 00:24:28 +02:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh
fe104cc337 ENGINES: Use MetaEngine consistently for getting autosave slot
The autosave refactoring that was done in
7adad5aaf5831dc5adcee140f38aacc4a5db2518 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 7adad5aaf5831dc5adcee140f38aacc4a5db2518.
2021-10-24 16:46:06 +02:00
Eugene Sandulenko
821b7a7e1f
TRECISION: Dropping ADGF_TESTING flag 2021-10-01 14:17:19 +03:00
Filippos Karapetis
774016275e TRECISION: Fix hiding animation areas when cutscenes start - bug #12624
playDialog() refreshes the screen when it finishes, so any calls to
toggleAnimArea() should be done before playDialog() starts.
This fixes cases such as the storekeeper's wife not disappearing
properly after the cutscene with the rat-on-wheels is shown
2021-10-01 01:31:57 +03:00
Filippos Karapetis
afdc5d70f7 TRECISION: Fix restoring games from the ScummVM menu - bug #12902 2021-09-30 03:44:58 +03:00
Filippos Karapetis
0b6b48b23d TRECISION: Fix canceling item combination - bug #12920 2021-09-30 03:17:50 +03:00
Filippos Karapetis
40031bf5c0 TRECISION: Add a game ID and an initial detection entry for Ark of Time
Ark of Time isn't supported at all yet, this is just a placeholder for
further development
2021-09-11 12:30:46 +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
djsrv
7eb4841065 ALL: Use Path type in Archive functions 2021-08-07 10:44:37 +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
SupSuper
ca1b5346cb TRECISION: Fix drawObj condition 2021-07-27 07:03:44 +01:00
Filippos Karapetis
1da70b9247 TRECISION: Move the code that toggles object states when changing rooms 2021-07-15 03:06:09 +03:00
Filippos Karapetis
b882ef646b TRECISION: Use animation defines in patchAnimTab() 2021-07-15 03:06:09 +03:00
Filippos Karapetis
6be03a7801 TRECISION: Patch invalid animation rectangles - bug #12628 2021-07-14 22:18:03 +03:00
Mathias Parnaudeau
35fbf3f913 TRECISION: Fix warning unused-variable 2021-07-08 21:57:48 +01:00
Filippos Karapetis
81b0aad541 TRECISION: Simplify shouldShowAnim() 2021-07-03 13:26:30 +03:00
Filippos Karapetis
dc97c350d2 TRECISION: Simplify the code handling animation subareas 2021-07-03 13:23:49 +03:00
Filippos Karapetis
febc95d486 TRECISION: Clean up drawSmkBackgroundFrame() 2021-07-03 10:44:49 +03:00
Filippos Karapetis
5f98c7c323 TRECISION: Renaming and cleanup 2021-07-03 10:44:49 +03:00
Filippos Karapetis
1266dcab77 TRECISION: Fix logic for walking into room 23A 2021-07-03 10:44:48 +03:00
SupSuper
ec4cce58cb TRECISION: Potential fix for BE color issues 2021-07-02 23:00:01 +01:00
D G Turner
ea17d9422a TRECISION: Fix Shadowing Warnings 2021-07-01 06:09:14 +01:00
Strangerke
4001ae8f40 TRECISION: Fix #12623 2021-06-30 13:31:00 +01:00
SupSuper
b84814cd34 TRECISION: Clean up warnings 2021-06-30 09:36:17 +01:00
Filippos Karapetis
a51af7292e TRECISION: Fix regression from da71b6e84e - bug #12645
I mistakenly removed pixel format conversion, so screen formats other
than RGB555 wouldn't work correctly. This commit should fix that
2021-06-30 10:49:57 +03:00
Strangerke
7c0baadc05 TRECISION: rewrite font loading 2021-06-29 22:17:28 +01:00
Strangerke
11ceeeebf7 TRECISION: Change the signature of characterTalk 2021-06-29 22:17:28 +01:00
Filippos Karapetis
78ef45ba0f TRECISION: Group object graphics and mask buffers 2021-06-22 10:37:36 +03:00
Filippos Karapetis
95cec50195 TRECISION: Don't refresh objs outside of the current room - bug #12625 2021-06-20 17:04:01 +03:00
Filippos Karapetis
7ebd9c9558 TRECISION: Janitorial - use unified naming for loop variables 2021-06-20 17:04:01 +03:00
Filippos Karapetis
76dfe88b9a TRECISION: Mark the video frame calculation fix as a workaround 2021-06-20 01:38:25 +03:00
D G Turner
3d6cdf3e7d TRECISION: Fix GCC Signed vs. Unsigned Comparison Warning 2021-06-19 16:03:53 +01:00
Filippos Karapetis
84d00f364a TRECISION: Fix playing videos without choices - bug #12622 2021-06-19 12:18:42 +03:00
Filippos Karapetis
5ddcff361c TRECISION: Improve handling of pixel formats - bug #12645 2021-06-19 11:14:52 +03:00
D G Turner
4d6344e736 TRECISION: Fix GCC Shadowing Warning 2021-06-17 13:03:59 +01:00
Filippos Karapetis
df607c7f8d TRECISION: Fix action animation rects - bugs #12629, #12639, #12640 2021-06-16 22:54:26 +03:00
Filippos Karapetis
e1868bfd70 TRECISION: Use Common::Rect for the actor rect 2021-06-16 22:41:33 +03:00
Filippos Karapetis
53cb5293ca TRECISION: Remove globals used for drawObj() / eraseObj() 2021-06-16 20:54:17 +03:00
Filippos Karapetis
18779bb156 TRECISION: Fix room snapshots in the positioner interface - bug #12638 2021-06-16 02:37:44 +03:00