aboutsummaryrefslogtreecommitdiff
path: root/engines/wintermute
AgeCommit message (Collapse)Author
2019-12-27WINTERMUTE: Solve 'Chinese' language conflicts. Add more game entries (#1969)aviloria
2019-12-25WINTERMUTE: Fix fallback detectionBastien Bouclet
Now the singleId property has been removed, the gameIds returned by the MetaEngines when detecting games must be accepted by the `findGame` method. Wintermute was generating gameIds based on datafiles in the fallback detector. With this change, the gameId for fallback detected games is always `wintermute`, the target name is generated based on the `extra` value that contains the game caption. The `(unknown)` mention that was previously added to the game title has been removed. The unknown game dialog now makes it very clear that the game version is not known to ScummVM. Fixes #11288.
2019-12-19WINTERMUTE: Refactor UIEdit::handleKeypress()lolbot-iichan
This fixes https://bugs.scummvm.org/ticket/11033 Removed checking printable property for system keys. Refactored whole function to make it a bit more readable. Reference implementations: https://github.com/retrowork/wmelite/blob/master/src/UIEdit.cpp#L724 https://github.com/retrowork/Wintermute-Engine/blob/master/src/engine_core/wme_base/UIEdit.cpp#L708
2019-12-19WINTERMUTE: Handle isCurrentPrintable property for WME 1.x and WME Litelolbot-iichan
1. Moved KEYCODE_SPACE to "alphanumeric or punctuation" group. 2. Splited "else" into before and after WME_LITE.
2019-12-15WINTERMUTE: Fix bug 11061: Unknown game variant for Wintermute - Face Noirlolbot-iichan
Matched game IDs for the Wintermute engine: facenoir-win {"data.dcp", 0, "50a7a01b97cd3658fc84f2bec7c1212b", 555533359}, This is a version from one of the many times Face Noir has been bundled.
2019-12-03WINTERMUTE: Added Steam SOTV NG versionsaviloria
Added Steam "Shadows of the Vatican 1 & II" NG versions
2019-12-03WINTERMUTE: Fix WME version for some gamesaviloria
Fix WME version for some games
2019-12-03WINTERMUTE: Added more Steam referencesaviloria
Added more game entries from Steam
2019-12-02WINTERMUTE: Fixed a wrong file nameaviloria
Just a C&P mistake...
2019-12-02WINTERMUTE: Added 2 missing references to the PlainGameDescriptor structureaviloria
In a previous commit, I forgot to add two new games to the PlainGameDescriptor structure
2019-12-02WINTERMUTE: Fix ritter demo MD5 hashaviloria
The MD5 hash for this game was wrong (hasing the whole file, not only the first 5000bytes)
2019-12-02WINTERMUTE: Added more Steam releasesaviloria
Added some missing reversion2 localizations and latests reversion1
2019-12-02WINTERMUTE: Add Simplified and Traditional Chinese flavoursaviloria
Latest Steam updates for Reversion titles include Simplified and Traditional Chinese languages that were not properly identified
2019-12-02WINTERMUTE: Add 2 more demosaviloria
Added 2 german demos for "Art of Murder: FBI Confidential"
2019-12-02WINTERMUTE: Add some public demos aviloria
Add public demos for several wintermute games
2019-12-02WINTERMUTE: restored commented out stack->pop()lolbot-iichan
Unused variables were cleaned up at 47811167d5ddd9cbf64099ad36f2da5ae413fc86, commenting out a bit too much code, since stack->pop() has a side effect (popping a value from data stack).
2019-11-30WINTERMUTEaviloria
Add new Steam flavours for Reversion: The Meeting
2019-11-14WINTERMUTE: Fix Missing Default Switch CasesD G Turner
These are flagged by GCC if -Wswitch-default is enabled.
2019-11-03ENGINES: Stop using 'single id'Bastien Bouclet
2019-11-03ENGINES: Add an engine ID to all the enginesBastien Bouclet
2019-10-05WINTERMUTE: Engine requires jpeg and png as dependeciesEugene Sandulenko
2019-10-05WINTERMUTE: Fix Possible Uninitialized Variable Compiler WarningsD G Turner
2019-09-15WINTERMUTE: Fix MSVC WarningD G Turner
This is due to the _lastLine variable being unsigned, but having -1 assigned to it as a default / invalid value. This could probably be assigned 0 with no issues, but since this is exposed, this warning is fixed instead by assigning the unsigned equivalent of -1 so no dependent code will see a change.
2019-08-06WINTERMUTE: Fix detection for Chinese reversion2aviloria
WINTERMUTE: Fix detection for Chinese reversion2 Current "data.dcp" infromation is from reversion1 and not from reversion2 game... surely a C&P mistake
2019-07-24WINTERMUTE: Fix GCC Compilation WarningsD G Turner
Have commented out rather than removed the lines causing unused variable warnings as they might be used again in future.
2019-07-22WINTERMUTE: Add detection for Italian demo of On the Tracks of Dinosaurslolbot-iichan
NOTE: This is a 2.5D game that is out of ScummVM scope Developer's Download page states that there are EN/RU/IT versions: http://reptilesquest.000webhostapp.com/index.php?page=5 However, rq_demo_beta25_multilang.exe allows to select only EN/RU. italian.dcp can be extracted from rq_demo_beta25_multilang.exe using any tool for Inno Setup installer.
2019-07-22WINTERMUTE: Fix misprint in "mentalrepairs" IDlolbot-iichan
2019-07-22WINTERMUTE: Fix language selection regression bug for Reversionlolbot-iichan
Ooops. Latest refactoring of those if/else blocks was wrong, as a result Reversion 1&2 ignored all the xlanguage packages. Fixed.
2019-07-21WINTERMUTE: More detection records (#1758)lolbot-iichan
* WINTERMUTE: Add detection and package filtering for Alpha Polaris Source: https://steamdb.info/app/405780/depots/ NOTE: This is a 2.5D game that is out of ScummVM scope * WINTERMUTE: Set exact engine version for Project Joe Download: http://public.ag.ru/vd/3f983a3b5daf485f6559e7ca1380e47b/demos/14118/joesetup.exe This also fixes slider issue at Settings menu, since LATEST_VERSION has sliders broken * WINTERMUTE: Add detection for Everyday Grey Fixes https://bugs.scummvm.org/ticket/6563 NOTE: This game seems to be mistakenly marked as 2.5D at Wintermute wiki Download: https://web.archive.org/web/20140824221311if_/http://www.krumbukt.com/UnityGames/Everyday_Grey_setup.rar * WINTERMUTE: Add detection for Apeiron game Download: https://www.moddb.com/games/apeiron * WINTERMUTE: Add detection for Palladion demo Download: http://www.adventuresplanet.it/contenuti/demo/palladion_demo.exe * WINTERMUTE: Add detection for Art of Murder: FBI Confidential Adds checksums from https://bugs.scummvm.org/ticket/6532 NOTE: This is a 2.5D game that is out of ScummVM scope Buy: https://store.steampowered.com/app/809000 * WINTERMUTE: Add detection for Mental Repairs Inc This fixes https://bugs.scummvm.org/ticket/6528 Download: https://games.softpedia.com/get/Freeware-Games/Mental-Repairs-Inc.shtml NOTE: This is a 2.5D game that is out of ScummVM scope * WINTERMUTE: Add detection for On the Tracks of Dinosaurs NOTE: This is a 2.5D game that is out of ScummVM scope Download: http://reptilesquest.000webhostapp.com/?page=5 * WINTERMUTE: Set engine version for J.U.L.I.A. Fun fact: J.U.L.I.A. is using 3D features, however this game was reported as completable with VFX low Download demo: http://www.adventuresplanet.it/contenuti/demo/julia_demo_setup.exe * WINTERMUTE: Add detection for some versions of J.U.L.I.A.: Among the Stars NOTE: This is a 2.5D game that is out of ScummVM scope * WINTERMUTE: Add detection for J.U.L.I.A.: Untold "J.U.L.I.A.: Untold" is a DLC game for "J.U.L.I.A.: Among the Stars" Buy: https://store.steampowered.com/app/360340/JULIAAmong_the_Stars__Soundtrack_Hintbook_Untold/
2019-07-21WINTERMUTE: Support CHARSET_TURKISH at StringUtillolbot-iichan
2019-07-20WINTERMUTE: Update Carol Reed series engine versionslolbot-iichan
Thanks to Albadross for collecting those versions: https://bugs.scummvm.org/ticket/10863
2019-07-16WINTERMUTE: Suppress warning on Directory.Create() for Hamletlolbot-iichan
2019-07-16WINTERMUTE: Fix File.WriteText methodlolbot-iichan
Removed unnecessary '\0' byte written after a string. Reasons to remove: 1. Hamlet game does not write 0 after string when running this code: var SomeFile = new File((Game.SaveDirectory + "\gamelet.save")); SomeFile.OpenAsText(2); SomeFile.WriteText(LVL_N); SomeFile.Close(); 2. Original WME does not have this: https://github.com/retrowork/Wintermute-Engine/blob/master/src/engine_core/wme_base/SXFile.cpp#L303
2019-07-16WINTERMUTE: Implement loading files using SavefileManagerlolbot-iichan
2019-07-16WINTERMUTE: Implement saving files using SavefileManagerlolbot-iichan
2019-07-16WINTERMUTE: Fix assertion in Hamlet gamelolbot-iichan
Assertion was caused by providing "saves/" prefixed string to WindowsFilesystemNode::getChild() function, that asserts on '/' characters. Wintermute game code: if(!(Game.FileExists((Game.SaveDirectory + "\gamelet.save")))) { Directory.Create(Game.SaveDirectory); } ... Assertion stack: from C:\WINDOWS\System32\KernelBase.dll from C:\WINDOWS\System32\msvcrt.dll (this=0xcfdf710, n=...) at backends/fs/windows/windows-fs.cpp:158 n=...) at common/fs.cpp:68 (filename=...) at engines/wintermute/base/file/base_disk_file.cpp:76 at engines/wintermute/base/file/base_disk_file.cpp:105 this=0x50795e0, filename=...) at engines/wintermute/base/base_file_manager.cpp:326 (this=0xcea72f0, script=0xcf657d0, stack=0xcf6a2e0, thisStack=0xcf69ee0, name=0xcfd8870 "FileExists") at engines/wintermute/base/base_game.cpp:1523 ...
2019-07-16WINTERMUTE: Add dummy implementation of Directory global objectlolbot-iichan
Source: http://docs.dead-code.org/wme/generated/scripting_ref_directory.html
2019-07-16WINTERMUTE: Add detection tables for all non-English versions of Hamletlolbot-iichan
Source: https://steamdb.info/app/222160/depots/
2019-07-14WINTERMUTE: Add a warning for off-by-one errors in normalizeAngle()Filippos Karapetis
2019-07-14WINTERMUTE: Fixed normalizeAngle's output range from 0-360 to 0-359kyranet
WINTERMUTE: Enhanced BaseUtils::normalizeAngle to run the while if angle is greater than 359. When normalizing an angle, we expect the number to be between 0 and 359 (since 360 is 0), this changes the util so 360 is transformed to 0. The case for 359.8 (which this would make it -0.2) is covered by the following while loop, which will increase it back to 359.8.
2019-07-14WINTERMUTE: Huge update of detection tables (#1748)lolbot-iichan
* WINTERMUTE: Add all changelog engine versions to enum Source: http://docs.dead-code.org/wme/history.html * WINTERMUTE: Fixed name and update detection for Satan and sons Download: http://www.freegamearchive.com/play/download/game/satan_and_sons.zip * WINTERMUTE: Update detection for Five Lethal Demons Download: http://web.archive.org/web/20070705114336if_/http://dead-code.org/5ld/5ld_setup.exe * WINTERMUTE: Update detection for Five Magical Amulets Download: http://web.archive.org/web/20070505233127if_/http://www.nacht-und-nebel.org/download/fma.exe Download: http://www.flint.cba.pl/fusion_7/downloads.php?cat_id=1&download_id=1 Download: http://dead-code.org/5ma/5ma_deutsch.exe * WINTERMUTE: Update detection for Actual Destination Download: http://web.archive.org/web/20111121174804/http://mrburns.tks.bth.se/ds/ds08/magv08/Actual%20Destination.rar * WINTERMUTE: Update detection for Boredom of Agustin Cordes Download: http://www.cbe-software.com/Games/Boredom/setup_boredom.exe * WINTERMUTE: Update detection for Alimardan's Mischief Buy: https://store.steampowered.com/app/694420/Alimardans_Mischief/ * WINTERMUTE: Update detection for Alimardan Meets Merlin Buy: https://store.steampowered.com/app/694430/Alimardan_Meets_Merlin/ * WINTERMUTE: Update detection for Beyond the Threshold Download: http://www.nacht-und-nebel.org/pcg/BeyondTheTreshold.zip NOTE: This game's executable has a very strange version 1.7.94 not listed in changelog. * WINTERMUTE: Update detection for Basis Octavus Download: http://kraaca.cz/wp-content/files/basis-octavus.zip * WINTERMUTE: Update detection for Bickadoodle Download: https://www.moddb.com/games/bickadoodle/downloads * WINTERMUTE: Update detection for Book of Gron: Part One Download: http://questzone.ru/download/gr/BookOfGron.rar * WINTERMUTE: Update detection for Chivalry is Not Dead Download: https://games.squinky.me/downloads/chivalry/chivalry.zip * WINTERMUTE: Update detection for Carol Reed series I assume that Carol Reed 4 EN use the same engine as Carol Reed 4 RU. For other versions I assume that Demo and Full versions are sharing the same engine version. Demos: http://www.mdna-games.com/ Buy: http://www.mdna-games.com/ * WINTERMUTE: Update detection for Corrosion Buy: https://store.steampowered.com/app/349140/Corrosion_Cold_Winter_Waiting_Enhanced_Edition/ * WINTERMUTE: Update detection for Dead City Download: http://dead-code.org/download/games/deadcity.zip * WINTERMUTE: Add detection for Dark Fall: Lost Souls This is a 2.5D game that is out of ScummVM scope * WINTERMUTE: Update detection for Dirty Split Download: https://dreamagination.itch.io/dirty-split * WINTERMUTE: Update detection for Dreamscape Download: http://web.archive.org/web/20111121174150if_/http://mrburns.tks.bth.se/ds/ds08/vida08/Dreamland.rar * WINTERMUTE: Update detection for Dreamcat Download: https://jennibee.itch.io/dreamcat * WINTERMUTE: Update detection for Des Reves Elastiques Avec Mille Insectes Nommes Georges Download: https://games.squinky.me/downloads/dreaming/dreaming.zip * WINTERMUTE: Update detection for DFAF Adventure Download: https://jennibee.itch.io/dfaf-adventure * WINTERMUTE: Add detection for Dr. Bohus Author: Local Studio Description: Saving the world from outbreak of a mysterious disease Language: Czech Licence: Freeware Download: http://www.freegame.cz/hry-ke-stazeni/zdarma/adventury/dr-bohus/13266 * WINTERMUTE: Update detection for Escape from the Mansion Download: https://escapefromthemansion.com/files/EscapeFromTheMansion_v1.3.zip * WINTERMUTE: Add detection for Finding Hope Finding Hope is a hidden object game made with Wintermute engine by Golden Bough Games. Try & Buy: https://www.bigfishgames.com/games/5960/finding-hope/ * WINTERMUTE: Add detection for The Death of Erin Myers Buy links and details: http://www.viperante.com/short.htm * WINTERMUTE: Update detection for Four Download: http://mentalscraps.com/Four.zip * WINTERMUTE: Add detection for Face Noir This is a 2.5D game that is out of ScummVM scope * WINTERMUTE: Update detection for Hamlet Buy: https://store.steampowered.com/app/222160 * WINTERMUTE: Update detection for Framed Download: http://web.archive.org/web/20111121173916if_/http://mrburns.tks.bth.se/ds/ds08/maqk08/Framed.rar * WINTERMUTE: Update detection for James Peris Download: http://www.jamesperis.com/jamesperisweb-a.htm * WINTERMUTE: Update detection for Project Lonely Robot Download: http://web.archive.org/web/20111121173634if_/http://mrburns.tks.bth.se/ds/ds07/stgo07/Projectlonelyrobot.rar * WINTERMUTE: Update detection for Helga Deep In Trouble Download: http://helgagame.com/download/helgainstall.exe * WINTERMUTE: Update detection for Ghost in the Sheet Demo: https://ag.ru/games/ghost-in-the-sheet/demos/24978 * WINTERMUTE: Add detection for K'NOSSOS Demo: http://svarunentertainment.com/ * WINTERMUTE: Update detection for Open Quest Download: https://github.com/JenniBee/openquest/releases/tag/v1.0 * WINTERMUTE: Update detection for Night Train Download: https://www.moddb.com/games/night-train/downloads * WINTERMUTE: Update detection for Mirage Download: http://web.archive.org/web/20111121173733if_/http://mrburns.tks.bth.se/ds/ds08/sasl08/Mirage.rar * WINTERMUTE: Update detection for kulivocko Download: https://ulozto.net/!Ge2FUW8q/kulivocko1-zip * WINTERMUTE: Update detection for Looky Demo: https://mac-bs.de/homepage/downloads/Looky_Demo_Setup.exe Download: https://bullshit-softworx.itch.io/looky-adventure * WINTERMUTE: Add detection for One Demo: http://rcorp.wz.cz/one/one%20DEMO.rar * WINTERMUTE: Update detection for Pizza Morgana Download: http://pizza-morgana.com/download/episode1 * WINTERMUTE: Update detection for One Helluva Day Demo: https://store.steampowered.com/app/603680/One_helluva_day/ * WINTERMUTE: Update detection for reversion1&2 Buy: https://steamcommunity.com/app/270570 , https://store.steampowered.com/app/281060 Source for old versions: https://bugs.scummvm.org/ticket/11009 , https://bugs.scummvm.org/ticket/11011 * WINTERMUTE: Update detection for Project: Doom Download: http://web.archive.org/web/20111121180654if_/http://mrburns.tks.bth.se/ds/ds08/vida08/ProjectDoom.rar * WINTERMUTE: Update detection for Silent Footsteps Demo: http://frostlindgames.com/demo.html Buy: https://store.steampowered.com/app/780740/Silent_Footsteps/ * WINTERMUTE: Update detection for Paintaria Download: https://gamejolt.com/games/paintaria/17652 * WINTERMUTE: Update detection for Pigeons in the Park Download: https://games.squinky.me/downloads/pigeons/pigeons.zip * WINTERMUTE: Update detection for reversion1&2 (Linux & Mac) * WINTERMUTE: Update detection for Rosemary Download: http://gambit.mit.edu/loadgame/rosemary_eula.php * WINTERMUTE: Update detection for Shaban Try & Buy (English): https://www.bigfishgames.com/games/7157/shaban/?pc Try & Buy (German): https://www.bigfishgames.de/spiele/7157/shaban/?pc Try & Buy (Spanish): https://www.bigfishgames.es/juegos/7157/shaban/?pc Try & Buy (French): https://www.bigfishgames.fr/jeux/7157/shaban/?pc Try & Buy (Japanese): https://www.bigfishgames.jp/games/7157/shaban/?pc Try & Buy (Dutch): https://www.bigfishgames.nl/spellen/7157/shaban/?pc Try & Buy (Italian): https://www.bigfishgames.it/giochi/7157/shaban/?pc Try & Buy (Portuguese): https://www.bigfishgames.com.br/jogos/7157/shaban/?pc * WINTERMUTE: Update detection for Rhiannon Demos: https://ag.ru/games/rhiannon-curse-of-the-four-branches/demos Demo: http://download.fileplanet.com/ftp1/122008/Rhiannon_Demo_C5_setup.exe Buy: https://store.steampowered.com/app/298140 * WINTERMUTE: Update detection for Space Invaders demo Download: https://docs.google.com/file/d/0B1Y5w30FUPM7bk1UQ1BGR2ZVZ2s * WINTERMUTE: Update detection for Sofia's Debt Download: http://www.artisticsoft.com/flyers/deudadesofia/La%20Deuda%20de%20Sofia.zip Download: http://www.artisticsoft.com/flyers/deudadesofia/Sofias%20Debt.zip * WINTERMUTE: Update detection for The Kite Download: https://anatolii.itch.io/the-kite * WINTERMUTE: Update detection for The Box Download: http://web.archive.org/web/20111121180051if_/http://mrburns.tks.bth.se/ds/ds08/maqk08/packages.rar * WINTERMUTE: Update detection for The Driller Incident Download: http://questzone.ru/enzi/files/1645 * WINTERMUTE: Update detection for The Ancient Mark Download: https://www.moddb.com/games/the-ancient-mark-episode-1/downloads * WINTERMUTE: Update detection for Tanya Grotter dilogy Buy: https://www.soft-moscow.ru/goods/tanya_grotter_i_magicheskiy_kontrabas.htm Buy: https://www.soft-moscow.ru/goods/tanya_grotter_i_ischezayushchiy_etag.htm * WINTERMUTE: Update detection for Space Madness Demos: http://web.archive.org/web/20150520160556/http://www.spreadcamp.com/downloads/SM-DEMO_English_and_German.exe * WINTERMUTE: Update detection for The Shine of a Star NOTE: http://questzone.ru/enzi/game/2502 states that this game is freeware since 29.07.2013 Download: http://forgottenkey.se/TSoaS/TSOAS.msi Archive: https://web.archive.org/web/20190116104138if_/http://forgottenkey.se/TSoaS/TSOAS.msi * WINTERMUTE: Update detection for The White Chamber Download: http://www.studiotrophis.com/downloads/thewhitechamber1.7SETUP%20-%20Definitive%20Edition.exe Download: http://www.indiedb.com/games/the-white-chamber/downloads/the-white-chamber-17 * WINTERMUTE: Update detection for Trader of Stories Download demo: http://www.rudowscy.com/download/theTraderofStories.zip Full version is not made with Wintermute: http://www.rudowscy.com/tos1/ * WINTERMUTE: Update detection for Zbang! The Game Download: http://www.corbomitegames.com/zbang/download.php * WINTERMUTE: Update detection for Vsevolod Download: http://public.ag.ru/vd/c16b434cc9656d4ca5856150c8fc9b18/demos/23267/Vsevolod-Prologue.exe * WINTERMUTE: Update some comments * WINTERMUTE: Update detection for Toshechka and Boshechka * WINTERMUTE: Update detection for Wilma Tetris Download: http://web.archive.org/web/20160330072540if_/http://dead-code.org/misc/wtetris.zip * WINTERMUTE: Add detection for WME Technology Demo 1.2 Download: http://www.dead-code.org/download/wme_demo.zip * WINTERMUTE: Update detection for reversion1 (bug 11011) This fixes https://bugs.scummvm.org/ticket/11011
2019-07-02WINTERMUTE: Fix slider bugs in several gameslolbot-iichan
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.
2019-07-02WINTERMUTE: Add detection for some Russian version of 1 1/2 Ritterlolbot-iichan
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.
2019-07-02WINTERMUTE: Add detection for 6 more Carol Reed demoslolbot-iichan
Also fixes https://bugs.scummvm.org/ticket/11005
2019-07-02WINTERMUTE: Reorder Carol Reed detection recordslolbot-iichan
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.
2019-06-30COMMON & WINTERMUTE: Use non-1252 for 125X games (PR 1698)lolbot-iichan
* 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
2019-06-30WINTERMUTE: Increase window title height by 1 for "5 Lethal Demons" gamelolbot-iichan
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-27WINTERMUTE: Do not optimize out alpha blits on rotationlolbot-iichan
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-26WINTERMUTE: Implement Game.OpenDocument() methodlolbot-iichan
Game.OpenDocument() is used to open links for developer's site or social account in games like hellavuday, 5ld, etc.
2019-06-25WINTERMUTE: Add lots of entries to detection table and refactor handling of ↵lolbot-iichan
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