aldostools / webMAN-MOD

Extended services for PS3 console (web server, ftp server, netiso, ntfs, ps3mapi, etc.)
https://aldostools.github.io/webMAN-MOD/
GNU General Public License v3.0
1.29k stars 176 forks source link

Is there any way to load a custom game PRX for a specific titleID with webMAN MOD? #1004

Open kernaltrap8 opened 8 months ago

kernaltrap8 commented 8 months ago

I have made a mod for GH:WoR and recently finished the SPRX for it. However, I have to load it manually with webMAN MOD every time. Which can be annoying. I cant find info online on how to load it via EBOOT.BIN, and I've seen posts about scripts for webMAN MOD. Is there a way I could make one for this purpose?

Here's my idea: webMAN MOD detects a game thats running with a specific titleID (in this case its BLUS30487) and loads a SPRX into the game from a specific location (it would be /dev_hdd0/tmp/ghwor_plugin.sprx in this case).

aldostools commented 8 months ago

Try adding the following web command to the file: /dev_hdd0/tmp/wm_ingame/BLUS30487.bat /vshplugin.ps3mapi?load_slot=6&prx=/dev_hdd0/tmp/ghwor_plugin.sprx

Alternatively you can use the following script in: /dev_hdd0/ingame.bat

if titleid BLUS30487
/vshplugin.ps3mapi?load_slot=6&prx=/dev_hdd0/tmp/ghwor_plugin.sprx
end if

NOTE: I haven't verified these scripts, but they are supposed to load your SPRX automatically when the game is loaded.

kernaltrap8 commented 8 months ago

Try adding the following web command to the file: /dev_hdd0/tmp/wm_ingame/BLUS30487.bat /vshplugin.ps3mapi?load_slot=6&prx=/dev_hdd0/tmp/ghwor_plugin.sprx

Alternatively you can use the following script in: /dev_hdd0/ingame.bat

if titleid BLUS30487
/vshplugin.ps3mapi?load_slot=6&prx=/dev_hdd0/tmp/ghwor_plugin.sprx
end if

NOTE: I haven't verified these scripts, but they are supposed to load your SPRX automatically when the game is loaded.

the issue is that this is a game plugin, NOT a vsh plugin. it has to be loaded from this menu: image i know its possible but the main issue is that the process ID changes. is there a way to get the current proc ID from the game? or maybe, add a wildcard?

kernaltrap8 commented 8 months ago

i tried

if titleid BLUS30487
/gameplugin.ps3mapi?proc=0x10*&load_slot=31&prx=/dev_hdd0/ghwor_plugin.sprx
end if

and it didnt work. current proc is 0x1090200

aldostools commented 8 months ago

If the process id (PID) would be static, you could replace the web command with the one shown in the URL bar of your browser when you load the plugin from that screen. However, if I recall correctly the PID is dynamic. Therefore you need to enter to that screen to load the SPRX when the game is loaded.

This can be done easily bookmarking the page for the PS3MAPI Game Plugins on your smartphone or tablet. But the steps are performed manually.

The easiest way to automate the task is creating a VSH plugin in C/C++ that monitors when the game is launched, get the process ID and start the desired SPRX using the same PS3MAPI syscalls that webMAN MOD currently uses. But this solution requires programming knowledge and development in C/C++

kernaltrap8 commented 8 months ago

isn't there a way to load sprx via eboot? mod menus do it all the time. i'd rather do that instead of writing another prx

aldostools commented 8 months ago

Yes. But it also requires development in C/C++.

You have to create an EBOOT.BIN that start the SPRX then load the current EBOOT.BIN resigned as a retail SELF. This process is similar a the method used by IRISMAN, where a launcher performs some checks then launches the actual application that is a SELF