Commit Graph
137148 Commits
Author SHA1 Message Date
Eugene Sandulenko d94f40e3ce TOLTECS: Fix typo 2016-06-25 16:21:00 +02:00
Eugene Sandulenko 95b8e23992 TOLTECS: Clear dead end rects count. 2016-06-25 16:18:59 +02:00
Martin Kiewitz 5385b4eda7 SCI: Script patch for critical Colonel's Bequest game bug
This patch is about an issue, when interacting with the
armor in room 37 (main house, downstairs).

This bug also happened, when using the original interpreter
and effectively froze the game depending on the coordinate
of Laura Bow, when the command was entered.

Fixes bug #7119

Versions affected: English PC/Atari ST/Amiga Floppy
2016-06-25 14:37:49 +02:00
Martin Kiewitz 09d314d3d7 SCI: Fix SQ1VGA script patch, fixes bug #7145
Script patch used "lsg" for one instruction, which should have
been "lag" instead.
Caused issues with the spider droid.
Added more details about this script patch in comments.

Also specified the method for a qfg3 script patch in comments.
2016-06-25 02:24:09 +02:00
Bastien Bouclet a381ef0530 SDL: Add forbidden symbol exceptions for building on OSX with SDL2
This is suspicious. Check me.
2016-06-23 21:18:03 +02:00
Filippos Karapetis 5eaea05a2b SCI32: Properly initialize AudioChannel inside Audio32::play()
Fixes audio issues caused by uninitialized variables
2016-06-23 21:58:13 +03:00
Filippos Karapetis 17983508b3 SCI32: Fix usage of the C++11 override keyword with MSVC
MSVC does not allow the usage of the "override" keyword on function
definition, only on declaration
2016-06-23 21:17:16 +03:00
Filippos Karapetis e80f1bb115 SCI32: Fix potentially uninitialized variable 2016-06-23 21:07:27 +03:00
Filippos Karapetis 97c50fcfb8 SCI32: Const correction in Audio32's readBuffer() implementation 2016-06-23 21:07:01 +03:00
Colin Snover a9e2630d4e SCI: Assert on seeks past the end of audio resource bundles
This should never be allowed to happen, but currently does on
multi-CD games with different resource bundles on difference CDs
(Phant1, PQ:SWAT, GK2) because the resource manager does not yet
have the ability to handle this situation.
2016-06-22 13:05:18 -05:00
Kirben 87c5540c2a SCUMM HE: Update sound flags and queue, for new settings. 2016-06-22 11:45:44 +10:00
Kirben 6b07163600 SCUMM HE: Document sound opcodes. 2016-06-22 11:01:02 +10:00
Colin Snover 5b6114f4cc SCI32: Implement kBitmapDrawView 2016-06-21 16:12:33 -05:00
Colin Snover d6d0e00dc5 SCI32: Expose a draw buffer on BitmapResource objects
Most of the time, we get a bitmap to draw on it. Exposing a buffer
avoids consumers having to create their own all the time, and
encourages use of common drawing code exposed by the buffer.
2016-06-21 16:11:43 -05:00
Eugene Sandulenko 521d2e299f GRAPHICS: Use better color for 1bpp BMPs 2016-06-21 21:26:40 +02:00
Colin Snover 848abbee06 AUDIO: Fix incorrect forward declaration 2016-06-21 08:33:50 -05:00
Colin Snover 4495ae3de0 SCI32: Remove unused dependencies from GfxFrameout 2016-06-21 08:17:28 -05:00
Colin Snover a3055d3f49 SCI: Add an explanation about LRU removals when fetching resources
Several times I have run into this code and had to take a minute
to remind myself that the call to remove from the LRU on find is
not wrong, so it seemed to deserve a comment.
2016-06-21 08:17:28 -05:00
Colin Snover 820e6b8bd3 SCI32: Fixes to GfxText32
1. Inline borderSize constant in createFontBitmap for consistency
2. Fix "DrawTextBox GetLongest=0" warning to only appear in games
   that actually had this check (SQ6 and MGDX)
3. "Fix" implementation of getTextSize for SCI2.1early, which
   gave lines with word wrap disabled a height of 0
4. Add inlining hints to some methods in BitmapResource that were
   missing them for some reason
2016-06-21 08:17:28 -05:00
Colin Snover 52505dc57f SCI32: Implement basic kMessageBox
This kernel call seems only to be used by KQ7 1.51 (which was
Windows-only) to send warnings to the user.

It was easy enough to do a basic implementation in the ScummVM
GUI rather than just make it an empty call, so now it is a thing.
2016-06-21 08:14:12 -05:00
Willem Jan Palenstijn ceee33ba2c SCI32: Add workaround for kScrollWindowAdd call in Phantasmagoria 2016-06-21 08:14:12 -05:00
Willem Jan PalenstijnandColin Snover ab864ba366 SCI32: Implement kScrollWindow
These should be all the actually used subfunctions.

