Commit Graph

1486 Commits

Author SHA1 Message Date
Torbjörn Andersson
741b47bdd0 SHERLOCK: Fix glitches in Rose Tattoo save box
For instance, if you entered a letter like "g" and then erased it, there
would still be traces of it on screen. I've made the assumption that
subtracting 1 from the font height is wrong everywhere.
2021-12-16 20:21:25 +01:00
Torbjörn Andersson
2644bdddf6 SHERLOCK: Fix Scalpel user interface regression
In some cases (e.g. when Lestrade greets you at the scene of the murder)
the talk window wasn't erased properly. This was a regression from a
recent fix for the inventory not being updated when certain objects were
added, e.g. when examining the pendant. See bug #10841.
2021-12-15 21:43:18 -08:00
eientei
3a8e5e6d79 SHERLOCK: Add earlier version of Italian fan translation 2021-12-15 20:31:25 -08:00
Torbjörn Andersson
51bdee615f SHERLOCK: Workaround for bad fog horn sound in Serrated Scalpel
Turns out that the fog horn sound at Lord Brumwell's mansion has the
same problem as the doorbell one. The file says 1100 Hz, but the
original clearly didn't play it at that. 11000 Hz seems to match the 3DO
version, so let's go with that.
2021-12-15 08:43:46 +01:00
Torbjörn Andersson
3d96f9e4f1 SHERLOCK: Fix glitch on Scalpel overhead map
When moving from one location to another, the Holmes icon should be
removed from the old location when travel begins. I've added a missing
restoreIcon() call, which seems to fix that.
2021-12-15 07:44:07 +01:00
Torbjörn Andersson
ecfed7a954 SHERLOCK: Clear events after Scalpel window sliding animation
Before, the game would sometimes register the mouse release event right
as the mouse pointer passed over the Exit button, causing e.g the
conversation window to close right away. This was probably also what
caused it to sometimes select conversation topics seemingly at random
for me.
2021-12-14 12:39:08 +01:00
Torbjörn Andersson
782ebb0bc0 SHERLOCK: Make the Serrated Scalpel darts minigame harder
This seems to match the speed of the original better, and makes the
power bars move at the same speed for both you and your opponent. It
does make the game more frustrating, I guess, but playing darts is
optional anyway.
2021-12-13 19:03:11 -08:00
Torbjörn Andersson
71f8e1227f SHERLOCK: Get mouse position from event manager, not from every event
Not every event has mouse position information. This was causing
problems on the city map, because whenever I moved the mouse cursor
outside the ScummVM window it would scroll to the upper left corner.
2021-12-12 17:02:09 +01:00
Torbjörn Andersson
fc74b5f2a2 SHERLOCK: Fix overlapping text in Serrated Scalpel's darts minigame 2021-12-12 14:05:33 +01:00
Torbjörn Andersson
1c74c23233 SHERLOCK: Fix off-by-one error when drawing various Scalpel interfaces
The user interface windows should generally end one pixel short of the
bottom of the screen, not two. This was most noticeable when saving to
the last visible slot, because the blinking cursor would erase part of
the background.

