Difference between revisions of "Wintermute/Plugins"

Jump to navigation Jump to search
2,666 bytes added ,  23:02, 12 June 2021
no edit summary
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
This page lists known plugins for most [[Wintermute/Games|Wintermute games]].
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".
Line 61: 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]] ===
=== [[J.U.L.I.A.: Untold]] ===
Steam game ID is '''257690'''.
Steam game ID is '''257690'''.
Achievements are shared with J.U.L.I.A.: Among the Stars.
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/)
Required method: '''SetAchievement''' (to set 18 achievements, see https://steamdb.info/app/257690/stats/)
Line 84: Line 90:


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


= GOG Galaxy plugin =
= GOG Galaxy plugin =
Line 99: Line 99:


== 2D games ==
== 2D games ==
=== [[J.U.L.I.A.: Untold]] ===
=== [[J.U.L.I.A.: Among the Stars]] ===
GOG Galaxy game ID is '''48891696681534931'''.
GOG Galaxy game ID is '''48891696681534931'''.  
Achievements are shared with J.U.L.I.A.: Among the Stars.
Achievements are shared with [[J.U.L.I.A.: Untold]].


Required method: '''InitGalaxy''' (to set game id and key)
Required method: '''InitGalaxy''' (to set game id and key)
Required method: '''SetAchievement''' (to set 18 achievements, see https://steamdb.info/app/257690/stats/)
Required method: '''SetAchievement''' (to set 18 achievements, see https://steamdb.info/app/257690/stats/)


== 2.5D games ==
=== [[J.U.L.I.A.: Untold]] ===
=== J.U.L.I.A.: Among the Stars ===
GOG Galaxy game ID is '''48891696681534931'''.
GOG Galaxy game ID is '''48891696681534931'''.  
Achievements are shared with [[J.U.L.I.A.: Among the Stars]].
Achievements are shared with [[J.U.L.I.A.: Untold]].


Required method: '''InitGalaxy''' (to set game id and key)
Required method: '''InitGalaxy''' (to set game id and key)
Required method: '''SetAchievement''' (to set 18 achievements, see https://steamdb.info/app/257690/stats/)
Required method: '''SetAchievement''' (to set 18 achievements, see https://steamdb.info/app/257690/stats/)


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


= Displacement plugin =
= 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 167: Line 280:
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 =
= [TODO?] Unused plugins & DLLs =
== 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 & DLLs =
== Standard 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.
Those plugins are originally developed by Jan Nedoma as the sample DLLs and seems to be never actually used in any games.
234

edits

Navigation menu