Co-authored-by: Colin Snover <github.com@zetafleet.com>
2016-06-21 08:14:12 -05:00
Colin Snover a613a27b44 SCI32: Implement line drawing (kAddLine/kUpdateLine/kRemoveLine)
This line drawing code lives in a remodelled GfxPaint32 class
that is totally separate from GfxPaint16.
2016-06-21 08:14:12 -05:00
Willem Jan Palenstijn 94328f0ec8 SCI32: Make GfxText32::_scaledWidth/Height statics
They were global in SSCI. This way secondary GfxText32 instances
(such as in ScrollWindow) use the correct scaling.
2016-06-21 08:14:12 -05:00
Willem Jan Palenstijn c4b41f5d7c SCI32: Fix drawText on consecutive control codes 2016-06-21 08:14:11 -05:00
Willem Jan Palenstijn 97c11e7d5f SCI32: Fix getTextWidth on consecutive control codes 2016-06-21 08:14:11 -05:00
Colin Snover dcc6234d81 SCI32: Add low-pass filter to 8-bit SOL audio
This improves the perceived quality of audio in games that use
8-bit samples for music, like Torin.
2016-06-21 08:14:11 -05:00
Colin Snover f939868f3a SCI32: Add kDoSound(play) workaround for LSL6hires 2016-06-20 21:52:41 -05:00
Colin Snover f02107f682 SCI: Minor cleanup of kDoSound
Replaces unused kernel calls to use kEmpty, and set correct
signatures for SCI32 kernel calls.
2016-06-20 21:02:21 -05:00
Colin Snover 46551fd4b5 SCI32: Rewrite digital audio engine
This provides a complete implementation of kDoAudio through
SCI2.1mid, plus partial implementation of SCI3 features.

Digital audio calls shunted through kDoSound have also been
updated to go through the SCI32 audio mixer, though these shunts
are a bit hacky because the ScummVM implementation of kDoSound
does not currently match how SSCI kDoSound is designed.

It is probably possible in the future to just replace the SCI1.1
audio code (audio.cpp) with the new SCI32 code, since the major
differences seem to be that (1) SCI1.1 only supported one digital
audio playback channel (this is configurable already), (2) it
had extra commands for CD audio playback and queued sample
playback.
2016-06-20 21:02:21 -05:00
Colin Snover 5d3385750d SCI: Split audio sync to its own class
SCI32 has its own audio handling code, but audio sync code is the
same as SCI16.
2016-06-19 14:48:33 -05:00
Colin Snover cbc3b773aa AUDIO: Make WAV streams seekable
This allows raw PCM in WAVE containers to have duration and be
seekable, and opens the door for ADPCM streams to be seekable later
if necessary.

This change is needed to avoid duplication of RIFF/WAVE container
parsing for SCI engine, which uses raw PCM WAVE files and needs to
be able to determine their lengths.
2016-06-19 14:48:33 -05:00
Eugene Sandulenko 547fcecf38 GRAPHICS: Fix 1bpp BMP drawing 2016-06-17 13:31:28 +02:00
Eugene Sandulenko 19be66f150 ENGINES: Make splash more robust for non-standard screen sizes 2016-06-17 12:47:00 +02:00
Eugene Sandulenko 8f2a0eb662 TONY: Safer string manipulation 2016-06-17 12:10:11 +02:00
Eugene Sandulenko b404524599 TONY: Complete class initializations 2016-06-17 12:10:11 +02:00
Eugene Sandulenko 4dc60b525d TINSEL: Fix class initialization 2016-06-17 12:10:11 +02:00
Lothar Serra Mari 9131976ff4 NEWS: Fix missing whitespace 2016-06-16 11:28:02 +02:00
Lothar Serra Mari 552ef68fea NEWS/DE: Mention newly supported games 2016-06-16 11:27:48 +02:00
Eugene Sandulenko 2368283ab4 NEWS: Mention newly supported games 2016-06-16 11:16:19 +02:00
Strangerke fd19d453dd PEGASUS: Fix some missing variable initializations 2016-06-16 07:59:53 +02:00
Bastien Bouclet 589f85d2a2 BUILD: Disable GLEW when building for GLESv2 2016-06-16 07:21:48 +02:00
Bastien Bouclet 15eaac4560 BUILD: Don't use pkg-config to check for GLEW
pkg-config is not always available, especially on non-Linux platforms,
and we did not check for it before using it.
2016-06-16 07:21:48 +02:00
Thierry Crozat 78a85f581d SHERLOCK: Fix compilation error with some gcc versions
Without this change the Apple gcc 4.0 compiler (the last version to
support the MacOS X 10.4 SDK) generate a lot of errors regarding
trying to initialise references to Sherlock::Scalpel::Talk with the
address to a Sherlock::Talk object, or about forward declarations of Sherlock::Scalpel::Talk.
2016-06-15 22:00:36 +01:00
Eugene Sandulenko f2f04b5edd SCUMM HE: Removed unneeded warning 2016-06-15 22:08:08 +02:00
Eugene Sandulenko bb43f5c0f4 SCUMM HE: Fix Moonbase distortion codec 2016-06-15 22:02:55 +02:00
Eugene Sandulenko 0211c0b27c SCUMM HE: Plugged Moonbase distortion in 2016-06-15 07:33:52 +02:00
Torbjörn Andersson 2b81401368 SCUMM HE: Silence GCC "suggest parentheses" warnings
Thanks to sev for confirming that this is the intended expressions.
2016-06-15 06:09:48 +02:00
Torbjörn Andersson 5188a954a6 SCUMM HE: Fix GCC warnings about casting away [const] qualifiers
I hope this is correct. I don't know when the function is used.
2016-06-15 06:05:49 +02:00
Colin Snover ffcab2fa5d SCI: Fix memory leaks in resource patcher 2016-06-14 20:58:53 -05:00