Commit Graph

43116 Commits

Author SHA1 Message Date
Eugene Sandulenko
23d74fddb4 CONFIGURE: Introduced new engine dependency: highres
Some backends like GCW0 do no support graphics >320x240 due to
the hardware limitation (downscaling is possible but it will ruin
the pixel hunting which is often part of the gameplay).

Instead of manually updating the list of engines, we now introduce
a new dependency.

I marked all relevant engines, but some, like tinsel, require more
work with putting their relevant high-res games under USE_HIGHRES
define.
2016-03-05 14:25:56 +01:00
Colin Snover
445980f010 SCI32: Fix misidentification of createFontBitmap(CelInfo &) 2016-03-03 21:29:53 -06:00
Colin Snover
9a280d3965 SCI32: Add all kBitmap signatures
Not all SCI2.1late/SCI3 function signatures are fully known yet,
but all subops are now represented in the kernel tables.
2016-03-03 20:31:10 -06:00
Colin Snover
b6a7d8c6a5 SCI32: Minor consistency improvement to FrameOut 2016-03-02 14:02:49 -06:00
Colin Snover
5e0cff364f SCI32: "Fix" missing fade transitions
The original engine had some members on PlaneShowStyle to
allow wall clock timing but never actually used them in the
processing loop so transitions simply ran as quickly as the
CPU could process them. For the moment, we will just limit
these transitions to ~30fps, which hopefully roughly matches
the speed of the engine on hardware of the era.
2016-03-02 14:02:49 -06:00
Filippos Karapetis
5125652be2 SCI32: Add a workaround for kPalVarySetPercent in GK1 (chapter change) 2016-03-02 21:43:27 +02:00
Martin Kiewitz
8588592947 SCI32: Don't do a syncWithScripts on restore from launcher
Causes issues in at least gk1 (option + inventory plane are shown)
Game::restore is not called, when doing restores from launcher,
so in the original interpreter this script code wasn't called
either.

