234
edits
(17 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
This page lists known plugins for | This page lists known plugins for [[Wintermute/Games|Wintermute games]]. | ||
Original WME 1.x allows game scripts to automatically import code from DLL libraries named "wme_*.dll". | Original WME 1.x allows game scripts to automatically import code from DLL libraries named "wme_*.dll". | ||
= Steam plugin = | = Steam plugin = | ||
Line 56: | Line 11: | ||
GetSupportedClasses() exports one class: '''SteamAPI'''. | GetSupportedClasses() exports one class: '''SteamAPI'''. | ||
== 2D games == | == 2D games == | ||
Line 108: | Line 61: | ||
Required method: '''IsAchieved''' (game checks "ACHIEVEMENT_TERMINAR_JUEGO_R3") | Required method: '''IsAchieved''' (game checks "ACHIEVEMENT_TERMINAR_JUEGO_R3") | ||
=== [[J.U.L.I.A.: Among the Stars]] === | |||
Steam game ID is '''257690'''. | |||
Achievements are shared with [[J.U.L.I.A.: Untold]]. | |||
Required method: '''SetAchievement''' (to set 18 achievements, see https://steamdb.info/app/257690/stats/) | |||
=== [[J.U.L.I.A.: Untold]] === | |||
Steam game ID is '''257690'''. | |||
Achievements are shared with [[J.U.L.I.A.: Among the Stars]]. | |||
Required method: '''SetAchievement''' (to set 18 achievements, see https://steamdb.info/app/257690/stats/) | |||
== 2.5D games == | == 2.5D games == | ||
Line 126: | Line 91: | ||
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/) | ||
= | = GOG Galaxy plugin = | ||
== julia.exe == | |||
This object is actually hardcoded into WME Lite fork of J.U.L.I.A. games. It allows those games to access GOG Galaxy API. Currently it provides functions for manipulating achievements. | |||
Class name is: '''WMEGalaxyAPI'''. | |||
== 2D games == | |||
=== [[J.U.L.I.A.: Among the Stars]] === | |||
GOG Galaxy game ID is '''48891696681534931'''. | |||
Achievements are shared with [[J.U.L.I.A.: Untold]]. | |||
Required method: '''InitGalaxy''' (to set game id and key) | |||
Required method: '''SetAchievement''' (to set 18 achievements, see https://steamdb.info/app/257690/stats/) | |||
=== [[J.U.L.I.A.: Untold]] === | |||
GOG Galaxy game ID is '''48891696681534931'''. | |||
Achievements are shared with [[J.U.L.I.A.: Among the Stars]]. | |||
Required method: '''InitGalaxy''' (to set game id and key) | |||
Required method: '''SetAchievement''' (to set 18 achievements, see https://steamdb.info/app/257690/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. | |||
== 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 142: | Line 137: | ||
=== [[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 154: | Line 145: | ||
=== [[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 165: | Line 152: | ||
Required method: '''SetRepeat()''' (known option is SetRepeat(0)) | Required method: '''SetRepeat()''' (known option is SetRepeat(0)) | ||
= 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''' | |||
Current reimplementation returns "Pizza.exe DEMO" argv[] line. | |||
== 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. | |||
Required property: '''Parameters''' (passed to String(), then Split(" ") is called) | |||
Currently DEMO is returned, since only game demo is in detection tables. | |||
= [TODO] Bink Video plugin = | |||
== wme_vlink.dll == | |||
Bink Video plugin by [[TML Studios]]. This plugin is used to play *.bik cutscene videofiles. | |||
GetSupportedClasses() exports one class: '''CommandLineHelper''' | |||
TODO: '''reimplement this for ScummVM''', using /video/ implementation of Bink Video. | |||
== 2.5D games == | |||
=== Sunrise: The game === | |||
Sunrise: The game plays lots of cutscenes videos using a plugin. | |||
Constructor call: '''new BinkVideo(Game.Direct3DDevice)''' | |||
Required method: '''SetVolume()''' (known values are 80 and 87) | |||
Required method: '''Play()''' (parameter is video path, e.g. "video\M11\Video341.bik") | |||
= [TODO] Black & White render plugin = | |||
== wme_blackandwhite.dll == | |||
Black & White render plugin by [[SPline]]. This plugin is switch render to Black & White or Sepia modes. | |||
GetSupportedClasses() exports one class: '''BlackAndWhite''' | |||
TODO: '''reimplement this for ScummVM'''. | |||
== 2.5D games == | |||
=== Stroke of Fate dilogy === | |||
Stroke of Fate dilogy allows render switching. | |||
Constructor call: '''new BlackAndWhite()''' | |||
Required method: '''Start()''' | |||
Required method: '''SetNormalRender()''' | |||
Required property: '''SepiaAvailable''' - boolean | |||
Required property: '''BlackAndWhiteAvailable''' - boolean | |||
Required property: '''WeightedSepiaAvailable''' - boolean | |||
Required property: '''WeightedBlackAndWhiteAvailable''' - boolean | |||
Required property: '''Weight''' - float | |||
Required method: '''SetSepia()''' | |||
Required method: '''SetBlackAndWhite()''' | |||
Required method: '''SetWeightedSepia()''' | |||
Required method: '''SetWeightedBlackAndWhite()''' | |||
= [TODO] Shadow manager plugin = | |||
== wme_shadows.dll == | |||
Shadow manager plugin by [[SPline]]. | |||
GetSupportedClasses() exports one class: '''ShadowManager''' | |||
TODO: '''reimplement this for ScummVM'''. | |||
== 2.5D games == | |||
=== Stroke of Fate dilogy === | |||
Stroke of Fate dilogy allows shadow management. | |||
Constructor call: '''new ShadowManager()''' | |||
Required method: '''Run()''' | |||
Required method: '''Stop()''' | |||
Required property: '''UseSmartShadows''' - integer, e.g. 1 | |||
Required property: '''MinShadow''' - float, e.g. 0.1 | |||
Required property: '''MaxShadow''' - float, e.g. 0.25 | |||
Required method: '''EnableLight(lightName)''' | |||
Required method: '''DisableLight(lightName)''' | |||
Required method: '''AddActor(actor)''' | |||
Required method: '''RemoveAllActors()''' | |||
Required method: '''RemoveActor(actorName)''' - seems to be never used | |||
Required method: '''GetNumLights()''' - seems to be never used | |||
Required method: '''GetLightInfo(index)''' - seems to be never used | |||
Required method: '''SetDefaultLightPos(x, y, z)''' - seems to be never used | |||
= [TODO] 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 173: | Line 272: | ||
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) | ||
TODO: reimplement this for ScummVM. | = [TODO?] Unused plugins & DLLs = | ||
== 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: | |||
* [[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 === | ||
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: | |||
* [[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. | |||
== Other plugins == | |||
=== 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. | |||
edits