PS3 webMAN MOD - Web Commands

Yes, now it's working fine :eagerness:

If I keep pressing X on the arrows of the scroll bar of the log, a new window is opened. This is very annoying.
Also the page doesn't fill the window if I choose max window size. This is not big deal.
Log page is always 1. And the side buttons remain disabled.

If you keep pressing X on any object that is URL linked, you always open a new browser tab with it, that's a browser shortcut, nothing to do with the Toolset, blame S#ny.
There's a mode for the custom scrollbar supposed to allow users to keep pressing instead of clicking again and again but I didn't bother testing it knowing the PS3 browser shortcut would most likely interfere.
I will give it a try when I have a minute.

The page is made for regular/standard browser window size, not custom sizes, the css for PS3 is nightmarish enough to sort out as it is, I won't bother dealing with page resizing, I would on a modern browser but not here, it's too much hassle, I have already been there, very time consuming tweaking as the css rendering is different from the equivalent WebKit engine on PC, everything must be tested on PS3 exclusively.

Log paging works fine at my end, you need to use a few features before a second page is logged, like opening both memory manager and system manager tabs AND dumping the flash memory. Just opening both tabs gets you just under the page 1 limit most of the time.

Edit:
I tested both scrollbar buttons modes, whether you use a stepped scroll or a stepless scroll, the issue remains the same, the browser recognises scrollbar buttons as the links they are and opens them in a new browser tab if you keep pressing long enough.
No idea whether this default browser behaviour can be modified and I don't feel like modifying the scrollbar library to try to use a different type of HTML element and logic.
For now, you must click the scrollbar buttons, not keep pressing, and if the buttons are a problem, you can still drag the bar or click on the scroll bar rail as you would have done before the buttons were added.

Edit 2: it bugged me so I overcame my reluctance and edited the scrollbar js library to replace the buttons' href tags with span tags then tweaked the related logic, got it to work fine this way and the browser no longer opens a new browser tab when you keep pressing a button (hurray lol) HOWEVER the scrollbar CSS layout also needs tweaked as the buttons are no longer located right above and under the scroll rail but right on top of each extremities of the rail now, I will see what I can do about that, I should be able to recreate the exact same layout as the original eventually.

IF ONLY we had a 1:1 renderer on PC, all this stuff would be so much easier/quicker to do, the Safari 4 PC browser webkit I use for testing is reliable enough to test say 90% of the HTML/JavaScript code I write but for CSS the rendering is too unreliable to be trusted unfortunately, it makes GUI and theming work very time consuming.
I NEVER managed to recompile the entire PS3 browser WebKit source for PC, after much time wasted trying to understand the various parts of this old source package and set up the compiling environment, I finally got the JavaScript core engine, CSS core and other Web core parts of the project to compile and link but could never get the main browser executable to link after compiling, something is missing, I could not figure what at the time and gave up. I was close though, even succeeded to parse/debug js code with the core executables I built, but no full browser, shame..
 
Last edited:
Mamba is a Cobra payload.
First ask for Mamba, then ask for Cobra.

Mamba has a What's New patch.
It currently points to the now dead devil303.com
I can remove that patch in a future update


No success

Code:
if Mamba
    popup Mamba
    move /dev_hdd0/game/PS34KPROX/USRDIR/toolbox/xmls/CFW_Cobra_Tools.xml,/dev_hdd0/game/PS34KPROX/USRDIR/toolbox/xmls/CFW_Cobra_Tools.off
    move /dev_hdd0/game/PS34KPROX/USRDIR/toolbox/xmls/CFW_Mamba_Tools.off,/dev_hdd0/game/PS34KPROX/USRDIR/toolbox/xmls/CFW_Mamba_Tools.xml
elseif Cobra
    popup Cobra
    move /dev_hdd0/game/PS34KPROX/USRDIR/toolbox/xmls/CFW_Cobra_Tools.off,/dev_hdd0/game/PS34KPROX/USRDIR/toolbox/xmls/CFW_Cobra_Tools.xml
    move /dev_hdd0/game/PS34KPROX/USRDIR/toolbox/xmls/CFW_Mamba_Tools.xml,/dev_hdd0/game/PS34KPROX/USRDIR/toolbox/xmls/CFW_Mamba_Tools.off
else
end if

it doesn't return anything
 
Looks like I'm late for the party [emoji14]

@bguerville If you still need something to test, feel free to ask.
Thanks for proposing, it's appreciated there's always more testing to be done, lol.

