Difference between revisions of "Wintermute/Plugins"

Jump to navigation Jump to search
2,644 bytes added ,  23:02, 12 June 2021
no edit summary
 
(8 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 150: Line 151:


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 =
= [TODO] Displacement plugin =
Line 166: Line 279:


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] 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.


= [TODO?] Unused plugins & DLLs =
= [TODO?] Unused plugins & DLLs =
234

edits

Navigation menu