Difference between revisions of "Wintermute/Plugins"

From ScummVM :: Wiki
Jump to navigation Jump to search
Line 65: Line 65:
Required property: '''StatsAvailable''' (game waits until it's true)
Required property: '''StatsAvailable''' (game waits until it's true)


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


=== [[Dr. Doyle - Mystery Of The Cloche Hat]] ===
=== [[Dr. Doyle - Mystery Of The Cloche Hat]] ===
Steam game ID is '''574420'''.
Steam game ID is '''574420'''.


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


=== [[The Death of Erin Myers]] ===
=== [[The Death of Erin Myers]] ===
Steam game ID is '''1064660'''.
Steam game ID is '''1064660'''.


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


=== [[Oknytt]] ===
=== [[Oknytt]] ===
Steam game ID is '''286320'''.
Steam game ID is '''286320'''.


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


=== [[Reversion: The Escape]] ===
=== [[Reversion: The Escape]] ===
Line 87: Line 87:
Required property: '''SteamAvailable''' (game checks if it's true)
Required property: '''SteamAvailable''' (game checks if it's true)


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


Required method: '''IsAchieved''' (game checks "ACHIEVEMENT_TERMINAR_JUEGO")
Required method: '''IsAchieved''' (game checks "ACHIEVEMENT_TERMINAR_JUEGO")
Line 96: Line 96:
Required property: '''SteamAvailable''' (game checks if it's true)
Required property: '''SteamAvailable''' (game checks if it's true)


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


Required method: '''IsAchieved''' (game checks "ACHIEVEMENT_FINAL")
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 ==
== 2.5D games ==
Line 106: Line 115:
Required property: '''SteamAvailable''' (game checks if it's true)
Required property: '''SteamAvailable''' (game checks if it's true)


Required method: '''SetAchievement''' (to set 18 achievements)  
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)
Required method: '''ClearAchievement''' (it is possible to clear achievement using in-game debug CLI)
Line 115: Line 124:
Required property: SteamAvailable (game checks if it's true)  
Required property: SteamAvailable (game checks if it's true)  


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


= Other plugins =
= Other plugins =
Line 167: Line 176:


TODO: reimplement this for ResidualVM.
TODO: reimplement this for ResidualVM.
== 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.

Revision as of 21:26, 10 March 2020

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".

Standard plugins

Current plugins are originally developed by Jan Nedoma.

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.

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/)

Other plugins

wme_3fstatistics.dll

Reversion: The Escape

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

GetSupportedClasses() exports one class: Statistics.

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

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

GetSupportedClasses() exports one class: Statistics.

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))

wme_displacement.dll

Beyond the Threshold

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.

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)

TODO: reimplement this for ScummVM.

wme_commandlinehelper.dll

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

Commandline helper plugin by Corbomite Games

GetSupportedClasses() exports one class: CommandLineHelper

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

TODO: reimplement this for ResidualVM.

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.