Difference between revisions of "Wintermute/Plugins"

From ScummVM :: Wiki
Jump to navigation Jump to search
Line 10: Line 10:


Not a plugin, does not export anything with GetSupportedClasses().
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.  
No need to reimplement this for ScummVM.  
Line 20: Line 24:
GetSupportedClasses() exports one class: '''SamplePixel'''.
GetSupportedClasses() exports one class: '''SamplePixel'''.


TODO: reimplement this for ScummVM.
Shipped with 2 games:
* [[Alimardan's Mischief]]
* [[Alimardan Meets Merlin]]
 
Seems to be unused in all of them.
 
Currently no need to reimplement this for ScummVM.  


== wme_snow.dll ==
== wme_snow.dll ==
Line 29: Line 39:
GetSupportedClasses() exports one class: '''Snow'''.
GetSupportedClasses() exports one class: '''Snow'''.


TODO: reimplement this for ScummVM.
Shipped with 3 games:
* [[Alimardan's Mischief]]
* [[Alimardan Meets Merlin]]
* [[Beyond the Threshold]]
 
Seems to be unused in all of them.
 
Currently no need to reimplement this for ScummVM.  
 
= Steam plugin =


== wme_steam.dll ==
== wme_steam.dll ==
Line 40: Line 59:
TODO: reimplement this for ScummVM.
TODO: reimplement this for ScummVM.


= 2D games =
=== [[Corrosion: Cold Winter Waiting]] ===
== [[Alimardan's Mischief]] ==
Steam game ID is '''349140'''.
Contains 3 "wme_*.dll" files, but does not actually use plugins:


# wme_report.dll - standard report library, not a plugin
Required property: '''StatsAvailable''' (game waits until it's true)
# wme_sample_pixel.dll - standard plugin, exporting "SamplePixel" class that is never used.
# wme_snow.dll - standard plugin, exporting "Snow" class that is never used.


== [[Alimardan Meets Merlin]] ==
Required method: '''SetAchievement''' (to set 18 achievements)
Contains 2 "wme_*.dll" files, but does not actually use plugins:


# wme_sample_pixel.dll - standard plugin, exporting "SamplePixel" class that is never used.
=== [[Dr. Doyle - Mystery Of The Cloche Hat]] ===
# wme_snow.dll - standard plugin, exporting "Snow" class that is never used.
Steam game ID is '''574420'''.


== [[Beyond the Threshold]] ==
Required method: '''SetAchievement''' (to set 35 achievements)
Shipped with wme_snow.dll, which is never used.


=== wme_displacement.dll ===
=== [[The Death of Erin Myers]] ===
A plugin for WME 1.x by Wintermute Engine Forum user metamorphium.
Steam game ID is '''1064660'''.


Sources are lost in 2008, according to this thread: http://forum.dead-code.org/index.php?topic=1197.0
Required method: '''SetAchievement''' (to set 5 achievements)


GetSupportedClasses() exports one class: '''Displacement'''.
=== [[Oknytt]] ===
Steam game ID is '''286320'''.


Constructor call is something like this: '''new Displacement(<entity1subframe>, <entity2subframe>, 3, 4, 7)''', parameters are not documented.
Required method: '''SetAchievement''' (to set 10 achievements)


Required method: '''Animate()''' (called every 80 msec for constructed object at Door_Closeup scene)
=== [[Reversion: The Escape]] ===
Steam game ID is '''270570'''.


TODO: reimplement this for ScummVM.
Required property: '''SteamAvailable''' (game checks if it's true)


== [[Corrosion: Cold Winter Waiting]] ==
Required method: '''SetAchievement''' (to set 16 achievements)
=== wme_steam.dll ===
Standard Steam API plugin.


Steam game ID is '''349140'''.
Required method: '''IsAchievementRegistered''' (game checks "ACHIEVEMENT_TERMINAR_JUEGO")


Required property: '''StatsAvailable''' (game waits until it's true)
=== [[Reversion: The Meeting]] ===
Steam game ID is '''281060'''.


Required method: '''SetAchievement''' (to set 18 achievements)
Required property: '''SteamAvailable''' (game checks if it's true)


== [[Dr. Doyle - Mystery Of The Cloche Hat]] ==
Required method: '''SetAchievement''' (to set 25 achievements)
=== wme_steam.dll ===
Standard Steam API plugin.


Steam game ID is '''574420'''.
Required method: '''IsAchievementRegistered''' (game checks "ACHIEVEMENT_FINAL")


Required method: '''SetAchievement''' (to set 35 achievements)
== 2.5D games ==
=== Alpha Polaris ===
Steam game ID is '''405780'''.


== [[The Death of Erin Myers]] ==
Required property: '''SteamAvailable''' (game checks if it's true)
=== wme_steam.dll ===
Standard plugin. List of actually used symbols is unknown.


Steam game ID is '''1064660'''.
Required method: '''SetAchievement''' (to set 18 achievements)


Required method: '''SetAchievement''' (to set 5 achievements)
Required method: '''ClearAchievement''' (it is possible to clear achievement using in-game debug CLI)


== [[Oknytt]] ==
=== The Lost Crown - A Ghost-Hunting Adventure ===
=== wme_steam.dll ===
Steam game ID is '''291710'''.
Standard plugin.


Steam game ID is '''286320'''.
Required method: '''SetAchievement''' (to set 34 achievements)
 
Required method: '''SetAchievement''' (to set 10 achievements)  


== [[Reversion: The Escape]] ==
= Other plugins =
=== wme_3fstatistics.dll ===
== wme_3fstatistics.dll ==
=== [[Reversion: The Escape]] ===
A statistics plugin for WME 1.x by [[3f interactive]].
A statistics plugin for WME 1.x by [[3f interactive]].


Line 118: Line 129:
Required method: '''SetRepeat()''' (known options are SetRepeat(0) and SetRepeat(60))
Required method: '''SetRepeat()''' (known options are SetRepeat(0) and SetRepeat(60))


=== wme_steam.dll ===
=== [[Reversion: The Meeting]] ===
Standard Steam API plugin.
 
Steam game ID is '''270570'''.
 
Required property: '''SteamAvailable''' (game checks if it's true)
 
Required method: '''SetAchievement''' (to set 16 achievements)
 
Required method: '''IsAchievementRegistered''' (game checks "ACHIEVEMENT_TERMINAR_JUEGO")


== [[Reversion: The Meeting]] ==
=== wme_3fstatistics.dll ===
A statistics plugin for WME 1.x by [[3f interactive]].
A statistics plugin for WME 1.x by [[3f interactive]].


Line 141: Line 141:
Required method: '''SetRepeat()''' (known option is SetRepeat(0))
Required method: '''SetRepeat()''' (known option is SetRepeat(0))


=== wme_steam.dll ===
== wme_displacement.dll ==
Standard Steam API plugin.
=== [[Beyond the Threshold]] ===
A plugin for WME 1.x by Wintermute Engine Forum user metamorphium.


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


Required property: '''SteamAvailable''' (game checks if it's true)
GetSupportedClasses() exports one class: '''Displacement'''.


Required method: '''SetAchievement''' (to set 25 achievements)
Constructor call is something like this: '''new Displacement(<entity1subframe>, <entity2subframe>, 3, 4, 7)''', parameters are not documented.


Required method: '''IsAchievementRegistered''' (game checks "ACHIEVEMENT_FINAL")
Required method: '''Animate()''' (called every 80 msec for constructed object at Door_Closeup scene)


= 2.5D games =
TODO: reimplement this for ScummVM.
== Alpha Polaris ==
=== wme_steam.dll ===
Standard Steam API plugin.
 
Steam game ID is '''405780'''.
 
Required property: '''SteamAvailable''' (game checks if it's true)
 
Required method: '''SetAchievement''' (to set 18 achievements)
 
Required method: '''ClearAchievement''' (it is possible to clear achievement using in-game debug CLI)
 
== Pizza Morgana: Episode 1 - Monsters and Manipulations in the Magical Forest ==
 
Shipped with wme_report.dll, which is the standard report library, not a plugin.


=== wme_commandlinehelper.dll ===
== wme_commandlinehelper.dll ==
=== Pizza Morgana: Episode 1 - Monsters and Manipulations in the Magical Forest ===
Commandline helper plugin by [[Corbomite Games]]
Commandline helper plugin by [[Corbomite Games]]


Line 177: Line 164:


TODO: reimplement this for ResidualVM.
TODO: reimplement this for ResidualVM.
== The Lost Crown - A Ghost-Hunting Adventure ==
=== wme_steam.dll ===
Standard Steam API plugin.
Steam game ID is '''291710'''.
Required method: '''SetAchievement''' (to set 34 achievements)

Revision as of 01:30, 19 February 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.

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)

Dr. Doyle - Mystery Of The Cloche Hat

Steam game ID is 574420.

Required method: SetAchievement (to set 35 achievements)

The Death of Erin Myers

Steam game ID is 1064660.

Required method: SetAchievement (to set 5 achievements)

Oknytt

Steam game ID is 286320.

Required method: SetAchievement (to set 10 achievements)

Reversion: The Escape

Steam game ID is 270570.

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

Required method: SetAchievement (to set 16 achievements)

Required method: IsAchievementRegistered (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)

Required method: IsAchievementRegistered (game checks "ACHIEVEMENT_FINAL")

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)

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 method: SetAchievement (to set 34 achievements)

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.