Commit Graph

1400 Commits

Author SHA1 Message Date
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
Thierry Crozat
7e58535ec2 DREAMWEB: Update list of files that contain translatable strings 2014-10-04 01:01:45 +01:00
Matthew Hoops
740b6e8fbd IMAGE: Move all ImageDecoders to image/ 2014-02-28 00:27:28 -05:00
Johannes Schickel
f8a9567773 DREAMWEB: Slight formatting fix. 2014-02-20 14:20:57 +01:00
Strangerke
137f625548 DREAMWEB: Some British to American english 2014-02-19 21:45:22 +01:00
Johannes Schickel
aaff7b1736 DREAMWEB: Make GPL headers consistent in themselves. 2014-02-18 02:39:34 +01:00
D G Turner
260ee4f390 DREAMWEB: Add missing getDebugger() for engine API. 2013-12-06 23:43:08 +00:00
D G Turner
ef85456859 BUILD: Remove need for engine.mk in each engine directory.
Each engine now only has to provide a single configure.engine file
adding the engine into the configure script, which then produces the
required other files automatically.
2013-11-24 00:48:01 +00:00
D G Turner
1ac01d2333 BUILD: Remove need for engine-plugin.h in engines.
This is now generated automatically by the configure script from the
engine directory names.
2013-11-24 00:48:01 +00:00
D G Turner
00c27a28f9 BUILD: Split engines/plugins_table header down to a file per engine.
This is the third and final commit enabling fully pluggable engines.

Now providing an engine folder contains a configure.engine, engine.mk
and engine-plugin.h file, it will be picked up automatically by the
configure script.
2013-11-24 00:48:01 +00:00
D G Turner
d77cf95a18 BUILD: Split engines.mk down to a single file per engine.
This is the second part of allowing engines to be added dynamically.
Each folder in engines/ which must contain a file named "engine.mk"
containing the make definitions for that engine.
2013-11-24 00:48:01 +00:00
D G Turner
aa947c9474 BUILD: Split configure.engines down to a single file per engine.
This is the first part of allowing engines to be added dynamically.
They are placed into a folder in engines/ which must contain a file
named "configure.engine" to add the engine, which is pulled into the
top level configure script automatically.
2013-11-24 00:45:38 +00:00
Strangerke
06f9a5265a DREAMWEB: Remove dead function enableSavingOrLoading() (which fixes CID 1003402) 2013-11-09 23:54:09 +01:00
Eugene Sandulenko
986369bcb5 DREAMWEB: Initialize struct contents. CID 1003402 2013-11-09 12:59:38 +02:00
Eugene Sandulenko
dc91eafdad DREAMWEB: More unitialized variables. CID 1003402 2013-10-29 09:58:36 +02:00
Eugene Sandulenko
fee20ebe31 DREAMWEB: Initialize few more class variables. CID 1003402 2013-10-18 16:04:48 +03:00
Johannes Schickel
378387c903 I18N: Move specification of engine specific files to enginedir/POTFILES.
This allows to keep the engines to specfiy the files for translation close to
the engine sources itself.

Thanks to criezy for his suggestion on this approach.
2013-08-12 17:54:31 +02:00
Sven Hesse
989ea7cb56 JANITORIAL: Remove trailing whitespace 2013-07-14 19:01:47 +02:00
Eugene Sandulenko
f59512c47e RECORDER: Implement Events Recorder 2013-05-17 00:18:09 +03:00
Simon Sawatzki
7f3cbdba6b DREAMWEB: Changed Italian LOGON command
Changed REGISTRA to ACCEDI for better user convenience.
2013-05-04 22:13:53 +02:00
Matthew Hoops
0031c41db8 COMMON: Change kPlatformPC to kPlatformDOS
"PC" was very ambiguous and now it matches what we show in the GUI.

This also corrects sword2's platform to Windows.
2013-05-02 18:43:10 -04:00
Thierry Crozat
8942a96baf DREAMWEB: Change Spanish LOGON command to ACCESO 2013-05-02 21:37:52 +01:00
Thierry Crozat
6936f830ea DREAMWEB: Add commands in Spanish for the Network Terminal
Also changed the German HELP command to HILF at the translator
request (which means both HILF and HILFE work since the parser
only matches the start of the string).
2013-04-29 22:35:51 +01:00
Thierry Crozat
54640a7317 I18N: Workaround to fix spelling in French command 3 2013-04-26 23:57:00 +01:00
Max Horn
cdfd5f85c8 ENGINES: Silence clang warning about unused private member _vm
This affects the Console / debugger classes of multiple engines.
An alternative solution would have been to remove the unused _vm
member vars. However, it seems likely that in the future, the _vm
member could be useful for methods added to the console. So instead,
we add a simple assert(_vm) to silence the clang warning.
2013-04-18 23:50:19 +02:00
Willem Jan Palenstijn
ff33c5c367 DREAMWEB: Make location array sizes more consistent
While location 15 doesn't actually exist, this makes roomPics more
consistent with the roomsCanGo array.
2013-04-17 21:14:04 +02:00
Thierry Crozat
1ef6ee26cc DREAMWEB: Also update LOGON Italian translation in help string 2013-03-21 08:59:46 +00:00
Thierry Crozat
6d988c1853 DREAMWEB: Change Italian translation of terminal LOGON command
SimSaw found the Italian user manual and it uses REGISTRA. So I
changed the translation in-game to use the same.
2013-03-20 21:24:27 +00:00