Difference between revisions of "Wintermute/Plugins"
Line 12: | Line 12: | ||
GetSupportedClasses() exports one class: '''SteamAPI'''. | GetSupportedClasses() exports one class: '''SteamAPI'''. | ||
TODO: reimplement this for ScummVM. | TODO: '''reimplement this for ScummVM'''. | ||
== 2D games == | == 2D games == | ||
Line 81: | Line 81: | ||
Required method: '''SetAchievement''' (to set 34 achievements, see https://steamdb.info/app/291710/stats/) | Required method: '''SetAchievement''' (to set 34 achievements, see https://steamdb.info/app/291710/stats/) | ||
= | = 3f interactive statistics plugin = | ||
== wme_3fstatistics.dll == | == wme_3fstatistics.dll == | ||
A statistics plugin for WME 1.x by [[3f interactive]]. | 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'''. | 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")''' | Old versions of Reversion are using simple constructor: '''new Statistics("http://www.soluciones3f.com.ar/reversioninfo.php")''' | ||
Line 97: | Line 105: | ||
=== [[Reversion: The Meeting]] === | === [[Reversion: The Meeting]] === | ||
Known versions of Reversion are using detailed constructor: '''new Statistics("http://www.soluciones3f.com.ar/reversioninfo.php", "2", gameLanguage, DCP_VERSION)''' | Known versions of Reversion are using detailed constructor: '''new Statistics("http://www.soluciones3f.com.ar/reversioninfo.php", "2", gameLanguage, DCP_VERSION)''' | ||
Line 109: | Line 113: | ||
=== [[Reversion: The Return]] === | === [[Reversion: The Return]] === | ||
Known versions of Reversion are using detailed constructor: '''new Statistics("http://www.soluciones3f.com.ar/reversioninfo.php", "3", gameLanguage, DCP_VERSION)''' | Known versions of Reversion are using detailed constructor: '''new Statistics("http://www.soluciones3f.com.ar/reversioninfo.php", "3", gameLanguage, DCP_VERSION)''' | ||
Line 120: | Line 120: | ||
Required method: '''SetRepeat()''' (known option is SetRepeat(0)) | Required method: '''SetRepeat()''' (known option is SetRepeat(0)) | ||
= Other plugins = | |||
== wme_displacement.dll == | == wme_displacement.dll == | ||
=== [[Beyond the Threshold]] === | === [[Beyond the Threshold]] === | ||
Line 132: | Line 133: | ||
Required method: '''Animate()''' (called every 80 msec for constructed object at Door_Closeup scene) | Required method: '''Animate()''' (called every 80 msec for constructed object at Door_Closeup scene) | ||
TODO: reimplement this for ScummVM. | TODO: '''reimplement this for ScummVM'''. | ||
== wme_commandlinehelper.dll == | == wme_commandlinehelper.dll == | ||
Line 142: | Line 143: | ||
Required property: '''Parameters''' (passed to String(), then Split(" ") is called ) | Required property: '''Parameters''' (passed to String(), then Split(" ") is called ) | ||
TODO: reimplement this for ResidualVM. | TODO: '''reimplement this for ResidualVM'''. | ||
= Unused plugins = | = Unused plugins = |
Revision as of 22:04, 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".
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))
Other plugins
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.
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:
- Alimardan's Mischief
- Pizza Morgana: Episode 1 - Monsters and Manipulations in the Magical Forest.
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.