Difference between revisions of "Wintermute/Plugins"
Line 120: | Line 120: | ||
Required method: '''SetRepeat()''' (known option is SetRepeat(0)) | Required method: '''SetRepeat()''' (known option is SetRepeat(0)) | ||
= | = Displacement plugin = | ||
== wme_displacement.dll == | == wme_displacement.dll == | ||
A plugin for WME 1.x by Wintermute Engine Forum user metamorphium. | A plugin for WME 1.x by Wintermute Engine Forum user metamorphium. | ||
Line 129: | Line 128: | ||
GetSupportedClasses() exports one class: '''Displacement'''. | 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. | 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) | Required method: '''Animate()''' (called every 80 msec for constructed object at Door_Closeup scene) | ||
= CLI helper plugin = | |||
== wme_commandlinehelper.dll == | == wme_commandlinehelper.dll == | ||
Commandline helper plugin by [[Corbomite Games]]. This plugin is used to access argv[] parameters. | |||
Commandline helper plugin by [[Corbomite Games]] | |||
GetSupportedClasses() exports one class: '''CommandLineHelper''' | GetSupportedClasses() exports one class: '''CommandLineHelper''' | ||
Line 143: | Line 144: | ||
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''', 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 = | = Unused plugins = |
Revision as of 22:15, 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))
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:
- 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.