Commit Graph
89422 Commits
Author SHA1 Message Date
Thierry Crozat 3ba9245138 IOS7: Add input accessory view to virtual keyboard
This adds buttons for some keys that are not present on the iOS
keyboard, such as the function and arrow keys, as well as a GMM
key.
2019-06-30 12:36:43 +01:00
lolbot-iichan d6a1248a16 WINTERMUTE: Increase window title height by 1 for "5 Lethal Demons" game
For some reason getFontHeight() is off-by-one comparing to height set in
TITLE_RECT, which made text being bigger then title rect and drawing was
skipped.

This fixes https://bugs.scummvm.org/ticket/6501
2019-06-30 12:20:36 +03:00
sluicebox cf274fa47e SCI: Fix SQ4 English Amiga dress logic, bug #11004 2019-06-30 12:13:16 +03:00
jepael ea3f8f2e33 BLADERUNNER: JANITORIAL: Fix a compiler warning with a const cast. (#1719)
Tested and it works. Thanks for the fix!
2019-06-29 09:57:55 +02:00
Thanasis Antoniou a81e3add2f BLADERUNNER: JANITORIAL: Code formatting fixes 2019-06-28 15:30:44 +03:00
Thanasis Antoniou bd75898894 BLADERUNNER: Pause NPC walkers for Gaff scene in CT12 2019-06-28 15:30:43 +03:00
Thanasis Antoniou 54ad2c9aaf BLADERUNNER: Avoid freeze in Gordo scene at CT05
If McCoy re-climbs the stairs immediately after retiring Zuben and having picked up the photo
2019-06-28 15:30:43 +03:00
sluicebox 543b9cb114 SCI32: Fix QFG4 character selection, bug #11002 2019-06-28 08:33:03 +03:00
sluicebox 148a9b7058 SCI32: Fix kShakeScreen32 parameter count check 2019-06-28 08:30:19 +03:00
Paul Gilbert 13e7926849 GLK: ALAN2: Fix loading memory for Big Endian 2019-06-27 18:55:25 -07:00
Bastien Bouclet 0a8049e30c SDL: Fix gamepad mouse cursor wrapping on hi-res screens
The cursor position was overflowing a signed 16-bits integer once
multiplied with MULTIPLIER when using a resolution such as 2560x1440.

It would be nice changing this code to make more sense, sadly it is
thightly coupled with platform specific subclasses.

Fixes #10996.
2019-06-27 20:12:52 +02:00
lolbot-iichan fa4d310fb4 WINTERMUTE: Do not optimize out alpha blits on rotation
This fixes defect #10684: 1-pixel width sprite becomes a big rectangle
if rotation is applied.

Case was originally reproduced with FoxTail game for WME, then reduced
to testcase
https://github.com/tobiatesan/wme_testsuite/tree/master/time_test/packages
2019-06-27 10:59:35 +03:00
sluicebox 1f0f4c9642 SCI32: Make QFG4 tentacle patch GOG compatible 2019-06-27 10:56:23 +03:00
Thanasis Antoniou fb71c73ff0 BLADERUNNER: Fix obstacle map in CT04
Prevent transient from walking through scenery alongside the right wall
2019-06-26 20:09:10 +03:00
Thanasis Antoniou bb9bd91436 BLADERUNNER: Pause walkers for special loop in RC03
Otherwise they may glitch with the background at the Hawker's Circle entrance.
2019-06-26 19:49:47 +03:00
Thanasis Antoniou 378f186327 BLADERUNNER: McCoy should holster his gun in MA07 when Gaff is there 2019-06-26 19:38:00 +03:00
Thanasis Antoniou 2d4dffdac0 BLADERUNNER: Stop McCoy from buying absinthe a second time
After he gives it to transient, he should not be able to buy it again

That's because the Flask option is added to be selected only once, so McCoy won't be able to give it again to the homeless guy to get more info, and also the second time round, he gets the exact same dialogue from the bartender at the Hawker's Circle, which does not sound right.
2019-06-26 18:26:40 +03:00
Thanasis Antoniou 8f74f0f47e BLADERUNNER: Correct fix for maze target timings
Still only applies in Hard and Normal mode difficulty
2019-06-26 16:17:48 +03:00
Thanasis Antoniou e60aac53b1 BLADERUNNER: Fix waiting time for targets in Maze
Applies only for normal and hard mode. Easy mode keeps the original more relaxed behavior.
2019-06-26 15:21:55 +03:00
Thanasis Antoniou 2e1a84694b BLADERUNNER: Fix for police in UG07 post Guzza scene
Remove option for them to be there altogether to avoid overlap with Clovis
2019-06-26 13:46:16 +03:00
Thanasis Antoniou d1a2a2ff91 BLADERUNNER: Fix UG04 train disable control and Police AI 2019-06-26 13:25:15 +03:00
sluicebox 9fe95b9603 SCI32: Fix QFG4 Ad Avis capture lockup, bug #11001 2019-06-26 07:30:03 +03:00
lolbot-iichan 9bee1b5e31 WINTERMUTE: Implement Game.OpenDocument() method
Game.OpenDocument() is used to open links for developer's site or social
account in games like hellavuday, 5ld, etc.
2019-06-26 07:15:14 +03:00
sluicebox c1610a9fd1 SCI32: Fix QFG4CD Grooper crashes at inn and monolith
Fixes bugs #10747, #10760
2019-06-26 07:12:51 +03:00
rsn8887 df03352c27 CONFIGURE: Enable libcurl on Switch (works now) 2019-06-25 21:32:49 -05:00
Thanasis Antoniou a85ee3218f BLADERUNNER: Fixing clipping into Runciter's closed door 2019-06-25 23:00:52 +03:00
Thanasis Antoniou 78667edd0f BLADERUNNER: Fix Elevator blink in when missing from UG08
Happens, if elevator missing because McCoy took it down to UG13 and then went the long way round
2019-06-25 22:40:50 +03:00
Thanasis Antoniou 35cf41683e BLADERUNNER: fix wanring for clearNeverRepeatWasSelectedFlag 2019-06-25 15:44:27 +03:00
lolbot-iichan 3c1e883ff0 WINTERMUTE: Add lots of entries to detection table and refactor handling of localization packages
* WINTERMUTE: Add detection for unsupported "Basis Octavus" game

This game is not supported by ScummVM, because it's 2.5D. However, there
are already other 2.5D games in detection table and the intent is to add
all known games, and support 2.5D in ResidualVM later.

* WINTERMUTE: Add detection for Alimardan dilogy

"Alimardan's Mischief" and "Alimardan Meets Merlin" are games by Iranian
developer Resana Shokooh Kavir (http://rskgd.com/)
It seems that Persian versions also exist, I'll surely look at it later:
https://www.digikala.com/product/dkp-75901

There were 2 steam releases for alimardan1:
https://steamdb.info/depot/694421/manifests/

There was only one steam release of alimardan2:
https://steamdb.info/depot/694431/manifests/

* WINTERMUTE: Add detection for Oknytt 1.12

Oknytt had 2 steam releases (1.12 and 1.13):
https://steamdb.info/depot/286321/manifests/
I have downloaded 1.12 and added detection.

* WINTERMUTE: Add empty strings between detection table lines

* WINTERMUTE: Add detection for Steam versions of reversion1 for Windows

Source: https://steamdb.info/depot/270572/manifests/

* WINTERMUTE: Add detection for Steam version of reversion1 for Linux

Source: https://steamdb.info/depot/270571/manifests/

* WINTERMUTE: Fix localization loading for Mac and Linux

Mac and Linux builds of reversion1 & reversion2 does not have any
"languages" folders.
So, we need to filter those files according to filenames too.

Once there is such filtering, there is no need for this overspecific
hack for revision1's xlanguage_pt.dcp.

* WINTERMUTE: Add detection for Steam versions of reversion2 for Windows

Source: https://steamdb.info/depot/281061/manifests/

* WINTERMUTE: Language packages priority for Linux & Mac

* WINTERMUTE: Add detection for Steam versions of reversion2 for Linux

Source: https://steamdb.info/depot/281062/manifests/

* WINTERMUTE: Add detection for Steam versions of reversion2 for Mac

Source: https://steamdb.info/depot/281063/manifests/

* WINTERMUTE: Add detection for Steam versions of reversion1 for Mac

Source: https://steamdb.info/depot/270573/manifests/

* WINTERMUTE: Add detection for old Desura versions of reversion2

Source: https://bugs.scummvm.org/ticket/6564

* WINTERMUTE: Add detection for Spanish versions of reversion1&2

As was shown by windlepoons, xlanguage_* contains additional translation
package, while data.dcp contains original translation (which is
Spanish).

So, even without owning those old releases of reversion1&2, I can wrote
detection tables for them by not looking for any "xlanguage_*.dcp" file.
However, we shouldn't use WME_ENTRY1s for Spanish, because advanced
detector say "new best match, removing all previous candidates" once it
hit a WME_ENTRY2s. Instead, let's just look for data.dcp twice to give
user a choice of several WME_ENTRY2s. Lor Linux, it's WME_ENTRY3s.

* WINTERMUTE: Filter language packages ignoring folder name

There are 4 types of multilang games:
1. Each installation contain a data.dcp package (same for all languages)
+ an additional language package. Other localization packages are not
installed. Those games are: "Helga Deep In Trouble", "Dirty Split",
"Looky".

2. Each installation contain a data.dcp package (same for all languages)
+ a folder with all localization packages + a single "selected" language
package copied to main folder.  "xlanguage_" prefix is usual for
reversion series. Other games usually use "english.dcp", "spanich.dcp",
"czech.dcp", etc.
Those are: "Five Lethal Demons", "Five Magical Amulets", "Dead City",
"Oknytt", "Reversion: The Escape", "Reversion: The Meeting".

3. All localizations are inside data.dcp all-together. Those are: "One
Hellavu Day", "The White Chamber" and "James Peris: No License Nor
Control".

4. Different data.dcp build for each language. All other known games are
here.

This code covers all known filenames for localization packages and
provide several guessworks for ignoring all irrelevant localization
packages.

* WINTERMUTE: Add localization detection for Five Lethal Demons

* WINTERMUTE: Tweak detection for Dead City (Czech)

"english.dcp" is not required to play Dead City in Czech language, so we
don't need to detect it

* WINTERMUTE: Add detection table for Looky in English

I got English version here:
https://bullshit-softworx.itch.io/looky-adventure

* WINTERMUTE: Add detection for Czech versions of Helga

"english.dcp" happen to be optional
2019-06-25 13:28:03 +03:00
lolbot-iichan bf19375d14 WINTERMUTE: Add workaround for sprite glitch at Rosemary game
This kind of fixes https://bugs.scummvm.org/ticket/6572 WME: Rosemary -
Sprite flaw on going upwards

Some Rosemary sprites have non-fully transparent background pixels,
sprites of walking up has LOTS of them. Testing Rosemary walking
character in a test WME game demonstrates some glitches with original
WME as well. However, character sprite is downscaled most of time, and
with original WME it isn't that seen when sprite is downscaled.

This pull request provides a workaround for this case instead of
changing downscaling algorithms:
* if game ID is "rosemary"
* if loaded sprite is from "actors" folder
* if bytesPerPixel is 4
* if some pixel's alpha is between 1 and 15
* set this pixel's alpha to 0
2019-06-25 08:20:27 +03:00
lolbot-iichan c32027672e WINTERMUTE: Add comments + warning() for IsKeyDown() method 2019-06-25 08:10:16 +03:00
lolbot-iichan d53bd4e7a8 WINTERMUTE: Add more details in openDiskFile() comment 2019-06-25 08:10:16 +03:00
lolbot-iichan 4b763f0e9e WINTERMUTE: Add debugN + comment for getNumScripts() 2019-06-25 08:10:16 +03:00
lolbot-iichan 62aebde208 WINTERMUTE: Support even more keycodes at IsKeyDown() 2019-06-25 08:10:16 +03:00
lolbot-iichan 1e005d37e2 WINTERMUTE: Handle enum in GetNumScripts
This code is used only in debug mode and only to display some script
counters.
States are handled in the very same way in WME Lite, so there is no
reason to log tons of warning here.
2019-06-25 08:10:16 +03:00
lolbot-iichan b9af5ad304 WINTERMUTE: Fix IsKeyDown to work with ASCII
Tanya Grotter series has a cheat, that is triggered with
(Keyboard.IsKeyDown("A") && Keyboard.IsControl && Keyboard.IsAlt &&
Game.DebugMode) condition.
vKeyToKeyCode(97) would produce a warning message, fixed this.
2019-06-25 08:10:16 +03:00
lolbot-iichan 555e400d76 WINTERMUTE: Hardcode known path prefix for tanya2
Missing path is
"d:\engine\ТГ2\tg_ie_080128_1005\data\interface\pixel\pixel.png" from
scenes\code\episode_01\scene_comics_1\scene_comics_1.scene
2019-06-25 08:10:16 +03:00
lolbot-iichan c2b7fc526e WINTERMUTE: Detection tables for Tanya Grotter dilogy
Tanya Grotter games are based on first 2 books of a Russian fantasy
novel series by Dmitri Yemets.
Those games were both released in Russian only.
2019-06-25 08:10:16 +03:00
sluicebox 28fa491707 SCI32: Fix QFG4 Rabbit combat getting stuck, bug #11000 2019-06-25 07:55:33 +03:00
Henrik "Henke37" Andersson 39f63f1236 WIN32: Make use of the window handle when calling ShellExecute. 2019-06-25 07:54:31 +03:00
Thanasis Antoniou 2382200205 BLADERUNNER: Keydown should be ignored in VK 2019-06-25 01:54:51 +03:00
Thanasis Antoniou b4ee8fe294 BLADERUNNER: VK both Runciter and Grigorian is now possible
For restored content version
2019-06-25 01:54:51 +03:00
Peter Kohaut 20cc2c42ba BLADERUNNER: Fix Fish dealer in chapter 5
Fixes a wrong state for fish dealer which will end up showing her
up in chapter 5, but her model is not included in CDFRAMES.DAT for
chapter 5, that would lead to an error / engine crash.
2019-06-25 00:26:52 +02:00
Peter Kohaut dd0c030278 BLADERUNNER: Fixed alpha channel issues
Alpha channel is inverted in the game assets and that lead to issues in
OpenGL renderer. E.g. screenshot of savegames were partly black or
showing artifacts

closes #10983
2019-06-24 21:45:56 +02:00
Thierry Crozat 3036f8161a I18N: Update translations templates 2019-06-24 19:41:23 +02:00
Thierry Crozat 7b65d4ee4f I18N: Regenerate translations data file 2019-06-24 19:41:17 +02:00
Lothar Serra Mari 119bcc2b90 WIN32: Use HINSTANCE for OSystem_Win32::openUrl
This implementation now matches previous ShellExecute() calls, so we are
now consistent in that regard. It also
silences a warning in Mingw complaining about a type mismatch.
2019-06-24 17:00:20 +03:00
Thanasis Antoniou a9ecbce2f1 BLADERUNNER: Increase distance thresh for Dektora on fire 2019-06-24 13:37:10 +03:00
lolbot-iichan c4dc251f2b GRAPHICS: Fix fully transparent pixel blit
In BLEND_NORMAL mode with color != 0xffffffff, blending fully
transparent pixel was resulted in slightly modifying some background
colors, because old value X was a bit different from new value (X*255>>8).

This fixes defect #10686 WME: Sprite background is not fully transparent
if AlphaColor is set
2019-06-24 11:27:44 +03:00
Thanasis Antoniou 66bd815e04 BLADERUNNER: Switch to forced key down after modal dialogue
Modal dialogue prompt about loading an Uncut version game in original mode or vice versa would not close KIA any more
2019-06-24 11:23:00 +03:00