PhoenicisOrg/scripts

Check Verb Scripts

madoar opened this issue · 15 comments

After the last changes to the verb scripts the structure of many verbs has changed. Therefore we are not sure at the moment which verb scripts are currently in a working state.

This issue will function as a summary of the testing progress of the verb scripts. It contains a list of all implemented verbs with a checkbox that should be ticked if the verb script has been tested and it is working as intended. If it is not working the checkbox will be replaced with a comment containing what is not working so that we can fix the verb.

If some verbs are missing feel free to add a comment with the missing verbs and I will add them to the list

  • D9VK
  • DXVK
  • FAudio
  • PhysX
  • QuickTime 7.6
  • Remove Mono
  • Tahoma
  • Uplay
  • VK9
  • Windows XP SP 3
  • adobeair
  • amstream
  • atmlib
  • corefonts
  • crypt32
  • d3drm
  • d3dx10
  • d3dx11
  • d3dx9
  • devenum
  • dotnet20
  • dotnet20sp2
  • dotnet40
  • dotnet45
  • dotnet452
  • dotnet46
  • dotnet461
  • dotnet462
  • dotnet472
  • gallium9
  • gdiplus
  • gdiplus_winxp
  • luna
  • mfc42
  • msls31
  • mspatcha
  • msxml3
  • msxml6
  • quartz
  • sandbox
  • secur32
  • vcrun2003
  • vcrun2005
  • vcrun2008
  • vcrun2010
  • vcrun2012
  • vcrun2013
  • vcrun2015
  • vcrun2017
  • vcrun6sp6
  • vulkanSDK
  • xact
plata commented

What is the definition of "works"? Is it sufficient if it installs without crashing?

@plata "working as intended" means installing the files, putting correctly dll overrides and regedits.
Tahoma crashes with:

[ERROR] org.phoenicis.multithreading.ControlledThreadPoolExecutorService (l.64) - Path "/home/jonasz/.Phoenicis/containers//wineprefix//The Sims 3//drive_c/windows/Fonts" does not exist
	at org.phoenicis.tools.files.FileUtilities.copy(FileUtilities.java:139)
	at <js> cp(Unnamed:56:1251-1284)
	at <js> go(Unnamed:40:1244-1308)
	at <js> install(Unnamed:56:1774-1794)
	at org.graalvm.polyglot.Value.invokeMember(Value.java:459)
	at org.phoenicis.engines.VerbsManager.lambda$installVerb$0(VerbsManager.java:71)
	at org.phoenicis.scripts.session.PhoenicisInteractiveScriptSession.eval(PhoenicisInteractiveScriptSession.java:35)
	at org.phoenicis.scripts.interpreter.BackgroundScriptInterpreter.lambda$createInteractiveSession$1(BackgroundScriptInterpreter.java:45)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by host exception: java.lang.IllegalArgumentException: Path "/home/jonasz/.Phoenicis/containers//wineprefix//The Sims 3//drive_c/windows/Fonts" does not exist

[WARNING] 
org.graalvm.polyglot.PolyglotException: Path "/home/jonasz/.Phoenicis/containers//wineprefix//The Sims 3//drive_c/windows/Fonts" does not exist
    at org.phoenicis.tools.files.FileUtilities.copy (FileUtilities.java:139)
    at <js>.cp (Unnamed:56)
    at <js>.go (Unnamed:40)
    at <js>.install (Unnamed:56)
    at org.graalvm.polyglot.Value.invokeMember (Value.java:459)
    at org.phoenicis.engines.VerbsManager.lambda$installVerb$0 (VerbsManager.java:71)
    at org.phoenicis.scripts.session.PhoenicisInteractiveScriptSession.eval (PhoenicisInteractiveScriptSession.java:35)
    at org.phoenicis.scripts.interpreter.BackgroundScriptInterpreter.lambda$createInteractiveSession$1 (BackgroundScriptInterpreter.java:45)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:628)
    at java.lang.Thread.run (Thread.java:834)

Despite the directory Fonts existing there. Both repos are up to date.
Also dotnet45 #1143

corefonts works fine, tested with Anno 2070

vcrun2010 and vcrun2013 works, tested with The Sims 2

amstream,d3drm,devenum and quartz are working, tested with Lego Rock Raiders.

xact works, tested with GOG Galaxy

  • luna, msxml3, msxml6, atmlib, secur32 works, tested with Local Installer
  • mfc42, dotnet20 works, tested with The Sims 3
  • msls31, tested with Local Installer fails with this error:
