77 Commits

Author SHA1 Message Date
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
41af1b63a9 BASE: PLUGINS: Improve fb detection for Sci & Wintermute 2020-10-03 14:56:36 +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
c48719404a BASE: PLUGINS: Rename plugin matching helpers
- give*From* -> get*From*
2020-10-03 14:56:36 +02:00
aryanrawlani28
e08748866e SCI & WINTERMUTE: Fix unsafe code for fallbackDetect
- Using static for plugins will result in crash if the plugins are unloaded after being called for the first time.
- Good example is when UncachedPluginMan uses these.
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
aryanrawlani28
8189a05316 ENGINES: ALL: Adapt to changes for new plugins by defining a new detection module
For each engine:
- Make a new folder detection
- Move detection-related files inside the folder
- Add a new module "enginename/detection"
- Add DETECT_OBJS here
- Adjust the normal engine module to remove detect_objs
- Adjust every file for the new changes.
2020-10-03 14:56:36 +02:00
aryanrawlani28
c9f2c50380 WINTERMUTE: Split detection features & adapt to new plugins.
- Update AMEC's getFileProps (changes related to MacResMan)
- This commit also includes a change from other engines.
- Fallback detection here depends upon many Engine resources.
- As such, it might not be suitable to add all of them to executable.
- Thus, shift fallback detection to the dynamic part.
- The static part gets the relevant Engine plugin & then tries to call it.
- This way, fallback detection for Wintermute will depend on the engine plugin.
- Normal detection will still work fine.
2020-10-03 14:56:36 +02:00
Bastien Bouclet
0f2c6cd9ea ENGINES: Change mac resource fork file detection to use the file cache
Common::MacResMan is now able to open files from a specified
Common::Archive. This is a bit hacky as dynamic_cast is used to break
the Archive encapsulation to retreive the underlying FSNode. It should
however be more correct than the previous code that assumed files were
at the root of the currently running game's path.

AdvancedDetector constructs a Common::Archive from its FileMap based
filesystem cache and uses it to detect the mac resource fork files.

This cuts the time it takes to run the detection code with all the
engines enabled as dynamic plugins on the 3DS to 30 s from 280 s.
2020-09-20 16:33:45 +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
bed05ea134 GUI: U32: Fix compilation errors across entire project
After the initial changes just to scummvm/gui for u32, this commit includes the whole project