I have been polishing the xRegistry editor GUI and theming this past couple of days, I will soon need the feature to be tested extensively, probably next week, if ever you wanna help us with that, give the feature a run, let me know, I can arrange privileged access to the live test page.

@aldostools
I can confirm that the scrollbar js library changes I made to avoid the long press issue are working perfectly, you can keep pressing the buttons to scroll continuously, the scrollbar screen layout is identical to what it is originally.
To some extent I wonder why the dev used hrefs in the first place for the buttons, spans would have seemed more appropriate.
 
Thanks for proposing, it's appreciated there's always more testing to be done, lol.

I have been polishing the xRegistry editor GUI and theming this past couple of days, I will soon need the feature to be tested extensively, probably next week, if ever you wanna help us with that, give the feature a run, let me know, I can arrange privileged access to the live test page.

@aldostools
I can confirm that the scrollbar js library changes I made to avoid the long press issue are working perfectly, you can keep pressing the buttons to scroll continuously, the scrollbar screen layout is identical to what it is originally.
To some extent I wonder why the dev used hrefs in the first place for the buttons, spans would have seemed more appropriate.


you can count on me :)
 
I can confirm that the scrollbar js library changes I made to avoid the long press issue are working perfectly, you can keep pressing the buttons to scroll continuously, the scrollbar screen layout is identical to what it is originally.
To some extent I wonder why the dev used hrefs in the first place for the buttons, spans would have seemed more appropriate.

Thank you for let me know. I verified it and it's working much better now.
However, if I keep pressing X on the top or bottom arrows of the scroll bar ^ v a new page is opened.
I guess these objects are using href too. You can remove the href and leave them only as aesthetic icons.

Another issue that I found is the height of the accordion object on the PC with Chrome.
It barely let the user read the text (only 4 lines are visible). It was working fine on the previous version.
upload_2022-7-18_19-27-14.png


EDIT: On Edge it looks fine. I'm using a 1920x1080 screen.

EDIT2: It's weird... if I refresh sometimes it shows fine on Chrome. But most of the times it only shows 4 lines. It's random.

EDIT3: Edge has the same problem. It's random.
 
Last edited:
Thank you for let me know. I verified it and it's working much better now.
However, if I keep pressing X on the top or bottom arrows of the scroll bar ^ v a new page is opened.
I guess these objects are using href too. You can remove the href and leave them only as aesthetic icons.

Another issue that I found is the height of the accordion object on the PC with Chrome.
It barely let the user read the text (only 4 lines are visible). It was working fine on the previous version.
View attachment 37993

EDIT: On Edge it looks fine. I'm using a 1920x1080 screen.

EDIT2: It's weird... if I refresh sometimes it shows fine on Chrome. But most of the times it only shows 4 lines. It's random.

EDIT3: Edge has the same problem. It's random.
The changes are not live yet.
I was only letting you know that privately, the changes I deployed on the Toolset development version work fine.

And yes, I noticed the different behaviours on different PC browsers as I sometimes use those browsers to test some things.
The browser compatibility hell... Nobody follows standards, it's a stupid and typical mess, with specific implementations for each browser..
I also noticed the layout is screwed up on mobiles since the 1.1.003 update.
Well, the Toolset is meant for the PS3 anyway, not for PC or mobile, so I kinda stopped bothering with trying to fix things like that, otherwise I would never stop working on unimportant shit, when I already have little enough time in the first place to do the meaty stuff.
 
Well, the Toolset is meant for the PS3 anyway, not for PC or mobile, so I kinda stopped bothering with trying to fix things like that, otherwise I would never stop working on unimportant shit, when I already have little enough time in the first place to do the meaty stuff.
A simple solution could be detect if the navigator is not running from PS3 and redirect to a simple page that says that it is only supported on PS3. Credits, minimal requirements and donation links could be included too.

Then you can focus only on the "meaty stuff" :D

Well, it's just an idea that should not consume much time to implement...
 
does anyone know what the update rate is on the FPS plugin ? and if it can be increased to idk 250 or 500 ms
Am not familiar with the code but at first glance, in Overlay.hpp (line 74 in the version included in wMM), you can change the line:
Code:
static const int refreshDelay = 1;
The refresh rate in milliseconds is equal to
refreshDelay * 1000
so currently it's 1*1000ms = 1s.
refreshDelay is an integer so you can only increment it to 2, the refresh rate will then be 2s.


Alternatively if you wish finer tuning, you could change line 408 in Overlay.cpp
Code:
Sleep(refreshDelay*1000);
into
Code:
Sleep((refreshDelay*1000)+250);
to add only an extra 250ms.
If ever you do that, you may also need to change line 41 to compensate for the change above, like this:
Code:
Sleep((refreshDelay*1000)+750);
Keeping in mind that it's ok to do this for a custom build but probably not a good change to make globally.

