Commit Graph

1427 Commits

Author SHA1 Message Date
sluicebox
8e1d90f8e4 ALL: Remove clearAllDebugChannels() from Engine dtors 2021-06-14 12:42:38 -05:00
ysj1173886760
d987e1a6b1 DREAMWEB: move debug channels to metaEngineDetection 2021-05-22 01:34:57 +02:00
sluicebox
93eeffc84d JANITORIAL: Update old bug tracker numbers 2021-03-03 02:15:05 +02:00
Eugene Sandulenko
a77c78c552 DREAMWEB: Final fixes for Russian version 2020-12-09 01:13:23 +01:00
Eugene Sandulenko
203ac1205c DREAMWEB: Fix verb order in Russian DreamWeb 2020-12-07 01:49:17 +01:00
Cameron Cawley
4ced49acd4 ENGINES: Changed AdvancedMetaEngine::createInstance to return a Common::Error 2020-12-04 20:57:14 +00:00
Eugene Sandulenko
e804ba69a7 DREAMWEB: Use AD_ENTRY2s in the detection tables 2020-11-28 14:14:03 +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
7fe1eb330d DREAMWEB: Remove redundant and unreachable return statement 2020-10-03 14:56:36 +02:00
aryanrawlani28
5161f46f98 DREAMWEB: Split detection code & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28
cdf4261328 DREAMWEB: Move common struct to detection.h
- This way we don't include entire detection_tables in metaengine.cpp, which needs it.
2020-10-03 14:56:36 +02:00
mataniko
581a6ec7d6 JANITORIAL: Rename kSupportsRTL to kSupportsReturnToLauncher 2020-05-12 10:36:38 +02:00
mataniko
06242a712b JANITORIAL: Rename EVENT_RTL
Now that ScummVM is adding RTL support, the EVENT_RTL should be disambigious that it is for returning to launcher
2020-05-12 10:36:38 +02:00
Thierry Crozat
75f8cfac56 DREAMWEB: Use more accurate vsync timing
The vsync delay is 14 ms (1000 / 70), and using a loop with
a sleep of 10ms until we had passed that delay meant we were
actually waiting anytime between 14 and 23 milliseconds, which
made the game slower than it should be. This was partially
corrected by using a delay of 11 ms (800 / 70), but this was
still inacurate and too slow in average.

In addition, since the change in commit 87c8b60, it was ignoring
the time spent in the game loop, which on slow devices is not
negligeable, and this has been fixed as well.

Finally also change the fast speed from 20 to 4. In commit
87c8b60 the delay was changed from macroseconds to milliseconds,
and any speed above 14 would then result in a delay of 0 due to
the integer division. We have the turbo mode for that, so it
seems to make sense to make the fast mode a bit slower rather
than having two modes that do the same thing.
2020-05-03 00:13:33 +01:00
SupSuper
57cefa1ddc DREAMWEB: Convert sprite.cpp from ANSI to UTF-8
Gets rid of VS Studio's warnings about illegal characters
2020-04-20 21:37:14 +01:00
Paul Gilbert
a00e44ba6c ENGINES: Merge saveGameState virtual methods into a single one 2020-02-16 15:44:28 -08:00
Paul Gilbert
f21ffdca33 DREAMWEB: Refactor to use Engine debugger 2020-02-16 13:07:19 +02:00
Bastien Bouclet
606ad04533 DREAMWEB: Add override keywords 2020-02-09 12:43:15 +01:00
Eugene Sandulenko
8c26862614 DREAMWEB: Added override keywords 2020-02-05 15:15:32 +01:00
Paul Gilbert
5b80320525 ENGINES: Adding override keyword to hasFeature methods 2020-02-04 20:04:11 -08:00
Eugene Sandulenko
93dfd3922e DREAMWEB: Added support for Russian fan-translation 2020-01-29 00:50:41 +01:00
Filippos Karapetis
b6db761e3e DREAMWEB: Remove unused code 2020-01-24 01:42:25 +02:00
Filippos Karapetis
87c8b60ee1 DREAMWEB: Change the vsync code to use a delay, instead of an interrupt
This adjusts the screen update code to check for events more often,
which will help with the game's responsiveness on some platforms
2020-01-23 00:36:14 +02:00
sluicebox
b8390fa161 GRAPHICS: Add interface for horizontal shake 2019-11-19 00:20:40 +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
Bastien Bouclet
9a4c0ae281 ENGINES: Normalize the getName() result of metaengines
Also-By: Matthew Hoops <clone2727@gmail.com>
2018-12-10 06:47:27 +01:00
Filippos Karapetis
f524745774 DREAMWEB: Simplify the character kerning checks 2018-07-09 00:41:04 +03:00
Filippos Karapetis
fc5261b0c4 DREAMWEB: Fix speech during the monk cutscene in non-English versions
Fixes bugs #6288 and #6417
2018-07-09 00:41:04 +03:00
Adrian Frühwirth
00e59a3122 ALL: Load savegame thumbnail only when necessary
This commit introduces the following changes:

