Age | Commit message (Collapse) | Author |
|
That will be useful for i18n. Let's suppose all the versions have all
the characters.
|
|
That will let us adapt from different packaging across Versailles
editions.
|
|
|
|
|
|
|
|
There is a bug introduced in WME Lite.
Testcase:
1. Download https://github.com/lolbot-iichan/wme_testsuite/tree/master/slider_test/packages
2. Download https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/wmelite/wmelite_10_win.zip
3a. Run game.exe -> Slider moves with the mouse while it is pressed and
released when mouse is released
3b. Run wmelite.exe -> Slider is never released
3c. Run ScummVM -> Slider is never released
Related bugs:
https://bugs.scummvm.org/ticket/6567
https://bugs.scummvm.org/ticket/9861
Reason: slider is a button object that changes it's X until "LeftRelease" event is revieved and breaks the endless loop.
Sample code: https://github.com/lolbot-iichan/wme_testsuite/blob/master/slider_test/data/interface/system/speechvolume.script
However, WME Lite does not send "LeftRelease" events to any objects, if Game object can handle such event, even is game is frozen and UI is shown.
Original code: https://github.com/lolbot-iichan/Wintermute-Engine/blob/master/src/engine_core/wme_ad/AdGame.cpp#L2218
Changed in WME Lite: https://github.com/lolbot-iichan/wmelite/blob/master/src/AdGame.cpp#L2120
This behaviour was introduced in SVN period of wmelite, I believe it was
made on purpose for handling some iOS scenarios at commit #37 mentioned
on page https://code.google.com/archive/p/wmelite/source/default/commits
My proposal is to mark iOS apps as WME_LITE and fill exact WME_1_X_X/WME_LITE versions for all known
games. WME_1_X_X can be seen by right-clicking on main executable and seems to be non-empty for almost all existing WME games.
|
|
This seems to be some fan-made translation patch. File "string3.tab"
seems to be the only thing translated, and it's stored as a plain file,
outside dcp packages. Patch is applied to original by adding this file.
|
|
Also fixes https://bugs.scummvm.org/ticket/11005
|
|
On undetected game user gets message like this:
```
Matched game IDs for the Wintermute engine: actualdest-win,
basisoctavus-win-cz,
agustin-win, bthreshold-win, bickadoodle-win, bookofgron-win-ru,
carolreed4-demo-win, carolreed5-win, carolreed6-win,
carolreed7-demo-win,
carolreed8-win, carolreed9-win, carolreed10-win, carolreed11-win,
carolreed12-win, carolreed13-win, carolreed14-win, chivalry-win,
corrosion-win,
deadcity-win-cz, dfafadventure-win, dirtysplit-win, dreaming-win,
driller-win,
...
```
It's confusing that some carolreed games are mentioned as demos and some
are not.
Fixed this by reordering them.
|
|
|
|
Fixes #11006
|
|
|
|
Most prominent bugs fixed is behavior in KP02 and not attacking when near McCoy
|
|
|
|
Most of them were due to setting -1 to unsigned values
Else it was bogus unintialized values
|
|
* WINTERMUTE: Add detection for "The Driller Incident"
"The Driller Incident" is a small freeware game for Wintermute,
avaliable in English and Russian: http://questzone.ru/enzi/files/1645
* WINTERMUTE: Add detection table for "One Helluva Day" demo
"One Helluva Day" is a point-and-click adventure demo in English / Czech
/ Russian.
Free download:
https://store.steampowered.com/app/603680/One_helluva_day/
* WINTERMUTE: Support CHARSET property for TT fonts
"// we don't need this anymore" was a mistake =)
Surely, most Wintermute games are either designed for 1252 language
(DE_DEU, EN_ANY, ES_ESP, FR_FRA, IT_ITA, PT_BRA), or don't use TrueType
fonts (5ma, deadcity, grotter1, grotter2, thekite, tib), or use
CHARSET=1 with UTF strings (dirtysplit, reversion1, reversion2, twc),
which meen this conversion is not needed for those games.
However, there are some games that explicitly states CHARSET=10 (driller
(RU_RUS), oknytt (RU_RUS), onehelluvaday (UNK_LANG when playing as
Russian)) and there are some games with CHARSET=1 with non-1252 in mind
(bookofgron (RU_RUS excepts 1251), carolreed4 (RU_RUS excepts 1251),
kulivocko (CZ_CZE excepts 1250)).
This fixes text in some games: bookofgron, carolreed4, driller, kulivocko,
oknytt, onehelluvaday.
* WINTERMUTE: Break savegame compatibility
sizeof(BaseFontTT) was changed, so let's break savegame compatibility
* COMMON: Add conversion tables for win1253 and win1257
* COMMON: Add string conversion from U32String back to Common::String
convertUtf32ToUtf8 code is based on Wintermute::ConvertUTF32toUTF8
convertFromU32String use convertUtf32ToUtf8 for UTF8 or lookup through
conversion table for single-byte encodings
* WINTERMUTE: Use Common::convert functions for non-UTF charsets
* WINTERMUTE: Fix whitespaces at detection tables
* WINTERMUTE: Add TODO comments
|
|
|
|
|
|
|
|
|
|
|
|
Fixes QFG4 bug #10765. It's preferable to have sanity checks in the
code, rather than crashing due to invalid draw rectangles from buggy
game scripts. It's no use checking which specific interpreter versions
had sanity checks and trust the game scripts of the other interpreters.
Thus, it's easier and safer to always enable these sanity checks.
|
|
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
|
|
|
|
Tested and it works. Thanks for the fix!
|
|
|
|
|
|
If McCoy re-climbs the stairs immediately after retiring Zuben and having picked up the photo
|
|
|
|
|
|
|
|
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
|
|
|
|
Prevent transient from walking through scenery alongside the right wall
|
|
Otherwise they may glitch with the background at the Hawker's Circle entrance.
|
|
|
|
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.
|
|
Still only applies in Hard and Normal mode difficulty
|
|
Applies only for normal and hard mode. Easy mode keeps the original more relaxed behavior.
|
|
Remove option for them to be there altogether to avoid overlap with Clovis
|
|
|
|
|
|
Game.OpenDocument() is used to open links for developer's site or social
account in games like hellavuday, 5ld, etc.
|
|
Fixes bugs #10747, #10760
|
|
|
|
Happens, if elevator missing because McCoy took it down to UG13 and then went the long way round
|
|
|
|
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
|
|
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
|
|
|