405 Commits

Author SHA1 Message Date
Le Philousophe
a858fd57f0 SHERLOCK: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
Donovan Watteau
5b1ec56f96 JANITORIAL: Fix some lost or outdated URLs in comments 2022-05-19 07:57:31 +03:00
Torbjörn Andersson
d372f11336 SHERLOCK: Extend Scalpel flower girl workaround
The same glitch that happens with the flower girl also happens with the
housekeeper: Walking nearby triggers a conversation, but doesn't abort
the current action. This can cause the UI to get corrupted.

At least for the housekeeper, this does not happen with the original
interpreter. I have no idea why.
2022-01-14 16:45:17 +01:00
Torbjörn Andersson
369e1b38d4 SHERLOCK: Fix Scalpel UI glitch (bug #13195)
This would happen when examining certain room objects (ones where
printing the description was part of a custom animation) while the
inventory was open. This was a bug in the original interpreter as well.
2022-01-14 16:45:17 +01:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Torbjörn Andersson
b169715da4 SHERLOCK: Fix Scalpel animations not being resumed after conversation
When talking to another character, his animation would usually freeze.
Most of the time this is just a cosmetic problem, but it does make
solving the puzzle with the billiard players more annoying than it
should be, since you had to leave and re-enter the room. See bug #10931.
2021-12-19 15:49:30 -08: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
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
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
Orgad Shaneh
1296eb0c2a SHERLOCK: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Paul Gilbert
d609104834 SHERLOCK: Flower girl first greeting now interrupts actions 2021-08-28 15:52:30 -07: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
5e7fe2dc57
JANITORIAL: Replace spaces in indentation with tabs 2021-04-15 21:20:36 +02: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
aryanrawlani28
4b6976c558 GUI: U32: Reduce number of files changed and fixes
Up until last commit, everything was working fine but the amount of files changed was too large. This commit tries to reduce the changes.

- Add a fake constructor to Keymap, text-to-speech, setDescription (save-state)
- Redirecting functions for PopUpWidget::appendEntry, ButtonWidget::setLabel, GUIErrorMessage
- Use the above functions and constructors to reduce changes in Engines
- Fix warnings being in unicode. Only output english text in - Warnings, Errors, etc.
- Mark some strings as "translation" strings. (Not yet added to POTFILES)
- Remove some CP related things from po/modules.mk
- Previously used some Common::convertToU32 where it was not necessary, replace this with u32constructor
2020-08-30 14:43:41 +02:00
aryanrawlani28
d4d5b8906e GUI: U32: Begin making TTS take in U32Strings for saying
Only for strings without an explicit action. The first level takes in a u32 string, encodes it, and passes it along further with the default action

- For gui widgets, the strings are passed in as native u32 strings.
- For everything else, they are being converted to u32 by Common::convertToU32... and then being passed along
2020-08-30 14:43:41 +02:00
Cameron Cawley
cc5abf5ebb TTS: Fix crash when TextToSpeechManager is unavailable, clean up formatting 2020-05-27 12:43:49 +02:00
Bastien Bouclet
9240f1f36a SHERLOCK: Add override keywords 2020-02-09 12:43:16 +01:00
Eugene Sandulenko
0fa8986a29 SHERLOCK: Fix clashing enums 2020-01-31 14:21:53 +01:00
neuromancer
bd92f2d00a SHERLOCK: Enable the use of TTS to read descriptions as a "narrator" for The Case of Serrated Scalpel 2019-12-21 16:49:13 +02:00
D G Turner
538bb7ab3e SHERLOCK: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-12-01 01:21:09 +00:00
Torbjörn Andersson
c9a9461d3c SHERLOCK: 3DO: Draw copyright string in intro in correct position
After discussion with dreammaster. Apparently the 3DO version uses
a resolution of 640x400 pixels internally, not 320x200. Doubling
the X and Y coordinates from what they were seems to match what I
have seen in YouTube videos of the original game.
2019-02-26 07:07:07 +01:00
Paul Gilbert
50fe6f508d SHERLOCK: 3DO: Fix display of map screen 2019-02-25 21:44:54 -08:00
Paul Gilbert
eae00fe6f9 SHERLOCK: 3DO: Fix transparency for characters, and speech dialogs 2019-02-25 21:27:30 -08:00
Paul Gilbert
ba00661b3a SHERLOCK: Speed up other cutscenes to better match the original 2018-12-17 21:50:56 -08:00
Torbjörn Andersson
313cd2315e SHERLOCK: Fix computer aim in Serrated Scalpel's darts game
The computer opponent always aims for the bullseye as long as he
needs more than 50 points. After that, he's supposed to aim for
the closest score to what he needs to win. But this coordinate
was never used, and the computer player would always aim at the
same spot outside of the dart board. This, of course, made it
practically impossible for it to beat you. This commit fixes
that.

I thought at first that this fix wasn't quite right, because the
computer won't always hit the score he aims for even if you remove
the random inaccuracy from its aim. But I think it still hits
near the intended target, so maybe this is good enough?
2018-12-15 19:24:36 -08:00
Torbjörn Andersson
b2cd3d9fd7 SHERLOCK: Speed up Blackwood cutscene in The Case of the Serrated Scalpel
When capturing Blackwood in The Case of the Serrated Scalpel, the
whole scene seems to be running in slow motion. This simply doubles
the speed for it. It may still be a tad slow, but at least it fits
the music much better I think.
2018-12-15 19:18:15 -08:00
Adrian Frühwirth
cf96f3f709 JANITORIAL: Indent GFXTransaction code blocks 2018-04-15 16:45:25 +02: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
Bastien Bouclet
ec49730711 VIDEO: Allow setting the mixer sound type used to play audio tracks 2017-07-27 06:40:07 +02:00
Paul Gilbert
41d1e0a415 SHERLOCK: 3DO: Fixes to allow game to start 2016-10-21 20:01:14 -04:00
Eugene Sandulenko
dead4aa014 JANITORIAL: Remove trailing spaces 2016-10-09 14:59:58 +02:00
Paul Gilbert
1bf73b9cf1 SHERLOCK: SS: Fix hotspots remaining after items are picked up 2016-10-04 21:57:16 -04: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
35186ae5b0 SHERLOCK: Fix warnings 2016-05-28 17:20:50 +02:00
Ori Avtalion
3564032330 JANITORIAL: Reduce audio header dependencies 2016-04-14 16:10:21 +03:00
Torbjörn Andersson
64709482e6 SHERLOCK: Fix crash when searching the Serrated Scalpel journal
As far as I can tell, the lines I removed to draw the search box
are already handled by the call to makeField() above. Also, they
were drawing to the wrong surface, and one of them was in the
wrong direction, which is what triggered an assertion.
2016-04-09 09:33:17 +02:00
Paul Gilbert
8fa5522819 SHERLOCK: Fix crashes due to back buffer refactoring 2016-03-21 20:19:55 -04:00
Johannes Schickel
453b77d386 SHERLOCK: Make Screen::_backBuffer an object instead of pointer. 2016-03-21 16:25:15 +01:00
Johannes Schickel
fc17d9750f SHERLOCK: Make Screen::_backBuffer protected. 2016-03-21 16:24:14 +01:00
Paul Gilbert
3da3dda187 SHERLOCK: Changed engine to use Graphics::ManagedSurface 2016-03-14 20:56:27 -04:00
Eugene Sandulenko
fde06e342d SHERLOCK: Safer print() 2016-02-14 12:46:48 +01:00
Martin Kiewitz
d821c089bf SHERLOCK: SS: Make user interface multilingual
Bug #7002 almost fully solved
2016-02-11 03:48:02 +01:00