Commit Graph

1660 Commits

Author SHA1 Message Date
Sven Hesse
acc9773a3d GOB: Add another interactive Gob3 demo, as supplied by Dark-Star
This demo comes with texts in English (GB), German and French.
2017-01-26 16:30:23 +01:00
Ben Castricum
6f38c1e55d ALL: game state => saved game 2016-11-29 20:15:20 +01:00
Eugene Sandulenko
fab199d37e JANITORIAL: Make GPL headers uniform 2016-09-03 12:46:38 +02:00
Eugene Sandulenko
cf89cc04cc GOB: Move debug channel registration to the top of the engine constructor 2016-07-28 11:37:06 +03:00
Sven Hesse
aca13f7ba9 GOB: Work around broken resource sizes in Gobliiins EGA
The EGA version of Gobliiins, similar to Little Red Riding Hood,
claims a few resources are larger than they actually are. The original
happily reads past the resource structure, but we'll instead fix
the size of the resource after loading.

This fixes bug #7162.
2016-07-20 21:59:22 +02:00
Ori Avtalion
064df1ff27 GOB: Reduce audio header dependencies 2016-04-14 17:18:33 +03:00
Ori Avtalion
3564032330 JANITORIAL: Reduce audio header dependencies 2016-04-14 16:10:21 +03:00
Eugene Sandulenko
363f126984 GOB: Fix Fascination entry, it is DOS, not Amiga version 2016-03-28 01:08:14 +02:00
Eugene Sandulenko
d3e372db19 GOB: Added another French Playttons2. Bug #7052 2016-03-27 14:48:18 +02:00
Eugene Sandulenko
77da2801e0 GOB: Added Spanish Fascination detection entry. Bug #7069 2016-03-27 14:43:04 +02:00
Matthew Hoops
aa6ff44440 BACKENDS: Only expose one set of functions for AudioCDManager
Engines should only have to call one set of functions and not decide between the two. In fact, the 'emulation' API was documented to just call the 'real CD' API.
2016-03-13 13:57:19 +01:00
Matthew Hoops
fb6fe1332a BACKENDS: Move to an openCD() without parameters as the public API 2016-03-13 13:52:24 +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
Sven Hesse
2c81602454 GOB: Don't completely reset the OPL in AdLib::initOPL()
It shouldn't be necessary anymore, since initOPL() cleans everything.
If, however, suddenly a piece of music sounds weird in a Gob game,
this is the place to look for.

This fixes a race condition between OPL::reset() and the callback
timer.
2016-02-28 21:04:23 +01:00
Eugene Sandulenko
7d2d5e371d GOB: Fix warning 2016-02-14 17:35:09 +01:00
Sven Hesse
92e7bfa959 GOB: Remove unnecessary includes and forward-declarations 2016-01-02 03:16:30 +01:00
Sven Hesse
1fa0197229 GOB: Make the currently playing CD track all-uppercase
This is what the original game does too, and the scripts query for
all-uppercase CD track names.

Interestingly, this being wrong has been mostly inconsequential. It
does, however, manifest in one bug in the underwater wreck level of
Gobliins 2. After calling the Moray Eel by lighting the lamp with
Winkle, speaking to said eel has the scripts wait for the currently
playing background track to end before playing the voice lines,
instead of ending the audio track forcefully. The track is only about
a minute long, so it's "only" annoying, not a game-stopper.

The scripts also try to compare the CD track name with some different,
all-uppercase names, so this is possibly relevant in some other places
as well. No such bug report exists at the moment, though.

See also the forum post with the bug report:
http://forums.scummvm.org/viewtopic.php?p=81733#81733

A somewhat related bug report is #2999 "GOB2 : Moray Eel Game Freeze
(Wreck Scene)" (<http://sourceforge.net/p/scummvm/bugs/2999/>). At
that time, the script expression parser still did a stricmp for the
NEQ expression (which is wrong), and that made the bug not trigger.
Commit 5c58b9a3a4, which fixed that
incorrect NEQ behaviour, then made this bug here appear.
2015-09-02 20:38:16 +02:00
Sven Hesse
370107c953 GOB: Remove a useless call to Variables::getAddressOff8()
This is a left-over vestige of when the gob engine recorded the size
of each variable currently in use, because it byte-swapped all
variables on save/load depending on the machine ScummVM ran on.

The gob engine doesn't do that all anymore (instead, the variables are
always stored in the endianness of the original game), so
getAddressOff8() doesn't store "this is an 8-bit variable" anymore,
making the call a NOP.