I honestly don't know if I got all of them, but it should be a bit
better than before at least.
2021-12-11 21:06:15 +01:00
Torbjörn Andersson
7de71dd342 SHERLOCK: Fix only first page of description being shown
When examining a room object with a description that spans multiple
pages, only the first page was shown if the inventory was open at the
same time. This bug happens in the original too. Hopefully fixing it
does not cause any unwanted side effects.
2021-12-10 20:00:41 -08:00
Torbjörn Andersson
70508052c6 SHERLOCK: Fix inventory redraw after looking at room object (#10836)
Instead of using _backBuffer1 directly, we should draw the inventory
icons to the current back buffer. This makes a difference in cases where
the engine has activated back buffer 2. Referring to _backBuffer2
directly should still be ok. This fixes inventory redrawing after
examining a room object.
2021-12-10 20:00:40 -08:00
eientei
40ba958838 SHERLOCK: Remove music.lib from detection entries 2021-12-10 19:52:33 -08:00
Torbjörn Andersson
a13e046e98 SHERLOCK: Cleanup
The parameter to banishWindow() is true by default.
2021-12-10 12:32:29 +01:00
Torbjörn Andersson
9341ec0a8f SHERLOCK: 3DO: Improve portrait movie positioning
The exact position is still guesswork, apparently, but at least now the
movie should be correctly positioned inside its decorative frame, both
in high and low resolution mode.
2021-12-09 19:18:01 +01:00
Torbjörn Andersson
c2c5eb4a14 SHERLOCK: 3DO: Fix crash when playing downscaled portrait movies
If The Case of the Serrated Scalpel can't run in 640x400 pixels, the
portrait movies have to be downscaled on a temporary surface. Use the
same pixel format on this surface as the video decoder uses for the
full-size frame.
2021-12-09 19:18:01 +01:00
Torbjörn Andersson
c5bfab60f7 SHERLOCK: Fix missing haze when going to Cleopatra's Needle
In The Case of the Rose Tattoo, certain rooms have a hard-coded haze.
Ensure that this gets loaded even when going directly from the overhead
map to such a room. I could be wrong, but I believe Cleopatra's Needle
is the only such room that can be accessed directly from the map, but do
it for all rooms just in case.
2021-12-08 19:17:58 -08:00
Paul Gilbert
2175ee951a SHERLOCK: SS: Fix updating inventory after examining watch 2021-12-07 20:00:58 -08:00
Torbjörn Andersson
aa2b0f5b8c SHERLOCK: Workaround for bad doorbell sound in Serrated Scalpel
The sound of the doorbell at Lord Brumwell's mansion is played at 1100
Hz. That has to be an error in the game data. The other sound effects I
checked were usually 11000 Hz, and sometimes 22000 Hz. It's hard to tell
by ear which one is correct here, but 11000 Hz seems to match the 3DO
version quite well.

This bug is present in the original DOS version, though less noticeably
so. Perhaps the original audio driver clamps the sample rate to a
reasonable interval? It still gets it wrong, but not as badly?

This fixes bug #10838.
2021-12-02 20:34:35 -08:00
Torbjörn Andersson
454779e30a SHERLOCK: Fix Rose Tattoo glitch when opening map
When the map was displayed, there would often be a noticeable glitch
where the map jumped from the upper left corner to the saved position.
This removes that initial map display and relies on scrolling to always
move it to the correct position.

This fixes #10850
2021-12-02 20:18:28 -08:00
Torbjörn Andersson
1d264cec62 SHERLOCK: Fix missing Rose Tattoo talk animations
We were comparing the wrong object name in the Rose Tattoo-specific
code, so the speaker was never found. It's not clear to me if this only
affected Watson, or if other NPCs were affected as well.

And while it may not make any difference, make sure that the "portrait"
string we compare against is also no more than four characters long,
since that's what the original engine did.
2021-12-01 20:32:15 -08:00
Torbjörn Andersson
046e39428b SHERLOCK: Load frames on demand when possible
This fixes bug #13101, since it no longer tries to decode
catastrophically bad frames. (Some bad frames will still be used, but
that's survivable.)
2021-11-29 20:10:46 -08:00
Torbjörn Andersson
8c1c45d9b3 SHERLOCK: Fix comment typo 2021-11-28 19:29:47 +01:00
Orgad Shaneh
1296eb0c2a SHERLOCK: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Orgad Shaneh
ee57380de7 ENGINES: JANITORIAL: Remove 'virtual' when override is specified 2021-11-14 14:32:04 +02:00
trembyle
6e1135ee8a ENGINES: Revise language constants to ISO standards
* Use ISO-3166 country codes and ISO-639 language codes
2021-11-11 12:06:15 +01:00
Orgad Shaneh
3919f53326 ENGINES: Replace new[]/memset with new[]() 2021-11-10 19:53:15 +01:00
Alexandre Detiste
6044504762 JANITORIAL: typos
some in the variable names, some in the comments;
no change for the strings that interract with original games assets
2021-10-31 20:46:31 +01:00
Orgad Shaneh
fe104cc337 ENGINES: Use MetaEngine consistently for getting autosave slot
The autosave refactoring that was done in
7adad5aaf5 used g_engine for identifying the
autosave slot. This worked for in-game save/load, but doesn't fit when
called from the launcher.

Fix by passing MetaEngine to SaveStateDescriptor ctor and using it for this
query.

Amends 7adad5aaf5.
2021-10-24 16:46:06 +02:00
Paul Gilbert
d609104834 SHERLOCK: Flower girl first greeting now interrupts actions 2021-08-28 15:52:30 -07:00
Max Horn
2f1f8f502e DEVTOOLS: move credits from devtools/credits.pl to engines
This employs a "lazy" approach: the "format" for the credits stays
exactly as it was, i.e., perl code. Of course one may want to change
this to another format (e.g. YAML, JSON, XML; or also shell script or
AWK, like `configure.engine` uses). But I deliberately kept it simple,
to get a minimal change that is easy to verify. Any further changes to
e.g. the format can be layered atop this.
2021-08-05 00:01:46 +02:00
Paul Gilbert
005561d305 COMMON: Increase Stream pos, seek, size from int32 to int64 2021-07-08 18:24:28 -07:00
Paul Gilbert
0136043f09 COMMON: Revert Change Rect and Point to have int32 fields
This reverts commit 1c3e7fb4e9.
2021-07-06 20:35:42 -07:00
Paul Gilbert
baccbedf50 GRAPHICS: Changed surface classes sizes from uint16 to int16 2021-07-04 18:24:27 -07:00
Paul Gilbert
1c3e7fb4e9 COMMON: Change Rect and Point to have int32 fields 2021-07-04 18:24:26 -07:00
ysj1173886760
53dcc76913 SHERLOCK: move debug channels to metaEngineDetection 2021-05-22 01:34:57 +02:00
Martin Gerhardy
9d82fa51df COMMON: removed USE_TTS check from engines
OSystem now just returns a nullptr if there is no text to speech manager instance
(because none is compiled into the binary, or the system doesn't provide support
for it). This removed the need for the engine authors to add scummvm osystem compile
time options checks into their engine code
2021-05-03 14:13:41 +03:00
Eugene Sandulenko
37188af06c
SHERLOCK: Clarified language for Chinese sherlock. Marked as unsupported 2021-04-23 15:56:49 +02:00
Eugene Sandulenko
5e7fe2dc57
JANITORIAL: Replace spaces in indentation with tabs 2021-04-15 21:20:36 +02:00
trembyle
fa817b4dc8 SHERLOCK: Detect Chinese variant 2020-12-07 01:35:53 +01:00
Cameron Cawley
4ced49acd4 ENGINES: Changed AdvancedMetaEngine::createInstance to return a Common::Error 2020-12-04 20:57:14 +00:00
Eugene Sandulenko
29e352569f SHERLOCK: Use AD_ENTRY2s in the detection table 2020-11-28 17:41:23 +01:00
Eugene Sandulenko
5936026209 ALL: Clarify POTFILES, remove redundant common/translations.h includes 2020-11-10 03:03:49 +01:00
Paul Gilbert
a834c285eb SHERLOCK: Added Scalpel Chinese detection entry 2020-10-31 15:09:20 -07:00
Vladimir Serbinenko
ce6eb34121 VIDEO: uplift 3do movie decoder from sherlock engine
The format is generic to 3DO and is also used by plumbers.
I think it's also accelerated on 3DO so probably is used by
a lot of 3DO titles
2020-10-24 00:59:01 +02:00
Eugene Sandulenko
7ff34bc9ec PLUGINS: MetaEngineStatic -> MetaEngineDetection 2020-10-11 23:14:39 +02:00
Eugene Sandulenko
7ea6781043 PLUGINS: PLUGIN_TYPE_METAENGINE -> PLUGIN_TYPE_ENGINE_DETECTION 2020-10-11 23:12:32 +02:00
aryanrawlani28
d26bbe521c ENGINES: ALL: Finish renaming ME & AME classes
- ME -> MetaEngineStatic (static parts)
- MEC -> MetaEngine (dynamic parts)
2020-10-03 14:56:36 +02:00
aryanrawlani28
a56dc094b9 ENGINES: ALL: Move detection_enums -> detection.h
- Cleans up headers quite a bit.
2020-10-03 14:56:36 +02:00
aryanrawlani28
29ceb07959 ENGINES: ALL: Revert detection submodule to be directly present in the engine directory
- DETECT_OBJS are present and added inside an engine's modules.mk file.
2020-10-03 14:56:36 +02:00