zach-morris / plugin.program.iagl

The Internet Archive Game Launcher (IAGL) will launch Games from the Internet using Kodi
GNU General Public License v3.0
344 stars 49 forks source link

launch command for ppssppgold on android missing and ppsspp not working #282

Open djay opened 1 year ago

djay commented 1 year ago

I had thought it was in the list but now can't find it and ppsspp launch command doesn't seem to work.

Update: https://github.com/zach-morris/plugin.program.iagl/commit/2a5d566d9548af75384581902ba3a01278f53d4c I can see it was removed here.

But the other change is PPSSPP doesn't work at all now. At least on firestick.

zach-morris commented 1 year ago

PPSSPP with retroarch, or a separate emulator?

djay commented 1 year ago

@zach-morris separate emulator

IAmAGitHubb commented 1 year ago

Same issue

zach-morris commented 1 year ago

Trying to figure it out, but I'm having the same trouble. The format is:

StartAndroidActivity("{application}", "{intent}", "{dataType}", "{dataURI}", "{flags}", "{extras_json}", "{action}", "{category}", "{className}")'

In the current external command, that equates to:

"org.ppsspp.ppsspp","android.intent.action.VIEW","","","270532608","[{"key":"org.ppsspp.ppsspp.Shortcuts","value":"file://%ROM_PATH%","type": "string"}]","","",".PpssppActivity"

These commands in the past have been helpful to try and figure out what the command needs to be.

Perhaps @chrisism has some ideas or has run into this with AKL?

djay commented 1 year ago

@zach-morris whats the reason the old command can't be used? That was working on my system until I did a reinstall.

zach-morris commented 1 year ago

The old method of launching using subprocess is prevented in newer Android OS's by the OS itself. The new method of launching uses an internal Kodi function (StartAndroidActivity) which is given permission to launch other apps.

If you have an old Android OS, you can change the advance setting in IAGL to use the old method by turning off 'Use StartAndroidActivity'. The new method and old method should work on old OS's though. The new method would work with these apps, if i could figure out what the command format needed is, but thus far, i can't figure it out

djay commented 1 year ago

@zach-morris does this help?

https://github.com/hrydgard/ppsspp/issues/17416

djay commented 1 year ago

@zach-morris is there something I can help with?

djay commented 1 year ago

@zach-morris I can confirm both of the following commands work on my system

am start -n org.ppsspp.ppsspp -a .PpssppActivity  -a android.intent.action.VIEW -e org.ppsspp.ppsspp.Shortcuts $FILE
am start -n org.ppsspp.ppsspp/.PpssppActivity -a android.intent.action.VIEW -c android.intent.category.DEFAULT -d $FILE -t application/octet-stream --activity-clear-task  --activity-clear-top  --activity-no-history

But I can't work out how to modify to the PSP_ZachMorris.xml to work.

I get the following in the log

2023-06-12 22:31:28.690 T:17431    info <general>: IAGL:  Lets Play!
2023-06-12 22:31:30.901 T:17431    info <general>: IAGL:  Post processing complete for ...
2023-06-12 22:31:31.250 T:17431   error <general>: IAGL:  Launcher None is unknown, defauling to RETROPLAYER
2023-06-12 22:31:31.294 T:5591    error <general>: StartActivity: ExceptionOccurred launching org.ppsspp.ppsspp

The xml looks like

        <emu_launcher>external</emu_launcher>
        <emu_default_addon>none</emu_default_addon>
        <emu_ext_launch_cmd>"org.ppsspp.ppsspp","android.intent.action.VIEW","","","270532608","[{"key":"org.ppsspp.ppsspp.Shortcuts","value":"file://%ROM_PATH%","type": "string"}]","","",".PpssppActivity"</emu_ext_launch_cmd>

so I can't work out why the command is not getting recognised as external.

djay commented 1 year ago

@zach-morris the main problem seems to be with ".PpssppActivity". it needs to be the full version ie "org.ppsspp.ppsspp.PpssppActivity" I can't see where to make the change so I can submit a PR