[ERROR] org.phoenicis.multithreading.ControlledThreadPoolExecutorService (l.64) - TypeError: invokeMember (get) on JavaObject[org.phoenicis.tools.http.Downloader@7c776fc2 (org.phoenicis.tools.http.Downloader)] failed due to: UnsupportedTypeException
	at <js> get(Unnamed:135-144:3538-3839)
	at <js> get(Unnamed:110-117:2786-3026)
	at <js> go(Unnamed:20-25:566-801)
	at <js> install(Unnamed:43:1252-1272)
	at org.graalvm.polyglot.Value.invokeMember(Value.java:459)
	at org.phoenicis.engines.VerbsManager.lambda$installVerb$0(VerbsManager.java:71)
	at org.phoenicis.scripts.session.PhoenicisInteractiveScriptSession.eval(PhoenicisInteractiveScriptSession.java:35)
	at org.phoenicis.scripts.interpreter.BackgroundScriptInterpreter.lambda$createInteractiveSession$1(BackgroundScriptInterpreter.java:45)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

[WARNING] 
org.graalvm.polyglot.PolyglotException: TypeError: invokeMember (get) on JavaObject[org.phoenicis.tools.http.Downloader@7c776fc2 (org.phoenicis.tools.http.Downloader)] failed due to: UnsupportedTypeException
    at <js>.get (Unnamed:135)
    at <js>.get (Unnamed:110)
    at <js>.go (Unnamed:20)
    at <js>.install (Unnamed:43)
    at org.graalvm.polyglot.Value.invokeMember (Value.java:459)
    at org.phoenicis.engines.VerbsManager.lambda$installVerb$0 (VerbsManager.java:71)
    at org.phoenicis.scripts.session.PhoenicisInteractiveScriptSession.eval (PhoenicisInteractiveScriptSession.java:35)
    at org.phoenicis.scripts.interpreter.BackgroundScriptInterpreter.lambda$createInteractiveSession$1 (BackgroundScriptInterpreter.java:45)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:628)
    at java.lang.Thread.run (Thread.java:834)
  • quicktime76 crashes with this error: fixed by #1166
[ERROR] org.phoenicis.multithreading.ControlledThreadPoolExecutorService (l.64) - TypeError: wine.quicktime76 is not a function
	at <js> install(Unnamed:49:1322-1339)
	at org.graalvm.polyglot.Value.invokeMember(Value.java:459)
	at org.phoenicis.engines.VerbsManager.lambda$installVerb$0(VerbsManager.java:71)
	at org.phoenicis.scripts.session.PhoenicisInteractiveScriptSession.eval(PhoenicisInteractiveScriptSession.java:35)
	at org.phoenicis.scripts.interpreter.BackgroundScriptInterpreter.lambda$createInteractiveSession$1(BackgroundScriptInterpreter.java:45)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

[WARNING] 
org.graalvm.polyglot.PolyglotException: TypeError: wine.quicktime76 is not a function
    at <js>.install (Unnamed:49)
    at org.graalvm.polyglot.Value.invokeMember (Value.java:459)
    at org.phoenicis.engines.VerbsManager.lambda$installVerb$0 (VerbsManager.java:71)
    at org.phoenicis.scripts.session.PhoenicisInteractiveScriptSession.eval (PhoenicisInteractiveScriptSession.java:35)
    at org.phoenicis.scripts.interpreter.BackgroundScriptInterpreter.lambda$createInteractiveSession$1 (BackgroundScriptInterpreter.java:45)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:628)
    at java.lang.Thread.run (Thread.java:834)
  • vcrun6sp6 crashes, see #1162
  • mfc42, dotnet20 works, tested with The Sims 3
  • mspatcha works, tested in Adobe Acrobat Reader DC
plata commented

Can you create issues for each failing verb? It will be easier to track.

  • Tahoma and dotnet45 now works, tested inRimWorld wineprefix via Verbs tab.
  • vcrun2017 works, tested in Space Engineers
  • vcrun2012 and d3dx9 works, tested by installing DC Universe Online
  • vcrun2015 works, tested by installing Hearthstone
  • vcrun2008 works, tested by installing Earth Ethernal - Valkal's Shadow
  • quicktime76 works, tested by installing Audiosurf
  • gdiplus works, tested in GoG Script
  • vcrun2005 works, tested by installing Sprouts Adventure
  • dotnet40 works, tested in Space Colony
  • dotnet472, DXVK works, tested in Space Engineers
  • D9VK works, tested in The Sims 2
  • Uplay works, tested in Anno 2070
    @plata how about you test PhysX using Mirror's Edge since I don't have that game
plata commented

I will try to test it next week. Otherwise it should also be enough if we check that it installs in any container via the verbs tab.

  • d3dx10, crypt32 works, tested in Anno 2070
  • d3dx11 works, tested in RimWorld
  • vulkanSDK works, tested in Space Engineers
plata commented

I've tested PhysX by installing it from the verbs tab.