- Widget creations now always have u32 descriptions, labels, or tooltips
- Message dialogs make use of default arguments instead of providing the same argument explicitly
- encode String::format properly before passing on as argument where necessary
- Modify hugo utils (yesNoBox and notify box) to use u32
- Also provide fake constructors for the above which redirect to the u32 constructor
- Convert all keymap descriptions to u32 across all engines
- showConfirmationDialog in mohawk now uses u32
- showScummVMDialog also uses u32
- Scumm engine has dialogs now which use u32
- General fixes and wrapping convertToU32String for setLabels and related functions
- Add a fake constructor to MesssageDialog which redirects to the u32 constructor
2020-08-30 14:43:41 +02:00
lolbot-iichan
4a0cec37b6 WINTERMUTE: Move keymapper tables to separate file 2020-04-29 10:31:36 +02:00
lolbot-iichan
2e8c064186 WINTERMUTE: Add known Steam achievements lists 2020-04-29 10:31:36 +02:00
Eugene Sandulenko
786af20bc7 WINTERMUTE: Added override keyword 2020-04-24 01:41:22 +02:00
lolbot-iichan
74de2d61bf WINTERMUTE: Add detection and keymap for "Myth: A Guff's Tale"
SOLO DESIGN decided to distribute "Myth: A Guff's Tale" for free since
game's co-creator Phil Argent passed away...
Download it here:
https://www.kartridge.com/games/solodesign/myth-a-guffs-tale
2020-03-16 01:25:48 +02:00
lolbot-iichan
1de5d5026e WINTERMUTE: Add detection and keymap for Reversion 3 2020-02-29 10:32:11 +02:00
lolbot-iichan
887db8a821 WINTERMUTE: Fix game keymappings 2020-02-19 08:04:25 +02:00
lolbot-iichan
e0aed04e85 WINTERMUTE: Keymaps for most games 2020-02-19 08:04:25 +02:00
lolbot-iichan
f4cd447c9e WINTERMUTE: Add minimal keymapping
Those 4 keys are enough to complete most game:
https://wiki.scummvm.org/index.php?title=Wintermute/Controls
2020-02-19 08:04:25 +02:00
Bastien Bouclet
80166c0fea WINTERMUTE: Add override keywords 2020-02-09 12:55:00 +01:00
Eugene Sandulenko
de6bde08a7 WINTERMUTE: Added override keywords 2020-01-31 15:46:23 +01:00
lolbot-iichan
284d6cf98a WINTERMUTE: Add detection flags for SD/HD versions
Some games (e.g. J.U.L.I.A.: Among the Stars) store SD and HD files in
the same directory.
Detection table is now using single game id for SD and HD versions:
'juliastars'.
kADFlagUseExtraAsHint is used at detection.cpp so that AD would support
this case.
New game feature flags introduced: GF_IGNORE_SD_FILES and
GF_IGNORE_HD_FILES.
GF_IGNORE_HD_FILES is used in SD games to ignore all "*_hd.dcp" files.
GF_IGNORE_SD_FILES is used in HD games to ignore all "*_sd.dcp" files.
2020-01-21 03:25:00 +02:00
Bastien Bouclet
f328ab4369 WINTERMUTE: Fix fallback detection
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-25 08:50:01 +02:00
Bastien Bouclet
9c8bd056d6 ENGINES: Stop using 'single id' 2019-11-03 11:43:00 +01:00
Bastien Bouclet
4b42112721 ENGINES: Add an engine ID to all the engines 2019-11-03 11:43:00 +01:00
lolbot-iichan
290962ba92 WINTERMUTE: Huge update of detection tables (#1748)
* 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-14 11:42:04 +03:00
Bastien Bouclet
cf1ebf2951 ENGINES: Add unknown game variants to the game detector results 2018-05-10 09:04:23 +02:00
Bastien Bouclet
ae6b0cfdef WINTERMUTE: Push down the AD includes 2018-05-01 12:48:05 +02:00
Tobia Tesan
a496467fbe WINTERMUTE: Add "Sprite bilinear filtering" menu option 2016-12-26 12:20:56 +01:00
Hubert Maier
751bdc10b0 Fix Wintermute copyright sign 2016-05-29 15:16:05 +03:00
Johannes Schickel
3aecd8ef2a ENGINES: Make variable names of ADGameDescription conform to our guidelines.
gameid     -> gameId
guioptions -> guiOptions
2016-03-08 19:01:38 +01:00
Johannes Schickel
0b6befdcc5 ENGINES: Make variable names of AdvancedMetaEngine conform to our guidelines.
_singleid   -> _singleId
_gameids    -> _gameIds
_guioptions -> _guiOptions
2016-03-08 19:01:13 +01:00
Tobia Tesan
dfe465e26b WINTERMUTE: Introduce WMEGameDescription
I aped what has been done with AGS: in engines/agi/detection.cpp, adding
a struct that includes ADGameDescription at the beginning.

This is also recommended in advancedDetector.h
2014-11-04 17:52:01 +01:00
Einar Johan Trøan Sømåen
6afe5547c0 WINTERMUTE: Replace (fangame) and wmefan-, with (unknown version) and wmeunk- 2014-04-05 14:02:06 +02:00
Johannes Schickel
fc5ef58fff WINTERMUTE: Make GPL headers consistent in themselves. 2014-02-18 02:39:40 +01:00
Johannes Schickel
3333084eaf WINTERMUTE: Indent REGISTER_PLUGIN_* for consistency. 2014-02-17 23:03:28 +01:00
Einar Johan Trøan Sømåen
ff574579bb WINTERMUTE: Add quite a bit of hackery to allow Reversion 1.3 to select languages properly.
Reversion 1.3 seems to have one language file in it’s main-folder, and
a full set in languages/ (not language/ like a few other games), the names
of the language-files are also different from what we’ve seen earlier.
2013-11-18 12:00:34 +01:00
Johannes Schickel
1ce54c217a WINTERMUTE: Fix end of namespace comments. 2013-08-04 00:51:09 +02:00
Einar Johan Trøan Sømåen
ff1e91226d WINTERMUTE: Allow users to enable the FPS-counter in the GUI, and disable MT32-settings. 2013-01-22 22:05:20 +01:00
Einar Johan Trøan Sømåen
c96ccaa1c3 WINTERMUTE: Add detection for Italian, English and Russian Dead City. 2012-08-13 04:59:17 +02:00
Einar Johan Trøan Sømåen
589094e63a WINTERMUTE: Clean out commented-out code from detection 2012-08-13 04:43:14 +02:00
Einar Johan Trøan Sømåen
fed19cb66a WINTERMUTE: WinterMute -> Wintermute 2012-08-13 03:42:30 +02:00
Einar Johan Trøan Sømåen
c422ae9d8a WINTERMUTE: Get rid of strncpy+manual termination. 2012-08-11 02:30:07 +02:00
Einar Johan Trøan Sømåen
482a5fb467 WINTERMUTE: Make the BaseEngine-singleton use Common::Singleton as super-class 2012-07-29 03:41:07 +02:00
Einar Johan Trøan Sømåen
9b5cf8f1ba WINTERMUTE: Introduce a Singleton-class for holding registry/filemanager. 2012-07-29 02:34:44 +02:00
Einar Johan Trøan Sømåen
f6ac34ab9a WINTERMUTE: Get rid of almost all LLVM GCC 4.2 warnings. 2012-07-27 18:13:42 +02:00
Einar Johan Trøan Sømåen
bb131aaa07 WINTERMUTE: Clean up some TODOs. 2012-07-27 00:05:15 +02:00
Einar Johan Trøan Sømåen
38507fa989 WINTERMUTE: AStyle-formatting. 2012-07-26 04:12:58 +02:00