To get the refresh rate tweaking multiplicator precision in milliseconds, you would need to change the type of the refreshDelay variable to double (float is another option) so it could use a decimal point, then you could change it to 1.25.
I am not sure whether the type conversion would be implicit, I think so but I am not sure, in any case, you may or may not need to cast the 2 occurrences of
Code:
refreshDelay * 1000
in Overlay.cpp like so:
Code:
(int)(refreshDelay * 1000.0)
something along those lines.
 
Last edited:
Am not familiar with the code but at first glance, in Overlay.hpp (line 74 in the version included in wMM), you can change the line:
Code:
static const int refreshDelay = 1;
The refresh rate in milliseconds is equal to
refreshDelay * 1000
so currently it's 1*1000ms = 1s.
refreshDelay is an integer so you can only increment it to 2, the refresh rate will then be 2s.


Alternatively if you wish finer tuning, you could change line 408 in Overlay.cpp
Code:
Sleep(refreshDelay*1000);
into
Code:
Sleep((refreshDelay*1000)+250);
to add only an extra 250ms.
If ever you do that, you may also need to change line 41 to compensate for the change above, like this:
Code:
Sleep((refreshDelay*1000)+750);
Keeping in mind that it's ok to do this for a custom build but probably not a good change to make globally.

To get the refresh rate tweaking multiplicator precision in milliseconds, you would need to change the type of the refreshDelay variable to double (float is another option) so it could use a decimal point, then you could change it to 1.25.
I am not sure whether the type conversion would be implicit, I think so but I am not sure, in any case, you may or may not need to cast the 2 occurrences of
Code:
refreshDelay * 1000
in Overlay.cpp like so:
Code:
(int)(refreshDelay * 1000.0)
something along those lines.
i think i may have used the wrong words sorry, what i meant that given what you said the referesh rate is 1s=1000ms i meant increase the refresh rate by setting it to 250ms (4 times a second) or 500 (2 times a second) i meant that in the same sense that msi afterburner works, lower number a faster refresh rate or polling rate, i didnt mean add to the current number and making it slower, id want it to update faster
 
i think i may have used the wrong words sorry, what i meant that given what you said the referesh rate is 1s=1000ms i meant increase the refresh rate by setting it to 250ms (4 times a second) or 500 (2 times a second) i meant that in the same sense that msi afterburner works, lower number a faster refresh rate or polling rate, i didnt mean add to the current number and making it slower, id want it to update faster
The principle is exactly the same.
I told you what lines to change and where, after that you can adapt the code to your needs, increase or decrease the sleep argument as you see fit and test thoroughly as there will eventually be a limit to the rate increase, just remember to keep the 2 occurrences of "Sleep(refreshDelay*1000..." in the cpp file in sync, always modify both in the same manner keeping the "+500" adjustment in Overlay::OnShutdown().

Assuming that 250ms is an acceptable value for this algo, as the "Sleep" function takes milliseconds as argument, if you leave refreshDelay equal to 1, in order to have a refresh rate of 250ms, in Overlay.cpp you could just replace the 2 occurrences of
refreshDelay*1000
by
refreshDelay*1000/4

In theory it should also be possible to implement a dynamic increase/decrease refresh rate feature using specific gamepad combos if ever someone was interested in such things, it would not take much additional code, a handful of lines probably.
 
Last edited:
@aldostools

Following my suggestion in post #410 to save vsh memory to display more games without the annoying spinning icons. I thought about the suggestion I gave you in the past, a way to refresh the game list xml without needing to reload the XMB so we could save even more vsh memory.

Intead of generating

Code:
<Q class="type:x-xmb/folder-pixmap" key="wm_ps3" attr="wm_ps3" src="#seg_wm_ps3_items"/>

it would need to generate queries for external small xmls (the main folder eg: wm_ps3 would need the child segment attr), for example:

Code:
<Q class="type:x-xmb/folder-pixmap" key="0000" src="xmb://localhost/dev_hdd0/xmlhost/game_plugin/mygames/ps3/0000.xml#seg_game"/>

each game in it's own small xml, it would require code changes but benefits would be better IMO

