Commit Graph

80 Commits

Author SHA1 Message Date
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
D G Turner
7e31014e98 BBVS: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-10-16 19:12:57 +01:00
Henrik "Henke37" Andersson
cd9f770807 BBVS: The game doesn't use midi. Mark it as such. 2019-09-29 19:34:16 +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
Colin Snover
972c453986 BBVS: Remove all bit shifts of potentially negative integers
Previous patches that removed shifts of constant negative values
to eliminate UB were valid, but did not correct all places where
this engine was potentially bit shifting negative values. There is
no reason to not just use multiplication and division and let the
compiler make the right choice for optimisation for an
architecture, so that is what this patch does.
2017-11-10 09:57:03 -06: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
Colin Snover
cc12c878b7 BBVS: Fix UB shifting negative signed integers
These shifted values are replaced with their literal equivalents
as would be calculated on an x86.
2017-09-11 08:13:58 +02:00
Eugene Sandulenko
89a9c452ed BBVS: Remove guitar minigame strings from translation.
Although they're shown in our GUI, they were not supposed to be
translatable, rather extracted from the original executable
2016-11-24 11:34:14 +01:00
Eugene Sandulenko
fab199d37e JANITORIAL: Make GPL headers uniform 2016-09-03 12:46:38 +02:00
Alexander Tkachev
b665fc933d ALL: Make simpleSaveNames() a MetaEngineFeature
Added it into hasFeature() of all engines which returned `true` in
simpleSaveNames() before.

