Wintermute/Plugins

From ScummVM :: Wiki
< Wintermute
Revision as of 22:15, 10 March 2020 by Lb ii2 (talk | contribs)
Jump to navigation Jump to search

This page lists known plugins for most Wintermute games.

Original WME 1.x allows game scripts to automatically import code from DLL libraries named "wme_*.dll".

Steam plugin

wme_steam.dll

This is a plugin for Wintermute Engine which allows WME games to access Steamworks API. Currently it provides functions for manipulating achievements and game stats.

Source: https://bitbucket.org/MnemonicWME/wme_steam_plugin/wiki/Home

GetSupportedClasses() exports one class: SteamAPI.

TODO: reimplement this for ScummVM.

2D games

Corrosion: Cold Winter Waiting

Steam game ID is 349140.

Required property: StatsAvailable (game waits until it's true)

Required method: SetAchievement (to set 18 achievements, see https://steamdb.info/app/349140/stats/)

Dr. Doyle - Mystery Of The Cloche Hat

Steam game ID is 574420.

Required method: SetAchievement (to set 35 achievement, see https://steamdb.info/app/574420/stats/)

The Death of Erin Myers

Steam game ID is 1064660.

Required method: SetAchievement (to set 5 achievements, see https://steamdb.info/app/1064660/stats/)

Oknytt

Steam game ID is 286320.

Required method: SetAchievement (to set 10 achievements, see https://steamdb.info/app/286320/stats/)

Reversion: The Escape

Steam game ID is 270570.

Required property: SteamAvailable (game checks if it's true)

Required method: SetAchievement (to set 16 achievements, see https://steamdb.info/app/270570/stats/)

Required method: IsAchieved (game checks "ACHIEVEMENT_TERMINAR_JUEGO")

Reversion: The Meeting

Steam game ID is 281060.

Required property: SteamAvailable (game checks if it's true)

Required method: SetAchievement (to set 25 achievements, see https://steamdb.info/app/281060/stats/)

Required method: IsAchieved (game checks "ACHIEVEMENT_FINAL")

Reversion: The Return

Steam game ID is 281080.

Required property: SteamAvailable (game checks if it's true)

Required method: SetAchievement (to set 36 achievements, see https://steamdb.info/app/281080/stats/)

Required method: IsAchieved (game checks "ACHIEVEMENT_TERMINAR_JUEGO_R3")

2.5D games

Alpha Polaris

Steam game ID is 405780.

Required property: SteamAvailable (game checks if it's true)

Required method: SetAchievement (to set 18 achievements, see https://steamdb.info/app/405780/stats/)

Required method: ClearAchievement (it is possible to clear achievement using in-game debug CLI)

The Lost Crown - A Ghost-Hunting Adventure

Steam game ID is 291710.

Required property: SteamAvailable (game checks if it's true)

Required method: SetAchievement (to set 34 achievements, see https://steamdb.info/app/291710/stats/)

3f interactive statistics plugin

wme_3fstatistics.dll

A statistics plugin for WME 1.x by 3f interactive.

Sources are not public. File resources mentiones c:\Users\Fran\Desktop\Reversion Artwork\svnReversion\game\WintermutePlugins\WME_UsageStatistics\Release\wme_3fstatistics.pdb path.

GetSupportedClasses() exports one class: Statistics.

There are 2 known versions of wme_3fstatistics.dll - old one is used at first versions of Reversion: The Escape, later is used in Steam releases of Reversion series and provides extended constructor.

TODO: reimplement this for ScummVM.

2D games

Reversion: The Escape

Old versions of Reversion are using simple constructor: new Statistics("http://www.soluciones3f.com.ar/reversioninfo.php")

New versions of Reversion are using detailed constructor: new Statistics("http://www.soluciones3f.com.ar/reversioninfo.php", "1", gameLanguage, DCP_VERSION)

Required method: Send() (known stats to send are "Start a new game" and "--Juego Finalizado--")

Required method: SetRepeat() (known options are SetRepeat(0) and SetRepeat(60))

Reversion: The Meeting

Known versions of Reversion are using detailed constructor: new Statistics("http://www.soluciones3f.com.ar/reversioninfo.php", "2", gameLanguage, DCP_VERSION)

Required method: Send() (known stats to send are "Start a new game" and "--Juego Finalizado--")

Required method: SetRepeat() (known option is SetRepeat(0))

Reversion: The Return

Known versions of Reversion are using detailed constructor: new Statistics("http://www.soluciones3f.com.ar/reversioninfo.php", "3", gameLanguage, DCP_VERSION)

Required method: Send() (known stats to send are "Start a new game" and "--Juego Finalizado--")

Required method: SetRepeat() (known option is SetRepeat(0))

Displacement plugin

wme_displacement.dll

A plugin for WME 1.x by Wintermute Engine Forum user metamorphium.

Sources are lost in 2008, according to this thread: http://forum.dead-code.org/index.php?topic=1197.0

GetSupportedClasses() exports one class: Displacement.

TODO: reimplement this for ScummVM.

2D games

Beyond the Threshold

Constructor call is something like this: new Displacement(<entity1subframe>, <entity2subframe>, 3, 4, 7), parameters are not documented.

Required method: Animate() (called every 80 msec for constructed object at Door_Closeup scene)

CLI helper plugin

wme_commandlinehelper.dll

Commandline helper plugin by Corbomite Games. This plugin is used to access argv[] parameters.

GetSupportedClasses() exports one class: CommandLineHelper

Required property: Parameters (passed to String(), then Split(" ") is called )

TODO: reimplement this for ResidualVM, binding it to ConfMan.

2.5D games

Pizza Morgana: Episode 1 - Monsters and Manipulations in the Magical Forest

Pizza Morgana expects to be run with a launcher executable, that starts WME executable with additional CLI parameters according to license state.

Possible expected argv[1]: FULL / FULL_FW / FULLDEMO / FULLDEMO_FW / VALID / VALID_FW / INVALID / INVALID_FW / DEMO / DEMO_FW / other value.

Unused plugins

Standard plugins

Those plugins are originally developed by Jan Nedoma as the sample DLLs and seems to be never actually used in any games.

wme_report.dll

Standard reporting library, shipped with WME 1.x.

Not a plugin, does not export anything with GetSupportedClasses().

Shipped with 2 games:

No need to reimplement this for ScummVM.

wme_sample_pixel.dll

Standard "sample_pixel" plugin, shipped with WME 1.x.

Source: https://github.com/retrowork/Wintermute-Engine/tree/master/src/plugin/wme_sample_pixel

GetSupportedClasses() exports one class: SamplePixel.

Shipped with 2 games:

Seems to be unused in all of them.

Currently no need to reimplement this for ScummVM.

wme_snow.dll

Standard "snow" plugin, shipped with WME 1.x.

Source: https://github.com/retrowork/Wintermute-Engine/tree/master/src/plugin/wme_snow

GetSupportedClasses() exports one class: Snow.

Shipped with 3 games:

Seems to be unused in all of them.

Currently no need to reimplement this for ScummVM.

wme_stone.dll

wme_stone.dll is mentioned in SpriteEdit.log of reversion3.

This dll is not packaged with the game, however it exists at least at developer's PC.

Seems to be unused.