Pros:
  • Consume less vsh memory, so it could display more games (if split as post #410)
  • Opening and closing the folder will show the new games. (webMAN can use close_list and open_list to automatically show the new games after the scan is complete, so the user does not need to input any command)

Cons:
  • Code changes.
  • Maybe more time to generate the files?
 
Last edited:
@aldostools

Following my suggestion in post #410 to save vsh memory to display more games without the annoying spinning icons. I thought about the suggestion I gave you in the past, a way to refresh the game list xml without needing to reload the XMB so we could save even more vsh memory.

Intead of generating

Code:
<Q class="type:x-xmb/folder-pixmap" key="wm_ps3" attr="wm_ps3" src="#seg_wm_ps3_items"/>

it would need to generate queries for external small xmls (the main folder eg: wm_ps3 would need the child segment attr), for example:

Code:
<Q class="type:x-xmb/folder-pixmap" key="0000" src="xmb://localhost/dev_hdd0/xmlhost/game_plugin/mygames/ps3/0000.xml#seg_game"/>

each game in it's own small xml, it would require code changes but benefits would be better IMO

Pros:
  • Consume less vsh memory, so it could display more games (if split as post #410)
  • Opening and closing the folder will show the new games. (webMAN can use close_list and open_list to automatically show the new games after the scan is complete, so the user does not need to input any command)

Cons:
  • Code changes.
  • Maybe more time to generate the files?

This is just a proof of concept... I don't like the way it is implemented... the code is a total spaghetti, but it looks like it's working. You can test it.

I'm not convinced if I will keep this feature.
 

Attachments

This is just a proof of concept... I don't like the way it is implemented... the code is a total spaghetti, but it looks like it's working. You can test it.

I'm not convinced if I will keep this feature.

Thanks Aldo,

I don't have any games on my system because I had a problem with xregistry which made me format my hard drive but I'm testing with dummies and so far so good, it will likely be able to display more items without vsh memory issues.

I just did a quick test and it seems to be working fine, I was able to open the PLAYSTATION®3 folder for example without having blank items in my modded What's New section as vsh is now caching less items as only the contents of the folder I opened are being loaded.

Edit: I created more dummies (PS2.PSP,PSX) and looks like something is wrong, all new generated xmls are the same (mygames.xml) as before, but in the new categories

cru3bje.png
 
Last edited:
Thanks Aldo,

I don't have any games on my system because I had a problem with xregistry which made me format my hard drive but I'm testing with dummies and so far so good, it will likely be able to display more items without vsh memory issues.

I just did a quick test and it seems to be working fine, I was able to open the PLAYSTATION®3 folder for example without having blank items in my modded What's New section as vsh is now caching less items as only the contents of the folder I opened are being loaded.

Edit: I created more dummies (PS2.PSP,PSX) and looks like something is wrong, all new generated xmls are the same (mygames.xml) as before, but in the new categories

cru3bje.png

I will check it later tonight or tomorrow.
The header is the same for all the xmls, but the entry point is different.
 
@LuanTeles This new version uses the original memory allocation, so splitting the xml doesn't allow to list more games than the current version.

I couldn't make it work properly using the buffer like in ROMS.

To be honest I don't think I will implement this requested feature, the code is too difficult to debug.
 

Attachments

@LuanTeles This new version uses the original memory allocation, so splitting the xml doesn't allow to list more games than the current version.

I couldn't make it work properly using the buffer like in ROMS.

To be honest I don't think I will implement this requested feature, the code is too difficult to debug.

This one is working good, all of them have the same headers but they are not listing the others content's (shows 0), only their own.

I think it's a good thing to same some vsh memory, we probably can display more games per category now (e.g. if user has a lot of ps3 games they will display fine and another category may open without blank spinning icons due to memory issues, ofc if there are too many this can still occur but less likely) and I don't see any cons about this other than the code changes.

Aldo about the psn security feature you removed (DeViL303's rco ), isn't it better to just remove the rco and give the user the ability to put it in wm_res or via a built-in package?

I've seen some discussions in telegram/WhatsApp groups and most people prefer to keep the feature even if it's optional.
 
Last edited:
As I commented earlier, the new code is too hard to follow. I prefer to avoid adding more complexity to the current code that is already very complex. The best solution would be to refactor the module considering the individual XMLs from the beginning. But that is too much work and I'm not willing to waste that time.

I included the changes and the binary if you want to use it in your projects.

In regards to the PSN locker, that feature is redundant. Evilnat CFW also has it and it is easy to add to HEN. I only received complains since the introduction of this feature.

The code is still available in the repository and the users that want it (but can't compile the binary) can install an older version of wMM. Or they can use PSNpatch as before.
 
Last edited:
@aldostools webman can't take screenshot in game ? i have a game to do some calc on pc and i needed screenshots but when i press ps button the moment when xmb appear the image in the game disappear
 
Back
Top