1. Graphics::loadThumbnail()

   Now returns a boolean and takes a new argument skipThumbnail which
   defaults to false. In case of true, loadThumbnail() reads past the
   thumbnail data in the input stream instead of actually loading the
   thumbnail. This simplifies savegame handling where, up until now,
   many engines always read the whole savegame metadata (including
   the thumbnail) and then threw away the thumbnail when not needed
   (which is in almost all cases, the most common exception being
   MetaEngine::querySaveMetaInfos() which is responsible for loading
   savegame metadata for displaying it in the GUI launcher.

2. readSavegameHeader()

   Engines which already implement such a method (name varies) now take
   a new argument skipThumbnail (default: true) which is passed
   through to loadThumbnail(). This means that the default case for
   readSavegameHeader() is now _not_ loading the thumbnail from a
   savegame and just reading past it. In those cases, e.g.
   querySaveMetaInfos(), where we actually are interested in loading
   the thumbnail readSavegameHeader() needs to explicitely be called
   with skipThumbnail == false.

   Engines whose readSavegameHeader() (name varies) already takes an
   argument loadThumbnail have been adapted to have a similar
   prototype and semantics.
   I.e. readSaveHeader(in, loadThumbnail, header) now is
   readSaveHeader(in, header, skipThumbnail).

3. Error handling

   Engines which previously did not check the return value of
   readSavegameHeader() (name varies) now do so ensuring that possibly
   broken savegames (be it a broken thumbnail or something else) don't
   make it into the GUI launcher list in the first place.
2018-04-07 09:26:20 +02:00
Eugene Sandulenko
8809149b3c DREAMWEB: Added detection for Russian fan-made translation 2018-02-21 22:44:13 +01:00
Colin Snover
a6659ba9d5 DREAMWEB: Use accurate memory reclamation for Ex transfers
When the Ex memory regions are close to full, it is possible for
the game to fail to purge objects and then crash with an OOM error
even if it isn't actually out of memory. This patch calculates the
amount of free memory truly needed when allocating to Ex memory to
allow exactly the entire frame & text regions to be used, instead
previously where a hard-coded amount of free space to maintain was
used, which guaranteed that the entire memory region could not
actually be used by the game.

This change may be masking some underlying memory leak, or it may
just be that near the end of the game the game naturally comes
close to reaching the maximum memory region size. For the moment,
I am assuming the latter.

This commit also adds some assertion checks to the memory transfer
functions to make sure the regions don't quietly overflow in other
cases, since pickupConts performs transfers in a manner that
doesn't ensure enough free memory exists for them to be successful.

Fixes Trac#6820.
2017-11-12 23:15:05 -06:00
Colin Snover
f99c83c0a0 DREAMWEB: Fix out-of-bounds read of frame animation data
The game reads until it sees 0xFF, which is not until frame 14 for
some animations in the first interactive room of the game. This
happened to work previously because the struct is packed so it
would read into the b31.. members, but this was still technically
an out-of-bounds read.
2017-11-11 16:19:23 -06:00
Colin Snover
6e157429b7 BACKENDS: Fix window sizing of games that switch between multiple resolutions 2017-10-07 12:30:29 -05:00
Colin Snover
432fd522d2 ENGINES: Remove default1x scaler flag
This flag is removed for a few reasons:

* Engines universally set this flag to true for widths > 320,
  which made it redundant everywhere;
* This flag functioned primarily as a "force 1x scaler" flag,
  since its behaviour was almost completely undocumented and users
  would need to figure out that they'd need an explicit non-default
  scaler set to get a scaler to operate at widths > 320;
* (Most importantly) engines should not be in the business of
  deciding how the backend may choose to render its virtual screen.
  The choice of rendering behaviour belongs to the user, and the
  backend, in that order.

A nearby future commit restores the default1x scaler behaviour in
the SDL backend code for the moment, but in the future it is my
hope that there will be a better configuration UI to allow users
to specify how they want scaling to work for high resolutions.
2017-10-07 12:30:29 -05:00
Dario Scarpa
8966d4f8fc DREAMWEB: fixed detection of Italian CD release
The Italian CD release of Dreamweb (available on
https://www.scummvm.org/games/) was not properly
detected (the floppy version was detected, so
speech stayed disabled).
Added a proper entry to fix the issue.
2017-02-07 23:59:22 +00:00
Ben Castricum
b041618a42 ALL: Remove comma before the word 'instead' 2016-11-29 20:22:19 +01:00
Eugene Sandulenko
2d428e2760 DREAMWEB: Cleanup 2016-07-28 11:34:34 +03:00
Eugene Sandulenko
33abb6118f ALL: Change main engine header guard defines to <directory>_<engine>_H
Recently we started to use this as new semantics, although in the past
we used simly <engine>_H. Now these guard defines are consistent with
rest of the files which are used in the engines.
2016-05-17 18:21:30 +02:00
Ori Avtalion
3564032330 JANITORIAL: Reduce audio header dependencies 2016-04-14 16:10:21 +03:00
Eugene Sandulenko
fd99786ba0 DREAMWEB: Add bug reference to Czech detection entry 2016-03-27 14:34:43 +02:00
Eugene Sandulenko
dc0b8679f9 DREAMWEB: Added detection for Czech version. Bug #7078 2016-03-27 14:33:03 +02:00
Johannes Schickel
0b6befdcc5 ENGINES: Make variable names of AdvancedMetaEngine conform to our guidelines.
_singleid   -> _singleId
_gameids    -> _gameIds
_guioptions -> _guiOptions
2016-03-08 19:01:13 +01:00
Johannes Schickel
3def363968 DREAMWEB: Let listSaves return list sorted on slot numbers. 2016-02-25 21:39:45 +01:00
Johannes Schickel
6af2e8564a DREAMWEB: Only request actual save slots in listSaves. 2016-01-26 16:35:30 +01:00
Johannes Schickel
603eb3bfb6 DREAMWEB: Remove superflous default value registration for extra GUI options. 2015-12-28 00:14:11 +01:00