As mentioned in #788, SCI is not always using simple names, so it
doesn't have such feature now.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
ab1d160ec8 ALL: Add MetaEngine::simpleSaveNames()
Engines with "simple" savenames would support "Run in background" in
save/load dialog and gradual save slots unlocking. Other engines
save/load feature would be locked until save sync is over.
2016-08-24 16:07:55 +06:00
Torbjörn Andersson
fad29cf071 BBVS: Remove some uses of g_system 2016-07-04 06:52:37 +02:00
Eugene Sandulenko
e3fff124ee BBVS: Initialize SpriteModule class 2016-06-12 22:51:29 +02:00
Ori Avtalion
3564032330 JANITORIAL: Reduce audio header dependencies 2016-04-14 16:10:21 +03:00
Ori Avtalion
253e18c440 JANITORIAL: Reduce GUI header dependencies 2016-04-14 13:30:14 +03:00
Torbjörn Andersson
ebad422f2f BBVS: Move much of engine initialization to newGame()
This should fix bug #7057 ("BBVS: No clean-up when restarting").
2016-03-14 06:49:26 +01: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
Kirben
bf453e59da BBVS: Remove ADGF_TESTING from Beavis and Butt-head in Virtual Stupidity. 2016-02-28 11:13:41 +11:00
Willem Jan Palenstijn
d390a63cd2 BBVS: Move dialog to avoid bevel being drawn offscreen
Since the GUI renderer doesn't do clipping, this would cause
a potential crash with the Classic theme.
2016-02-26 01:03:57 +01:00
Johannes Schickel
7daa2ab6fd BBVS: Let listSaves return list sorted on slot numbers. 2016-02-25 21:39:45 +01:00
Johannes Schickel
74a1587780 BBVS: Only request actual save slots in listSaves. 2016-01-26 16:35:30 +01:00
Eugene Sandulenko
507168fff4 BBVS: Hide noisy debug 2015-12-31 21:22:41 +01:00
Matthew Hoops
bb12f77cbf BBVS: Fix compilation without translation enabled
A regression from 2a6cbd0
2015-12-21 17:58:09 -05:00
Torbjörn Andersson
1c841094fa BBVS: Use memmove(), not memcpy(), for overlapping memory areas
CID 1230310. This fixes the credits easter eggs for me.
2015-11-30 22:39:54 +01:00
johndoe123
1800f9d8dc BBVS: Fix bug #6954: Pathfinding bug in Prison
The bug was caused by a check introduced by me to avoid division-by-zero errors
when the source and dest x values are equal.
This had the side effect that it didn't work well in this case outlined in the
bug report, maybe also in other places.
I'm not sure how to handle a DBZ correctly here so I'm setting the x delta to
1.0 if it would normally be 0.0, which seems to work after walking around
in some scenes.
2015-11-23 13:22:51 +01:00
Eugene Sandulenko
1c753c046f BBVS: Mark games as testing 2015-11-18 01:15:55 +01:00
Eugene Sandulenko
2a6cbd05f8 BBVS: Since we're using GUI for menus, switch iGUI to the relevant language 2015-11-18 01:11:05 +01:00
Eugene Sandulenko
a373dab5dc BBVS: Fix game title 2015-11-18 00:48:31 +01:00
Torbjörn Andersson
d388981714 BBVS: Fix recent video player memory leak (CID 1339416)
Surface::convertTo() creates a new surface, so we have to free it
once we're done with it.
2015-11-16 22:08:49 +01:00
Eugene Sandulenko
b72d1b9bc7 BBVS: Add debug output 2015-11-16 07:00:58 +01:00
Eugene Sandulenko
54feebacb1 BBVS: Fix 16bpp video output 2015-11-16 04:55:33 +01:00
Eugene Sandulenko
c256f57da1 BBVS: Enable engine by default 2015-11-15 18:10:38 +01:00
Willem Jan Palenstijn
5d6f924fa6 BBVS: Fix typo in array size
Ideally this shouldn't use a hardcoded constant at all...
Thanks to WindlePoons for debugging.
2015-11-14 22:43:16 +01:00
Eugene Sandulenko
0a5e6e16b4 BBVS: Added Russian BBVS
Requires Russian to be selected in GUI font.
Fails on unknown codec at game beginning.
2015-11-14 01:03:33 +01:00
Eugene Sandulenko
81a4359eee BBVS: Implement file chooser for Air Guitar minigame 2015-11-07 13:26:55 +01:00
Matthew Hoops
b6fdc7be88 AUDIO: Make makeAIFFStream return a RewindableAudioStream
All callers requiring SeekableAudioStream have been adapted by using dynamic_cast
2015-06-06 17:20:41 -04:00
johndoe123
aa518306b8 BBVS: Fix out-of-bounds array access in air guitar minigame as reported by Coverity 2015-02-01 17:21:34 +01:00
johndoe123
a48a6ad30e BBVS: Implement loading and saving in the air guitar minigame 2015-01-29 13:11:03 +01:00
Filippos Karapetis
88e5998ee5 BBVS: Remove trailing whitespace 2014-10-28 16:24:45 +02:00
Johannes Schickel
f2685a8876 BBVS: Use floating point constants of type float. 2014-06-02 01:00:15 +02:00
Johannes Schickel
3630c588c6 BBVS: Silence double->float conversion warning.
This might not be obvious to a C++ developer, but we use C's sin which is
*always* double. Thus, sin will return a double and therefore some compilers
might warn about this conversion.
2014-06-02 01:00:14 +02:00
Matthew Hoops
d5b5d4b545 BBVS: Silence gcc conversion warnings 2014-06-01 17:28:34 -04:00
Strangerke
8481ff0e61 BVBS: Use a constant instead of a variable for the snapshot size 2014-03-20 19:31:40 +01:00
Strangerke
e324f3e6be BVBS: Fix some uninitialized variables 2014-03-20 19:28:05 +01:00
Kirben
e6236293f9 BBVS: Fix compilation. 2014-02-28 20:13:49 +11:00
Strangerke
cf3bf73cde BBVS: Use a boolean for _gameResult. Adapt function declarations accordingly 2014-02-28 07:45:16 +01:00
Strangerke
79bad44750 BBVS: Initialize a pointer to nullptr instead of 0 2014-02-28 07:40:46 +01:00
Strangerke
7cd6b8b898 BBVS: Fix uninitialized variables in Minigame 2014-02-28 07:39:24 +01:00
Strangerke
120bd4c10e BBVS: Add a sanity check in playVideo() 2014-02-28 07:32:01 +01:00