This fixes Coverity Scan issue #1267142.
2015-08-03 15:56:43 +02:00
Max Horn
91e925d8ce GOB: Get rid of unused Audio::mixer references
Also remove the unused AdLib::_rate member variable.
2015-07-19 17:06:18 +02:00
Matthew Hoops
bed9da8b9d AUDIO: Remove all AudioStream access to OPL 2015-07-07 20:19:47 -04:00
Walter van Niftrik
e31da911c9 GOB: Implement custom AdLib volume control 2015-07-07 20:19:45 -04:00
Matthew Hoops
73e8ac2a9b GOB: Use the built-in OPL timer 2015-07-07 20:19:45 -04:00
Matthew Hoops
2e8f9dcec9 AUDIO: Remove the sample rate configuration from the OPL code 2015-07-07 20:19:42 -04:00
Sven Hesse
5bec0cbb9d GOB: Make coordinate parameters in Surface::fillRect() signed
And clip to [0, width), [0, height) before drawing.

This fixes bug #6864, which is a regression I introduced in
51fd528fe5 when I changed all
the drawing code to use the Surface class.

I thought that having unsigned coordinates makes sense, but
for some reason, Fascination sets _destSpriteX (which maps
to left in fillRect()) to -1, expecting the drawing code to
clip.
2015-05-07 00:34:02 +02:00
Sven Hesse
7bdf48170a GOB: Remove useless memcpy()
Happened while removing Draw::_vgaSmallPalette in 0f9b1364c.

Fixes Coverity issue #1230309.
2014-10-19 00:08:32 +02:00
Thierry Crozat
a050d61af8 GOB: Update list of files that contain translatable strings 2014-10-04 01:02:03 +01:00
Sven Hesse
24595ede3b GOB: Remove duplicate entries for Ween DOS
Seems like that happened when I sorted them by platform
after splitting up the big detection table in 07b17f711.

This fixes bug #6676.
2014-07-08 21:03:47 +02:00
Johannes Schickel
ae4ffe01f0 ALL: Rename Debugger::DCmd_Register to Debugger::registerCmd. 2014-05-27 02:04:08 +02:00
Johannes Schickel
daa8d57a86 ALL: Rename Debugger::DebugPrintf to Debugger::debugPrintf. 2014-05-27 02:04:07 +02:00
Sven Hesse
dba4084c8a GOB: Calculate _totResStart even if no resources follow
It's also used as a base offset for TOT strings.
This fixes a crash in the Amiga version of Bargon Attack.
2014-03-16 16:40:08 +01:00
Sven Hesse
0f9b1364cf GOB: Remove the last remnants of Draw::_vgaSmallPalette
Draw::_vgaSmallPalette was supposed to be a 16-color VGA
palette / EGA palette, but we've been using the first 16
entries of Draw::_vgaPalette for that for ages now.

The only parts where we didn't were codepaths never
actually taken in the gob games, so for the sake of
clarity (and fixing Coverity issues), this commit removes
those as well.

Fixes Coverity issues 1192648 and 1192649.
2014-03-16 15:35:35 +01:00
Matthew Hoops
740b6e8fbd IMAGE: Move all ImageDecoders to image/ 2014-02-28 00:27:28 -05:00
Johannes Schickel
ea21bc939a GOB: Make GPL headers consistent in themselves. 2014-02-18 02:39:34 +01:00
Strangerke
78eff8fea9 GOB: Fascination - Reduce the scope of a couple of variables 2014-02-09 20:26:47 +01:00
Sven Hesse
2aadd55ae6 GOB: Correct the language field for Croustibat 2014-01-31 12:16:35 +01:00
Sven Hesse
ca861961a9 GOB: Add a game type and detection table for Croustibat 2014-01-31 12:04:08 +01:00
Sven Hesse
edacb7ada7 GOB: Move getTotTextItemPart() from Inter_v3 to Inter_v2 2014-01-31 11:54:44 +01: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
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
Johannes Schickel
63750d6780 COMMON: Rename ConfigFile to INIFile.
This clears up that 'ConfigFile' is actually a class handling only INI-files.
2013-08-08 16:28:38 +02:00
Johannes Schickel
63a2e47bfe GOB: Take advantage of Surface::getPixels. 2013-08-03 04:02:50 +02:00
Johannes Schickel
690d55d763 GOB: Prefer getBasePtr over direct Surface::pixels access. 2013-08-03 02:52:32 +02:00
Sven Hesse
9a88fe8485 GOB: Add hypothetical 32bpp support 2013-06-30 19:00:05 +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
Johannes Schickel
2785c3a528 Merge pull request #322 from fingolfin/fix-clang-warnings
Fix clang warnings
2013-04-19 06:43:47 -07:00
Sven Hesse
4a59c02a8f GOB: Add a call to Inter::animPalette() in the hotspot checker
The original has the call there too, as confirmed using
the disasm of the gob3 binary.

This fixes bug #3611208.
2013-04-19 11:40:18 +02:00