Fixes option + inventory planes etc. being shown right after
restoring via launcher, when original save/load dialogs were
disabled.
2016-03-02 19:34:40 +01:00
Colin Snover
7ee2af4198 SCI32: Fix changed screen items drawing on top of higher screen items 2016-03-02 08:59:17 -06:00
Colin Snover
2e75f4b2b8 SCI32: Add consts and remove redundant conditional
Adding consts to try to isolate rectangles that change during
draw list processing, to be investigated for incorrect mutations
causing lower screen items to be drawn over higher screen items at
their edges.
2016-03-02 00:02:25 -06:00
Colin Snover
97d5e92185 SCI32: Review rect rounding in Plane and ScreenItem
These changes should cause ScummVM to be more accurate in edge
case rounding.
2016-03-02 00:01:13 -06:00
Colin Snover
e5b30fb9af SCI32: Fix bad reads of mirrored cels 2016-03-01 21:12:31 -06:00
Willem Jan Palenstijn
0012390f2a SCI32: Fix index/offset mixup in updateInfoFlagViewVisible 2016-03-01 20:18:29 +01:00
Johannes Schickel
b6a8907edf SCI: Cleanup: Use Common::StringArray instead of custom type. 2016-03-01 19:18:36 +01:00
Johannes Schickel
fd5799aa19 SCI: Fix Macintosh game sources listing. 2016-03-01 19:16:10 +01:00
Johannes Schickel
1ae2e0594d SCI: Use MacResManager when checking for Mac resource forks. 2016-03-01 19:16:10 +01:00
Martin Kiewitz
bbec27c111 SCI: New Hoyle 1 was actually new Hoyle 2 version
5.25", 2 discs, interpreter 0.668
2016-03-01 18:31:50 +01:00
Martin Kiewitz
e7e0cf9222 SCI: Add another version of hoyle 1 (5.25") 2016-03-01 18:20:43 +01:00
Colin Snover
f397a73138 SCI32: Fix text size calculation scaling to match SCI
The previous code works correctly only for ratios like 2:1 that
do not generate remainders.
2016-03-01 09:39:57 -06:00
Eugene Sandulenko
3c2bec3f3a WAGE: Added two more games 2016-03-01 12:11:10 +01:00
Eugene Sandulenko
57e1e36867 WAGE: Added detection for The Tower 2016-03-01 12:11:10 +01:00
Eugene Sandulenko
410eb2912b WAGE: Added detection for 2 more games 2016-03-01 12:11:10 +01:00
Eugene Sandulenko
589ffcd3b9 WAGE: Added detection for The Phoenix 2016-03-01 12:11:09 +01:00
Eugene Sandulenko
f2e2d0f05d WAGE: Fix bufer overrun in bitmap code 2016-03-01 12:11:09 +01:00
Eugene Sandulenko
0bf89a0f1e WAGE: Simplified detection entries for fan games 2016-03-01 12:11:09 +01:00
Eugene Sandulenko
eb50edb539 WAGE: Added detection for Twisted! and Exploration Zeta! 2016-03-01 12:11:09 +01:00
Willem Jan Palenstijn
d03ab8b716 SCI32: Revert GK1 hacks
Replacing a valid signature error by a warning isn't useful.
2016-03-01 11:32:02 +01:00
Kirben
27e5cfbd1b CINE: Fix sound effects stopping the music in the DOS CD version of Future Wars. 2016-03-01 20:36:36 +11:00
Kirben
e5974027ec CINE: Fix restoring background music when loading saved game in DOS CD version of Future Wars. 2016-03-01 20:08:03 +11:00
Filippos Karapetis
806fa64d74 SCI32: Add a note about the menu bars in GK1 2016-03-01 04:50:26 +02:00
Filippos Karapetis
03754d4127 SCI32: Warn when the unhandled parameter is set in kPalVarySetPercent 2016-03-01 04:21:09 +02:00
Filippos Karapetis
6ba31a88f0 SCI32: GK1 adds another optional parameter to kPalVarySetPercent 2016-03-01 04:12:36 +02:00
Filippos Karapetis
e317958d4c SCI: Remove superfluous cast to boolean and fix code styling 2016-03-01 01:23:55 +02:00
Filippos Karapetis
cdbd7c8add SCI: Use uint32 instead of unsigned int 2016-03-01 01:12:58 +02:00
Lars Skovlund
ca623ff490 SCI: Fix compilation on amigaos4 2016-02-29 20:16:37 +01:00
Lars Skovlund
a375cbf42b SCI3: Collect bits for managing kInfoFlagViewVisible 2016-02-29 16:00:13 +01:00
Lars Skovlund
98878d69b8 SCI: Add vocab994 console command
This is intended for early SCI2, but should work with older SCI too,
not that we need it.
2016-02-29 16:00:13 +01:00
Colin Snover
3e5adc33a8 SCI32: Non-titled text bitmap implementation
This implementation is not 100% engine accurate, but it is
more accurate than what was there, and hopefully the differences
between this and the engine code are merely cosmetic.

The known (intentional) differences are:

1. Uses ScummVM rects inside the engine code, converting to/from
   SCI rects on the kernel edges and when scaling
2. Fewer side effects when performing operations that *should*
   have been pure from the start (like text dimension calculation).
   Still not side-effect-free, but at least things like colours
   and alignment do not need to be reset every time a measurement
   is taken, unlike in the actual engine.

Editor controls and some other kBitmap code are temporarily
disabled as a result of changes to GfxText32 until they can be
updated to be engine-accurate.
2016-02-28 21:48:56 -06: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
Martin Kiewitz
962e32e0ec AGI: Remove comma from "Pause when entering commands" 2016-02-28 15:57:22 +01:00
Martin Kiewitz
e6466b20fa AGI: Add optional "pause, when entering commands" feature
Shows a prompt window and pauses the game (just like original AGI
did, but original AGI only did it in Hercules rendering mode).
2016-02-28 15:50:25 +01:00
Torbjörn Andersson
9d4216e158 AGI: Fix small memory leak in Hercules font loader 2016-02-28 14:34:22 +01:00
Martin Kiewitz
0caef5d8d0 AGI: Set monitor VM var to EGA for Hercules rendering
Original AGI Hercules rendering was restricted by the Hercules
resolution, which is why they had to remove the AGI prompt and
replace it with a prompt window like the one used in SCI.
We are not and even when we support that prompt window, we
will still support the original AGI prompt even for Hercules
rendering.
Maybe some games had special graphic code, when Hercules rendering
is active. This needs to get checked.

We are now telling the scripts that we are running on EGA,
so that they don't put text at different coordinates.
Hercules rendering also used a different grid for putting text
for example Space Quest 2 right at the start.
This change avoids problems with such placement. We don't really
want to restrict ourselves by implementing that different
text grid resolution.

Also added comments on game feature flags.
2016-02-28 14:06:22 +01:00
Johannes Schickel
7ab0de238e CINE: Fix SPL resource loading (thus SFX).
Confirmed against DOS disasm. There is no header for SPL data.
2016-02-28 12:25:14 +01:00
Martin Kiewitz
953c26cbf6 AGI: Disable font loading from HGC_GRAF.OVL (AGI3)
It seems Sierra basically put a low res font in there, so
it's useless. We should rather directly use the PC BIOS font
in those cases. The code could be useful at some point in case
we add support for the AGI3 Hercules rendering, although I think
it looks worse, because graphics are basically "compressed".
2016-02-28 11:56:48 +01:00
Martin Kiewitz
7a169c90f6 AGI: Hercules rendering for game screen 2016-02-28 11:23:31 +01:00
Johannes Schickel
470cdabc58 ENGINES: Fix Typos. 2016-02-28 07:44:26 +01:00
Kirben
ae9190735d TSAGE: Remove ADGF_TESTING from Return to Ringworld. 2016-02-28 11:14:44 +11:00
Kirben
818a33ea30 SWORD25: Remove ADGF_TESTING from Broken Sword 2.5 2016-02-28 11:13:55 +11:00
Kirben
1ad3b6d3cf LAB: Remove ADGF_TESTING from DOS version of Labyrinth of Time. 2016-02-28 11:13:49 +11:00
Kirben
bf453e59da BBVS: Remove ADGF_TESTING from Beavis and Butt-head in Virtual Stupidity. 2016-02-28 11:13:41 +11:00